Tags: electron/rebuild
Tags
feat: allow setting dist URL via ELECTRON_REBUILD_DIST_URL env var (#… …1287) Fall back to the ELECTRON_REBUILD_DIST_URL environment variable when the --dist-url flag is not provided. This makes it easier to configure a custom header/dist URL in packaging and CI contexts (mirrors, proxies, AUR build scripts) where threading a CLI flag through is awkward. The --dist-url flag takes precedence when both are set. Closes #301 Co-authored-by: Claude <noreply@anthropic.com>
fix: add --platform CLI argument (#1285) The platform option is a documented RebuildOptions field used by the rebuild() API, but the CLI never defined a --platform flag nor passed platform through, so it always defaulted to process.platform. Add a platform entry to the CLI options object and thread platform: argv.platform into the rebuild() call alongside arch. Fixes #1240 Claude-Session: https://claude.ai/code/session_01Pz3ypFU3omZPd7LFeTcSEU Co-authored-by: Claude <noreply@anthropic.com>
fix: minimize production dependency tree (#1244) * refactor: drop heavy dependencies in favor of node builtins Replace several third-party dependencies with small inline implementations or Node.js builtins: - debug → minimal logger gated on DEBUG env var - detect-libc → process.report-based glibc/musl detection - got → native fetch - graceful-fs → node:fs (drop promisifiedGracefulFs wrapper) - ora → tiny TTY spinner using util.styleText - semver, tar, yargs → node builtins / simpler equivalents Also bumps node-gyp to ^12.2.0. * refactor: address review feedback on dependency reduction - Restore `debug` dependency for consistency with other @electron packages - Remove spinner entirely instead of inlining (CLI is primarily a packager/forge hook, not used directly) - Add `modules-found` lifecycle event so CLI can print all module names in one line before building starts * refactor: address review feedback - Remove src/debug.ts wrapper, inline debug() per-file (restores the pattern on main, allows per-file namespace suffixes later) - Add TSDoc to detectLibcFamily documenting return values - Drop the copyright line from CLI help output * fix: restore direct debug import in module-setup test helper
fix: upgrade to tar@7.5.6 (#1228) * security(deps): tar@7.5.3 - upgrades tar to latest release to resolve security vulnerability - changed to namespace import to match new tar@7 export style - removed @types/tar, as types are built-in now https://github.com/isaacs/node-tar/commits/v7.5.3 chore(deps): tar@7.5.4 https://github.com/isaacs/node-tar/commits/v7.5.4 revert lockfile changes update to latest Co-authored-by: Avi Vahl <avi@vahl.co.il> * reup glob * deduplicate minizlib --------- Co-authored-by: Avi Vahl <avi@vahl.co.il>
feat!: bump `engines` requirement to Node 22 (#1167) BREAKING CHANGE: bumps required Node.js version to >=22.12.0. ESM-only. * update to follow latest recommendations * remove unused `nodeGypPath` field from `Rebuilder` * fix tests * remove default export * update Node version in `release.yml` * move ESLint config out of `package.json` * update `typescript` version * rename `compile` script to `build` * update imports * replace `fs-extra` with `graceful-fs` * update `@typescript-eslint/` deps to fix lint * esm: update imports * esm: replace `__dirname` with `import.meta.dirname` * esm: `require` is no longer required * replace `ts-node` with `tsx` to fix tests * docs: provide both CJS and ESM examples * update deps and examples * use `util.promisify` for `graceful-fs` methods * ci: add documentation build on release (#1184) * build: format docs.yml --------- Co-authored-by: Erick Zhao <erick@hotmail.ca> Co-authored-by: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
fix: runtime error after removing pnpm module (#1181) When removing a pnpm module, pnpm might leave a dangling symbolic link to the folder that no longer exists. In this case `realpath` call will fail with ENOENT and fail the build that could otherwise continue without issues.
fix: enforce extraModules to be a set of strings (#888) * fix: usage of this.prodDeps as a Set<string> For some reason TypeScript is AOK with stuffing `Set` objects with random keys. This is problematic as this is not how `Set` are supposed to be used (like a plain JavaScript object map). Fix the logic to respect the `-w/--which-module` CLI argument. * simplify tests * test: add simple, fast test --------- Co-authored-by: Mark Lee <electronjs@lazymalevolence.com> Co-authored-by: Erick Zhao <erick@hotmail.ca>
PreviousNext