dependabot[bot] opened a new pull request, #40741: URL: https://github.com/apache/superset/pull/40741
Bumps [webpack](https://github.com/webpack/webpack) from 5.107.1 to 5.107.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.107.2</h2> <h3>Patch Changes</h3> <ul> <li> <p>Reduce per-file overhead in <code>ContextModuleFactory.resolveDependencies</code> by batching <code>alternativeRequests</code> hook calls. Previously the hook was invoked once per file in the context (with a single-item array), paying per-call overhead (closure allocation, <code>resolverFactory.get</code>, intermediate arrays in <code>RequireContextPlugin</code>) for every file. The hook is now invoked once per directory with all matched files in one batch — <code>RequireContextPlugin</code>'s tap already iterates the items array, so the output is unchanged. Steady-state rebuild on a 4000-file <code>require.context</code> drops a further ~15 ms (after the watch-mode purge fix in the same release). (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21020">#21020</a>)</p> </li> <li> <p>Include each external info's <code>runtimeCondition</code> in <code>ConcatenatedModule#updateHash</code> so changes to a concatenated external's runtime condition invalidate persistent caches instead of slipping through with the module id alone. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21023">#21023</a>)</p> </li> <li> <p>Fix HTML <code>[contenthash]</code> for referenced asset and inline-style URL changes. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21018">#21018</a>)</p> </li> <li> <p>Resolve chunk-hash placeholders in chunk URLs embedded into extracted HTML. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21018">#21018</a>)</p> </li> <li> <p>Remove unnecessary <code>__webpack_require__</code> runtime helpers in ESM library output with multi-module chunks. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21032">#21032</a>)</p> </li> <li> <p>Rewrite <code>NormalModule#getSideEffectsConnectionState</code> walk as an allocation-light iterative loop instead of a generator trampoline, restoring rebuild performance lost in <a href="https://redirect.github.com/webpack/webpack/issues/20993">#20993</a> while keeping deep import chains stack-safe. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21014">#21014</a>)</p> </li> <li> <p>Fix runtime <code>ReferenceError</code> on the first activation of a lazy-compiled module when <code>output.library.type</code> produces a closure-wrapped bundle (<code>umd</code>, <code>umd2</code>, <code>amd</code>, <code>amd-require</code>, <code>system</code>). (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21013">#21013</a>)</p> <p>External modules of these types reference closure-bound identifiers like <code>__WEBPACK_EXTERNAL_MODULE_react__</code>, supplied by the library wrapper that is generated once per chunk. When <code>lazyCompilation</code> activates an entry or import for the first time, any external dependency the lazily-built module pulls in arrives in a hot-update chunk that lives outside the original wrapper closure, so its factory body cannot resolve the closure identifier and only a manual page refresh recovers.</p> <p>The inactive <code>LazyCompilationProxyModule</code> now declares statically-enumerable externals (string and object forms of <code>externals</code>) as its own dependencies, so the initial entry chunk's library wrapper already exposes their closure identifiers. When activation later pulls in those externals through the lazily-compiled module, they resolve to the already-installed factories instead of throwing. Function and RegExp externals are not pre-populated because their effective request set isn't knowable up front.</p> </li> <li> <p>Fill in missing <code>entryOptions</code> when an async block joins an existing entrypoint. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21026">#21026</a>)</p> </li> <li> <p>Release per-child <code>codeGenerationResults</code> in <code>MultiCompiler</code> and at <code>Compiler.close</code> to reduce memory retention. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21015">#21015</a>)</p> </li> <li> <p>Reduce peak memory of <code>SourceMapDevToolPlugin</code> on large builds (closes <a href="https://redirect.github.com/webpack/webpack/issues/20961">#20961</a>). (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20963">#20963</a>)</p> </li> <li> <p>Fix slow <code>require.context()</code> / dynamic <code>import()</code> rebuilds in watch mode (<a href="https://redirect.github.com/webpack/webpack/issues/13636">#13636</a>). When a file inside a watched context directory changed, <code>NodeWatchFileSystem</code> would call <code>inputFileSystem.purge(contextDir)</code>. The enhanced-resolve <code>purge</code> implementation matches cache keys with <code>key.startsWith(contextDir)</code>, so the stat cache of every file under the directory was discarded on every rebuild — <code>ContextModuleFactory.resolveDependencies</code> then re-<code>stat</code>-ed the whole tree on each rebuild. Single-file rebuilds on a 4000-file context now reuse the warm stat cache, dropping median rebuild from ~1260 ms to ~650 ms in a local reproduction (≈49%). For directory items that are explicitly watched contexts, <code>purge</code> is now called with <code>{ exact: true }</code> (added in <code>[email protected]</code>) so only the dir ectory's own entry is invalidated; file-level changes in the same aggregated event continue to purge file stats and the parent <code>readdir</code> as before. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21020">#21020</a>)</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/blob/main/CHANGELOG.md">webpack's changelog</a>.</em></p> <blockquote> <h2>5.107.2</h2> <h3>Patch Changes</h3> <ul> <li> <p>Reduce per-file overhead in <code>ContextModuleFactory.resolveDependencies</code> by batching <code>alternativeRequests</code> hook calls. Previously the hook was invoked once per file in the context (with a single-item array), paying per-call overhead (closure allocation, <code>resolverFactory.get</code>, intermediate arrays in <code>RequireContextPlugin</code>) for every file. The hook is now invoked once per directory with all matched files in one batch — <code>RequireContextPlugin</code>'s tap already iterates the items array, so the output is unchanged. Steady-state rebuild on a 4000-file <code>require.context</code> drops a further ~15 ms (after the watch-mode purge fix in the same release). (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21020">#21020</a>)</p> </li> <li> <p>Include each external info's <code>runtimeCondition</code> in <code>ConcatenatedModule#updateHash</code> so changes to a concatenated external's runtime condition invalidate persistent caches instead of slipping through with the module id alone. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21023">#21023</a>)</p> </li> <li> <p>Fix HTML <code>[contenthash]</code> for referenced asset and inline-style URL changes. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21018">#21018</a>)</p> </li> <li> <p>Resolve chunk-hash placeholders in chunk URLs embedded into extracted HTML. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21018">#21018</a>)</p> </li> <li> <p>Remove unnecessary <code>__webpack_require__</code> runtime helpers in ESM library output with multi-module chunks. (by <a href="https://github.com/xiaoxiaojx"><code>@xiaoxiaojx</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21032">#21032</a>)</p> </li> <li> <p>Rewrite <code>NormalModule#getSideEffectsConnectionState</code> walk as an allocation-light iterative loop instead of a generator trampoline, restoring rebuild performance lost in <a href="https://redirect.github.com/webpack/webpack/issues/20993">#20993</a> while keeping deep import chains stack-safe. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21014">#21014</a>)</p> </li> <li> <p>Fix runtime <code>ReferenceError</code> on the first activation of a lazy-compiled module when <code>output.library.type</code> produces a closure-wrapped bundle (<code>umd</code>, <code>umd2</code>, <code>amd</code>, <code>amd-require</code>, <code>system</code>). (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21013">#21013</a>)</p> <p>External modules of these types reference closure-bound identifiers like <code>__WEBPACK_EXTERNAL_MODULE_react__</code>, supplied by the library wrapper that is generated once per chunk. When <code>lazyCompilation</code> activates an entry or import for the first time, any external dependency the lazily-built module pulls in arrives in a hot-update chunk that lives outside the original wrapper closure, so its factory body cannot resolve the closure identifier and only a manual page refresh recovers.</p> <p>The inactive <code>LazyCompilationProxyModule</code> now declares statically-enumerable externals (string and object forms of <code>externals</code>) as its own dependencies, so the initial entry chunk's library wrapper already exposes their closure identifiers. When activation later pulls in those externals through the lazily-compiled module, they resolve to the already-installed factories instead of throwing. Function and RegExp externals are not pre-populated because their effective request set isn't knowable up front.</p> </li> <li> <p>Fill in missing <code>entryOptions</code> when an async block joins an existing entrypoint. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21026">#21026</a>)</p> </li> <li> <p>Release per-child <code>codeGenerationResults</code> in <code>MultiCompiler</code> and at <code>Compiler.close</code> to reduce memory retention. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21015">#21015</a>)</p> </li> <li> <p>Reduce peak memory of <code>SourceMapDevToolPlugin</code> on large builds (closes <a href="https://redirect.github.com/webpack/webpack/issues/20961">#20961</a>). (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/20963">#20963</a>)</p> </li> <li> <p>Fix slow <code>require.context()</code> / dynamic <code>import()</code> rebuilds in watch mode (<a href="https://redirect.github.com/webpack/webpack/issues/13636">#13636</a>). When a file inside a watched context directory changed, <code>NodeWatchFileSystem</code> would call <code>inputFileSystem.purge(contextDir)</code>. The enhanced-resolve <code>purge</code> implementation matches cache keys with <code>key.startsWith(contextDir)</code>, so the stat cache of every file under the directory was discarded on every rebuild — <code>ContextModuleFactory.resolveDependencies</code> then re-<code>stat</code>-ed the whole tree on each rebuild. Single-file rebuilds on a 4000-file context now reuse the warm stat cache, dropping median rebuild from ~1260 ms to ~650 ms in a local reproduction (≈49%). For directory items that are explicitly watched contexts, <code>purge</code> is now called with <code>{ exact: true }</code> (added in <code>[email protected]</code>) so only the dir ectory's own entry is invalidated; file-level changes in the same aggregated event continue to purge file stats and the parent <code>readdir</code> as before. (by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/21020">#21020</a>)</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/webpack/webpack/commit/cfb24a4af6ea68034b25f80e14f95aaeaad6d596"><code>cfb24a4</code></a> chore(release): new release (<a href="https://redirect.github.com/webpack/webpack/issues/21019">#21019</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/c7d8a3a7f411dd9910cf66ef0d09a3a1bf6686bd"><code>c7d8a3a</code></a> fix: release per-child Compilation heap pressure in MultiCompiler (<a href="https://redirect.github.com/webpack/webpack/issues/21015">#21015</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/d6cdebe5e67008cfd717953634449ad283fd0334"><code>d6cdebe</code></a> fix: regression in types for ProgressPlugin (<a href="https://redirect.github.com/webpack/webpack/issues/21036">#21036</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/c07389012566fe5d2cb56bd64ee76fb185a1bbb2"><code>c073890</code></a> fix: gap-fill entryOptions when an async block reuses an existing entrypoint ...</li> <li><a href="https://github.com/webpack/webpack/commit/78158f087641803b7b5b20296b729861cdef7840"><code>78158f0</code></a> docs: streamline AGENTS.md to reduce AI hallucination (<a href="https://redirect.github.com/webpack/webpack/issues/21033">#21033</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/c61c6499cc0b89ddbfc52a96cd4be081fb530d0f"><code>c61c649</code></a> test: fail on missing per-kind snapshot instead of auto-writing it (<a href="https://redirect.github.com/webpack/webpack/issues/21027">#21027</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/a514897fcac61b8bc7aa13e32fae456bffdcd080"><code>a514897</code></a> docs: update examples (<a href="https://redirect.github.com/webpack/webpack/issues/21031">#21031</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/cc4035b460ff15065af52360cb40baad4fbb8851"><code>cc4035b</code></a> fix: remove unnecessary <strong>webpack_require</strong> in ESM library output (<a href="https://redirect.github.com/webpack/webpack/issues/21032">#21032</a>)</li> <li><a href="https://github.com/webpack/webpack/commit/12cb8251190cd481d78ea4252d652e75b0427f42"><code>12cb825</code></a> docs(buildChunkGraph): explain why blocksWithNestedBlocks gates the skip (<a href="https://redirect.github.com/webpack/webpack/issues/21">#21</a>...</li> <li><a href="https://github.com/webpack/webpack/commit/75f60f6b7f25b70d25aaf5cfa55d212b7a845120"><code>75f60f6</code></a> fix(ConcatenatedModule): include runtimeCondition of external infos in update...</li> <li>Additional commits viewable in <a href="https://github.com/webpack/webpack/compare/v5.107.1...v5.107.2">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]
