Skip to content

build(deps): hold entangled major toolchain bumps (jest 30, babel 8, marked 18) - #1635

Merged
mattwoberts merged 1 commit into
mainfrom
deps/hold-major-toolchain-bumps
Jul 27, 2026
Merged

build(deps): hold entangled major toolchain bumps (jest 30, babel 8, marked 18)#1635
mattwoberts merged 1 commit into
mainfrom
deps/hold-major-toolchain-bumps

Conversation

@mattwoberts

Copy link
Copy Markdown
Contributor

Three new Dependabot PRs failed together (#1630, #1634, #1631). Unlike the previous batches, none is a quick win — each is a major migration entangled with others.

Why each can't just be bumped

PR Bump Failure Why it's a migration, not a bump
#1630 jest 28 → 30 test-ui: this._moduleMocker.clearMocksOnScope is not a function jest core moved ahead of jest-environment-jsdom / babel-jest (still 28). Needs the whole jest stack + jsdom moved together, with test-behavior changes.
#1634 @babel/core 7 → 8 npm ci ERESOLVE @babel/cli@7 and babel-jest@28 peer-require @babel/core@^7. Babel 8 needs @babel/cli, presets, babel-jest, babel-loader all on 8 — and that's tied to the jest bump above.
#1631 marked 4 → 18 test-ui: marked ESM loader throws marked 5+ is ESM-only and rewrote the Renderer API. public/services/markdown.ts uses new marked.Renderer() + synchronous marked(...) — needs a rewrite.

What this PR does

Adds semver-major ignore rules for the jest stack (jest, jest-environment-jsdom, babel-jest), the babel toolchain (@babel/*, babel-loader), and marked / @types/marked — so these stop generating failing PRs every cycle. Minor/patch within the current majors still flow. Each stays unblockable by doing it as a dedicated, coordinated migration later.

This is the same land-safe / hold-blocked pattern used for playwright, tiptap-markdown, @lingui/*, and aws-sdk-go.

Follow-up

Close #1630, #1634, #1631 once this merges. (#1434 node 22→25 should also be closed — Node 25 is non-LTS; target Node 24 if/when a base bump is wanted.)

🤖 Generated with Claude Code

…marked 18)

Three new Dependabot PRs all failed, and all three are major-version
migrations that can't be done as a single bump:

  #1630 jest 28 -> 30    : test-ui fails `this._moduleMocker.clearMocksOnScope
                           is not a function` — jest core moved ahead of its
                           companions (jest-environment-jsdom, babel-jest still 28).
  #1634 @babel/core 8    : `npm ci` ERESOLVE — @babel/cli@7 and babel-jest@28
                           peer-require @babel/core@^7; babel 8 needs the whole
                           babel+jest toolchain moved together.
  #1631 marked 4 -> 18   : marked 5+ is ESM-only and rewrote the Renderer API;
                           its ESM loader crashes under the jest CJS env. Needs a
                           rewrite of public/services/markdown.ts.

None is a safe bump. Add semver-major ignore rules for the jest stack, the
babel toolchain, and marked/@types/marked so they stop generating failing PRs
each cycle. Minor/patch within the current majors still flow. Unblock by doing
each as a dedicated, coordinated migration.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@mattwoberts
mattwoberts merged commit f164f69 into main Jul 27, 2026
5 checks passed
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