webpack 5.45.1 → 5.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of webpack might be problematic. Click here for more details.

Files changed (31) hide show
  1. package/bin/webpack.js +0 -0
  2. package/hot/only-dev-server.js +1 -1
  3. package/hot/poll.js +1 -1
  4. package/hot/signal.js +1 -1
  5. package/lib/NormalModule.js +14 -8
  6. package/lib/NormalModuleFactory.js +8 -2
  7. package/lib/Template.js +1 -4
  8. package/lib/asset/AssetGenerator.js +1 -1
  9. package/lib/asset/AssetModulesPlugin.js +23 -18
  10. package/lib/config/defaults.js +18 -12
  11. package/lib/dependencies/AMDRequireDependency.js +2 -8
  12. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +6 -3
  13. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +4 -2
  14. package/lib/dependencies/HarmonyImportDependency.js +5 -1
  15. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +40 -5
  16. package/lib/dependencies/HarmonyImportSideEffectDependency.js +2 -2
  17. package/lib/dependencies/HarmonyImportSpecifierDependency.js +10 -2
  18. package/lib/dependencies/ModuleDependency.js +8 -1
  19. package/lib/hmr/HotModuleReplacement.runtime.js +66 -60
  20. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +2 -8
  21. package/lib/javascript/JavascriptModulesPlugin.js +48 -29
  22. package/lib/javascript/JavascriptParser.js +14 -9
  23. package/lib/rules/{DescriptionDataMatcherRulePlugin.js → ObjectMatcherRulePlugin.js} +14 -10
  24. package/lib/stats/DefaultStatsFactoryPlugin.js +32 -2
  25. package/lib/stats/DefaultStatsPresetPlugin.js +6 -2
  26. package/lib/stats/DefaultStatsPrinterPlugin.js +51 -9
  27. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +2 -2
  28. package/package.json +3 -2
  29. package/schemas/WebpackOptions.check.js +1 -1
  30. package/schemas/WebpackOptions.json +15 -0
  31. package/types.d.ts +98 -11
