# pnpm settings (pnpm ≥10 reads these from pnpm-workspace.yaml, not package.json). # Flat npm-style node_modules: electron-forge's Vite dep-optimizer emits chunks # that re-import sub-deps (@tanstack/query-core, @radix-ui/primitive, …) by bare # specifier, which only resolve in a hoisted layout. .npmrc's node-linker=hoisted # is ignored by pnpm ≥10, so it must live here. nodeLinker: hoisted # Electron's postinstall downloads the runtime binary into node_modules/electron/dist; # without this approval pnpm skips it and `electron-forge start` cannot launch. allowBuilds: electron: true electron-winstaller: true # @electron/rebuild (via electron-forge) depends on @electron/node-gyp as a git # URL; pnpm 11's blockExoticSubdeps default rejects it on every re-resolution, # which would make any `pnpm add` fail in this project. blockExoticSubdeps: false # pnpm 11 defaults to a 24h supply-chain quarantine for fresh releases, which # kept rejecting routine transitive bumps (electron-to-chromium, semver, …) and # blocked every install. .npmrc's minimum-release-age=0 is ignored by pnpm ≥10, # so the opt-out has to live here. minimumReleaseAge: 0