Is your feature request related to a problem? Please describe.
The project currently uses npm, which copies every dependency per project and allows phantom dependencies (packages imported without being declared in package.json). This can silently mask missing declarations and leads to slower, heavier installs.
Describe the solution you'd like
Migrate to pnpm as the official package manager:
- Remove
package-lock.json and generate pnpm-lock.yaml via pnpm import
- Add
"packageManager": "pnpm@x.y.z" to package.json (enforced via corepack)
- Update all CI workflows (
.github/workflows/*.yml) to use pnpm/action-setup + pnpm install --frozen-lockfile
- Update
README / CONTRIBUTING install instructions
- Carry over
legacy-peer-deps=true via .npmrc if still needed
Describe alternatives you've considered
Staying on npm or migrating to yarn. Both copy every dependency per project (no shared store), allow phantom dependencies, and offer no meaningful improvement over the current setup.
Additional context
pnpm uses a content-addressable store with symlinks, reducing disk usage and install time significantly on CI and local machines. Strict dependency resolution catches undeclared imports at install time rather than at runtime.
Is your feature request related to a problem? Please describe.
The project currently uses npm, which copies every dependency per project and allows phantom dependencies (packages imported without being declared in
package.json). This can silently mask missing declarations and leads to slower, heavier installs.Describe the solution you'd like
Migrate to pnpm as the official package manager:
package-lock.jsonand generatepnpm-lock.yamlviapnpm import"packageManager": "pnpm@x.y.z"topackage.json(enforced via corepack).github/workflows/*.yml) to usepnpm/action-setup+pnpm install --frozen-lockfileREADME/CONTRIBUTINGinstall instructionslegacy-peer-deps=truevia.npmrcif still neededDescribe alternatives you've considered
Staying on npm or migrating to yarn. Both copy every dependency per project (no shared store), allow phantom dependencies, and offer no meaningful improvement over the current setup.
Additional context
pnpm uses a content-addressable store with symlinks, reducing disk usage and install time significantly on CI and local machines. Strict dependency resolution catches undeclared imports at install time rather than at runtime.