@electron-forge/core-utils 7.8.3 → 7.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/electron-version.d.ts.map +1 -1
- package/dist/electron-version.js +1 -1
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +34 -14
- package/dist/rebuild.d.ts.map +1 -1
- package/dist/rebuild.js +3 -2
- package/dist/remote-rebuild.js +1 -1
- package/package.json +3 -3
- package/src/electron-version.ts +55 -14
- package/src/package-manager.ts +69 -20
- package/src/rebuild.ts +45 -29
- package/src/remote-rebuild.ts +9 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"electron-version.d.ts","sourceRoot":"","sources":["../src/electron-version.ts"],"names":[],"mappings":"AAWA,KAAK,mBAAmB,GAAG;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"electron-version.d.ts","sourceRoot":"","sources":["../src/electron-version.ts"],"names":[],"mappings":"AAWA,KAAK,mBAAmB,GAAG;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AA6CF,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAK7C;AAoCD,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,mBAAmB,GAC/B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,mBAAmB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,mBAAmB,EAChC,GAAG,EAAE,MAAM,EAAE,EACb,KAAK,EAAE,MAAM,EAAE,GACd,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAsBtB"}
|
package/dist/electron-version.js
CHANGED
|
@@ -110,4 +110,4 @@ function updateElectronDependency(packageJSON, dev, exact) {
|
|
|
110
110
|
return [alteredDev, alteredExact];
|
|
111
111
|
}
|
|
112
112
|
exports.updateElectronDependency = updateElectronDependency;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVjdHJvbi12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUU3QixrREFBMEI7QUFDMUIsc0RBQTZCO0FBQzdCLHdEQUEwQjtBQUMxQixvREFBNEI7QUFFNUIsTUFBTSxDQUFDLEdBQUcsSUFBQSxlQUFLLEVBQUMsaUNBQWlDLENBQUMsQ0FBQztBQUVuRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFPOUQsU0FBUyxlQUFlLENBQUMsR0FBVztJQUNsQyxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsS0FBSyxVQUFVLDJCQUEyQixDQUN4QyxHQUFXLEVBQ1gsV0FBbUI7SUFFbkIsQ0FBQyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLGlCQUFNLEVBQzNCLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQ3BELEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQzNCLENBQUM7SUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLG9CQUFvQixRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUMvQixtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdEIsY0FBYyxFQUNkLFdBQVcsQ0FDWixDQUFDO1FBQ0YsSUFBSSxNQUFNLGtCQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFP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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../src/package-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,iBAAiB,EAElB,MAAM,6BAA6B,CAAC;AAQrC,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,uBAAuB,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,uBAAuB,EAAE,SAAS,CAmBvE,CAAC;AA2BF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,OAAO,CAAC,SAAS,CAsE1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,OAC1B,SAAS,SACN,cAAc,SACd,iBAAiB,KACvB,QAAQ,MAAM,CAEhB,CAAC"}
|
package/dist/package-manager.js
CHANGED
|
@@ -79,26 +79,46 @@ const resolvePackageManager = async () => {
|
|
|
79
79
|
const lockfileName = node_path_1.default.basename(lockfile);
|
|
80
80
|
lockfilePM = PM_FROM_LOCKFILE[lockfileName];
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (typeof process.env.NODE_INSTALLER === 'string'
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
let installer;
|
|
83
|
+
let installerVersion;
|
|
84
|
+
if (typeof process.env.NODE_INSTALLER === 'string') {
|
|
85
|
+
if (Object.keys(exports.PACKAGE_MANAGERS).includes(process.env.NODE_INSTALLER)) {
|
|
86
|
+
installer = process.env.NODE_INSTALLER;
|
|
87
|
+
installerVersion = await (0, exports.spawnPackageManager)(exports.PACKAGE_MANAGERS[installer], ['--version']);
|
|
88
|
+
if (!hasWarned) {
|
|
89
|
+
console.warn(log_symbols_1.default.warning, chalk_1.default.yellow(`The NODE_INSTALLER environment variable is deprecated and will be removed in Electron Forge v8`));
|
|
90
|
+
hasWarned = true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.warn(log_symbols_1.default.warning, chalk_1.default.yellow(`Package manager ${chalk_1.default.red(process.env.NODE_INSTALLER)} is unsupported. Falling back to ${chalk_1.default.green('npm')} instead.`));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else if (executingPM) {
|
|
98
|
+
installer = executingPM.name;
|
|
99
|
+
installerVersion = executingPM.version;
|
|
100
|
+
}
|
|
101
|
+
else if (lockfilePM) {
|
|
102
|
+
installer = lockfilePM;
|
|
103
|
+
installerVersion = await (0, exports.spawnPackageManager)(exports.PACKAGE_MANAGERS[installer], ['--version']);
|
|
87
104
|
}
|
|
88
105
|
switch (installer) {
|
|
89
106
|
case 'yarn':
|
|
90
107
|
case 'npm':
|
|
91
108
|
case 'pnpm':
|
|
92
109
|
d(`Resolved package manager to ${installer}. (Derived from NODE_INSTALLER: ${process.env.NODE_INSTALLER}, npm_config_user_agent: ${process.env.npm_config_user_agent}, lockfile: ${lockfilePM})`);
|
|
93
|
-
return {
|
|
110
|
+
return {
|
|
111
|
+
...exports.PACKAGE_MANAGERS[installer],
|
|
112
|
+
version: installerVersion,
|
|
113
|
+
};
|
|
94
114
|
default:
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
115
|
+
d(`No valid package manager detected. Falling back to npm.`);
|
|
116
|
+
return {
|
|
117
|
+
...exports.PACKAGE_MANAGERS['npm'],
|
|
118
|
+
version: await (0, exports.spawnPackageManager)(exports.PACKAGE_MANAGERS['npm'], [
|
|
119
|
+
'--version',
|
|
120
|
+
]),
|
|
121
|
+
};
|
|
102
122
|
}
|
|
103
123
|
};
|
|
104
124
|
exports.resolvePackageManager = resolvePackageManager;
|
|
@@ -106,4 +126,4 @@ const spawnPackageManager = async (pm, args, opts) => {
|
|
|
106
126
|
return (await (0, cross_spawn_promise_1.spawn)(pm.executable, args, opts)).trim();
|
|
107
127
|
};
|
|
108
128
|
exports.spawnPackageManager = spawnPackageManager;
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BhY2thZ2UtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBNkI7QUFFN0IscUVBSXFDO0FBQ3JDLGtEQUEwQjtBQUMxQixrREFBMEI7QUFDMUIsc0RBQTZCO0FBQzdCLDhEQUFxQztBQUVyQyxNQUFNLENBQUMsR0FBRyxJQUFBLGVBQUssRUFBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBV2xELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztBQUV0Qjs7R0FFRztBQUNVLFFBQUEsZ0JBQWdCLEdBQStDO0lBQzFFLElBQUksRUFBRTtRQUNKLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUztLQUNqQjtJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEdBQUcsRUFBRSxZQUFZO1FBQ2pCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxHQUFHLEVBQUUsWUFBWTtRQUNqQixLQUFLLEVBQUUsY0FBYztLQUN0QjtDQUNGLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUE0QztJQUNoRSxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGdCQUFnQixFQUFFLE1BQU07Q0FDekIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxNQUFN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
|
package/dist/rebuild.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../src/rebuild.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"rebuild.d.ts","sourceRoot":"","sources":["../src/rebuild.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACd,MAAM,8BAA8B,CAAC;AAEtC,eAAO,MAAM,0BAA0B,2BAC1B,MAAM,mBACA,MAAM,YACb,aAAa,QACjB,SAAS,uGAId,QAAQ,IAAI,CA4Ed,CAAC"}
|
package/dist/rebuild.js
CHANGED
|
@@ -67,7 +67,8 @@ const listrCompatibleRebuildHook = async (buildPath, electronVersion, platform,
|
|
|
67
67
|
break;
|
|
68
68
|
}
|
|
69
69
|
case 'rebuild-done': {
|
|
70
|
-
if (task.task.rendererTaskOptions &&
|
|
70
|
+
if (task.task.rendererTaskOptions &&
|
|
71
|
+
'persistentOutput' in task.task.rendererTaskOptions) {
|
|
71
72
|
task.task.rendererTaskOptions.persistentOutput = false;
|
|
72
73
|
}
|
|
73
74
|
break;
|
|
@@ -86,4 +87,4 @@ const listrCompatibleRebuildHook = async (buildPath, electronVersion, platform,
|
|
|
86
87
|
});
|
|
87
88
|
};
|
|
88
89
|
exports.listrCompatibleRebuildHook = listrCompatibleRebuildHook;
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVidWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLGdEQUFrQztBQVMzQixNQUFNLDBCQUEwQixHQUFHLEtBQUssRUFDN0MsU0FBaUIsRUFDakIsZUFBdUIsRUFDdkIsUUFBdUIsRUFDdkIsSUFBZSxFQUNmLFNBQWtDLEVBQUUsRUFDcEMsSUFBeUIsRUFDekIsZUFBZSxHQUFHLEVBQUUsRUFDTCxFQUFFO0lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxlQUFlLCtCQUErQixDQUFDO0lBRS9ELE1BQU0sT0FBTyxHQUFtQjtRQUM5QixHQUFHLE1BQU07UUFDVCxTQUFTO1FBQ1QsZUFBZTtRQUNmLElBQUk7S0FDTCxDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsRUFDNUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3pCO1FBQ0UsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0tBQ3ZDLENBQ0YsQ0FBQztJQUVGLElBQUksWUFBbUIsQ0FBQztJQUN4QixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFFYixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLGVBQWUsa0NBQWtDLElBQUksTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUNyRixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNILEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLEVBQUUsQ0FDTixTQUFTLEVBQ1QsQ0FBQyxPQUFpRSxFQUFFLEVBQUU7UUFDcEUsUUFBUSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNYLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUNWLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsWUFBWSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDdkMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLElBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7b0JBQzdCLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQ25ELENBQUM7b0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQ3pELENBQUM7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FDSixZQUFZLElBQUksSUFBSSxLQUFLLENBQUMsb0NBQW9DLElBQUksRUFBRSxDQUFDLENBQ3RFLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXBGVyxRQUFBLDBCQUEwQiw4QkFvRnJDIn0=
|
package/dist/remote-rebuild.js
CHANGED
|
@@ -27,4 +27,4 @@ rebuilder
|
|
|
27
27
|
// eslint-disable-next-line no-process-exit
|
|
28
28
|
process.exit(0);
|
|
29
29
|
});
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXJlYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVtb3RlLXJlYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBNEQ7QUFFNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQixPQUFPLENBQUMsS0FBSyxDQUNYLGdFQUFnRSxDQUNqRSxDQUFDO0lBQ0YsMkNBQTJDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU1RCxNQUFNLFNBQVMsR0FBRyxJQUFBLGlCQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUMxQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FDeEMsQ0FBQztBQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDekMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ3ZDLENBQUM7QUFFRixTQUFTO0tBQ04sSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLDJDQUEyQztJQUMzQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDYixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixHQUFHLEVBQUUsZUFBZTtRQUNwQixHQUFHLEVBQUU7WUFDSCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDcEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1NBQ2pCO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsMkNBQTJDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@electron-forge/core-utils",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.9.0",
|
|
4
4
|
"description": "Core utilities for the Electron Forge packages",
|
|
5
5
|
"repository": "https://github.com/electron/forge",
|
|
6
6
|
"author": "Samuel Attard",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"typings": "dist/index.d.ts",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@electron-forge/shared-types": "7.
|
|
11
|
+
"@electron-forge/shared-types": "7.9.0",
|
|
12
12
|
"@electron/rebuild": "^3.7.0",
|
|
13
13
|
"@malept/cross-spawn-promise": "^2.0.0",
|
|
14
14
|
"chalk": "^4.0.0",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"dist",
|
|
29
29
|
"src"
|
|
30
30
|
],
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "cd63f57bd6870af2ad847076a183456221b30269"
|
|
32
32
|
}
|
package/src/electron-version.ts
CHANGED
|
@@ -18,12 +18,22 @@ function findElectronDep(dep: string): boolean {
|
|
|
18
18
|
return electronPackageNames.includes(dep);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
async function findAncestorNodeModulesPath(
|
|
21
|
+
async function findAncestorNodeModulesPath(
|
|
22
|
+
dir: string,
|
|
23
|
+
packageName: string,
|
|
24
|
+
): Promise<string | undefined> {
|
|
22
25
|
d('Looking for a lock file to indicate the root of the repo');
|
|
23
|
-
const lockPath = await findUp(
|
|
26
|
+
const lockPath = await findUp(
|
|
27
|
+
['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'],
|
|
28
|
+
{ cwd: dir, type: 'file' },
|
|
29
|
+
);
|
|
24
30
|
if (lockPath) {
|
|
25
31
|
d(`Found lock file: ${lockPath}`);
|
|
26
|
-
const nodeModulesPath = path.join(
|
|
32
|
+
const nodeModulesPath = path.join(
|
|
33
|
+
path.dirname(lockPath),
|
|
34
|
+
'node_modules',
|
|
35
|
+
packageName,
|
|
36
|
+
);
|
|
27
37
|
if (await fs.pathExists(nodeModulesPath)) {
|
|
28
38
|
return nodeModulesPath;
|
|
29
39
|
}
|
|
@@ -32,8 +42,15 @@ async function findAncestorNodeModulesPath(dir: string, packageName: string): Pr
|
|
|
32
42
|
return Promise.resolve(undefined);
|
|
33
43
|
}
|
|
34
44
|
|
|
35
|
-
async function determineNodeModulesPath(
|
|
36
|
-
|
|
45
|
+
async function determineNodeModulesPath(
|
|
46
|
+
dir: string,
|
|
47
|
+
packageName: string,
|
|
48
|
+
): Promise<string | undefined> {
|
|
49
|
+
const nodeModulesPath: string | undefined = path.join(
|
|
50
|
+
dir,
|
|
51
|
+
'node_modules',
|
|
52
|
+
packageName,
|
|
53
|
+
);
|
|
37
54
|
if (await fs.pathExists(nodeModulesPath)) {
|
|
38
55
|
return nodeModulesPath;
|
|
39
56
|
}
|
|
@@ -42,7 +59,9 @@ async function determineNodeModulesPath(dir: string, packageName: string): Promi
|
|
|
42
59
|
|
|
43
60
|
export class PackageNotFoundError extends Error {
|
|
44
61
|
constructor(packageName: string, dir: string) {
|
|
45
|
-
super(
|
|
62
|
+
super(
|
|
63
|
+
`Cannot find the package "${packageName}". Perhaps you need to run install it in "${dir}"?`,
|
|
64
|
+
);
|
|
46
65
|
}
|
|
47
66
|
}
|
|
48
67
|
|
|
@@ -53,7 +72,9 @@ function getElectronModuleName(packageJSON: PackageJSONWithDeps): string {
|
|
|
53
72
|
|
|
54
73
|
// Why: checked above
|
|
55
74
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
56
|
-
const packageName = electronPackageNames.find(
|
|
75
|
+
const packageName = electronPackageNames.find(
|
|
76
|
+
(pkg) => packageJSON.devDependencies![pkg],
|
|
77
|
+
);
|
|
57
78
|
if (packageName === undefined) {
|
|
58
79
|
throw new Error('Could not find any Electron packages in devDependencies');
|
|
59
80
|
}
|
|
@@ -61,7 +82,10 @@ function getElectronModuleName(packageJSON: PackageJSONWithDeps): string {
|
|
|
61
82
|
return packageName;
|
|
62
83
|
}
|
|
63
84
|
|
|
64
|
-
async function getElectronPackageJSONPath(
|
|
85
|
+
async function getElectronPackageJSONPath(
|
|
86
|
+
dir: string,
|
|
87
|
+
packageName: string,
|
|
88
|
+
): Promise<string | undefined> {
|
|
65
89
|
const nodeModulesPath = await determineNodeModulesPath(dir, packageName);
|
|
66
90
|
if (!nodeModulesPath) {
|
|
67
91
|
throw new PackageNotFoundError(packageName, dir);
|
|
@@ -75,7 +99,10 @@ async function getElectronPackageJSONPath(dir: string, packageName: string): Pro
|
|
|
75
99
|
return undefined;
|
|
76
100
|
}
|
|
77
101
|
|
|
78
|
-
export async function getElectronModulePath(
|
|
102
|
+
export async function getElectronModulePath(
|
|
103
|
+
dir: string,
|
|
104
|
+
packageJSON: PackageJSONWithDeps,
|
|
105
|
+
): Promise<string | undefined> {
|
|
79
106
|
const moduleName = getElectronModuleName(packageJSON);
|
|
80
107
|
const packageJSONPath = await getElectronPackageJSONPath(dir, moduleName);
|
|
81
108
|
if (packageJSONPath) {
|
|
@@ -85,7 +112,10 @@ export async function getElectronModulePath(dir: string, packageJSON: PackageJSO
|
|
|
85
112
|
return undefined;
|
|
86
113
|
}
|
|
87
114
|
|
|
88
|
-
export async function getElectronVersion(
|
|
115
|
+
export async function getElectronVersion(
|
|
116
|
+
dir: string,
|
|
117
|
+
packageJSON: PackageJSONWithDeps,
|
|
118
|
+
): Promise<string> {
|
|
89
119
|
const packageName = getElectronModuleName(packageJSON);
|
|
90
120
|
|
|
91
121
|
// Why: checked in getElectronModuleName
|
|
@@ -93,7 +123,10 @@ export async function getElectronVersion(dir: string, packageJSON: PackageJSONWi
|
|
|
93
123
|
let version = packageJSON.devDependencies![packageName];
|
|
94
124
|
if (!semver.valid(version)) {
|
|
95
125
|
// It's not an exact version, find it in the actual module
|
|
96
|
-
const electronPackageJSONPath = await getElectronPackageJSONPath(
|
|
126
|
+
const electronPackageJSONPath = await getElectronPackageJSONPath(
|
|
127
|
+
dir,
|
|
128
|
+
packageName,
|
|
129
|
+
);
|
|
97
130
|
if (electronPackageJSONPath) {
|
|
98
131
|
const electronPackageJSON = await fs.readJson(electronPackageJSONPath);
|
|
99
132
|
version = electronPackageJSON.version;
|
|
@@ -105,7 +138,11 @@ export async function getElectronVersion(dir: string, packageJSON: PackageJSONWi
|
|
|
105
138
|
return version;
|
|
106
139
|
}
|
|
107
140
|
|
|
108
|
-
export function updateElectronDependency(
|
|
141
|
+
export function updateElectronDependency(
|
|
142
|
+
packageJSON: PackageJSONWithDeps,
|
|
143
|
+
dev: string[],
|
|
144
|
+
exact: string[],
|
|
145
|
+
): [string[], string[]] {
|
|
109
146
|
const alteredDev = ([] as string[]).concat(dev);
|
|
110
147
|
let alteredExact = ([] as string[]).concat(exact);
|
|
111
148
|
// Why: checked in getElectronModuleName
|
|
@@ -113,11 +150,15 @@ export function updateElectronDependency(packageJSON: PackageJSONWithDeps, dev:
|
|
|
113
150
|
if (Object.keys(packageJSON.devDependencies!).find(findElectronDep)) {
|
|
114
151
|
alteredExact = alteredExact.filter((dep) => dep !== 'electron');
|
|
115
152
|
} else if (packageJSON.dependencies) {
|
|
116
|
-
const electronKey = Object.keys(packageJSON.dependencies).find(
|
|
153
|
+
const electronKey = Object.keys(packageJSON.dependencies).find(
|
|
154
|
+
findElectronDep,
|
|
155
|
+
);
|
|
117
156
|
if (electronKey) {
|
|
118
157
|
alteredExact = alteredExact.filter((dep) => dep !== 'electron');
|
|
119
158
|
d(`Moving ${electronKey} from dependencies to devDependencies`);
|
|
120
|
-
alteredDev.push(
|
|
159
|
+
alteredDev.push(
|
|
160
|
+
`${electronKey}@${packageJSON.dependencies[electronKey]}`,
|
|
161
|
+
);
|
|
121
162
|
delete packageJSON.dependencies[electronKey];
|
|
122
163
|
}
|
|
123
164
|
}
|
package/src/package-manager.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
CrossSpawnArgs,
|
|
5
|
+
CrossSpawnOptions,
|
|
6
|
+
spawn,
|
|
7
|
+
} from '@malept/cross-spawn-promise';
|
|
4
8
|
import chalk from 'chalk';
|
|
5
9
|
import debug from 'debug';
|
|
6
10
|
import findUp from 'find-up';
|
|
@@ -9,7 +13,13 @@ import logSymbols from 'log-symbols';
|
|
|
9
13
|
const d = debug('electron-forge:package-manager');
|
|
10
14
|
|
|
11
15
|
export type SupportedPackageManager = 'yarn' | 'npm' | 'pnpm';
|
|
12
|
-
export type PMDetails = {
|
|
16
|
+
export type PMDetails = {
|
|
17
|
+
executable: SupportedPackageManager;
|
|
18
|
+
version?: string;
|
|
19
|
+
install: string;
|
|
20
|
+
dev: string;
|
|
21
|
+
exact: string;
|
|
22
|
+
};
|
|
13
23
|
|
|
14
24
|
let hasWarned = false;
|
|
15
25
|
|
|
@@ -78,17 +88,51 @@ function pmFromUserAgent() {
|
|
|
78
88
|
export const resolvePackageManager: () => Promise<PMDetails> = async () => {
|
|
79
89
|
const executingPM = pmFromUserAgent();
|
|
80
90
|
let lockfilePM;
|
|
81
|
-
const lockfile = await findUp(
|
|
91
|
+
const lockfile = await findUp(
|
|
92
|
+
['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'pnpm-workspace.yaml'],
|
|
93
|
+
{ type: 'file' },
|
|
94
|
+
);
|
|
82
95
|
if (lockfile) {
|
|
83
96
|
const lockfileName = path.basename(lockfile);
|
|
84
97
|
lockfilePM = PM_FROM_LOCKFILE[lockfileName];
|
|
85
98
|
}
|
|
86
|
-
const installer = process.env.NODE_INSTALLER || executingPM?.name || lockfilePM;
|
|
87
99
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
100
|
+
let installer;
|
|
101
|
+
let installerVersion;
|
|
102
|
+
|
|
103
|
+
if (typeof process.env.NODE_INSTALLER === 'string') {
|
|
104
|
+
if (Object.keys(PACKAGE_MANAGERS).includes(process.env.NODE_INSTALLER)) {
|
|
105
|
+
installer = process.env.NODE_INSTALLER;
|
|
106
|
+
installerVersion = await spawnPackageManager(
|
|
107
|
+
PACKAGE_MANAGERS[installer as SupportedPackageManager],
|
|
108
|
+
['--version'],
|
|
109
|
+
);
|
|
110
|
+
if (!hasWarned) {
|
|
111
|
+
console.warn(
|
|
112
|
+
logSymbols.warning,
|
|
113
|
+
chalk.yellow(
|
|
114
|
+
`The NODE_INSTALLER environment variable is deprecated and will be removed in Electron Forge v8`,
|
|
115
|
+
),
|
|
116
|
+
);
|
|
117
|
+
hasWarned = true;
|
|
118
|
+
}
|
|
119
|
+
} else {
|
|
120
|
+
console.warn(
|
|
121
|
+
logSymbols.warning,
|
|
122
|
+
chalk.yellow(
|
|
123
|
+
`Package manager ${chalk.red(process.env.NODE_INSTALLER)} is unsupported. Falling back to ${chalk.green('npm')} instead.`,
|
|
124
|
+
),
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
} else if (executingPM) {
|
|
128
|
+
installer = executingPM.name;
|
|
129
|
+
installerVersion = executingPM.version;
|
|
130
|
+
} else if (lockfilePM) {
|
|
131
|
+
installer = lockfilePM;
|
|
132
|
+
installerVersion = await spawnPackageManager(
|
|
133
|
+
PACKAGE_MANAGERS[installer as SupportedPackageManager],
|
|
134
|
+
['--version'],
|
|
135
|
+
);
|
|
92
136
|
}
|
|
93
137
|
|
|
94
138
|
switch (installer) {
|
|
@@ -96,22 +140,27 @@ export const resolvePackageManager: () => Promise<PMDetails> = async () => {
|
|
|
96
140
|
case 'npm':
|
|
97
141
|
case 'pnpm':
|
|
98
142
|
d(
|
|
99
|
-
`Resolved package manager to ${installer}. (Derived from NODE_INSTALLER: ${process.env.NODE_INSTALLER}, npm_config_user_agent: ${process.env.npm_config_user_agent}, lockfile: ${lockfilePM})
|
|
143
|
+
`Resolved package manager to ${installer}. (Derived from NODE_INSTALLER: ${process.env.NODE_INSTALLER}, npm_config_user_agent: ${process.env.npm_config_user_agent}, lockfile: ${lockfilePM})`,
|
|
100
144
|
);
|
|
101
|
-
return {
|
|
145
|
+
return {
|
|
146
|
+
...PACKAGE_MANAGERS[installer],
|
|
147
|
+
version: installerVersion,
|
|
148
|
+
};
|
|
102
149
|
default:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
111
|
-
return PACKAGE_MANAGERS['npm'];
|
|
150
|
+
d(`No valid package manager detected. Falling back to npm.`);
|
|
151
|
+
return {
|
|
152
|
+
...PACKAGE_MANAGERS['npm'],
|
|
153
|
+
version: await spawnPackageManager(PACKAGE_MANAGERS['npm'], [
|
|
154
|
+
'--version',
|
|
155
|
+
]),
|
|
156
|
+
};
|
|
112
157
|
}
|
|
113
158
|
};
|
|
114
159
|
|
|
115
|
-
export const spawnPackageManager = async (
|
|
160
|
+
export const spawnPackageManager = async (
|
|
161
|
+
pm: PMDetails,
|
|
162
|
+
args?: CrossSpawnArgs,
|
|
163
|
+
opts?: CrossSpawnOptions,
|
|
164
|
+
): Promise<string> => {
|
|
116
165
|
return (await spawn(pm.executable, args, opts)).trim();
|
|
117
166
|
};
|
package/src/rebuild.ts
CHANGED
|
@@ -2,7 +2,11 @@ import * as cp from 'node:child_process';
|
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
|
|
4
4
|
import { RebuildOptions } from '@electron/rebuild';
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
ForgeArch,
|
|
7
|
+
ForgeListrTask,
|
|
8
|
+
ForgePlatform,
|
|
9
|
+
} from '@electron-forge/shared-types';
|
|
6
10
|
|
|
7
11
|
export const listrCompatibleRebuildHook = async <Ctx = never>(
|
|
8
12
|
buildPath: string,
|
|
@@ -11,7 +15,7 @@ export const listrCompatibleRebuildHook = async <Ctx = never>(
|
|
|
11
15
|
arch: ForgeArch,
|
|
12
16
|
config: Partial<RebuildOptions> = {},
|
|
13
17
|
task: ForgeListrTask<Ctx>,
|
|
14
|
-
taskTitlePrefix = ''
|
|
18
|
+
taskTitlePrefix = '',
|
|
15
19
|
): Promise<void> => {
|
|
16
20
|
task.title = `${taskTitlePrefix}Preparing native dependencies`;
|
|
17
21
|
|
|
@@ -22,9 +26,13 @@ export const listrCompatibleRebuildHook = async <Ctx = never>(
|
|
|
22
26
|
arch,
|
|
23
27
|
};
|
|
24
28
|
|
|
25
|
-
const child = cp.fork(
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
const child = cp.fork(
|
|
30
|
+
path.resolve(__dirname, 'remote-rebuild.js'),
|
|
31
|
+
[JSON.stringify(options)],
|
|
32
|
+
{
|
|
33
|
+
stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
|
|
34
|
+
},
|
|
35
|
+
);
|
|
28
36
|
|
|
29
37
|
let pendingError: Error;
|
|
30
38
|
let found = 0;
|
|
@@ -41,38 +49,46 @@ export const listrCompatibleRebuildHook = async <Ctx = never>(
|
|
|
41
49
|
task.output = chunk.toString();
|
|
42
50
|
});
|
|
43
51
|
|
|
44
|
-
child.on(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
child.on(
|
|
53
|
+
'message',
|
|
54
|
+
(message: { msg: string; err: { message: string; stack: string } }) => {
|
|
55
|
+
switch (message.msg) {
|
|
56
|
+
case 'module-found': {
|
|
57
|
+
found += 1;
|
|
58
|
+
redraw();
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
case 'module-done': {
|
|
62
|
+
done += 1;
|
|
63
|
+
redraw();
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
case 'rebuild-error': {
|
|
67
|
+
pendingError = new Error(message.err.message);
|
|
68
|
+
pendingError.stack = message.err.stack;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
case 'rebuild-done': {
|
|
72
|
+
if (
|
|
73
|
+
task.task.rendererTaskOptions &&
|
|
74
|
+
'persistentOutput' in task.task.rendererTaskOptions
|
|
75
|
+
) {
|
|
76
|
+
task.task.rendererTaskOptions.persistentOutput = false;
|
|
77
|
+
}
|
|
78
|
+
break;
|
|
64
79
|
}
|
|
65
|
-
break;
|
|
66
80
|
}
|
|
67
|
-
}
|
|
68
|
-
|
|
81
|
+
},
|
|
82
|
+
);
|
|
69
83
|
|
|
70
84
|
await new Promise<void>((resolve, reject) => {
|
|
71
85
|
child.on('exit', (code) => {
|
|
72
86
|
if (code === 0 && !pendingError) {
|
|
73
87
|
resolve();
|
|
74
88
|
} else {
|
|
75
|
-
reject(
|
|
89
|
+
reject(
|
|
90
|
+
pendingError || new Error(`Rebuilder failed with exit code: ${code}`),
|
|
91
|
+
);
|
|
76
92
|
}
|
|
77
93
|
});
|
|
78
94
|
});
|
package/src/remote-rebuild.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { rebuild, RebuildOptions } from '@electron/rebuild';
|
|
2
2
|
|
|
3
3
|
if (!process.send) {
|
|
4
|
-
console.error(
|
|
4
|
+
console.error(
|
|
5
|
+
'The remote rebuilder expects to be spawned with an IPC channel',
|
|
6
|
+
);
|
|
5
7
|
// eslint-disable-next-line no-process-exit
|
|
6
8
|
process.exit(1);
|
|
7
9
|
}
|
|
@@ -10,8 +12,12 @@ const options: RebuildOptions = JSON.parse(process.argv[2]);
|
|
|
10
12
|
|
|
11
13
|
const rebuilder = rebuild(options);
|
|
12
14
|
|
|
13
|
-
rebuilder.lifecycle.on('module-found', () =>
|
|
14
|
-
|
|
15
|
+
rebuilder.lifecycle.on('module-found', () =>
|
|
16
|
+
process.send?.({ msg: 'module-found' }),
|
|
17
|
+
);
|
|
18
|
+
rebuilder.lifecycle.on('module-done', () =>
|
|
19
|
+
process.send?.({ msg: 'module-done' }),
|
|
20
|
+
);
|
|
15
21
|
|
|
16
22
|
rebuilder
|
|
17
23
|
.then(() => {
|