Commit ecc7be8
Upgrade: [dependabot] - bump esbuild from 0.25.1 to 0.25.3 (#144)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.1 to 0.25.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/evanw/esbuild/releases">esbuild's
releases</a>.</em></p>
<blockquote>
<h2>v0.25.3</h2>
<ul>
<li>
<p>Fix lowered <code>async</code> arrow functions before
<code>super()</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/4141">#4141</a>,
<a
href="https://redirect.github.com/evanw/esbuild/pull/4142">#4142</a>)</p>
<p>This change makes it possible to call an <code>async</code> arrow
function in a constructor before calling <code>super()</code> when
targeting environments without <code>async</code> support, as long as
the function body doesn't reference <code>this</code>. Here's an example
(notice the change from <code>this</code> to <code>null</code>):</p>
<pre lang="js"><code>// Original code
class Foo extends Object {
constructor() {
(async () => await foo())()
super()
}
}
<p>// Old output (with --target=es2016)<br />
class Foo extends Object {<br />
constructor() {<br />
(() => __async(this, null, function* () {<br />
return yield foo();<br />
}))();<br />
super();<br />
}<br />
}</p>
<p>// New output (with --target=es2016)<br />
class Foo extends Object {<br />
constructor() {<br />
(() => __async(null, null, function* () {<br />
return yield foo();<br />
}))();<br />
super();<br />
}<br />
}<br />
</code></pre></p>
<p>Some background: Arrow functions with the <code>async</code> keyword
are transformed into generator functions for older language targets such
as <code>--target=es2016</code>. Since arrow functions capture
<code>this</code>, the generated code forwards <code>this</code> into
the body of the generator function. However, JavaScript class syntax
forbids using <code>this</code> in a constructor before calling
<code>super()</code>, and this forwarding was problematic since
previously happened even when the function body doesn't use
<code>this</code>. Starting with this release, esbuild will now only
forward <code>this</code> if it's used within the function body.</p>
<p>This fix was contributed by <a
href="https://github.com/magic-akari"><code>@magic-akari</code></a>.</p>
</li>
<li>
<p>Fix memory leak with <code>--watch=true</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/4131">#4131</a>,
<a
href="https://redirect.github.com/evanw/esbuild/pull/4132">#4132</a>)</p>
<p>This release fixes a memory leak with esbuild when
<code>--watch=true</code> is used instead of <code>--watch</code>.
Previously using <code>--watch=true</code> caused esbuild to continue to
use more and more memory for every rebuild, but
<code>--watch=true</code> should now behave like <code>--watch</code>
and not leak memory.</p>
<p>This bug happened because esbuild disables the garbage collector when
it's not run as a long-lived process for extra speed, but esbuild's
checks for which arguments cause esbuild to be a long-lived process
weren't updated for the new <code>--watch=true</code> style of boolean
command-line flags. This has been an issue since this boolean flag
syntax was added in version 0.14.24 in 2022. These checks are
unfortunately separate from the regular argument parser because of how
esbuild's internals are organized (the command-line interface is exposed
as a separate <a
href="https://pkg.go.dev/github.com/evanw/esbuild/pkg/cli">Go API</a> so
you can build your own custom esbuild CLI).</p>
<p>This fix was contributed by <a
href="https://github.com/mxschmitt"><code>@mxschmitt</code></a>.</p>
</li>
<li>
<p>More concise output for repeated legal comments (<a
href="https://redirect.github.com/evanw/esbuild/issues/4139">#4139</a>)</p>
<p>Some libraries have many files and also use the same legal comment
text in all files. Previously esbuild would copy each legal comment to
the output file. Starting with this release, legal comments duplicated
across separate files will now be grouped in the output file by unique
comment content.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/evanw/esbuild/blob/main/CHANGELOG.md">esbuild's
changelog</a>.</em></p>
<blockquote>
<h2>0.25.3</h2>
<ul>
<li>
<p>Fix lowered <code>async</code> arrow functions before
<code>super()</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/4141">#4141</a>,
<a
href="https://redirect.github.com/evanw/esbuild/pull/4142">#4142</a>)</p>
<p>This change makes it possible to call an <code>async</code> arrow
function in a constructor before calling <code>super()</code> when
targeting environments without <code>async</code> support, as long as
the function body doesn't reference <code>this</code>. Here's an example
(notice the change from <code>this</code> to <code>null</code>):</p>
<pre lang="js"><code>// Original code
class Foo extends Object {
constructor() {
(async () => await foo())()
super()
}
}
<p>// Old output (with --target=es2016)<br />
class Foo extends Object {<br />
constructor() {<br />
(() => __async(this, null, function* () {<br />
return yield foo();<br />
}))();<br />
super();<br />
}<br />
}</p>
<p>// New output (with --target=es2016)<br />
class Foo extends Object {<br />
constructor() {<br />
(() => __async(null, null, function* () {<br />
return yield foo();<br />
}))();<br />
super();<br />
}<br />
}<br />
</code></pre></p>
<p>Some background: Arrow functions with the <code>async</code> keyword
are transformed into generator functions for older language targets such
as <code>--target=es2016</code>. Since arrow functions capture
<code>this</code>, the generated code forwards <code>this</code> into
the body of the generator function. However, JavaScript class syntax
forbids using <code>this</code> in a constructor before calling
<code>super()</code>, and this forwarding was problematic since
previously happened even when the function body doesn't use
<code>this</code>. Starting with this release, esbuild will now only
forward <code>this</code> if it's used within the function body.</p>
<p>This fix was contributed by <a
href="https://github.com/magic-akari"><code>@magic-akari</code></a>.</p>
</li>
<li>
<p>Fix memory leak with <code>--watch=true</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/4131">#4131</a>,
<a
href="https://redirect.github.com/evanw/esbuild/pull/4132">#4132</a>)</p>
<p>This release fixes a memory leak with esbuild when
<code>--watch=true</code> is used instead of <code>--watch</code>.
Previously using <code>--watch=true</code> caused esbuild to continue to
use more and more memory for every rebuild, but
<code>--watch=true</code> should now behave like <code>--watch</code>
and not leak memory.</p>
<p>This bug happened because esbuild disables the garbage collector when
it's not run as a long-lived process for extra speed, but esbuild's
checks for which arguments cause esbuild to be a long-lived process
weren't updated for the new <code>--watch=true</code> style of boolean
command-line flags. This has been an issue since this boolean flag
syntax was added in version 0.14.24 in 2022. These checks are
unfortunately separate from the regular argument parser because of how
esbuild's internals are organized (the command-line interface is exposed
as a separate <a
href="https://pkg.go.dev/github.com/evanw/esbuild/pkg/cli">Go API</a> so
you can build your own custom esbuild CLI).</p>
<p>This fix was contributed by <a
href="https://github.com/mxschmitt"><code>@mxschmitt</code></a>.</p>
</li>
<li>
<p>More concise output for repeated legal comments (<a
href="https://redirect.github.com/evanw/esbuild/issues/4139">#4139</a>)</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/evanw/esbuild/commit/677910b073194b64d5ae01aefd7a7465bbf5b27b"><code>677910b</code></a>
publish 0.25.3 to npm</li>
<li><a
href="https://github.com/evanw/esbuild/commit/a41040efdbd6464ee7c3c5590105b4a4ae5a03be"><code>a41040e</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4110">#4110</a>:
support custom non-IP <code>host</code> values</li>
<li><a
href="https://github.com/evanw/esbuild/commit/dfe0e1c632396da248d2d175a24fb0a4fe2c79ef"><code>dfe0e1c</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4114">#4114</a>:
add a limit to css nesting expansion</li>
<li><a
href="https://github.com/evanw/esbuild/commit/a54916b92c128aa0596a65bcbafcde1074acf63d"><code>a54916b</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4139">#4139</a>:
deduplicate repeated legal comments</li>
<li><a
href="https://github.com/evanw/esbuild/commit/dc60e6025da48d13ad2d2cc9e21472738099ce20"><code>dc60e60</code></a>
run <code>make update-compat-table</code></li>
<li><a
href="https://github.com/evanw/esbuild/commit/d917038c97b3e859183cfbe426c46928f54e261a"><code>d917038</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4144">#4144</a>:
node path resolution edge case</li>
<li><a
href="https://github.com/evanw/esbuild/commit/7ed168403b7609f1e557feffb3922955c313070a"><code>7ed1684</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4141">#4141</a>:
Avoid redundant <code>this</code> access during async function lowering
(<a
href="https://redirect.github.com/evanw/esbuild/issues/4142">#4142</a>)</li>
<li><a
href="https://github.com/evanw/esbuild/commit/edc3a2343859404d1ec76e9ed05d01f64d677709"><code>edc3a23</code></a>
docs(dev): update alias command for <code>make test-go</code> (<a
href="https://redirect.github.com/evanw/esbuild/issues/4113">#4113</a>)</li>
<li><a
href="https://github.com/evanw/esbuild/commit/1ee8b6717ecd473b7f0d872a811f38fcd7879d85"><code>1ee8b67</code></a>
workaround <code>process.exit()</code> not exiting in node</li>
<li><a
href="https://github.com/evanw/esbuild/commit/5c56e0737c63e209b6679eb97c940081f4d47772"><code>5c56e07</code></a>
changelog note with credit for the fix</li>
<li>Additional commits viewable in <a
href="https://github.com/evanw/esbuild/compare/v0.25.1...v0.25.3">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: anthony-nhs <[email protected]>1 parent 43cdd4c commit ecc7be8
2 files changed
+105
-105
lines changed
0 commit comments