@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.77 kB
JavaScript
;
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} returned: ${code}.`));
}
}
return resolve(collectedStdoutLogForReturn);
});
proc.stdin.end();
});
};
exports.run = run;
//# sourceMappingURL=run.js.map