Skip to content

chore: merge dev into main - #25

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

chore: merge dev into main#25
TitusKirch merged 3 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.

pnpm 12 is the Rust rewrite, stable since 2026-08-26 and installed from the
next-12 tag because npm's latest still points at the 11 line. None of its
breaking changes touch this estate: no repository has a git dependency to
re-resolve, --resolution-only is used nowhere, and Node 16 is long gone.

It runs here alone on purpose. pnpm 12 records itself in the lockfile, which
turns pnpm-lock.yaml into a two-document YAML carrying @pnpm/exe.* for every
platform — a format seven days old that Dependabot may or may not parse, and
Dependabot is what keeps the SHA pins fresh in twenty-five repositories.
Reverting one repository is cheap; reverting twenty-five is not.

BREAKING CHANGE: this repository now requires pnpm 12.
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.

This repository was the pilot, and the pilot was the wrong shape: it has no
deploy, so the only paths pnpm 12 was ever proven on were CI and Dependabot.
A pilot has to cover the riskiest consumer, not the most convenient one.
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 marked this pull request as ready for review September 2, 2026 18:57
@TitusKirch
TitusKirch merged commit 7ad702c into main Sep 2, 2026
12 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