Skip to content

chore: upgrade to pnpm 12 - #920

Merged
omegent-app[bot] merged 2 commits into
mainfrom
t3code/pnpm-12
Oct 21, 2026
Merged

omegent-app[bot] merged 2 commits into
mainfrom
t3code/pnpm-12

Conversation

@omegent-app

@omegent-app omegent-app Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Upgrade the repo from pnpm 11.18.0 to pnpm 12.14.0.

  • Pin packageManager to pnpm@12.14.0 and require pnpm >= 12.
  • Record linkDirectory: false next to publishDirectory: .publish in the lockfile. Those workspace packages publish from .publish but do not link that directory. pnpm 12 treats a missing linkDirectory as true and rejects pnpm install --frozen-lockfile.
  • pnpm 12 also writes a package-manager document at the top of pnpm-lock.yaml for a packageManager pin on the 12 line. A frozen install stays stable across pnpm install and pnpm list.
  • patches/typescript.patch now starts with a diff --git header. pnpm 12 parses patches with diffy's gitdiff parser and rejected the old unified diff (ERR_PNPM_INVALID_PATCH, no valid patches at byte 0). The lockfile patch hash matches the new file.
  • Dev shell fetches the native pnpm 12 binary (@pnpm/exe.*). nixpkgs generic.nix still links bin/pnpm.cjs, which pnpm 12 does not ship. pn / pnpx / pnx are hardlinks because the binary dispatches on its filename.
  • CI uses pnpm/action-setup@v6.1.0 (first release that installs pnpm 12) and a new pnpm store cache key.

repos/effect stays on its own pnpm pin. That tree is synced from Effect.

Verified locally: pnpm install --frozen-lockfile with pnpm 12.14.0 applies the typescript patch on a fresh store entry, and pnpx / pnx from the nix shell run pnpm dlx.

Test plan

  • CI install, lint, build, and test on pnpm 12
  • nix develop reports pnpm --version 12.14.0 on macOS as well as Linux

opened by patroza in chat thread Discord · Discord · T3


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

Pin packageManager to pnpm@12.14.0. pnpm 12 rejects a frozen install when a
workspace package publishes from .publish but sets linkDirectory to false, so
record that in the lockfile. The nix shell fetches the native pnpm 12 binary,
and CI installs it with pnpm/action-setup v6.1.0.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
@omegent-app
omegent-app Bot marked this pull request as ready for review October 21, 2026 08:42
pnpm 12 parses patches with diffy's gitdiff parser, which rejects a
unified diff that starts at `---` and reports no valid patches.

Co-authored-by: Patrick Roza <42661+patroza@users.noreply.github.com>
@pkg-pr-new

pkg-pr-new Bot commented Oct 21, 2026

Copy link
Copy Markdown

Open in StackBlitz

@effect-app/cli

npm i https://pkg.pr.new/@effect-app/cli@920

effect-app

npm i https://pkg.pr.new/effect-app@920

@effect-app/eslint-codegen-model

npm i https://pkg.pr.new/@effect-app/eslint-codegen-model@920

@effect-app/eslint-shared-config

npm i https://pkg.pr.new/@effect-app/eslint-shared-config@920

@effect-app/infra

npm i https://pkg.pr.new/@effect-app/infra@920

@effect-app/vue

npm i https://pkg.pr.new/@effect-app/vue@920

@effect-app/vue-components

npm i https://pkg.pr.new/@effect-app/vue-components@920

commit: 5fa3ac4

@omegent-app
omegent-app Bot merged commit 98a5548 into main Oct 21, 2026
5 checks passed
@omegent-app
omegent-app Bot deleted the t3code/pnpm-12 branch October 21, 2026 09:11
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.

0 participants