You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
7.7 KiB
88 lines
7.7 KiB
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const path_1 = __importDefault(require("path"));
|
|
const core_1 = require("@electron-forge/core");
|
|
const commander_1 = __importDefault(require("commander"));
|
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
require("./util/terminate");
|
|
const working_dir_1 = __importDefault(require("./util/working-dir"));
|
|
(async () => {
|
|
let commandArgs = process.argv;
|
|
let appArgs;
|
|
const doubleDashIndex = process.argv.indexOf('--');
|
|
if (doubleDashIndex !== -1) {
|
|
commandArgs = process.argv.slice(0, doubleDashIndex);
|
|
appArgs = process.argv.slice(doubleDashIndex + 1);
|
|
}
|
|
let dir = process.cwd();
|
|
commander_1.default
|
|
.version((await fs_extra_1.default.readJson(path_1.default.resolve(__dirname, '../package.json'))).version)
|
|
.arguments('[cwd]')
|
|
.option('-p, --app-path <path>', "Override the path to the Electron app to launch (defaults to '.')")
|
|
.option('-l, --enable-logging', 'Enable advanced logging. This will log internal Electron things')
|
|
.option('-n, --run-as-node', 'Run the Electron app as a Node.JS script')
|
|
.option('--vscode', 'Used to enable arg transformation for debugging Electron through VSCode. Do not use yourself.')
|
|
.option('-i, --inspect-electron', 'Triggers inspect mode on Electron to allow debugging the main process. Electron >1.7 only')
|
|
.option('--inspect-brk-electron', 'Triggers inspect-brk mode on Electron to allow debugging the main process. Electron >1.7 only')
|
|
.action((cwd) => {
|
|
dir = (0, working_dir_1.default)(dir, cwd);
|
|
})
|
|
.parse(commandArgs);
|
|
commander_1.default.on('--help', () => {
|
|
console.log(' Any arguments found after "--" will be passed to the Electron app, e.g.');
|
|
console.log('');
|
|
console.log(' $ electron-forge /path/to/project -l -- -d -f foo.txt');
|
|
console.log('');
|
|
console.log(' will pass the arguments "-d -f foo.txt" to the Electron app');
|
|
});
|
|
const opts = {
|
|
dir,
|
|
interactive: true,
|
|
enableLogging: !!commander_1.default.enableLogging,
|
|
runAsNode: !!commander_1.default.runAsNode,
|
|
inspect: !!commander_1.default.inspectElectron,
|
|
inspectBrk: !!commander_1.default.inspectBrkElectron,
|
|
};
|
|
if (commander_1.default.vscode && appArgs) {
|
|
// Args are in the format ~arg~ so we need to strip the "~"
|
|
appArgs = appArgs.map((arg) => arg.substr(1, arg.length - 2)).filter((arg) => arg.length > 0);
|
|
}
|
|
if (commander_1.default.appPath)
|
|
opts.appPath = commander_1.default.appPath;
|
|
if (appArgs)
|
|
opts.args = appArgs;
|
|
const spawned = await core_1.api.start(opts);
|
|
await new Promise((resolve) => {
|
|
const listenForExit = (child) => {
|
|
// Why: changing to const causes TypeScript compilation to fail.
|
|
/* eslint-disable prefer-const */
|
|
let onExit;
|
|
let onRestart;
|
|
/* eslint-enable prefer-const */
|
|
const removeListeners = () => {
|
|
child.removeListener('exit', onExit);
|
|
child.removeListener('restarted', onRestart);
|
|
};
|
|
onExit = (code) => {
|
|
removeListeners();
|
|
if (spawned.restarted)
|
|
return;
|
|
if (code !== 0) {
|
|
process.exit(code);
|
|
}
|
|
resolve();
|
|
};
|
|
onRestart = (newChild) => {
|
|
removeListeners();
|
|
listenForExit(newChild);
|
|
};
|
|
child.on('exit', onExit);
|
|
child.on('restarted', onRestart);
|
|
};
|
|
listenForExit(spawned);
|
|
});
|
|
})();
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24tZm9yZ2Utc3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZWxlY3Ryb24tZm9yZ2Utc3RhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnREFBd0I7QUFFeEIsK0NBQXlEO0FBRXpELDBEQUFnQztBQUNoQyx3REFBMEI7QUFFMUIsNEJBQTBCO0FBQzFCLHFFQUE0QztBQUU1QyxDQUFDLEtBQUssSUFBSSxFQUFFO0lBQ1YsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMvQixJQUFJLE9BQU8sQ0FBQztJQUVaLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELElBQUksZUFBZSxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzFCLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDckQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNuRDtJQUVELElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QixtQkFBTztTQUNKLE9BQU8sQ0FBQyxDQUFDLE1BQU0sa0JBQUUsQ0FBQyxRQUFRLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ2hGLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDbEIsTUFBTSxDQUFDLHVCQUF1QixFQUFFLG1FQUFtRSxDQUFDO1NBQ3BHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxrRUFBa0UsQ0FBQztTQUNsRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsMENBQTBDLENBQUM7U0FDdkUsTUFBTSxDQUFDLFVBQVUsRUFBRSxnR0FBZ0csQ0FB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
|