Files
xk-admin/apps/desktop/scripts/run-builder.mjs

45 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

/**
* 直接跑 electron-builder(跳过版本交互),并注入国内镜像环境变量
* 避免打 GitHub 超时:connect ETIMEDOUT 20.x.x.x:443
*/
import { spawn } from 'node:child_process';
import { dirname, join } from 'node:path';
import { fileURLToPath } from 'node:url';
const desktopRoot = join(dirname(fileURLToPath(import.meta.url)), '..');
const electronMirror =
process.env.ELECTRON_MIRROR || 'https://npmmirror.com/mirrors/electron/';
const builderBinariesMirror =
process.env.ELECTRON_BUILDER_BINARIES_MIRROR ||
'https://npmmirror.com/mirrors/electron-builder-binaries/';
const env = {
...process.env,
ELECTRON_MIRROR: electronMirror,
ELECTRON_BUILDER_BINARIES_MIRROR: builderBinariesMirror,
npm_config_electron_mirror: electronMirror,
npm_config_electron_builder_binaries_mirror: builderBinariesMirror,
};
console.log(`Electron 镜像: ${electronMirror}`);
console.log(`Builder 工具链镜像: ${builderBinariesMirror}`);
const child = spawn(
'pnpm exec electron-builder --config electron-builder.config.cjs',
{
cwd: desktopRoot,
env,
shell: true,
stdio: 'inherit',
},
);
child.on('close', (code) => {
process.exit(code ?? 1);
});
child.on('error', (err) => {
console.error(err);
process.exit(1);
});