From d7658c873fbda9e97183c363a8c0ca635ae24eda Mon Sep 17 00:00:00 2001 From: M_Viper Date: Thu, 22 Oct 2026 06:56:30 +0000 Subject: [PATCH] Upload via GUI (7543 Dateien) --- .../@electron/rebuild/lib/cache.js.map | 1 + .../@electron/rebuild/lib/clang-fetcher.d.ts | 4 + .../@electron/rebuild/lib/clang-fetcher.js | 105 ++++++++++ .../rebuild/lib/clang-fetcher.js.map | 1 + node_modules/@electron/rebuild/lib/cli.d.ts | 2 + node_modules/@electron/rebuild/lib/cli.js | 198 ++++++++++++++++++ node_modules/@electron/rebuild/lib/cli.js.map | 1 + .../@electron/rebuild/lib/constants.d.ts | 1 + .../@electron/rebuild/lib/constants.js | 4 + .../@electron/rebuild/lib/constants.js.map | 1 + .../@electron/rebuild/lib/detect-libc.d.ts | 8 + .../@electron/rebuild/lib/detect-libc.js | 24 +++ .../@electron/rebuild/lib/detect-libc.js.map | 1 + .../rebuild/lib/electron-locator.d.ts | 1 + .../@electron/rebuild/lib/electron-locator.js | 31 +++ .../rebuild/lib/electron-locator.js.map | 1 + .../@electron/rebuild/lib/fetcher.d.ts | 1 + node_modules/@electron/rebuild/lib/fetcher.js | 27 +++ .../@electron/rebuild/lib/fetcher.js.map | 1 + node_modules/@electron/rebuild/lib/main.d.ts | 2 + node_modules/@electron/rebuild/lib/main.js | 3 + .../@electron/rebuild/lib/main.js.map | 1 + .../rebuild/lib/module-rebuilder.d.ts | 34 +++ .../@electron/rebuild/lib/module-rebuilder.js | 132 ++++++++++++ .../rebuild/lib/module-rebuilder.js.map | 1 + .../rebuild/lib/module-type/index.d.ts | 22 ++ .../rebuild/lib/module-type/index.js | 68 ++++++ .../rebuild/lib/module-type/index.js.map | 1 + .../lib/module-type/node-gyp/node-gyp.d.ts | 6 + .../lib/module-type/node-gyp/node-gyp.js | 125 +++++++++++ .../lib/module-type/node-gyp/node-gyp.js.map | 1 + .../lib/module-type/node-gyp/worker.d.ts | 1 + .../lib/module-type/node-gyp/worker.js | 32 +++ .../lib/module-type/node-gyp/worker.js.map | 1 + .../rebuild/lib/module-type/node-pre-gyp.d.ts | 10 + .../rebuild/lib/module-type/node-pre-gyp.js | 110 ++++++++++ .../lib/module-type/node-pre-gyp.js.map | 1 + .../lib/module-type/prebuild-install.d.ts | 12 ++ .../lib/module-type/prebuild-install.js | 67 ++++++ .../lib/module-type/prebuild-install.js.map | 1 + .../rebuild/lib/module-type/prebuildify.d.ts | 11 + .../rebuild/lib/module-type/prebuildify.js | 58 +++++ .../lib/module-type/prebuildify.js.map | 1 + .../@electron/rebuild/lib/module-walker.d.ts | 17 ++ .../@electron/rebuild/lib/module-walker.js | 129 ++++++++++++ .../rebuild/lib/module-walker.js.map | 1 + .../@electron/rebuild/lib/node-api.d.ts | 8 + .../@electron/rebuild/lib/node-api.js | 29 +++ .../@electron/rebuild/lib/node-api.js.map | 1 + .../@electron/rebuild/lib/prebuild-shim.d.ts | 1 + 50 files changed, 1300 insertions(+) create mode 100644 node_modules/@electron/rebuild/lib/cache.js.map create mode 100644 node_modules/@electron/rebuild/lib/clang-fetcher.d.ts create mode 100644 node_modules/@electron/rebuild/lib/clang-fetcher.js create mode 100644 node_modules/@electron/rebuild/lib/clang-fetcher.js.map create mode 100644 node_modules/@electron/rebuild/lib/cli.d.ts create mode 100644 node_modules/@electron/rebuild/lib/cli.js create mode 100644 node_modules/@electron/rebuild/lib/cli.js.map create mode 100644 node_modules/@electron/rebuild/lib/constants.d.ts create mode 100644 node_modules/@electron/rebuild/lib/constants.js create mode 100644 node_modules/@electron/rebuild/lib/constants.js.map create mode 100644 node_modules/@electron/rebuild/lib/detect-libc.d.ts create mode 100644 node_modules/@electron/rebuild/lib/detect-libc.js create mode 100644 node_modules/@electron/rebuild/lib/detect-libc.js.map create mode 100644 node_modules/@electron/rebuild/lib/electron-locator.d.ts create mode 100644 node_modules/@electron/rebuild/lib/electron-locator.js create mode 100644 node_modules/@electron/rebuild/lib/electron-locator.js.map create mode 100644 node_modules/@electron/rebuild/lib/fetcher.d.ts create mode 100644 node_modules/@electron/rebuild/lib/fetcher.js create mode 100644 node_modules/@electron/rebuild/lib/fetcher.js.map create mode 100644 node_modules/@electron/rebuild/lib/main.d.ts create mode 100644 node_modules/@electron/rebuild/lib/main.js create mode 100644 node_modules/@electron/rebuild/lib/main.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-rebuilder.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-rebuilder.js create mode 100644 node_modules/@electron/rebuild/lib/module-rebuilder.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-type/index.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-type/index.js create mode 100644 node_modules/@electron/rebuild/lib/module-type/index.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js create mode 100644 node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-type/prebuild-install.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-type/prebuild-install.js create mode 100644 node_modules/@electron/rebuild/lib/module-type/prebuild-install.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-type/prebuildify.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-type/prebuildify.js create mode 100644 node_modules/@electron/rebuild/lib/module-type/prebuildify.js.map create mode 100644 node_modules/@electron/rebuild/lib/module-walker.d.ts create mode 100644 node_modules/@electron/rebuild/lib/module-walker.js create mode 100644 node_modules/@electron/rebuild/lib/module-walker.js.map create mode 100644 node_modules/@electron/rebuild/lib/node-api.d.ts create mode 100644 node_modules/@electron/rebuild/lib/node-api.js create mode 100644 node_modules/@electron/rebuild/lib/node-api.js.map create mode 100644 node_modules/@electron/rebuild/lib/prebuild-shim.d.ts diff --git a/node_modules/@electron/rebuild/lib/cache.js.map b/node_modules/@electron/rebuild/lib/cache.js.map new file mode 100644 index 0000000..447045f --- /dev/null +++ b/node_modules/@electron/rebuild/lib/cache.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/clang-fetcher.d.ts b/node_modules/@electron/rebuild/lib/clang-fetcher.d.ts new file mode 100644 index 0000000..f15f7f3 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/clang-fetcher.d.ts @@ -0,0 +1,4 @@ +export declare function getClangEnvironmentVars(electronVersion: string, targetArch: string): Promise<{ + env: Record; + args: string[]; +}>; diff --git a/node_modules/@electron/rebuild/lib/clang-fetcher.js b/node_modules/@electron/rebuild/lib/clang-fetcher.js new file mode 100644 index 0000000..02f1c57 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/clang-fetcher.js @@ -0,0 +1,105 @@ +import cp from 'node:child_process'; +import debug from 'debug'; +import fs from 'node:fs'; +import path from 'node:path'; +import { ELECTRON_GYP_DIR } from './constants.js'; +import { fetchUrl } from './fetcher.js'; +import { downloadLinuxSysroot } from './sysroot-fetcher.js'; +import { spawn } from '@malept/cross-spawn-promise'; +const d = debug('electron-rebuild'); +const CDS_URL = 'https://commondatastorage.googleapis.com/chromium-browser-clang'; +function getPlatformUrlPrefix(hostOS, hostArch) { + const prefixMap = { + linux: 'Linux_x64', + darwin: 'Mac', + win32: 'Win', + }; + let prefix = prefixMap[hostOS]; + if (prefix === 'Mac' && hostArch === 'arm64') { + prefix = 'Mac_arm64'; + } + return CDS_URL + '/' + prefix + '/'; +} +function getClangDownloadURL(packageFile, packageVersion, hostOS, hostArch) { + const cdsFile = `${packageFile}-${packageVersion}.tgz`; + return getPlatformUrlPrefix(hostOS, hostArch) + cdsFile; +} +function getSDKRoot() { + if (process.env.SDKROOT) + return process.env.SDKROOT; + const output = cp.execFileSync('xcrun', ['--sdk', 'macosx', '--show-sdk-path']); + return output.toString().trim(); +} +export async function getClangEnvironmentVars(electronVersion, targetArch) { + const clangDownloadDir = await downloadClangVersion(electronVersion); + const clangDir = path.resolve(clangDownloadDir, 'bin'); + const clangArgs = []; + if (process.platform === 'darwin') { + clangArgs.push('-isysroot', getSDKRoot()); + } + const gypArgs = []; + if (process.platform === 'win32') { + console.log(await fs.promises.readdir(clangDir)); + gypArgs.push(`/p:CLToolExe=clang-cl.exe`, `/p:CLToolPath=${clangDir}`); + } + if (process.platform === 'linux') { + const sysrootPath = await downloadLinuxSysroot(electronVersion, targetArch); + clangArgs.push('--sysroot', sysrootPath); + } + return { + env: { + CC: `"${path.resolve(clangDir, 'clang')}" ${clangArgs.join(' ')}`, + CXX: `"${path.resolve(clangDir, 'clang++')}" ${clangArgs.join(' ')}`, + }, + args: gypArgs, + }; +} +function clangVersionFromRevision(update) { + const regex = /CLANG_REVISION = '([^']+)'\nCLANG_SUB_REVISION = (\d+)\n/g; + const clangVersionMatch = regex.exec(update); + if (!clangVersionMatch) + return null; + const [, clangVersion, clangSubRevision] = clangVersionMatch; + return `${clangVersion}-${clangSubRevision}`; +} +function clangVersionFromSVN(update) { + const regex = /CLANG_REVISION = '([^']+)'\nCLANG_SVN_REVISION = '([^']+)'\nCLANG_SUB_REVISION = (\d+)\n/g; + const clangVersionMatch = regex.exec(update); + if (!clangVersionMatch) + return null; + const [, clangVersion, clangSvn, clangSubRevision] = clangVersionMatch; + return `${clangSvn}-${clangVersion.substr(0, 8)}-${clangSubRevision}`; +} +async function downloadClangVersion(electronVersion) { + d('fetching clang for Electron:', electronVersion); + const clangDirPath = path.resolve(ELECTRON_GYP_DIR, `${electronVersion}-clang`); + if (fs.existsSync(path.resolve(clangDirPath, 'bin', 'clang'))) + return clangDirPath; + await fs.promises.mkdir(ELECTRON_GYP_DIR, { recursive: true }); + const electronDeps = await fetchUrl(`https://raw.githubusercontent.com/electron/electron/v${electronVersion}/DEPS`, 'text'); + const chromiumRevisionExtractor = /'chromium_version':\n\s+'([^']+)/g; + const chromiumRevisionMatch = chromiumRevisionExtractor.exec(electronDeps); + if (!chromiumRevisionMatch) + throw new Error('Failed to determine Chromium revision for given Electron version'); + const chromiumRevision = chromiumRevisionMatch[1]; + d('fetching clang for Chromium:', chromiumRevision); + const base64ClangUpdate = await fetchUrl(`https://chromium.googlesource.com/chromium/src.git/+/${chromiumRevision}/tools/clang/scripts/update.py?format=TEXT`, 'text'); + const clangUpdate = Buffer.from(base64ClangUpdate, 'base64').toString('utf8'); + const clangVersionString = clangVersionFromRevision(clangUpdate) || clangVersionFromSVN(clangUpdate); + if (!clangVersionString) + throw new Error('Failed to determine Clang revision from Electron version'); + d('fetching clang:', clangVersionString); + const clangDownloadURL = getClangDownloadURL('clang', clangVersionString, process.platform, process.arch); + const contents = await fetchUrl(clangDownloadURL, 'buffer'); + const tarPath = path.resolve(ELECTRON_GYP_DIR, `${electronVersion}-clang.tgz`); + if (fs.existsSync(tarPath)) + await fs.promises.rm(tarPath, { recursive: true, force: true }); + await fs.promises.writeFile(tarPath, contents); + await fs.promises.mkdir(clangDirPath, { recursive: true }); + d('extracting clang'); + await spawn('tar', ['-xf', tarPath, '-C', clangDirPath], { stdio: 'ignore' }); + await fs.promises.rm(tarPath, { recursive: true, force: true }); + d('cleaning up clang tar file'); + return clangDirPath; +} +//# sourceMappingURL=clang-fetcher.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/clang-fetcher.js.map b/node_modules/@electron/rebuild/lib/clang-fetcher.js.map new file mode 100644 index 0000000..a1a5e15 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/clang-fetcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"clang-fetcher.js","sourceRoot":"","sources":["../src/clang-fetcher.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/cli.d.ts b/node_modules/@electron/rebuild/lib/cli.d.ts new file mode 100644 index 0000000..b798801 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/cli.d.ts @@ -0,0 +1,2 @@ +#!/usr/bin/env node +export {}; diff --git a/node_modules/@electron/rebuild/lib/cli.js b/node_modules/@electron/rebuild/lib/cli.js new file mode 100644 index 0000000..d11f2e6 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/cli.js @@ -0,0 +1,198 @@ +#!/usr/bin/env node +import fs from 'node:fs'; +import path from 'node:path'; +import { parseArgs, styleText } from 'node:util'; +import { pathToFileURL } from 'node:url'; +import { getProjectRootPath } from './search-module.js'; +import { locateElectronModule } from './electron-locator.js'; +import { rebuild } from './rebuild.js'; +const options = { + version: { short: 'v', type: 'string', description: 'The version of Electron to build against' }, + force: { + short: 'f', + type: 'boolean', + description: 'Force rebuilding modules, even if we would skip it otherwise', + }, + arch: { + short: 'a', + type: 'string', + description: "Override the target architecture to something other than your system's", + }, + platform: { + type: 'string', + description: "Override the target platform to something other than your system's", + }, + 'module-dir': { + short: 'm', + type: 'string', + description: 'The path to the node_modules directory to rebuild', + }, + 'which-module': { + short: 'w', + type: 'string', + description: 'A specific module to build, or comma separated list of modules. Modules will only be rebuilt if they also match the types of dependencies being rebuilt (see --types).', + }, + only: { + short: 'o', + type: 'string', + description: 'Only build specified module, or comma separated list of modules. All others are ignored.', + }, + 'electron-prebuilt-dir': { + short: 'e', + type: 'string', + description: 'The path to the prebuilt electron module', + }, + 'dist-url': { + short: 'd', + type: 'string', + description: 'Custom header tarball URL. Can also be set via the ELECTRON_REBUILD_DIST_URL environment variable.', + }, + types: { + short: 't', + type: 'string', + description: 'The types of dependencies to rebuild. Comma separated list of "prod", "dev" and "optional". Default is "prod,optional"', + }, + parallel: { + short: 'p', + type: 'boolean', + description: 'Rebuild in parallel, this is enabled by default on macOS and Linux', + }, + sequential: { + short: 's', + type: 'boolean', + description: 'Rebuild modules sequentially, this is enabled by default on Windows', + }, + debug: { short: 'b', type: 'boolean', description: 'Build debug version of modules' }, + jobs: { + short: 'j', + type: 'string', + description: "Number of parallel compile jobs node-gyp should run (passed as node-gyp --jobs). Defaults to node-gyp's own default.", + }, + 'prebuild-tag-prefix': { + type: 'string', + description: 'GitHub tag prefix passed to prebuild-install. Default is "v"', + }, + 'force-abi': { + type: 'string', + description: 'Override the ABI version for the version of Electron you are targeting. Only use when targeting Nightly releases.', + }, + 'use-electron-clang': { + type: 'boolean', + description: 'Use the clang executable that Electron used when building its binary. This will guarantee compiler compatibility', + }, + 'disable-pre-gyp-copy': { type: 'boolean', description: 'Disables the pre-gyp copy step' }, + 'build-from-source': { + type: 'boolean', + description: 'Skips prebuild download and rebuilds module from source.', + }, + help: { short: 'h', type: 'boolean', description: 'Show help' }, +}; +const { values: argv } = parseArgs({ options, allowPositionals: true }); +if (argv.help) { + console.log('Usage: electron-rebuild --version [version] --module-dir [path]\n\nOptions:'); + for (const [name, opt] of Object.entries(options)) { + const short = 'short' in opt ? `-${opt.short}, ` : ' '; + console.log(` ${short}--${name.padEnd(22)} ${opt.description}`); + } + process.exit(0); +} +if (process.argv.length === 3 && process.argv[2] === '--version') { + try { + console.log('Electron Rebuild Version:', (await import(pathToFileURL(path.resolve(import.meta.dirname, '../../package.json')).toString(), { with: { type: 'json' } })).default.version); + } + catch { + console.log('Electron Rebuild Version:', (await import(pathToFileURL(path.resolve(import.meta.dirname, '../package.json')).toString(), { with: { type: 'json' } })).default.version); + } + process.exit(0); +} +const handler = (err) => { + console.error(styleText('red', '\nAn unhandled error occurred inside electron-rebuild')); + console.error(styleText('red', `${err.message}\n\n${err.stack}`)); + process.exit(-1); +}; +process.on('uncaughtException', handler); +process.on('unhandledRejection', handler); +void (async () => { + const projectRootPath = await getProjectRootPath(process.cwd()); + const electronModulePath = argv['electron-prebuilt-dir'] + ? path.resolve(process.cwd(), argv['electron-prebuilt-dir']) + : await locateElectronModule(projectRootPath); + let electronModuleVersion = argv.version; + if (!electronModuleVersion) { + try { + if (!electronModulePath) + throw new Error('Prebuilt electron module not found'); + const pkgJson = await import(pathToFileURL(path.join(electronModulePath, 'package.json')).toString(), { with: { type: 'json' } }); + electronModuleVersion = pkgJson.default.version; + } + catch { + throw new Error(`Unable to find electron's version number, either install it or specify an explicit version`); + } + } + let rootDirectory = argv['module-dir']; + if (!rootDirectory) { + // NB: We assume here that we're going to rebuild the immediate parent's + // node modules, which might not always be the case but it's at least a + // good guess + rootDirectory = path.resolve(import.meta.dirname, '../../..'); + if (!fs.existsSync(rootDirectory) || + !fs.existsSync(path.resolve(rootDirectory, 'package.json'))) { + // Then we try the CWD + rootDirectory = process.cwd(); + if (!fs.existsSync(rootDirectory) || + !fs.existsSync(path.resolve(rootDirectory, 'package.json'))) { + throw new Error('Unable to find parent node_modules directory, specify it via --module-dir, E.g. "--module-dir ." for the current directory'); + } + } + } + else { + rootDirectory = path.resolve(process.cwd(), rootDirectory); + } + const forceAbi = argv['force-abi'] ? Number(argv['force-abi']) : undefined; + if (argv['force-abi'] && Number.isNaN(forceAbi)) { + throw new Error('force-abi must be a number'); + } + const jobs = argv.jobs ? Number(argv.jobs) : undefined; + if (argv.jobs && Number.isNaN(jobs)) { + throw new Error('jobs must be a number'); + } + console.error('Searching dependency tree'); + const rebuilder = rebuild({ + buildPath: rootDirectory, + electronVersion: electronModuleVersion, + arch: argv.arch || process.arch, + platform: argv.platform || process.platform, + extraModules: argv['which-module'] ? argv['which-module'].split(',') : [], + onlyModules: argv.only ? argv.only.split(',') : null, + force: argv.force, + headerURL: argv['dist-url'] || process.env.ELECTRON_REBUILD_DIST_URL, + types: argv.types ? argv.types.split(',') : ['prod', 'optional'], + mode: argv.parallel ? 'parallel' : argv.sequential ? 'sequential' : undefined, + debug: argv.debug, + prebuildTagPrefix: argv['prebuild-tag-prefix'] ?? 'v', + forceABI: forceAbi, + useElectronClang: !!argv['use-electron-clang'], + disablePreGypCopy: !!argv['disable-pre-gyp-copy'], + projectRootPath, + buildFromSource: !!argv['build-from-source'], + jobs, + }); + const lifecycle = rebuilder.lifecycle; + lifecycle.on('modules-found', (moduleNames) => { + if (moduleNames.length > 0) { + console.error(`Building modules: ${moduleNames.join(', ')}`); + } + else { + console.error('No native modules found'); + } + }); + try { + await rebuilder; + } + catch (err) { + console.error(styleText('red', '✖ Rebuild Failed')); + throw err; + } + console.error(styleText('green', '✔ Rebuild Complete')); +})(); +//# sourceMappingURL=cli.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/cli.js.map b/node_modules/@electron/rebuild/lib/cli.js.map new file mode 100644 index 0000000..acff556 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/cli.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/constants.d.ts b/node_modules/@electron/rebuild/lib/constants.d.ts new file mode 100644 index 0000000..028ecaf --- /dev/null +++ b/node_modules/@electron/rebuild/lib/constants.d.ts @@ -0,0 +1 @@ +export declare const ELECTRON_GYP_DIR: string; diff --git a/node_modules/@electron/rebuild/lib/constants.js b/node_modules/@electron/rebuild/lib/constants.js new file mode 100644 index 0000000..5203d9e --- /dev/null +++ b/node_modules/@electron/rebuild/lib/constants.js @@ -0,0 +1,4 @@ +import os from 'node:os'; +import path from 'node:path'; +export const ELECTRON_GYP_DIR = path.resolve(os.homedir(), '.electron-gyp'); +//# sourceMappingURL=constants.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/constants.js.map b/node_modules/@electron/rebuild/lib/constants.js.map new file mode 100644 index 0000000..9eacfc3 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/detect-libc.d.ts b/node_modules/@electron/rebuild/lib/detect-libc.d.ts new file mode 100644 index 0000000..93787ff --- /dev/null +++ b/node_modules/@electron/rebuild/lib/detect-libc.d.ts @@ -0,0 +1,8 @@ +/** + * Detects the libc family on the current Linux host via `process.report`. + * + * Used to resolve the `{libc}` token in prebuilt binary path templates. + * + * @returns `'glibc'` | `'musl'` | `null` (non-Linux or unable to detect) + */ +export declare function detectLibcFamily(): string | null; diff --git a/node_modules/@electron/rebuild/lib/detect-libc.js b/node_modules/@electron/rebuild/lib/detect-libc.js new file mode 100644 index 0000000..d7807a8 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/detect-libc.js @@ -0,0 +1,24 @@ +let cached; +/** + * Detects the libc family on the current Linux host via `process.report`. + * + * Used to resolve the `{libc}` token in prebuilt binary path templates. + * + * @returns `'glibc'` | `'musl'` | `null` (non-Linux or unable to detect) + */ +export function detectLibcFamily() { + if (cached !== undefined) + return cached; + if (process.platform !== 'linux') + return (cached = null); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const report = process.report?.getReport(); + if (report?.header?.glibcVersionRuntime) + return (cached = 'glibc'); + if (Array.isArray(report?.sharedObjects) && + report.sharedObjects.some((s) => s.includes('libc.musl') || s.includes('ld-musl'))) { + return (cached = 'musl'); + } + return (cached = null); +} +//# sourceMappingURL=detect-libc.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/detect-libc.js.map b/node_modules/@electron/rebuild/lib/detect-libc.js.map new file mode 100644 index 0000000..3b40f93 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/detect-libc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"detect-libc.js","sourceRoot":"","sources":["../src/detect-libc.ts"],"names":[],"mappings":"AAAA,IAAI,MAAiC,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAEzD,8DAA8D;IAC9D,MAAM,MAAM,GAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAChD,IAAI,MAAM,EAAE,MAAM,EAAE,mBAAmB;QAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IACnE,IACE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAC1F,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AACzB,CAAC"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/electron-locator.d.ts b/node_modules/@electron/rebuild/lib/electron-locator.d.ts new file mode 100644 index 0000000..002957a --- /dev/null +++ b/node_modules/@electron/rebuild/lib/electron-locator.d.ts @@ -0,0 +1 @@ +export declare function locateElectronModule(projectRootPath?: string | undefined, startDir?: string | undefined): Promise; diff --git a/node_modules/@electron/rebuild/lib/electron-locator.js b/node_modules/@electron/rebuild/lib/electron-locator.js new file mode 100644 index 0000000..c8d8e84 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/electron-locator.js @@ -0,0 +1,31 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { searchForModule } from './search-module.js'; +import { fileURLToPath } from 'node:url'; +const electronModuleNames = ['electron', 'electron-prebuilt-compile']; +async function locateModuleByImport() { + for (const moduleName of electronModuleNames) { + try { + const modulePath = path.resolve(fileURLToPath(import.meta.resolve(`${moduleName}/package.json`)), '..'); + if (fs.existsSync(path.join(modulePath, 'package.json'))) { + return modulePath; + } + } + catch { + // eslint-disable-line no-empty + } + } + return null; +} +export async function locateElectronModule(projectRootPath, startDir) { + startDir ??= process.cwd(); + for (const moduleName of electronModuleNames) { + const electronPaths = await searchForModule(startDir, moduleName, projectRootPath); + const electronPath = electronPaths.find((ePath) => fs.existsSync(path.join(ePath, 'package.json'))); + if (electronPath) { + return electronPath; + } + } + return locateModuleByImport(); +} +//# sourceMappingURL=electron-locator.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/electron-locator.js.map b/node_modules/@electron/rebuild/lib/electron-locator.js.map new file mode 100644 index 0000000..2446b15 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/electron-locator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"electron-locator.js","sourceRoot":"","sources":["../src/electron-locator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;AAEtE,KAAK,UAAU,oBAAoB;IACjC,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAC7B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,eAAe,CAAC,CAAC,EAChE,IAAI,CACL,CAAC;YACF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACzD,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,eAAoC,EACpC,QAA6B;IAE7B,QAAQ,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;IAE3B,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CACxD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAChD,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/fetcher.d.ts b/node_modules/@electron/rebuild/lib/fetcher.d.ts new file mode 100644 index 0000000..d0f9db3 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/fetcher.d.ts @@ -0,0 +1 @@ +export declare function fetchUrl(url: string, responseType: T, retries?: number): Promise; diff --git a/node_modules/@electron/rebuild/lib/fetcher.js b/node_modules/@electron/rebuild/lib/fetcher.js new file mode 100644 index 0000000..e96191c --- /dev/null +++ b/node_modules/@electron/rebuild/lib/fetcher.js @@ -0,0 +1,27 @@ +import debug from 'debug'; +import { setTimeout as sleep } from 'node:timers/promises'; +const d = debug('electron-rebuild'); +export async function fetchUrl(url, responseType, retries = 3) { + if (retries === 0) + throw new Error('Failed to fetch a clang resource, run with DEBUG=electron-rebuild for more information'); + d('downloading:', url); + try { + const response = await globalThis.fetch(url); + if (!response.ok) { + d('got bad status code:', response.status); + await sleep(2000); + return fetchUrl(url, responseType, retries - 1); + } + d('response came back OK'); + if (responseType === 'buffer') { + return Buffer.from(await response.arrayBuffer()); + } + return (await response.text()); + } + catch (err) { + d('request failed for some reason', err); + await sleep(2000); + return fetchUrl(url, responseType, retries - 1); + } +} +//# sourceMappingURL=fetcher.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/fetcher.js.map b/node_modules/@electron/rebuild/lib/fetcher.js.map new file mode 100644 index 0000000..eb0f57c --- /dev/null +++ b/node_modules/@electron/rebuild/lib/fetcher.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAG5B,GAAW,EAAE,YAAe,EAAE,OAAO,GAAG,CAAC;IACzC,IAAI,OAAO,KAAK,CAAC;QACf,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,CAAC,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,CAAC,CAAC,uBAAuB,CAAC,CAAC;QAC3B,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAO,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAO,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,CAAC,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/main.d.ts b/node_modules/@electron/rebuild/lib/main.d.ts new file mode 100644 index 0000000..e1354ec --- /dev/null +++ b/node_modules/@electron/rebuild/lib/main.d.ts @@ -0,0 +1,2 @@ +import { rebuild, RebuildOptions } from './rebuild.js'; +export { rebuild, RebuildOptions }; diff --git a/node_modules/@electron/rebuild/lib/main.js b/node_modules/@electron/rebuild/lib/main.js new file mode 100644 index 0000000..2fcc7f8 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/main.js @@ -0,0 +1,3 @@ +import { rebuild } from './rebuild.js'; +export { rebuild }; +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/main.js.map b/node_modules/@electron/rebuild/lib/main.js.map new file mode 100644 index 0000000..3aed526 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAkB,CAAC"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-rebuilder.d.ts b/node_modules/@electron/rebuild/lib/module-rebuilder.d.ts new file mode 100644 index 0000000..b30c766 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-rebuilder.d.ts @@ -0,0 +1,34 @@ +import { IRebuilder } from './types.js'; +export declare class ModuleRebuilder { + private modulePath; + private nodeGyp; + private rebuilder; + private prebuildify; + private prebuildInstall; + private nodePreGyp; + constructor(rebuilder: IRebuilder, modulePath: string); + get metaPath(): string; + /** + * The marker written to `.forge-meta` after a successful rebuild, and compared against on + * subsequent runs to decide whether the module can be skipped. It must capture every input + * that changes the resulting binary, so that e.g. a Linux build is not reused for macOS. + */ + get metaData(): string; + alreadyBuiltByRebuild(): Promise; + cacheModuleState(cacheKey: string): Promise; + /** + * Whether a prebuild-install-generated native module exists. + */ + prebuildInstallNativeModuleExists(): Promise; + /** + * If the native module uses prebuildify, check to see if it comes with a prebuilt module for + * the given platform and arch. + */ + findPrebuildifyModule(cacheKey: string): Promise; + findPrebuildInstallModule(cacheKey: string): Promise; + findNodePreGypInstallModule(cacheKey: string): Promise; + rebuildNodeGypModule(cacheKey: string): Promise; + replaceExistingNativeModule(): Promise; + writeMetadata(): Promise; + rebuild(cacheKey: string): Promise; +} diff --git a/node_modules/@electron/rebuild/lib/module-rebuilder.js b/node_modules/@electron/rebuild/lib/module-rebuilder.js new file mode 100644 index 0000000..bb51a96 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-rebuilder.js @@ -0,0 +1,132 @@ +import debug from 'debug'; +import fs from 'node:fs'; +import path from 'node:path'; +import { cacheModuleState } from './cache.js'; +import { NodeGyp } from './module-type/node-gyp/node-gyp.js'; +import { Prebuildify } from './module-type/prebuildify.js'; +import { PrebuildInstall } from './module-type/prebuild-install.js'; +import { NodePreGyp } from './module-type/node-pre-gyp.js'; +const d = debug('electron-rebuild'); +export class ModuleRebuilder { + modulePath; + nodeGyp; + rebuilder; + prebuildify; + prebuildInstall; + nodePreGyp; + constructor(rebuilder, modulePath) { + this.modulePath = modulePath; + this.rebuilder = rebuilder; + this.nodeGyp = new NodeGyp(rebuilder, modulePath); + this.prebuildify = new Prebuildify(rebuilder, modulePath); + this.prebuildInstall = new PrebuildInstall(rebuilder, modulePath); + this.nodePreGyp = new NodePreGyp(rebuilder, modulePath); + } + get metaPath() { + return path.resolve(this.modulePath, 'build', this.rebuilder.buildType, '.forge-meta'); + } + /** + * The marker written to `.forge-meta` after a successful rebuild, and compared against on + * subsequent runs to decide whether the module can be skipped. It must capture every input + * that changes the resulting binary, so that e.g. a Linux build is not reused for macOS. + */ + get metaData() { + return `${this.rebuilder.platform}--${this.rebuilder.arch}--${this.rebuilder.ABI}`; + } + async alreadyBuiltByRebuild() { + if (fs.existsSync(this.metaPath)) { + const meta = await fs.promises.readFile(this.metaPath, 'utf8'); + return meta === this.metaData; + } + return false; + } + async cacheModuleState(cacheKey) { + if (this.rebuilder.useCache) { + await cacheModuleState(this.modulePath, this.rebuilder.cachePath, cacheKey); + } + } + /** + * Whether a prebuild-install-generated native module exists. + */ + async prebuildInstallNativeModuleExists() { + return this.prebuildInstall.prebuiltModuleExists(); + } + /** + * If the native module uses prebuildify, check to see if it comes with a prebuilt module for + * the given platform and arch. + */ + async findPrebuildifyModule(cacheKey) { + if (await this.prebuildify.usesTool()) { + d(`assuming is prebuildify powered: ${this.prebuildify.moduleName}`); + if (await this.prebuildify.findPrebuiltModule()) { + await this.writeMetadata(); + await this.cacheModuleState(cacheKey); + return true; + } + } + return false; + } + async findPrebuildInstallModule(cacheKey) { + if (await this.prebuildInstall.usesTool()) { + d(`assuming is prebuild-install powered: ${this.prebuildInstall.moduleName}`); + if (await this.prebuildInstall.findPrebuiltModule()) { + d('installed prebuilt module:', this.prebuildInstall.moduleName); + await this.writeMetadata(); + await this.cacheModuleState(cacheKey); + return true; + } + } + return false; + } + async findNodePreGypInstallModule(cacheKey) { + if (await this.nodePreGyp.usesTool()) { + d(`assuming is node-pre-gyp powered: ${this.nodePreGyp.moduleName}`); + if (await this.nodePreGyp.findPrebuiltModule()) { + d('installed prebuilt module:', this.nodePreGyp.moduleName); + await this.writeMetadata(); + await this.cacheModuleState(cacheKey); + return true; + } + } + return false; + } + async rebuildNodeGypModule(cacheKey) { + await this.nodeGyp.rebuildModule(); + d('built via node-gyp:', this.nodeGyp.moduleName); + await this.writeMetadata(); + await this.replaceExistingNativeModule(); + await this.cacheModuleState(cacheKey); + return true; + } + async replaceExistingNativeModule() { + const buildLocation = path.resolve(this.modulePath, 'build', this.rebuilder.buildType); + d('searching for .node file', buildLocation); + const buildLocationFiles = await fs.promises.readdir(buildLocation); + d('testing files', buildLocationFiles); + const nodeFile = buildLocationFiles.find((file) => file !== '.node' && file.endsWith('.node')); + const nodePath = nodeFile ? path.resolve(buildLocation, nodeFile) : undefined; + if (nodePath && fs.existsSync(nodePath)) { + d('found .node file', nodePath); + if (!this.rebuilder.disablePreGypCopy) { + const abiPath = path.resolve(this.modulePath, `bin/${this.rebuilder.platform}-${this.rebuilder.arch}-${this.rebuilder.ABI}`); + d('copying to prebuilt place:', abiPath); + await fs.promises.mkdir(abiPath, { recursive: true }); + await fs.promises.copyFile(nodePath, path.join(abiPath, `${this.nodeGyp.moduleName}.node`)); + } + } + } + async writeMetadata() { + await fs.promises.mkdir(path.dirname(this.metaPath), { recursive: true }); + await fs.promises.writeFile(this.metaPath, this.metaData); + } + async rebuild(cacheKey) { + if (!this.rebuilder.buildFromSource && + ((await this.findPrebuildifyModule(cacheKey)) || + (await this.findPrebuildInstallModule(cacheKey)) || + (await this.findNodePreGypInstallModule(cacheKey)))) { + return true; + } + return await this.rebuildNodeGypModule(cacheKey); + } +} +//# sourceMappingURL=module-rebuilder.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-rebuilder.js.map b/node_modules/@electron/rebuild/lib/module-rebuilder.js.map new file mode 100644 index 0000000..990a044 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-rebuilder.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module-rebuilder.js","sourceRoot":"","sources":["../src/module-rebuilder.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/index.d.ts b/node_modules/@electron/rebuild/lib/module-type/index.d.ts new file mode 100644 index 0000000..81987c9 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/index.d.ts @@ -0,0 +1,22 @@ +import { NodeAPI } from '../node-api.js'; +import { IRebuilder } from '../types.js'; +type PackageJSONValue = string | Record; +export declare class NativeModule { + protected rebuilder: IRebuilder; + private _moduleName; + protected modulePath: string; + nodeAPI: NodeAPI; + private packageJSON; + constructor(rebuilder: IRebuilder, modulePath: string); + get moduleName(): string; + packageJSONFieldWithDefault(key: string, defaultValue: PackageJSONValue): Promise; + packageJSONField(key: string): Promise; + getSupportedNapiVersions(): Promise; + /** + * Search dependencies for package using either `packageName` or + * `@namespace/packageName` in the case of forks. + */ + findPackageInDependencies(packageName: string, packageProperty?: string): Promise; +} +export declare function locateBinary(basePath: string, suffix: string): Promise; +export {}; diff --git a/node_modules/@electron/rebuild/lib/module-type/index.js b/node_modules/@electron/rebuild/lib/module-type/index.js new file mode 100644 index 0000000..5e56f89 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/index.js @@ -0,0 +1,68 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { NodeAPI } from '../node-api.js'; +import { readPackageJson } from '../read-package-json.js'; +export class NativeModule { + rebuilder; + _moduleName; + modulePath; + nodeAPI; + packageJSON; + constructor(rebuilder, modulePath) { + this.rebuilder = rebuilder; + this.modulePath = modulePath; + this.nodeAPI = new NodeAPI(this.moduleName, this.rebuilder.electronVersion); + } + get moduleName() { + if (!this._moduleName) { + const basename = path.basename(this.modulePath); + const parentDir = path.basename(path.dirname(this.modulePath)); + if (parentDir.startsWith('@')) { + this._moduleName = `${parentDir}/${basename}`; + } + this._moduleName = basename; + } + return this._moduleName; + } + async packageJSONFieldWithDefault(key, defaultValue) { + const result = await this.packageJSONField(key); + return result === undefined ? defaultValue : result; + } + async packageJSONField(key) { + this.packageJSON ||= await readPackageJson(this.modulePath); + return this.packageJSON[key]; + } + async getSupportedNapiVersions() { + const binary = (await this.packageJSONFieldWithDefault('binary', {})); + return binary?.napi_versions; + } + /** + * Search dependencies for package using either `packageName` or + * `@namespace/packageName` in the case of forks. + */ + async findPackageInDependencies(packageName, packageProperty = 'dependencies') { + const dependencies = await this.packageJSONFieldWithDefault(packageProperty, {}); + if (typeof dependencies !== 'object') + return null; + // Look for direct dependency match + // eslint-disable-next-line no-prototype-builtins + if (dependencies.hasOwnProperty(packageName)) + return packageName; + const forkedPackage = Object.keys(dependencies).find((dependency) => dependency.startsWith('@') && dependency.endsWith(`/${packageName}`)); + return forkedPackage || null; + } +} +export async function locateBinary(basePath, suffix) { + let parentPath = basePath; + let testPath; + while (testPath !== parentPath) { + testPath = parentPath; + const checkPath = path.resolve(testPath, suffix); + if (fs.existsSync(checkPath)) { + return checkPath; + } + parentPath = path.resolve(testPath, '..'); + } + return null; +} +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/index.js.map b/node_modules/@electron/rebuild/lib/module-type/index.js.map new file mode 100644 index 0000000..c93efe7 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module-type/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.d.ts b/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.d.ts new file mode 100644 index 0000000..4dcc2e5 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.d.ts @@ -0,0 +1,6 @@ +import { NativeModule } from '../index.js'; +export declare class NodeGyp extends NativeModule { + buildArgs(prefixedArgs: string[]): Promise; + buildArgsFromBinaryField(): Promise; + rebuildModule(): Promise; +} diff --git a/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js b/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js new file mode 100644 index 0000000..63180dd --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js @@ -0,0 +1,125 @@ +import { fork } from 'node:child_process'; +import debug from 'debug'; +import path from 'node:path'; +import { ELECTRON_GYP_DIR } from '../../constants.js'; +import { getClangEnvironmentVars } from '../../clang-fetcher.js'; +import { NativeModule } from '../index.js'; +import { detectLibcFamily } from '../../detect-libc.js'; +const d = debug('electron-rebuild'); +export class NodeGyp extends NativeModule { + async buildArgs(prefixedArgs) { + const args = [ + 'node', + 'node-gyp', + 'rebuild', + ...prefixedArgs, + `--runtime=electron`, + `--target=${this.rebuilder.electronVersion}`, + `--arch=${this.rebuilder.arch}`, + `--dist-url=${this.rebuilder.headerURL}`, + '--build-from-source', + ]; + args.push(d.enabled ? '--verbose' : '--silent'); + if (this.rebuilder.debug) { + args.push('--debug'); + } + args.push(...(await this.buildArgsFromBinaryField())); + if (this.rebuilder.msvsVersion) { + args.push(`--msvs_version=${this.rebuilder.msvsVersion}`); + } + if (this.rebuilder.jobs) { + args.push(`--jobs=${this.rebuilder.jobs}`); + } + // Headers of old Electron versions do not have a valid config.gypi file + // and --force-process-config must be passed to node-gyp >= 8.4.0 to + // correctly build modules for them. + // See also https://github.com/nodejs/node-gyp/pull/2497 + const [maj, min] = this.rebuilder.electronVersion.split('.').map(Number); + if (maj < 14 || (maj === 14 && min < 2) || (maj === 15 && min < 3)) { + args.push('--force-process-config'); + } + return args; + } + async buildArgsFromBinaryField() { + const binary = (await this.packageJSONFieldWithDefault('binary', {})); + let napiBuildVersion = undefined; + if (Array.isArray(binary.napi_versions)) { + napiBuildVersion = this.nodeAPI.getNapiVersion(binary.napi_versions.map((str) => Number(str))); + } + const flags = await Promise.all(Object.entries(binary).map(async ([binaryKey, binaryValue]) => { + if (binaryKey === 'napi_versions') { + return; + } + let value = binaryValue; + if (binaryKey === 'module_path') { + value = path.resolve(this.modulePath, value); + } + value = value + .replace('{configuration}', this.rebuilder.buildType) + .replace('{node_abi}', `electron-v${this.rebuilder.electronVersion.split('.').slice(0, 2).join('.')}`) + .replace('{platform}', this.rebuilder.platform) + .replace('{arch}', this.rebuilder.arch) + .replace('{version}', (await this.packageJSONField('version'))) + .replace('{libc}', detectLibcFamily() || 'unknown'); + if (napiBuildVersion !== undefined) { + value = value.replace('{napi_build_version}', napiBuildVersion.toString()); + } + for (const [replaceKey, replaceValue] of Object.entries(binary)) { + value = value.replace(`{${replaceKey}}`, replaceValue); + } + return `--${binaryKey}=${value}`; + })); + return flags.filter((value) => value); + } + async rebuildModule() { + if (this.rebuilder.platform !== process.platform) { + throw new Error('node-gyp does not support cross-compiling native modules from source.'); + } + if (this.modulePath.includes(' ')) { + console.error('Attempting to build a module with a space in the path'); + console.error('See https://github.com/nodejs/node-gyp/issues/65#issuecomment-368820565 for reasons why this may not work'); + // FIXME: Re-enable the throw when more research has been done + // throw new Error(`node-gyp does not support building modules with spaces in their path, tried to build: ${modulePath}`); + } + const env = { + ...process.env, + }; + const extraNodeGypArgs = []; + if (this.rebuilder.useElectronClang) { + const { env: clangEnv, args: clangArgs } = await getClangEnvironmentVars(this.rebuilder.electronVersion, this.rebuilder.arch); + Object.assign(env, clangEnv); + extraNodeGypArgs.push(...clangArgs); + } + const nodeGypArgs = await this.buildArgs(extraNodeGypArgs); + d('rebuilding', this.moduleName, 'with args', nodeGypArgs); + const forkedChild = fork(path.resolve(import.meta.dirname, 'worker.js'), { + env, + cwd: this.modulePath, + stdio: 'pipe', + }); + const outputBuffers = []; + forkedChild.stdout?.on('data', (chunk) => { + outputBuffers.push(chunk); + }); + forkedChild.stderr?.on('data', (chunk) => { + outputBuffers.push(chunk); + }); + forkedChild.send({ + moduleName: this.moduleName, + nodeGypArgs, + extraNodeGypArgs, + devDir: this.rebuilder.mode === 'sequential' + ? ELECTRON_GYP_DIR + : path.resolve(ELECTRON_GYP_DIR, '_p', this.moduleName), + }); + await new Promise((resolve, reject) => { + forkedChild.on('exit', (code) => { + if (code === 0) + return resolve(); + console.error(Buffer.concat(outputBuffers).toString()); + reject(new Error(`node-gyp failed to rebuild '${this.modulePath}'`)); + }); + }); + } +} +//# sourceMappingURL=node-gyp.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js.map b/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js.map new file mode 100644 index 0000000..b259ddf --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node-gyp.js","sourceRoot":"","sources":["../../../src/module-type/node-gyp/node-gyp.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.d.ts b/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js b/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js new file mode 100644 index 0000000..36ba6fd --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js @@ -0,0 +1,32 @@ +import NodeGypRunner from 'node-gyp'; +process.on('message', async ({ nodeGypArgs, devDir, extraNodeGypArgs }) => { + const nodeGyp = NodeGypRunner(); + nodeGyp.parseArgv(nodeGypArgs); + nodeGyp.devDir = devDir; + let command = nodeGyp.todo.shift(); + try { + while (command) { + if (command.name === 'configure') { + command.args = command.args.filter((arg) => !extraNodeGypArgs.includes(arg)); + } + else if (command.name === 'build' && process.platform === 'win32') { + // This is disgusting but it prevents node-gyp from destroying our MSBuild arguments + command.args.map = (fn) => { + return Array.prototype.map.call(command.args, (arg) => { + if (arg.startsWith('/p:')) + return arg; + return fn(arg); + }); + }; + } + await nodeGyp.commands[command.name](command.args); + command = nodeGyp.todo.shift(); + } + process.exit(0); + } + catch (err) { + console.error(err); + process.exit(1); + } +}); +//# sourceMappingURL=worker.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js.map b/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js.map new file mode 100644 index 0000000..36661d3 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-gyp/worker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/module-type/node-gyp/worker.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,UAAU,CAAC;AAErC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC/B,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACvF,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACpE,oFAAoF;gBACpF,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAA2B,EAAE,EAAE;oBACjD,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAW,EAAE,EAAE;wBAC5D,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;4BAAE,OAAO,GAAG,CAAC;wBACtC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.d.ts b/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.d.ts new file mode 100644 index 0000000..01eeb3d --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.d.ts @@ -0,0 +1,10 @@ +import { NativeModule } from './index.js'; +export declare class NodePreGyp extends NativeModule { + usesTool(): Promise; + locateBinary(): Promise; + run(nodePreGypPath: string): Promise; + findPrebuiltModule(): Promise; + getNodePreGypRuntimeArgs(): Promise; + private shouldUpdateBinary; + private getModulePaths; +} diff --git a/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js b/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js new file mode 100644 index 0000000..e5767a8 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js @@ -0,0 +1,110 @@ +import debug from 'debug'; +import { readBinaryFileArch } from 'read-binary-file-arch'; +import { locateBinary, NativeModule } from './index.js'; +import { spawn } from '@malept/cross-spawn-promise'; +const d = debug('electron-rebuild'); +export class NodePreGyp extends NativeModule { + async usesTool() { + const packageName = await this.findPackageInDependencies('node-pre-gyp'); + return !!packageName; + } + async locateBinary() { + const packageName = await this.findPackageInDependencies('node-pre-gyp'); + if (!packageName) + return null; + return locateBinary(this.modulePath, `node_modules/${packageName}/bin/node-pre-gyp`); + } + async run(nodePreGypPath) { + const redownloadBinary = await this.shouldUpdateBinary(nodePreGypPath); + await spawn(process.execPath, [ + nodePreGypPath, + 'reinstall', + '--fallback-to-build', + ...(redownloadBinary ? ['--update-binary'] : []), + `--arch=${this.rebuilder.arch}`, // fallback build arch + `--target_arch=${this.rebuilder.arch}`, // prebuild arch + `--target_platform=${this.rebuilder.platform}`, + ...(await this.getNodePreGypRuntimeArgs()), + ], { + cwd: this.modulePath, + }); + } + async findPrebuiltModule() { + const nodePreGypPath = await this.locateBinary(); + if (nodePreGypPath) { + d(`triggering prebuild download step: ${this.moduleName}`); + try { + await this.run(nodePreGypPath); + return true; + } + catch (err) { + d('failed to use node-pre-gyp:', err); + if (err?.message?.includes('requires Node-API but Electron')) { + throw err; + } + } + } + else { + d(`could not find node-pre-gyp relative to: ${this.modulePath}`); + } + return false; + } + async getNodePreGypRuntimeArgs() { + const moduleNapiVersions = await this.getSupportedNapiVersions(); + if (moduleNapiVersions) { + return []; + } + else { + return [ + '--runtime=electron', + `--target=${this.rebuilder.electronVersion}`, + `--dist-url=${this.rebuilder.headerURL}`, + ]; + } + } + async shouldUpdateBinary(nodePreGypPath) { + let shouldUpdate = false; + // Redownload binary only if the existing module arch differs from the + // target arch. + try { + const modulePaths = await this.getModulePaths(nodePreGypPath); + d('module paths:', modulePaths); + for (const modulePath of modulePaths) { + let moduleArch; + try { + moduleArch = await readBinaryFileArch(modulePath); + d('module arch:', moduleArch); + } + catch (error) { + d('failed to read module arch:', error.message); + continue; + } + if (moduleArch && moduleArch !== this.rebuilder.arch) { + shouldUpdate = true; + d('module architecture differs:', `${moduleArch} !== ${this.rebuilder.arch}`); + break; + } + } + } + catch (error) { + d('failed to get existing binary arch:', error.message); + // Assume architecture differs + shouldUpdate = true; + } + return shouldUpdate; + } + async getModulePaths(nodePreGypPath) { + const results = await spawn(process.execPath, [ + nodePreGypPath, + 'reveal', + 'module', // pick property with module path + `--target_arch=${this.rebuilder.arch}`, + `--target_platform=${this.rebuilder.platform}`, + ], { + cwd: this.modulePath, + }); + // Packages with multiple binaries will output one per line + return results.split('\n').filter(Boolean); + } +} +//# sourceMappingURL=node-pre-gyp.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js.map b/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js.map new file mode 100644 index 0000000..2859af9 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/node-pre-gyp.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node-pre-gyp.js","sourceRoot":"","sources":["../../src/module-type/node-pre-gyp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEpC,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C,KAAK,CAAC,QAAQ;QACZ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,WAAW,mBAAmB,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,cAAsB;QAC9B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAEvE,MAAM,KAAK,CACT,OAAO,CAAC,QAAQ,EAChB;YACE,cAAc;YACd,WAAW;YACX,qBAAqB;YACrB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,UAAU,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,sBAAsB;YACvD,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,gBAAgB;YACxD,qBAAqB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;YAC9C,GAAG,CAAC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;SAC3C,EACD;YACE,GAAG,EAAE,IAAI,CAAC,UAAU;SACrB,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,sCAAsC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,CAAC,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;gBAEtC,IAAK,GAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;oBACxE,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,4CAA4C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjE,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,oBAAoB;gBACpB,YAAY,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;gBAC5C,cAAc,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;aACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QACrD,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,sEAAsE;QACtE,eAAe;QACf,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YAC9D,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YAChC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC;gBACf,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,kBAAkB,CAAC,UAAU,CAAC,CAAC;oBAClD,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;gBAChC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,CAAC,CAAC,6BAA6B,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;oBAC3D,SAAS;gBACX,CAAC;gBAED,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrD,YAAY,GAAG,IAAI,CAAC;oBACpB,CAAC,CAAC,8BAA8B,EAAE,GAAG,UAAU,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9E,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,qCAAqC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;YAEnE,8BAA8B;YAC9B,YAAY,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,cAAsB;QACjD,MAAM,OAAO,GAAG,MAAM,KAAK,CACzB,OAAO,CAAC,QAAQ,EAChB;YACE,cAAc;YACd,QAAQ;YACR,QAAQ,EAAE,iCAAiC;YAC3C,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACtC,qBAAqB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;SAC/C,EACD;YACE,GAAG,EAAE,IAAI,CAAC,UAAU;SACrB,CACF,CAAC;QAEF,2DAA2D;QAC3D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/prebuild-install.d.ts b/node_modules/@electron/rebuild/lib/module-type/prebuild-install.d.ts new file mode 100644 index 0000000..4975fca --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/prebuild-install.d.ts @@ -0,0 +1,12 @@ +import { NativeModule } from './index.js'; +export declare class PrebuildInstall extends NativeModule { + usesTool(): Promise; + locateBinary(): Promise; + run(prebuildInstallPath: string): Promise; + findPrebuiltModule(): Promise; + /** + * Whether a prebuild-install-based native module exists. + */ + prebuiltModuleExists(): Promise; + getPrebuildInstallRuntimeArgs(): Promise; +} diff --git a/node_modules/@electron/rebuild/lib/module-type/prebuild-install.js b/node_modules/@electron/rebuild/lib/module-type/prebuild-install.js new file mode 100644 index 0000000..3c6d0e8 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/prebuild-install.js @@ -0,0 +1,67 @@ +import debug from 'debug'; +import fs from 'node:fs'; +import path from 'node:path'; +import { locateBinary, NativeModule } from './index.js'; +import { spawn } from '@malept/cross-spawn-promise'; +const d = debug('electron-rebuild'); +export class PrebuildInstall extends NativeModule { + async usesTool() { + const packageName = await this.findPackageInDependencies('prebuild-install'); + return !!packageName; + } + async locateBinary() { + const packageName = await this.findPackageInDependencies('prebuild-install'); + if (!packageName) + return null; + return locateBinary(this.modulePath, `node_modules/${packageName}/bin.js`); + } + async run(prebuildInstallPath) { + await spawn(process.execPath, [ + path.resolve(import.meta.dirname, '..', `prebuild-shim.js`), + prebuildInstallPath, + `--arch=${this.rebuilder.arch}`, + `--platform=${this.rebuilder.platform}`, + `--tag-prefix=${this.rebuilder.prebuildTagPrefix}`, + ...(await this.getPrebuildInstallRuntimeArgs()), + ], { + cwd: this.modulePath, + }); + } + async findPrebuiltModule() { + const prebuildInstallPath = await this.locateBinary(); + if (prebuildInstallPath) { + d(`triggering prebuild download step: ${this.moduleName}`); + try { + await this.run(prebuildInstallPath); + return true; + } + catch (err) { + d('failed to use prebuild-install:', err); + if (err?.message?.includes('requires Node-API but Electron')) { + throw err; + } + } + } + else { + d(`could not find prebuild-install relative to: ${this.modulePath}`); + } + return false; + } + /** + * Whether a prebuild-install-based native module exists. + */ + async prebuiltModuleExists() { + return fs.existsSync(path.resolve(this.modulePath, 'prebuilds', `${this.rebuilder.platform}-${this.rebuilder.arch}`, `electron-${this.rebuilder.ABI}.node`)); + } + async getPrebuildInstallRuntimeArgs() { + const moduleNapiVersions = await this.getSupportedNapiVersions(); + if (moduleNapiVersions) { + const napiVersion = this.nodeAPI.getNapiVersion(moduleNapiVersions); + return ['--runtime=napi', `--target=${napiVersion}`]; + } + else { + return ['--runtime=electron', `--target=${this.rebuilder.electronVersion}`]; + } + } +} +//# sourceMappingURL=prebuild-install.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/prebuild-install.js.map b/node_modules/@electron/rebuild/lib/module-type/prebuild-install.js.map new file mode 100644 index 0000000..f1e68d3 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/prebuild-install.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prebuild-install.js","sourceRoot":"","sources":["../../src/module-type/prebuild-install.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/prebuildify.d.ts b/node_modules/@electron/rebuild/lib/module-type/prebuildify.d.ts new file mode 100644 index 0000000..ed39951 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/prebuildify.d.ts @@ -0,0 +1,11 @@ +import { NativeModule } from './index.js'; +export declare function determineNativePrebuildArch(arch: string): string; +/** + * The extension of `prebuildify`-generated native modules, after the last `.`. This value differs + * based on whether the target arch is ARM-based. + */ +export declare function determineNativePrebuildExtension(arch: string): string; +export declare class Prebuildify extends NativeModule { + usesTool(): Promise; + findPrebuiltModule(): Promise; +} diff --git a/node_modules/@electron/rebuild/lib/module-type/prebuildify.js b/node_modules/@electron/rebuild/lib/module-type/prebuildify.js new file mode 100644 index 0000000..e62f63f --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/prebuildify.js @@ -0,0 +1,58 @@ +import debug from 'debug'; +import fs from 'node:fs'; +import path from 'node:path'; +import { getNodeArch } from '../arch.js'; +import { NativeModule } from './index.js'; +const d = debug('electron-rebuild'); +export function determineNativePrebuildArch(arch) { + if (arch === 'armv7l') { + return 'arm'; + } + return arch; +} +/** + * The extension of `prebuildify`-generated native modules, after the last `.`. This value differs + * based on whether the target arch is ARM-based. + */ +export function determineNativePrebuildExtension(arch) { + switch (arch) { + case 'arm64': + return 'armv8.node'; + case 'armv7l': + return 'armv7.node'; + } + return 'node'; +} +export class Prebuildify extends NativeModule { + async usesTool() { + const packageName = await this.findPackageInDependencies('prebuildify', 'devDependencies'); + return !!packageName; + } + async findPrebuiltModule() { + d(`Checking for prebuilds for "${this.moduleName}"`); + const prebuildsDir = path.join(this.modulePath, 'prebuilds'); + if (!fs.existsSync(prebuildsDir)) { + d(`Could not find the prebuilds directory at "${prebuildsDir}"`); + return false; + } + const nodeArch = getNodeArch(this.rebuilder.arch, process.config.variables); + const prebuiltModuleDir = path.join(prebuildsDir, `${this.rebuilder.platform}-${determineNativePrebuildArch(nodeArch)}`); + const nativeExt = determineNativePrebuildExtension(nodeArch); + const electronNapiModuleFilename = path.join(prebuiltModuleDir, `electron.napi.${nativeExt}`); + const nodejsNapiModuleFilename = path.join(prebuiltModuleDir, `node.napi.${nativeExt}`); + const abiModuleFilename = path.join(prebuiltModuleDir, `electron.abi${this.rebuilder.ABI}.${nativeExt}`); + if (fs.existsSync(electronNapiModuleFilename) || fs.existsSync(nodejsNapiModuleFilename)) { + this.nodeAPI.ensureElectronSupport(); + d(`Found prebuilt Node-API module in ${prebuiltModuleDir}"`); + } + else if (fs.existsSync(abiModuleFilename)) { + d(`Found prebuilt module: "${abiModuleFilename}"`); + } + else { + d(`Could not locate "${electronNapiModuleFilename}", "${nodejsNapiModuleFilename}", or "${abiModuleFilename}"`); + return false; + } + return true; + } +} +//# sourceMappingURL=prebuildify.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-type/prebuildify.js.map b/node_modules/@electron/rebuild/lib/module-type/prebuildify.js.map new file mode 100644 index 0000000..fda0f7f --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-type/prebuildify.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prebuildify.js","sourceRoot":"","sources":["../../src/module-type/prebuildify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEpC,MAAM,UAAU,2BAA2B,CAAC,IAAY;IACtD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO,YAAY,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,KAAK,CAAC,QAAQ;QACZ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC3F,OAAO,CAAC,CAAC,WAAW,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,CAAC,CAAC,+BAA+B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,CAAC,CAAC,8CAA8C,YAAY,GAAG,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,SAA4B,CAAC,CAAC;QAC/F,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CACtE,CAAC;QACF,MAAM,SAAS,GAAG,gCAAgC,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,0BAA0B,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,SAAS,EAAE,CAAC,CAAC;QAC9F,MAAM,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,SAAS,EAAE,CAAC,CAAC;QACxF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACjC,iBAAiB,EACjB,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,SAAS,EAAE,CACjD,CAAC;QAEF,IAAI,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACzF,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACrC,CAAC,CAAC,qCAAqC,iBAAiB,GAAG,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC5C,CAAC,CAAC,2BAA2B,iBAAiB,GAAG,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,CAAC,CACC,qBAAqB,0BAA0B,OAAO,wBAAwB,UAAU,iBAAiB,GAAG,CAC7G,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-walker.d.ts b/node_modules/@electron/rebuild/lib/module-walker.d.ts new file mode 100644 index 0000000..1f9995c --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-walker.d.ts @@ -0,0 +1,17 @@ +export type ModuleType = 'prod' | 'dev' | 'optional'; +export declare class ModuleWalker { + buildPath: string; + modulesToRebuild: string[]; + onlyModules: string[] | null; + prodDeps: Set; + projectRootPath?: string; + realModulePaths: Set; + realNodeModulesPaths: Set; + types: ModuleType[]; + constructor(buildPath: string, projectRootPath: string | undefined, types: ModuleType[], prodDeps: Set, onlyModules: string[] | null); + get nodeModulesPaths(): Promise; + walkModules(): Promise; + findModule(moduleName: string, fromDir: string, foundFn: (p: string) => Promise): Promise; + markChildrenAsProdDeps(modulePath: string): Promise; + findAllModulesIn(nodeModulesPath: string, prefix?: string): Promise; +} diff --git a/node_modules/@electron/rebuild/lib/module-walker.js b/node_modules/@electron/rebuild/lib/module-walker.js new file mode 100644 index 0000000..2b0f155 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-walker.js @@ -0,0 +1,129 @@ +import debug from 'debug'; +import fs from 'node:fs'; +import path from 'node:path'; +import { readPackageJson } from './read-package-json.js'; +import { searchForModule, searchForNodeModules } from './search-module.js'; +const d = debug('electron-rebuild'); +export class ModuleWalker { + buildPath; + modulesToRebuild; + onlyModules; + prodDeps; + projectRootPath; + realModulePaths; + realNodeModulesPaths; + types; + constructor(buildPath, projectRootPath, types, prodDeps, onlyModules) { + this.buildPath = buildPath; + this.modulesToRebuild = []; + this.projectRootPath = projectRootPath; + this.types = types; + this.prodDeps = prodDeps; + this.onlyModules = onlyModules; + this.realModulePaths = new Set(); + this.realNodeModulesPaths = new Set(); + } + get nodeModulesPaths() { + return searchForNodeModules(this.buildPath, this.projectRootPath); + } + async walkModules() { + const rootPackageJson = await readPackageJson(this.buildPath); + const markWaiters = []; + const depKeys = []; + if (this.types.includes('prod') || this.onlyModules) { + depKeys.push(...Object.keys(rootPackageJson.dependencies || {})); + } + if (this.types.includes('optional') || this.onlyModules) { + depKeys.push(...Object.keys(rootPackageJson.optionalDependencies || {})); + } + if (this.types.includes('dev') || this.onlyModules) { + depKeys.push(...Object.keys(rootPackageJson.devDependencies || {})); + } + for (const key of depKeys) { + this.prodDeps.add(key); + const modulePaths = await searchForModule(this.buildPath, key, this.projectRootPath); + for (const modulePath of modulePaths) { + markWaiters.push(this.markChildrenAsProdDeps(modulePath)); + } + } + await Promise.all(markWaiters); + d('identified prod deps:', this.prodDeps); + } + async findModule(moduleName, fromDir, foundFn) { + const testPaths = await searchForModule(fromDir, moduleName, this.projectRootPath); + const foundFns = testPaths.map((testPath) => foundFn(testPath)); + return Promise.all(foundFns); + } + async markChildrenAsProdDeps(modulePath) { + if (!fs.existsSync(modulePath)) { + return; + } + d('exploring', modulePath); + let childPackageJson; + try { + childPackageJson = await readPackageJson(modulePath, true); + } + catch { + return; + } + const moduleWait = []; + const callback = this.markChildrenAsProdDeps.bind(this); + for (const key of Object.keys(childPackageJson.dependencies || {}).concat(Object.keys(childPackageJson.optionalDependencies || {}))) { + if (this.prodDeps.has(key)) { + continue; + } + this.prodDeps.add(key); + moduleWait.push(this.findModule(key, modulePath, callback)); + } + await Promise.all(moduleWait); + } + async findAllModulesIn(nodeModulesPath, prefix = '') { + // Some package managers use symbolic links when installing node modules + // we need to be sure we've never tested the a package before by resolving + // all symlinks in the path and testing against a set + const realNodeModulesPath = await fs.promises.realpath(nodeModulesPath); + if (this.realNodeModulesPaths.has(realNodeModulesPath)) { + return; + } + this.realNodeModulesPaths.add(realNodeModulesPath); + d('scanning:', realNodeModulesPath); + for (const modulePath of await fs.promises.readdir(realNodeModulesPath)) { + // Ignore the magical .bin directory + if (modulePath === '.bin') + continue; + const subPath = path.resolve(nodeModulesPath, modulePath); + // Ensure that we don't mark modules as needing to be rebuilt more than once + // by ignoring / resolving symlinks + let realPath; + try { + realPath = await fs.promises.realpath(subPath); + } + catch (error) { + // pnpm leaves dangling symlinks when modules are removed + if (error.code === 'ENOENT') { + const stat = await fs.promises.lstat(subPath); + if (stat.isSymbolicLink()) { + continue; + } + } + throw error; + } + if (this.realModulePaths.has(realPath)) { + continue; + } + this.realModulePaths.add(realPath); + const moduleName = `${prefix}${modulePath}`; + if (this.prodDeps.has(moduleName) && + (!this.onlyModules || this.onlyModules.includes(moduleName))) { + this.modulesToRebuild.push(realPath); + } + if (modulePath.startsWith('@')) { + await this.findAllModulesIn(realPath, `${modulePath}/`); + } + if (fs.existsSync(path.resolve(nodeModulesPath, modulePath, 'node_modules'))) { + await this.findAllModulesIn(path.resolve(realPath, 'node_modules')); + } + } + } +} +//# sourceMappingURL=module-walker.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/module-walker.js.map b/node_modules/@electron/rebuild/lib/module-walker.js.map new file mode 100644 index 0000000..3e5cf0a --- /dev/null +++ b/node_modules/@electron/rebuild/lib/module-walker.js.map @@ -0,0 +1 @@ +{"version":3,"file":"module-walker.js","sourceRoot":"","sources":["../src/module-walker.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/node-api.d.ts b/node_modules/@electron/rebuild/lib/node-api.d.ts new file mode 100644 index 0000000..cdb2193 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/node-api.d.ts @@ -0,0 +1,8 @@ +export declare class NodeAPI { + private moduleName; + private electronVersion; + constructor(moduleName: string, electronVersion: string); + ensureElectronSupport(): void; + getVersionForElectron(): number; + getNapiVersion(moduleNapiVersions: number[]): number; +} diff --git a/node_modules/@electron/rebuild/lib/node-api.js b/node_modules/@electron/rebuild/lib/node-api.js new file mode 100644 index 0000000..0cc4671 --- /dev/null +++ b/node_modules/@electron/rebuild/lib/node-api.js @@ -0,0 +1,29 @@ +import { fromElectronVersion as napiVersionFromElectronVersion } from 'node-api-version'; +export class NodeAPI { + moduleName; + electronVersion; + constructor(moduleName, electronVersion) { + this.moduleName = moduleName; + this.electronVersion = electronVersion; + } + ensureElectronSupport() { + this.getVersionForElectron(); + } + getVersionForElectron() { + const electronNapiVersion = napiVersionFromElectronVersion(this.electronVersion); + if (!electronNapiVersion) { + throw new Error(`Native module '${this.moduleName}' requires Node-API but Electron v${this.electronVersion} does not support Node-API`); + } + return electronNapiVersion; + } + getNapiVersion(moduleNapiVersions) { + const electronNapiVersion = this.getVersionForElectron(); + // Filter out Node-API versions that are too high + const filteredVersions = moduleNapiVersions.filter((v) => v <= electronNapiVersion); + if (filteredVersions.length === 0) { + throw new Error(`Native module '${this.moduleName}' supports Node-API versions ${moduleNapiVersions.join(', ')} but Electron v${this.electronVersion} only supports Node-API v${electronNapiVersion}`); + } + return Math.max(...filteredVersions); + } +} +//# sourceMappingURL=node-api.js.map \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/node-api.js.map b/node_modules/@electron/rebuild/lib/node-api.js.map new file mode 100644 index 0000000..8f05aff --- /dev/null +++ b/node_modules/@electron/rebuild/lib/node-api.js.map @@ -0,0 +1 @@ +{"version":3,"file":"node-api.js","sourceRoot":"","sources":["../src/node-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,IAAI,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAEzF,MAAM,OAAO,OAAO;IACV,UAAU,CAAS;IACnB,eAAe,CAAS;IAEhC,YAAY,UAAkB,EAAE,eAAuB;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,qBAAqB;QACnB,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEjF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,UAAU,qCAAqC,IAAI,CAAC,eAAe,4BAA4B,CACvH,CAAC;QACJ,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,kBAA4B;QACzC,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEzD,iDAAiD;QACjD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC;QAEpF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,kBAAkB,IAAI,CAAC,UAAU,gCAAgC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,eAAe,4BAA4B,mBAAmB,EAAE,CACtL,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACvC,CAAC;CACF"} \ No newline at end of file diff --git a/node_modules/@electron/rebuild/lib/prebuild-shim.d.ts b/node_modules/@electron/rebuild/lib/prebuild-shim.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/node_modules/@electron/rebuild/lib/prebuild-shim.d.ts @@ -0,0 +1 @@ +export {};