Remove five unused @babel/* devDependencies - #1459
Merged
henrymercer merged 1 commit intoAug 4, 2026
Merged
Conversation
The five @babel/* packages were added for a babel-jest transform when Octokit became ESM-only and Jest was still CommonJS. Switching to Vitest removed the Jest packages but left these behind, and nothing has used them since: the build is esbuild, tests are Vitest, and there is no Babel config or import anywhere in the repo. Removing them resolves the Dependabot deadlock in #1450, #1439, #1431 and #1430, where each PR moves only half of a mutually-dependent set and so fails npm ci with ERESOLVE. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 65a4db01-44b3-42c3-9459-ab3d251ebac9
Contributor
There was a problem hiding this comment.
Pull request overview
Removes unused Babel tooling and its transitive dependency tree, reducing development installation overhead. This is stacked on #1458.
Changes:
- Removes five unused Babel dev dependencies.
- Regenerates the lockfile without 129 Babel-related packages.
Show a summary per file
| File | Description |
|---|---|
package.json |
Removes unused Babel dev dependencies. |
package-lock.json |
Removes their locked transitive dependencies. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/2 changed files
- Comments generated: 0
- Review effort level: Balanced
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The five
@babel/*packages inpackage.jsonare entirely unused by this repository. Removing them resolves a Dependabot deadlock permanently, rather than moving it forward one version.Why these packages are unused
build.mjsimportsesbuildand nothing else; esbuild handles TypeScript and JSX itself, with no Babel transform hook.babel.config.*, no.babelrc*, and novitest.config.*orjest.config.*that could reference one.eslint.config.mjsparses with@typescript-eslint/parser;@babel/eslint-parseris not installed, and none of the five is a lint tool.babel-plugin-polyfill-*is reachable only via@babel/preset-env, and the many@babel/corepeer edges all originate from plugins that exist solely because those presets pull them in. Neithereslint-plugin-githubnorvitesthas a Babel dependency.Impact
Removing them drops 129 of 682 locked packages — roughly 19% of the dependency tree — and 2,011 lines from
package-lock.json, with nothing added. That is 111 Babel-named packages (107@babel/*plus 4babel-plugin-polyfill-*) and 18 transitive dependencies reachable only through them, such ascore-js-compat,regexpu-coreand theunicode-*-ecmascripthelpers.dist/is unchanged, as expected for a dev-only removal: nothing Babel-related was ever bundled. The threedist/*.jsmatches for "Babel" are esbuild's own generated__toESMinterop comment explaining the__esModulecheck, not bundled Babel code.Validation
npm ci,npm run lint,check-js,check-json-schemas,npm run find-deadcodeand the full Vitest suite all pass.Notes
@eslint/jsback to^9.39.5to matcheslint. That pre-existing mismatch madenpm installfail withERESOLVE, sopackage-lock.jsoncould not be regenerated at all until it landed. Please merge Align @eslint/js with ESLint 9 and pin the pair in Dependabot config #1458 first.