@electron/rebuild 3.7.2 → 4.0.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.
Files changed (65) hide show
  1. package/README.md +28 -15
  2. package/lib/arch.d.ts +1 -1
  3. package/lib/arch.js +4 -9
  4. package/lib/arch.js.map +1 -1
  5. package/lib/cache.d.ts +2 -2
  6. package/lib/cache.js +35 -41
  7. package/lib/cache.js.map +1 -1
  8. package/lib/clang-fetcher.js +26 -56
  9. package/lib/clang-fetcher.js.map +1 -1
  10. package/lib/cli.js +22 -52
  11. package/lib/cli.js.map +1 -1
  12. package/lib/constants.js +3 -29
  13. package/lib/constants.js.map +1 -1
  14. package/lib/electron-locator.js +12 -38
  15. package/lib/electron-locator.js.map +1 -1
  16. package/lib/fetcher.d.ts +2 -1
  17. package/lib/fetcher.js +5 -12
  18. package/lib/fetcher.js.map +1 -1
  19. package/lib/main.d.ts +1 -2
  20. package/lib/main.js +2 -9
  21. package/lib/main.js.map +1 -1
  22. package/lib/module-rebuilder.d.ts +1 -1
  23. package/lib/module-rebuilder.js +30 -52
  24. package/lib/module-rebuilder.js.map +1 -1
  25. package/lib/module-type/index.d.ts +3 -3
  26. package/lib/module-type/index.js +19 -22
  27. package/lib/module-type/index.js.map +1 -1
  28. package/lib/module-type/node-gyp/node-gyp.d.ts +1 -1
  29. package/lib/module-type/node-gyp/node-gyp.js +18 -26
  30. package/lib/module-type/node-gyp/node-gyp.js.map +1 -1
  31. package/lib/module-type/node-gyp/worker.js +2 -7
  32. package/lib/module-type/node-gyp/worker.js.map +1 -1
  33. package/lib/module-type/node-pre-gyp.d.ts +1 -1
  34. package/lib/module-type/node-pre-gyp.js +14 -22
  35. package/lib/module-type/node-pre-gyp.js.map +1 -1
  36. package/lib/module-type/prebuild-install.d.ts +1 -1
  37. package/lib/module-type/prebuild-install.js +12 -20
  38. package/lib/module-type/prebuild-install.js.map +1 -1
  39. package/lib/module-type/prebuildify.d.ts +1 -1
  40. package/lib/module-type/prebuildify.js +18 -27
  41. package/lib/module-type/prebuildify.js.map +1 -1
  42. package/lib/module-walker.d.ts +1 -1
  43. package/lib/module-walker.js +29 -27
  44. package/lib/module-walker.js.map +1 -1
  45. package/lib/node-api.js +5 -7
  46. package/lib/node-api.js.map +1 -1
  47. package/lib/prebuild-shim.d.ts +1 -0
  48. package/lib/prebuild-shim.js +2 -1
  49. package/lib/prebuild-shim.js.map +1 -1
  50. package/lib/promisifiedGracefulFs.d.ts +3 -0
  51. package/lib/promisifiedGracefulFs.js +9 -0
  52. package/lib/promisifiedGracefulFs.js.map +1 -0
  53. package/lib/read-package-json.js +6 -31
  54. package/lib/read-package-json.js.map +1 -1
  55. package/lib/rebuild.d.ts +6 -6
  56. package/lib/rebuild.js +42 -54
  57. package/lib/rebuild.js.map +1 -1
  58. package/lib/search-module.js +7 -36
  59. package/lib/search-module.js.map +1 -1
  60. package/lib/sysroot-fetcher.js +20 -50
  61. package/lib/sysroot-fetcher.js.map +1 -1
  62. package/lib/types.d.ts +4 -3
  63. package/lib/types.js +2 -5
  64. package/lib/types.js.map +1 -1
  65. package/package.json +21 -65
package/README.md CHANGED
@@ -44,7 +44,7 @@ npm run rebuild
44
44
 
45
45
  ### What are the requirements?
46
46
 
