Updated release workflow and semantic-release config to include the beta
branch and pattern-matched branches for release automation. The beta
branch is now marked as a prerelease.
Bumps the development-dependencies group with 2 updates in the /
directory: [ava](https://github.com/avajs/ava) and
[esbuild](https://github.com/evanw/esbuild).
Updates `ava` from 6.3.0 to 6.4.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/avajs/ava/releases">ava's
releases</a>.</em></p>
<blockquote>
<h2>v6.4.0</h2>
<h2>What's Changed</h2>
<ul>
<li>AVA is now tested with Node.js 24 (but no longer v23) <a
href="https://redirect.github.com/avajs/ava/pull/3379">avajs/ava#3379</a></li>
<li>We're now publishing to npm with <a
href="https://www.npmjs.com/package/ava#provenance">provenance
attestations</a> <a
href="https://redirect.github.com/avajs/ava/pull/3385">avajs/ava#3385</a></li>
</ul>
<h3>Interactive watch mode filters</h3>
<p><a href="https://github.com/mmulet"><code>@mmulet</code></a> did
fantastic work to spearhead interactive watch mode filters. You can now
filter test files by glob patterns, and tests by matching their titles.
It's just like you already could from the CLI itself, but now without
exiting AVA 🚀 <a
href="https://redirect.github.com/avajs/ava/pull/3372">avajs/ava#3372</a></p>
<p>As part of this work we've removed the "sticky"
<code>.only()</code> behavior <a
href="https://redirect.github.com/avajs/ava/pull/3381">avajs/ava#3381</a></p>
<h3>Examples</h3>
<p>We've been remiss in merging <a
href="https://redirect.github.com/avajs/ava/pull/3335">avajs/ava#3335</a>
which updates the examples to use AVA 6. It's done now, examples are up
to date and it's all due to <a
href="https://github.com/tommy-mitchell"><code>@tommy-mitchell</code></a>
👏</p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mmulet"><code>@mmulet</code></a> made
their first contribution in <a
href="https://redirect.github.com/avajs/ava/pull/3372">avajs/ava#3372</a></li>
<li><a href="https://github.com/kebbell"><code>@kebbell</code></a> made
their first contribution in <a
href="https://redirect.github.com/avajs/ava/pull/3348">avajs/ava#3348</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/avajs/ava/compare/v6.3.0...v6.4.0">https://github.com/avajs/ava/compare/v6.3.0...v6.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/avajs/ava/commit/372c241efbea3bcb790bc2cdcbc11b80d12bbdfd"><code>372c241</code></a>
6.4.0</li>
<li><a
href="https://github.com/avajs/ava/commit/05ead2812d5723104cb4bf45c040007c9f082ff4"><code>05ead28</code></a>
Update release process & maintaining notes</li>
<li><a
href="https://github.com/avajs/ava/commit/859f3ff2eb72e08c1c254d87ed5ff967c718d900"><code>859f3ff</code></a>
Update examples to use AVA 6</li>
<li><a
href="https://github.com/avajs/ava/commit/eb2b48d3985bbfb9a4649e31a6e449d7e8f9278e"><code>eb2b48d</code></a>
Update XO & other dependencies</li>
<li><a
href="https://github.com/avajs/ava/commit/50e02d5cd64872f9cca7bb543e623a0da8c3acdb"><code>50e02d5</code></a>
Remove compiler option override needed for TypeScript 4.x</li>
<li><a
href="https://github.com/avajs/ava/commit/57a3bbe8d43ea71ce67a2971a90844ae667a93ef"><code>57a3bbe</code></a>
Implement file globbing and test matching within watch mode</li>
<li><a
href="https://github.com/avajs/ava/commit/29cb29accbf82ad8eca4b97544f357e813708853"><code>29cb29a</code></a>
Remove special .only() behavior in watch mode</li>
<li><a
href="https://github.com/avajs/ava/commit/36934b2371889735c8a9209fb41f63574b44e66f"><code>36934b2</code></a>
Fix error handling in watcher tests</li>
<li><a
href="https://github.com/avajs/ava/commit/31a1262e6c5c1b1514453b7a90a6b871e444e50f"><code>31a1262</code></a>
Test with Node.js 24, remove v23 test runs</li>
<li><a
href="https://github.com/avajs/ava/commit/a6f42ea472cfbe7047a0fb89ab0cd728b4e04ae1"><code>a6f42ea</code></a>
Upgrade <code>@ava/test</code> to 6.3.0</li>
<li>See full diff in <a
href="https://github.com/avajs/ava/compare/v6.3.0...v6.4.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `esbuild` from 0.25.5 to 0.25.6
<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.6</h2>
<ul>
<li>
<p>Fix a memory leak when <code>cancel()</code> is used on a build
context (<a
href="https://redirect.github.com/evanw/esbuild/issues/4231">#4231</a>)</p>
<p>Calling <code>rebuild()</code> followed by <code>cancel()</code> in
rapid succession could previously leak memory. The bundler uses a
producer/consumer model internally, and the resource leak was caused by
the consumer being termianted while there were still remaining
unreceived results from a producer. To avoid the leak, the consumer now
waits for all producers to finish before terminating.</p>
</li>
<li>
<p>Support empty <code>:is()</code> and <code>:where()</code> syntax in
CSS (<a
href="https://redirect.github.com/evanw/esbuild/issues/4232">#4232</a>)</p>
<p>Previously using these selectors with esbuild would generate a
warning. That warning has been removed in this release for these
cases.</p>
</li>
<li>
<p>Improve tree-shaking of <code>try</code> statements in dead code (<a
href="https://redirect.github.com/evanw/esbuild/issues/4224">#4224</a>)</p>
<p>With this release, esbuild will now remove certain <code>try</code>
statements if esbuild considers them to be within dead code (i.e. code
that is known to not ever be evaluated). For example:</p>
<pre lang="js"><code>// Original code
return 'foo'
try { return 'bar' } catch {}
<p>// Old output (with --minify)
return"foo";try{return"bar"}catch{}</p>
<p>// New output (with --minify)
return"foo";
</code></pre></p>
</li>
<li>
<p>Consider negated bigints to have no side effects</p>
<p>While esbuild currently considers <code>1</code>, <code>-1</code>,
and <code>1n</code> to all have no side effects, it didn't previously
consider <code>-1n</code> to have no side effects. This is because
esbuild does constant folding with numbers but not bigints. However, it
meant that unused negative bigint constants were not tree-shaken. With
this release, esbuild will now consider these expressions to also be
side-effect free:</p>
<pre lang="js"><code>// Original code
let a = 1, b = -1, c = 1n, d = -1n
<p>// Old output (with --bundle --minify)
(()=>{var n=-1n;})();</p>
<p>// New output (with --bundle --minify)
(()=>{})();
</code></pre></p>
</li>
<li>
<p>Support a configurable delay in watch mode before rebuilding (<a
href="https://redirect.github.com/evanw/esbuild/issues/3476">#3476</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4178">#4178</a>)</p>
<p>The <code>watch()</code> API now takes a <code>delay</code> option
that lets you add a delay (in milliseconds) before rebuilding when a
change is detected in watch mode. If you use a tool that regenerates
multiple source files very slowly, this should make it more likely that
esbuild's watch mode won't generate a broken intermediate build before
the successful final build. This option is also available via the CLI
using the <code>--watch-delay=</code> flag.</p>
<p>This should also help avoid confusion about the <code>watch()</code>
API's options argument. It was previously empty to allow for future API
expansion, which caused some people to think that the documentation was
missing. It's no longer empty now that the <code>watch()</code> API has
an option.</p>
</li>
<li>
<p>Allow mixed array for <code>entryPoints</code> API option (<a
href="https://redirect.github.com/evanw/esbuild/issues/4223">#4223</a>)</p>
<p>The TypeScript type definitions now allow you to pass a mixed array
of both string literals and object literals to the
<code>entryPoints</code> API option, such as <code>['foo.js', { out:
'lib', in: 'bar.js' }]</code>. This was always possible to do in
JavaScript but the TypeScript type definitions were previously too
restrictive.</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.6</h2>
<ul>
<li>
<p>Fix a memory leak when <code>cancel()</code> is used on a build
context (<a
href="https://redirect.github.com/evanw/esbuild/issues/4231">#4231</a>)</p>
<p>Calling <code>rebuild()</code> followed by <code>cancel()</code> in
rapid succession could previously leak memory. The bundler uses a
producer/consumer model internally, and the resource leak was caused by
the consumer being termianted while there were still remaining
unreceived results from a producer. To avoid the leak, the consumer now
waits for all producers to finish before terminating.</p>
</li>
<li>
<p>Support empty <code>:is()</code> and <code>:where()</code> syntax in
CSS (<a
href="https://redirect.github.com/evanw/esbuild/issues/4232">#4232</a>)</p>
<p>Previously using these selectors with esbuild would generate a
warning. That warning has been removed in this release for these
cases.</p>
</li>
<li>
<p>Improve tree-shaking of <code>try</code> statements in dead code (<a
href="https://redirect.github.com/evanw/esbuild/issues/4224">#4224</a>)</p>
<p>With this release, esbuild will now remove certain <code>try</code>
statements if esbuild considers them to be within dead code (i.e. code
that is known to not ever be evaluated). For example:</p>
<pre lang="js"><code>// Original code
return 'foo'
try { return 'bar' } catch {}
<p>// Old output (with --minify)
return"foo";try{return"bar"}catch{}</p>
<p>// New output (with --minify)
return"foo";
</code></pre></p>
</li>
<li>
<p>Consider negated bigints to have no side effects</p>
<p>While esbuild currently considers <code>1</code>, <code>-1</code>,
and <code>1n</code> to all have no side effects, it didn't previously
consider <code>-1n</code> to have no side effects. This is because
esbuild does constant folding with numbers but not bigints. However, it
meant that unused negative bigint constants were not tree-shaken. With
this release, esbuild will now consider these expressions to also be
side-effect free:</p>
<pre lang="js"><code>// Original code
let a = 1, b = -1, c = 1n, d = -1n
<p>// Old output (with --bundle --minify)
(()=>{var n=-1n;})();</p>
<p>// New output (with --bundle --minify)
(()=>{})();
</code></pre></p>
</li>
<li>
<p>Support a configurable delay in watch mode before rebuilding (<a
href="https://redirect.github.com/evanw/esbuild/issues/3476">#3476</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4178">#4178</a>)</p>
<p>The <code>watch()</code> API now takes a <code>delay</code> option
that lets you add a delay (in milliseconds) before rebuilding when a
change is detected in watch mode. If you use a tool that regenerates
multiple source files very slowly, this should make it more likely that
esbuild's watch mode won't generate a broken intermediate build before
the successful final build. This option is also available via the CLI
using the <code>--watch-delay=</code> flag.</p>
<p>This should also help avoid confusion about the <code>watch()</code>
API's options argument. It was previously empty to allow for future API
expansion, which caused some people to think that the documentation was
missing. It's no longer empty now that the <code>watch()</code> API has
an option.</p>
</li>
<li>
<p>Allow mixed array for <code>entryPoints</code> API option (<a
href="https://redirect.github.com/evanw/esbuild/issues/4223">#4223</a>)</p>
<p>The TypeScript type definitions now allow you to pass a mixed array
of both string literals and object literals to the
<code>entryPoints</code> API option, such as <code>['foo.js', { out:
'lib', in: 'bar.js' }]</code>. This was always possible to do in
JavaScript but the TypeScript type definitions were previously too
restrictive.</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/d38c1f0bc580b4a8a93f23559d0cd9085d7ba31f"><code>d38c1f0</code></a>
publish 0.25.6 to npm</li>
<li><a
href="https://github.com/evanw/esbuild/commit/11e547e2c7b4238a626c1fd10759e058c8477daa"><code>11e547e</code></a>
missing <code>)</code> in release notes</li>
<li><a
href="https://github.com/evanw/esbuild/commit/cc8ac0a5f49589d9a0698728106ffa43d51aa1b3"><code>cc8ac0a</code></a>
fix trailing comment whitespace</li>
<li><a
href="https://github.com/evanw/esbuild/commit/1e3fb57adcbd51b35712ea53e215f5368a8cd708"><code>1e3fb57</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4178">#4178</a>:
add the <code>--watch-delay=</code> option</li>
<li><a
href="https://github.com/evanw/esbuild/commit/c1f5f18e8308be3eaf064c0d059bfee00cc628e7"><code>c1f5f18</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4209">#4209</a>:
disable binary executable optimization on WASM platform (<a
href="https://redirect.github.com/evanw/esbuild/issues/4210">#4210</a>)</li>
<li><a
href="https://github.com/evanw/esbuild/commit/3ed5ecce847ace6f016290d10fbae9359b0351d3"><code>3ed5ecc</code></a>
fix incorrect locations in <code>CHANGELOG.md</code></li>
<li><a
href="https://github.com/evanw/esbuild/commit/248089c1a8398a219720e8ef5601d2b7001c64d4"><code>248089c</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4224">#4224</a>:
allow <code>try</code> statements to become dead</li>
<li><a
href="https://github.com/evanw/esbuild/commit/42f159cb52e1d7de826b5b52f307c45b587a5646"><code>42f159c</code></a>
openharmony: keep makefile targets sorted</li>
<li><a
href="https://github.com/evanw/esbuild/commit/63256e12bedc47a7bd13d315e5c0712908f31a14"><code>63256e1</code></a>
chore: fix some comments (<a
href="https://redirect.github.com/evanw/esbuild/issues/4211">#4211</a>)</li>
<li><a
href="https://github.com/evanw/esbuild/commit/d803f72e64c900e6b007501c81b987832ffc3c81"><code>d803f72</code></a>
add support for openharmony-arm64 platform (<a
href="https://redirect.github.com/evanw/esbuild/issues/4212">#4212</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/evanw/esbuild/compare/v0.25.5...v0.25.6">compare
view</a></li>
</ul>
</details>
<br />
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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the development-dependencies group with 3 updates in the /
directory: [ava](https://github.com/avajs/ava),
[dotenv](https://github.com/motdotla/dotenv) and
[esbuild](https://github.com/evanw/esbuild).
Updates `ava` from 6.2.0 to 6.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/avajs/ava/releases">ava's
releases</a>.</em></p>
<blockquote>
<h2>v6.3.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update dependencies, addressing <code>npm audit</code> warnings by
<a
href="https://github.com/novemberborn"><code>@novemberborn</code></a>
in <a
href="https://redirect.github.com/avajs/ava/pull/3377">avajs/ava#3377</a></li>
<li>Do not count writes to stdout/stderr as non-idling activity for
timeouts by <a
href="https://github.com/mdouglass"><code>@mdouglass</code></a> in <a
href="https://redirect.github.com/avajs/ava/pull/3374">avajs/ava#3374</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mdouglass"><code>@mdouglass</code></a>
made their first contribution in <a
href="https://redirect.github.com/avajs/ava/pull/3374">avajs/ava#3374</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/avajs/ava/compare/v6.2.0...v6.3.0">https://github.com/avajs/ava/compare/v6.2.0...v6.3.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/avajs/ava/commit/ca4240db7f81f67a540f9e20c4c1375110dbe598"><code>ca4240d</code></a>
6.3.0</li>
<li><a
href="https://github.com/avajs/ava/commit/f243cab3b3c2dc7d7b882121fe9ce4a54ec882f2"><code>f243cab</code></a>
Do not count writes to stdout/stderr as non-idling activity for
timeouts</li>
<li><a
href="https://github.com/avajs/ava/commit/4abb780b5baad1ccbeb9f57de03ce06a75a68c17"><code>4abb780</code></a>
Update dependencies</li>
<li>See full diff in <a
href="https://github.com/avajs/ava/compare/v6.2.0...v6.3.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `dotenv` from 16.4.7 to 16.5.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md">dotenv's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/motdotla/dotenv/compare/v16.4.7...v16.5.0">16.5.0</a>
(2025-04-07)</h2>
<h3>Added</h3>
<ul>
<li>🎉 Added new sponsor <a
href="https://graphite.dev/?utm_source=github&utm_medium=repo&utm_campaign=dotenv">Graphite</a>
- <em>the AI developer productivity platform helping teams on GitHub
ship higher quality software, faster</em>.</li>
</ul>
<blockquote>
<p>[!TIP]
<strong><a href="https://github.com/sponsors/motdotla">Become a
sponsor</a></strong></p>
<p>The dotenvx README is viewed thousands of times DAILY on GitHub and
NPM.
Sponsoring dotenv is a great way to get in front of developers and give
back to the developer community at the same time.</p>
</blockquote>
<h3>Changed</h3>
<ul>
<li>Remove <code>_log</code> method. Use <code>_debug</code> <a
href="https://redirect.github.com/motdotla/dotenv/pull/862">#862</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/motdotla/dotenv/commit/d39cc9a94ef80b534d02401ab99d17463e902385"><code>d39cc9a</code></a>
16.5.0</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/2f4e407c73e66b822a96b6439b40ea94ced2409f"><code>2f4e407</code></a>
Merge pull request <a
href="https://redirect.github.com/motdotla/dotenv/issues/863">#863</a>
from Fdawgs/patch-1</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/a1eef11a7064dcdaf56d2bbdca1e58cfdcdcf5a4"><code>a1eef11</code></a>
chore(package): add homepage url</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/fb7e407892824b29817d02bc0ec911d00efe1dc2"><code>fb7e407</code></a>
README update</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/bf9113fad68ba352a02081ac1fada45f9e85e772"><code>bf9113f</code></a>
README update</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/9326f05f95cbac63f88da96a5b02852f789c9380"><code>9326f05</code></a>
changelog 🪵</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/2e8da3018af610f18089c9246497b56943cdea6e"><code>2e8da30</code></a>
changelog 🪵</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/3257b3adaf4f3a62346ed185869039325aa6e6db"><code>3257b3a</code></a>
changelog 🪵</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/c0ca62c841fe36b2de8030d02533a1b80955abe8"><code>c0ca62c</code></a>
changelog 🪵</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/797c5e9d6e9359bfae2b26f5c4aca8890531f7dd"><code>797c5e9</code></a>
changelog 🪵</li>
<li>Additional commits viewable in <a
href="https://github.com/motdotla/dotenv/compare/v16.4.7...v16.5.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `esbuild` from 0.25.2 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.2...v0.25.3">compare
view</a></li>
</ul>
</details>
<br />
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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@@ -8,9 +8,9 @@ GitHub Action for creating a GitHub App installation access token.
In order to use this action, you need to:
1. [Register new GitHub App](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app)
2. [Store the App's ID in your repository environment variables](https://docs.github.com/actions/learn-github-actions/variables#defining-configuration-variables-for-multiple-workflows) (example: `APP_ID`)
3. [Store the App's private key in your repository secrets](https://docs.github.com/actions/security-guides/encrypted-secrets?tool=webui#creating-encrypted-secrets-for-a-repository) (example: `PRIVATE_KEY`)
1. [Register new GitHub App](https://docs.github.com/apps/creating-github-apps/setting-up-a-github-app/creating-a-github-app).
2. [Store the App's ID or Client ID in your repository environment variables](https://docs.github.com/actions/learn-github-actions/variables#defining-configuration-variables-for-multiple-workflows) (example: `APP_ID`).
3. [Store the App's private key in your repository secrets](https://docs.github.com/actions/security-guides/encrypted-secrets?tool=webui#creating-encrypted-secrets-for-a-repository) (example: `PRIVATE_KEY`).
> [!IMPORTANT]
> An installation access token expires after 1 hour. Please [see this comment](https://github.com/actions/create-github-app-token/issues/121#issuecomment-2043214796) for alternative approaches if you have long-running processes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.