mirror of
https://github.com/BoostIO/BoostNote-App.git
synced 2024-10-03 23:57:47 +03:00
Clean up deploy (#1272)
This commit is contained in:
parent
db656982be
commit
71c6524eb8
32
.env.default
32
.env.default
@ -1,6 +1,28 @@
|
||||
BOOST_HUB_BASE_URL=https://boosthub.io
|
||||
NODE_ENV=development
|
||||
|
||||
AMPLIFY_AUTH_IDENTITY_POOL_ID=
|
||||
AMPLIFY_AUTH_REGION=
|
||||
AMPLIFY_PINPOINT_APPID=
|
||||
AMPLIFY_PINPOINT_REGION=
|
||||
INTERCOM_APP_ID=
|
||||
GA_TRACKING_ID=
|
||||
BOOST_HUB_BASE_URL=
|
||||
SSE_URL=
|
||||
REALTIME_URL=
|
||||
GITHUB_OAUTH_ID=
|
||||
GOOGLE_CLIENT_ID=
|
||||
STRIPE_PUBLISHABLE_KEY=
|
||||
COUPONS_NEW_USER_PRO=
|
||||
COUPONS_NEW_USER_STANDARD=
|
||||
COUPONS_NEW_SPACE=
|
||||
MOBILE_BASE_URL=
|
||||
BOOST_PDF_EXPORT_BASE_URL=
|
||||
|
||||
# Deployment
|
||||
|
||||
GH_TOKEN=
|
||||
APPLE_ID=
|
||||
APPLE_ID_PASSWORD=
|
||||
|
||||
CLOUD_S3_BUCKET=
|
||||
MOBILE_S3_BUCKET=
|
||||
|
||||
# Optional
|
||||
|
||||
# MOCK_BACKEND=true
|
||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,11 +1,8 @@
|
||||
node_modules/*
|
||||
.DS_Store
|
||||
.env
|
||||
.env.dev
|
||||
.env.local
|
||||
.env.staging
|
||||
.env.production
|
||||
.env.local
|
||||
.env.*
|
||||
!.env.default
|
||||
Desktop.ini
|
||||
Thumbs.db
|
||||
*.log
|
||||
|
37
package.json
37
package.json
@ -9,22 +9,31 @@
|
||||
"url": "https://github.com/BoostIO/BoostNote-App.git"
|
||||
},
|
||||
"scripts": {
|
||||
"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",
|
||||
"dev:webpack": "env-cmd cross-env NODE_ENV=development TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development",
|
||||
"dev:electron": "env-cmd cross-env NODE_ENV=development ts-node -P tsconfig-webpack.json scripts/dev-electron.ts",
|
||||
"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",
|
||||
"dev:cloud": "env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development --config webpack.cloud.config.ts",
|
||||
"dev:webpack": "env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development",
|
||||
"dev:electron": "env-cmd ts-node -P tsconfig-webpack.json scripts/dev-electron.ts",
|
||||
"dev:mobile": "env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack-dev-server --mode development --config webpack.mobile.config.ts",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"start": "electron electron/index.js",
|
||||
"lint": "eslint src/* --ext .ts,.tsx",
|
||||
"format": "prettier --write \"src/**/*\"",
|
||||
"build:electron": "npm run build:electron-renderer && npm run build:electron-main",
|
||||
"build:electron-renderer": "rimraf electron/compiled && env-cmd cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" TARGET=electron webpack --mode production",
|
||||
"build:electron-main": "rimraf electron/index.js && env-cmd ts-node -P tsconfig-webpack.json scripts/build-electron-main",
|
||||
"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",
|
||||
"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",
|
||||
"build:electron-staging": "npm run build:electron-renderer-staging && npm run build:electron-main-staging",
|
||||
"build:electron-prod": "npm run build:electron-renderer-prod && npm run build:electron-main-prod",
|
||||
"build:electron-renderer-staging": "rimraf electron/compiled && env-cmd --file .env.staging cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production",
|
||||
"build:electron-renderer-prod": "rimraf electron/compiled && env-cmd --file .env.production cross-env TS_NODE_PROJECT=\"tsconfig-webpack.json\" webpack --mode production",
|
||||
"build:electron-main-staging": "rimraf electron/index.js && env-cmd --file .env.staging ts-node -P tsconfig-webpack.json scripts/build-electron-main",
|
||||
"build:electron-main-prod": "rimraf electron/index.js && env-cmd --file .env.production ts-node -P tsconfig-webpack.json scripts/build-electron-main",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"meta": "node scripts/meta.js",
|
||||
"prepack": "rimraf dist && env-cmd npm run meta && electron-builder --dir",
|
||||
"pack": "rimraf dist && env-cmd npm run meta && env-cmd electron-builder",
|
||||
"release": "npm run build:electron && rimraf dist && env-cmd npm run meta && env-cmd electron-builder -- --publish",
|
||||
"prepack": "rimraf dist && npm run meta && env-cmd --file .env.production electron-builder --dir",
|
||||
"pack": "rimraf dist && npm run meta && env-cmd --file .env.production electron-builder",
|
||||
"release": "npm run build:electron && rimraf dist && npm run meta && env-cmd --file .env.production electron-builder -- --publish",
|
||||
"test": "npm run lint && npm run test-api",
|
||||
"test-api": "jest -c jest.json",
|
||||
"test-api:watch": "jest -c jest.json --watch",
|
||||
@ -244,8 +253,8 @@
|
||||
"AppImage"
|
||||
]
|
||||
},
|
||||
"rpm":{
|
||||
"depends":[
|
||||
"rpm": {
|
||||
"depends": [
|
||||
"/usr/lib64/libuuid.so.1"
|
||||
]
|
||||
},
|
||||
|
@ -75,8 +75,8 @@ But you can participate in development via mock backend mode. Although it still
|
||||
Create .env file.
|
||||
|
||||
```sh
|
||||
NODE_ENV=development
|
||||
MOCK_BACKEND=true
|
||||
BOOST_HUB_BASE_URL=http://localhost:3004
|
||||
```
|
||||
|
||||
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
|
||||
- `npm test` : Run test script
|
||||
- `npm run tsc` : Check type errors
|
||||
- Build scripts
|
||||
- `npm run build:electron` : Build assets for the desktop app
|
||||
- `npm run build:cloud` : Build asssets for the cloud space
|
||||
- `npm run build:mobile` : Build assets for the mobile app
|
||||
- `npm run build:electron-production` : Build assets for the desktop app
|
||||
- `npm run build:cloud-production` : Build asssets for the cloud space
|
||||
- `npm run build:mobile-production` : Build assets for the mobile app
|
||||
- `npm start` : Run the desktop app with prebuilt assets
|
||||
- `npm run meta` : Prepare meta data for the desktop app building(Generate package.json for electron-build module)
|
||||
- `npm run prepack` : Create desktop app installers without signing
|
||||
|
@ -9,6 +9,7 @@ import { useEffectOnce } from 'react-use'
|
||||
import { initAccessToken } from '../../cloud/lib/stores/electron'
|
||||
import '../../cloud/lib/i18n'
|
||||
import '../lib/nativeMobile'
|
||||
import { PreviewStyleProvider } from '../../lib/preview'
|
||||
|
||||
const App = () => {
|
||||
const [accessTokenInitialized, setAccessTokenInitialized] = useState(false)
|
||||
@ -30,11 +31,13 @@ const App = () => {
|
||||
|
||||
<V2ToastProvider>
|
||||
<GlobalDataProvider>
|
||||
<RealtimeConnProvider>
|
||||
<RouterProvider>
|
||||
<Router />
|
||||
</RouterProvider>
|
||||
</RealtimeConnProvider>
|
||||
<PreviewStyleProvider>
|
||||
<RealtimeConnProvider>
|
||||
<RouterProvider>
|
||||
<Router />
|
||||
</RouterProvider>
|
||||
</RealtimeConnProvider>
|
||||
</PreviewStyleProvider>
|
||||
</GlobalDataProvider>
|
||||
</V2ToastProvider>
|
||||
|
||||
|
@ -5,7 +5,6 @@ import express from 'express'
|
||||
import ErrorOverlayPlugin from 'error-overlay-webpack-plugin'
|
||||
import CopyPlugin from 'copy-webpack-plugin'
|
||||
import packageJson from './package.json'
|
||||
import CompressionPlugin from 'compression-webpack-plugin'
|
||||
|
||||
module.exports = (env, argv) => {
|
||||
const config: webpack.Configuration = {
|
||||
@ -62,10 +61,6 @@ module.exports = (env, argv) => {
|
||||
}),
|
||||
new webpack.EnvironmentPlugin([
|
||||
'NODE_ENV',
|
||||
'AMPLIFY_AUTH_IDENTITY_POOL_ID',
|
||||
'AMPLIFY_AUTH_REGION',
|
||||
'AMPLIFY_PINPOINT_APPID',
|
||||
'AMPLIFY_PINPOINT_REGION',
|
||||
'BOOST_HUB_BASE_URL',
|
||||
'SSE_URL',
|
||||
'REALTIME_URL',
|
||||
@ -198,12 +193,7 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
}
|
||||
|
||||
config.plugins.push(new CompressionPlugin())
|
||||
if (process.env.TARGET === 'electron') {
|
||||
config.output.path = path.resolve(__dirname, 'electron/compiled-cloud')
|
||||
} else {
|
||||
config.output.publicPath = '/'
|
||||
}
|
||||
config.output.publicPath = '/'
|
||||
}
|
||||
|
||||
return config
|
||||
|
@ -5,7 +5,6 @@ import express from 'express'
|
||||
import ErrorOverlayPlugin from 'error-overlay-webpack-plugin'
|
||||
import CopyPlugin from 'copy-webpack-plugin'
|
||||
import packageJson from './package.json'
|
||||
import CompressionPlugin from 'compression-webpack-plugin'
|
||||
|
||||
module.exports = (env, argv) => {
|
||||
const config: webpack.Configuration = {
|
||||
@ -62,10 +61,6 @@ module.exports = (env, argv) => {
|
||||
}),
|
||||
new webpack.EnvironmentPlugin([
|
||||
'NODE_ENV',
|
||||
'AMPLIFY_AUTH_IDENTITY_POOL_ID',
|
||||
'AMPLIFY_AUTH_REGION',
|
||||
'AMPLIFY_PINPOINT_APPID',
|
||||
'AMPLIFY_PINPOINT_REGION',
|
||||
'BOOST_HUB_BASE_URL',
|
||||
'SSE_URL',
|
||||
'REALTIME_URL',
|
||||
@ -200,7 +195,6 @@ module.exports = (env, argv) => {
|
||||
config.optimization = {
|
||||
minimize: true,
|
||||
}
|
||||
config.plugins.push(new CompressionPlugin())
|
||||
config.output.publicPath = '/'
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user