Skip to content

chore: merge dev into main - #20

Merged
TitusKirch merged 4 commits into
mainfrom
dev
Sep 2, 2026
Merged

TitusKirch merged 4 commits into
mainfrom
dev

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

Automated rollup PR for changes accumulated on dev. Mark ready when you want it to land — and use a merge commit, not squash, so individual feat:/fix: commits stay visible to release-please.

One pnpm version (11.25.0) and Node 24 everywhere, and the two dead keys go:
pnpm 11 replaced packageManagerStrict/packageManagerStrictVersion with pmOnFail
and warned about them on every install, in twenty of twenty-four repositories.
The Rust rewrite, stable since 2026-08-26. Verified in kirchDev/workflows first:
Dependabot reads the two-document lockfile pnpm 12 writes, installs 12.2.1 from
the packageManager field itself, and produced a full dependency snapshot from it.

None of pnpm 12's breaking changes apply here — no git dependency to re-resolve,
--resolution-only used nowhere, Node 16 long gone. The lockfile diff is purely
additive: pnpm records itself and its per-platform binaries, nothing else moves.

BREAKING CHANGE: this repository now requires pnpm 12.
@TitusKirch
TitusKirch marked this pull request as ready for review September 2, 2026 14:37
kirchDev/app's dev deploy failed on the Forge server:

  .local/share/pnpm/.tools/pnpm/12.2.1/bin/pnpm: 4: Syntax error: ")" unexpected

pnpm 12's launcher is not POSIX-sh compatible and the deploy runs it through the
server's /bin/sh, which is dash. The pilot could not have caught this: the pilot
repository has no deploy, so pnpm 12 was only ever proven against CI and
Dependabot, never against a server.

Reverted estate-wide rather than only where it broke: one version everywhere was
the point, and a split is worse than either uniform state.
The Rust rewrite, stable since 2026-08-26.

kirchDev/app is deliberately excluded and stays on 11.25.0: it is the only
repository in the estate that deploys to a server we run, and pnpm 12 breaks
exactly that path. When pnpm provisions ITSELF from the packageManager field it
follows the `bin` entry of the `pnpm` npm package, which ships a prose
placeholder that a preinstall script is supposed to replace with the native
binary — and no preinstall runs during that provisioning. The placeholder's
fourth line ends in `)`, so dash reports `Syntax error: ")" unexpected`.
Upstream: pnpm/pnpm#14346.

Every other path is unaffected and was verified: corepack keeps its own cache
and starts bin/pnpm.mjs through Node, pnpm/action-setup installs regularly with
scripts, and Dependabot read the two-document lockfile and produced a full
dependency snapshot from it.
@TitusKirch
TitusKirch merged commit bd8add3 into main Sep 2, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant