diff --git a/apps/electron/forge.config.js b/apps/electron/forge.config.js index 82a2e29642..302c3b0b1b 100644 --- a/apps/electron/forge.config.js +++ b/apps/electron/forge.config.js @@ -1,4 +1,5 @@ /* eslint-disable @typescript-eslint/no-var-requires */ + const { z } = require('zod'); const { @@ -104,6 +105,27 @@ module.exports = { // so stable and canary will not share the same app data packageJson.productName = productName; }, + prePackage: async () => { + const { rm, cp } = require('node:fs/promises'); + const { resolve } = require('node:path'); + + await rm( + resolve(__dirname, './node_modules/@toeverything/plugin-infra'), + { + recursive: true, + force: true, + } + ); + + await cp( + resolve(__dirname, '../../packages/plugin-infra'), + resolve(__dirname, './node_modules/@toeverything/plugin-infra'), + { + recursive: true, + force: true, + } + ); + }, generateAssets: async (_, platform, arch) => { if (process.env.SKIP_GENERATE_ASSETS) { return; diff --git a/apps/electron/scripts/generate-assets.mjs b/apps/electron/scripts/generate-assets.mjs index 94cd36941e..b68c1abef2 100755 --- a/apps/electron/scripts/generate-assets.mjs +++ b/apps/electron/scripts/generate-assets.mjs @@ -32,10 +32,6 @@ if (releaseVersionEnv && electronPackageJson.version !== releaseVersionEnv) { } // copy web dist files to electron dist -// step 1: clean up -await cleanup(); -echo('Clean up done'); - if (process.platform === 'win32') { $.shell = 'powershell.exe'; $.prefix = ''; @@ -43,7 +39,7 @@ if (process.platform === 'win32') { cd(repoRootDir); -// step 2: build web (nextjs) dist +// step 1: build web (nextjs) dist if (!process.env.SKIP_WEB_BUILD) { process.env.ENABLE_LEGACY_PROVIDER = 'false'; await $`yarn nx build @affine/web`; @@ -67,7 +63,7 @@ if (!process.env.SKIP_WEB_BUILD) { await fs.move(affineWebOutDir, publicAffineOutDir, { overwrite: true }); } -// step 3: update app-updater.yml content with build type in resources folder +// step 2: update app-updater.yml content with build type in resources folder if (process.env.BUILD_TYPE === 'internal') { const appUpdaterYml = path.join(publicDistDir, 'app-update.yml'); const appUpdaterYmlContent = await fs.readFile(appUpdaterYml, 'utf-8'); @@ -77,14 +73,3 @@ if (process.env.BUILD_TYPE === 'internal') { ); await fs.writeFile(appUpdaterYml, newAppUpdaterYmlContent); } - -/// -------- -/// -------- -/// -------- -async function cleanup() { - if (!process.env.SKIP_WEB_BUILD) { - await fs.emptyDir(publicAffineOutDir); - } - await fs.remove(path.join(electronRootDir, 'dist')); - await fs.remove(path.join(electronRootDir, 'out')); -}