Skip to content

fix(deps): resolve Babel peer-dependency conflict blocking npm ci#1043

Merged
ashleyshaw merged 2 commits into
developfrom
fix/babel-core-peer-dependency-conflict
Jul 15, 2026
Merged

fix(deps): resolve Babel peer-dependency conflict blocking npm ci#1043
ashleyshaw merged 2 commits into
developfrom
fix/babel-core-peer-dependency-conflict

Conversation

@ashleyshaw

Copy link
Copy Markdown
Member

Linked issues

Fixes #1042

Context

  • Severity/Impact: High — blocks npm ci on develop, which cascades into every CI job (lint, test, validate, mermaid checks, etc.) on every branch
  • Affected versions/environments: develop and any branch based on it

Reproduction

  • Steps: 1) Checkout develop 2) Run npm ci
  • Expected vs Actual: Expected clean install; actual ERESOLVE peer-dependency conflict, install aborts

Root Cause

Two prior Dependabot PRs bumped @babel/plugin-transform-runtime and @babel/preset-react to 8.0.1, which require @babel/core@^8.0.0. @babel/core itself (and the rest of the toolchain — @babel/preset-env, @babel/plugin-proposal-class-properties, etc.) are still on 7.x, so npm's dependency resolver can't satisfy both constraints.

Fix Summary

Revert @babel/plugin-transform-runtime and @babel/preset-react to 7.29.7 (their prior working version) and regenerate package-lock.json. This is the minimal, safe unblock — a full migration to Babel 8 across the whole toolchain is a separate, larger effort already underway via 4 open Dependabot PRs (#1002, #1004, #1007, #1026), which conflict with each other and aren't ready to merge as a set.

Verification

  • npm ci succeeds
  • npm run lint:all passes
  • npm run test passes (72 suites / 668 tests)

Risk & Rollback

  • Risk level: Low — reverts two packages to a version already proven to work together with the rest of the toolchain; no application code changed
  • Rollback plan: revert this commit

Changelog

Fixed


Checklist (Global DoD / PR)

  • All AC met and demonstrated
  • Tests added/updated (unit/E2E as appropriate) — no new tests needed; existing suite (72/668) verifies the fix
  • Accessibility checklist completed (where relevant) — N/A, dependency version change only
  • Docs/readme/changelog updated (if user-facing)
  • Security checklist completed (where relevant) — N/A, no input handling changed
  • Code/design reviews approved (pending maintainer review)
  • CI green; linked issues closed; release notes prepared (if shipping)

Two prior Dependabot PRs bumped @babel/plugin-transform-runtime and
@babel/preset-react to 8.0.1, which require @babel/core@^8.0.0 — but
@babel/core and the rest of the toolchain (@babel/preset-env,
@babel/plugin-proposal-class-properties, etc.) are still on 7.x. This
conflict breaks `npm ci` for every job on every branch, since the base
branch itself carries the broken lockfile state.

Revert both packages to 7.29.7 (their prior working version) rather than
force the full stack to 8.x — that's a much larger breaking-change migration
(4 open Dependabot PRs are attempting it: #1002, #1004, #1007, #1026, all
either conflicting with each other or not yet merged) that deserves its own
dedicated PR with full test coverage, not a same-day hotfix.

npm ci, npm run lint:all, and npm run test (72 suites / 668 tests) all pass
against current develop with this change.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request downgrades @babel/plugin-transform-runtime and @babel/preset-react from version 8.0.1 to 7.29.7 in package.json and updates the dependency tree in package-lock.json. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@ashleyshaw, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 0754507d-9e48-415c-9020-bd3b7a6a0612

📥 Commits

Reviewing files that changed from the base of the PR and between fe51813 and 4f61348.

📒 Files selected for processing (1)
  • CHANGELOG.md
📝 Walkthrough

Walkthrough

Babel development dependencies are adjusted in package.json: the runtime transform plugin and React preset move from 8.0.1 to 7.29.7, while the environment preset remains at 7.28.5.

Changes

Babel tooling alignment

Layer / File(s) Summary
Update Babel development dependencies
package.json
@babel/plugin-transform-runtime and @babel/preset-react are changed to 7.29.7; @babel/preset-env is unchanged.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related issues

  • lightspeedwp/.github#1042 — The dependency downgrades match the issue’s Babel peer-dependency conflict resolution.

Suggested reviewers: claude, dependabot[bot]

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and accurately reflects the dependency rollback that unblocks npm ci.
Description check ✅ Passed The description covers issues, root cause, fix, verification, risk, changelog, and checklist, though the test section is less template-shaped.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/babel-core-peer-dependency-conflict

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added status:needs-review Awaiting code review type:bug Bug or defect priority:normal Default priority area:dependencies Composer/npm dependency work lang:js JavaScript/TypeScript lang:json JSON config/content type:chore Chore / small hygiene change meta:needs-changelog Requires a changelog entry before merge labels Jul 15, 2026
@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

🔍 Reviewer Summary for PR #1043

CI Status:success
Files changed: 3
Risk Distribution: 0 critical, 1 high, 0 medium, 2 low

Recommendations

  • Ready to proceed pending human review

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions github-actions Bot added area:documentation Docs & guides lang:md Markdown content/docs and removed type:chore Chore / small hygiene change labels Jul 15, 2026
@ashleyshaw ashleyshaw merged commit a9da02a into develop Jul 15, 2026
28 of 29 checks passed
@ashleyshaw ashleyshaw deleted the fix/babel-core-peer-dependency-conflict branch July 15, 2026 15:03
ashleyshaw added a commit that referenced this pull request Jul 15, 2026
Resolves the merge conflict from PR #1043 (Babel peer-dependency fix)
landing on develop after this branch already carried the same fix
locally. package.json/package-lock.json merged cleanly (identical
resulting babel versions); CHANGELOG.md had a duplicate "Babel
peer-dependency conflict" entry from both sides, consolidated into one
referencing the canonical fix (#1042, PR #1043).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dependencies Composer/npm dependency work area:documentation Docs & guides lang:js JavaScript/TypeScript lang:json JSON config/content lang:md Markdown content/docs meta:needs-changelog Requires a changelog entry before merge priority:normal Default priority status:needs-review Awaiting code review type:bug Bug or defect

Projects

None yet

Development

Successfully merging this pull request may close these issues.

npm ci fails on develop: Babel peer-dependency conflict (@babel/core 7.x vs 8.x)

1 participant