Skip to content

support CSS Modules @value identifiers as @import URLs and inside url() - #20925

Merged
alexander-akait merged 3 commits into
mainfrom
claude/add-value-support-url-import-FR6AV
May 7, 2026
Merged

alexander-akait merged 3 commits into
mainfrom
claude/add-value-support-url-import-FR6AV

Conversation

@alexander-akait

Copy link
Copy Markdown
Member

Allow CSS Modules @value definitions to be used as the path argument
to @import and inside url() references. For example:

@value path: "./other.module.css";
@import path;

@value bg: "./image.png";
.a { background: url(bg); }

Both the quoted ("./x", './x') and bare (./x) forms of the value
are accepted; whichever the user wrote is unwrapped and resolved as a
module request, so the asset goes through the normal webpack resolver
and asset pipeline instead of being left as a literal bg/path
identifier.

… `url()`

Allow CSS Modules `@value` definitions to be used as the path argument
to `@import` and inside `url()` references. For example:

    @value path: "./other.module.css";
    @import path;

    @value bg: "./image.png";
    .a { background: url(bg); }

Both the quoted (`"./x"`, `'./x'`) and bare (`./x`) forms of the value
are accepted; whichever the user wrote is unwrapped and resolved as a
module request, so the asset goes through the normal webpack resolver
and asset pipeline instead of being left as a literal `bg`/`path`
identifier.
Add a `values.module.css` that defines values consumed via `@value … from`
in `style.module.css` and `imported-via-value.module.css`, exercising
three scenarios:

1. Imported `@value` used as a regular declaration value
   (`color: externalColor;`) — already worked, now asserted against
   the bundle output.
2. Imported `@value` used as the URL of `@import` — emits a clear
   warning explaining that only locally defined values are supported
   in this position. The whole at-rule is dropped from the output so
   the unresolved identifier doesn't leak into a malformed CSS
   `@import`.
3. Imported `@value` used inside `url()` — emits an analogous warning
   and leaves the original `url(identifier)` text in place.

Update the warning messages in `CssParser` to distinguish "unknown
identifier" from "imported from another module — not supported here",
and add a `warnings.js` listing the two expected warnings for the
imported-value scenarios.
Copilot AI review requested due to automatic review settings May 7, 2026 17:45
@changeset-bot

changeset-bot Bot commented May 7, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 88fe1c9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
webpack Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

This PR is packaged and the instant preview is available (10c4fcf).

Install it locally:

  • npm
npm i -D webpack@https://pkg.pr.new/webpack@10c4fcf
  • yarn
yarn add -D webpack@https://pkg.pr.new/webpack@10c4fcf
  • pnpm
pnpm add -D webpack@https://pkg.pr.new/webpack@10c4fcf

@codecov

codecov Bot commented May 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 85.00000% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.35%. Comparing base (84d7d62) to head (88fe1c9).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
lib/css/CssParser.js 83.78% 6 Missing ⚠️

❌ Your changes status has failed because you have indirect coverage changes. Learn more about Unexpected Coverage Changes and reasons for indirect coverage changes.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #20925      +/-   ##
==========================================
- Coverage   91.37%   91.35%   -0.03%     
==========================================
  Files         566      566              
  Lines       56093    56130      +37     
  Branches    14886    14904      +18     
==========================================
+ Hits        51254    51276      +22     
- Misses       4839     4854      +15     
Flag Coverage Δ
integration 90.28% <85.00%> (-0.03%) ⬇️
test262 45.61% <0.00%> (-0.04%) ⬇️
unit 36.04% <0.00%> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends webpack’s CSS Modules parsing so locally-defined @value identifiers can be used as module requests in @import and inside url(), allowing those references to be resolved via webpack’s normal resolver/asset pipeline.

Changes:

  • Teach the CSS tokenizer/parser to recognize @import <identifier>; and resolve it via CSS Modules @value (local-only), emitting warnings for unsupported imported @values.
  • Add CSS Modules url() handling to resolve url(<identifier>) via local @value definitions (with warnings for imported @values).
  • Add a new configCases test suite (including a fixture image) plus a changeset documenting the new feature.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
lib/css/walkCssTokens.js Extends @import tokenization to record when the URL was provided as an identifier.
lib/css/CssParser.js Resolves @import and url() identifier forms via local CSS Modules @value definitions and emits warnings for unsupported cases.
test/configCases/css/css-modules-value-url-import/webpack.config.js Adds a config case enabling CSS experiments and CSS Modules for the new scenario.
test/configCases/css/css-modules-value-url-import/style.module.css Exercises local @value usage in @import and url() (quoted and bare forms).
test/configCases/css/css-modules-value-url-import/values.module.css Provides exported @value definitions used by the warning scenario.
test/configCases/css/css-modules-value-url-import/imported.module.css Simple imported stylesheet content used to assert @import worked.
test/configCases/css/css-modules-value-url-import/imported-via-value.module.css Exercises warning paths for imported @value used in @import and url().
test/configCases/css/css-modules-value-url-import/index.js Asserts behavior for resolved @import/url() and warning-only cases.
test/configCases/css/css-modules-value-url-import/warnings.js Asserts the expected warnings are emitted for unsupported imported @value positions.
test/configCases/css/css-modules-value-url-import/img/shape.png Fixture asset referenced by @value-backed url() cases.
.changeset/css-modules-value-url-import.md Declares a minor release note for the new CSS Modules capability.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread lib/css/CssParser.js Outdated
Comment on lines +826 to +837
if (!def.value) {
this._emitWarning(
state,
`'@value' identifier '${name}' was imported from another module and cannot be used as the URL of '@import' — only locally defined values are supported here`,
locConverter,
start,
semi
);
const dep = new ConstDependency("", [start, semi]);
module.addPresentationalDependency(dep);
return semi;
}
Comment on lines +31 to +33
const matches = [
...cssContent.matchAll(/background-image:\s*url\(([^)]+)\)/g)
];
@codspeed

codspeed Bot commented May 7, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 66.92%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 3 improved benchmarks
❌ 9 regressed benchmarks
✅ 132 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Memory benchmark "future-defaults", scenario '{"name":"mode-development","mode":"development"}' 1.4 MB 1.8 MB -26.25%
Memory benchmark "asset-modules-source", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 161.2 KB 367.7 KB -56.17%
Memory benchmark "react", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 170.7 KB 237.4 KB -28.1%
Memory benchmark "concatenate-modules", scenario '{"name":"mode-development","mode":"development"}' 552.6 KB 756 KB -26.9%
Memory benchmark "json-modules", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 291.2 KB 218.1 KB +33.54%
Memory benchmark "asset-modules-inline", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 225.1 KB 680.3 KB -66.92%
Memory benchmark "many-chunks-commonjs", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 468.4 KB 977.7 KB -52.09%
Memory benchmark "many-modules-esm", scenario '{"name":"mode-production","mode":"production"}' 9 MB 7.3 MB +22.78%
Memory benchmark "devtool-eval", scenario '{"name":"mode-development","mode":"development"}' 1,272 KB 843.5 KB +50.81%
Memory benchmark "many-modules-commonjs", scenario '{"name":"mode-production","mode":"production"}' 7.3 MB 10 MB -27%
Memory benchmark "devtool-eval-source-map", scenario '{"name":"mode-development","mode":"development"}' 884.9 KB 1,398 KB -36.7%
Memory benchmark "devtool-source-map", scenario '{"name":"mode-production","mode":"production"}' 5.5 MB 7.2 MB -24.35%

