Skip to content

Bump esbuild from 0.28.1 to 0.28.2 - #2730

Merged
Akanksha Jain (jainakanksha-msft) merged 2 commits into
mainfrom
dependabot/npm_and_yarn/esbuild-0.28.2
Aug 17, 2026
Merged

Bump esbuild from 0.28.1 to 0.28.2#2730
Akanksha Jain (jainakanksha-msft) merged 2 commits into
mainfrom
dependabot/npm_and_yarn/esbuild-0.28.2

Conversation

@dependabot

@dependabotdependabotBot commented on behalf of githubAug 12, 2026

Copy link
Copy Markdown
Contributor

Bumps esbuild from 0.28.1 to 0.28.2.

Release notes

Sourced from esbuild's releases.

v0.28.2

  • Fix tree shaking bug due to TypeScript import alias (#4507)

    This release fixes a bug that could cause esbuild to incorrectly tree-shake imports that are used in a TypeScript type alias under certain circumstances. Affected code uses a TypeScript-specific import assignment and looks something like this:

    importBasefrom'./dep.js';importAlias=Base.SomeType;
  • Fix CSS minification bug involving & (#4497)

    This release fixes a bug where esbuild's CSS minifier incorrectly removed a & when it was unsafe to do so. Here is an example:

    /* Original code */
    .a .b {
    & .b:not(& .c) {
    color: red;
    }
    }
    /* Old output (with --minify) */
    .a .b{.b:not(& .c){color:red}}
    /* New output (with --minify) */
    .a .b{& .b:not(& .c){color:red}}

    This should match <span class="a"><span class="b"><span class="b">yes</span></span></span> but not <span class="a"><span class="b">no</span></span>. The old output incorrectly matched both.

  • Avoid overwriting input files without --allow-overwrite (#4484)

    For example: esbuild input.js --outfile=input.js tells esbuild to overwrite input.js with the output of running esbuild on it. This was supposed to already be prevented by default, but it accidentally regressed in version 0.17.0 and apparently didn't have any test coverage. The error message was being printed but the input file was still being overwritten. Oops.

    This release puts the original behavior back. With this release, esbuild should now actually avoid overwriting input files unless --allow-overwrite is explicitly present. This is done by not writing out any files when a build error is encountered.

  • Fix incorrect code generated when using top-level await (#4498)

    Previously esbuild could generate code containing a syntax error in complex scenarios involving top-level await used in a dependency cycle. The problem was a missing async on one or more module wrapper closures. With this release, esbuild now uses a fixed-point iteration algorithm to correctly annotate all dependencies in the cycle as needing an async module wrapper.

  • Fix a minification bug with lowered logical assignment operators (#4508)

    This release fixes a bug that could cause esbuild to generate incorrect code for logical assignment operators when lowering them to an older target environment. Specifically the lowering process requires duplicating the left-hand side, but esbuild incorrectly failed to count the duplicate as a new usage when the left-hand side is an identifier. That then caused the minifier to believe that the left-hand side was only used once and could attempt to incorrectly inline an initializer into the first usage. This bug has now been fixed:

    // Original codefunctionfoo(){letxbar(x||={})

... (truncated)

Changelog

Sourced from esbuild's changelog.

0.28.2

  • Fix tree shaking bug due to TypeScript import alias (#4507)

    This release fixes a bug that could cause esbuild to incorrectly tree-shake imports that are used in a TypeScript type alias under certain circumstances. Affected code uses a TypeScript-specific import assignment and looks something like this:

    importBasefrom'./dep.js';importAlias=Base.SomeType;
  • Fix CSS minification bug involving & (#4497)

    This release fixes a bug where esbuild's CSS minifier incorrectly removed a & when it was unsafe to do so. Here is an example:

    /* Original code */
    .a .b {
    & .b:not(& .c) {
    color: red;
    }
    }
    /* Old output (with --minify) */
    .a .b{.b:not(& .c){color:red}}
    /* New output (with --minify) */
    .a .b{& .b:not(& .c){color:red}}

    This should match <span class="a"><span class="b"><span class="b">yes</span></span></span> but not <span class="a"><span class="b">no</span></span>. The old output incorrectly matched both.

  • Avoid overwriting input files without --allow-overwrite (#4484)

    For example: esbuild input.js --outfile=input.js tells esbuild to overwrite input.js with the output of running esbuild on it. This was supposed to already be prevented by default, but it accidentally regressed in version 0.17.0 and apparently didn't have any test coverage. The error message was being printed but the input file was still being overwritten. Oops.

    This release puts the original behavior back. With this release, esbuild should now actually avoid overwriting input files unless --allow-overwrite is explicitly present. This is done by not writing out any files when a build error is encountered.

  • Fix incorrect code generated when using top-level await (#4498)

    Previously esbuild could generate code containing a syntax error in complex scenarios involving top-level await used in a dependency cycle. The problem was a missing async on one or more module wrapper closures. With this release, esbuild now uses a fixed-point iteration algorithm to correctly annotate all dependencies in the cycle as needing an async module wrapper.

  • Fix a minification bug with lowered logical assignment operators (#4508)

    This release fixes a bug that could cause esbuild to generate incorrect code for logical assignment operators when lowering them to an older target environment. Specifically the lowering process requires duplicating the left-hand side, but esbuild incorrectly failed to count the duplicate as a new usage when the left-hand side is an identifier. That then caused the minifier to believe that the left-hand side was only used once and could attempt to incorrectly inline an initializer into the first usage. This bug has now been fixed:

    // Original codefunctionfoo(){letx

... (truncated)

Commits

@dependabotdependabotBot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 12, 2026
CopilotAI lite review requested due to automatic review settings August 12, 2026 18:34
@dependabotdependabotBot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 12, 2026

CopilotAI 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.

Copilot wasn't able to review any files in this pull request.


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@jainakanksha-msft

Copy link
Copy Markdown
Member

Dependabot (@dependabot) rebase

CopilotAI review requested due to automatic review settings August 13, 2026 10:08
@dependabot
dependabotBotforce-pushed the dependabot/npm_and_yarn/esbuild-0.28.2 branch from f4ffeab to df056dbCompareAugust 13, 2026 10:08

CopilotAI 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.

Copilot wasn't able to review any files in this pull request.

@github-actions

Copy link
Copy Markdown

Copilot This PR was opened by Dependabot. Please take it the rest of the way before it's ready for human review:

  1. Impact analysis — identify what changed (package name, old → new version) from the PR diff/description, search the codebase for where that dependency is actually used, and summarize what could be affected.
  2. Fix build/conflict issues — run npm ci --legacy-peer-deps, npm run build, and npm run lint; resolve any merge conflicts, build errors, or lint errors that surface.
  3. Tests — add or update tests under tests/** to cover the changed usage, and make sure they meaningfully validate the change (not just re-assert the version bump).
  4. Run the suite — run the relevant npm run test:* script(s) for the affected area (e.g. test:blob, test:queue, test:table) and keep fixing until they pass.
  5. Changelog — append one bullet to ChangeLog.md under ## Upcoming ReleaseGeneral:, matching the existing style and tone of the entries already there (package name in backticks, old → new version, why, and a one-line summary of any code changes made).
  6. Comments — review any existing PR comments and review threads, including resolved/hidden ones, and address anything actionable.
  7. Self-rate — rate this work 1-10 against: correctness, test coverage, changelog accuracy, build/lint health, and comment resolution.
  8. Iterate — if it's not a 10, keep improving until it is before finishing.
  9. Summary — post a final comment explaining why this update matters, what the impact/risk is, and what could go wrong if it weren't applied, along with your self-rating and reasoning.

@jainakanksha-msft

Copy link
Copy Markdown
Member

Dependabot (@dependabot) rebase

Bumps [esbuild](https://github.com/evanw/esbuild) from 0.28.1 to 0.28.2.
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](evanw/esbuild@v0.28.1...v0.28.2)
---
updated-dependencies:
- dependency-name: esbuild
dependency-version: 0.28.2
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
CopilotAI review requested due to automatic review settings August 13, 2026 14:27
@dependabot
dependabotBotforce-pushed the dependabot/npm_and_yarn/esbuild-0.28.2 branch from df056db to 4231d18CompareAugust 13, 2026 14:27

CopilotAI 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.

Copilot wasn't able to review any files in this pull request.

@jainakanksha-msft

Copy link
Copy Markdown
Member

Copilot This PR was opened by Dependabot. Please take it the rest of the way before it's ready for human review:

  1. Impact analysis — identify what changed (package name, old → new version) from the PR diff/description, search the codebase for where that dependency is actually used, and summarize what could be affected.
  2. Fix build/conflict issues — run npm ci --legacy-peer-deps, npm run build, and npm run lint; resolve any merge conflicts, build errors, or lint errors that surface.
  3. Tests — add or update tests under tests/** to cover the changed usage, and make sure they meaningfully validate the change (not just re-assert the version bump).
  4. Run the suite — run the relevant npm run test:* script(s) for the affected area (e.g. test:blob, test:queue, test:table) and keep fixing until they pass.
  5. Changelog — append one bullet to ChangeLog.md under ## Upcoming ReleaseGeneral:, matching the existing style and tone of the entries already there (package name in backticks, old → new version, why, and a one-line summary of any code changes made).
  6. Comments — review any existing PR comments and review threads, including resolved/hidden ones, and address anything actionable.
  7. Self-rate — rate this work 1-10 against: correctness, test coverage, changelog accuracy, build/lint health, and comment resolution.
  8. Iterate — if it's not a 10, keep improving until it is before finishing.
  9. Summary — post a final comment explaining why this update matters, what the impact/risk is, and what could go wrong if it weren't applied, along with your self-rating and reasoning.

Co-authored-by: jainakanksha-msft <181211853+jainakanksha-msft@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 17, 2026 07:07
@dependabot
dependabotBot removed the request for review from CopilotAugust 17, 2026 07:07

CopilotAI commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Copilot This PR was opened by Dependabot. Please take it the rest of the way before it's ready for human review:

  1. Impact analysis — identify what changed (package name, old → new version) ...

Done. Summary:

Impact analysis: esbuild is a dev-only dependency, used solely by scripts/buildExe.js/scripts/buildLinux.js to bundle the standalone Windows/Linux/macOS executables (build:exe, build:linux). No application source references it, so this bump is low-risk.

Build/lint: npm ci --legacy-peer-deps, npm run build, and npm run lint all pass with esbuild 0.28.2 installed; no merge conflicts.

Verification: Rebuilt the Linux SEA binary with esbuild 0.28.2 (npm run build:linux), confirmed it starts the Blob/Queue/Table services correctly, then ran npm run test:linux (existing suite exercising the built binary end-to-end) — all 10 tests pass. No new tests were added since this is a transparent patch bump of a build tool with no API changes and no new code paths to cover.

Changelog: added an entry under ## Upcoming ReleaseGeneral: in ChangeLog.md (commit c.f. latest push).

Why it matters / risk if skipped: 0.28.2 is a patch release of the bundler used only at build time to produce the standalone executables; staying on 0.28.1 risks missing bundler bug fixes but carries no functional risk to Azurite's runtime behavior since esbuild isn't part of the shipped application code.

Self-rating: 9/10 — correctness, build/lint health and changelog accuracy are solid; docked slightly because coverage relies on the existing binary-build test suite rather than a new esbuild-specific test (not warranted here, as there's no new logic to cover).

@jainakanksha-msft
Akanksha Jain (jainakanksha-msft) merged commit aee751a into mainAug 17, 2026
45 checks passed
@jainakanksha-msft
Akanksha Jain (jainakanksha-msft) deleted the dependabot/npm_and_yarn/esbuild-0.28.2 branch August 17, 2026 08:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependenciesPull requests that update a dependency filejavascriptPull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jainakanksha-msft