Skip to content

build(deps-dev): bump esbuild from 0.20.2 to 0.28.2 in the npm_and_yarn group across 1 directory - #26

Merged
omrdev1 merged 2 commits into
mainfrom
dependabot/npm_and_yarn/npm_and_yarn-fa0e04ea13
Sep 9, 2026
Merged

omrdev1 merged 2 commits into
mainfrom
dependabot/npm_and_yarn/npm_and_yarn-fa0e04ea13

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 9, 2026

Copy link
Copy Markdown
Contributor

Bumps the npm_and_yarn group with 1 update in the / directory: esbuild.

Updates esbuild from 0.20.2 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:

    import Base from './dep.js';
    import Alias = 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 code
    function foo() {
      let x
      bar(x ||= {})

... (truncated)

Changelog

Sourced from esbuild's changelog.

Changelog: 2024

This changelog documents all esbuild versions published in the year 2024 (versions 0.19.12 through 0.24.2).

0.24.2

  • Fix regression with --define and import.meta (#4010, #4012, #4013)

    The previous change in version 0.24.1 to use a more expression-like parser for define values to allow quoted property names introduced a regression that removed the ability to use --define:import.meta=.... Even though import is normally a keyword that can't be used as an identifier, ES modules special-case the import.meta expression to behave like an identifier anyway. This change fixes the regression.

    This fix was contributed by @​sapphi-red.

0.24.1

  • Allow es2024 as a target in tsconfig.json (#4004)

    TypeScript recently added es2024 as a compilation target, so esbuild now supports this in the target field of tsconfig.json files, such as in the following configuration file:

    {
      "compilerOptions": {
        "target": "ES2024"
      }
    }

    As a reminder, the only thing that esbuild uses this field for is determining whether or not to use legacy TypeScript behavior for class fields. You can read more in the documentation.

    This fix was contributed by @​billyjanitsch.

  • Allow automatic semicolon insertion after get/set

    This change fixes a grammar bug in the parser that incorrectly treated the following code as a syntax error:

    class Foo {
      get
      *x() {}
      set
      *y() {}
    }

    The above code will be considered valid starting with this release. This change to esbuild follows a similar change to TypeScript which will allow this syntax starting with TypeScript 5.7.

  • Allow quoted property names in --define and --pure (#4008)

    The define and pure API options now accept identifier expressions containing quoted property names. Previously all identifiers in the identifier expression had to be bare identifiers. This change now makes --define and --pure consistent with --global-name, which already supported quoted property names. For example, the following is now possible:

... (truncated)

Commits
  • 609683d publish 0.28.2 to npm
  • 11b1fe4 add to release notes
  • ab50d91 css: fix green/blue channel swap in oklch gamut mapping (#4488)
  • 04627b6 fix #4498: async TLA checks need a worklist
  • 5c15177 disable gopls in the go folder
  • fc2ee9b css: adjust parser to allow --foo: {...}
  • 209db54 release notes for css nesting bugfix
  • c625d31 fix #4497: preserve nested ampersands during minification (#4500)
  • 34474e2 better isolation of current part in js parser
  • 07f6e8c fix #4507: import assignment tree-shaking bug
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for esbuild since your current version.


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps the npm_and_yarn group with 1 update in the / directory: [esbuild](https://github.com/evanw/esbuild).


Updates `esbuild` from 0.20.2 to 0.28.2
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](evanw/esbuild@v0.20.2...v0.28.2)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.28.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 9, 2026
@dependabot
dependabot Bot requested a review from omrdev1 as a code owner September 9, 2026 22:35
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Sep 9, 2026
Dependabot bumped the pinned esbuild version but, as with the prior
0.20.x mismatch (37c6301), doesn't rebuild committed artifacts.
Rebuilt via npm ci + npm run build against the new pinned version.
Verified identical runtime behavior (same version output, same
coverage counts, same live multi-provider diff output) before
committing — only minifier formatting of control-flow statements
differs, confirmed cosmetic via 155/155 passing tests and a live
compiled-binary check.

Claude-Session: https://claude.ai/code/session_01SMLcfinZD1kcQVcxJoSC8b
@github-actions

github-actions Bot commented Sep 9, 2026 •

Copy link
Copy Markdown

🌱 GreenOps Infrastructure Impact

Metric Monthly Total
🔋 Scope 2 (Operational CO2e) 5.06kg
🏭 Scope 3 (Embodied CO2e) 2.08kg
🌍 Total Lifecycle CO2e 7.14kg
💧 Water Consumption 2.1L
💰 Infrastructure Cost $140.16/month

Potential Scope 2 Savings: -4.94kg CO2e/month (97.7%) | -$5.84/month
💡 Found 1 optimization recommendation.

Resource Breakdown

Resource Type Region Scope 2 CO2e Scope 3 CO2e Water Cost/mo Action
aws_eks_node_group.workers m5.large × 2 us-east-1 5.06kg 2.08kg 2.1L 140.16 💡 View Recommendation

🧮 Node group totals reflect the minimum configured size for autoscaling groups (min_size / min_count / autoscaling.min_node_count), never the desired or maximum size. Actual emissions scale up with autoscaler activity above this floor.

Recommendations

aws_eks_node_group.workers

  • Current: m5.large × 2 nodes in us-east-1
  • Suggested: m5.large in eu-north-1
  • Scope 2 Impact: -4.94kg CO2e/month | +$5.84/month
  • Rationale: Moving m5.large from us-east-1 to Europe (Stockholm) (eu-north-1) reduces grid carbon intensity from 384.5g to 8.8g CO2e/kWh, saving 4944g CO2e/month (note: cost increases by $5.84/month).

Emissions calculated using the Open GreenOps Methodology Ledger v2.1.0. Scope 2 (operational) and Scope 3 (embodied) emissions tracked. Water consumption estimated from provider sustainability reports (AWS 2023, Microsoft 2023, Google 2023). Math is MIT-licensed and auditable. Analysed at 2026-09-09T22:40:10.087Z.

🏢 GreenOps Dashboard: aggregate carbon trends across all your repositories and export ESG reports. Get started free

@omrdev1 omrdev1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Rebuilt dist/index.cjs against the bumped esbuild (0.28.2) — Dependabot doesn't rebuild committed artifacts, and CI's validate-release check confirmed the mismatch before this fix. Verified: 155/155 tests passing, typecheck clean, identical runtime behavior via a live multi-provider check (same version output, same coverage counts, same diff output — only cosmetic minifier formatting differs). This also resolves the 2 vulnerabilities flagged on main (0 vulnerabilities after the bump).

@omrdev1
omrdev1 merged commit f1ddc5d into main Sep 9, 2026
2 checks passed
@omrdev1
omrdev1 deleted the dependabot/npm_and_yarn/npm_and_yarn-fa0e04ea13 branch September 9, 2026 22:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant