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);
|
|||
|
|
});
|