@electron-forge/cli
Version:
A complete tool for building modern Electron applications
35 lines (28 loc) • 1.09 kB
text/typescript
import { initializeProxy } from '@electron/get';
import { api, PackageOptions } from '@electron-forge/core';
import { resolveWorkingDir } from '@electron-forge/core-utils';
import { program } from 'commander';
import './util/terminate.js';
import packageJSON from '../package.json' with { type: 'json' };
program
.version(packageJSON.version, '-V, --version', 'Output the current version')
.helpOption('-h, --help', 'Output usage information')
.argument(
'[dir]',
'Directory to run the command in. (default: current directory)',
)
.option('-a, --arch [arch]', 'Target build architecture')
.option('-p, --platform [platform]', 'Target build platform')
.action(async (dir) => {
const workingDir = resolveWorkingDir(dir);
const options = program.opts();
initializeProxy();
const packageOpts: PackageOptions = {
dir: workingDir,
interactive: true,
};
if (options.arch) packageOpts.arch = options.arch;
if (options.platform) packageOpts.platform = options.platform;
await api.package(packageOpts);
})
.parse(process.argv);