Skip to content

Tags: electron/rebuild

Tags

v4.1.0

Toggle v4.1.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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>

v4.0.6

Toggle v4.0.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: honor explicit empty --prebuild-tag-prefix (#1284)

Use nullish coalescing instead of logical OR when defaulting the
prebuild tag prefix, so an explicit empty string ('') is preserved
rather than being coerced back to the default 'v'.

Fixes #654

Co-authored-by: Claude <noreply@anthropic.com>

v4.0.5

Toggle v4.0.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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>

v4.0.4

Toggle v4.0.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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

v4.0.3

Toggle v4.0.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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>

v4.0.2

Toggle v4.0.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: force release (#1219)

v4.0.1

Toggle v4.0.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: return to node-gyp (#1185)

v4.0.0

Toggle v4.0.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
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>

v3.7.2

Toggle v3.7.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
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.

v3.7.1

Toggle v3.7.1's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
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>