Skip to content

Conversation

@timothyfroehlich
Copy link
Owner

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.

Copilot AI review requested due to automatic review settings January 7, 2026 16:03
@vercel
Copy link

vercel bot commented Jan 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
pin-point Ready Ready Preview, Comment Jan 8, 2026 0:33am

Copy link
Contributor

Copilot AI left a 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"
Copy link

Copilot AI Jan 7, 2026

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.

Copilot uses AI. Check for mistakes.
#!/usr/bin/env sh
set -e

npx lint-staged
Copy link

Copilot AI Jan 7, 2026

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.

Suggested change
npx lint-staged
pnpm exec lint-staged

Copilot uses AI. Check for mistakes.
@timothyfroehlich timothyfroehlich merged commit 2ff50f7 into main Jan 8, 2026
16 checks passed
@timothyfroehlich timothyfroehlich deleted the feature/pnpm-migration-finalization branch January 8, 2026 00:45
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.

2 participants