chore(deps): update dependency esbuild to v0.12.28 #744

Merged
konrad merged 1 commits from renovate/esbuild-0.x into main 2021-09-21 16:22:02 +00:00
Member

This PR contains the following updates:

Package Type Update Change
esbuild devDependencies patch 0.12.26 -> 0.12.28

Release Notes

evanw/esbuild

v0.12.28

Compare Source

  • Fix U+30FB and U+FF65 in identifier names in ES5 vs. ES6+ (#​1599)

    The ES6 specification caused two code points that were previously valid in identifier names in ES5 to no longer be valid in identifier names in ES6+. The two code points are:

    • U+30FB i.e. KATAKANA MIDDLE DOT i.e.
    • U+FF65 i.e. HALFWIDTH KATAKANA MIDDLE DOT i.e.

    This means that using ES6+ parsing rules will fail to parse some valid ES5 code, and generating valid ES5 code may fail to be parsed using ES6+ parsing rules. For example, esbuild would previously fail to parse x.y・ even though it's valid ES5 code (since it's not valid ES6+ code) and esbuild could generate {y・:x} when minifying even though it's not valid ES6+ code (since it's valid ES5 code). This problem is the result of my incorrect assumption that ES6 is a superset of ES5.

    As of this release, esbuild will now parse a superset of ES5 and ES6+ and will now quote identifier names when possible if it's not considered to be a valid identifier name in either ES5 or ES6+. In other words, a union of ES5 and ES6 rules is used for parsing and the intersection of ES5 and ES6 rules is used for printing.

  • Fix ++ and -- on class private fields when used with big integers (#​1600)

    Previously when esbuild lowered class private fields (e.g. #foo) to older JavaScript syntax, the transform of the ++ and -- was not correct if the value is a big integer such as 123n. The transform in esbuild is similar to Babel's transform which has the same problem. Specifically, the code was transformed into code that either adds or subtracts the number 1 and 123n + 1 throws an exception in JavaScript. This problem has been fixed so this should now work fine starting with this release.

v0.12.27

Compare Source

  • Update JavaScript syntax feature compatibility tables (#​1594)

    Most JavaScript syntax feature compatibility data is able to be obtained automatically via https://kangax.github.io/compat-table/. However, they are missing data for quite a few new JavaScript features (see (kangax/compat-table#​1034)) so data on these new features has to be added manually. This release manually adds a few new entries:

    • Top-level await

      This feature lets you use await at the top level of a module, outside of an async function. Doing this holds up the entire module instantiation operation until the awaited expression is resolved or rejected. This release marks this feature as supported in Edge 89, Firefox 89, and Safari 15 (it was already marked as supported in Chrome 89 and Node 14.8). The data source for this is https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await.

    • Arbitrary module namespace identifier names

      This lets you use arbitrary strings as module namespace identifier names as long as they are valid UTF-16 strings. An example is export { x as "🍕" } which can then be imported as import { "🍕" as y } from "./example.js". This release marks this feature as supported in Firefox 87 (it was already marked as supported in Chrome 90 and Node 16). The data source for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1670044.

    I would also like to add data for Safari. They have recently added support for arbitrary module namespace identifier names (https://bugs.webkit.org/show_bug.cgi?id=217576) and export * as (https://bugs.webkit.org/show_bug.cgi?id=214379). However, I have no idea how to determine which Safari release these bugs correspond to so this compatibility data for Safari has been omitted.

  • Avoid unnecessary additional log messages after the server is stopped (#​1589)

    There is a development server built in to esbuild which is accessible via the serve() API call. This returns a promise that resolves to an object with a stop() method that immediately terminates the development server. Previously calling this could cause esbuild to print stray log messages since stop() could cause plugins to be unregistered while a build is still in progress. With this release, calling stop() no longer terminates the development server immediately. It now waits for any active builds to finish first so the builds are not interrupted and left in a confusing state.

  • Fix an accidental dependency on Go ≥1.17.0 (#​1585)

    The source code of this release no longer uses the math.MaxInt constant that was introduced in Go version 1.17.0. This constant was preventing esbuild from being compiled on Go version <1.17.0. This fix was contributed by @​davezuko.


Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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, check this box.

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [esbuild](https://github.com/evanw/esbuild) | devDependencies | patch | [`0.12.26` -> `0.12.28`](https://renovatebot.com/diffs/npm/esbuild/0.12.26/0.12.28) | --- ### Release Notes <details> <summary>evanw/esbuild</summary> ### [`v0.12.28`](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md#&#8203;01228) [Compare Source](https://github.com/evanw/esbuild/compare/v0.12.27...v0.12.28) - Fix U+30FB and U+FF65 in identifier names in ES5 vs. ES6+ ([#&#8203;1599](https://github.com/evanw/esbuild/issues/1599)) The ES6 specification caused two code points that were previously valid in identifier names in ES5 to no longer be valid in identifier names in ES6+. The two code points are: - `U+30FB` i.e. `KATAKANA MIDDLE DOT` i.e. `・` - `U+FF65` i.e. `HALFWIDTH KATAKANA MIDDLE DOT` i.e. `・` This means that using ES6+ parsing rules will fail to parse some valid ES5 code, and generating valid ES5 code may fail to be parsed using ES6+ parsing rules. For example, esbuild would previously fail to parse `x.y・` even though it's valid ES5 code (since it's not valid ES6+ code) and esbuild could generate `{y・:x}` when minifying even though it's not valid ES6+ code (since it's valid ES5 code). This problem is the result of my incorrect assumption that ES6 is a superset of ES5. As of this release, esbuild will now parse a superset of ES5 and ES6+ and will now quote identifier names when possible if it's not considered to be a valid identifier name in either ES5 or ES6+. In other words, a union of ES5 and ES6 rules is used for parsing and the intersection of ES5 and ES6 rules is used for printing. - Fix `++` and `--` on class private fields when used with big integers ([#&#8203;1600](https://github.com/evanw/esbuild/issues/1600)) Previously when esbuild lowered class private fields (e.g. `#foo`) to older JavaScript syntax, the transform of the `++` and `--` was not correct if the value is a big integer such as `123n`. The transform in esbuild is similar to Babel's transform which [has the same problem](https://github.com/babel/babel/issues/13756). Specifically, the code was transformed into code that either adds or subtracts the number `1` and `123n + 1` throws an exception in JavaScript. This problem has been fixed so this should now work fine starting with this release. ### [`v0.12.27`](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md#&#8203;01227) [Compare Source](https://github.com/evanw/esbuild/compare/v0.12.26...v0.12.27) - Update JavaScript syntax feature compatibility tables ([#&#8203;1594](https://github.com/evanw/esbuild/issues/1594)) Most JavaScript syntax feature compatibility data is able to be obtained automatically via https://kangax.github.io/compat-table/. However, they are missing data for quite a few new JavaScript features (see ([kangax/compat-table#&#8203;1034](https://github.com/kangax/compat-table/issues/1034))) so data on these new features has to be added manually. This release manually adds a few new entries: - Top-level await This feature lets you use `await` at the top level of a module, outside of an `async` function. Doing this holds up the entire module instantiation operation until the awaited expression is resolved or rejected. This release marks this feature as supported in Edge 89, Firefox 89, and Safari 15 (it was already marked as supported in Chrome 89 and Node 14.8). The data source for this is https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await. - Arbitrary module namespace identifier names This lets you use arbitrary strings as module namespace identifier names as long as they are valid UTF-16 strings. An example is `export { x as "🍕" }` which can then be imported as `import { "🍕" as y } from "./example.js"`. This release marks this feature as supported in Firefox 87 (it was already marked as supported in Chrome 90 and Node 16). The data source for this is https://bugzilla.mozilla.org/show_bug.cgi?id=1670044. I would also like to add data for Safari. They have recently added support for arbitrary module namespace identifier names (https://bugs.webkit.org/show_bug.cgi?id=217576) and `export * as` (https://bugs.webkit.org/show_bug.cgi?id=214379). However, I have no idea how to determine which Safari release these bugs correspond to so this compatibility data for Safari has been omitted. - Avoid unnecessary additional log messages after the server is stopped ([#&#8203;1589](https://github.com/evanw/esbuild/issues/1589)) There is a development server built in to esbuild which is accessible via the `serve()` API call. This returns a promise that resolves to an object with a `stop()` method that immediately terminates the development server. Previously calling this could cause esbuild to print stray log messages since `stop()` could cause plugins to be unregistered while a build is still in progress. With this release, calling `stop()` no longer terminates the development server immediately. It now waits for any active builds to finish first so the builds are not interrupted and left in a confusing state. - Fix an accidental dependency on Go ≥1.17.0 ([#&#8203;1585](https://github.com/evanw/esbuild/pull/1585)) The source code of this release no longer uses the `math.MaxInt` constant that was introduced in Go version 1.17.0. This constant was preventing esbuild from being compiled on Go version <1.17.0. This fix was contributed by [@&#8203;davezuko](https://github.com/davezuko). </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
renovate added the
dependencies
label 2021-09-13 02:01:32 +00:00
renovate added 1 commit 2021-09-13 02:01:33 +00:00
continuous-integration/drone/pr Build is passing Details
0fa45e5d67
chore(deps): update dependency esbuild to v0.12.27
renovate changed title from chore(deps): update dependency esbuild to v0.12.27 to chore(deps): update dependency esbuild to v0.12.28 2021-09-14 03:02:08 +00:00
renovate force-pushed renovate/esbuild-0.x from 0fa45e5d67 to 9b37a41434 2021-09-14 03:02:09 +00:00 Compare
konrad merged commit eddb2cbce0 into main 2021-09-21 16:22:02 +00:00
konrad deleted branch renovate/esbuild-0.x 2021-09-21 16:22:02 +00:00
This repo is archived. You cannot comment on pull requests.
No description provided.