Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Aug 30, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
esbuild 0.15.5 -> 0.15.6 age adoption passing confidence

Release Notes

evanw/esbuild

v0.15.6

Compare Source

  • Lower for await loops (#​1930)

    This release lowers for await loops to the equivalent for loop containing await when esbuild is configured such that for await loops are unsupported. This transform still requires at least generator functions to be supported since esbuild's lowering of await currently relies on generators. This new transformation is mostly modeled after what the TypeScript compiler does. Here's an example:

    async function f() {
      for await (let x of y)
        x()
    }

    The code above will now become the following code with --target=es2017 (omitting the code for the __forAwait helper function):

    async function f() {
      try {
        for (var iter = __forAwait(y), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
          let x = temp.value;
          x();
        }
      } catch (temp) {
        error = [temp];
      } finally {
        try {
          more && (temp = iter.return) && await temp.call(iter);
        } finally {
          if (error)
            throw error[0];
        }
      }
    }
  • Automatically fix invalid supported configurations (#​2497)

    The --target= setting lets you tell esbuild to target a specific version of one or more JavaScript runtimes such as chrome80,node14 and esbuild will restrict its output to only those features supported by all targeted JavaScript runtimes. More recently, esbuild introduced the --supported: setting that lets you override which features are supported on a per-feature basis. However, this now lets you configure nonsensical things such as --supported:async-await=false --supported:async-generator=true. Previously doing this could result in esbuild building successfully but producing invalid output.

    Starting with this release, esbuild will now attempt to automatically fix nonsensical feature override configurations by introducing more overrides until the configuration makes sense. So now the configuration from previous example will be changed such that async-await=false implies async-generator=false. The full list of implications that were introduced is below:

    • async-await=false implies:

      • async-generator=false
      • for-await=false
      • top-level-await=false
    • generator=false implies:

      • async-generator=false
    • object-accessors=false implies:

      • class-private-accessor=false
      • class-private-static-accessor=false
    • class-field=false implies:

      • class-private-field=false
    • class-static-field=false implies:

      • class-private-static-field=false
    • class=false implies:

      • class-field=false
      • class-private-accessor=false
      • class-private-brand-check=false
      • class-private-field=false
      • class-private-method=false
      • class-private-static-accessor=false
      • class-private-static-field=false
      • class-private-static-method=false
      • class-static-blocks=false
      • class-static-field=false
  • Implement a small minification improvement (#​2496)

    Some people write code that contains a label with an immediate break such as x: break x. Previously this code was not removed during minification but it will now be removed during minification starting with this release.

  • Fix installing esbuild via Yarn with enableScripts: false configured (#​2457)

    If esbuild is installed with Yarn with the enableScripts: false setting configured, then Yarn will not "unplug" the esbuild package (i.e. it will keep the entire package inside a .zip file). This messes with esbuild's library code that extracts the platform-specific binary executable because that code copies the binary executable into the esbuild package directory, and Yarn's .zip file system shim doesn't let you write to a directory inside of a .zip file. This release fixes this problem by writing to the node_modules/.cache/esbuild directory instead in this case. So you should now be able to use esbuild with Yarn when enableScripts: false is configured.

    This fix was contributed by @​jonaskuske.


Configuration

📅 Schedule: Branch creation - "before 11am" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, 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, click this checkbox.

This PR has been generated by Mend Renovate. View repository job log here.

@codecov
Copy link

codecov bot commented Aug 30, 2022

Codecov Report

Merging #77 (1cbc32b) into main (35205a9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #77   +/-   ##
=======================================
  Coverage   74.60%   74.60%           
=======================================
  Files           1        1           
  Lines          63       63           
  Branches        5        5           
=======================================
  Hits           47       47           
  Misses         16       16           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@renovate renovate bot merged commit 57891a6 into main Aug 30, 2022
@renovate renovate bot deleted the renovate/esbuild-0.x branch August 30, 2022 07:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant