Skip to content

Package-manager smoke results

pnpm smoke requires Docker and a running Docker daemon. It checks Docker before building or packing; if unavailable, it prints Docker is required for pnpm smoke and exits 1. Pass 20 or 22 to select the Node container (22 is the default).

Assertion failures appear in the container log and the GitHub Actions job summary. The host prints the saved results.json path, and reports container failures without an uncaught Node stack trace. Fast tests exercise the same header and major-gap assertions as Docker so terminal design changes cannot silently stale the smoke checks.

Validated with pnpm smoke 20 and pnpm smoke 22, using the packed CLI in clean Docker containers. All 20 fixes exited 0, produced verified branches, and added zero type errors. No lifecycle-script trap ran.

Zod 3.23.8 → 4.6.5 uses mechanical rules (2 sites flat, 4 in workspaces). Stripe 14.25.0 → 22.6.2 uses a caller compatible with both SDKs; the API-pin and subscription-field examples still require assisted decisions and are tested separately by check. Both upgrades use --no-llm.

FixtureNodeZod fixStripe fixResult
npmv20.20.28.9s14.7sverified
npm-workspacesv20.20.29.9s9.7sverified
pnpmv20.20.28.0s10.4sverified
yarnv20.20.25.9s10.0sverified
yarn-berryv20.20.26.9s9.9sverified
npmv22.23.36.1s11.3sverified
npm-workspacesv22.23.38.1s18.3sverified
pnpmv22.23.311.7s13.5sverified
yarnv22.23.39.3s13.4sverified
yarn-berryv22.23.36.3s11.2sverified

Lockfile entry counts below are identical on both Node versions. + added, − removed, ~ modified. Workspace declarations and catalogs are also validated; only the target declaration can change.

FixtureZod lock entriesStripe lock entriesOutside target subtree
npm+0 −0 ~1+0 −19 ~30
npm-workspaces+0 −0 ~2+0 −38 ~60
pnpm+2 −2 ~0+2 −40 ~00
yarn+1 −1 ~0+1 −22 ~00
yarn-berry+1 −1 ~0+1 −25 ~00

npm workspaces uses lockfile v2, whose compatibility tree duplicates records; flat npm uses v3. pnpm records packages and snapshots separately. Stripe removes its old qs dependency subtree; npm also updates dev/optional flags for @types/node and undici-types without changing their installed versions. Yarn Berry uses the node-modules linker; PnP is not supported.

Additional validation: lint and typecheck passed; offline tests 424 core + 92 CLI, network-enabled tests 439 core + 92 CLI (including the local bot-PR Action simulation).