#51886: refactor: use @electron-internal/extract-zip in the npm package
Description of Change
Closes #51619
Switches the published electron npm package from extract-zip to @electron-internal/extract-zip, a drop-in replacement maintained at electron/extract-zip that uses prebuilt native bindings for extraction.
The package is ESM-only, so the require() in install.js now destructures the named extract export — supported on the Node versions the package already requires (engines: >= 22.12.0).
Verified locally on macOS arm64 by stamping the npm/ folder as electron@42.3.3 and running the full install flow: the zip downloads and extracts, cli.js --version launches the app, and the extracted output (file list, content hashes, symlinks, permissions) is byte-identical to what extract-zip@2.0.1 produces.
Checklist
- PR description included and stakeholders cc'd
- PR title follows semantic commit guidelines
Release Notes
Notes: none
Backports
Semver Impact
Semantic Versioning helps users understand the impact of updates:
- Major (X.y.z): Breaking changes that may require code modifications
- Minor (x.Y.z): New features that maintain backward compatibility
- Patch (x.y.Z): Bug fixes that don't change the API
- None: Changes that don't affect using facing parts of Electron