Comparing claude/add-value-support-url-import-FR6AV (88fe1c9) with main (0d7468e)

Open in CodSpeed

- `processAtImport`: distinguish "imported @value" from "locally defined
  with empty string value" by checking `def.value === undefined`
  explicitly instead of `!def.value`. A local `@value p: ;` now falls
  through to the empty-URL handling (which drops the at-rule) instead
  of being misreported as an imported value.
- Replace `String.prototype.matchAll` in the new test with a
  `RegExp#exec` loop — webpack still supports Node 10.13+ and `matchAll`
  was added in Node 12.
@github-actions

github-actions Bot commented May 7, 2026

Copy link
Copy Markdown
Contributor

Types Coverage

Coverage after merging claude/add-value-support-url-import-FR6AV into main will be
98.92%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
bin
   webpack.js98.77%100%100%98.77%91
examples
   build-common.js100%100%100%100%
   buildAll.js100%100%100%100%
   examples.js100%100%100%100%
   template-common.js98.21%100%100%98.21%72
examples/custom-javascript-parser
   test.filter.js100%100%100%100%
examples/custom-javascript-parser/internals
   acorn-parse.js100%100%100%100%
   meriyah-parse.js100%100%100%100%
   oxc-parse.js91.30%100%100%91.30%140, 142–143, 145, 147, 153–154, 161, 168, 90
examples/markdown
   webpack.config.mjs100%100%100%100%
examples/typescript
   test.filter.js50%100%100%50%5
examples/virtual-modules
   test.filter.js100%100%100%100%
examples/wasm-bindgen-esm
   test.filter.js100%100%100%100%
examples/wasm-complex
   test.filter.js100%100%100%100%
examples/wasm-simple
   test.filter.js100%100%100%100%
examples/wasm-simple-source-phase
   test.filter.js100%100%100%100%
lib
   APIPlugin.js100%100%100%100%
   AsyncDependenciesBlock.js100%100%100%100%
   AutomaticPrefetchPlugin.js100%100%100%100%
   BannerPlugin.js100%100%100%100%
   Cache.js98.21%100%100%98.21%101
   CacheFacade.js100%100%100%100%
   Chunk.js99.72%100%100%99.72%37
   ChunkGraph.js100%100%100%100%
   ChunkGroup.js100%100%100%100%
   ChunkTemplate.js100%100%100%100%
   CleanPlugin.js98.72%100%100%98.72%206, 226, 382
   CodeGenerationResults.js100%100%100%100%
   CompatibilityPlugin.js100%100%100%100%
   Compilation.js98.55%100%100%98.55%1554, 1850, 1857, 1865, 1887, 2783, 3208, 3870, 3899, 3952–3953, 3957, 3962, 3978–3979, 3993–3994, 3999–4000, 4477, 4503, 493, 498, 5211, 5292, 5307, 5332–5333, 5335, 5659, 5664, 5670, 5673, 5685, 5687, 5691, 5707, 5722, 5754, 5808, 5832, 5946, 712–713
   Compiler.js99.55%100%100%99.55%1116–1117, 1125
   ConcatenationScope.js98.59%100%100%98.59%189
   ConditionalInitFragment.js100%100%100%100%
   ConstPlugin.js100%100%100%100%
   ContextExclusionPlugin.js100%100%100%100%
   ContextModule.js100%100%100%100%
   ContextModuleFactory.js97.75%100%100%97.75%258, 393, 418, 443, 447, 458
   ContextReplacementPlugin.js100%100%100%100%
   DefinePlugin.js98.92%100%100%98.92%158–159, 175, 194, 268
   DependenciesBlock.js100%100%100%100%
   Dependency.js98.20%100%100%98.20%379, 425
   DependencyTemplate.js100%100%100%100%
   DependencyTemplates.js100%100%100%100%
   DotenvPlugin.js97.88%100%100%97.88%237, 378, 391–392
   DynamicEntryPlugin.js100%100%100%100%
   EntryOptionPlugin.js100%100%100%100%
   EntryPlugin.js100%100%100%100%
   Entrypoint.js100%100%100%100%
   EnvironmentPlugin.js97.14%100%100%97.14%49
   ErrorHelpers.js100%100%100%100%
   EvalDevToolModulePlugin.js100%100%100%100%
   EvalSourceMapDevToolPlugin.js100%100%100%100%
   ExportsInfo.js100%100%100%100%
   ExportsInfoApiPlugin.js100%100%100%100%
   ExternalModule.js98.89%100%100%98.89%399–403, 542
   ExternalModuleFactoryPlugin.js100%100%100%100%
   ExternalsPlugin.js100%100%100%100%
   FileSystemInfo.js99.50%100%100%99.50%182, 2252–2253, 2256, 2267, 2278, 2289, 278, 3694, 3709, 3733
   FlagAllModulesAsUsedPlugin.js100%100%100%100%
   FlagDependencyExportsPlugin.js98.74%100%100%98.74%399, 401, 405
   FlagDependencyUsagePlugin.js100%100%100%100%
   FlagEntryExportAsUsedPlugin.js100%100%100%100%
   Generator.js100%100%100%100%
   HotModuleReplacementPlugin.js100%100%100%100%
   HotUpdateChunk.js100%100%100%100%
   IgnorePlugin.js100%100%100%100%
   IgnoreWarningsPlugin.js100%100%100%100%
   InitFragment.js100%100%100%100%
   JavascriptMetaInfoPlugin.js100%100%100%100%
   LibraryTemplatePlugin.js100%100%100%100%
   LoaderOptionsPlugin.js100%100%100%100%
   LoaderTargetPlugin.js100%100%100%100%
   MainTemplate.js100%100%100%100%
   ManifestPlugin.js100%100%100%100%
   Module.js98.50%100%100%98.50%1304, 1309, 1370, 1384, 1446, 1455
   ModuleFactory.js100%100%100%100%
   ModuleFilenameHelpers.js98.85%100%100%98.85%106, 108
   ModuleGraph.js99.73%100%100%99.73%1004
   ModuleGraphConnection.js100%100%100%100%
   ModuleInfoHeaderPlugin.js100%100%100%100%
   ModuleProfile.js100%100%100%100%
   ModuleSourceTypeConstants.js100%100%100%100%
   ModuleTemplate.js100%100%100%100%
   ModuleTypeConstants.js100%100%100%100%
   MultiCompiler.js99.69%100%100%99.69%645
   MultiStats.js100%100%100%100%
   MultiWatching.js100%100%100%100%
   NoEmitOnErrorsPlugin.js100%100%100%100%
   NodeStuffPlugin.js100%100%100%100%
   NormalModule.js97.78%100%100%97.78%1020, 1036, 1123, 1774, 1779–1789, 708, 711, 728, 745, 986
   NormalModuleFactory.js99.47%100%100%99.47%1067, 1376, 466, 478
   NormalModuleReplacementPlugin.js100%100%100%100%
   NullFactory.js100%100%100%100%
   OptimizationStages.js100%100%100%100%
   OptionsApply.js100%100%100%100%
   Parser.js100%100%100%100%
   PlatformPlugin.js100%100%100%100%
   PrefetchPlugin.js100%100%100%100%
   ProgressPlugin.js98.85%100%100%98.85%519–520, 525, 527, 591
   ProvidePlugin.js100%100%100%100%
   RawModule.js100%100%100%100%
   RecordIdsPlugin.js100%100%100%100%
   RequestShortener.js100%100%100%100%
   ResolverFactory.js100%100%100%100%
   RuntimeGlobals.js100%100%100%100%
   RuntimeModule.js100%100%100%100%
   RuntimePlugin.js100%100%100%100%
   RuntimeTemplate.js100%100%100%100%
   SelfModuleFactory.js100%100%100%100%
   SingleEntryPlugin.js100%100%100%100%
   SourceMapDevToolModuleOptionsPlugin.js100%100%100%100%
   SourceMapDevToolPlugin.js99.16%100%100%99.16%267–268, 610
   Stats.js100%100%100%100%
   Template.js100%100%100%100%
   TemplatedPathPlugin.js98.86%100%100%98.86%134–135
   UseStrictPlugin.js100%100%100%100%
   WarnCaseSensitiveModulesPlugin.js100%100%100%100%
   WarnDeprecatedOptionPlugin.js100%100%100%100%
   WarnNoModeSetPlugin.js100%100%100%100%
   WatchIgnorePlugin.js100%100%100%100%
   Watching.js100%100%100%100%
   WebpackError.js100%100%100%100%
   WebpackIsIncludedPlugin.js100%100%100%100%
   WebpackOptionsApply.js100%100%100%100%
   WebpackOptionsDefaulter.js100%100%100%100%
   buildChunkGraph.js99.87%100%100%99.87%325
   cli.js98.71%100%100%98.71%117, 469, 501, 543, 813
   index.js100%100%100%100%
   validateSchema.js94.67%100%100%94.67%100, 87, 89, 98
   webpack.js97.22%100%100%97.22%196, 218, 220
