Skip to content

Commit 6b0dc3e

Browse files
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>&lt;media-type&gt; and &lt;media-condition-without-or&gt;</code> grammar. Specifically, esbuild was failing to wrap an <code>or</code> clause with parentheses when inside <code>&lt;media-condition-without-or&gt;</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>&lt;media-type&gt; and &lt;media-condition-without-or&gt;</code> grammar. Specifically, esbuild was failing to wrap an <code>or</code> clause with parentheses when inside <code>&lt;media-condition-without-or&gt;</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&amp;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 /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=esbuild&package-manager=npm_and_yarn&previous-version=0.27.3&new-version=0.27.4)](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

File tree

2 files changed

+109
-109
lines changed

2 files changed

+109
-109
lines changed

0 commit comments

Comments
 (0)