@electron-forge/core-utils 8.0.0-alpha.3 → 8.0.0-alpha.5

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.
@@ -1,10 +1,4 @@
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"));
1
+ import parseAuthor from 'parse-author';
8
2
  /**
9
3
  * Extracts the name from a package.json author field.
10
4
  *
@@ -13,10 +7,10 @@ const parse_author_1 = __importDefault(require("parse-author"));
13
7
  *
14
8
  * @see https://docs.npmjs.com/cli/configuring-npm/package-json#people-fields-author-contributors
15
9
  */
16
- function getNameFromAuthor(author) {
10
+ export function getNameFromAuthor(author) {
17
11
  let publisher = author || '';
18
12
  if (typeof publisher === 'string') {
19
- publisher = (0, parse_author_1.default)(publisher);
13
+ publisher = parseAuthor(publisher);
20
14
  }
21
15
  if (typeof publisher !== 'string' &&
22
16
  publisher &&
@@ -28,5 +22,4 @@ function getNameFromAuthor(author) {
28
22
  }
29
23
  return publisher;
30
24
  }
31
- exports.getNameFromAuthor = getNameFromAuthor;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXV0aG9yLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsZ0VBQXVDO0FBRXZDOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxNQUFxQjtJQUNyRCxJQUFJLFNBQVMsR0FBa0IsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUU1QyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFNBQVMsR0FBRyxJQUFBLHNCQUFXLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0UsT0FBTyxTQUFTLEtBQUssUUFBUTtRQUM3QixTQUFTO1FBQ1QsT0FBTyxTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFDbEMsQ0FBQztRQUNELFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFwQkQsOENBb0JDIn0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXV0aG9yLW5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBRXZDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBcUI7SUFDckQsSUFBSSxTQUFTLEdBQWtCLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFFNUMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUNFLE9BQU8sU0FBUyxLQUFLLFFBQVE7UUFDN0IsU0FBUztRQUNULE9BQU8sU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQ2xDLENBQUM7UUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIn0=
@@ -1,44 +1,37 @@
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');
1
+ import path from 'node:path';
2
+ import debug from 'debug';
3
+ import findUp from 'find-up';
4
+ import fs from 'fs-extra';
5
+ import semver from 'semver';
6
+ const d = debug('electron-forge:electron-version');
13
7
  const electronPackageNames = ['electron-nightly', 'electron'];
14
8
  function findElectronDep(dep) {
15
9
  return electronPackageNames.includes(dep);
16
10
  }
17
11
  async function findAncestorNodeModulesPath(dir, packageName) {
18
12
  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' });
13
+ const lockPath = await findUp(['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'], { cwd: dir, type: 'file' });
20
14
  if (lockPath) {
21
15
  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)) {
16
+ const nodeModulesPath = path.join(path.dirname(lockPath), 'node_modules', packageName);
17
+ if (await fs.pathExists(nodeModulesPath)) {
24
18
  return nodeModulesPath;
25
19
  }
26
20
  }
27
21
  return Promise.resolve(undefined);
28
22
  }
29
23
  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)) {
24
+ const nodeModulesPath = path.join(dir, 'node_modules', packageName);
25
+ if (await fs.pathExists(nodeModulesPath)) {
32
26
  return nodeModulesPath;
33
27
  }
34
28
  return findAncestorNodeModulesPath(dir, packageName);
35
29
  }
36
- class PackageNotFoundError extends Error {
30
+ export class PackageNotFoundError extends Error {
37
31
  constructor(packageName, dir) {
38
32
  super(`Cannot find the package "${packageName}". Perhaps you need to run install it in "${dir}"?`);
39
33
  }
40
34
  }
41
- exports.PackageNotFoundError = PackageNotFoundError;
42
35
  function getElectronModuleName(packageJSON) {
43
36
  if (!packageJSON.devDependencies) {
44
37
  throw new Error('package.json for app does not have any devDependencies');
@@ -56,31 +49,30 @@ async function getElectronPackageJSONPath(dir, packageName) {
56
49
  if (!nodeModulesPath) {
57
50
  throw new PackageNotFoundError(packageName, dir);
58
51
  }
59
- const electronPackageJSONPath = node_path_1.default.join(nodeModulesPath, 'package.json');
60
- if (await fs_extra_1.default.pathExists(electronPackageJSONPath)) {
52
+ const electronPackageJSONPath = path.join(nodeModulesPath, 'package.json');
53
+ if (await fs.pathExists(electronPackageJSONPath)) {
61
54
  return electronPackageJSONPath;
62
55
  }
63
56
  return undefined;
64
57
  }
65
- async function getElectronModulePath(dir, packageJSON) {
58
+ export async function getElectronModulePath(dir, packageJSON) {
66
59
  const moduleName = getElectronModuleName(packageJSON);
67
60
  const packageJSONPath = await getElectronPackageJSONPath(dir, moduleName);
68
61
  if (packageJSONPath) {
69
- return node_path_1.default.dirname(packageJSONPath);
62
+ return path.dirname(packageJSONPath);
70
63
  }
71
64
  return undefined;
72
65
  }
73
- exports.getElectronModulePath = getElectronModulePath;
74
- async function getElectronVersion(dir, packageJSON) {
66
+ export async function getElectronVersion(dir, packageJSON) {
75
67
  const packageName = getElectronModuleName(packageJSON);
76
68
  // Why: checked in getElectronModuleName
77
69
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
70
  let version = packageJSON.devDependencies[packageName];
79
- if (!semver_1.default.valid(version)) {
71
+ if (!semver.valid(version)) {
80
72
  // It's not an exact version, find it in the actual module
81
73
  const electronPackageJSONPath = await getElectronPackageJSONPath(dir, packageName);
82
74
  if (electronPackageJSONPath) {
83
- const electronPackageJSON = await fs_extra_1.default.readJson(electronPackageJSONPath);
75
+ const electronPackageJSON = await fs.readJson(electronPackageJSONPath);
84
76
  version = electronPackageJSON.version;
85
77
  }
86
78
  else {
@@ -89,8 +81,7 @@ async function getElectronVersion(dir, packageJSON) {
89
81
  }
90
82
  return version;
91
83
  }
92
- exports.getElectronVersion = getElectronVersion;
93
- function updateElectronDependency(packageJSON, dev, exact) {
84
+ export function updateElectronDependency(packageJSON, dev, exact) {
94
85
  const alteredDev = [].concat(dev);
95
86
  let alteredExact = [].concat(exact);
96
87
  // Why: checked in getElectronModuleName
@@ -109,5 +100,4 @@ function updateElectronDependency(packageJSON, dev, exact) {
109
100
  }
110
101
  return [alteredDev, alteredExact];
111
102
  }
112
- exports.updateElectronDependency = updateElectronDependency;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVjdHJvbi12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUU3QixrREFBMEI7QUFDMUIsc0RBQTZCO0FBQzdCLHdEQUEwQjtBQUMxQixvREFBNEI7QUFFNUIsTUFBTSxDQUFDLEdBQUcsSUFBQSxlQUFLLEVBQUMsaUNBQWlDLENBQUMsQ0FBQztBQUVuRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFPOUQsU0FBUyxlQUFlLENBQUMsR0FBVztJQUNsQyxPQUFPLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsS0FBSyxVQUFVLDJCQUEyQixDQUN4QyxHQUFXLEVBQ1gsV0FBbUI7SUFFbkIsQ0FBQyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDOUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLGlCQUFNLEVBQzNCLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLEVBQ3BELEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQzNCLENBQUM7SUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLG9CQUFvQixRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUMvQixtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFDdEIsY0FBYyxFQUNkLFdBQVcsQ0FDWixDQUFDO1FBQ0YsSUFBSSxNQUFNLGtCQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxlQUFlLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFP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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlY3Ryb24tdmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVjdHJvbi12ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUU3QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMxQixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFFbkQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBTzlELFNBQVMsZUFBZSxDQUFDLEdBQVc7SUFDbEMsT0FBTyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELEtBQUssVUFBVSwyQkFBMkIsQ0FDeEMsR0FBVyxFQUNYLFdBQW1CO0lBRW5CLENBQUMsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO0lBQzlELE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUMzQixDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUNwRCxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUMzQixDQUFDO0lBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLENBQUMsQ0FBQyxvQkFBb0IsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUN0QixjQUFjLEVBQ2QsV0FBVyxDQUNaLENBQUM7UUFDRixJQUFJLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRSxD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
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- export * from './rebuild';
2
- export * from './electron-version';
3
- export * from './package-manager';
4
- export * from './author-name';
1
+ export * from './rebuild.js';
2
+ export * from './electron-version.js';
3
+ export * from './package-manager.js';
4
+ export * from './author-name.js';
5
+ export * from './install-dependencies.js';
6
+ export * from './resolve-working-dir.js';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,21 +1,7 @@
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
1
+ export * from './rebuild.js';
2
+ export * from './electron-version.js';
3
+ export * from './package-manager.js';
4
+ export * from './author-name.js';
5
+ export * from './install-dependencies.js';
6
+ export * from './resolve-working-dir.js';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDIn0=
@@ -0,0 +1,11 @@
1
+ import { PMDetails } from './package-manager.js';
2
+ export declare enum DepType {
3
+ PROD = "PROD",
4
+ DEV = "DEV"
5
+ }
6
+ export declare enum DepVersionRestriction {
7
+ EXACT = "EXACT",
8
+ RANGE = "RANGE"
9
+ }
10
+ export declare function installDependencies(pm: PMDetails, dir: string, deps: string[], depType?: DepType, versionRestriction?: DepVersionRestriction): Promise<void>;
11
+ //# sourceMappingURL=install-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-dependencies.d.ts","sourceRoot":"","sources":["../src/install-dependencies.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAC;AAItE,oBAAY,OAAO;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,oBAAY,qBAAqB;IAC/B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,UAAe,EACtB,kBAAkB,wBAA8B,GAC/C,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -0,0 +1,42 @@
1
+ import { ExitError } from '@malept/cross-spawn-promise';
2
+ import debug from 'debug';
3
+ import { spawnPackageManager } from './package-manager.js';
4
+ const d = debug('electron-forge:dependency-installer');
5
+ export var DepType;
6
+ (function (DepType) {
7
+ DepType["PROD"] = "PROD";
8
+ DepType["DEV"] = "DEV";
9
+ })(DepType || (DepType = {}));
10
+ export var DepVersionRestriction;
11
+ (function (DepVersionRestriction) {
12
+ DepVersionRestriction["EXACT"] = "EXACT";
13
+ DepVersionRestriction["RANGE"] = "RANGE";
14
+ })(DepVersionRestriction || (DepVersionRestriction = {}));
15
+ export async function installDependencies(pm, dir, deps, depType = DepType.PROD, versionRestriction = DepVersionRestriction.RANGE) {
16
+ d('installing', JSON.stringify(deps), 'in:', dir, `depType=${depType},versionRestriction=${versionRestriction},withPackageManager=${pm.executable}`);
17
+ if (deps.length === 0) {
18
+ d('nothing to install, stopping immediately');
19
+ return Promise.resolve();
20
+ }
21
+ const cmd = [pm.install].concat(deps);
22
+ if (depType === DepType.DEV)
23
+ cmd.push(pm.dev);
24
+ if (versionRestriction === DepVersionRestriction.EXACT)
25
+ cmd.push(pm.exact);
26
+ d('executing', JSON.stringify(cmd), 'in:', dir);
27
+ try {
28
+ await spawnPackageManager(pm, cmd, {
29
+ cwd: dir,
30
+ stdio: 'pipe',
31
+ });
32
+ }
33
+ catch (err) {
34
+ if (err instanceof ExitError) {
35
+ throw new Error(`Failed to install modules: ${JSON.stringify(deps)}\n\nWith output: ${err.message}\n${err.stderr ? err.stderr.toString() : ''}`);
36
+ }
37
+ else {
38
+ throw err;
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC1kZXBlbmRlbmNpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5zdGFsbC1kZXBlbmRlbmNpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztBQUV2RCxNQUFNLENBQU4sSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLHdCQUFhLENBQUE7SUFDYixzQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLE9BQU8sS0FBUCxPQUFPLFFBR2xCO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUMvQix3Q0FBZSxDQUFBO0lBQ2Ysd0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUdoQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQ3ZDLEVBQWEsRUFDYixHQUFXLEVBQ1gsSUFBYyxFQUNkLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxFQUN0QixrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLO0lBRWhELENBQUMsQ0FDQyxZQUFZLEVBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDcEIsS0FBSyxFQUNMLEdBQUcsRUFDSCxXQUFXLE9BQU8sdUJBQXVCLGtCQUFrQix1QkFBdUIsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUNsRyxDQUFDO0lBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFDRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsSUFBSSxPQUFPLEtBQUssT0FBTyxDQUFDLEdBQUc7UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QyxJQUFJLGtCQUFrQixLQUFLLHFCQUFxQixDQUFDLEtBQUs7UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzRSxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQztRQUNILE1BQU0sbUJBQW1CLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUNqQyxHQUFHLEVBQUUsR0FBRztZQUNSLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLEdBQUcsWUFBWSxTQUFTLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDhCQUE4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDaEksQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
@@ -14,7 +14,7 @@ export declare const PACKAGE_MANAGERS: Record<SupportedPackageManager, PMDetails
14
14
  /**
15
15
  * Resolves the package manager to use. In order, it checks the following:
16
16
  *
17
- * 1. The value of the `NODE_INSTALLER` environment variable.
17
+ * 1. An explicit arg being passed into the function.
18
18
  * 2. The `process.env.npm_config_user_agent` value set by the executing package manager.
19
19
  * 3. The presence of a lockfile in an ancestor directory.
20
20
  * 4. If an unknown package manager is used (or none of the above apply), then we fall back to `npm`.
@@ -24,6 +24,6 @@ export declare const PACKAGE_MANAGERS: Record<SupportedPackageManager, PMDetails
24
24
  * Supported package managers are `yarn`, `pnpm`, and `npm`.
25
25
  *
26
26
  */
27
- export declare const resolvePackageManager: () => Promise<PMDetails>;
27
+ export declare const resolvePackageManager: (packageManager?: string) => Promise<PMDetails>;
28
28
  export declare const spawnPackageManager: (pm: PMDetails, args?: CrossSpawnArgs, opts?: CrossSpawnOptions) => Promise<string>;
29
29
  //# sourceMappingURL=package-manager.d.ts.map
@@ -1 +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"}
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;AAMrC,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,CAClC,cAAc,CAAC,EAAE,MAAM,KACpB,OAAO,CAAC,SAAS,CA0ErB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,IAAI,SAAS,EACb,OAAO,cAAc,EACrB,OAAO,iBAAiB,KACvB,OAAO,CAAC,MAAM,CAEhB,CAAC"}
@@ -1,21 +1,13 @@
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;
1
+ import path from 'node:path';
2
+ import { spawn, } from '@malept/cross-spawn-promise';
3
+ import debug from 'debug';
4
+ import findUp from 'find-up';
5
+ const d = debug('electron-forge:package-manager');
6
+ let explicitPMCache;
15
7
  /**
16
8
  * Supported package managers and the commands and flags they need to install dependencies.
17
9
  */
18
- exports.PACKAGE_MANAGERS = {
10
+ export const PACKAGE_MANAGERS = {
19
11
  yarn: {
20
12
  executable: 'yarn',
21
13
  install: 'add',
@@ -61,7 +53,7 @@ function pmFromUserAgent() {
61
53
  /**
62
54
  * Resolves the package manager to use. In order, it checks the following:
63
55
  *
64
- * 1. The value of the `NODE_INSTALLER` environment variable.
56
+ * 1. An explicit arg being passed into the function.
65
57
  * 2. The `process.env.npm_config_user_agent` value set by the executing package manager.
66
58
  * 3. The presence of a lockfile in an ancestor directory.
67
59
  * 4. If an unknown package manager is used (or none of the above apply), then we fall back to `npm`.
@@ -71,59 +63,66 @@ function pmFromUserAgent() {
71
63
  * Supported package managers are `yarn`, `pnpm`, and `npm`.
72
64
  *
73
65
  */
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
- }
66
+ export const resolvePackageManager = async (packageManager) => {
82
67
  let installer;
83
68
  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;
69
+ // Check explicit packageManager argument FIRST, before cache
70
+ // This ensures explicit args always take precedence
71
+ if (packageManager) {
72
+ const match = packageManager.match(/^(npm|pnpm|yarn)(?:@(latest|\d+(?:\.\d+)?(?:\.\d+)?(?:-.+)?))?$/);
73
+ if (match) {
74
+ const [, executable, version] = match;
75
+ if (Object.keys(PACKAGE_MANAGERS).includes(executable)) {
76
+ const pm = PACKAGE_MANAGERS[executable];
77
+ installerVersion = version ?? 'latest';
78
+ explicitPMCache = { ...pm, version: installerVersion };
79
+ d(`Resolved and cached explicit package manager: ${pm.executable}`);
80
+ return explicitPMCache;
81
+ }
82
+ else {
83
+ d(`Attempted to parse ${packageManager} to regex but failed. Falling back!`);
91
84
  }
92
85
  }
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
86
  }
97
- else if (executingPM) {
87
+ if (explicitPMCache) {
88
+ d(`Using cached explicit package manager: ${explicitPMCache.executable}`);
89
+ return explicitPMCache;
90
+ }
91
+ const executingPM = pmFromUserAgent();
92
+ let lockfilePM;
93
+ const lockfile = await findUp(['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'pnpm-workspace.yaml'], { type: 'file' });
94
+ if (lockfile) {
95
+ const lockfileName = path.basename(lockfile);
96
+ lockfilePM = PM_FROM_LOCKFILE[lockfileName];
97
+ }
98
+ if (executingPM) {
98
99
  installer = executingPM.name;
99
100
  installerVersion = executingPM.version;
100
101
  }
101
102
  else if (lockfilePM) {
102
103
  installer = lockfilePM;
103
- installerVersion = await (0, exports.spawnPackageManager)(exports.PACKAGE_MANAGERS[installer], ['--version']);
104
+ installerVersion = await spawnPackageManager(PACKAGE_MANAGERS[installer], ['--version']);
104
105
  }
105
106
  switch (installer) {
106
107
  case 'yarn':
107
108
  case 'npm':
108
109
  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
+ d(`Resolved package manager to ${installer}. (Derived from npm_config_user_agent: ${process.env.npm_config_user_agent}, lockfile: ${lockfilePM})`);
110
111
  return {
111
- ...exports.PACKAGE_MANAGERS[installer],
112
+ ...PACKAGE_MANAGERS[installer],
112
113
  version: installerVersion,
113
114
  };
114
115
  default:
115
116
  d(`No valid package manager detected. Falling back to npm.`);
116
117
  return {
117
- ...exports.PACKAGE_MANAGERS['npm'],
118
- version: await (0, exports.spawnPackageManager)(exports.PACKAGE_MANAGERS['npm'], [
118
+ ...PACKAGE_MANAGERS['npm'],
119
+ version: await spawnPackageManager(PACKAGE_MANAGERS['npm'], [
119
120
  '--version',
120
121
  ]),
121
122
  };
122
123
  }
123
124
  };
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();
125
+ export const spawnPackageManager = async (pm, args, opts) => {
126
+ return (await spawn(pm.executable, args, opts)).trim();
127
127
  };
128
- exports.spawnPackageManager = spawnPackageManager;
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BhY2thZ2UtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBNkI7QUFFN0IscUVBSXFDO0FBQ3JDLGtEQUEwQjtBQUMxQixrREFBMEI7QUFDMUIsc0RBQTZCO0FBQzdCLDhEQUFxQztBQUVyQyxNQUFNLENBQUMsR0FBRyxJQUFBLGVBQUssRUFBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBV2xELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztBQUV0Qjs7R0FFRztBQUNVLFFBQUEsZ0JBQWdCLEdBQStDO0lBQzFFLElBQUksRUFBRTtRQUNKLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUztLQUNqQjtJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEdBQUcsRUFBRSxZQUFZO1FBQ2pCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxHQUFHLEVBQUUsWUFBWTtRQUNqQixLQUFLLEVBQUUsY0FBYztLQUN0QjtDQUNGLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUE0QztJQUNoRSxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGdCQUFnQixFQUFFLE1BQU07Q0FDekIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUMzQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0tBQzVDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0ksTUFBTSxxQkFBcUIsR0FBNkIsS0FBSyxJQUFJLEVBQUU7SUFDeEUsTUFBTSxXQUFXLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDdEMsSUFBSSxVQUFVLENBQUM7SUFDZixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsaUJBQU0sRUFDM0IsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUMsRUFDM0UsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQ2pCLENBQUM7SUFDRixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxZQUFZLEdBQUcsbUJBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQztJQUNkLElBQUksZ0JBQWdCLENBQUM7SUFFckIsSUFBSSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25ELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBZ0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDdkUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1lBQ3ZDLGdCQUFnQixHQUFHLE1BQU0sSUFBQSwyQkFBbUIsRUFDMUMsd0JBQWdCLENBQUMsU0FBb0MsQ0FBQyxFQUN0RCxDQUFDLFdBQVcsQ0FBQyxDQUNkLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLElBQUksQ0FDVixxQkFBVSxDQUFDLE9BQU8sRUFDbEIsZUFBSyxDQUFDLE1BQU0sQ0FDVixnR0FBZ0csQ0FDakcsQ0FDRixDQUFDO2dCQUNGLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FDVixxQkFBVSxDQUFDLE9BQU8sRUFDbEIsZUFBSyxDQUFDLE1BQU0sQ0FDVixtQkFBbUIsZUFBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxvQ0FBb0MsZUFBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUMxSCxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztTQUFNLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdkIsU0FBUyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDN0IsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUN6QyxDQUFDO1NBQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUN0QixTQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLGdCQUFnQixHQUFHLE1BQU0sSUFBQSwyQkFBbUIsRUFDMUMsd0JBQWdCLENBQUMsU0FBb0MsQ0FBQyxFQUN0RCxDQUFDLFdBQVcsQ0FBQyxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxTQUFTLEVBQUUsQ0FBQztRQUNsQixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1QsQ0FBQyxDQUNDLCtCQUErQixTQUFTLG1DQUFtQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsNEJBQTRCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLGVBQWUsVUFBVSxHQUFHLENBQy9MLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsd0JBQWdCLENBQUMsU0FBUyxDQUFDO2dCQUM5QixPQUFPLEVBQUUsZ0JBQWdCO2FBQzFCLENBQUM7UUFDSjtZQUNFLENBQUMsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1lBQzdELE9BQU87Z0JBQ0wsR0FBRyx3QkFBZ0IsQ0FBQyxLQUFLLENBQUM7Z0JBQzFCLE9BQU8sRUFBRSxNQUFNLElBQUEsMkJBQW1CLEVBQUMsd0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzFELFdBQVc7aUJBQ1osQ0FBQzthQUNILENBQUM7SUFDTixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBdEVXLFFBQUEscUJBQXFCLHlCQXNFaEM7QUFFSyxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDdEMsRUFBYSxFQUNiLElBQXFCLEVBQ3JCLElBQXdCLEVBQ1AsRUFBRTtJQUNuQixPQUFPLENBQUMsTUFBTSxJQUFBLDJCQUFLLEVBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN6RCxDQUFDLENBQUM7QUFOVyxRQUFBLG1CQUFtQix1QkFNOUIifQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BhY2thZ2UtbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUdMLEtBQUssR0FDTixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFFN0IsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFXbEQsSUFBSSxlQUFzQyxDQUFDO0FBRTNDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQStDO0lBQzFFLElBQUksRUFBRTtRQUNKLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUztLQUNqQjtJQUNELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLEdBQUcsRUFBRSxZQUFZO1FBQ2pCLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxHQUFHLEVBQUUsWUFBWTtRQUNqQixLQUFLLEVBQUUsY0FBYztLQUN0QjtDQUNGLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUE0QztJQUNoRSxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGdCQUFnQixFQUFFLE1BQU07Q0FDekIsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFFLENB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
@@ -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,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"}
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,GAAU,GAAG,GAAG,KAAK,EAC1D,WAAW,MAAM,EACjB,iBAAiB,MAAM,EACvB,UAAU,aAAa,EACvB,MAAM,SAAS,EACf,QAAQ,OAAO,CAAC,cAAc,CAAC,YAAK,EACpC,MAAM,cAAc,CAAC,GAAG,CAAC,EACzB,wBAAoB,KACnB,OAAO,CAAC,IAAI,CA4Ed,CAAC"}
package/dist/rebuild.js CHANGED
@@ -1,32 +1,6 @@
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 = '') => {
1
+ import * as cp from 'node:child_process';
2
+ import * as path from 'node:path';
3
+ export const listrCompatibleRebuildHook = async (buildPath, electronVersion, platform, arch, config = {}, task, taskTitlePrefix = '') => {
30
4
  task.title = `${taskTitlePrefix}Preparing native dependencies`;
31
5
  const options = {
32
6
  ...config,
@@ -34,7 +8,7 @@ const listrCompatibleRebuildHook = async (buildPath, electronVersion, platform,
34
8
  electronVersion,
35
9
  arch,
36
10
  };
37
- const child = cp.fork(path.resolve(__dirname, 'remote-rebuild.js'), [JSON.stringify(options)], {
11
+ const child = cp.fork(path.resolve(import.meta.dirname, 'remote-rebuild.js'), [JSON.stringify(options)], {
38
12
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
39
13
  });
40
14
  let pendingError;
@@ -86,5 +60,4 @@ const listrCompatibleRebuildHook = async (buildPath, electronVersion, platform,
86
60
  });
87
61
  });
88
62
  };
89
- exports.listrCompatibleRebuildHook = listrCompatibleRebuildHook;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVidWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXlDO0FBQ3pDLGdEQUFrQztBQVMzQixNQUFNLDBCQUEwQixHQUFHLEtBQUssRUFDN0MsU0FBaUIsRUFDakIsZUFBdUIsRUFDdkIsUUFBdUIsRUFDdkIsSUFBZSxFQUNmLFNBQWtDLEVBQUUsRUFDcEMsSUFBeUIsRUFDekIsZUFBZSxHQUFHLEVBQUUsRUFDTCxFQUFFO0lBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxlQUFlLCtCQUErQixDQUFDO0lBRS9ELE1BQU0sT0FBTyxHQUFtQjtRQUM5QixHQUFHLE1BQU07UUFDVCxTQUFTO1FBQ1QsZUFBZTtRQUNmLElBQUk7S0FDTCxDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsRUFDNUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3pCO1FBQ0UsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0tBQ3ZDLENBQ0YsQ0FBQztJQUVGLElBQUksWUFBbUIsQ0FBQztJQUN4QixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFFYixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLGVBQWUsa0NBQWtDLElBQUksTUFBTSxLQUFLLEVBQUUsQ0FBQztJQUNyRixDQUFDLENBQUM7SUFFRixLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNILEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLEVBQUUsQ0FDTixTQUFTLEVBQ1QsQ0FBQyxPQUFpRSxFQUFFLEVBQUU7UUFDcEUsUUFBUSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixLQUFLLElBQUksQ0FBQyxDQUFDO2dCQUNYLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixJQUFJLElBQUksQ0FBQyxDQUFDO2dCQUNWLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixZQUFZLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDOUMsWUFBWSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDdkMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLElBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7b0JBQzdCLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQ25ELENBQUM7b0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7Z0JBQ3pELENBQUM7Z0JBQ0QsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUNGLENBQUM7SUFFRixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sQ0FDSixZQUFZLElBQUksSUFBSSxLQUFLLENBQUMsb0NBQW9DLElBQUksRUFBRSxDQUFDLENBQ3RFLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQXBGVyxRQUFBLDBCQUEwQiw4QkFvRnJDIn0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVidWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekMsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFTbEMsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxFQUM3QyxTQUFpQixFQUNqQixlQUF1QixFQUN2QixRQUF1QixFQUN2QixJQUFlLEVBQ2YsU0FBa0MsRUFBRSxFQUNwQyxJQUF5QixFQUN6QixlQUFlLEdBQUcsRUFBRSxFQUNMLEVBQUU7SUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLGVBQWUsK0JBQStCLENBQUM7SUFFL0QsTUFBTSxPQUFPLEdBQW1CO1FBQzlCLEdBQUcsTUFBTTtRQUNULFNBQVM7UUFDVCxlQUFlO1FBQ2YsSUFBSTtLQUNMLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLEVBQ3RELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUN6QjtRQUNFLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQztLQUN2QyxDQUNGLENBQUM7SUFFRixJQUFJLFlBQW1CLENBQUM7SUFDeEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRWIsTUFBTSxNQUFNLEdBQUcsR0FBRyxFQUFFO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxlQUFlLGtDQUFrQyxJQUFJLE1BQU0sS0FBSyxFQUFFLENBQUM7SUFDckYsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDSCxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDLENBQUMsQ0FBQztJQUVILEtBQUssQ0FBQyxFQUFFLENBQ04sU0FBUyxFQUNULENBQUMsT0FBaUUsRUFBRSxFQUFFO1FBQ3BFLFFBQVEsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDWCxNQUFNLEVBQUUsQ0FBQztnQkFDVCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUMsQ0FBQztnQkFDVixNQUFNLEVBQUUsQ0FBQztnQkFDVCxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQztnQkFDckIsWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzlDLFlBQVksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDO2dCQUNwQixJQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CO29CQUM3QixrQkFBa0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUNuRCxDQUFDO29CQUNELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2dCQUN6RCxDQUFDO2dCQUNELE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FDRixDQUFDO0lBRUYsTUFBTSxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMxQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hCLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLENBQ0osWUFBWSxJQUFJLElBQUksS0FBSyxDQUFDLG9DQUFvQyxJQUFJLEVBQUUsQ0FBQyxDQUN0RSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMifQ==
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const rebuild_1 = require("@electron/rebuild");
1
+ import { rebuild } from '@electron/rebuild';
4
2
  if (!process.send) {
5
3
  console.error('The remote rebuilder expects to be spawned with an IPC channel');
6
4
  // eslint-disable-next-line no-process-exit
7
5
  process.exit(1);
8
6
  }
9
7
  const options = JSON.parse(process.argv[2]);
10
- const rebuilder = (0, rebuild_1.rebuild)(options);
8
+ const rebuilder = rebuild(options);
11
9
  rebuilder.lifecycle.on('module-found', () => process.send?.({ msg: 'module-found' }));
12
10
  rebuilder.lifecycle.on('module-done', () => process.send?.({ msg: 'module-done' }));
13
11
  rebuilder
@@ -27,4 +25,4 @@ rebuilder
27
25
  // eslint-disable-next-line no-process-exit
28
26
  process.exit(0);
29
27
  });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXJlYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVtb3RlLXJlYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBNEQ7QUFFNUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQixPQUFPLENBQUMsS0FBSyxDQUNYLGdFQUFnRSxDQUNqRSxDQUFDO0lBQ0YsMkNBQTJDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUU1RCxNQUFNLFNBQVMsR0FBRyxJQUFBLGlCQUFPLEVBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUMxQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FDeEMsQ0FBQztBQUNGLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDekMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ3ZDLENBQUM7QUFFRixTQUFTO0tBQ04sSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNULE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLDJDQUEyQztJQUMzQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDO0tBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDYixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDYixHQUFHLEVBQUUsZUFBZTtRQUNwQixHQUFHLEVBQUU7WUFDSCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDcEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1NBQ2pCO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsMkNBQTJDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXJlYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVtb3RlLXJlYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsZ0VBQWdFLENBQ2pFLENBQUM7SUFDRiwyQ0FBMkM7SUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQW1CLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTVELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVuQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQzFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO0FBQ0YsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUN6QyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FDdkMsQ0FBQztBQUVGLFNBQVM7S0FDTixJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ1QsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFDeEMsMkNBQTJDO0lBQzNDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7S0FDRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNiLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNiLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLEdBQUcsRUFBRTtZQUNILE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztZQUNwQixLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7U0FDakI7S0FDRixDQUFDLENBQUM7SUFDSCwyQ0FBMkM7SUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyJ9
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Resolves the directory in which to use a CLI command.
3
+ * @param dir - The directory specified by the user (can be relative or absolute)
4
+ * @param checkExisting - Checks if the directory exists. If true and directory is non-existent, it will fall back to the current working directory
5
+ * @returns
6
+ */
7
+ export declare function resolveWorkingDir(dir: string, checkExisting?: boolean): string;
8
+ //# sourceMappingURL=resolve-working-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-working-dir.d.ts","sourceRoot":"","sources":["../src/resolve-working-dir.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,UAAO,GAAG,MAAM,CAc3E"}
@@ -0,0 +1,23 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ /**
4
+ * Resolves the directory in which to use a CLI command.
5
+ * @param dir - The directory specified by the user (can be relative or absolute)
6
+ * @param checkExisting - Checks if the directory exists. If true and directory is non-existent, it will fall back to the current working directory
7
+ * @returns
8
+ */
9
+ export function resolveWorkingDir(dir, checkExisting = true) {
10
+ if (!dir) {
11
+ return process.cwd();
12
+ }
13
+ const resolved = path.isAbsolute(dir)
14
+ ? dir
15
+ : path.resolve(process.cwd(), dir);
16
+ if (checkExisting && !fs.existsSync(resolved)) {
17
+ return process.cwd();
18
+ }
19
+ else {
20
+ return resolved;
21
+ }
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS13b3JraW5nLWRpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXNvbHZlLXdvcmtpbmctZGlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0I7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsR0FBVyxFQUFFLGFBQWEsR0FBRyxJQUFJO0lBQ2pFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUNuQyxDQUFDLENBQUMsR0FBRztRQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVyQyxJQUFJLGFBQWEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7QUFDSCxDQUFDIn0=
package/package.json CHANGED
@@ -1,15 +1,16 @@
1
1
  {
2
2
  "name": "@electron-forge/core-utils",
3
- "version": "8.0.0-alpha.3",
3
+ "version": "8.0.0-alpha.5",
4
+ "type": "module",
4
5
  "description": "Core utilities for the Electron Forge packages",
5
6
  "repository": "https://github.com/electron/forge",
6
7
  "author": "Samuel Attard",
7
8
  "license": "MIT",
8
- "main": "dist/index.js",
9
+ "exports": "./dist/index.js",
9
10
  "typings": "dist/index.d.ts",
10
11
  "dependencies": {
11
- "@electron-forge/shared-types": "8.0.0-alpha.3",
12
- "@electron/rebuild": "^3.7.0",
12
+ "@electron-forge/shared-types": "8.0.0-alpha.5",
13
+ "@electron/rebuild": "^4.0.1",
13
14
  "@malept/cross-spawn-promise": "^2.0.0",
14
15
  "chalk": "^4.0.0",
15
16
  "debug": "^4.3.1",
@@ -20,14 +21,15 @@
20
21
  "semver": "^7.2.1"
21
22
  },
22
23
  "engines": {
23
- "node": ">= 16.4.0"
24
+ "node": ">= 22.12.0"
24
25
  },
25
26
  "devDependencies": {
26
- "vitest": "^3.1.3"
27
+ "vitest": "^4.0.14"
27
28
  },
28
29
  "files": [
29
30
  "dist",
31
+ "helper",
30
32
  "src"
31
33
  ],
32
- "gitHead": "1ac299b86edfb2173f44f885148310648db03e88"
34
+ "gitHead": "5ad3a256c5896637d0858d7713101bfabefb557e"
33
35
  }
package/src/index.ts CHANGED
@@ -1,4 +1,6 @@
1
- export * from './rebuild';
2
- export * from './electron-version';
3
- export * from './package-manager';
4
- export * from './author-name';
1
+ export * from './rebuild.js';
2
+ export * from './electron-version.js';
3
+ export * from './package-manager.js';
4
+ export * from './author-name.js';
5
+ export * from './install-dependencies.js';
6
+ export * from './resolve-working-dir.js';
@@ -0,0 +1,55 @@
1
+ import { ExitError } from '@malept/cross-spawn-promise';
2
+ import debug from 'debug';
3
+
4
+ import { PMDetails, spawnPackageManager } from './package-manager.js';
5
+
6
+ const d = debug('electron-forge:dependency-installer');
7
+
8
+ export enum DepType {
9
+ PROD = 'PROD',
10
+ DEV = 'DEV',
11
+ }
12
+
13
+ export enum DepVersionRestriction {
14
+ EXACT = 'EXACT',
15
+ RANGE = 'RANGE',
16
+ }
17
+
18
+ export async function installDependencies(
19
+ pm: PMDetails,
20
+ dir: string,
21
+ deps: string[],
22
+ depType = DepType.PROD,
23
+ versionRestriction = DepVersionRestriction.RANGE,
24
+ ): Promise<void> {
25
+ d(
26
+ 'installing',
27
+ JSON.stringify(deps),
28
+ 'in:',
29
+ dir,
30
+ `depType=${depType},versionRestriction=${versionRestriction},withPackageManager=${pm.executable}`,
31
+ );
32
+ if (deps.length === 0) {
33
+ d('nothing to install, stopping immediately');
34
+ return Promise.resolve();
35
+ }
36
+ const cmd = [pm.install].concat(deps);
37
+ if (depType === DepType.DEV) cmd.push(pm.dev);
38
+ if (versionRestriction === DepVersionRestriction.EXACT) cmd.push(pm.exact);
39
+
40
+ d('executing', JSON.stringify(cmd), 'in:', dir);
41
+ try {
42
+ await spawnPackageManager(pm, cmd, {
43
+ cwd: dir,
44
+ stdio: 'pipe',
45
+ });
46
+ } catch (err) {
47
+ if (err instanceof ExitError) {
48
+ throw new Error(
49
+ `Failed to install modules: ${JSON.stringify(deps)}\n\nWith output: ${err.message}\n${err.stderr ? err.stderr.toString() : ''}`,
50
+ );
51
+ } else {
52
+ throw err;
53
+ }
54
+ }
55
+ }
@@ -5,10 +5,8 @@ import {
5
5
  CrossSpawnOptions,
6
6
  spawn,
7
7
  } from '@malept/cross-spawn-promise';
8
- import chalk from 'chalk';
9
8
  import debug from 'debug';
10
9
  import findUp from 'find-up';
11
- import logSymbols from 'log-symbols';
12
10
 
13
11
  const d = debug('electron-forge:package-manager');
14
12
 
@@ -21,7 +19,7 @@ export type PMDetails = {
21
19
  exact: string;
22
20
  };
23
21
 
24
- let hasWarned = false;
22
+ let explicitPMCache: PMDetails | undefined;
25
23
 
26
24
  /**
27
25
  * Supported package managers and the commands and flags they need to install dependencies.
@@ -75,7 +73,7 @@ function pmFromUserAgent() {
75
73
  /**
76
74
  * Resolves the package manager to use. In order, it checks the following:
77
75
  *
78
- * 1. The value of the `NODE_INSTALLER` environment variable.
76
+ * 1. An explicit arg being passed into the function.
79
77
  * 2. The `process.env.npm_config_user_agent` value set by the executing package manager.
80
78
  * 3. The presence of a lockfile in an ancestor directory.
81
79
  * 4. If an unknown package manager is used (or none of the above apply), then we fall back to `npm`.
@@ -85,7 +83,40 @@ function pmFromUserAgent() {
85
83
  * Supported package managers are `yarn`, `pnpm`, and `npm`.
86
84
  *
87
85
  */
88
- export const resolvePackageManager: () => Promise<PMDetails> = async () => {
86
+ export const resolvePackageManager: (
87
+ packageManager?: string,
88
+ ) => Promise<PMDetails> = async (packageManager) => {
89
+ let installer: string | undefined;
90
+ let installerVersion: string | undefined;
91
+
92
+ // Check explicit packageManager argument FIRST, before cache
93
+ // This ensures explicit args always take precedence
94
+ if (packageManager) {
95
+ const match = packageManager.match(
96
+ /^(npm|pnpm|yarn)(?:@(latest|\d+(?:\.\d+)?(?:\.\d+)?(?:-.+)?))?$/,
97
+ );
98
+
99
+ if (match) {
100
+ const [, executable, version] = match;
101
+ if (Object.keys(PACKAGE_MANAGERS).includes(executable)) {
102
+ const pm = PACKAGE_MANAGERS[executable as SupportedPackageManager];
103
+ installerVersion = version ?? 'latest';
104
+ explicitPMCache = { ...pm, version: installerVersion };
105
+ d(`Resolved and cached explicit package manager: ${pm.executable}`);
106
+ return explicitPMCache;
107
+ } else {
108
+ d(
109
+ `Attempted to parse ${packageManager} to regex but failed. Falling back!`,
110
+ );
111
+ }
112
+ }
113
+ }
114
+
115
+ if (explicitPMCache) {
116
+ d(`Using cached explicit package manager: ${explicitPMCache.executable}`);
117
+ return explicitPMCache;
118
+ }
119
+
89
120
  const executingPM = pmFromUserAgent();
90
121
  let lockfilePM;
91
122
  const lockfile = await findUp(
@@ -97,34 +128,7 @@ export const resolvePackageManager: () => Promise<PMDetails> = async () => {
97
128
  lockfilePM = PM_FROM_LOCKFILE[lockfileName];
98
129
  }
99
130
 
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) {
131
+ if (executingPM) {
128
132
  installer = executingPM.name;
129
133
  installerVersion = executingPM.version;
130
134
  } else if (lockfilePM) {
@@ -140,7 +144,7 @@ export const resolvePackageManager: () => Promise<PMDetails> = async () => {
140
144
  case 'npm':
141
145
  case 'pnpm':
142
146
  d(
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})`,
147
+ `Resolved package manager to ${installer}. (Derived from npm_config_user_agent: ${process.env.npm_config_user_agent}, lockfile: ${lockfilePM})`,
144
148
  );
145
149
  return {
146
150
  ...PACKAGE_MANAGERS[installer],
package/src/rebuild.ts CHANGED
@@ -27,7 +27,7 @@ export const listrCompatibleRebuildHook = async <Ctx = never>(
27
27
  };
28
28
 
29
29
  const child = cp.fork(
30
- path.resolve(__dirname, 'remote-rebuild.js'),
30
+ path.resolve(import.meta.dirname, 'remote-rebuild.js'),
31
31
  [JSON.stringify(options)],
32
32
  {
33
33
  stdio: ['pipe', 'pipe', 'pipe', 'ipc'],
@@ -0,0 +1,24 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+
4
+ /**
5
+ * Resolves the directory in which to use a CLI command.
6
+ * @param dir - The directory specified by the user (can be relative or absolute)
7
+ * @param checkExisting - Checks if the directory exists. If true and directory is non-existent, it will fall back to the current working directory
8
+ * @returns
9
+ */
10
+ export function resolveWorkingDir(dir: string, checkExisting = true): string {
11
+ if (!dir) {
12
+ return process.cwd();
13
+ }
14
+
15
+ const resolved = path.isAbsolute(dir)
16
+ ? dir
17
+ : path.resolve(process.cwd(), dir);
18
+
19
+ if (checkExisting && !fs.existsSync(resolved)) {
20
+ return process.cwd();
21
+ } else {
22
+ return resolved;
23
+ }
24
+ }