Skip to content

chore(deps): unblock esbuild 0.28.1 via esbuild-loader 4.5.0 - #162

Merged
yumike merged 1 commit into
mainfrom
chore/esbuild-via-esbuild-loader
Aug 9, 2026
Merged

chore(deps): unblock esbuild 0.28.1 via esbuild-loader 4.5.0#162
yumike merged 1 commit into
mainfrom
chore/esbuild-via-esbuild-loader

Conversation

@yumike

Copy link
Copy Markdown
Contributor

Closes Dependabot alert #62 (low, esbuild — dev-scoped).

Why a direct bump couldn't fix it

@backstage/cli-module-build → esbuild-loader: ^4.0.0 → 4.4.x
→ esbuild: ^0.27.1 → 0.27.4

The advisory covers >= 0.27.3, < 0.28.1 and needs 0.28.1. Because esbuild is on a 0.x line, ^0.27.1 means >=0.27.1 <0.28.0 — so yarn up -R esbuild was a no-op, the same major-boundary wall seen in #153 and #161.

What this does

esbuild-loader 4.5.0 moved to esbuild: ^0.28.1, and @backstage/cli-module-build already declares esbuild-loader: ^4.0.0, which accepts it:

yarn up -R esbuild-loader
PackageBefore → After
esbuild-loader4.4.x → 4.5.0
esbuild0.27.4 → 0.28.1

Lockfile-only, no manifest touched. The diff looks large (117 insertions / 134 deletions) but only two logical entries change — the bulk is esbuild's 26 platform-specific binary packages (@esbuild/darwin-arm64, @esbuild/linux-x64, …) moving in lockstep, which is how esbuild ships.

Verification

esbuild-loader is the bundler's TS/JS transform, so both build paths were exercised:

CheckResult
yarn install --immutable✅ no drift
yarn typecheck
yarn build (all plugins)
yarn workspace app build✅ — heaviest esbuild-loader usage; CI never runs this
yarn lint
yarn test✅ 588 tests
yarn format:check

The app build matters most here: CI's yarn build is scoped to --include '@rwdocs/*' and never bundles the frontend, which is where esbuild-loader does the bulk of its work.

Context

This is the last readily fixable alert in the backlog. The nine that remain are all blocked on upstream movement rather than on anything actionable here:

🤖 Generated with Claude Code

Alert #62 needs esbuild 0.28.1, but esbuild-loader 4.4.x declares "^0.27.1",
which caps below 0.28.0 (caret on a 0.x range). yarn up -R esbuild was therefore
a no-op.
esbuild-loader 4.5.0 moved to "^0.28.1", and @backstage/cli-module-build already
declares "esbuild-loader": "^4.0.0", which accepts it:
esbuild-loader 4.4.x -> 4.5.0
esbuild 0.27.4 -> 0.28.1
Most of the diff is esbuild's 26 platform-specific binary packages
(@esbuild/darwin-arm64, linux-x64, …) moving in lockstep; only two logical
entries change.
esbuild-loader is the bundler's TS/JS transform, so this was verified through
both build paths: yarn build for the plugins and the frontend app build that CI
does not run.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@yumike
yumike merged commit d42abf5 into mainAug 9, 2026
1 check passed
@yumike
yumike deleted the chore/esbuild-via-esbuild-loader branch August 9, 2026 07:13
Sign up for freeto 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

@yumike