Skip to content

chore(deps): upgrade pnpm 10.32 → 11.5#149

Merged
pacphi merged 2 commits into
mainfrom
chore/upgrade-pnpm-11
Jun 8, 2026
Merged

chore(deps): upgrade pnpm 10.32 → 11.5#149
pacphi merged 2 commits into
mainfrom
chore/upgrade-pnpm-11

Conversation

@pacphi

@pacphi pacphi commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Summary

Upgrades the package manager from pnpm 10.32.1 → 11.5.2 (latest stable),
as a dedicated follow-up to the dependency consolidation in #148 (kept separate
so the package-manager major bump is independently reviewable/revertible).

Changes

File Change
frontend/package.json packageManagerpnpm@11.5.2
.github/workflows/ci.yml pnpm/action-setup version 1011 (×4 jobs)
.github/workflows/release.yml pnpm/action-setup version 1011
README.md, docs/setup-guide.md, docs/deployment-guide.md, docs/maintainer-guide.md pnpm prerequisite 10.32+11.5+

Why this is low-risk

  • Lockfile unchanged. pnpm 11 keeps lockfileVersion: 9.0 (same as 10.x) and
    reproduces frontend/pnpm-lock.yaml byte-for-byte — no format churn, no
    resolution drift. The lockfile is deliberately not in this diff because it
    regenerated identical.
  • Node requirement satisfied. pnpm 11.5.2 needs Node ≥22.13; the project runs
    Node 26.
  • No workspace config drift. pnpm-workspace.yaml (overrides,
    peerDependencyRules, onlyBuiltDependencies, allowedDeprecatedVersions) is
    read identically by pnpm 11 — none of the v10-era package.json#pnpm drift from
    chore(deps): consolidate Dependabot PRs #112–#123 + fix pnpm v10 config drift #124 recurs.

Historical records (docs/plan/* audits, inception) are intentionally left as-is.

Verification (with pnpm 11.5.2)

  • pnpm install --frozen-lockfile — passes, lockfile reproduces clean
  • turbo typecheck (5), turbo build (1), turbo test (3), turbo lint (1)
  • prettier --check, markdownlint, yamllint — all clean

Bumps the package manager from pnpm 10.32.1 to 11.5.2 (latest stable).

- frontend/package.json: packageManager → pnpm@11.5.2
- CI: pnpm/action-setup version 10 → 11 (ci.yml ×4, release.yml ×1)
- Docs: README + setup/deployment/maintainer guides → pnpm 11.5+

pnpm 11 reproduces the existing lockfile byte-for-byte (lockfileVersion 9.0
is unchanged between 10.x and 11.x), so frontend/pnpm-lock.yaml is untouched.
Node >=22.13 satisfied (project on Node 26). Workspace config in
pnpm-workspace.yaml (overrides, peerDependencyRules, onlyBuiltDependencies,
allowedDeprecatedVersions) is read identically by pnpm 11 — no config drift.

Historical records (docs/plan/* audits, inception) intentionally left as-is.

Verified with pnpm 11.5.2: frozen install (lockfile reproduces clean) +
turbo typecheck (5) + build (1) + test (3) + lint (1) + prettier + markdownlint.
@pacphi

pacphi commented Jun 8, 2026

Copy link
Copy Markdown
Owner Author

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

The pnpm 11 bump surfaced two breaking install-policy changes that failed CI's
`pnpm install --frozen-lockfile` (Frontend Install job):

1. minimumReleaseAge — pnpm 11 enables a publish-cooldown by default and
   rejected the freshly-published typescript-eslint@8.61.0 lockfile entries
   (ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION). Set `minimumReleaseAge: 0`
   explicitly: our policy is to track latest-compatible, and supply-chain
   safety is already covered by the `overrides` IOC pins and Dependabot.

2. strictDepBuilds / allowBuilds — pnpm 11 removed `onlyBuiltDependencies` in
   favour of an `allowBuilds` map and makes ignored build scripts fatal
   (ERR_PNPM_IGNORED_BUILDS). Migrated the list to `allowBuilds`: esbuild +
   msw build (true), node-llama-cpp stays disabled (false), preserving the
   prior pnpm 10 behaviour (the web app uses prebuilt llama binaries).

Lockfile is unchanged. Verified by reproducing CI's exact command
(`CI=true pnpm install --frozen-lockfile`, clean node_modules) → exit 0, plus
turbo typecheck/build/test/lint + prettier, all green on pnpm 11.5.2.
@pacphi pacphi merged commit a802701 into main Jun 8, 2026
14 checks passed
@pacphi pacphi deleted the chore/upgrade-pnpm-11 branch June 8, 2026 21:58
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.

1 participant