45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
/**
|
||
* 直接跑 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);
|
||
});
|