Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Dec 6, 2025

This PR contains the following updates:

Package Change Age Confidence
esbuild 0.27.0 -> 0.27.1 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

evanw/esbuild (esbuild)

v0.27.1

Compare Source

  • Fix bundler bug with var nested inside if (#​4348)

    This release fixes a bug with the bundler that happens when importing an ES module using require (which causes it to be wrapped) and there's a top-level var inside an if statement without being wrapped in a { ... } block (and a few other conditions). The bundling transform needed to hoist these var declarations outside of the lazy ES module wrapper for correctness. See the issue for details.

  • Fix minifier bug with for inside try inside label (#​4351)

    This fixes an old regression from version v0.21.4. Some code was introduced to move the label inside the try statement to address a problem with transforming labeled for await loops to avoid the await (the transformation involves converting the for await loop into a for loop and wrapping it in a try statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to for loops that esbuild itself generates internally as part of the for await transform. Here is an example of some affected code:

    // Original code
    d: {
      e: {
        try {
          while (1) { break d }
        } catch { break e; }
      }
    }
    
    // Old output (with --minify)
    a:try{e:for(;;)break a}catch{break e}
    
    // New output (with --minify)
    a:e:try{for(;;)break a}catch{break e}
  • Inline IIFEs containing a single expression (#​4354)

    Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single return statement. Now it should also work if the body contains a single expression statement instead:

    // Original code
    const foo = () => {
      const cb = () => {
        console.log(x())
      }
      return cb()
    }
    
    // Old output (with --minify)
    const foo=()=>(()=>{console.log(x())})();
    
    // New output (with --minify)
    const foo=()=>{console.log(x())};
  • The minifier now strips empty finally clauses (#​4353)

    This improvement means that finally clauses containing dead code can potentially cause the associated try statement to be removed from the output entirely in minified builds:

    // Original code
    function foo(callback) {
      if (DEBUG) stack.push(callback.name);
      try {
        callback();
      } finally {
        if (DEBUG) stack.pop();
      }
    }
    
    // Old output (with --minify --define:DEBUG=false)
    function foo(a){try{a()}finally{}}
    
    // New output (with --minify --define:DEBUG=false)
    function foo(a){a()}
  • Allow tree-shaking of the Symbol constructor

    With this release, calling Symbol is now considered to be side-effect free when the argument is known to be a primitive value. This means esbuild can now tree-shake module-level symbol variables:

    // Original code
    const a = Symbol('foo')
    const b = Symbol(bar)
    
    // Old output (with --tree-shaking=true)
    const a = Symbol("foo");
    const b = Symbol(bar);
    
    // New output (with --tree-shaking=true)
    const b = Symbol(bar);

Configuration

📅 Schedule: Branch creation - "after 4pm on friday,before 9am on monday,every weekend" in timezone Europe/Paris, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner December 6, 2025 19:07
@renovate renovate bot requested review from Fluf22 and shortcuts and removed request for a team December 6, 2025 19:07
@algolia-bot
Copy link
Collaborator

algolia-bot commented Dec 6, 2025

✔️ Code generated!

Name Link
🪓 Triggered by 0d2ad03f965ad1bbb668c5e831cdecf77bcc9cf0
🍃 Generated commit e9e8debbdb3b1724b60b1f7b1e5c8f80e3ddf8ec
🌲 Generated branch generated/renovate/esbuild-0.x
📊 Benchmark results

Benchmarks performed on the method using a mock server, the results might not reflect the real-world performance.

Language Req/s
javascript 2418
go 2298
php 1796
csharp 1488
python 1342
java 1207
ruby 878
swift 584
scala 23

@renovate renovate bot force-pushed the renovate/esbuild-0.x branch 15 times, most recently from 5fc6031 to 384bd83 Compare December 7, 2025 05:25
@renovate renovate bot force-pushed the renovate/esbuild-0.x branch from 384bd83 to 6dbd187 Compare December 7, 2025 05:47
@renovate
Copy link
Contributor Author

renovate bot commented Dec 8, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@Fluf22 Fluf22 merged commit 86045cc into chore/renovateBaseBranch Dec 8, 2025
33 checks passed
@Fluf22 Fluf22 deleted the renovate/esbuild-0.x branch December 8, 2025 13:45
Fluf22 added a commit that referenced this pull request Dec 8, 2025
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Thomas Raffray <[email protected]>
Fluf22 added a commit that referenced this pull request Dec 9, 2025
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Thomas Raffray <[email protected]>
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