47
- Node v12.13.0 or higher is required. Building native modules from source uses
47
+ Node v22.12.0 or higher is required. Building native modules from source uses
48
48
  [`node-gyp`](https://github.com/nodejs/node-gyp#installation), refer to the link for its
49
49
  installation/runtime requirements.
50
50
 
@@ -102,7 +102,7 @@ for Electron Packager. For example:
102
102
 
103
103
  ```javascript
104
104
  import packager from '@electron/packager';
105
- import rebuild from '@electron/rebuild';
105
+ import { rebuild } from '@electron/rebuild';
106
106
 
107
107
  packager({
108
108
  // … other options
@@ -128,7 +128,7 @@ electron-rebuild is also a library that you can require into your app or
128
128
  build process. It has a very simple API:
129
129
 
130
130
  ```javascript
131
- import rebuild from '@electron/rebuild';
131
+ import { rebuild } from '@electron/rebuild';
132
132
 
133
133
  // Public: Rebuilds a node_modules directory with the given Electron version.
134
134
  //
@@ -151,16 +151,29 @@ import rebuild from '@electron/rebuild';
151
151
  A full build process might look something like:
152
152
 
153
153
  ```javascript
154
- const childProcess = require('child_process');
155
- const pathToElectron = require('electron');
156
-
157
- rebuild({
158
- buildPath: __dirname,
159
- electronVersion: '1.4.12'
160
- })
161
- .then(() => console.info('Rebuild Successful'))
162
- .catch((e) => {
163
- console.error("Building modules didn't work!");
164
- console.error(e);
165
- });
154
+ // ESM
155
+ import { rebuild } from '@electron/rebuild'
156
+
157
+ rebuild({
158
+ buildPath: import.meta.dirname,
159
+ electronVersion: '35.1.5'
160
+ })
161
+ .then(() => console.info('Rebuild Successful'))
162
+ .catch((e) => {
163
+ console.error('Building modules didn\'t work!')
164
+ console.error(e)
165
+ })
166
+
167
+ // CommonJS
168
+ const { rebuild } = require('@electron/rebuild')
169
+
170
+ rebuild({
171
+ buildPath: __dirname,
172
+ electronVersion: '35.1.5'
173
+ })
174
+ .then(() => console.info('Rebuild Successful'))
175
+ .catch((e) => {
176
+ console.error('Building modules didn\'t work!')
177
+ console.error(e)
178
+ })
166
179
  ```
package/lib/arch.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Copied from `@electron/get`.
5
5
  */
6
6
  export declare function uname(): string;
7
- export declare type ConfigVariables = {
7
+ export type ConfigVariables = {
8
8
  arm_version?: string;
9
9
  };
10
10
  /**
package/lib/arch.js CHANGED
@@ -1,25 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeArch = exports.uname = void 0;
4
- const child_process_1 = require("child_process");
1
+ import { execSync } from 'node:child_process';
5
2
  /**
6
3
  * Runs the `uname` command and returns the trimmed output.
7
4
  *
8
5
  * Copied from `@electron/get`.
9
6
  */
10
- function uname() {
11
- return (0, child_process_1.execSync)('uname -m')
7
+ export function uname() {
8
+ return execSync('uname -m')
12
9
  .toString()
13
10
  .trim();
14
11
  }
15
- exports.uname = uname;
16
12
  /**
17
13
  * Generates an architecture name that would be used in an Electron or Node.js
18
14
  * download file name.
19
15
  *
20
16
  * Copied from `@electron/get`.
21
17
  */
22
- function getNodeArch(arch, configVariables) {
18
+ export function getNodeArch(arch, configVariables) {
23
19
  if (arch === 'arm') {
24
20
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
21
  switch (configVariables.arm_version) {
@@ -32,5 +28,4 @@ function getNodeArch(arch, configVariables) {
32
28
  }
33
29
  return arch;
34
30
  }
35
- exports.getNodeArch = getNodeArch;
36
31
  //# sourceMappingURL=arch.js.map
package/lib/arch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"arch.js","sourceRoot":"","sources":["../src/arch.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AAEzC;;;;GAIG;AACH,SAAgB,KAAK;IACnB,OAAO,IAAA,wBAAQ,EAAC,UAAU,CAAC;SACxB,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAJD,sBAIC;AAMD;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,IAAY,EAAE,eAAgC;IACxE,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,8DAA8D;QAC9D,QAAQ,eAAe,CAAC,WAAW,EAAE;YACnC,KAAK,GAAG;gBACN,OAAO,KAAK,EAAE,CAAC;YACjB,KAAK,GAAG,CAAC;YACT;gBACE,OAAO,QAAQ,CAAC;SACnB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAbD,kCAaC"}
1
+ {"version":3,"file":"arch.js","sourceRoot":"","sources":["../src/arch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,QAAQ,CAAC,UAAU,CAAC;SACxB,QAAQ,EAAE;SACV,IAAI,EAAE,CAAC;AACZ,CAAC;AAMD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,eAAgC;IACxE,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,8DAA8D;QAC9D,QAAQ,eAAe,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,GAAG;gBACN,OAAO,KAAK,EAAE,CAAC;YACjB,KAAK,GAAG,CAAC;YACT;gBACE,OAAO,QAAQ,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/lib/cache.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- declare type CacheOptions = {
1
+ type CacheOptions = {
2
2
  ABI: string;
3
3
  arch: string;
4
4
  platform: string;
@@ -8,7 +8,7 @@ declare type CacheOptions = {
8
8
  modulePath: string;
9
9
  };
10
10
  export declare const cacheModuleState: (dir: string, cachePath: string, key: string) => Promise<void>;
11
- declare type ApplyDiffFunction = (dir: string) => Promise<void>;
11
+ type ApplyDiffFunction = (dir: string) => Promise<void>;
12
12
  export declare const lookupModuleState: (cachePath: string, key: string) => Promise<ApplyDiffFunction | boolean>;
13
13
  export declare function generateCacheKey(opts: CacheOptions): Promise<string>;
14
14
  export {};
package/lib/cache.js CHANGED
@@ -1,18 +1,15 @@
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.generateCacheKey = exports.lookupModuleState = exports.cacheModuleState = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
8
- const debug_1 = __importDefault(require("debug"));
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const path_1 = __importDefault(require("path"));
11
- const zlib_1 = __importDefault(require("zlib"));
12
- const d = (0, debug_1.default)('electron-rebuild');
1
+ import crypto from 'node:crypto';
2
+ import debug from 'debug';
3
+ import fs from 'graceful-fs';
4
+ import path from 'node:path';
5
+ import zlib from 'node:zlib';
6
+ import { promisifiedGracefulFs } from './promisifiedGracefulFs.js';
7
+ const d = debug('electron-rebuild');
13
8
  // Update this number if you change the caching logic to ensure no bad cache hits
14
9
  const ELECTRON_REBUILD_CACHE_ID = 1;
15
10
  class Snap {
11
+ hash;
12
+ data;
16
13
  constructor(hash, data) {
17
14
  this.hash = hash;
18
15
  this.data = data;
@@ -20,17 +17,17 @@ class Snap {
20
17
  }
21
18
  const takeSnapshot = async (dir, relativeTo = dir) => {
22
19
  const snap = {};
23
- await Promise.all((await fs_extra_1.default.readdir(dir)).map(async (child) => {
20
+ await Promise.all((await promisifiedGracefulFs.readdir(dir)).map(async (child) => {
24
21
  if (child === 'node_modules')
25
22
  return;
26
- const childPath = path_1.default.resolve(dir, child);
27
- const relative = path_1.default.relative(relativeTo, childPath);
28
- if ((await fs_extra_1.default.stat(childPath)).isDirectory()) {
23
+ const childPath = path.resolve(dir, child);
24
+ const relative = path.relative(relativeTo, childPath);
25
+ if ((await fs.promises.stat(childPath)).isDirectory()) {
29
26
  snap[relative] = await takeSnapshot(childPath, relativeTo);
30
27
  }
31
28
  else {
32
- const data = await fs_extra_1.default.readFile(childPath);
33
- snap[relative] = new Snap(crypto_1.default.createHash('SHA256').update(data).digest('hex'), data);
29
+ const data = await promisifiedGracefulFs.readFile(childPath);
30
+ snap[relative] = new Snap(crypto.createHash('SHA256').update(data).digest('hex'), data);
34
31
  }
35
32
  }));
36
33
  return snap;
@@ -38,11 +35,11 @@ const takeSnapshot = async (dir, relativeTo = dir) => {
38
35
  const writeSnapshot = async (diff, dir) => {
39
36
  for (const key in diff) {
40
37
  if (diff[key] instanceof Snap) {
41
- await fs_extra_1.default.mkdirp(path_1.default.dirname(path_1.default.resolve(dir, key)));
42
- await fs_extra_1.default.writeFile(path_1.default.resolve(dir, key), diff[key].data);
38
+ await fs.promises.mkdir(path.dirname(path.resolve(dir, key)), { recursive: true });
39
+ await promisifiedGracefulFs.writeFile(path.resolve(dir, key), diff[key].data);
43
40
  }
44
41
  else {
45
- await fs_extra_1.default.mkdirp(path_1.default.resolve(dir, key));
42
+ await fs.promises.mkdir(path.resolve(dir, key), { recursive: true });
46
43
  await writeSnapshot(diff[key], dir);
47
44
  }
48
45
  }
@@ -79,26 +76,24 @@ const unserialize = (jsonReady) => {
79
76
  }
80
77
  return snap;
81
78
  };
82
- const cacheModuleState = async (dir, cachePath, key) => {
79
+ export const cacheModuleState = async (dir, cachePath, key) => {
83
80
  const snap = await takeSnapshot(dir);
84
81
  const moduleBuffer = Buffer.from(JSON.stringify(serialize(snap)));
85
- const zipped = await new Promise(resolve => zlib_1.default.gzip(moduleBuffer, (_, result) => resolve(result)));
86
- await fs_extra_1.default.mkdirp(cachePath);
87
- await fs_extra_1.default.writeFile(path_1.default.resolve(cachePath, key), zipped);
82
+ const zipped = await new Promise(resolve => zlib.gzip(moduleBuffer, (_, result) => resolve(result)));
83
+ await fs.promises.mkdir(cachePath, { recursive: true });
84
+ await promisifiedGracefulFs.writeFile(path.resolve(cachePath, key), zipped);
88
85
  };
89
- exports.cacheModuleState = cacheModuleState;
90
- const lookupModuleState = async (cachePath, key) => {
91
- if (await fs_extra_1.default.pathExists(path_1.default.resolve(cachePath, key))) {
86
+ export const lookupModuleState = async (cachePath, key) => {
87
+ if (fs.existsSync(path.resolve(cachePath, key))) {
92
88
  return async function applyDiff(dir) {
93
- const zipped = await fs_extra_1.default.readFile(path_1.default.resolve(cachePath, key));
94
- const unzipped = await new Promise(resolve => { zlib_1.default.gunzip(zipped, (_, result) => resolve(result)); });
89
+ const zipped = await promisifiedGracefulFs.readFile(path.resolve(cachePath, key));
90
+ const unzipped = await new Promise(resolve => { zlib.gunzip(zipped, (_, result) => resolve(result)); });
95
91
  const diff = unserialize(JSON.parse(unzipped.toString()));
96
92
  await writeSnapshot(diff, dir);
97
93
  };
98
94
  }
99
95
  return false;
100
96
  };
101
- exports.lookupModuleState = lookupModuleState;
102
97
  function dHashTree(tree, hash) {
103
98
  for (const key of Object.keys(tree).sort()) {
104
99
  hash.update(key);
@@ -111,10 +106,10 @@ function dHashTree(tree, hash) {
111
106
  }
112
107
  }
113
108
  async function hashDirectory(dir, relativeTo) {
114
- relativeTo !== null && relativeTo !== void 0 ? relativeTo : (relativeTo = dir);
109
+ relativeTo ??= dir;
115
110
  d('hashing dir', dir);
116
111
  const dirTree = {};
117
- await Promise.all((await fs_extra_1.default.readdir(dir)).map(async (child) => {
112
+ await Promise.all((await promisifiedGracefulFs.readdir(dir)).map(async (child) => {
118
113
  d('found child', child, 'in dir', dir);
119
114
  // Ignore output directories
120
115
  if (dir === relativeTo && (child === 'build' || child === 'bin'))
@@ -122,23 +117,23 @@ async function hashDirectory(dir, relativeTo) {
122
117
  // Don't hash nested node_modules
123
118
  if (child === 'node_modules')
124
119
  return;
125
- const childPath = path_1.default.resolve(dir, child);
120
+ const childPath = path.resolve(dir, child);
126
121
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
127
- const relative = path_1.default.relative(relativeTo, childPath);
128
- if ((await fs_extra_1.default.stat(childPath)).isDirectory()) {
122
+ const relative = path.relative(relativeTo, childPath);
123
+ if ((await fs.promises.stat(childPath)).isDirectory()) {
129
124
  dirTree[relative] = await hashDirectory(childPath, relativeTo);
130
125
  }
131
126
  else {
132
- dirTree[relative] = crypto_1.default.createHash('SHA256').update(await fs_extra_1.default.readFile(childPath)).digest('hex');
127
+ dirTree[relative] = crypto.createHash('SHA256').update(await promisifiedGracefulFs.readFile(childPath)).digest('hex');
133
128
  }
134
129
  }));
135
130
  return dirTree;
136
131
  }
137
- async function generateCacheKey(opts) {
132
+ export async function generateCacheKey(opts) {
138
133
  const tree = await hashDirectory(opts.modulePath);
139
- const hasher = crypto_1.default.createHash('SHA256')
134
+ const hasher = crypto.createHash('SHA256')
140
135
  .update(`${ELECTRON_REBUILD_CACHE_ID}`)
141
- .update(path_1.default.basename(opts.modulePath))
136
+ .update(path.basename(opts.modulePath))
142
137
  .update(opts.ABI)
143
138
  .update(opts.arch)
144
139
  .update(opts.platform)
@@ -150,5 +145,4 @@ async function generateCacheKey(opts) {
150
145
  d('calculated hash of', opts.modulePath, 'to be', hash);
151
146
  return hash;
152
147
  }
153
- exports.generateCacheKey = generateCacheKey;
154
148
  //# sourceMappingURL=cache.js.map
package/lib/cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEpC,iFAAiF;AACjF,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,MAAM,IAAI;IACW;IAAqB;IAAxC,YAAmB,IAAY,EAAS,IAAY;QAAjC,SAAI,GAAJ,IAAI,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;CACzD;AAkBD,MAAM,YAAY,GAAG,KAAK,EAAE,GAAW,EAAE,UAAU,GAAG,GAAG,EAAqB,EAAE;IAC9E,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/E,IAAI,KAAK,KAAK,cAAc;YAAE,OAAO;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,CACvB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,IAAI,CACL,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAc,EAAE,GAAW,EAAiB,EAAE;IACzE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnF,MAAM,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAG,IAAI,CAAC,GAAG,CAAU,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,aAAa,CAAC,IAAI,CAAC,GAAG,CAAa,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,SAAS,GAAG,CAAC,IAAc,EAAO,EAAE;IACxC,8DAA8D;IAC9D,MAAM,SAAS,GAAQ,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAS,CAAC;YAC5B,SAAS,CAAC,GAAG,CAAC,GAAG;gBACf,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAa,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,WAAW,GAAG,CAAC,SAAc,EAAY,EAAE;IAC/C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAClB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EACnB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAC3C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAW,EAAE,SAAiB,EAAE,GAAW,EAAiB,EAAE;IACnG,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IAErC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAiB,EAAE,GAAW,EAAwC,EAAE;IAC9G,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,UAAU,SAAS,CAAC,GAAW;YACzC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAW,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC1D,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,IAAc,EAAE,IAAiB;IAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAW,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAa,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,UAAmB;IAC3D,UAAU,KAAK,GAAG,CAAC;IACnB,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/E,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvC,4BAA4B;QAC5B,IAAI,GAAG,KAAK,UAAU,IAAI,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,CAAC;YAAE,OAAO;QACzE,iCAAiC;QACjC,IAAI,KAAK,KAAK,cAAc;YAAE,OAAO;QAErC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,oEAAoE;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAW,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxH,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAkB;IACvD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;SACvC,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAC;SACtC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;SACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;SACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;SAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;SACtB,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,42 +1,14 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getClangEnvironmentVars = void 0;
30
- const cp = __importStar(require("child_process"));
31
- const debug_1 = __importDefault(require("debug"));
32
- const fs = __importStar(require("fs-extra"));
33
- const path = __importStar(require("path"));
34
- const tar = __importStar(require("tar"));
35
- const zlib = __importStar(require("zlib"));
36
- const constants_1 = require("./constants");
37
- const fetcher_1 = require("./fetcher");
38
- const sysroot_fetcher_1 = require("./sysroot-fetcher");
39
- const d = (0, debug_1.default)('electron-rebuild');
1
+ import cp from 'node:child_process';
2
+ import debug from 'debug';
3
+ import fs from 'graceful-fs';
4
+ import path from 'node:path';
5
+ import tar from 'tar';
6
+ import zlib from 'node:zlib';
7
+ import { ELECTRON_GYP_DIR } from './constants.js';
8
+ import { fetch } from './fetcher.js';
9
+ import { downloadLinuxSysroot } from './sysroot-fetcher.js';
10
+ import { promisifiedGracefulFs } from './promisifiedGracefulFs.js';
11
+ const d = debug('electron-rebuild');
40
12
  const CDS_URL = 'https://commondatastorage.googleapis.com/chromium-browser-clang';
41
13
  function getPlatformUrlPrefix(hostOS, hostArch) {
42
14
  const prefixMap = {
@@ -60,7 +32,7 @@ function getSDKRoot() {
60
32
  const output = cp.execFileSync('xcrun', ['--sdk', 'macosx', '--show-sdk-path']);
61
33
  return output.toString().trim();
62
34
  }
63
- async function getClangEnvironmentVars(electronVersion, targetArch) {
35
+ export async function getClangEnvironmentVars(electronVersion, targetArch) {
64
36
  const clangDownloadDir = await downloadClangVersion(electronVersion);
65
37
  const clangDir = path.resolve(clangDownloadDir, 'bin');
66
38
  const clangArgs = [];
@@ -69,11 +41,11 @@ async function getClangEnvironmentVars(electronVersion, targetArch) {
69
41
  }
70
42
  const gypArgs = [];
71
43
  if (process.platform === 'win32') {
72
- console.log(fs.readdirSync(clangDir));
44
+ console.log(await promisifiedGracefulFs.readdir(clangDir));
73
45
  gypArgs.push(`/p:CLToolExe=clang-cl.exe`, `/p:CLToolPath=${clangDir}`);
74
46
  }
75
47
  if (process.platform === 'linux') {
76
- const sysrootPath = await (0, sysroot_fetcher_1.downloadLinuxSysroot)(electronVersion, targetArch);
48
+ const sysrootPath = await downloadLinuxSysroot(electronVersion, targetArch);
77
49
  clangArgs.push('--sysroot', sysrootPath);
78
50
  }
79
51
  return {
@@ -84,7 +56,6 @@ async function getClangEnvironmentVars(electronVersion, targetArch) {
84
56
  args: gypArgs,
85
57
  };
86
58
  }
87
- exports.getClangEnvironmentVars = getClangEnvironmentVars;
88
59
  function clangVersionFromRevision(update) {
89
60
  const regex = /CLANG_REVISION = '([^']+)'\nCLANG_SUB_REVISION = (\d+)\n/g;
90
61
  const clangVersionMatch = regex.exec(update);
@@ -103,39 +74,38 @@ function clangVersionFromSVN(update) {
103
74
  }
104
75
  async function downloadClangVersion(electronVersion) {
105
76
  d('fetching clang for Electron:', electronVersion);
106
- const clangDirPath = path.resolve(constants_1.ELECTRON_GYP_DIR, `${electronVersion}-clang`);
107
- if (await fs.pathExists(path.resolve(clangDirPath, 'bin', 'clang')))
77
+ const clangDirPath = path.resolve(ELECTRON_GYP_DIR, `${electronVersion}-clang`);
78
+ if (fs.existsSync(path.resolve(clangDirPath, 'bin', 'clang')))
108
79
  return clangDirPath;
109
- if (!await fs.pathExists(constants_1.ELECTRON_GYP_DIR))
110
- await fs.mkdirp(constants_1.ELECTRON_GYP_DIR);
111
- const electronDeps = await (0, fetcher_1.fetch)(`https://raw.githubusercontent.com/electron/electron/v${electronVersion}/DEPS`, 'text');
80
+ await fs.promises.mkdir(ELECTRON_GYP_DIR, { recursive: true });
81
+ const electronDeps = await fetch(`https://raw.githubusercontent.com/electron/electron/v${electronVersion}/DEPS`, 'text');
112
82
  const chromiumRevisionExtractor = /'chromium_version':\n\s+'([^']+)/g;
113
83
  const chromiumRevisionMatch = chromiumRevisionExtractor.exec(electronDeps);
114
84
  if (!chromiumRevisionMatch)
115
85
  throw new Error('Failed to determine Chromium revision for given Electron version');
116
86
  const chromiumRevision = chromiumRevisionMatch[1];
117
87
  d('fetching clang for Chromium:', chromiumRevision);
118
- const base64ClangUpdate = await (0, fetcher_1.fetch)(`https://chromium.googlesource.com/chromium/src.git/+/${chromiumRevision}/tools/clang/scripts/update.py?format=TEXT`, 'text');
88
+ const base64ClangUpdate = await fetch(`https://chromium.googlesource.com/chromium/src.git/+/${chromiumRevision}/tools/clang/scripts/update.py?format=TEXT`, 'text');
119
89
  const clangUpdate = Buffer.from(base64ClangUpdate, 'base64').toString('utf8');
120
90
  const clangVersionString = clangVersionFromRevision(clangUpdate) || clangVersionFromSVN(clangUpdate);
121
91
  if (!clangVersionString)
122
92
  throw new Error('Failed to determine Clang revision from Electron version');
123
93
  d('fetching clang:', clangVersionString);
124
94
  const clangDownloadURL = getClangDownloadURL('clang', clangVersionString, process.platform, process.arch);
125
- const contents = await (0, fetcher_1.fetch)(clangDownloadURL, 'buffer');
95
+ const contents = await fetch(clangDownloadURL, 'buffer');
126
96
  d('deflating clang');
127
97
  zlib.deflateSync(contents);
128
- const tarPath = path.resolve(constants_1.ELECTRON_GYP_DIR, `${electronVersion}-clang.tar`);
129
- if (await fs.pathExists(tarPath))
130
- await fs.remove(tarPath);
131
- await fs.writeFile(tarPath, Buffer.from(contents));
132
- await fs.mkdirp(clangDirPath);
98
+ const tarPath = path.resolve(ELECTRON_GYP_DIR, `${electronVersion}-clang.tar`);
99
+ if (fs.existsSync(tarPath))
100
+ await fs.promises.rm(tarPath, { recursive: true, force: true });
101
+ await promisifiedGracefulFs.writeFile(tarPath, Buffer.from(contents));
102
+ await fs.promises.mkdir(clangDirPath, { recursive: true });
133
103
  d('tar running on clang');
134
104
  await tar.x({
135
105
  file: tarPath,
136
106
  cwd: clangDirPath,
137
107
  });
138
- await fs.remove(tarPath);
108
+ await fs.promises.rm(tarPath, { recursive: true, force: true });
139
109
  d('cleaning up clang tar file');
140
110
  return clangDirPath;
141
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clang-fetcher.js","sourceRoot":"","sources":["../src/clang-fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clang-fetcher.js","sourceRoot":"","sources":["../src/clang-fetcher.ts"],"names":[],"mappings":"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"}
package/lib/cli.js CHANGED
@@ -1,41 +1,14 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- return (mod && mod.__esModule) ? mod : { "default": mod };
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- const chalk_1 = __importDefault(require("chalk"));
31
- const fs = __importStar(require("fs-extra"));
32
- const path = __importStar(require("path"));
33
- const ora = require("ora");
34
- const yargs_1 = __importDefault(require("yargs/yargs"));
35
- const search_module_1 = require("./search-module");
36
- const electron_locator_1 = require("./electron-locator");
37
- const rebuild_1 = require("./rebuild");
38
- const argv = (0, yargs_1.default)(process.argv.slice(2)).version(false).options({
2
+ import chalk from 'chalk';
3
+ import fs from 'graceful-fs';
4
+ import path from 'node:path';
5
+ import ora from 'ora';
6
+ import yargs from 'yargs/yargs';
7
+ import { getProjectRootPath } from './search-module.js';
8
+ import { locateElectronModule } from './electron-locator.js';
9
+ import { rebuild } from './rebuild.js';
10
+ import { pathToFileURL } from 'node:url';
11
+ const argv = yargs(process.argv.slice(2)).version(false).options({
39
12
  version: { alias: 'v', type: 'string', description: 'The version of Electron to build against' },
40
13
  force: { alias: 'f', type: 'boolean', description: 'Force rebuilding modules, even if we would skip it otherwise' },
41
14
  arch: { alias: 'a', type: 'string', description: "Override the target architecture to something other than your system's" },
@@ -62,34 +35,31 @@ const argv = (0, yargs_1.default)(process.argv.slice(2)).version(false).options(
62
35
  .epilog('Copyright 2016-2021')
63
36
  .parseSync();
64
37
  if (process.argv.length === 3 && process.argv[2] === '--version') {
65
- /* eslint-disable @typescript-eslint/no-var-requires */
66
38
  try {
67
- console.log('Electron Rebuild Version:', require(path.resolve(__dirname, '../../package.json')).version);
39
+ console.log('Electron Rebuild Version:', (await import(pathToFileURL(path.resolve(import.meta.dirname, '../../package.json')).toString(), { with: { type: 'json' } })).default.version);
68
40
  }
69
41
  catch (err) {
70
- console.log('Electron Rebuild Version:', require(path.resolve(__dirname, '../package.json')).version);
42
+ console.log('Electron Rebuild Version:', (await import(pathToFileURL(path.resolve(import.meta.dirname, '../package.json')).toString(), { with: { type: 'json' } })).default.version);
71
43
  }
72
- /* eslint-enable @typescript-eslint/no-var-requires */
73
44
  process.exit(0);
74
45
  }
75
46
  const handler = (err) => {
76
- console.error(chalk_1.default.red('\nAn unhandled error occurred inside electron-rebuild'));
77
- console.error(chalk_1.default.red(`${err.message}\n\n${err.stack}`));
47
+ console.error(chalk.red('\nAn unhandled error occurred inside electron-rebuild'));
48
+ console.error(chalk.red(`${err.message}\n\n${err.stack}`));
78
49
  process.exit(-1);
79
50
  };
80
51
  process.on('uncaughtException', handler);
81
52
  process.on('unhandledRejection', handler);
82
53
  (async () => {
83
- const projectRootPath = await (0, search_module_1.getProjectRootPath)(process.cwd());
84
- const electronModulePath = argv.e ? path.resolve(process.cwd(), argv.e) : await (0, electron_locator_1.locateElectronModule)(projectRootPath);
54
+ const projectRootPath = await getProjectRootPath(process.cwd());
55
+ const electronModulePath = argv.e ? path.resolve(process.cwd(), argv.e) : await locateElectronModule(projectRootPath);
85
56
  let electronModuleVersion = argv.v;
86
57
  if (!electronModuleVersion) {
87
58
  try {
88
59
  if (!electronModulePath)
89
60
  throw new Error('Prebuilt electron module not found');
90
- // eslint-disable-next-line @typescript-eslint/no-var-requires
91
- const pkgJson = require(path.join(electronModulePath, 'package.json'));
92
- electronModuleVersion = pkgJson.version;
61
+ const pkgJson = await import(pathToFileURL(path.join(electronModulePath, 'package.json')).toString(), { with: { type: 'json' } });
62
+ electronModuleVersion = pkgJson.default.version;
93
63
  }
94
64
  catch (e) {
95
65
  throw new Error(`Unable to find electron's version number, either install it or specify an explicit version`);
@@ -100,11 +70,11 @@ process.on('unhandledRejection', handler);
100
70
  // NB: We assume here that we're going to rebuild the immediate parent's
101
71
  // node modules, which might not always be the case but it's at least a
102
72
  // good guess
103
- rootDirectory = path.resolve(__dirname, '../../..');
104
- if (!await fs.pathExists(rootDirectory) || !await fs.pathExists(path.resolve(rootDirectory, 'package.json'))) {
73
+ rootDirectory = path.resolve(import.meta.dirname, '../../..');
74
+ if (!fs.existsSync(rootDirectory) || !fs.existsSync(path.resolve(rootDirectory, 'package.json'))) {
105
75
  // Then we try the CWD
106
76
  rootDirectory = process.cwd();
107
- if (!await fs.pathExists(rootDirectory) || !await fs.pathExists(path.resolve(rootDirectory, 'package.json'))) {
77
+ if (!fs.existsSync(rootDirectory) || !fs.existsSync(path.resolve(rootDirectory, 'package.json'))) {
108
78
  throw new Error('Unable to find parent node_modules directory, specify it via --module-dir, E.g. "--module-dir ." for the current directory');
109
79
  }
110
80
  }
@@ -129,7 +99,7 @@ process.on('unhandledRejection', handler);
129
99
  rebuildSpinner.text = `Building module: ${lastModuleName}, Completed: ${modulesDone}`;
130
100
  }
131
101
  };
132
- const rebuilder = (0, rebuild_1.rebuild)({
102
+ const rebuilder = rebuild({
133
103
  buildPath: rootDirectory,
134
104
  electronVersion: electronModuleVersion,
135
105
  arch: argv.a || process.arch,