@electron-forge/core-utils 7.10.1 → 8.0.0-alpha.1

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.
@@ -0,0 +1,11 @@
1
+ import { PackagePerson } from '@electron-forge/shared-types';
2
+ /**
3
+ * Extracts the name from a package.json author field.
4
+ *
5
+ * @param author - The author object to extract the name from.
6
+ * @returns The name of the author.
7
+ *
8
+ * @see https://docs.npmjs.com/cli/configuring-npm/package-json#people-fields-author-contributors
9
+ */
10
+ export declare function getNameFromAuthor(author: PackagePerson): string;
11
+ //# sourceMappingURL=author-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author-name.d.ts","sourceRoot":"","sources":["../src/author-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAG7D;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAoB/D"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getNameFromAuthor = void 0;
7
+ const parse_author_1 = __importDefault(require("parse-author"));
8
+ /**
9
+ * Extracts the name from a package.json author field.
10
+ *
11
+ * @param author - The author object to extract the name from.
12
+ * @returns The name of the author.
13
+ *
14
+ * @see https://docs.npmjs.com/cli/configuring-npm/package-json#people-fields-author-contributors
15
+ */
16
+ function getNameFromAuthor(author) {
17
+ let publisher = author || '';
18
+ if (typeof publisher === 'string') {
19
+ publisher = (0, parse_author_1.default)(publisher);
20
+ }
21
+ if (typeof publisher !== 'string' &&
22
+ publisher &&
23
+ typeof publisher.name === 'string') {
24
+ publisher = publisher.name;
25
+ }
26
+ if (typeof publisher !== 'string') {
27
+ publisher = '';
28
+ }
29
+ return publisher;
30
+ }
31
+ exports.getNameFromAuthor = getNameFromAuthor;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXV0aG9yLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0VBQXVDO0FBRXZDOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFxQjtJQUNyRCxJQUFJLFNBQVMsR0FBa0IsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUU1QyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFNBQVMsR0FBRyxJQUFBLHNCQUFXLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0UsT0FBTyxTQUFTLEtBQUssUUFBUTtRQUM3QixTQUFTO1FBQ1QsT0FBTyxTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFDbEMsQ0FBQztRQUNELFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFwQkQsOENBb0JDIn0=
@@ -0,0 +1,12 @@
1
+ type PackageJSONWithDeps = {
2
+ devDependencies?: Record<string, string>;
3
+ dependencies?: Record<string, string>;
4
+ };
5
+ export declare class PackageNotFoundError extends Error {
6
+ constructor(packageName: string, dir: string);
7
+ }
8
+ export declare function getElectronModulePath(dir: string, packageJSON: PackageJSONWithDeps): Promise<string | undefined>;
9
+ export declare function getElectronVersion(dir: string, packageJSON: PackageJSONWithDeps): Promise<string>;
10
+ export declare function updateElectronDependency(packageJSON: PackageJSONWithDeps, dev: string[], exact: string[]): [string[], string[]];
11
+ export {};
12
+ //# sourceMappingURL=electron-version.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateElectronDependency = exports.getElectronVersion = exports.getElectronModulePath = exports.PackageNotFoundError = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const debug_1 = __importDefault(require("debug"));
9
+ const find_up_1 = __importDefault(require("find-up"));
10
+ const fs_extra_1 = __importDefault(require("fs-extra"));
11
+ const semver_1 = __importDefault(require("semver"));
12
+ const d = (0, debug_1.default)('electron-forge:electron-version');
13
+ const electronPackageNames = ['electron-nightly', 'electron'];
14
+ function findElectronDep(dep) {
15
+ return electronPackageNames.includes(dep);
16
+ }
17
+ async function findAncestorNodeModulesPath(dir, packageName) {
18
+ d('Looking for a lock file to indicate the root of the repo');
19
+ const lockPath = await (0, find_up_1.default)(['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'], { cwd: dir, type: 'file' });
20
+ if (lockPath) {
21
+ d(`Found lock file: ${lockPath}`);
22
+ const nodeModulesPath = node_path_1.default.join(node_path_1.default.dirname(lockPath), 'node_modules', packageName);
23
+ if (await fs_extra_1.default.pathExists(nodeModulesPath)) {
24
+ return nodeModulesPath;
25
+ }
26
+ }
27
+ return Promise.resolve(undefined);
28
+ }
29
+ async function determineNodeModulesPath(dir, packageName) {
30
+ const nodeModulesPath = node_path_1.default.join(dir, 'node_modules', packageName);
31
+ if (await fs_extra_1.default.pathExists(nodeModulesPath)) {
32
+ return nodeModulesPath;
33
+ }
34
+ return findAncestorNodeModulesPath(dir, packageName);
35
+ }
36
+ class PackageNotFoundError extends Error {
37
+ constructor(packageName, dir) {
38
+ super(`Cannot find the package "${packageName}". Perhaps you need to run install it in "${dir}"?`);
39
+ }
40
+ }
41
+ exports.PackageNotFoundError = PackageNotFoundError;
42
+ function getElectronModuleName(packageJSON) {
43
+ if (!packageJSON.devDependencies) {
44
+ throw new Error('package.json for app does not have any devDependencies');
45
+ }
46
+ // Why: checked above
47
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
48
+ const packageName = electronPackageNames.find((pkg) => packageJSON.devDependencies[pkg]);
49
+ if (packageName === undefined) {
50
+ throw new Error('Could not find any Electron packages in devDependencies');
51
+ }
52
+ return packageName;
53
+ }
54
+ async function getElectronPackageJSONPath(dir, packageName) {
55
+ const nodeModulesPath = await determineNodeModulesPath(dir, packageName);
56
+ if (!nodeModulesPath) {
57
+ throw new PackageNotFoundError(packageName, dir);
58
+ }
59
+ const electronPackageJSONPath = node_path_1.default.join(nodeModulesPath, 'package.json');
60
+ if (await fs_extra_1.default.pathExists(electronPackageJSONPath)) {
61
+ return electronPackageJSONPath;
62
+ }
63
+ return undefined;
64
+ }
65
+ async function getElectronModulePath(dir, packageJSON) {
66
+ const moduleName = getElectronModuleName(packageJSON);
67
+ const packageJSONPath = await getElectronPackageJSONPath(dir, moduleName);
68
+ if (packageJSONPath) {
69
+ return node_path_1.default.dirname(packageJSONPath);
70
+ }
71
+ return undefined;
72
+ }
73
+ exports.getElectronModulePath = getElectronModulePath;
74
+ async function getElectronVersion(dir, packageJSON) {
75
+ const packageName = getElectronModuleName(packageJSON);
76
+ // Why: checked in getElectronModuleName
77
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
+ let version = packageJSON.devDependencies[packageName];
79
+ if (!semver_1.default.valid(version)) {
80
+ // It's not an exact version, find it in the actual module
81
+ const electronPackageJSONPath = await getElectronPackageJSONPath(dir, packageName);
82
+ if (electronPackageJSONPath) {
83
+ const electronPackageJSON = await fs_extra_1.default.readJson(electronPackageJSONPath);
84
+ version = electronPackageJSON.version;
85
+ }
86
+ else {
87
+ throw new PackageNotFoundError(packageName, dir);
88
+ }
89
+ }
90
+ return version;
91
+ }
92
+ exports.getElectronVersion = getElectronVersion;
93
+ function updateElectronDependency(packageJSON, dev, exact) {
94
+ const alteredDev = [].concat(dev);
95
+ let alteredExact = [].concat(exact);
96
+ // Why: checked in getElectronModuleName
97
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
98
+ if (Object.keys(packageJSON.devDependencies).find(findElectronDep)) {
99
+ alteredExact = alteredExact.filter((dep) => dep !== 'electron');
100
+ }
101
+ else if (packageJSON.dependencies) {
102
+ const electronKey = Object.keys(packageJSON.dependencies).find(findElectronDep);
103
+ if (electronKey) {
104
+ alteredExact = alteredExact.filter((dep) => dep !== 'electron');
105
+ d(`Moving ${electronKey} from dependencies to devDependencies`);
106
+ alteredDev.push(`${electronKey}@${packageJSON.dependencies[electronKey]}`);
107
+ delete packageJSON.dependencies[electronKey];
108
+ }
109
+ }
110
+ return [alteredDev, alteredExact];
111
+ }
112
+ exports.updateElectronDependency = updateElectronDependency;
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVjdHJvbi12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUU3QixrREFBMEI7QUFDMUIsc0RBQTZCO0FBQzdCLHdEQUEwQjtBQUMxQixvREFBNEI7QUFFNUIsTUFBTSxDQUFDLEdBQUcsSUFBQSxlQUFLLEVBQUMsaUNBQWlDLENBQUMsQ0FBQztBQUVuRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFPOUQsU0FBUyxlQUFlLENBQUMsR0FBVztJQUNsQyxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsS0FBSyxVQUFVLDJCQUEyQixDQUN4QyxHQUFXLEVBQ1gsV0FBbUI7SUFFbkIsQ0FBQyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLGlCQUFNLEVBQzNCLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQ3BELEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQzNCLENBQUM7SUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLG9CQUFvQixRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUMvQixtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdEIsY0FBYyxFQUNkLFdBQVcsQ0FDWixDQUFDO1FBQ0YsSUFBSSxNQUFNLGtCQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFP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
@@ -0,0 +1,5 @@
1
+ export * from './rebuild';
2
+ export * from './electron-version';
3
+ export * from './package-manager';
4
+ export * from './author-name';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./rebuild"), exports);
18
+ __exportStar(require("./electron-version"), exports);
19
+ __exportStar(require("./package-manager"), exports);
20
+ __exportStar(require("./author-name"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQixxREFBbUM7QUFDbkMsb0RBQWtDO0FBQ2xDLGdEQUE4QiJ9
@@ -0,0 +1,29 @@
1
+ import { CrossSpawnArgs, CrossSpawnOptions } from '@malept/cross-spawn-promise';
2
+ export type SupportedPackageManager = 'yarn' | 'npm' | 'pnpm';
3
+ export type PMDetails = {
4
+ executable: SupportedPackageManager;
5
+ version?: string;
6
+ install: string;
7
+ dev: string;
8
+ exact: string;
9
+ };
10
+ /**
11
+ * Supported package managers and the commands and flags they need to install dependencies.
12
+ */
13
+ export declare const PACKAGE_MANAGERS: Record<SupportedPackageManager, PMDetails>;
14
+ /**
15
+ * Resolves the package manager to use. In order, it checks the following:
16
+ *
17
+ * 1. The value of the `NODE_INSTALLER` environment variable.
18
+ * 2. The `process.env.npm_config_user_agent` value set by the executing package manager.
19
+ * 3. The presence of a lockfile in an ancestor directory.
20
+ * 4. If an unknown package manager is used (or none of the above apply), then we fall back to `npm`.
21
+ *
22
+ * The version of the executing package manager is also returned if it is detected via user agent.
23
+ *
24
+ * Supported package managers are `yarn`, `pnpm`, and `npm`.
25
+ *
26
+ */
27
+ export declare const resolvePackageManager: () => Promise<PMDetails>;
28
+ export declare const spawnPackageManager: (pm: PMDetails, args?: CrossSpawnArgs, opts?: CrossSpawnOptions) => Promise<string>;
29
+ //# sourceMappingURL=package-manager.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.spawnPackageManager = exports.resolvePackageManager = exports.PACKAGE_MANAGERS = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ const cross_spawn_promise_1 = require("@malept/cross-spawn-promise");
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ const debug_1 = __importDefault(require("debug"));
11
+ const find_up_1 = __importDefault(require("find-up"));
12
+ const log_symbols_1 = __importDefault(require("log-symbols"));
13
+ const d = (0, debug_1.default)('electron-forge:package-manager');
14
+ let hasWarned = false;
15
+ /**
16
+ * Supported package managers and the commands and flags they need to install dependencies.
17
+ */
18
+ exports.PACKAGE_MANAGERS = {
19
+ yarn: {
20
+ executable: 'yarn',
21
+ install: 'add',
22
+ dev: '--dev',
23
+ exact: '--exact',
24
+ },
25
+ npm: {
26
+ executable: 'npm',
27
+ install: 'install',
28
+ dev: '--save-dev',
29
+ exact: '--save-exact',
30
+ },
31
+ pnpm: {
32
+ executable: 'pnpm',
33
+ install: 'add',
34
+ dev: '--save-dev',
35
+ exact: '--save-exact',
36
+ },
37
+ };
38
+ const PM_FROM_LOCKFILE = {
39
+ 'package-lock.json': 'npm',
40
+ 'yarn.lock': 'yarn',
41
+ 'pnpm-lock.yaml': 'pnpm',
42
+ };
43
+ /**
44
+ * Parses the `npm_config_user_agent` environment variable and returns its name and version.
45
+ *
46
+ * Code taken from {@link https://github.com/zkochan/packages/tree/main/which-pm-runs/ | which-pm-runs}.
47
+ */
48
+ function pmFromUserAgent() {
49
+ const userAgent = process.env.npm_config_user_agent;
50
+ if (!userAgent) {
51
+ return undefined;
52
+ }
53
+ const pmSpec = userAgent.split(' ', 1)[0];
54
+ const separatorPos = pmSpec.lastIndexOf('/');
55
+ const name = pmSpec.substring(0, separatorPos);
56
+ return {
57
+ name: name === 'npminstall' ? 'cnpm' : name,
58
+ version: pmSpec.substring(separatorPos + 1),
59
+ };
60
+ }
61
+ /**
62
+ * Resolves the package manager to use. In order, it checks the following:
63
+ *
64
+ * 1. The value of the `NODE_INSTALLER` environment variable.
65
+ * 2. The `process.env.npm_config_user_agent` value set by the executing package manager.
66
+ * 3. The presence of a lockfile in an ancestor directory.
67
+ * 4. If an unknown package manager is used (or none of the above apply), then we fall back to `npm`.
68
+ *
69
+ * The version of the executing package manager is also returned if it is detected via user agent.
70
+ *
71
+ * Supported package managers are `yarn`, `pnpm`, and `npm`.
72
+ *
73
+ */
74
+ const resolvePackageManager = async () => {
75
+ const executingPM = pmFromUserAgent();
76
+ let lockfilePM;
77
+ const lockfile = await (0, find_up_1.default)(['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'pnpm-workspace.yaml'], { type: 'file' });
78
+ if (lockfile) {
79
+ const lockfileName = node_path_1.default.basename(lockfile);
80
+ lockfilePM = PM_FROM_LOCKFILE[lockfileName];
81
+ }
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']);
104
+ }
105
+ switch (installer) {
106
+ case 'yarn':
107
+ case 'npm':
108
+ case 'pnpm':
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})`);
110
+ return {
111
+ ...exports.PACKAGE_MANAGERS[installer],
112
+ version: installerVersion,
113
+ };
114
+ default:
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
+ };
122
+ }
123
+ };
124
+ exports.resolvePackageManager = resolvePackageManager;
125
+ const spawnPackageManager = async (pm, args, opts) => {
126
+ return (await (0, cross_spawn_promise_1.spawn)(pm.executable, args, opts)).trim();
127
+ };
128
+ exports.spawnPackageManager = spawnPackageManager;
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BhY2thZ2UtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBNkI7QUFFN0IscUVBSXFDO0FBQ3JDLGtEQUEwQjtBQUMxQixrREFBMEI7QUFDMUIsc0RBQTZCO0FBQzdCLDhEQUFxQztBQUVyQyxNQUFNLENBQUMsR0FBRyxJQUFBLGVBQUssRUFBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBV2xELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztBQUV0Qjs7R0FFRztBQUNVLFFBQUEsZ0JBQWdCLEdBQStDO0lBQzFFLElBQUksRUFBRTtRQUNKLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUztLQUNqQjtJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEdBQUcsRUFBRSxZQUFZO1FBQ2pCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxHQUFHLEVBQUUsWUFBWTtRQUNqQixLQUFLLEVBQUUsY0FBYztLQUN0QjtDQUNGLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUE0QztJQUNoRSxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGdCQUFnQixFQUFFLE1BQU07Q0FDekIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUMzQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0tBQzVDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0ksTUFBTSxxQkFBcUIsR0FBNkIsS0FBSyxJQUFJLEVBQUU7SUFDeEUsTUFBTSxXQUFXLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDdEMsSUFBSSxVQUFVLENBQUM7SUFDZixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsaUJBQU0sRUFDM0IsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUMsRUFDM0UsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQ2pCLENBQUM7SUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxZQUFZLEdBQUcsbUJBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQztJQUNkLElBQUksZ0JBQWdCLENBQUM7SUFFckIsSUFBSSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25ELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ3ZDLGdCQUFnQixHQUFHLE1BQU0sSUFBQSwyQkFBbUIsRUFDMUMsd0JBQWdCLENBQUMsU0FBb0MsQ0FBQyxFQUN0RCxDQUFDLFdBQVcsQ0FBQyxDQUNkLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLElBQUksQ0FDVixxQkFBVSxDQUFDLE9BQU8sRUFDbEIsZUFBSyxDQUFDLE1BQU0sQ0FDVixnR0FBZ0csQ0FDakcsQ0FDRixDQUFDO2dCQUNGLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FDVixxQkFBVSxDQUFDLE9BQU8sRUFDbEIsZUFBSyxDQUFDLE1BQU0sQ0FDVixtQkFBbUIsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxvQ0FBb0MsZUFBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUMxSCxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztTQUFNLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdkIsU0FBUyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDN0IsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUN6QyxDQUFDO1NBQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN0QixTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLGdCQUFnQixHQUFHLE1BQU0sSUFBQSwyQkFBbUIsRUFDMUMsd0JBQWdCLENBQUMsU0FBb0MsQ0FBQyxFQUN0RCxDQUFDLFdBQVcsQ0FBQyxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxTQUFTLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1QsQ0FBQyxDQUNDLCtCQUErQixTQUFTLG1DQUFtQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsNEJBQTRCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLGVBQWUsVUFBVSxHQUFHLENBQy9MLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsd0JBQWdCLENBQUMsU0FBUyxDQUFDO2dCQUM5QixPQUFPLEVBQUUsZ0JBQWdCO2FBQzFCLENBQUM7UUFDSjtZQUNFLENBQUMsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1lBQzdELE9BQU87Z0JBQ0wsR0FBRyx3QkFBZ0IsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxNQUFNLElBQUEsMkJBQW1CLEVBQUMsd0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzFELFdBQVc7aUJBQ1osQ0FBQzthQUNILENBQUM7SUFDTixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBdEVXLFFBQUEscUJBQXFCLHlCQXNFaEM7QUFFSyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDdEMsRUFBYSxFQUNiLElBQXFCLEVBQ3JCLElBQXdCLEVBQ1AsRUFBRTtJQUNuQixPQUFPLENBQUMsTUFBTSxJQUFBLDJCQUFLLEVBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFOVyxRQUFBLG1CQUFtQix1QkFNOUIifQ==
@@ -0,0 +1,4 @@
1
+ import { RebuildOptions } from '@electron/rebuild';
2
+ import { ForgeArch, ForgeListrTask, ForgePlatform } from '@electron-forge/shared-types';
3
+ export declare const listrCompatibleRebuildHook: <Ctx = never>(buildPath: string, electronVersion: string, platform: ForgePlatform, arch: ForgeArch, config: Partial<RebuildOptions> | undefined, task: ForgeListrTask<Ctx>, taskTitlePrefix?: string) => Promise<void>;
4
+ //# sourceMappingURL=rebuild.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.listrCompatibleRebuildHook = void 0;
27
+ const cp = __importStar(require("node:child_process"));
28
+ const path = __importStar(require("node:path"));
29
+ const listrCompatibleRebuildHook = async (buildPath, electronVersion, platform, arch, config = {}, task, taskTitlePrefix = '') => {
30
+ task.title = `${taskTitlePrefix}Preparing native dependencies`;
31
+ const options = {
32
+ ...config,
33
+ buildPath,
34
+ electronVersion,
35
+ arch,
36
+ };
37
+ const child = cp.fork(path.resolve(__dirname, 'remote-rebuild.js'), [JSON.stringify(options)], {
38
+ stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
39
+ });
40
+ let pendingError;
41
+ let found = 0;
42
+ let done = 0;
43
+ const redraw = () => {
44
+ task.title = `${taskTitlePrefix}Preparing native dependencies: ${done} / ${found}`;
45
+ };
46
+ child.stdout?.on('data', (chunk) => {
47
+ task.output = chunk.toString();
48
+ });
49
+ child.stderr?.on('data', (chunk) => {
50
+ task.output = chunk.toString();
51
+ });
52
+ child.on('message', (message) => {
53
+ switch (message.msg) {
54
+ case 'module-found': {
55
+ found += 1;
56
+ redraw();
57
+ break;
58
+ }
59
+ case 'module-done': {
60
+ done += 1;
61
+ redraw();
62
+ break;
63
+ }
64
+ case 'rebuild-error': {
65
+ pendingError = new Error(message.err.message);
66
+ pendingError.stack = message.err.stack;
67
+ break;
68
+ }
69
+ case 'rebuild-done': {
70
+ if (task.task.rendererTaskOptions &&
71
+ 'persistentOutput' in task.task.rendererTaskOptions) {
72
+ task.task.rendererTaskOptions.persistentOutput = false;
73
+ }
74
+ break;
75
+ }
76
+ }
77
+ });
78
+ await new Promise((resolve, reject) => {
79
+ child.on('exit', (code) => {
80
+ if (code === 0 && !pendingError) {
81
+ resolve();
82
+ }
83
+ else {
84
+ reject(pendingError || new Error(`Rebuilder failed with exit code: ${code}`));
85
+ }
86
+ });
87
+ });
88
+ };
89
+ exports.listrCompatibleRebuildHook = listrCompatibleRebuildHook;
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVidWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLGdEQUFrQztBQVMzQixNQUFNLDBCQUEwQixHQUFHLEtBQUssRUFDN0MsU0FBaUIsRUFDakIsZUFBdUIsRUFDdkIsUUFBdUIsRUFDdkIsSUFBZSxFQUNmLFNBQWtDLEVBQUUsRUFDcEMsSUFBeUIsRUFDekIsZUFBZSxHQUFHLEVBQUUsRUFDTCxFQUFFO0lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxlQUFlLCtCQUErQixDQUFDO0lBRS9ELE1BQU0sT0FBTyxHQUFtQjtRQUM5QixHQUFHLE1BQU07UUFDVCxTQUFTO1FBQ1QsZUFBZTtRQUNmLElBQUk7S0FDTCxDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsRUFDNUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3pCO1FBQ0UsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0tBQ3ZDLENBQ0YsQ0FBQztJQUVGLElBQUksWUFBbUIsQ0FBQztJQUN4QixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFFYixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLGVBQWUsa0NBQWtDLElBQUksTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUNyRixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNILEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLEVBQUUsQ0FDTixTQUFTLEVBQ1QsQ0FBQyxPQUFpRSxFQUFFLEVBQUU7UUFDcEUsUUFBUSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNYLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUNWLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsWUFBWSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDdkMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLElBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7b0JBQzdCLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQ25ELENBQUM7b0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQ3pELENBQUM7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FDSixZQUFZLElBQUksSUFBSSxLQUFLLENBQUMsb0NBQW9DLElBQUksRUFBRSxDQUFDLENBQ3RFLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXBGVyxRQUFBLDBCQUEwQiw4QkFvRnJDIn0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=remote-rebuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-rebuild.d.ts","sourceRoot":"","sources":["../src/remote-rebuild.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rebuild_1 = require("@electron/rebuild");
4
+ if (!process.send) {
5
+ console.error('The remote rebuilder expects to be spawned with an IPC channel');
6
+ // eslint-disable-next-line no-process-exit
7
+ process.exit(1);
8
+ }
9
+ const options = JSON.parse(process.argv[2]);
10
+ const rebuilder = (0, rebuild_1.rebuild)(options);
11
+ rebuilder.lifecycle.on('module-found', () => process.send?.({ msg: 'module-found' }));
12
+ rebuilder.lifecycle.on('module-done', () => process.send?.({ msg: 'module-done' }));
13
+ rebuilder
14
+ .then(() => {
15
+ process.send?.({ msg: 'rebuild-done' });
16
+ // eslint-disable-next-line no-process-exit
17
+ return process.exit(0);
18
+ })
19
+ .catch((err) => {
20
+ process.send?.({
21
+ msg: 'rebuild-error',
22
+ err: {
23
+ message: err.message,
24
+ stack: err.stack,
25
+ },
26
+ });
27
+ // eslint-disable-next-line no-process-exit
28
+ process.exit(0);
29
+ });
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.10.1",
3
+ "version": "8.0.0-alpha.1",
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.10.1",
11
+ "@electron-forge/shared-types": "8.0.0-alpha.1",
12
12
  "@electron/rebuild": "^3.7.0",
13
13
  "@malept/cross-spawn-promise": "^2.0.0",
14
14
  "chalk": "^4.0.0",
@@ -29,5 +29,5 @@
29
29
  "dist",
30
30
  "src"
31
31
  ],
32
- "gitHead": "a9c9eb7b8476e9c4bbcc4ef80f0ac16166effe94"
32
+ "gitHead": "b9e0db1e38fafbeace24f539be01e32a4aeed258"
33
33
  }