Skip to content

refactor: move weak flag from Dependency to ModuleDependency#21111

Merged
alexander-akait merged 1 commit into
mainfrom
claude/search-list-todos-DeIFh
Jun 6, 2026
Merged

refactor: move weak flag from Dependency to ModuleDependency#21111
alexander-akait merged 1 commit into
mainfrom
claude/search-list-todos-DeIFh

Conversation

@alexander-akait

Copy link
Copy Markdown
Member

weak is only set on ModuleDependency subclasses, so move it there; optional
stays on the base because ContextDependency (not a ModuleDependency) uses it.

https://claude.ai/code/session_01W3cXrpZRvyKD3D6sLUqoCz

weak is only set on ModuleDependency subclasses, so move it there; optional
stays on the base because ContextDependency (not a ModuleDependency) uses it.

https://claude.ai/code/session_01W3cXrpZRvyKD3D6sLUqoCz
@changeset-bot

changeset-bot Bot commented Jun 6, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 2d1f355

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

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

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 Jun 6, 2026

Copy link
Copy Markdown
Contributor

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

Install it locally:

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

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Types Coverage

Coverage after merging claude/search-list-todos-DeIFh into main will be
98.99%
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.js100%100%100%100%
examples/typescript-non-erasable
   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%39
   ChunkGraph.js100%100%100%100%
   ChunkGroup.js100%100%100%100%
   ChunkTemplate.js100%100%100%100%
   CleanPlugin.js99.15%100%100%99.15%206, 226
   CodeGenerationResults.js100%100%100%100%
   CompatibilityPlugin.js100%100%100%100%
   Compilation.js98.48%100%100%98.48%1577, 1873, 1880, 1888, 1910, 2806, 3247, 3911, 3941, 3994–3995, 3999, 4004, 4020–4021, 4035–4036, 4041–4042, 4519, 4545, 512, 517, 5353, 5385, 5402, 5418, 5434, 5449, 5474–5475, 5477, 5805, 5810, 5816, 5819, 5831, 5833, 5837, 5853, 5868, 5900, 5954, 5978, 6092, 731–732
   Compiler.js99.56%100%100%99.56%1135–1136, 1144
   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.40%100%100%97.40%258, 395, 418, 420, 424, 433–434
   ContextReplacementPlugin.js100%100%100%100%
   DefinePlugin.js99%100%100%99%170–171, 187, 206, 280
   DependenciesBlock.js100%100%100%100%
   Dependency.js98.15%100%100%98.15%379, 425
   DependencyTemplate.js100%100%100%100%
   DependencyTemplates.js100%100%100%100%
   DotenvPlugin.js98.41%100%100%98.41%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.97%100%100%98.97%425–429, 577
   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, 3693, 3708, 3732
   FlagAllModulesAsUsedPlugin.js100%100%100%100%
   FlagDependencyExportsPlugin.js98.85%100%100%98.85%434, 436, 440
   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%1312, 1317, 1377, 1391, 1453, 1462
   ModuleFactory.js100%100%100%100%
   ModuleFilenameHelpers.js98.85%100%100%98.85%106, 108
   ModuleGraph.js99.73%100%100%99.73%1005
   ModuleGraphConnection.js100%100%100%100%
   ModuleInfoHeaderPlugin.js100%100%100%100%
   ModuleNotFoundError.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%659
   MultiStats.js100%100%100%100%
   MultiWatching.js100%100%100%100%
   NoEmitOnErrorsPlugin.js100%100%100%100%
   NodeStuffPlugin.js100%100%100%100%
   NormalModule.js98.15%100%100%98.15%1212, 1215, 1232, 1249, 1496, 1530, 1546, 1633, 2288, 2293–2303, 569
   NormalModuleFactory.js99.47%100%100%99.47%1083, 1392, 486, 498
   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.js98.62%100%100%98.62%220, 224, 226, 419, 430, 891
   Stats.js100%100%100%100%
   Template.js100%100%100%100%
   TemplatedPathPlugin.js98.86%100%100%98.86%136–137
   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%326
   cli.js98.62%100%100%98.62%10, 119, 545, 577, 627, 897
   index.js99.72%100%100%99.72%165
   validateSchema.js94.67%100%100%94.67%100, 87, 89, 98
   webpack.js96.33%100%100%96.33%10, 198, 220, 222
