feat: build affine dist html

This commit is contained in:
Lin Onetwo
2023-01-04 17:54:19 +08:00
parent ef9d017572
commit fae43e90da
4 changed files with 39 additions and 79 deletions
+9
View File
@@ -18,6 +18,15 @@ Currently client-app depends on a rapidly developing rust library "Octobase", we
We will provide its binary binding soon, to replace the git-submodule, before Octobase become opensource.
### Scripts
On this folder:
- `pnpm dev:app` will start a vite server
- `pnpm build:prerequisite` will link the Octobase and prepare affine dist html and tauri preload script
On project root folder:
### Recommended IDE Setup
- [VS Code](https://code.visualstudio.com/) + [Tauri](https://marketplace.visualstudio.com/items?itemName=tauri-apps.tauri-vscode) + [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer)
+2 -1
View File
@@ -7,11 +7,12 @@
"module": "true",
"scripts": {
"dev:app": "tauri dev",
"build:prerequisite": "pnpm build:submodules && pnpm build:preload",
"build:prerequisite": "pnpm build:submodules && pnpm build:affine && pnpm build:preload",
"dev:web": "vite",
"build:rs-types": "zx scripts/generateTsTypingsFromJsonSchema.mjs",
"build:web": "tsc && vite build",
"build:submodules": "zx scripts/buildSubModules.mjs",
"build:affine": "zx scripts/buildAffine.mjs",
"build:preload": "esbuild src/preload/index.ts --outdir=public/preload",
"build:app": "tauri build",
"preview": "vite preview"
+28
View File
@@ -0,0 +1,28 @@
/* eslint-disable @typescript-eslint/no-unsafe-return */
/* eslint-disable @typescript-eslint/no-unsafe-argument */
/* eslint-disable @typescript-eslint/restrict-template-expressions */
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
/* eslint-disable @typescript-eslint/no-unsafe-call */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
const repoDirectory = path.join(__dirname, '..', '..');
const clientAppDirectory = path.join(__dirname, '..');
const publicDistributionDirectory = path.join(clientAppDirectory, 'public');
const affineSrcDirectory = path.join(repoDirectory, 'packages', 'app');
const affineSrcOutDirectory = path.join(affineSrcDirectory, 'out');
const publicAffineOutDirectory = path.join(
publicDistributionDirectory,
'affine-out'
);
/**
* Build affine dist html
*/
cd(repoDirectory);
await $`pnpm i -r`;
await $`pnpm build`;
cd(affineSrcDirectory);
$.env.BASE_PATH = '/affine-out';
await $`pnpm build`;
await $`pnpm export`;
await fs.remove(publicAffineOutDirectory);
await fs.move(affineSrcOutDirectory, publicAffineOutDirectory);