-
Notifications
You must be signed in to change notification settings - Fork 0
feat: finalize pnpm migration #727
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR completes the migration from npm to pnpm across the entire codebase, including CI workflows, shell scripts, Python scripts, documentation, and test files. It also fixes a latent bug in InviteUserDialog where schema imports were causing runtime errors in client components.
Key Changes
- CI Infrastructure: Updated GitHub Actions workflow with pnpm setup, frozen lockfile installs, and proper cache keys using pnpm-lock.yaml
- Schema Import Fix: Separated InviteUserDialog's schema import from the actions file to prevent runtime errors in client components (schemas should not be re-exported from "use server" action files when consumed by client components)
- Comprehensive Documentation: Updated all references from npm to pnpm across developer docs, testing guides, technical plans, and agent instructions
Reviewed changes
Copilot reviewed 41 out of 42 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/ci.yml |
Added pnpm setup action, updated cache keys to pnpm-lock.yaml, changed install commands to frozen lockfile, renamed audit job from npm-audit to pnpm-audit |
.github/dependabot.yml |
Changed package-ecosystem from "npm" to "pnpm" for dependency updates |
.github/copilot-instructions.md |
Updated all npm run commands to pnpm run in documentation |
.github/instructions/testing.instructions.md |
Updated test runner output redirection example from npm to pnpm |
.husky/pre-commit |
Updated typecheck and format commands to use pnpm |
.devcontainer/bootstrap.sh |
Updated install commands and dev instructions to use pnpm |
.claude/agents/enforcer.md |
Updated forbidden commands and examples to use pnpm |
.claude/skills/pinpoint-*/SKILL.md |
Updated all skill documentation command examples to use pnpm |
src/components/users/InviteUserDialog.tsx |
Separated schema import from actions to fix client component runtime error |
src/app/(app)/admin/users/actions.ts |
Removed schema re-export to prevent client component import issues |
src/test/unit/invite-user-validation.test.ts |
Updated import to use schema file directly instead of actions |
src/test/unit/global-setup.test.ts |
Updated all test expectations to use pnpm commands |
src/test/setup/pglite.ts |
Updated comment to reference pnpm command |
src/test/setup/README.md |
Updated all examples to use pnpm commands |
src/test/README.md |
Updated all command examples to use pnpm |
scripts/*.sh |
Updated all shell scripts to use pnpm commands (db reset, seeding, CI, E2E, integration tests) |
scripts/*.mjs |
Updated Node.js scripts to use pnpm commands |
scripts/*.py |
Updated Python script method names and command strings from npm to pnpm |
scripts/README.md |
Updated documentation to reference pnpm commands |
docs/**/*.md |
Comprehensive update of all documentation files with pnpm commands |
playwright.config.ts |
Updated webServer command to use pnpm |
e2e/global-setup.ts |
Updated all database setup commands to use pnpm |
AGENTS.md, CLAUDE.md, GEMINI.md, README.md |
Updated main documentation files with pnpm commands |
| # npm dependencies with different cooldowns per update type | ||
| - package-ecosystem: "npm" | ||
| # pnpm dependencies with different cooldowns per update type | ||
| - package-ecosystem: "pnpm" |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The package-ecosystem has been correctly changed to "pnpm", but the label on line 36 (not shown in the diff) still says "npm". This should be updated to "pnpm" for consistency with the package ecosystem change.
.husky/pre-commit
Outdated
| #!/usr/bin/env sh | ||
| set -e | ||
|
|
||
| npx lint-staged |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency with the pnpm migration, this should be changed to "pnpm exec lint-staged" instead of "npx lint-staged". While npx will work, using pnpm exec ensures all package management is handled through pnpm and is consistent with the rest of the migration.
| npx lint-staged | |
| pnpm exec lint-staged |
This PR completes the migration to pnpm by updating the CI workflow, Husky hooks, documentation, and all internal scripts. It also removes the obsolete package-lock.json and fixes a latent bug in InviteUserDialog where schema imports were causing runtime errors in client components.