feat: switch package manager to pnpm Refs: NS-211#49
Conversation
📝 WalkthroughWalkthroughCI and release workflows switch reusable workflow references from ci-node.yml to ci-pnpm-node.yml. Git hooks, ignore files, and package.json/pnpm-workspace.yaml migrate tooling from yarn to pnpm. Separately, hds-react is upgraded to v5 across peer/dev dependencies, type stubs, and README instructions. ChangesYarn to pnpm migration
Estimated code review effort: 2 (Simple) | ~10 minutes hds-react v5 dependency upgrade
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Dependency ReviewThe following issues were found:
|
|
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.husky/pre-commit (1)
2-2: 📐 Maintainability & Code Quality | 🔵 TrivialConsider using
--runfor consistency with the project convention.The
test:coveragescript inpackage.jsonusesvitest --run, while the pre-commit hook uses--no-watch. Both are functionally equivalent in vitest, but--runis more idiomatic and consistent with the existing project convention.♻️ Suggested consistency fix
-pnpm test --no-watch +pnpm test --run🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.husky/pre-commit at line 2, The pre-commit hook uses a nonstandard Vitest flag, so update the command in the pre-commit script to match the project’s existing convention used by the test:coverage script. Locate the test invocation in the pre-commit hook and replace the current Vitest option with the more idiomatic run mode so the hook stays consistent with the rest of the repository.pnpm-workspace.yaml (1)
10-11: 📐 Maintainability & Code Quality | 🔵 TrivialTrack
shamefullyHoist: truefor future removal.
shamefullyHoistflattensnode_modulesto mimic npm/yarn behavior, which is useful during migration but masks real peer dependency issues and defeats pnpm's strict isolation. Consider tracking its removal once the codebase is stable on pnpm.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@pnpm-workspace.yaml` around lines 10 - 11, The workspace is still relying on shamefullyHoist in the pnpm configuration, so add a clear removal plan for this compatibility workaround and track it for cleanup once the codebase is stable on pnpm. Update the pnpm-workspace setup around shamefullyHoist so it is treated as a temporary migration aid, and ensure the relevant workspace/package management config notes the future removal target.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In @.husky/pre-commit:
- Line 2: The pre-commit hook uses a nonstandard Vitest flag, so update the
command in the pre-commit script to match the project’s existing convention used
by the test:coverage script. Locate the test invocation in the pre-commit hook
and replace the current Vitest option with the more idiomatic run mode so the
hook stays consistent with the rest of the repository.
In `@pnpm-workspace.yaml`:
- Around line 10-11: The workspace is still relying on shamefullyHoist in the
pnpm configuration, so add a clear removal plan for this compatibility
workaround and track it for cleanup once the codebase is stable on pnpm. Update
the pnpm-workspace setup around shamefullyHoist so it is treated as a temporary
migration aid, and ensure the relevant workspace/package management config notes
the future removal target.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 305b2cd3-7269-4a76-b495-3a5ba6cedf8a
⛔ Files ignored due to path filters (2)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yamlyarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (9)
.github/workflows/ci.yaml.github/workflows/release-please.yml.gitignore.husky/pre-commit.prettierignoreREADME.mdlib/types.d.tspackage.jsonpnpm-workspace.yaml
💤 Files with no reviewable changes (1)
- lib/types.d.ts



Switch package manager from Yarn Classic to pnpm.
Summary by CodeRabbit
New Features
Documentation
Chores