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

45 lines
1.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 直接跑 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);
});