You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I agree to follow the code of conduct that this project uses.
I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Problem description
When using pnpm, forge requires node-linker=hoisted in the project's .npmrc configuration. If the project is a monorepo with electorn inside e.g root/app, node-linker=hoisted means all node-modules are hoisted into the root/node_modules.
However electron-forge expects the node-modules to be present in the apps-root (root/app/node_modules) and therewith wont resolve native modules during build...
Proposed solution
Support linked node-modules to be compatible with pnpm stores
Alternatives considered
Additional information
No response
Reacted by Will, Christian Hartinger, Amir Gal Or, Ricardo Sánchez ⨁, Mike Reczek, Archibald Perez, Joong-Won Seo, Kuro, Hajanirina Ridjvan RANDRIANANDRAINA, Steven Hanse (Malashuy) and 4 more
Seems like a main blocker is the usage of flora-colossus, which expects the modules to exist next to the package.json. Otherwise it'll throw the error Failed to locate module "${moduleName}" from "${modulePath}" - view source
Actually, node-linker=hoisted is not required. So I remove the logic of checking node-linker=hoisted, by pnpm patch. Then the monorepo works. The code is in @electron-forge/cli/dist/util/check-system.js, line 47.
Activity
Dominic-Marcelino commentedon Mar 24, 2026
Seems like a main blocker is the usage of flora-colossus, which expects the modules to exist next to the package.json. Otherwise it'll throw the error
Failed to locate module "${moduleName}" from "${modulePath}"- view sourcexorweak commentedon May 16, 2026
+1
electron-demo: switch main-process bundler from tsup to esbuild
kingkongdog commentedon Jul 22, 2026
Actually, node-linker=hoisted is not required. So I remove the logic of checking node-linker=hoisted, by pnpm patch. Then the monorepo works. The code is in @electron-forge/cli/dist/util/check-system.js, line 47.
chore(pnpm): drop node-linker=hoisted; electron-builder 26; declare t…
feat(ci): run CI on the home server with GitHub fallback; move sensit…
ci(select-runner): run the selector from the default branch, not the …