lib/asset
   AssetBytesGenerator.js100%100%100%100%
   AssetBytesParser.js100%100%100%100%
   AssetGenerator.js100%100%100%100%
   AssetModulesPlugin.js97.32%100%100%97.32%283, 307, 310, 36, 362, 41
   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.30%100%100%99.30%1428–1430, 1438, 273, 276, 281, 285
   normalization.js99.01%100%100%99.01%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%
   

@codecov

codecov Bot commented Jun 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.99%. Comparing base (28fbdce) to head (2d1f355).

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #21111      +/-   ##
==========================================
- Coverage   91.99%   91.99%   -0.01%     
==========================================
  Files         581      581              
  Lines       61433    61433              
  Branches    16787    16787              
==========================================
- Hits        56516    56515       -1     
- Misses       4917     4918       +1     
Flag Coverage Δ
css-parsing 28.68% <33.33%> (ø)
html5lib 27.86% <33.33%> (ø)
integration 89.48% <100.00%> (-0.01%) ⬇️
test262 45.30% <33.33%> (-0.01%) ⬇️
unit 39.61% <33.33%> (ø)

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

☔ View full report in Codecov by Harness.
📢 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.

@codspeed-hq

codspeed-hq Bot commented Jun 6, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 52.64%

⚠️ 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

⚡ 1 improved benchmark
❌ 2 regressed benchmarks
✅ 141 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Memory benchmark "asset-modules-inline", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 221 KB 1,227.8 KB -82%
Memory benchmark "react", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 151.4 KB 332.4 KB -54.46%
Memory benchmark "asset-modules-bytes", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' 319 KB 246.1 KB +29.6%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing claude/search-list-todos-DeIFh (2d1f355) with main (28fbdce)

Open in CodSpeed

@alexander-akait alexander-akait merged commit e861a84 into main Jun 6, 2026
66 of 67 checks passed
@alexander-akait alexander-akait deleted the claude/search-list-todos-DeIFh branch June 6, 2026 11:52
alexander-akait added a commit that referenced this pull request Jun 8, 2026
#21113)

* test: stabilize codecov/changes for HttpUriPlugin network-failure path

The error callback in resolveContent is only hit when an HTTP resolution
fails, which depends on network/timing in CI. Its coverage flipped between
runs and tripped codecov/changes on unrelated PRs (e.g. #21111). Mark it
with istanbul ignore so the check only fails on real regressions.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ

* test: serve LICENSE from local server in http-url test

The http-url case fetched https://raw.githubusercontent.com/.../LICENSE
live, so the no-cache config hit the network on every run. Whether that
request succeeded or failed flipped coverage of the error path in
HttpUriPlugin (the indirect change codecov/changes flagged on unrelated
PRs). Serve a LICENSE fixture from the local test server and regenerate
the lockfiles so the case is fully self-contained and deterministic.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ

* Revert istanbul-ignore on HttpUriPlugin error path

The local-server test fix makes the no-cache fetch deterministic, so the
error path no longer flips coverage. The ignore is redundant and masked a
reachable line, so drop it; HttpUriPlugin.js now matches main.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ

* Exclude timing-dependent profiling log from coverage

The per-module profiling summary only logs modules slower than 10ms, so
its coverage flips run-to-run and destabilized codecov/changes. Wrap it in
an explicit condition and mark it istanbul ignore.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ

* test: cover compression and fetch-error paths via local server

The previous live raw.githubusercontent fetch covered gzip decompression
and the fetch-error path only intermittently (depending on the network),
which was the indirect coverage that flipped codecov. Extend the local
server to serve gzip/brotli/deflate and to drop the connection, and add
cases for them so those branches are covered deterministically.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ

* ci: make codecov changes status informational

The changes status has zero tolerance and flags indirect coverage shifts
from timing/network/test-ordering and carryforward-flag merges, so it fails
on noise rather than real regressions. Keep it reporting but non-blocking.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ

* test: cover redirect revalidation path in http-url

Add a must-revalidate redirect endpoint (stable etag) to the local server
so the cache variant re-fetches it and exercises the unchanged-redirect
branch in HttpUriPlugin; regenerate lockfiles.

https://claude.ai/code/session_01GY2MCKb3crke24tWfoJXyZ
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.

1 participant