Commit 6b0dc3e
authored
Upgrade: [dependabot] - bump esbuild from 0.27.3 to 0.27.4 (#595)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.27.3 to 0.27.4.
<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.27.4</h2>
<ul>
<li>
<p>Fix a regression with CSS media queries (<a
href="https://redirect.github.com/evanw/esbuild/issues/4395">#4395</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4405">#4405</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4406">#4406</a>)</p>
<p>Version 0.25.11 of esbuild introduced support for parsing media
queries. This unintentionally introduced a regression with printing
media queries that use the <code><media-type> and
<media-condition-without-or></code> grammar. Specifically, esbuild
was failing to wrap an <code>or</code> clause with parentheses when
inside <code><media-condition-without-or></code>. This release
fixes the regression.</p>
<p>Here is an example:</p>
<pre lang="css"><code>/* Original code */
@media only screen and ((min-width: 10px) or (min-height: 10px)) {
a { color: red }
}
<p>/* Old output (incorrect) */<br />
<a href="https://github.com/media"><code>@media</code></a> only screen
and (min-width: 10px) or (min-height: 10px) {<br />
a {<br />
color: red;<br />
}<br />
}</p>
<p>/* New output (correct) */<br />
<a href="https://github.com/media"><code>@media</code></a> only screen
and ((min-width: 10px) or (min-height: 10px)) {<br />
a {<br />
color: red;<br />
}<br />
}<br />
</code></pre></p>
</li>
<li>
<p>Fix an edge case with the <code>inject</code> feature (<a
href="https://redirect.github.com/evanw/esbuild/issues/4407">#4407</a>)</p>
<p>This release fixes an edge case where esbuild's <code>inject</code>
feature could not be used with arbitrary module namespace names exported
using an <code>export {} from</code> statement with bundling disabled
and a target environment where arbitrary module namespace names is
unsupported.</p>
<p>With the fix, the following <code>inject</code> file:</p>
<pre lang="js"><code>import jquery from 'jquery';
export { jquery as 'window.jQuery' };
</code></pre>
<p>Can now always be rewritten as this without esbuild sometimes
incorrectly generating an error:</p>
<pre lang="js"><code>export { default as 'window.jQuery' } from
'jquery';
</code></pre>
</li>
<li>
<p>Attempt to improve API handling of huge metafiles (<a
href="https://redirect.github.com/evanw/esbuild/issues/4329">#4329</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4415">#4415</a>)</p>
<p>This release contains a few changes that attempt to improve the
behavior of esbuild's JavaScript API with huge metafiles (esbuild's name
for the build metadata, formatted as a JSON object). The JavaScript API
is designed to return the metafile JSON as a JavaScript object in
memory, which makes it easy to access from within a JavaScript-based
plugin. Multiple people have encountered issues where this API breaks
down with a pathologically-large metafile.</p>
<p>The primary issue is that V8 has an implementation-specific maximum
string length, so using the <code>JSON.parse</code> API with large
enough strings is impossible. This release will now attempt to use a
fallback JavaScript-based JSON parser that operates directly on the
UTF8-encoded JSON bytes instead of using <code>JSON.parse</code> when
the JSON metafile is too big to fit in a JavaScript string. The new
fallback path has not yet been heavily-tested. The metafile will also
now be generated with whitespace removed if the bundle is significantly
large, which will reduce the size of the metafile JSON slightly.</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.27.4</h2>
<ul>
<li>
<p>Fix a regression with CSS media queries (<a
href="https://redirect.github.com/evanw/esbuild/issues/4395">#4395</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4405">#4405</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4406">#4406</a>)</p>
<p>Version 0.25.11 of esbuild introduced support for parsing media
queries. This unintentionally introduced a regression with printing
media queries that use the <code><media-type> and
<media-condition-without-or></code> grammar. Specifically, esbuild
was failing to wrap an <code>or</code> clause with parentheses when
inside <code><media-condition-without-or></code>. This release
fixes the regression.</p>
<p>Here is an example:</p>
<pre lang="css"><code>/* Original code */
@media only screen and ((min-width: 10px) or (min-height: 10px)) {
a { color: red }
}
<p>/* Old output (incorrect) */<br />
<a href="https://github.com/media"><code>@media</code></a> only screen
and (min-width: 10px) or (min-height: 10px) {<br />
a {<br />
color: red;<br />
}<br />
}</p>
<p>/* New output (correct) */<br />
<a href="https://github.com/media"><code>@media</code></a> only screen
and ((min-width: 10px) or (min-height: 10px)) {<br />
a {<br />
color: red;<br />
}<br />
}<br />
</code></pre></p>
</li>
<li>
<p>Fix an edge case with the <code>inject</code> feature (<a
href="https://redirect.github.com/evanw/esbuild/issues/4407">#4407</a>)</p>
<p>This release fixes an edge case where esbuild's <code>inject</code>
feature could not be used with arbitrary module namespace names exported
using an <code>export {} from</code> statement with bundling disabled
and a target environment where arbitrary module namespace names is
unsupported.</p>
<p>With the fix, the following <code>inject</code> file:</p>
<pre lang="js"><code>import jquery from 'jquery';
export { jquery as 'window.jQuery' };
</code></pre>
<p>Can now always be rewritten as this without esbuild sometimes
incorrectly generating an error:</p>
<pre lang="js"><code>export { default as 'window.jQuery' } from
'jquery';
</code></pre>
</li>
<li>
<p>Attempt to improve API handling of huge metafiles (<a
href="https://redirect.github.com/evanw/esbuild/issues/4329">#4329</a>,
<a
href="https://redirect.github.com/evanw/esbuild/issues/4415">#4415</a>)</p>
<p>This release contains a few changes that attempt to improve the
behavior of esbuild's JavaScript API with huge metafiles (esbuild's name
for the build metadata, formatted as a JSON object). The JavaScript API
is designed to return the metafile JSON as a JavaScript object in
memory, which makes it easy to access from within a JavaScript-based
plugin. Multiple people have encountered issues where this API breaks
down with a pathologically-large metafile.</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/f9c9012cdb05135873722184b01f078ea7de8d98"><code>f9c9012</code></a>
publish 0.27.4 to npm</li>
<li><a
href="https://github.com/evanw/esbuild/commit/207dbc761ea95a81a8b32cc7f9fae46361faaed7"><code>207dbc7</code></a>
js api: fall back to js-based metafile json parser</li>
<li><a
href="https://github.com/evanw/esbuild/commit/1ca56dc65155b0d887904c683cd43f7618ae621e"><code>1ca56dc</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4329">#4329</a>:
auto-minify metafile for large bundles</li>
<li><a
href="https://github.com/evanw/esbuild/commit/e3823aa485d3cd3f6c11718e4c124b54ebc425e5"><code>e3823aa</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4415">#4415</a>:
add uint cast to stdio int parser</li>
<li><a
href="https://github.com/evanw/esbuild/commit/d50e88c00aaa424712eddda2f28aae299db4e0de"><code>d50e88c</code></a>
chore: correct copy&paste panic message (<a
href="https://redirect.github.com/evanw/esbuild/issues/4399">#4399</a>)</li>
<li><a
href="https://github.com/evanw/esbuild/commit/8b829b1bdfeb2b11aa16a643b5bfee108066cab0"><code>8b829b1</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4407">#4407</a>:
incorrect error for inject edge case</li>
<li><a
href="https://github.com/evanw/esbuild/commit/4384badefe3a07b80b3f3eba832c17d0c806dd4c"><code>4384bad</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/4395">#4395</a>
close <a
href="https://redirect.github.com/evanw/esbuild/issues/4405">#4405</a>
close <a
href="https://redirect.github.com/evanw/esbuild/issues/4406">#4406</a>:
parens for <code>or</code></li>
<li>See full diff in <a
href="https://github.com/evanw/esbuild/compare/v0.27.3...v0.27.4">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 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>1 parent aa5183c commit 6b0dc3e
2 files changed
+109
-109
lines changed
0 commit comments