SIGN IN SIGN UP

fix(visualization): unblock desktop packaging on Node 24 (yauzl@3) (#4501)

The release build's `npm run package` silently exited 0 producing no
dist/packages. @electron/packager extracts the electron binary via
extract-zip -> yauzl@2.10.0 -> fd-slicer@1.1.0, whose read stream stalls
on Node 24.16.0 and never emits 'end'. The awaited packager() promise
never settles, the event loop drains, and Node exits 0 — so the next
unguarded "List build artifacts" step fails on the missing dist/packages.

- Override extract-zip's yauzl to ^3.4.0 (drops fd-slicer); verified the
  win32/ia32 extraction and full appMain.js packaging resolve on Node
  24.16.0, and Node 22 still works.
- Guard appMain.js with a beforeExit check so an unsettled packaging
  promise fails loudly (exit 1) instead of silently exiting 0.

Co-authored-by: Christian Hühn <christian.huehn@maibornwolff.de>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
C
Christian Hühn committed
af03fd025f660757e258d840c27f90144a9a9d2d
Parent: c457728
Committed by GitHub <noreply@github.com> on 6/23/2026, 5:57:05 PM