@@ -374,6 +374,10 @@ const SIMPLE_PRINTERS = {
374
374
  "modules"
375
375
  )}`
376
376
  : undefined,
377
+ "module.filteredReasons": filteredReasons =>
378
+ filteredReasons > 0
379
+ ? `${filteredReasons} ${plural(filteredReasons, "reason", "reasons")}`
380
+ : undefined,
377
381
  "module.filteredChildren": filteredChildren =>
378
382
  filteredChildren > 0
379
383
  ? `${filteredChildren} ${plural(filteredChildren, "module", "modules")}`
@@ -393,6 +397,10 @@ const SIMPLE_PRINTERS = {
393
397
  "moduleReason.active": (active, { formatFlag }) =>
394
398
  active ? undefined : formatFlag("inactive"),
395
399
  "moduleReason.resolvedModule": (module, { magenta }) => magenta(module),
400
+ "moduleReason.filteredChildren": filteredChildren =>
401
+ filteredChildren > 0
402
+ ? `${filteredChildren} ${plural(filteredChildren, "reason", "reasons")}`
403
+ : undefined,
396
404
 
397
405
  "module.profile.total": (value, { formatTime }) => formatTime(value),
398
406
  "module.profile.resolving": (value, { formatTime }) =>
@@ -590,6 +598,7 @@ const ITEM_NAMES = {
590
598
  "module.modules[]": "module",
591
599
  "module.children[]": "module",
592
600
  "module.reasons[]": "moduleReason",
601
+ "moduleReason.children[]": "moduleReason",
593
602
  "module.issuerPath[]": "moduleIssuer",
594
603
  "chunk.origins[]": "chunkOrigin",
595
604
  "chunk.modules[]": "module",
@@ -721,6 +730,7 @@ const PREFERRED_ORDERS = {
721
730
  "usedExports",
722
731
  "optimizationBailout",
723
732
  "reasons",
733
+ "filteredReasons",
724
734
  "issuerPath",
725
735
  "profile",
726
736
  "modules",
@@ -734,7 +744,9 @@ const PREFERRED_ORDERS = {
734
744
  "module",
735
745
  "resolvedModule",
736
746
  "loc",
737
- "explanation"
747
+ "explanation",
748
+ "children",
749
+ "filteredChildren"
738
750
  ],
739
751
  "module.profile": [
740
752
  "total",
@@ -1019,10 +1031,32 @@ const SIMPLE_ELEMENT_JOINERS = {
1019
1031
  chunkGroupAsset: joinOneLine,
1020
1032
  chunkGroupChildGroup: joinOneLine,
1021
1033
  chunkGroupChild: joinOneLine,
1034
+ // moduleReason: (items, { moduleReason }) => {
1035
+ // let hasName = false;
1036
+ // return joinOneLine(
1037
+ // items.filter(item => {
1038
+ // switch (item.element) {
1039
+ // case "moduleId":
1040
+ // if (moduleReason.moduleId === moduleReason.module && item.content)
1041
+ // hasName = true;
1042
+ // break;
1043
+ // case "module":
1044
+ // if (hasName) return false;
1045
+ // break;
1046
+ // case "resolvedModule":
1047
+ // return (
1048
+ // moduleReason.module !== moduleReason.resolvedModule &&
1049
+ // item.content
1050
+ // );
1051
+ // }
1052
+ // return true;
1053
+ // })
1054
+ // );
1055
+ // },
1022
1056
  moduleReason: (items, { moduleReason }) => {
1023
1057
  let hasName = false;
1024
- return joinOneLine(
1025
- items.filter(item => {
1058
+ return joinExplicitNewLine(
1059
+ items.map(item => {
1026
1060
  switch (item.element) {
1027
1061
  case "moduleId":
1028
1062
  if (moduleReason.moduleId === moduleReason.module && item.content)
@@ -1032,13 +1066,21 @@ const SIMPLE_ELEMENT_JOINERS = {
1032
1066
  if (hasName) return false;
1033
1067
  break;
1034
1068
  case "resolvedModule":
1035
- return (
1036
- moduleReason.module !== moduleReason.resolvedModule &&
1037
- item.content
1038
- );
1069
+ if (moduleReason.module === moduleReason.resolvedModule)
1070
+ return false;
1071
+ break;
1072
+ case "children":
1073
+ if (item.content) {
1074
+ return {
1075
+ ...item,
1076
+ content: `\n${item.content}\n`
1077
+ };
1078
+ }
1079
+ break;
1039
1080
  }
1040
- return true;
1041
- })
1081
+ return item;
1082
+ }),
1083
+ " "
1042
1084
  );
1043
1085
  },
1044
1086
  "module.profile": joinInBrackets,
@@ -36,7 +36,7 @@ const getAsyncWebAssemblyParser = memoize(() =>
36
36
  );
37
37
 
38
38
  /**
39
- * @typedef {Object} RenderContext
39
+ * @typedef {Object} WebAssemblyRenderContext
40
40
  * @property {Chunk} chunk the chunk
41
41
  * @property {DependencyTemplates} dependencyTemplates the dependency templates
42
42
  * @property {RuntimeTemplate} runtimeTemplate the runtime template
@@ -47,7 +47,7 @@ const getAsyncWebAssemblyParser = memoize(() =>
47
47
 
48
48
  /**
49
49
  * @typedef {Object} CompilationHooks
50
- * @property {SyncWaterfallHook<[Source, Module, RenderContext]>} renderModuleContent
50
+ * @property {SyncWaterfallHook<[Source, Module, WebAssemblyRenderContext]>} renderModuleContent
51
51
  */
52
52
 
53
53
  /** @type {WeakMap<Compilation, CompilationHooks>} */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack",
3
- "version": "5.45.1",
3
+ "version": "5.48.0",
4
4
  "author": "Tobias Koppers @sokra",
5
5
  "description": "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.",
6
6
  "license": "MIT",
@@ -11,6 +11,7 @@
11
11
  "@webassemblyjs/wasm-edit": "1.11.1",
12
12
  "@webassemblyjs/wasm-parser": "1.11.1",
13
13
  "acorn": "^8.4.1",
14
+ "acorn-import-assertions": "^1.7.6",
14
15
  "browserslist": "^4.14.5",
15
16
  "chrome-trace-event": "^1.0.2",
16
17
  "enhanced-resolve": "^5.8.0",
@@ -27,7 +28,7 @@
27
28
  "tapable": "^2.1.1",
28
29
  "terser-webpack-plugin": "^5.1.3",
29
30
  "watchpack": "^2.2.0",
30
- "webpack-sources": "^2.3.0"
31
+ "webpack-sources": "^3.2.0"
31
32
  },
32
33
  "peerDependenciesMeta": {
33
34
  "webpack-cli": {