webpack 5.37.0 → 5.37.1

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 (94) hide show
  1. package/README.md +5 -8
  2. package/lib/CacheFacade.js +3 -3
  3. package/lib/Chunk.js +2 -3
  4. package/lib/Compilation.js +43 -55
  5. package/lib/Compiler.js +4 -4
  6. package/lib/ConcatenationScope.js +2 -1
  7. package/lib/ContextModule.js +3 -3
  8. package/lib/ContextReplacementPlugin.js +4 -3
  9. package/lib/DefinePlugin.js +16 -12
  10. package/lib/EvalSourceMapDevToolPlugin.js +3 -1
  11. package/lib/FileSystemInfo.js +24 -30
  12. package/lib/FlagDependencyExportsPlugin.js +8 -7
  13. package/lib/FlagDependencyUsagePlugin.js +2 -4
  14. package/lib/HotModuleReplacementPlugin.js +20 -30
  15. package/lib/JavascriptMetaInfoPlugin.js +2 -1
  16. package/lib/MainTemplate.js +2 -3
  17. package/lib/ModuleFilenameHelpers.js +4 -2
  18. package/lib/ModuleGraphConnection.js +6 -2
  19. package/lib/ModuleInfoHeaderPlugin.js +2 -3
  20. package/lib/MultiCompiler.js +31 -27
  21. package/lib/NormalModule.js +22 -5
  22. package/lib/RecordIdsPlugin.js +5 -4
  23. package/lib/ResolverFactory.js +10 -7
  24. package/lib/SourceMapDevToolPlugin.js +13 -14
  25. package/lib/Template.js +4 -2
  26. package/lib/Watching.js +83 -46
  27. package/lib/asset/AssetGenerator.js +19 -23
  28. package/lib/buildChunkGraph.js +21 -21
  29. package/lib/cache/PackFileCacheStrategy.js +12 -9
  30. package/lib/config/defaults.js +12 -9
  31. package/lib/config/normalization.js +7 -7
  32. package/lib/debug/ProfilingPlugin.js +4 -3
  33. package/lib/dependencies/AMDRequireDependency.js +3 -3
  34. package/lib/dependencies/CommonJsExportRequireDependency.js +2 -3
  35. package/lib/dependencies/CommonJsExportsParserPlugin.js +3 -1
  36. package/lib/dependencies/CommonJsImportsParserPlugin.js +2 -4
  37. package/lib/dependencies/CommonJsPlugin.js +8 -7
  38. package/lib/dependencies/CommonJsRequireContextDependency.js +2 -1
  39. package/lib/dependencies/ContextDependencyHelpers.js +10 -8
  40. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +11 -13
  41. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +2 -4
  42. package/lib/dependencies/HarmonyImportSpecifierDependency.js +4 -11
  43. package/lib/dependencies/ImportDependency.js +3 -3
  44. package/lib/dependencies/ImportParserPlugin.js +2 -4
  45. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +2 -3
  46. package/lib/dependencies/RequireEnsureDependency.js +3 -3
  47. package/lib/dependencies/WorkerDependency.js +6 -6
  48. package/lib/dependencies/WorkerPlugin.js +18 -19
  49. package/lib/hmr/LazyCompilationPlugin.js +6 -4
  50. package/lib/ids/HashedModuleIdsPlugin.js +3 -3
  51. package/lib/ids/OccurrenceModuleIdsPlugin.js +2 -3
  52. package/lib/index.js +5 -3
  53. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +4 -6
  54. package/lib/javascript/CommonJsChunkFormatPlugin.js +2 -3
  55. package/lib/javascript/JavascriptGenerator.js +3 -1
  56. package/lib/javascript/JavascriptModulesPlugin.js +15 -23
  57. package/lib/javascript/JavascriptParser.js +10 -8
  58. package/lib/library/AssignLibraryPlugin.js +4 -2
  59. package/lib/node/NodeWatchFileSystem.js +19 -4
  60. package/lib/optimize/AggressiveSplittingPlugin.js +5 -4
  61. package/lib/optimize/ConcatenatedModule.js +22 -27
  62. package/lib/optimize/FlagIncludedChunksPlugin.js +4 -6
  63. package/lib/optimize/InnerGraph.js +9 -11
  64. package/lib/optimize/InnerGraphPlugin.js +3 -1
  65. package/lib/optimize/ModuleConcatenationPlugin.js +7 -10
  66. package/lib/optimize/RealContentHashPlugin.js +14 -16
  67. package/lib/optimize/SideEffectsFlagPlugin.js +6 -5
  68. package/lib/optimize/SplitChunksPlugin.js +13 -15
  69. package/lib/runtime/EnsureChunkRuntimeModule.js +9 -8
  70. package/lib/runtime/LoadScriptRuntimeModule.js +2 -3
  71. package/lib/runtime/OnChunksLoadedRuntimeModule.js +38 -37
  72. package/lib/serialization/BinaryMiddleware.js +2 -3
  73. package/lib/serialization/FileMiddleware.js +3 -1
  74. package/lib/serialization/ObjectMiddleware.js +11 -7
  75. package/lib/stats/DefaultStatsFactoryPlugin.js +2 -3
  76. package/lib/stats/DefaultStatsPrinterPlugin.js +11 -9
  77. package/lib/stats/StatsFactory.js +2 -1
  78. package/lib/stats/StatsPrinter.js +3 -3
  79. package/lib/util/LazyBucketSortedSet.js +3 -3
  80. package/lib/util/cleverMerge.js +3 -1
  81. package/lib/util/comparators.js +13 -13
  82. package/lib/util/identifier.js +2 -1
  83. package/lib/validateSchema.js +5 -3
  84. package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +4 -4
  85. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +5 -4
  86. package/lib/wasm-sync/WebAssemblyGenerator.js +89 -83
  87. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +2 -1
  88. package/lib/wasm-sync/WebAssemblyParser.js +6 -5
  89. package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -4
  90. package/lib/webpack.js +11 -7
  91. package/package.json +6 -3
  92. package/schemas/WebpackOptions.check.js +1 -1
  93. package/schemas/WebpackOptions.json +68 -60
  94. package/types.d.ts +89 -257
