Conversation
Replace npm with pnpm 10.33.0 to benefit from faster installs, stricter dependency resolution, and a more efficient node_modules structure. - Add packageManager field to package.json - Replace package-lock.json with pnpm-lock.yaml - Update CI and deploy workflows with pnpm/action-setup and pnpm commands - Update README.md command examples to use pnpm
There was a problem hiding this comment.
Pull request overview
Migrates the repository’s package manager from npm to pnpm, updating documentation and CI/CD workflows so installs/builds/tests run via pnpm with a committed pnpm-lock.yaml.
Changes:
- Added pnpm lockfile (
pnpm-lock.yaml) and configured the repo to use pnpm viapackageManagerinpackage.json. - Updated GitHub Actions CI and deploy workflows to install dependencies and run checks/tests/builds with pnpm.
- Updated README command examples from npm to pnpm.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates local development and post scaffolding commands to pnpm equivalents. |
| pnpm-lock.yaml | Adds pnpm lockfile to lock dependency graph for pnpm installs. |
| package.json | Pins pnpm toolchain via packageManager: pnpm@10.33.0. |
| .github/workflows/ci.yml | Switches CI install/test/check/build steps from npm to pnpm. |
| .github/workflows/deploy.yml | Switches deploy pipeline install/test/check/build steps from npm to pnpm. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 4/6 changed files
- Comments generated: 2
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Setup pnpm | ||
| uses: pnpm/action-setup@v4 |
There was a problem hiding this comment.
The workflow sets up pnpm via pnpm/action-setup@v4 but doesn’t pin the pnpm version. Since package.json now pins pnpm via the packageManager field (pnpm@10.33.0) and pnpm-lock.yaml is lockfileVersion 9 (pnpm 10), CI should explicitly install that version (or enable Corepack and rely on packageManager) to avoid accidental breakage if the action’s default changes.
| uses: pnpm/action-setup@v4 | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.33.0 |
| uses: actions/checkout@v6 | ||
|
|
||
| - name: Setup pnpm | ||
| uses: pnpm/action-setup@v4 |
There was a problem hiding this comment.
The workflow sets up pnpm via pnpm/action-setup@v4 but doesn’t pin the pnpm version. Since package.json now pins pnpm via the packageManager field (pnpm@10.33.0) and pnpm-lock.yaml is lockfileVersion 9 (pnpm 10), the deploy workflow should explicitly install that version (or enable Corepack and rely on packageManager) to keep builds deterministic.
| uses: pnpm/action-setup@v4 | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.33.0 |
Summary
packageManagerfield topackage.json(enables Corepack support)package-lock.jsonwithpnpm-lock.yaml.github/workflows/ci.yml) and deploy (.github/workflows/deploy.yml) workflows to usepnpm/action-setup@v4and pnpm commandsREADME.mdcommand examples to use pnpm