lib/asset
   AssetBytesGenerator.js100%100%100%100%
   AssetBytesParser.js100%100%100%100%
   AssetGenerator.js100%100%100%100%
   AssetModulesPlugin.js97.77%100%100%97.77%285, 309, 312, 364, 40
   AssetParser.js100%100%100%100%
   AssetSourceGenerator.js100%100%100%100%
   AssetSourceParser.js100%100%100%100%
   RawDataUrlModule.js100%100%100%100%
lib/async-modules
   AsyncModuleHelpers.js100%100%100%100%
   AwaitDependenciesInitFragment.js100%100%100%100%
   InferAsyncModulesPlugin.js100%100%100%100%
lib/cache
   AddBuildDependenciesPlugin.js100%100%100%100%
   AddManagedPathsPlugin.js100%100%100%100%
   IdleFileCachePlugin.js97.92%100%100%97.92%71, 83, 91
   MemoryCachePlugin.js95.83%100%100%95.83%33
   MemoryWithGcCachePlugin.js93.15%100%100%93.15%106, 113–114, 122, 89
   PackFileCacheStrategy.js96.40%100%100%96.40%1250, 1350, 1354, 1416, 628, 647, 657–659, 661, 677–678, 683, 686, 688, 693, 698, 722, 728, 762, 768, 774, 779, 790, 799, 804–805, 807, 824, 830–831, 833
   ResolverCachePlugin.js100%100%100%100%
   getLazyHashedEtag.js100%100%100%100%
   mergeEtags.js100%100%100%100%
lib/config
   browserslistTargetHandler.js100%100%100%100%
   defaults.js99.14%100%100%99.14%1314–1316, 1324, 271, 274, 279, 283, 472
   normalization.js99%100%100%99%191–192, 258, 273
   target.js100%100%100%100%
lib/container
   ContainerEntryDependency.js100%100%100%100%
   ContainerEntryModule.js100%100%100%100%
   ContainerEntryModuleFactory.js100%100%100%100%
   ContainerExposedDependency.js100%100%100%100%
   ContainerPlugin.js100%100%100%100%
   ContainerReferencePlugin.js100%100%100%100%
   FallbackDependency.js100%100%100%100%
   FallbackItemDependency.js100%100%100%100%
   FallbackModule.js100%100%100%100%
   FallbackModuleFactory.js100%100%100%100%
   HoistContainerReferencesPlugin.js100%100%100%100%
   ModuleFederationPlugin.js100%100%100%100%
   RemoteModule.js100%100%100%100%
   RemoteRuntimeModule.js100%100%100%100%
   

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated no new comments.

