dependabot[bot] opened a new pull request, #286:
URL: https://github.com/apache/arrow-js/pull/286

   Bumps [esbuild](https://github.com/evanw/esbuild) from 0.25.9 to 0.25.10.
   <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.10</h2>
   <ul>
   <li>
   <p>Fix a panic in a minification edge case (<a 
href="https://redirect.github.com/evanw/esbuild/issues/4287";>#4287</a>)</p>
   <p>This release fixes a panic due to a null pointer that could happen when 
esbuild inlines a doubly-nested identity function and the final result is 
empty. It was fixed by emitting the value <code>undefined</code> in this case, 
which avoids the panic. This case must be rare since it hasn't come up until 
now. Here is an example of code that previously triggered the panic (which only 
happened when minifying):</p>
   <pre lang="js"><code>function identity(x) { return x }
   identity({ y: identity(123) })
   </code></pre>
   </li>
   <li>
   <p>Fix <code>@supports</code> nested inside pseudo-element (<a 
href="https://redirect.github.com/evanw/esbuild/issues/4265";>#4265</a>)</p>
   <p>When transforming nested CSS to non-nested CSS, esbuild is supposed to 
filter out pseudo-elements such as <code>::placeholder</code> for correctness. 
The <a href="https://www.w3.org/TR/css-nesting-1/";>CSS nesting 
specification</a> says the following:</p>
   <blockquote>
   <p>The nesting selector cannot represent pseudo-elements (identical to the 
behavior of the ':is()' pseudo-class). We’d like to relax this restriction, but 
need to do so simultaneously for both ':is()' and '&amp;', since they’re 
intentionally built on the same underlying mechanisms.</p>
   </blockquote>
   <p>However, it seems like this behavior is different for nested at-rules 
such as <code>@supports</code>, which do work with pseudo-elements. So this 
release modifies esbuild's behavior to now take that into account:</p>
   <pre lang="css"><code>/* Original code */
   ::placeholder {
     color: red;
     body &amp; { color: green }
     @supports (color: blue) { color: blue }
   }
   <p>/* Old output (with --supported:nesting=false) */<br />
   ::placeholder {<br />
   color: red;<br />
   }<br />
   body :is() {<br />
   color: green;<br />
   }<br />
   <a href="https://github.com/supports";><code>@​supports</code></a> (color: 
blue) {<br />
   {<br />
   color: blue;<br />
   }<br />
   }</p>
   <p>/* New output (with --supported:nesting=false) */<br />
   ::placeholder {<br />
   color: red;<br />
   }<br />
   body :is() {<br />
   color: green;<br />
   }<br />
   <a href="https://github.com/supports";><code>@​supports</code></a> (color: 
blue) {<br />
   ::placeholder {<br />
   color: blue;<br />
   }<br />
   </code></pre></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.10</h2>
   <ul>
   <li>
   <p>Fix a panic in a minification edge case (<a 
href="https://redirect.github.com/evanw/esbuild/issues/4287";>#4287</a>)</p>
   <p>This release fixes a panic due to a null pointer that could happen when 
esbuild inlines a doubly-nested identity function and the final result is 
empty. It was fixed by emitting the value <code>undefined</code> in this case, 
which avoids the panic. This case must be rare since it hasn't come up until 
now. Here is an example of code that previously triggered the panic (which only 
happened when minifying):</p>
   <pre lang="js"><code>function identity(x) { return x }
   identity({ y: identity(123) })
   </code></pre>
   </li>
   <li>
   <p>Fix <code>@supports</code> nested inside pseudo-element (<a 
href="https://redirect.github.com/evanw/esbuild/issues/4265";>#4265</a>)</p>
   <p>When transforming nested CSS to non-nested CSS, esbuild is supposed to 
filter out pseudo-elements such as <code>::placeholder</code> for correctness. 
The <a href="https://www.w3.org/TR/css-nesting-1/";>CSS nesting 
specification</a> says the following:</p>
   <blockquote>
   <p>The nesting selector cannot represent pseudo-elements (identical to the 
behavior of the ':is()' pseudo-class). We’d like to relax this restriction, but 
need to do so simultaneously for both ':is()' and '&amp;', since they’re 
intentionally built on the same underlying mechanisms.</p>
   </blockquote>
   <p>However, it seems like this behavior is different for nested at-rules 
such as <code>@supports</code>, which do work with pseudo-elements. So this 
release modifies esbuild's behavior to now take that into account:</p>
   <pre lang="css"><code>/* Original code */
   ::placeholder {
     color: red;
     body &amp; { color: green }
     @supports (color: blue) { color: blue }
   }
   <p>/* Old output (with --supported:nesting=false) */<br />
   ::placeholder {<br />
   color: red;<br />
   }<br />
   body :is() {<br />
   color: green;<br />
   }<br />
   <a href="https://github.com/supports";><code>@​supports</code></a> (color: 
blue) {<br />
   {<br />
   color: blue;<br />
   }<br />
   }</p>
   <p>/* New output (with --supported:nesting=false) */<br />
   ::placeholder {<br />
   color: red;<br />
   }<br />
   body :is() {<br />
   color: green;<br />
   }<br />
   <a href="https://github.com/supports";><code>@​supports</code></a> (color: 
blue) {<br />
   ::placeholder {<br />
   color: blue;<br />
   </code></pre></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/d6b668f96fb00d6a6d035f058e38b6bd2507beb6";><code>d6b668f</code></a>
 publish 0.25.10 to npm</li>
   <li><a 
href="https://github.com/evanw/esbuild/commit/5088c198b5ecee18ba903c4099458df98b1b6788";><code>5088c19</code></a>
 refactor: use strings.Builder (<a 
href="https://redirect.github.com/evanw/esbuild/issues/4290";>#4290</a>)</li>
   <li><a 
href="https://github.com/evanw/esbuild/commit/755da31752d759f1ea70b8d4f7f677b3557dab3e";><code>755da31</code></a>
 run <code>make update-compat-table</code></li>
   <li><a 
href="https://github.com/evanw/esbuild/commit/a1d9c8649bcbacc59e521171f47d6928fda14043";><code>a1d9c86</code></a>
 fix <a href="https://redirect.github.com/evanw/esbuild/issues/4287";>#4287</a>: 
marked the wrong issue as fixed</li>
   <li><a 
href="https://github.com/evanw/esbuild/commit/73a0b2ae491c9d6a069516447292df2afe371b63";><code>73a0b2a</code></a>
 fix <a href="https://redirect.github.com/evanw/esbuild/issues/4286";>#4286</a>: 
minifier panic due to identity function</li>
   <li><a 
href="https://github.com/evanw/esbuild/commit/134dadffecf55c5dba20cd9f03996275da06ba49";><code>134dadf</code></a>
 fix <a href="https://redirect.github.com/evanw/esbuild/issues/4265";>#4265</a>: 
<code>@supports</code> nested inside <code>::pseudo</code></li>
   <li>See full diff in <a 
href="https://github.com/evanw/esbuild/compare/v0.25.9...v0.25.10";>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.25.9&new-version=0.25.10)](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>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to