UNPKG

@jasonscheirer/electron-forge-maker-msix

Version:

An `electron-forge` maker for MSIX that supports `electron-forge` v6 and can be used as a replacement for `electron-builder`. Supports code-signing.

65 lines 2.79 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = exports.log = void 0; const debug_1 = __importDefault(require("debug")); const node_child_process_1 = require("node:child_process"); exports.log = (0, debug_1.default)('electron-forge:maker:msix'); const run = async (executable, args, neverFail = false) => { return new Promise((resolve, reject) => { const proc = (0, node_child_process_1.spawn)(executable, args, {}); (0, exports.log)(`Running ${JSON.stringify([executable].concat(args))}`); let runningStdout = ''; let collectedStdoutLogForReturn = ''; proc.stdout.on('data', (data) => { var _a; collectedStdoutLogForReturn += data; runningStdout += data; if (runningStdout.includes('\n')) { const logLines = runningStdout.split('\n'); while (logLines.length > 1) { (0, exports.log)(`stdout: ${(_a = logLines.shift()) === null || _a === void 0 ? void 0 : _a.trimEnd().replace(/\0/g, '')}`); } if (logLines.length > 0) { runningStdout = logLines[0]; } } }); let runningStderr = ''; proc.stderr.on('data', (data) => { var _a; runningStderr += data; if (runningStderr.includes('\n')) { const logLines = runningStderr.split('\n'); while (logLines.length > 1) { (0, exports.log)(`stderr: ${(_a = logLines.shift()) === null || _a === void 0 ? void 0 : _a.trimEnd().replace(/\0/g, '')}`); } if (logLines.length > 0) { runningStderr = logLines[0]; } } }); proc.on('exit', (code) => { runningStdout .split('\n') .forEach((line) => (0, exports.log)(`stdout: ${line.trimEnd().replace(/\0/g, '')}`)); runningStderr .split('\n') .forEach((line) => (0, exports.log)(`stderr: ${line.trimEnd().replace(/\0/g, '')}`)); if (code !== 0) { if (neverFail) { (0, exports.log)(`warning: ${executable} returned: ${code}`); } else { return reject(new Error(`Running ${executable} ${args.join(' ')} returned: ${code}.`)); } } return resolve(collectedStdoutLogForReturn); }); proc.stdin.end(); }); }; exports.run = run; //# sourceMappingURL=run.js.map