Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 7, 2025

Migrates the monorepo from npm to pnpm as the package manager. pnpm's strict dependency resolution exposed phantom dependencies that were previously masked by npm's flat hoisting.

Package Manager Migration

  • Replaced package-lock.json with pnpm-lock.yaml (lockfile v9.0)
  • Created pnpm-workspace.yaml for workspace configuration
  • Updated lerna.json npmClient to pnpm
  • Updated devcontainer to install pnpm on creation

Dependency Resolution Fixes

pnpm's strict isolation revealed missing direct dependencies:

core package:

  • globals, type-fest (used in code but not declared)

react package:

  • globals, @types/node (required by source files)
  • @eslint/js, typescript-eslint, eslint-config-prettier, eslint-plugin-jest, eslint, typescript (required by eslint.config.mjs)

Script Updates

Updated all package.json scripts to use pnpm syntax with proper -- separator:

"test": "pnpm run jest -- --maxWorkers=50%"

Test Infrastructure

  • Updated test-project.ts to copy pnpm-lock.yaml instead of package-lock.json
  • Fixed PackageManagerService.spec.ts to remove all lock files before testing specific package managers
  • Updated snapshots for pnpm command generation in migrations

Known Issue: 2 e2e tests fail due to pre-existing patch-package error when installing Vite dependencies (unrelated to pnpm migration).


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits November 7, 2025 16:59
Co-authored-by: neilime <314088+neilime@users.noreply.github.com>
Co-authored-by: neilime <314088+neilime@users.noreply.github.com>
Co-authored-by: neilime <314088+neilime@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate repo to use pnpm instead of npm Migrate repository from npm to pnpm Nov 7, 2025
Copilot AI requested a review from neilime November 7, 2025 17:14
Copilot finished work on behalf of neilime November 7, 2025 17:14
@neilime neilime marked this pull request as ready for review November 7, 2025 17:56
@neilime neilime merged commit d4f957c into feat/supports-pnpm Nov 7, 2025
1 check passed
@neilime neilime deleted the copilot/sub-pr-1629 branch November 7, 2025 17:56
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