dependabot[bot] opened a new pull request, #42027: URL: https://github.com/apache/superset/pull/42027
Bumps [webpack-sources](https://github.com/webpack/webpack-sources) from 3.5.0 to 3.5.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack-sources/releases">webpack-sources's releases</a>.</em></p> <blockquote> <h2>v3.5.1</h2> <h3>Patch Changes</h3> <ul> <li> <p>perf: stream potential tokens in OriginalSource instead of materialising an array (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/246">#246</a>)</p> <p><code>OriginalSource.streamChunks</code> (and therefore <code>map()</code> / <code>sourceAndMap()</code>) previously built the full <code>splitIntoPotentialTokens</code> array of substrings and then iterated it — even though <code>map()</code> and <code>sourceAndMap()</code> run with <code>finalSource: true</code> and discard every chunk substring. The scan is now streamed by offset, so chunk substrings are only allocated when actually emitted. This removes the intermediate array and, on the dominant final-source paths, all per-token slices: <code>map()</code> / <code>sourceAndMap()</code> allocate ~38–46% less memory and run ~15–40% faster.</p> </li> <li> <p>Reduce allocations and CPU in <code>map()</code> / <code>sourceAndMap()</code>: mappings are serialized into a reused byte buffer instead of per-mapping strings, <code>ReplaceSource</code> verifies original content through a line-offset index instead of splitting sources into line arrays, and <code>ReplaceSource.streamChunks</code> emits position-only chunks and returns the final source directly when <code>finalSource</code> is requested. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/251">#251</a>)</p> </li> <li> <p>Skip sorting ReplaceSource replacements when they were added in order. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/249">#249</a>)</p> </li> <li> <p>perf: use lookup table in splitIntoPotentialTokens for faster character classification (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/240">#240</a>)</p> <p>Replace multi-comparison chains (4 comparisons in phase 1, 6 in phase 2) with a single Uint8Array bitmask lookup per character. This reduces per-character branching overhead, yielding ~7% improvement on typical source and ~21% on large sources.</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack-sources/blob/main/CHANGELOG.md">webpack-sources's changelog</a>.</em></p> <blockquote> <h2>3.5.1</h2> <h3>Patch Changes</h3> <ul> <li> <p>perf: stream potential tokens in OriginalSource instead of materialising an array (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/246">#246</a>)</p> <p><code>OriginalSource.streamChunks</code> (and therefore <code>map()</code> / <code>sourceAndMap()</code>) previously built the full <code>splitIntoPotentialTokens</code> array of substrings and then iterated it — even though <code>map()</code> and <code>sourceAndMap()</code> run with <code>finalSource: true</code> and discard every chunk substring. The scan is now streamed by offset, so chunk substrings are only allocated when actually emitted. This removes the intermediate array and, on the dominant final-source paths, all per-token slices: <code>map()</code> / <code>sourceAndMap()</code> allocate ~38–46% less memory and run ~15–40% faster.</p> </li> <li> <p>Reduce allocations and CPU in <code>map()</code> / <code>sourceAndMap()</code>: mappings are serialized into a reused byte buffer instead of per-mapping strings, <code>ReplaceSource</code> verifies original content through a line-offset index instead of splitting sources into line arrays, and <code>ReplaceSource.streamChunks</code> emits position-only chunks and returns the final source directly when <code>finalSource</code> is requested. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/251">#251</a>)</p> </li> <li> <p>Skip sorting ReplaceSource replacements when they were added in order. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/249">#249</a>)</p> </li> <li> <p>perf: use lookup table in splitIntoPotentialTokens for faster character classification (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack-sources/pull/240">#240</a>)</p> <p>Replace multi-comparison chains (4 comparisons in phase 1, 6 in phase 2) with a single Uint8Array bitmask lookup per character. This reduces per-character branching overhead, yielding ~7% improvement on typical source and ~21% on large sources.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/webpack/webpack-sources/commit/210e0a4142719ec75896903c39ef91d7834743a7"><code>210e0a4</code></a> chore(release): new release (<a href="https://redirect.github.com/webpack/webpack-sources/issues/245">#245</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/f38af319d65630a9df02c10d9f9048175d545b91"><code>f38af31</code></a> perf: cut map()/sourceAndMap() allocations via mappings writer and streaming ...</li> <li><a href="https://github.com/webpack/webpack-sources/commit/bf3033cb2c21baa09c7325d909d3f751907ed1c1"><code>bf3033c</code></a> chore(deps-dev): bump the dependencies group with 2 updates (<a href="https://redirect.github.com/webpack/webpack-sources/issues/247">#247</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/de37f654cf00c8bc3d60c13b6630796c623e7b8f"><code>de37f65</code></a> perf: stream potential tokens in OriginalSource, avoid discarded slices (<a href="https://redirect.github.com/webpack/webpack-sources/issues/246">#246</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/841bdb391028ef8691e2176c3197db6321407b73"><code>841bdb3</code></a> perf: skip sorting ReplaceSource replacements when already in order (<a href="https://redirect.github.com/webpack/webpack-sources/issues/249">#249</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/cb3733de13e432d91d9d4172e1797c545f3f22f5"><code>cb3733d</code></a> chore(deps): bump the dependencies group with 2 updates (<a href="https://redirect.github.com/webpack/webpack-sources/issues/248">#248</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/0872bcd7639be8c3559571b10f03aae20135c461"><code>0872bcd</code></a> perf: use lookup table in splitIntoPotentialTokens (<a href="https://redirect.github.com/webpack/webpack-sources/issues/240">#240</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/4874fd73cda30fc50e6d582ffd63d9f1ba1f931f"><code>4874fd7</code></a> feat: port performance fixes and ignoreList propagation from rspack-sources (...</li> <li><a href="https://github.com/webpack/webpack-sources/commit/5c5ed84e2758ac3bfb943cc7b1cb20fa4e2a8ddd"><code>5c5ed84</code></a> chore(deps): bump the dependencies group with 3 updates (<a href="https://redirect.github.com/webpack/webpack-sources/issues/244">#244</a>)</li> <li><a href="https://github.com/webpack/webpack-sources/commit/0ea507dbcca02814a660c7dca6a2eb793a79c8d2"><code>0ea507d</code></a> chore(deps-dev): bump tooling from v1.26.3 to v1.26.4 (<a href="https://redirect.github.com/webpack/webpack-sources/issues/243">#243</a>)</li> <li>Additional commits viewable in <a href="https://github.com/webpack/webpack-sources/compare/v3.5.0...v3.5.1">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> -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
