Skip to content

build: switch project to pnpm#58

Merged
kunchenguid merged 4 commits into
mainfrom
chore/use-pnpm
May 12, 2026
Merged

build: switch project to pnpm#58
kunchenguid merged 4 commits into
mainfrom
chore/use-pnpm

Conversation

@kunchenguid
Copy link
Copy Markdown
Owner

What Changed

  • Replaced npm package management with pnpm via packageManager, pnpm-lock.yaml, and pnpm-workspace.yaml, removing package-lock.json.
  • Updated CI, release, and airlock lint workflows to install with pnpm install --frozen-lockfile and run tooling through pnpm.
  • Updated contributor documentation for pnpm commands and added coverage for the airlock lint helper behavior.

Risk Assessment

✅ Low: The changes are narrowly scoped to switching install, CI, and lint helper commands from npm/npx to pnpm, with the prior npm fallback issue addressed and no material new risks found.

Testing

  • Summary: Exercised pnpm lockfile installation and the full Vitest suite for the pnpm migration; all completed successfully.
  • pnpm install --frozen-lockfile
  • pnpm test
  • Outcome: ✅ passed across 1 run (59.9s)

Pipeline

Updates from git push no-mistakes

⏭️ **intent** - skipped

Round 1 - passed ✅

✅ **Rebase** - passed

Round 1 - passed ✅

🔧 **Review** - 1 issue found → auto-fixed

Round 1 - found 1 warning

  • ⚠️ package.json:4 - Switching the repository to pnpm leaves the no-mistakes lint helper on its npm fallback path when dependencies are missing, so clean local/gate runs for future TypeScript changes can ignore pnpm-lock.yaml and the pnpm workspace supply-chain settings by running npm install --ignore-scripts; update that helper to install with pnpm or remove the npm fallback.

Round 2 (auto-fix) - passed ✅

✅ **Test** - passed

Round 1 - passed ✅

  • pnpm install --frozen-lockfile
  • pnpm test
🔧 **Document** - 2 issues found → auto-fixed

Round 1 - found 2 warnings

  • ⚠️ README.md:226 - The change switches the project development workflow from npm/npx to pnpm by adding packageManager "pnpm@11.1.1", replacing package-lock.json with pnpm-lock.yaml, updating CI/release installs to pnpm install --frozen-lockfile, and changing the airlock lint script to use pnpm exec. The README Development section still documents npm run build, npm run dev, npm test, and npm run test:watch, and the Session Hooks note still names npm run dev as the development entrypoint. Update these developer commands to the pnpm equivalents so contributors follow the new package manager.
  • ⚠️ CONTRIBUTING.md:36 - The repository conventions still instruct contributors to run npm run build and npm test before pushing, but this branch changes CI and local tooling to pnpm with a pnpm lockfile and packageManager declaration. Update the pre-push commands to pnpm run build and pnpm test, and consider noting pnpm as the required package manager in the repo conventions.

Round 2 (auto-fix) - passed ✅

🔧 **Lint** - 2 issues found → auto-fixed

Round 1 - found 2 warnings

  • ⚠️ README.md:1 - Prettier reported code style issues in this changed Markdown file. Run pnpm exec prettier --write README.md to normalize formatting.
  • ⚠️ pnpm-lock.yaml:1 - Prettier reported code style issues in this changed YAML lockfile. Run pnpm exec prettier --write pnpm-lock.yaml to normalize formatting.

Round 2 (auto-fix) - passed ✅

✅ **Push** - passed

Round 1 - passed ✅

@kunchenguid kunchenguid merged commit 35fffaf into main May 12, 2026
3 checks passed
@kunchenguid kunchenguid deleted the chore/use-pnpm branch May 12, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant