Skip to content

Remove five unused @babel/* devDependencies - #1459

Merged
henrymercer merged 1 commit into
henrymercer/align-eslint-js-9from
henrymercer/remove-babel
Aug 4, 2026
Merged

Remove five unused @babel/* devDependencies#1459
henrymercer merged 1 commit into
henrymercer/align-eslint-js-9from
henrymercer/remove-babel

Conversation

@henrymercer

Copy link
Copy Markdown
Contributor

The five @babel/* packages in package.json are 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 is esbuild. build.mjs imports esbuild and nothing else; esbuild handles TypeScript and JSX itself, with no Babel transform hook.
  • Tests are Vitest, which transforms via esbuild/Vite and handles ESM natively.
  • No Babel configuration exists anywhere in the repo — no babel.config.*, no .babelrc*, and no vitest.config.* or jest.config.* that could reference one.
  • No Babel imports or API usage in any source, script or config file.
  • Linting does not involve Babel. eslint.config.mjs parses with @typescript-eslint/parser; @babel/eslint-parser is not installed, and none of the five is a lint tool.
  • Lockfile reverse-edge analysis shows no used package depends on any of the five. Their only inbound edges come from the root manifest and from Babel's own packages; babel-plugin-polyfill-* is reachable only via @babel/preset-env, and the many @babel/core peer edges all originate from plugins that exist solely because those presets pull them in. Neither eslint-plugin-github nor vitest has 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 4 babel-plugin-polyfill-*) and 18 transitive dependencies reachable only through them, such as core-js-compat, regexpu-core and the unicode-*-ecmascript helpers.

dist/ is unchanged, as expected for a dev-only removal: nothing Babel-related was ever bundled. The three dist/*.js matches for "Babel" are esbuild's own generated __toESM interop comment explaining the __esModule check, not bundled Babel code.

Validation

npm ci, npm run lint, check-js, check-json-schemas, npm run find-deadcode and the full Vitest suite all pass.

Notes

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
@henrymercer
henrymercer marked this pull request as ready for review August 4, 2026 14:16
@henrymercer
henrymercer requested a review from a team as a code owner August 4, 2026 14:16
Copilot AI balanced review requested due to automatic review settings August 4, 2026 14:16

Copilot AI 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.

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

@mbg mbg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nice

@henrymercer
henrymercer merged commit 8565222 into main Aug 4, 2026
8 checks passed
@henrymercer
henrymercer deleted the henrymercer/remove-babel branch August 4, 2026 14:32
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.

3 participants