package/lib/webpack.js CHANGED
@@ -36,7 +36,7 @@ const getValidateSchema = memoize(() => require("./validateSchema"));
36
36
  */
37
37
 
38
38
  /**
39
- * @param {WebpackOptions[]} childOptions options array
39
+ * @param {ReadonlyArray<WebpackOptions>} childOptions options array
40
40
  * @param {MultiCompilerOptions} options options
41
41
  * @returns {MultiCompiler} a multi-compiler
42
42
  */
@@ -92,14 +92,14 @@ const createCompiler = rawOptions => {
92
92
 
93
93
  /**
94
94
  * @callback WebpackFunctionMulti
95
- * @param {WebpackOptions[] & MultiCompilerOptions} options options objects
95
+ * @param {ReadonlyArray<WebpackOptions> & MultiCompilerOptions} options options objects
96
96
  * @param {Callback<MultiStats>=} callback callback
97
97
  * @returns {MultiCompiler} the multi compiler object
98
98
  */
99
99
 
100
100
  const webpack = /** @type {WebpackFunctionSingle & WebpackFunctionMulti} */ (
101
101
  /**
102
- * @param {WebpackOptions | (WebpackOptions[] & MultiCompilerOptions)} options options
102
+ * @param {WebpackOptions | (ReadonlyArray<WebpackOptions> & MultiCompilerOptions)} options options
103
103
  * @param {Callback<Stats> & Callback<MultiStats>=} callback callback
104
104
  * @returns {Compiler | MultiCompiler}
105
105
  */
@@ -115,14 +115,18 @@ const webpack = /** @type {WebpackFunctionSingle & WebpackFunctionMulti} */ (
115
115
  let watchOptions;
116
116
  if (Array.isArray(options)) {
117
117
  /** @type {MultiCompiler} */
118
- compiler = createMultiCompiler(options, options);
118
+ compiler = createMultiCompiler(
119
+ options,
120
+ /** @type {MultiCompilerOptions} */ (options)
121
+ );
119
122
  watch = options.some(options => options.watch);
120
123
  watchOptions = options.map(options => options.watchOptions || {});
121
124
  } else {
125
+ const webpackOptions = /** @type {WebpackOptions} */ (options);
122
126
  /** @type {Compiler} */
123
- compiler = createCompiler(options);
124
- watch = options.watch;
125
- watchOptions = options.watchOptions || {};
127
+ compiler = createCompiler(webpackOptions);
128
+ watch = webpackOptions.watch;
129
+ watchOptions = webpackOptions.watchOptions || {};
126
130
  }
127
131
  return { compiler, watch, watchOptions };
128
132
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webpack",
3
- "version": "5.37.0",
3
+ "version": "5.37.1",
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",
@@ -70,13 +70,14 @@
70
70
  "json5": "^2.1.3",
71
71
  "less": "^4.0.0",
72
72
  "less-loader": "^8.0.0",
73
- "lint-staged": "^10.2.11",
73
+ "lint-staged": "^11.0.0",
74
74
  "loader-utils": "^2.0.0",
75
75
  "lodash": "^4.17.19",
76
76
  "lodash-es": "^4.17.15",
77
77
  "memfs": "^3.2.0",
78
78
  "mini-css-extract-plugin": "^1.0.0",
79
79
  "mini-svg-data-uri": "^1.2.3",
80
+ "nyc": "^15.1.0",
80
81
  "open-cli": "^6.0.1",
81
82
  "prettier": "^2.2.0",
82
83
  "pretty-format": "^26.3.0",
@@ -163,12 +164,14 @@
163
164
  "yarn-lint-fix": "yarn-deduplicate -s highest yarn.lock",
164
165
  "benchmark": "node --max-old-space-size=4096 --trace-deprecation node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.benchmark.js\" --runInBand",
165
166
  "cover": "yarn cover:all && yarn cover:report",
167
+ "cover:clean": "rimraf .nyc_output coverage",
166
168
  "cover:all": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --coverage",
167
169
  "cover:basic": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/te{st/TestCasesNormal,st/StatsTestCases,st/ConfigTestCases}.test.js\" --coverage",
168
170
  "cover:integration": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.test.js\" --coverage",
169
171
  "cover:unit": "node --max-old-space-size=4096 node_modules/jest-cli/bin/jest --testMatch \"<rootDir>/test/*.unittest.js\" --coverage",
170
172
  "cover:types": "node node_modules/tooling/type-coverage",
171
- "cover:report": "istanbul report"
173
+ "cover:merge": "nyc merge .nyc_output coverage/coverage-nyc.json && rimraf .nyc_output",
174
+ "cover:report": "nyc report -t coverage"
172
175
  },
173
176
  "lint-staged": {
174
177
  "*.js|{lib,setup,bin,hot,tooling,schemas}/**/*.js|test/*.js|{test,examples}/**/webpack.config.js}": [