I’ve found out so far, that electron-forge uses electron-packager which needs an electron built/erase (not 100% certain) but only accept it as zip via “electron-zip-dir” not a path.
Without using the zip-way I get this error in the build as it tries to connect to github to download electron:
[STARTED] Preparing to package application
17:15:05.739 › Settings not found, using default settings
[SUCCESS] Preparing to package application
[STARTED] Running packaging hooks
[STARTED] Running generateAssets hook
[STARTED] Running generateAssets hook from forgeConfig
[SUCCESS] Running generateAssets hook from forgeConfig
[SUCCESS] Running generateAssets hook
[STARTED] Running prePackage hook
[STARTED] [plugin-webpack] Preparing webpack bundles
[STARTED] Preparing native dependencies for x64
[TITLE] Preparing native dependencies
[SUCCESS] Preparing native dependencies
[STARTED] Building webpack bundles
[SUCCESS] Building webpack bundles
[SUCCESS] [plugin-webpack] Preparing webpack bundles
[SUCCESS] Running prePackage hook
[SUCCESS] Running packaging hooks
[STARTED] Packaging application
[DATA] Determining targets...
[STARTED] Packaging for x64 on linux
[STARTED] Copying files
[FAILED] getaddrinfo EAI_AGAIN github.com
[FAILED] getaddrinfo EAI_AGAIN github.com
[FAILED] getaddrinfo EAI_AGAIN github.com
An unhandled rejection has occurred inside Forge:
RequestError: getaddrinfo EAI_AGAIN github.com
at ClientRequest.<anonymous> (/nix/store/wvjff0fkrip9c8scn806rbi4shivdk3j-proton-mail-modules-unstable-20240321/node_modules/got/dist/source/core/index.js:970:111)
at Object.onceWrapper (node:events:633:26)
at ClientRequest.emit (node:events:530:35)
at ClientRequest.emit (node:domain:488:12)
at ClientRequest.origin.emit (/nix/store/wvjff0fkrip9c8scn806rbi4shivdk3j-proton-mail-modules-unstable-20240321/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
at TLSSocket.socketErrorListener (node:_http_client:495:9)
at TLSSocket.emit (node:events:518:28)
at TLSSocket.emit (node:domain:488:12)
at emitErrorNT (node:internal/streams/destroy:169:8)
at emitErrorCloseNT (node:internal/streams/destroy:128:3)
at processTicksAndRejections (node:internal/process/task_queues:82:21)
at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
If I create a zip from the electron-package sources trying to imitate a release:
proton-mail-unstable> [SUCCESS] Preparing to package application
proton-mail-unstable> [STARTED] Running packaging hooks
proton-mail-unstable> [STARTED] Running generateAssets hook
proton-mail-unstable> [STARTED] Running generateAssets hook from forgeConfig
proton-mail-unstable> [SUCCESS] Running generateAssets hook from forgeConfig
proton-mail-unstable> [SUCCESS] Running generateAssets hook
proton-mail-unstable> [STARTED] Running prePackage hook
proton-mail-unstable> [STARTED] [plugin-webpack] Preparing webpack bundles
proton-mail-unstable> [STARTED] Preparing native dependencies for x64
proton-mail-unstable> [TITLE] Preparing native dependencies
proton-mail-unstable> [SUCCESS] Preparing native dependencies
proton-mail-unstable> [STARTED] Building webpack bundles
proton-mail-unstable> [SUCCESS] Building webpack bundles
proton-mail-unstable> [SUCCESS] [plugin-webpack] Preparing webpack bundles
proton-mail-unstable> [SUCCESS] Running prePackage hook
proton-mail-unstable> [SUCCESS] Running packaging hooks
proton-mail-unstable> [STARTED] Packaging application
proton-mail-unstable> [DATA] Determining targets...
proton-mail-unstable> [STARTED] Packaging for x64 on linux
proton-mail-unstable> [STARTED] Copying files
proton-mail-unstable> [SUCCESS] Copying files
proton-mail-unstable> [STARTED] Preparing native dependencies
proton-mail-unstable>
proton-mail-unstable> An unhandled rejection has occurred inside Forge:
proton-mail-unstable> Error: EISDIR: illegal operation on a directory, read
proton-mail-unstable> error Command failed with exit code 1.
proton-mail-unstable> info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.