Skip to content

chore(deps): update dependency esbuild to v0.20.1 #10161

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 9, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 9, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
esbuild 0.20.0 -> 0.20.1 age adoption passing confidence

Release Notes

evanw/esbuild (esbuild)

v0.20.1

Compare Source

  • Fix a bug with the CSS nesting transform (#​3648)

    This release fixes a bug with the CSS nesting transform for older browsers where the generated CSS could be incorrect if a selector list contained a pseudo element followed by another selector. The bug was caused by incorrectly mutating the parent rule's selector list when filtering out pseudo elements for the child rules:

    /* Original code */
    .foo {
      &:after,
      & .bar {
        color: red;
      }
    }
    
    /* Old output (with --supported:nesting=false) */
    .foo .bar,
    .foo .bar {
      color: red;
    }
    
    /* New output (with --supported:nesting=false) */
    .foo:after,
    .foo .bar {
      color: red;
    }
  • Constant folding for JavaScript inequality operators (#​3645)

    This release introduces constant folding for the < > <= >= operators. The minifier will now replace these operators with true or false when both sides are compile-time numeric or string constants:

    // Original code
    console.log(1 < 2, '🍕' > '🧀')
    
    // Old output (with --minify)
    console.log(1<2,"🍕">"🧀");
    
    // New output (with --minify)
    console.log(!0,!1);
  • Better handling of __proto__ edge cases (#​3651)

    JavaScript object literal syntax contains a special case where a non-computed property with a key of __proto__ sets the prototype of the object. This does not apply to computed properties or to properties that use the shorthand property syntax introduced in ES6. Previously esbuild didn't correctly preserve the "sets the prototype" status of properties inside an object literal, meaning a property that sets the prototype could accidentally be transformed into one that doesn't and vice versa. This has now been fixed:

    // Original code
    function foo(__proto__) {
      return { __proto__: __proto__ } // Note: sets the prototype
    }
    function bar(__proto__, proto) {
      {
        let __proto__ = proto
        return { __proto__ } // Note: doesn't set the prototype
      }
    }
    
    // Old output
    function foo(__proto__) {
      return { __proto__ }; // Note: no longer sets the prototype (WRONG)
    }
    function bar(__proto__, proto) {
      {
        let __proto__2 = proto;
        return { __proto__: __proto__2 }; // Note: now sets the prototype (WRONG)
      }
    }
    
    // New output
    function foo(__proto__) {
      return { __proto__: __proto__ }; // Note: sets the prototype (correct)
    }
    function bar(__proto__, proto) {
      {
        let __proto__2 = proto;
        return { ["__proto__"]: __proto__2 }; // Note: doesn't set the prototype (correct)
      }
    }
  • Fix cross-platform non-determinism with CSS color space transformations (#​3650)

    The Go compiler takes advantage of "fused multiply and add" (FMA) instructions on certain processors which do the operation x*y + z without intermediate rounding. This causes esbuild's CSS color space math to differ on different processors (currently ppc64le and s390x), which breaks esbuild's guarantee of deterministic output. To avoid this, esbuild's color space math now inserts a float64() cast around every single math operation. This tells the Go compiler not to use the FMA optimization.

  • Fix a crash when resolving a path from a directory that doesn't exist (#​3634)

    This release fixes a regression where esbuild could crash when resolving an absolute path if the source directory for the path resolution operation doesn't exist. While this situation doesn't normally come up, it could come up when running esbuild concurrently with another operation that mutates the file system as esbuild is doing a build (such as using git to switch branches). The underlying problem was a regression that was introduced in version 0.18.0.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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 these updates again.


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

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

@renovate renovate bot enabled auto-merge (squash) March 9, 2024 09:20
@jtoar jtoar added this to the next-release milestone Mar 9, 2024
@jtoar jtoar added release:chore This PR is a chore (means nothing for users) fixture-ok Override the test project fixture check changesets-ok Override the changesets check labels Mar 9, 2024
Copy link
Contributor Author

renovate bot commented Mar 9, 2024

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.

@renovate renovate bot merged commit 4c8cbe5 into main Mar 9, 2024
@renovate renovate bot deleted the renovate/esbuild-0.x branch March 9, 2024 11:48
jtoar added a commit that referenced this pull request Mar 9, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [esbuild](https://togithub.com/evanw/esbuild) | [`0.20.0` ->
`0.20.1`](https://renovatebot.com/diffs/npm/esbuild/0.20.0/0.20.1) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.20.0/0.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.20.0/0.20.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>evanw/esbuild (esbuild)</summary>

###
[`v0.20.1`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0201)

[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.20.0...v0.20.1)

- Fix a bug with the CSS nesting transform
([#&#8203;3648](https://togithub.com/evanw/esbuild/issues/3648))

This release fixes a bug with the CSS nesting transform for older
browsers where the generated CSS could be incorrect if a selector list
contained a pseudo element followed by another selector. The bug was
caused by incorrectly mutating the parent rule's selector list when
filtering out pseudo elements for the child rules:

    ```css
    /* Original code */
    .foo {
      &:after,
      & .bar {
        color: red;
      }
    }

    /* Old output (with --supported:nesting=false) */
    .foo .bar,
    .foo .bar {
      color: red;
    }

    /* New output (with --supported:nesting=false) */
    .foo:after,
    .foo .bar {
      color: red;
    }
    ```

- Constant folding for JavaScript inequality operators
([#&#8203;3645](https://togithub.com/evanw/esbuild/issues/3645))

This release introduces constant folding for the `< > <= >=` operators.
The minifier will now replace these operators with `true` or `false`
when both sides are compile-time numeric or string constants:

    ```js
    // Original code
    console.log(1 < 2, '🍕' > '🧀')

    // Old output (with --minify)
    console.log(1<2,"🍕">"🧀");

    // New output (with --minify)
    console.log(!0,!1);
    ```

- Better handling of `__proto__` edge cases
([#&#8203;3651](https://togithub.com/evanw/esbuild/pull/3651))

JavaScript object literal syntax contains a special case where a
non-computed property with a key of `__proto__` sets the prototype of
the object. This does not apply to computed properties or to properties
that use the shorthand property syntax introduced in ES6. Previously
esbuild didn't correctly preserve the "sets the prototype" status of
properties inside an object literal, meaning a property that sets the
prototype could accidentally be transformed into one that doesn't and
vice versa. This has now been fixed:

    ```js
    // Original code
    function foo(__proto__) {
      return { __proto__: __proto__ } // Note: sets the prototype
    }
    function bar(__proto__, proto) {
      {
        let __proto__ = proto
        return { __proto__ } // Note: doesn't set the prototype
      }
    }

    // Old output
    function foo(__proto__) {
return { __proto__ }; // Note: no longer sets the prototype (WRONG)
    }
    function bar(__proto__, proto) {
      {
        let __proto__2 = proto;
return { __proto__: __proto__2 }; // Note: now sets the prototype
(WRONG)
      }
    }

    // New output
    function foo(__proto__) {
return { __proto__: __proto__ }; // Note: sets the prototype (correct)
    }
    function bar(__proto__, proto) {
      {
        let __proto__2 = proto;
return { ["__proto__"]: __proto__2 }; // Note: doesn't set the prototype
(correct)
      }
    }
    ```

- Fix cross-platform non-determinism with CSS color space
transformations
([#&#8203;3650](https://togithub.com/evanw/esbuild/issues/3650))

The Go compiler takes advantage of "fused multiply and add" (FMA)
instructions on certain processors which do the operation `x*y + z`
without intermediate rounding. This causes esbuild's CSS color space
math to differ on different processors (currently `ppc64le` and
`s390x`), which breaks esbuild's guarantee of deterministic output. To
avoid this, esbuild's color space math now inserts a `float64()` cast
around every single math operation. This tells the Go compiler not to
use the FMA optimization.

- Fix a crash when resolving a path from a directory that doesn't exist
([#&#8203;3634](https://togithub.com/evanw/esbuild/issues/3634))

This release fixes a regression where esbuild could crash when resolving
an absolute path if the source directory for the path resolution
operation doesn't exist. While this situation doesn't normally come up,
it could come up when running esbuild concurrently with another
operation that mutates the file system as esbuild is doing a build (such
as using `git` to switch branches). The underlying problem was a
regression that was introduced in version 0.18.0.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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 these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzAuMCIsInVwZGF0ZWRJblZlciI6IjM3LjIzMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dominic Saadi <[email protected]>
@jtoar jtoar modified the milestones: next-release, v7.2.0 Mar 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changesets-ok Override the changesets check fixture-ok Override the test project fixture check release:chore This PR is a chore (means nothing for users)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant