Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,23 +22,28 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 9

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache: 'pnpm'

- name: Install dependencies
run: npm ci
run: pnpm install --frozen-lockfile
Comment on lines 36 to +37

Copilot AI Jan 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR updates the CI workflow to use pnpm, but the repository still contains package-lock.json (9951 lines) which is npm's lockfile. This file is incompatible with pnpm and should be removed since pnpm-lock.yaml is now the authoritative lockfile. Additionally, CONTRIBUTING.md still references npm commands throughout (lines 10, 23, 35, 41, 47, 53) instead of pnpm, which will confuse contributors and lead them to use the wrong package manager.

Copilot uses AI. Check for mistakes.
Comment on lines +25 to +37

Copilot AI Jan 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While only ci.yml has been updated to use pnpm, other workflow files in the repository still use npm, which will fail with the same "Unsupported URL Type workspace:" error. The following workflows also need to be migrated to pnpm:

  • .github/workflows/code-quality.yml (lines 31, 34, 48, 51)
  • .github/workflows/release.yml (lines 25, 28, 31, and line 38 which references package-lock.json in the release archive)

All npm references in these workflows should be updated to use pnpm with the same setup pattern as implemented in ci.yml.

Copilot uses AI. Check for mistakes.

- name: Run linter
run: npm run lint
run: pnpm run lint

- name: Build project
run: npm run build
run: pnpm run build

- name: Run tests
run: npm test
run: pnpm test
Comment on lines +40 to +46

Copilot AI Jan 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description's testing section states that tests were run using npm commands (e.g., "npm test", "npm run lint", "npm run build"), but since this PR migrates from npm to pnpm, these tests should have been executed using pnpm commands instead. This creates a discrepancy between what was tested and what the PR changes implement.

Copilot uses AI. Check for mistakes.

- name: Upload build artifacts
if: matrix.node-version == '20.x'
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,6 @@
},
"engines": {
"node": ">=18.0.0",
"pnpm": ">=8.0.0"
"pnpm": ">=9.0.0"

Copilot AI Jan 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pnpm version requirement has been updated to >=9.0.0, but this is inconsistent with the documentation in README.md which still states "pnpm 8+ (recommended for monorepo management)" at line 143. The documentation should be updated to reflect the new minimum version requirement of pnpm 9.0.0.

Suggested change
"pnpm": ">=9.0.0"
"pnpm": ">=8.0.0"

Copilot uses AI. Check for mistakes.
}
}