@alexander-akait
alexander-akait merged commit 10c4fcf into main May 7, 2026
61 of 64 checks passed
@alexander-akait
alexander-akait deleted the claude/add-value-support-url-import-FR6AV branch May 7, 2026 19:25
aryanraj45 pushed a commit to aryanraj45/webpack that referenced this pull request May 8, 2026
alexander-akait pushed a commit to webpack/webpack.js.org that referenced this pull request May 18, 2026
…107) (#8244)

Webpack 5.107 brings two additions to the experiments.css feature set:

- Scope hoisting (module concatenation) now applies to CSS Modules with
  exportType "text", "css-style-sheet", "style", or "link", reducing
  runtime overhead in CSS-heavy bundles when
  optimization.concatenateModules is enabled.
- @value identifiers can be used as the path argument to @import and
  inside url() references, so shared paths/assets are defined once and
  reused. Both quoted and bare forms are accepted and resolved through
  webpack's normal asset pipeline.

Adds two bullets to the existing experimental features list in
experiments.css.

Refs:
- webpack/webpack#20851 (scope hoisting)
- webpack/webpack#20925 (@value in URLs)
bjohansebas pushed a commit to bjohansebas/webpack that referenced this pull request Jul 10, 2026
dkstyle added a commit to line/webpack.kr that referenced this pull request Aug 20, 2026
* chore: restore access to ga (#8016)

* fix(Page): disconnect MutationObserver after hash target is found

* fix: migrate to new ga tracking (#8017)

* fix: avoid double counting

* fix(a11y): correct tip/warning/prefix semantics to prevent heading misidentification  (#7762)

* fix(gtag): tracking page changes

* fix: gtag track hash changes (#8018)

* fix: avoid track hash changes

* docs(configuration): clarify CLI argument usage and expand control flow examples (#8022)

* docs(configuration): clarify CLI argument usage and expand control flow examples

* chore: apply lint formatting

* docs(configuration): remove broken advanced configuration link

* docs(configuration): add mr-baraiya to contributors

* Update contents

* fix(Navigation): add missing lang property for English dropdown item (#8026)

* docs: add MergeDuplicateChunksPlugin page (#8024)

* improve(Navigation): specify PropTypes shape for links prop (#8025)

* fix(Dropdown): prevent memory leak by removing event listeners on unmount (#8023)

* refactor: avoid extra logging (#8019)

* docs(guides): add source map example for libraries (#8030)

* fix: use new `create-webpack-app` package (#8032)

* docs(concepts): clarified the Module Federation uniqueName guidance (#8020)

* docs: add css-utility-loader to community loaders list (#8031)

* docs(guides): surface CLI init flow in Getting Started (#8039)

* docs(guide): convert module-federation  webpack.config.js to esm (#8040)

* refactor: removing hardcoded color (#8041)

* refactor(Navigation): move DocSearch configuration to config file (#8028)

* chore(deps-dev): bump the dependencies group with 3 updates (#8044)

Bumps the dependencies group with 3 updates: [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env), [lint-staged](https://github.com/lint-staged/lint-staged) and [webpack-cli](https://github.com/webpack/webpack-cli).


Updates `@babel/preset-env` from 7.29.0 to 7.29.2
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.2/packages/babel-preset-env)

Updates `lint-staged` from 16.3.3 to 16.4.0
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.3.3...v16.4.0)

Updates `webpack-cli` from 7.0.0 to 7.0.2
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/[email protected]@7.0.2)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-version: 7.29.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: lint-staged
  dependency-version: 16.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: webpack-cli
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 2 updates (#8043)

Bumps the dependencies group with 2 updates: [actions/create-github-app-token](https://github.com/actions/create-github-app-token) and [cypress-io/github-action](https://github.com/cypress-io/github-action).


Updates `actions/create-github-app-token` from 2.2.1 to 3.0.0
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/29824e69f54612133e76f7eaac726eef6c875baf...f8d387b68d61c58ab83c6c016672934102569859)

Updates `cypress-io/github-action` from 7.1.5 to 7.1.6
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/bc22e01685c56e89e7813fd8e26f33dc47f87e15...82482149c343a5dee155d22104111b9319f9dd45)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor: improve color usage consistency (#8042)

* fix(Page): handle failed dynamic content loading safely (#8006)

* fix(a11y): improve keyboard accessibility for sidebar and external links (#8014)

* refactor(Badge): migrate Badge styles to Tailwind utilities (#8053)

* docs(configuration): clarify usage of multiple configurations with ex… (#8054)

* fix: migrated Footer.scss to Tailwind

* fix: migrated Cube component to TailwindCSS

* docs(configuration): document default conditionNames by mode, target, and dependency type (#8033)

* chore(Logo): remove unused Logo.scss file (#8062)

* docs: replace bullet points with defaults table for chunkIds and moduleIds (#8061)

* fix: migrate to tailwind (#8064)

* fix: removed SCSS import from AdjacentPages.jsx

* fix: migrated Sidebar component to Tailwind CSS

* chore(deps): bump flatted from 3.3.1 to 3.4.2 (#8072)

Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.1 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.1...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: migrate OfflineBanner styles to Tailwind CSS

* fix: migrate Placeholder styles to Tailwind CSS (#8075)

* fix: migrate scss to css in ReadingProgress

* refactor(dropdown): fix inefficient event handler .bind(this) bindings (#8035)

* docs(guides): mention webpackExports in tree shaking and code splitting (#8067)

* fix: React Hydration error reporting

* docs: clarify entry syntax and output filename behavior (#8079)

* fix: add dark mode color for sidebar headings (#8077)

* fix: migrate site component from scss to tailwind (#8071)

* docs: improve getting started guide formatting and CLI output readability (#8078)

* fix: migrated Configuration component from SCSS to Tailwind CSS

* docs: fix grammar and punctuation in loaders and optimization documentation (#8081)

* fix: migrate Dropdown component style from scss to tailwind css (#8082)

* fix: migrated ScrollToTop component from scss to Tailwind CSS (#8069)

* docs: improve readability of optimization.chunkIds documentation (#8068)

* Add dark mode styles to Footer (#8087)

Enable dark theme support in the Footer component by updating Tailwind classes: add dark:text and dark:hover variants to footer links, apply dark:invert to the OpenJS logo, and set dark:text on paragraph text to improve readability in dark mode.

* docs: add pnpm command to webpack 5 migration guide (#8036)

* docs(guide): Make a note of ESM namespace toStringTag (#8038)

* styles: replace SCSS with Tailwind CSS for CodeBlockWithCopy component (#8051)

* fix(a11y): improved touch target (#8104)

* docs: add explanations for emit and done plugin hooks (#8089)

* fix: migrated Print component styling from SCSS to Tailwind CSS #8047 (#8084)

* chore(style): migrate TextRotater component to tailwind css #8047 (#8091)

* fix: migrated Page component style from SCSS to Tailwind CSS (#8101)

* fix: migrate Support component to tailwind css #8047 (#8083)

* fix: modernize SidebarItem to functional component with Tailwind… (#8100)

* fix(container): migrate from SCSS to Tailwind CSS (#8098)

* docs: modernize loader example using css-loader (#8088)

* fix(print): migrate Print component from BEM to Tailwind CSS (#8110)

* style(PageLinks): improve dark-mode link contrast and tighten top spacing (#8108)

* fix: migrate SidebarMobile components from SCSS to Tailwind CSS #8047 (#8093)

* docs(concepts): clarify container in module federation examples (#8112)

* fix(docs): fix optimization.chunkIds type

* chore(deps): bump cypress-io/github-action in the dependencies group (#8115)

Bumps the dependencies group with 1 update: [cypress-io/github-action](https://github.com/cypress-io/github-action).


Updates `cypress-io/github-action` from 7.1.6 to 7.1.8
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/82482149c343a5dee155d22104111b9319f9dd45...4c06c48f3ffea349b7189aa06dfcda47a9fa7b92)

---
updated-dependencies:
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 6 updates (#8116)

Bumps the dependencies group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.13.1` | `7.13.2` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.13.1` | `7.13.2` |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.1` | `4.2.2` |
| [cypress](https://github.com/cypress-io/cypress) | `15.12.0` | `15.13.0` |
| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) | `6.2.0` | `6.2.1` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.1` | `4.2.2` |


Updates `react-router` from 7.13.1 to 7.13.2
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router)

Updates `react-router-dom` from 7.13.1 to 7.13.2
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom)

Updates `@tailwindcss/postcss` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-postcss)

Updates `cypress` from 15.12.0 to 15.13.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.12.0...v15.13.0)

Updates `eslint-plugin-cypress` from 6.2.0 to 6.2.1
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.0...v6.2.1)

Updates `tailwindcss` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-version: 7.13.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: cypress
  dependency-version: 15.13.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: eslint-plugin-cypress
  dependency-version: 6.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: tailwindcss
  dependency-version: 4.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(Bug): resolve text-rotator twitch every time when text updates.  (#8117)

* fix(Splash): migrate component from SCSS to TailwindCSS (#8099)

* docs: updated directory structure for basic typescript setup (#8122)

* docs: updated directory structure for basic typescript setup

* Update typescript.mdx

---------

Co-authored-by: Alexander Akait <[email protected]>

* ifx: add dark mode styles to Support button (#8120)

* fix(Sponsors): migrate from SCSS to Tailwind CSS (#8096)

* fix(SplashViz): migrated SplashViz Component style from SCSS to Tailwind CSS #8047 (#8127)

* docs(plugin): add watch mode plugin example with modifiedFiles and fileDependencies (#8125)

* chore(build): prevent rimraf glob crash on Windows by injecting --glob … (#8130)

* fix: resolve dark theme for mobile-sidebar (#8133)

* docs: improve wording (#8135)

* fix: remove before/after pseudo-element classes from TextRotater (#8137)

* fix: added aria (#7823)

* docs(readme): fix grammar in Special Thanks section (#8141)

* fix: added missing comma in getting-started conclusion. (#8143)

* chore(deps): bump the dependencies group with 5 updates (#8153)

Bumps the dependencies group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@docsearch/react](https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react) | `4.6.0` | `4.6.2` |
| [eslint-config-webpack](https://github.com/webpack/eslint-config-webpack) | `4.9.3` | `4.9.4` |
| [lodash](https://github.com/lodash/lodash) | `4.17.23` | `4.18.0` |
| [mini-css-extract-plugin](https://github.com/webpack/mini-css-extract-plugin) | `2.10.1` | `2.10.2` |
| [webpack-bundle-analyzer](https://github.com/webpack/webpack-bundle-analyzer) | `5.2.0` | `5.3.0` |


Updates `@docsearch/react` from 4.6.0 to 4.6.2
- [Release notes](https://github.com/algolia/docsearch/releases)
- [Changelog](https://github.com/algolia/docsearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algolia/docsearch/commits/v4.6.2/packages/docsearch-react)

Updates `eslint-config-webpack` from 4.9.3 to 4.9.4
- [Release notes](https://github.com/webpack/eslint-config-webpack/releases)
- [Changelog](https://github.com/webpack/eslint-config-webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/eslint-config-webpack/compare/v4.9.3...v4.9.4)

Updates `lodash` from 4.17.23 to 4.18.0
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.0)

Updates `mini-css-extract-plugin` from 2.10.1 to 2.10.2
- [Release notes](https://github.com/webpack/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack/mini-css-extract-plugin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/mini-css-extract-plugin/compare/v2.10.1...v2.10.2)

Updates `webpack-bundle-analyzer` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/webpack/webpack-bundle-analyzer/releases)
- [Changelog](https://github.com/webpack/webpack-bundle-analyzer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-bundle-analyzer/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: "@docsearch/react"
  dependency-version: 4.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: eslint-config-webpack
  dependency-version: 4.9.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: lodash
  dependency-version: 4.18.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: mini-css-extract-plugin
  dependency-version: 2.10.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: webpack-bundle-analyzer
  dependency-version: 5.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 2 updates (#8152)

Bumps the dependencies group with 2 updates: [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) and [cypress-io/github-action](https://github.com/cypress-io/github-action).


Updates `dependabot/fetch-metadata` from 2.5.0 to 3.0.0
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/21025c705c08248db411dc16f3619e6b5f9ea21a...ffa630c65fa7e0ecfa0625b5ceda64399aea1b36)

Updates `cypress-io/github-action` from 7.1.8 to 7.1.9
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/4c06c48f3ffea349b7189aa06dfcda47a9fa7b92...783cb3f07983868532cabaedaa1e6c00ff4786a8)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(typescript-guide): improve typescript guide

* fix(search): correct DocSearch app ID typo (O vs 0) (#8154)

* fix(SidebarMobile): move body event listeners to lifecycle methods (#8155)

* fix(Markdown): replace Sass with plain CSS and Tailwind @apply (#8156)

* refactor(styles): replace Sass with plain CSS and Tailwind @apply (#8159)

* fix: add dark variant for placeholder (#8160)

* refactor: convert SplashViz to functional component (#8164)

* fix(contribute): fix webpack 4 patterns in plugin-patterns Changed chunks section (#8168)

* refactor(Cube): rewrite class component to functional (#8170)

* refactor(SidebarMobile): rewrite class component to functional (#8169)

* refactor(Dropdown): rewrite class component to functional (#8171)

* refactor(Configuration): rewrite class component to functional (#8174)

* refactor(TextRotater): rewrite class component to functional (#8172)

* Update changes

* chore(deps): bump the dependencies group with 4 updates (#8178)

Bumps the dependencies group with 4 updates: [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router), [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom), [eslint-config-webpack](https://github.com/webpack/eslint-config-webpack) and [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress).


Updates `react-router` from 7.13.2 to 7.14.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router)

Updates `react-router-dom` from 7.13.2 to 7.14.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom)

Updates `eslint-config-webpack` from 4.9.4 to 4.9.5
- [Release notes](https://github.com/webpack/eslint-config-webpack/releases)
- [Changelog](https://github.com/webpack/eslint-config-webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/eslint-config-webpack/compare/v4.9.4...v4.9.5)

Updates `eslint-plugin-cypress` from 6.2.1 to 6.2.3
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.1...v6.2.3)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-version: 7.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: eslint-config-webpack
  dependency-version: 4.9.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: eslint-plugin-cypress
  dependency-version: 6.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(styles): replace arbitrary color values with named Tailwind tokens (#8166)

* docs: add validation hook details for webpack 5.106 (#8158)

* blog: webpack 5.106 (#8013)

* docs: add blog post for Webpack 5.106 with CSS Modules runtime style injection

* docs: add section on plugin validation with compiler.hooks.validate in Webpack 5.106 blog post

* blog: add section on better tree shaking for CommonJS destructuring in Webpack 5.106 blog post

Signed-off-by: GitHub <[email protected]>

* docs: add support for context option in VirtualUrlPlugin for resolving relative imports in virtual modules

* blog: add experimental JavaScript parsing example with oxc-parser in Webpack 5.106 blog post

* blog: add section on other improvements and bug fixes in Webpack 5.106 blog post

* blog: update Webpack 5.106 blog post with new sections on ecosystem updates and other improvements

* docs: improve

* blog: enhance Better Tree Shaking section with examples for CommonJS destructuring

* rename file with new date

* blog: refine introduction and update section titles for Webpack 5.106

* blog: enhance Plugin Validation section with detailed explanation and examples

* docs: improve

* fixup!

* blog: update version reference in Bug Fixes section from 5.104 to 5.105

* blog: add Getting Started section for create-webpack-app to guide new users

* rename date

* rename file

* blog: add Webpack 5.106 release notes with new features and improvements

* blog: update Webpack 5.106 release notes to include source-phase imports for WebAssembly

* fixup!

* docs: more improvents

* update date of the blog

* add link

---------

Signed-off-by: GitHub <[email protected]>

* fix: refactor dark theme switching for markdown elements (#8163)

* fix(styles): resolve css styles for links (#8182)

* refactor: replace deprecated url.resolve() with WHATWG URL API (#8183)

* refactor: remove dark.css (#8184)

* docs: add Modern Web Platform guide (Web Components, Import Maps, PWA) (#8140)

* fix: contribute donate button rendering (#8186)

* fix: language dropdown hover spacing (#8187)

* chore(deps): bump follow-redirects from 1.15.6 to 1.16.0 (#8190)

Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.6 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.6...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: update footer openjs ai policy (#8188)

* docs(guides): add tsconfig-paths-webpack-plugin migration diff (#8191)

* docs(contribute): add pitching loaders section to writing-a-loader (#8192)

* chore(deps): bump actions/create-github-app-token (#8194)

Bumps the dependencies group with 1 update: [actions/create-github-app-token](https://github.com/actions/create-github-app-token).


Updates `actions/create-github-app-token` from 3.0.0 to 3.1.1
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/f8d387b68d61c58ab83c6c016672934102569859...1b10c78c7865c340bc4f6099eb2f838309f1e8c3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 11 updates (#8195)

Bumps the dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.4` | `19.2.5` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.4` | `19.2.5` |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.14.0` | `7.14.1` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.0` | `7.14.1` |
| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.27` | `10.5.0` |
| [cypress](https://github.com/cypress-io/cypress) | `15.13.0` | `15.13.1` |
| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) | `6.2.3` | `6.3.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.4.0` | `17.5.0` |
| [postcss](https://github.com/postcss/postcss) | `8.5.8` | `8.5.9` |
| [prettier](https://github.com/prettier/prettier) | `3.8.1` | `3.8.2` |
| [webpack](https://github.com/webpack/webpack) | `5.105.4` | `5.106.1` |


Updates `react` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react)

Updates `react-dom` from 19.2.4 to 19.2.5
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.5/packages/react-dom)

Updates `react-router` from 7.14.0 to 7.14.1
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router)

Updates `react-router-dom` from 7.14.0 to 7.14.1
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom)

Updates `autoprefixer` from 10.4.27 to 10.5.0
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.27...10.5.0)

Updates `cypress` from 15.13.0 to 15.13.1
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.13.0...v15.13.1)

Updates `eslint-plugin-cypress` from 6.2.3 to 6.3.0
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.2.3...v6.3.0)

Updates `globals` from 17.4.0 to 17.5.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0)

Updates `postcss` from 8.5.8 to 8.5.9
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.9)

Updates `prettier` from 3.8.1 to 3.8.2
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.1...3.8.2)

Updates `webpack` from 5.105.4 to 5.106.1
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.105.4...v5.106.1)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-dom
  dependency-version: 19.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-router
  dependency-version: 7.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-version: 7.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: autoprefixer
  dependency-version: 10.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: cypress
  dependency-version: 15.13.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: eslint-plugin-cypress
  dependency-version: 6.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: globals
  dependency-version: 17.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: postcss
  dependency-version: 8.5.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: prettier
  dependency-version: 3.8.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: webpack
  dependency-version: 5.106.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: standardize mode-specific defaults table across all configuration docs (#8176)

* docs: improve Getting Started guide clarity and consistency (#8199)

* docs: update npm install syntax to modern usage (#8196)

* docs: clarify webpack loader execution order (right-to-left) (#8136)

* docs: improve explanation of why webpack is used (#8197)

* fix(markdown): correct invalid text-decoration declaration (#8203)

* chore(deps): bump the dependencies group with 2 updates (#8204)

Bumps the dependencies group with 2 updates: [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) and [actions/setup-node](https://github.com/actions/setup-node).


Updates `dependabot/fetch-metadata` from 3.0.0 to 3.1.0
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/ffa630c65fa7e0ecfa0625b5ceda64399aea1b36...25dd0e34f4fe68f24cc83900b1fe3fe149efef98)

Updates `actions/setup-node` from 6.3.0 to 6.4.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 11 updates (#8205)

Bumps the dependencies group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.14.1` | `7.14.2` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.1` | `7.14.2` |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.2` | `4.2.4` |
| [cypress](https://github.com/cypress-io/cypress) | `15.13.1` | `15.14.1` |
| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) | `6.3.0` | `6.3.1` |
| [feed](https://github.com/jpmonette/feed) | `5.2.0` | `5.2.1` |
| [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) | `5.6.6` | `5.6.7` |
| [postcss](https://github.com/postcss/postcss) | `8.5.9` | `8.5.10` |
| [prettier](https://github.com/prettier/prettier) | `3.8.2` | `3.8.3` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.2` | `4.2.4` |
| [webpack](https://github.com/webpack/webpack) | `5.106.1` | `5.106.2` |


Updates `react-router` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router)

Updates `react-router-dom` from 7.14.1 to 7.14.2
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom)

Updates `@tailwindcss/postcss` from 4.2.2 to 4.2.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/@tailwindcss-postcss)

Updates `cypress` from 15.13.1 to 15.14.1
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.13.1...v15.14.1)

Updates `eslint-plugin-cypress` from 6.3.0 to 6.3.1
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.3.0...v6.3.1)

Updates `feed` from 5.2.0 to 5.2.1
- [Release notes](https://github.com/jpmonette/feed/releases)
- [Commits](https://github.com/jpmonette/feed/compare/5.2.0...5.2.1)

Updates `html-webpack-plugin` from 5.6.6 to 5.6.7
- [Release notes](https://github.com/jantimon/html-webpack-plugin/releases)
- [Changelog](https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jantimon/html-webpack-plugin/compare/v5.6.6...v5.6.7)

Updates `postcss` from 8.5.9 to 8.5.10
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.9...8.5.10)

Updates `prettier` from 3.8.2 to 3.8.3
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.2...3.8.3)

Updates `tailwindcss` from 4.2.2 to 4.2.4
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.4/packages/tailwindcss)

Updates `webpack` from 5.106.1 to 5.106.2
- [Release notes](https://github.com/webpack/webpack/releases)
- [Changelog](https://github.com/webpack/webpack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack/compare/v5.106.1...v5.106.2)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-version: 7.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: cypress
  dependency-version: 15.14.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: eslint-plugin-cypress
  dependency-version: 6.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: feed
  dependency-version: 5.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: html-webpack-plugin
  dependency-version: 5.6.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: prettier
  dependency-version: 3.8.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: tailwindcss
  dependency-version: 4.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: webpack
  dependency-version: 5.106.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(footer): align legal link hover color with adjacent nav (#8202)

* feat(ci): pr-quality (#8162)

* feat(ci): pr-quality

* fixup!

* Update workflow reference to specific commit

* docs(guides): expand ESM guide with import.meta, top-level await, and… (#8207)

* docs(guides): add native CSS guide for experiments.css (#8193)

* fix(a11y): fixed background contrast issue in Lighthouse  (#8185)

* chore(deps): bump cypress-io/github-action in the dependencies group (#8213)

Bumps the dependencies group with 1 update: [cypress-io/github-action](https://github.com/cypress-io/github-action).


Updates `cypress-io/github-action` from 7.1.9 to 7.1.10
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/783cb3f07983868532cabaedaa1e6c00ff4786a8...c495c3ddffba403ba11be95fffb67e25203b3799)

---
updated-dependencies:
- dependency-name: cypress-io/github-action
  dependency-version: 7.1.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 3 updates (#8214)

Bumps the dependencies group with 3 updates: [@docsearch/react](https://github.com/algolia/docsearch/tree/HEAD/packages/docsearch-react), [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) and [postcss](https://github.com/postcss/postcss).


Updates `@docsearch/react` from 4.6.2 to 4.6.3
- [Release notes](https://github.com/algolia/docsearch/releases)
- [Changelog](https://github.com/algolia/docsearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/algolia/docsearch/commits/v4.6.3/packages/docsearch-react)

Updates `eslint-plugin-cypress` from 6.3.1 to 6.4.0
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.3.1...v6.4.0)

Updates `postcss` from 8.5.10 to 8.5.12
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.10...8.5.12)

---
updated-dependencies:
- dependency-name: "@docsearch/react"
  dependency-version: 4.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: eslint-plugin-cypress
  dependency-version: 6.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: postcss
  dependency-version: 8.5.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: correct lodash dependency usage in authoring libraries guide (#8217)

* refactor(Support): rewrite class component to functional (#8173)

* fix: improve count of `latest` sponsors (#8227)

* chore(deps): bump cypress-io/github-action in the dependencies group (#8228)

Bumps the dependencies group with 1 update: [cypress-io/github-action](https://github.com/cypress-io/github-action).


Updates `cypress-io/github-action` from 7.1.10 to 7.3.0
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/c495c3ddffba403ba11be95fffb67e25203b3799...dace029018fcdf86e0df89a31bc3cfa5b32570d8)

---
updated-dependencies:
- dependency-name: cypress-io/github-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump the dependencies group with 8 updates (#8229)

Bumps the dependencies group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router) | `7.14.2` | `7.15.0` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.14.2` | `7.15.0` |
| [workbox-window](https://github.com/googlechrome/workbox) | `7.4.0` | `7.4.1` |
| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.29.2` | `7.29.5` |
| [cypress](https://github.com/cypress-io/cypress) | `15.14.1` | `15.14.2` |
| [globals](https://github.com/sindresorhus/globals) | `17.5.0` | `17.6.0` |
| [postcss](https://github.com/postcss/postcss) | `8.5.12` | `8.5.14` |
| [workbox-webpack-plugin](https://github.com/googlechrome/workbox) | `7.4.0` | `7.4.1` |


Updates `react-router` from 7.14.2 to 7.15.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router)

Updates `react-router-dom` from 7.14.2 to 7.15.0
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/[email protected]/packages/react-router-dom)

Updates `workbox-window` from 7.4.0 to 7.4.1
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.4.0...v7.4.1)

Updates `@babel/preset-env` from 7.29.2 to 7.29.5
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.29.5/packages/babel-preset-env)

Updates `cypress` from 15.14.1 to 15.14.2
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.14.1...v15.14.2)

Updates `globals` from 17.5.0 to 17.6.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0)

Updates `postcss` from 8.5.12 to 8.5.14
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.12...8.5.14)

Updates `workbox-webpack-plugin` from 7.4.0 to 7.4.1
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v7.4.0...v7.4.1)

---
updated-dependencies:
- dependency-name: react-router
  dependency-version: 7.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: react-router-dom
  dependency-version: 7.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: workbox-window
  dependency-version: 7.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: "@babel/preset-env"
  dependency-version: 7.29.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: cypress
  dependency-version: 15.14.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: globals
  dependency-version: 17.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: postcss
  dependency-version: 8.5.14
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: workbox-webpack-plugin
  dependency-version: 7.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump serialize-javascript from 7.0.4 to 7.0.5 (#8230)

Bumps [serialize-javascript](https://github.com/yahoo/serialize-javascript) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/yahoo/serialize-javascript/releases)
- [Commits](https://github.com/yahoo/serialize-javascript/compare/v7.0.4...v7.0.5)

---
updated-dependencies:
- dependency-name: serialize-javascript
  dependency-version: 7.0.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: improve sponsor button hover state (#8206)

* fix: update MinimizerPlugin (#8231)

* chore(deps): bump the dependencies group with 10 updates (#8233)

Bumps the dependencies group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react) | `19.2.5` | `19.2.6` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) | `19.2.5` | `19.2.6` |
| [tailwind-merge](https://github.com/dcastil/tailwind-merge) | `3.5.0` | `3.6.0` |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.4` | `4.3.0` |
| [cypress](https://github.com/cypress-io/cypress) | `15.14.2` | `15.15.0` |
| [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) | `6.4.0` | `6.4.1` |
| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.3.0` | `30.4.2` |
| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.3.0` | `30.4.1` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.4` | `4.3.0` |
| [webpack-dev-server](https://github.com/webpack/webpack-dev-server) | `5.2.3` | `5.2.4` |


Updates `react` from 19.2.5 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react)

Updates `react-dom` from 19.2.5 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react-dom)

Updates `tailwind-merge` from 3.5.0 to 3.6.0
- [Release notes](https://github.com/dcastil/tailwind-merge/releases)
- [Commits](https://github.com/dcastil/tailwind-merge/compare/v3.5.0...v3.6.0)

Updates `@tailwindcss/postcss` from 4.2.4 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss)

Updates `cypress` from 15.14.2 to 15.15.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v15.14.2...v15.15.0)

Updates `eslint-plugin-cypress` from 6.4.0 to 6.4.1
- [Release notes](https://github.com/cypress-io/eslint-plugin-cypress/releases)
- [Commits](https://github.com/cypress-io/eslint-plugin-cypress/compare/v6.4.0...v6.4.1)

Updates `jest` from 30.3.0 to 30.4.2
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.4.2/packages/jest)

Updates `jest-environment-jsdom` from 30.3.0 to 30.4.1
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.4.1/packages/jest-environment-jsdom)

Updates `tailwindcss` from 4.2.4 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss)

Updates `webpack-dev-server` from 5.2.3 to 5.2.4
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/main/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.2.3...v5.2.4)

---
updated-dependencies:
- dependency-name: react
  dependency-version: 19.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: react-dom
  dependency-version: 19.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: tailwind-merge
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: cypress
  dependency-version: 15.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: eslint-plugin-cypress
  dependency-version: 6.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
- dependency-name: jest
  dependency-version: 30.4.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: jest-environment-jsdom
  dependency-version: 30.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: tailwindcss
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
- dependency-name: webpack-dev-server
  dependency-version: 5.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/dependency-review-action (#8232)

Bumps the dependencies group with 1 update: [actions/dependency-review-action](https://github.com/actions/dependency-review-action).


Updates `actions/dependency-review-action` from 4.9.0 to 5.0.0
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/2031cfc080254a8a887f58cffee85186f0e49e48...a1d282b36b6f3519aa1f3fc636f609c47dddb294)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump lint-staged from 16.4.0 to 17.0.4 (#8234)

Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 16.4.0 to 17.0.4.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lint-staged/lint-staged/compare/v16.4.0...v17.0.4)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 17.0.4
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump systeminformation from 5.31.3 to 5.31.6 (#8235)

Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 5.31.3 to 5.31.6.
- [Release notes](https://github.com/sebhildebrandt/systeminformation/releases)
- [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v5.31.3...v5.31.6)

---
updated-dependencies:
- dependency-name: systeminformation
  dependency-version: 5.31.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* docs: add sourceImport experiment feature (#8157)

* docs: add sourceImport experiment feature

* docs(experiments): clarify sourceImport scope (WASM-only) and add usage example

Address review feedback on #8157: the current 5.106 implementation of
experiments.sourceImport is WebAssembly-only, but the docs as written
suggested generic source-phase support for any module. Updates the
section to:

- State explicitly that the current implementation targets WASM and
  that JavaScript source imports are planned for a future release.
- Add a short usage example with the static (import source ...) and
  dynamic (import.source(...)) syntax for a .wasm import.
- Link to the wasm-simple-source-phase example in the webpack repo.

Also moves the version badge directly under the heading to match the
style of other experiment sections.

* docs(guides/tree-shaking): document #__NO_SIDE_EFFECTS__ annotation (#8238)

* docs(resolve): document module-sync in default conditionNames (#8237)

Webpack 5.107 adds "module-sync" to the default conditionNames for ESM,
CJS, AMD, worker, wasm, and build-dependency resolvers, aligning with
Node.js. This updates the per-dependency conditionNames defaults table
in resolve.mdx and notes the alignment with Node.js's module-sync
community condition.

Refs: https://github.com/webpack/webpack/pull/20933

* docs(module): document module.parser.css.pure (strict pure mode) (#8245)

Webpack 5.107 adds a new pure parser option for css/module and css/auto
that mirrors postcss-modules-local-by-default's pure mode. Every
selector must contain at least one local class or id, otherwise the
build fails. Documents the option, plus the two opt-out comments
(/* cssmodules-pure-ignore */ per-rule and /* cssmodules-pure-no-check */
per-file) and the constructs that are exempt by design.

Refs: https://github.com/webpack/webpack/pull/20946

* docs(module): exportsConvention function form now accepts string[] (#8240)

Webpack 5.107 lets the generator.exportsConvention function for CSS
modules return either a string or a string[]. Returning an array
exports the local class under every name in the array, matching
css-loader's behavior. Updates the type comments in the module.generator
example and adds a dedicated subsection with a worked example.

Refs: https://github.com/webpack/webpack/pull/20914

* docs(experiments): document CSS scope hoisting and @value in URLs (5.107) (#8244)

Webpack 5.107 brings two additions to the experiments.css feature set:

- Scope hoisting (module concatenation) now applies to CSS Modules with
  exportType "text", "css-style-sheet", "style", or "link", reducing
  runtime overhead in CSS-heavy bundles when
  optimization.concatenateModules is enabled.
- @value identifiers can be used as the path argument to @import and
  inside url() references, so shared paths/assets are defined once and
  reused. Both quoted and bare forms are accepted and resolved through
  webpack's normal asset pipeline.

Adds two bullets to the existing experimental features list in
experiments.css.

Refs:
- https://github.com/webpack/webpack/pull/20851 (scope hoisting)
- https://github.com/webpack/webpack/pull/20925 (@value in URLs)

* docs(module): document module.parser.javascript.anonymousDefaultExportName (#8242)

Webpack 5.107 introduces a new JS parser option that controls whether
webpack sets .name to "default" on anonymous default-export functions
and classes (per the ES spec). The fix-up was added in 5.106 but the
extra Object.defineProperty calls inflate bundles, so the option
defaults to true for applications and false for libraries (when
output.library is set). Documents the option under
module.parser.javascript.

Refs: https://github.com/webpack/webpack/pull/20894

* docs(compilation-hooks): document CssModulesPlugin.getCompilationHooks() and orderModules (#8248)

Webpack 5.107 adds a new orderModules hook on
CssModulesPlugin.getCompilationHooks(compilation). It is a SyncBailHook
called once per CSS source type (CSS_IMPORT_TYPE and CSS_TYPE) with the
chunk's modules pre-sorted by full module name, letting plugin authors
override the default import-order topological sort and side-step the
"Conflicting order between css ..." warning.

Adds a new section at the end of compilation-hooks.mdx documenting both
the CssModulesPlugin.getCompilationHooks() entry point and the
orderModules hook itself, following the pattern already used in the
file for NormalModule.getCompilationHooks().loader.

Refs: https://github.com/webpack/webpack/pull/20978

* docs(experiments): document experiments.html and its HTML features (#8243)

* docs(experiments): document experiments.html and its HTML behaviors

Webpack 5.107 introduces experiments.html, the html-loader side of
native HTML module support. With the flag on, importing an HTML file
from JavaScript runs its tag references through the webpack pipeline.

What this PR documents:

- The experiments.html flag and its TOC entry.
- The JS-import-HTML usage pattern (no entry-point support yet).
- Inline <style> tags routed through the CSS pipeline as virtual
  exportType: "text" modules, so url() and @import resolve relative to
  the HTML file.
- Inline <script> tags routed through the same entry pipeline as
  <script src>: classic bodies bundle as CommonJS, type="module"
  bodies as ESM, tags rewritten to <script src="...">, auto-upgrade to
  type="module" under output.module.
- <script src> and <link rel="modulepreload"> references becoming real
  webpack entries with shared runtime via dependOn, independent
  modulepreload chunks, and type="module" auto-upgrade.
- webpackIgnore magic comment for HTML (cross-references the existing
  magic comments docs in api/module-methods).

What is explicitly NOT supported in 5.107 (called out in the warning
admonition): HTML entry points (the html-webpack-plugin part). That is
planned for the next minor release. The full story is tracked in
issue #536.

Refs:
- https://github.com/webpack/webpack/pull/20902 (experiments.html flag)
- https://github.com/webpack/webpack/pull/20962 (inline <style>)
- https://github.com/webpack/webpack/pull/20967 (inline <script>)
- https://github.com/webpack/webpack/pull/20949 (<script src> / modulepreload)
- https://github.com/webpack/webpack/pull/20950 (webpackIgnore in HTML)

* docs(magic-comments): document webpackIgnore support in HTML modules

Webpack 5.107 supports the webpackIgnore magic comment inside HTML
modules (when experiments.html is enabled). Placing
<!-- webpackIgnore: true --> before a tag skips URL resolution for its
src/href/srcset attributes, leaving the tag untouched in the emitted
HTML. Adds a new HTML Usage section under the existing webpackIgnore
docs in api/module-methods.

Refs: https://github.com/webpack/webpack/pull/20950

* docs(externals): document defer/source phase preservation in ESM externals (#8239)

* docs(externals): document defer/source phase preservation in ESM externals

Webpack 5.107 preserves the defer and source import phase keywords on
external dependencies the same way it preserves import attributes. Adds
subsections under externalsType.module and externalsType.import showing
the static and dynamic forms emitted in the output bundle.

Refs: https://github.com/webpack/webpack/pull/20934

* docs(externals): fix broken anchor for import attributes link

The reference link pointed to /configuration/module/#ruleparserimportattributes,
which does not exist (the fragment-check on PR #8239 failed). Webpack
docs have no dedicated "import attributes" page; the closest internal
anchor is #rulewith, but that documents Rule.with as a matcher rather
than import attributes themselves. Replace the internal link with the
TC39 proposal URL so readers can learn what import attributes are.

* chore: migrate from yarn to np…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants