refactor: move the TypeScript pnpm CLI into a pnpm11/ directory#12537
Conversation
The TypeScript pnpm CLI freezes at v11; pnpm 12 will be the Rust pacquet port. To make that split legible, all TypeScript source, test, and build directories move under a new top-level pnpm11/ directory. The name states the version boundary rather than implying a behavioral fork, since the two stacks are meant to behave identically. Scope is source-only: the shared workspace root stays at the repo root. pnpm-workspace.yaml, package.json, pnpm-lock.yaml, .pnpmfile.cjs, .meta-updater, __patches__, .changeset, .husky, and the lint/spell configs remain in place, so one pnpm workspace and one Cargo workspace still span all three products. pnpr/client and pacquet/tasks/registry-mock stay as cross-product workspace members. Rewiring the move required: - pnpm-workspace.yaml globs prefixed with pnpm11/ - root package.json script paths, eslint.config.mjs, tsconfig.lint.json, .gitignore, and CODEOWNERS updated - .meta-updater/src/index.ts literals repointed (pnpm11/pnpm/package.json, pnpm11/__utils__, pnpm11/__typings__, and the main package directory) - regenerated every moved package's repository/homepage URL via meta-updater - pnpm11/pnpm/bundle-deps.ts now climbs two levels to the workspace root instead of one, so the published bundle's deploy still runs from the root .meta-updater stays at the repo root because `@pnpm/meta-updater` resolves its config at <cwd>/.meta-updater/main.mjs. TS CI (.github/workflows/ci.yml) now only runs when pnpm11/-relevant paths change, via a dorny/paths-filter changes job plus a TS CI / Success aggregate gate; branch protection should require only that gate.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAll workspace package globs, root config scripts, CI workflow artifact paths, ESLint and Changespnpm11/ workspace reorganization
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
✨ Finishing Touches🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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.
Inline comments:
In @.github/workflows/create-release-pr.yml:
- Line 85: The pnpm11 relocation was partially completed in the workflow file.
While line 85 was updated to reference the new pnpm11/pnpm/package.json path,
lines 58 and 65 still contain references to the old pre-relocation script paths.
Update both of these lines to use the new pnpm11/ path prefix structure to match
the pattern used in line 85, ensuring all pnpm path references are consistent
and the workflow will not fail due to missing-file errors during release PR
creation.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 5668978f-71bf-4b7c-bf42-0b40609723e4
⛔ Files ignored due to path filters (217)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!pnpm-lock.yamlpnpm11/__fixtures__/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/circular/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/circular/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/custom-modules-dir/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/custom-modules-dir/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/custom-modules-dir/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/custom-modules-dir/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/custom-modules-dir/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/empty/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/empty/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-external-shrinkwrap/pkg/.npmrcis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-external-shrinkwrap/pkg/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-external-shrinkwrap/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-external-shrinkwrap/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-no-pkg-name-and-no-version/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-no-pkg-name-and-no-version/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-no-pkg-version/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixture-with-no-pkg-version/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/fixture/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixture/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/fixtureWithLinks/general/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixtureWithLinks/general/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/fixtureWithLinks/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixtureWithLinks/with-links-only/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/fixtureWithLinks/with-links-only/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/general/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/general/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-2-outdated-deps/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-2-outdated-deps/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-2-outdated-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-2-outdated-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-2-outdated-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-major-outdated-deps/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-major-outdated-deps/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-major-outdated-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-major-outdated-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-major-outdated-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-no-lockfile/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-no-lockfile/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/node_modules/.modules.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/node_modules/is-negativeis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/node_modules/is-positiveis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-not-outdated-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-npm-shrinkwrap-json/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-npm-shrinkwrap-json/npm-shrinkwrap.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-npm-shrinkwrap-json/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-only-deprecated-deps/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-only-deprecated-deps/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-only-deprecated-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-only-deprecated-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-only-deprecated-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-and-external-shrinkwrap/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-and-external-shrinkwrap/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-and-external-shrinkwrap/pkg/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-and-external-shrinkwrap/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-and-external-shrinkwrap/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.modules.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/index.jsis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/licenseis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/package.jsonis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/readme.mdis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.1/node_modules/is-negative/index.jsis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.1/node_modules/is-negative/licenseis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.1/node_modules/is-negative/package.jsonis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/is-negative@1.0.1/node_modules/is-negative/readme.mdis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/node_modules/is-negativeis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-catalog-protocol/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/.modules.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/index.jsis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/licenseis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/package.jsonis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/.pnpm/is-negative@1.0.0/node_modules/is-negative/readme.mdis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/node_modules/is-negative-aliasis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps-using-npm-alias/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps/node_modules/.pnpm/lock.yamlis excluded by!**/node_modules/**,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/has-outdated-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-package-lock-json/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-package-lock-json/package-lock.jsonis excluded by!**/package-lock.json,!**/__fixtures__/**pnpm11/__fixtures__/has-package-lock-json/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-package-lock-v3-json/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-package-lock-v3-json/package-lock.jsonis excluded by!**/package-lock.json,!**/__fixtures__/**pnpm11/__fixtures__/has-package-lock-v3-json/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-yarn-lock/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-yarn-lock/.npmrcis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-yarn-lock/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-yarn-lock/yarn.lockis excluded by!**/yarn.lock,!**/*.lock,!**/__fixtures__/**pnpm11/__fixtures__/has-yarn2-lock/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-yarn2-lock/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/has-yarn2-lock/yarn.lockis excluded by!**/yarn.lock,!**/*.lock,!**/__fixtures__/**pnpm11/__fixtures__/hello-world-js-bin/index.jsis excluded by!**/__fixtures__/**pnpm11/__fixtures__/hello-world-js-bin/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/local-pkg/index.jsis excluded by!**/__fixtures__/**pnpm11/__fixtures__/local-pkg/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/local-pkg/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/local-scoped-pkg/index.jsis excluded by!**/__fixtures__/**pnpm11/__fixtures__/local-scoped-pkg/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/local-scoped-pkg/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/monorepo/package/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/monorepo/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/monorepo/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/multiple-scripts-error-exit/dev-bar.jsis excluded by!**/__fixtures__/**pnpm11/__fixtures__/multiple-scripts-error-exit/dev-foo.jsis excluded by!**/__fixtures__/**pnpm11/__fixtures__/multiple-scripts-error-exit/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/multiple-scripts-error-exit/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/multiple-scripts-error-exit/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/multiple-scripts-error-exit/process-foo.jsis excluded by!**/__fixtures__/**pnpm11/__fixtures__/package.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/pkg-with-external-lockfile/pkg/.npmrcis excluded by!**/__fixtures__/**pnpm11/__fixtures__/pkg-with-external-lockfile/pkg/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/pkg-with-external-lockfile/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/pkg-with-external-lockfile/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-aliased-dep/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-aliased-dep/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-file-dep/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-file-dep/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-git-protocol-dep/cache/metadata-v1.3/localhost+7769/is-number.v8is excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-git-protocol-dep/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-git-protocol-dep/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-non-package-dep/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-non-package-dep/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-peer/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-peer/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-pnpm-update-ignore/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-pnpm-update-ignore/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-pnpm-update-ignore/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-unsaved-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/with-unsaved-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/with-unsaved-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-external-depends-deep/.npmrcis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-external-depends-deep/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-external-depends-deep/packages/f/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-external-depends-deep/packages/g/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-external-depends-deep/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-external-depends-deep/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/npm-shrinkwrap.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-npm-shrinkwrap-json/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/package-lock.jsonis excluded by!**/package-lock.json,!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-package-lock-json/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/.gitignoreis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-has-shared-yarn-lock/yarn.lockis excluded by!**/yarn.lock,!**/*.lock,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-2-pkgs/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-2-pkgs/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-2-pkgs/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-2-pkgs/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-2-pkgs/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-different-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-different-deps/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-different-deps/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-different-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-different-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-dupes/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-dupes/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-dupes/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-dupes/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-dupes/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-subdep-dupes/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-subdep-dupes/packages/bar/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-subdep-dupes/packages/foo/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-subdep-dupes/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-lockfile-subdep-dupes/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-nested-workspace-deps/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-nested-workspace-deps/packages/a/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-nested-workspace-deps/packages/b/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-nested-workspace-deps/packages/c/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-nested-workspace-deps/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-nested-workspace-deps/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-private-pkgs/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-private-pkgs/packages/private/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-private-pkgs/packages/public/package.jsonis excluded by!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-private-pkgs/pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/__fixtures__/**pnpm11/__fixtures__/workspace-with-private-pkgs/pnpm-workspace.yamlis excluded by!**/__fixtures__/**pnpm11/__typings__/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/assert-project/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/assert-project/test/fixture/project/pnpm-lock.yamlis excluded by!**/pnpm-lock.yamlpnpm11/__utils__/assert-store/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/assert-store/test/fixture/project/pnpm-lock.yamlis excluded by!**/pnpm-lock.yamlpnpm11/__utils__/eslint-config/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/get-release-text/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/jest-config/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/prepare-temp-dir/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/prepare/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/scripts/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/test-fixtures/CHANGELOG.mdis excluded by!**/CHANGELOG.mdpnpm11/__utils__/test-ipc-server/CHANGELOG.mdis excluded by!**/CHANGELOG.md
📒 Files selected for processing (83)
.github/CODEOWNERS.github/workflows/benchmark.yml.github/workflows/ci.yml.github/workflows/create-release-pr.yml.github/workflows/ecosystem-e2e.yml.gitignore.meta-updater/src/index.ts.meta-updater/tsconfig.json.meta-updater/tsconfig.lint.jsoneslint.config.mjspackage.jsonpnpm-workspace.yamlpnpm11/__typecheck__/.gitignorepnpm11/__typecheck__/package.jsonpnpm11/__typings__/index.d.tspnpm11/__typings__/local.d.tspnpm11/__typings__/package.jsonpnpm11/__typings__/typed.d.tspnpm11/__utils__/assert-project/README.mdpnpm11/__utils__/assert-project/package.jsonpnpm11/__utils__/assert-project/src/index.tspnpm11/__utils__/assert-project/src/isExecutable.tspnpm11/__utils__/assert-project/test/fixture/.gitignorepnpm11/__utils__/assert-project/test/fixture/project/package.jsonpnpm11/__utils__/assert-project/test/fixture/project/pnpm-workspace.yamlpnpm11/__utils__/assert-project/test/index.tspnpm11/__utils__/assert-project/test/tsconfig.jsonpnpm11/__utils__/assert-project/tsconfig.jsonpnpm11/__utils__/assert-project/tsconfig.lint.jsonpnpm11/__utils__/assert-store/README.mdpnpm11/__utils__/assert-store/package.jsonpnpm11/__utils__/assert-store/src/index.tspnpm11/__utils__/assert-store/test/fixture/.gitignorepnpm11/__utils__/assert-store/test/fixture/project/package.jsonpnpm11/__utils__/assert-store/test/fixture/project/pnpm-workspace.yamlpnpm11/__utils__/assert-store/test/index.tspnpm11/__utils__/assert-store/test/tsconfig.jsonpnpm11/__utils__/assert-store/tsconfig.jsonpnpm11/__utils__/assert-store/tsconfig.lint.jsonpnpm11/__utils__/build-artifacts/README.mdpnpm11/__utils__/build-artifacts/main.mjspnpm11/__utils__/build-artifacts/package.jsonpnpm11/__utils__/eslint-config/README.mdpnpm11/__utils__/eslint-config/index.jspnpm11/__utils__/eslint-config/no-dupe-conditions.jspnpm11/__utils__/eslint-config/no-object-methods-on-map.jspnpm11/__utils__/eslint-config/package.jsonpnpm11/__utils__/get-release-text/package.jsonpnpm11/__utils__/get-release-text/src/main.tspnpm11/__utils__/get-release-text/tsconfig.jsonpnpm11/__utils__/get-release-text/tsconfig.lint.jsonpnpm11/__utils__/jest-config/config.jspnpm11/__utils__/jest-config/jest-preset.jspnpm11/__utils__/jest-config/jest.transform.jspnpm11/__utils__/jest-config/package.jsonpnpm11/__utils__/jest-config/setupFilesAfterEnv.jspnpm11/__utils__/jest-config/with-registry/globalSetup.jspnpm11/__utils__/jest-config/with-registry/globalTeardown.jspnpm11/__utils__/jest-config/with-registry/jest-preset.jspnpm11/__utils__/prepare-temp-dir/package.jsonpnpm11/__utils__/prepare-temp-dir/src/index.tspnpm11/__utils__/prepare-temp-dir/tsconfig.jsonpnpm11/__utils__/prepare-temp-dir/tsconfig.lint.jsonpnpm11/__utils__/prepare/package.jsonpnpm11/__utils__/prepare/src/index.tspnpm11/__utils__/prepare/tsconfig.jsonpnpm11/__utils__/prepare/tsconfig.lint.jsonpnpm11/__utils__/scripts/package.jsonpnpm11/__utils__/scripts/src/bump.tspnpm11/__utils__/scripts/src/copy-artifacts.tspnpm11/__utils__/scripts/src/typecheck-only.tspnpm11/__utils__/scripts/test/bump.tspnpm11/__utils__/scripts/test/tsconfig.jsonpnpm11/__utils__/scripts/tsconfig.jsonpnpm11/__utils__/scripts/tsconfig.lint.jsonpnpm11/__utils__/test-fixtures/README.mdpnpm11/__utils__/test-fixtures/package.jsonpnpm11/__utils__/test-fixtures/src/index.tspnpm11/__utils__/test-fixtures/tsconfig.jsonpnpm11/__utils__/test-fixtures/tsconfig.lint.jsonpnpm11/__utils__/test-ipc-server/README.mdpnpm11/__utils__/test-ipc-server/bin/test-ipc-server-client.jspnpm11/__utils__/test-ipc-server/package.json
CI failures triaged
Written by an agent (Claude Code, claude-opus-4-8). |
The `pnpm_default_parity` contract tests read pnpm's `defaultOptions` from `config/reader/src/index.ts` in the TypeScript tree, which moved under `pnpm11/` in #12537. Point the path at the new location so the tests stop failing with a missing-file panic. Written by an agent (Claude Code, claude-opus-4-8).
…12540) * fix(pacquet): read the pnpm CLI manifest from its pnpm11/ location #12537 moved the TypeScript pnpm CLI under `pnpm11/`, so `pnpm_version_from` could no longer find `pnpm/package.json`; `current_source_pnpm_version` then returned `None` and `package_manager_to_sync` (and its test) failed. Written by an agent (Claude Code, claude-opus-4-8). * fix(pacquet): read pnpm's config-reader source from its pnpm11/ location The `pnpm_default_parity` contract tests read pnpm's `defaultOptions` from `config/reader/src/index.ts` in the TypeScript tree, which moved under `pnpm11/` in #12537. Point the path at the new location so the tests stop failing with a missing-file panic. Written by an agent (Claude Code, claude-opus-4-8).
The TypeScript pnpm CLI was relocated from `pnpm/` to `pnpm11/pnpm/` in #12537, but the "Extract pnpm CLI e2e test duration" step still passed `--package-dir pnpm`. That path no longer exists, so the exec-summary lookup found no entry and the step exited 1, failing the full TS CI test job on main. Point `--package-dir` at the package's new location, `pnpm11/pnpm`.
The TypeScript stack was relocated under pnpm11/ in #12537, which moved copy-artifacts.ts to pnpm11/__utils__/scripts/src/. Its `import.meta.dirname` + '../../..' now resolves to the pnpm11/ directory instead of the repository root, so `pn copy-artifacts` wrote the release tarballs to pnpm11/dist. The Release workflow attests (`subject-path: 'dist/*'`) and uploads (`files: dist/*`) from the repo-root dist, so a tagged release would have produced a GitHub Release with no binary assets and a failing provenance attestation, even though the npm publishes (filtered by package name) still succeeded. Resolve repoRoot to the actual repository root again and point the artifact source directories at their new pnpm11/pnpm/ locations.
Summary
The TypeScript pnpm CLI freezes at v11; pnpm 12 will be the Rust
pacquetport. This PR relocates all TypeScript pnpm source, test, and build directories into a new top-levelpnpm11/directory, so the three products in this repo (TypeScript pnpm, pacquet, pnpr) read as siblings with the frozen TS stack clearly demarcated.The name
pnpm11states the version boundary rather than implying a behavioral fork (à la "Yarn Classic"): the two stacks are meant to behave identically — only the implementation language differs — so a version boundary is the honest distinction.Scope is source-only. The shared workspace root stays at the repo root:
pnpm-workspace.yaml,package.json,pnpm-lock.yaml,.pnpmfile.cjs,.meta-updater,__patches__,.changeset,.husky, and the lint/spell configs all remain in place. One pnpm workspace and one Cargo workspace still span all three products, andpnpr/client+pacquet/tasks/registry-mockremain cross-product workspace members..meta-updaterin particular must stay at the repo root because@pnpm/meta-updaterresolves its config at<cwd>/.meta-updater/main.mjs.Two path-depth assumptions that the move would have silently broken were caught and fixed:
pnpm11/pnpm/bundle-deps.tsderived the workspace root as the parent ofpnpm/; it now climbs two levels so the published bundle'spnpm deploystill runs from the repo root (where the lockfile/patches/overrides live).pnpm11/__utils__/scripts/src/typecheck-only.tsclimbed three levels to reach the repo root; it now climbs four and points atpnpm11/__typecheck__.TS CI (
.github/workflows/ci.yml) now only runs whenpnpm11/-relevant paths change, via adorny/paths-filterchangesjob plus aTS CI / Successaggregate gate (mirroring the existingpacquet-ci.ymlpattern).benchmark.ymlgot a trigger-levelpaths:filter.Important
Branch-protection follow-up: switch the required TS check to
TS CI / Successand drop the individualTS CI / Compile & Lint/TS CI / Test / *contexts from required checks — they now skip on non-TypeScript PRs and a skipped matrix job never reports its per-platform context, which would block merges indefinitely.Validated locally:
pnpm installresolves all workspace projects under the new layout,pnpm run compile-onlyexits clean and producespnpm.mjs, andmeta-updater --testis green (every moved package'srepository/homepageURL was regenerated with thepnpm11/prefix, andpnpr/client's cross-boundary tsconfig references were rewritten).Squash Commit Body
Checklist
pacquet/port needed — this is a repository-layout change, not a user-visible CLI change; the Rust port is untouched and stays at the repo root.repository/homepagemetadata changed in published packages, and a changeset would force version bumps across 200+ packages for a directory move. Flagging for a maintainer call.compile-only+ lint green).CLAUDE.md/AGENTS.mddescribe the old top-level layout (pkg-manager/,resolving/, …) and will need a follow-up pass to referencepnpm11/.Written by an agent (Claude Code, claude-opus-4-8).
Summary by CodeRabbit
pnpm11/-prefixed directory layout.pnpm11/bundle paths for building and execution.