Skip to content

Commit 71c6524

Browse files
authored
Clean up deploy (#1272)
1 parent db65698 commit 71c6524

File tree

7 files changed

+65
-50
lines changed

7 files changed

+65
-50
lines changed

.env.default

+27-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
BOOST_HUB_BASE_URL=https://boosthub.io
1+
NODE_ENV=development
22

3-
AMPLIFY_AUTH_IDENTITY_POOL_ID=
4-
AMPLIFY_AUTH_REGION=
5-
AMPLIFY_PINPOINT_APPID=
6-
AMPLIFY_PINPOINT_REGION=
3+
INTERCOM_APP_ID=
4+
GA_TRACKING_ID=
5+
BOOST_HUB_BASE_URL=
6+
SSE_URL=
7+
REALTIME_URL=
8+
GITHUB_OAUTH_ID=
9+
GOOGLE_CLIENT_ID=
10+
STRIPE_PUBLISHABLE_KEY=
11+
COUPONS_NEW_USER_PRO=
12+
COUPONS_NEW_USER_STANDARD=
13+
COUPONS_NEW_SPACE=
14+
MOBILE_BASE_URL=
15+
BOOST_PDF_EXPORT_BASE_URL=
16+
17+
# Deployment
18+
19+
GH_TOKEN=
20+
APPLE_ID=
21+
APPLE_ID_PASSWORD=
22+
23+
CLOUD_S3_BUCKET=
24+
MOBILE_S3_BUCKET=
25+
26+
# Optional
27+
28+
# MOCK_BACKEND=true

.gitignore

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
node_modules/*
22
.DS_Store
33
.env
4-
.env.dev
5-
.env.local
6-
.env.staging
7-
.env.production
8-
.env.local
4+
.env.*
5+
!.env.default
96
Desktop.ini
107
Thumbs.db
118
*.log

package.json

+23-14
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,31 @@
99
"url": "https://github.com/BoostIO/BoostNote-App.git"
1010
},
1111
"scripts": {
12-
"dev:cloud": "env-cmd cross-env NODE_ENV=development TARGET=electron TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development --config webpack.cloud.config.ts",
13-
"dev:webpack": "env-cmd cross-env NODE_ENV=development TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development",
14-
"dev:electron": "env-cmd cross-env NODE_ENV=development ts-node -P tsconfig-webpack.json scripts/dev-electron.ts",
15-
"dev:mobile": "env-cmd cross-env NODE_ENV=development TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development --config webpack.mobile.config.ts",
12+
"dev:cloud": "env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development --config webpack.cloud.config.ts",
13+
"dev:webpack": "env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development",
14+
"dev:electron": "env-cmd ts-node -P tsconfig-webpack.json scripts/dev-electron.ts",
15+
"dev:mobile": "env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development --config webpack.mobile.config.ts",
16+
"deploy:cloud-staging": "npm run build:cloud-staging && env-cmd --file .env.staging -x aws s3 sync ./compiled-cloud s3://\\$CLOUD_S3_BUCKET --acl public-read",
17+
"deploy:cloud-prod": "npm run build:cloud-prod && env-cmd --file .env.production -x aws s3 sync ./compiled-cloud s3://\\$CLOUD_S3_BUCKET --acl public-read",
18+
"deploy:mobile-staging": "npm run build:mobile-staging && env-cmd --file .env.production -x aws s3 sync ./compiled-mobile s3://\\$MOBILE_S3_BUCKET --acl public-read",
19+
"deploy:mobile-prod": "npm run build:mobile-prod && env-cmd --file .env.production -x aws s3 sync ./compiled-mobile s3://\\$MOBILE_S3_BUCKET --acl public-read",
1620
"start": "electron electron/index.js",
1721
"lint": "eslint src/* --ext .ts,.tsx",
1822
"format": "prettier --write \"src/**/*\"",
19-
"build:electron": "npm run build:electron-renderer && npm run build:electron-main",
20-
"build:electron-renderer": "rimraf electron/compiled && env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" TARGET=electron webpack --mode production",
21-
"build:electron-main": "rimraf electron/index.js && env-cmd ts-node -P tsconfig-webpack.json scripts/build-electron-main",
22-
"build:cloud": "rimraf compiled-cloud && env-cmd cross-env NODE_ENV=production TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production --config webpack.cloud.config.ts",
23-
"build:mobile": "rimraf compiled-mobile && env-cmd cross-env NODE_ENV=production TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production --config webpack.mobile.config.ts",
23+
"build:electron-staging": "npm run build:electron-renderer-staging && npm run build:electron-main-staging",
24+
"build:electron-prod": "npm run build:electron-renderer-prod && npm run build:electron-main-prod",
25+
"build:electron-renderer-staging": "rimraf electron/compiled && env-cmd --file .env.staging cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production",
26+
"build:electron-renderer-prod": "rimraf electron/compiled && env-cmd --file .env.production cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production",
27+
"build:electron-main-staging": "rimraf electron/index.js && env-cmd --file .env.staging ts-node -P tsconfig-webpack.json scripts/build-electron-main",
28+
"build:electron-main-prod": "rimraf electron/index.js && env-cmd --file .env.production ts-node -P tsconfig-webpack.json scripts/build-electron-main",
29+
"build:cloud-staging": "rimraf compiled-cloud && env-cmd --file .env.staging cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production --config webpack.cloud.config.ts",
30+
"build:cloud-prod": "rimraf compiled-cloud && env-cmd --file .env.production cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production --config webpack.cloud.config.ts",
31+
"build:mobile-staging": "rimraf compiled-mobile && env-cmd --file .env.staging cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production --config webpack.mobile.config.ts",
32+
"build:mobile-prod": "rimraf compiled-mobile && env-cmd --file .env.production cross-envnpm TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production --config webpack.mobile.config.ts",
2433
"meta": "node scripts/meta.js",
25-
"prepack": "rimraf dist && env-cmd npm run meta && electron-builder --dir",
26-
"pack": "rimraf dist && env-cmd npm run meta && env-cmd electron-builder",
27-
"release": "npm run build:electron && rimraf dist && env-cmd npm run meta && env-cmd electron-builder -- --publish",
34+
"prepack": "rimraf dist && npm run meta && env-cmd --file .env.production electron-builder --dir",
35+
"pack": "rimraf dist && npm run meta && env-cmd --file .env.production electron-builder",
36+
"release": "npm run build:electron && rimraf dist && npm run meta && env-cmd --file .env.production electron-builder -- --publish",
2837
"test": "npm run lint && npm run test-api",
2938
"test-api": "jest -c jest.json",
3039
"test-api:watch": "jest -c jest.json --watch",
@@ -244,8 +253,8 @@
244253
"AppImage"
245254
]
246255
},
247-
"rpm":{
248-
"depends":[
256+
"rpm": {
257+
"depends": [
249258
"/usr/lib64/libuuid.so.1"
250259
]
251260
},

readme.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ But you can participate in development via mock backend mode. Although it still
7575
Create .env file.
7676

7777
```sh
78+
NODE_ENV=development
7879
MOCK_BACKEND=true
79-
BOOST_HUB_BASE_URL=http://localhost:3004
8080
```
8181

8282
Run webpack processors. You have to run them in separate terminals.
@@ -118,9 +118,9 @@ The source code is quite similar to a router interface. All you need to is `meth
118118
- `npm test` : Run test script
119119
- `npm run tsc` : Check type errors
120120
- Build scripts
121-
- `npm run build:electron` : Build assets for the desktop app
122-
- `npm run build:cloud` : Build asssets for the cloud space
123-
- `npm run build:mobile` : Build assets for the mobile app
121+
- `npm run build:electron-production` : Build assets for the desktop app
122+
- `npm run build:cloud-production` : Build asssets for the cloud space
123+
- `npm run build:mobile-production` : Build assets for the mobile app
124124
- `npm start` : Run the desktop app with prebuilt assets
125125
- `npm run meta` : Prepare meta data for the desktop app building(Generate package.json for electron-build module)
126126
- `npm run prepack` : Create desktop app installers without signing

src/mobile/components/App.tsx

+8-5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useEffectOnce } from 'react-use'
99
import { initAccessToken } from '../../cloud/lib/stores/electron'
1010
import '../../cloud/lib/i18n'
1111
import '../lib/nativeMobile'
12+
import { PreviewStyleProvider } from '../../lib/preview'
1213

1314
const App = () => {
1415
const [accessTokenInitialized, setAccessTokenInitialized] = useState(false)
@@ -30,11 +31,13 @@ const App = () => {
3031

3132
<V2ToastProvider>
3233
<GlobalDataProvider>
33-
<RealtimeConnProvider>
34-
<RouterProvider>
35-
<Router />
36-
</RouterProvider>
37-
</RealtimeConnProvider>
34+
<PreviewStyleProvider>
35+
<RealtimeConnProvider>
36+
<RouterProvider>
37+
<Router />
38+
</RouterProvider>
39+
</RealtimeConnProvider>
40+
</PreviewStyleProvider>
3841
</GlobalDataProvider>
3942
</V2ToastProvider>
4043

webpack.cloud.config.ts

+1-11
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import express from 'express'
55
import ErrorOverlayPlugin from 'error-overlay-webpack-plugin'
66
import CopyPlugin from 'copy-webpack-plugin'
77
import packageJson from './package.json'
8-
import CompressionPlugin from 'compression-webpack-plugin'
98

109
module.exports = (env, argv) => {
1110
const config: webpack.Configuration = {
@@ -62,10 +61,6 @@ module.exports = (env, argv) => {
6261
}),
6362
new webpack.EnvironmentPlugin([
6463
'NODE_ENV',
65-
'AMPLIFY_AUTH_IDENTITY_POOL_ID',
66-
'AMPLIFY_AUTH_REGION',
67-
'AMPLIFY_PINPOINT_APPID',
68-
'AMPLIFY_PINPOINT_REGION',
6964
'BOOST_HUB_BASE_URL',
7065
'SSE_URL',
7166
'REALTIME_URL',
@@ -198,12 +193,7 @@ module.exports = (env, argv) => {
198193
minimize: true,
199194
}
200195

201-
config.plugins.push(new CompressionPlugin())
202-
if (process.env.TARGET === 'electron') {
203-
config.output.path = path.resolve(__dirname, 'electron/compiled-cloud')
204-
} else {
205-
config.output.publicPath = '/'
206-
}
196+
config.output.publicPath = '/'
207197
}
208198

209199
return config

webpack.mobile.config.ts

-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import express from 'express'
55
import ErrorOverlayPlugin from 'error-overlay-webpack-plugin'
66
import CopyPlugin from 'copy-webpack-plugin'
77
import packageJson from './package.json'
8-
import CompressionPlugin from 'compression-webpack-plugin'
98

109
module.exports = (env, argv) => {
1110
const config: webpack.Configuration = {
@@ -62,10 +61,6 @@ module.exports = (env, argv) => {
6261
}),
6362
new webpack.EnvironmentPlugin([
6463
'NODE_ENV',
65-
'AMPLIFY_AUTH_IDENTITY_POOL_ID',
66-
'AMPLIFY_AUTH_REGION',
67-
'AMPLIFY_PINPOINT_APPID',
68-
'AMPLIFY_PINPOINT_REGION',
6964
'BOOST_HUB_BASE_URL',
7065
'SSE_URL',
7166
'REALTIME_URL',
@@ -200,7 +195,6 @@ module.exports = (env, argv) => {
200195
config.optimization = {
201196
minimize: true,
202197
}
203-
config.plugins.push(new CompressionPlugin())
204198
config.output.publicPath = '/'
205199
}
206200

0 commit comments

Comments
 (0)