Skip to content

docs: record the Vitest and Stryker runtime outcomes for the Bun migration - #4027

Merged
marcusrbrown merged 1 commit into
mainfrom
docs/bun-migration-close
Oct 20, 2026
Merged

marcusrbrown merged 1 commit into
mainfrom
docs/bun-migration-close

Conversation

@marcusrbrown

Copy link
Copy Markdown
Collaborator

Closes out the pnpm → Bun migration plan (docs/plans/2026-10-19-002-refactor-bun-migration-plan.md). This PR changes only the plan document. No code or guidance changes.

Changes

  • Plan status is now completed, and all seven units are checked off.
  • The plan's deferred questions are replaced with their outcomes:
    • RE2: bun run install fetches re2's prebuilt binary, but that binary is built for Node's ABI (NODE_MODULE_VERSION 137). Bun 1.4.3 requires 147, so RE2 loads only under Node and check:renovate-config stays on Node.
    • Vitest: under bun --bun vitest run, the full suite matches Node on every file and test name (5648 passed, 43 skipped, 3 todo), and so does the release real-plugin suite (105). The three Renovate real-plugin suites fail 13 of 102 tests on Bun because of the same RE2 ABI mismatch. Vitest stays on Node.
    • Stryker: under bunx --bun stryker run, Stryker instruments all 2,733 mutants but runs none, because it cannot load @stryker-mutator/vitest-runner. The cause is Vite 8.0.16 calling Error.captureStackTrace on an object that is not an Error; Node accepts that call and Bun 1.4.3 rejects it. Stryker stays on Node, where the baseline is clean.
    • Review Dependencies, Renovate postUpgradeTasks, the Bun script shell and the dropped ts-declaration-location entry: all confirmed working.
  • The plan now records when to re-test Vitest and Stryker on Bun: a Bun release that loads re2's prebuilt binding, and a Bun or Vite release that accepts the Error.captureStackTrace call.

The guidance already lists Vitest and Stryker as Node exceptions.

@marcusrbrown
marcusrbrown requested a review from fro-bot as a code owner October 20, 2026 17:54
@fro-bot fro-bot added the agent: working Agent is currently working on this label Oct 20, 2026

@fro-bot fro-bot left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: PASS

The recorded Node exceptions match the package scripts, CI commands, and mutation runner. Retaining Node after failed parity checks follows the plan's acceptance criteria.

Blocking issues

None

Non-blocking concerns

None

Missing tests

None. This PR changes only the migration record; it introduces no executable behavior requiring new tests. Historical runtime counts were not independently reproduced.

Risk assessment (LOW) + rationale

Documentation-only closure; no changes to dependencies, permissions, workflows, or runtime selection.


Run Summary
Field Value
Event pull_request
Repository fro-bot/.github
Run ID 39470124773
Cache hit
Session ses_ea58befc0ffeZTxM46gCPWrueJ
Verification Reviewed the complete PR diff and runtime configuration; git diff --check passed. Test suites were not rerun.
Review coverage Manual review; structured review helper references were unavailable due to filesystem access restrictions.

@fro-bot fro-bot removed the agent: working Agent is currently working on this label Oct 20, 2026
@marcusrbrown
marcusrbrown merged commit c661120 into main Oct 20, 2026
21 checks passed
@marcusrbrown
marcusrbrown deleted the docs/bun-migration-close branch October 20, 2026 17: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.

2 participants