webpack 5.102.1 → 5.104.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.
Files changed (220) hide show
  1. package/README.md +121 -134
  2. package/hot/dev-server.js +18 -3
  3. package/hot/emitter-event-target.js +7 -0
  4. package/hot/lazy-compilation-node.js +45 -29
  5. package/hot/lazy-compilation-universal.js +18 -0
  6. package/hot/lazy-compilation-web.js +15 -5
  7. package/hot/load-http.js +7 -0
  8. package/hot/only-dev-server.js +19 -4
  9. package/lib/APIPlugin.js +6 -0
  10. package/lib/Chunk.js +1 -1
  11. package/lib/ChunkGraph.js +9 -7
  12. package/lib/ChunkGroup.js +8 -5
  13. package/lib/CleanPlugin.js +6 -3
  14. package/lib/CodeGenerationResults.js +2 -1
  15. package/lib/CompatibilityPlugin.js +28 -2
  16. package/lib/Compilation.js +58 -21
  17. package/lib/Compiler.js +3 -3
  18. package/lib/ConcatenationScope.js +0 -15
  19. package/lib/ContextModule.js +6 -3
  20. package/lib/ContextModuleFactory.js +6 -4
  21. package/lib/CssModule.js +6 -1
  22. package/lib/DefinePlugin.js +45 -14
  23. package/lib/DelegatedModule.js +7 -4
  24. package/lib/Dependency.js +8 -1
  25. package/lib/DependencyTemplate.js +1 -0
  26. package/lib/DllModule.js +6 -3
  27. package/lib/DotenvPlugin.js +462 -0
  28. package/lib/EnvironmentPlugin.js +19 -16
  29. package/lib/EvalSourceMapDevToolPlugin.js +16 -0
  30. package/lib/ExportsInfo.js +6 -2
  31. package/lib/ExternalModule.js +28 -35
  32. package/lib/ExternalModuleFactoryPlugin.js +11 -9
  33. package/lib/ExternalsPlugin.js +2 -1
  34. package/lib/FileSystemInfo.js +1 -1
  35. package/lib/Generator.js +10 -7
  36. package/lib/HookWebpackError.js +33 -4
  37. package/lib/HotModuleReplacementPlugin.js +22 -0
  38. package/lib/ManifestPlugin.js +235 -0
  39. package/lib/Module.js +27 -15
  40. package/lib/ModuleBuildError.js +1 -1
  41. package/lib/ModuleError.js +1 -1
  42. package/lib/ModuleFilenameHelpers.js +1 -1
  43. package/lib/ModuleGraph.js +29 -13
  44. package/lib/ModuleGraphConnection.js +2 -2
  45. package/lib/ModuleSourceTypeConstants.js +189 -0
  46. package/lib/ModuleTypeConstants.js +1 -4
  47. package/lib/ModuleWarning.js +1 -1
  48. package/lib/MultiCompiler.js +1 -1
  49. package/lib/NodeStuffPlugin.js +424 -116
  50. package/lib/NormalModule.js +23 -20
  51. package/lib/NormalModuleFactory.js +7 -10
  52. package/lib/Parser.js +1 -1
  53. package/lib/RawModule.js +7 -4
  54. package/lib/RuntimeGlobals.js +22 -4
  55. package/lib/RuntimeModule.js +1 -1
  56. package/lib/RuntimePlugin.js +27 -6
  57. package/lib/RuntimeTemplate.js +120 -57
  58. package/lib/SourceMapDevToolPlugin.js +26 -1
  59. package/lib/Template.js +17 -6
  60. package/lib/TemplatedPathPlugin.js +5 -6
  61. package/lib/WebpackError.js +0 -1
  62. package/lib/WebpackOptionsApply.js +67 -15
  63. package/lib/asset/AssetBytesGenerator.js +16 -12
  64. package/lib/asset/AssetGenerator.js +31 -26
  65. package/lib/asset/AssetSourceGenerator.js +16 -12
  66. package/lib/asset/RawDataUrlModule.js +6 -3
  67. package/lib/buildChunkGraph.js +4 -2
  68. package/lib/cache/PackFileCacheStrategy.js +6 -5
  69. package/lib/cli.js +2 -43
  70. package/lib/config/browserslistTargetHandler.js +24 -0
  71. package/lib/config/defaults.js +226 -61
  72. package/lib/config/normalization.js +4 -3
  73. package/lib/config/target.js +11 -0
  74. package/lib/container/ContainerEntryModule.js +6 -3
  75. package/lib/container/FallbackModule.js +6 -3
  76. package/lib/container/RemoteModule.js +1 -3
  77. package/lib/css/CssGenerator.js +304 -76
  78. package/lib/css/CssLoadingRuntimeModule.js +14 -4
  79. package/lib/css/CssMergeStyleSheetsRuntimeModule.js +56 -0
  80. package/lib/css/CssModulesPlugin.js +72 -67
  81. package/lib/css/CssParser.js +1726 -732
  82. package/lib/css/walkCssTokens.js +128 -11
  83. package/lib/dependencies/CachedConstDependency.js +24 -10
  84. package/lib/dependencies/CommonJsImportsParserPlugin.js +0 -9
  85. package/lib/dependencies/CommonJsPlugin.js +12 -0
  86. package/lib/dependencies/CommonJsRequireContextDependency.js +1 -1
  87. package/lib/dependencies/ContextDependencyHelpers.js +2 -2
  88. package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +3 -1
  89. package/lib/dependencies/CssIcssExportDependency.js +389 -12
  90. package/lib/dependencies/CssIcssImportDependency.js +114 -51
  91. package/lib/dependencies/CssIcssSymbolDependency.js +31 -33
  92. package/lib/dependencies/CssImportDependency.js +17 -6
  93. package/lib/dependencies/CssUrlDependency.js +3 -2
  94. package/lib/dependencies/DynamicExports.js +7 -7
  95. package/lib/dependencies/ExternalModuleDependency.js +7 -4
  96. package/lib/dependencies/ExternalModuleInitFragment.js +3 -2
  97. package/lib/dependencies/ExternalModuleInitFragmentDependency.js +96 -0
  98. package/lib/dependencies/HarmonyAcceptDependency.js +6 -1
  99. package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -1
  100. package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +12 -1
  101. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +35 -23
  102. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +13 -9
  103. package/lib/dependencies/HarmonyExports.js +4 -4
  104. package/lib/dependencies/HarmonyImportDependency.js +28 -27
  105. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +28 -69
  106. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -3
  107. package/lib/dependencies/HarmonyImportSpecifierDependency.js +10 -8
  108. package/lib/dependencies/ImportDependency.js +8 -2
  109. package/lib/dependencies/ImportEagerDependency.js +6 -3
  110. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +1 -1
  111. package/lib/dependencies/ImportMetaPlugin.js +154 -9
  112. package/lib/dependencies/ImportParserPlugin.js +21 -23
  113. package/lib/dependencies/ImportPhase.js +121 -0
  114. package/lib/dependencies/ImportWeakDependency.js +6 -3
  115. package/lib/dependencies/LocalModulesHelpers.js +3 -3
  116. package/lib/dependencies/ModuleDependency.js +5 -1
  117. package/lib/dependencies/ModuleHotAcceptDependency.js +1 -1
  118. package/lib/dependencies/WorkerPlugin.js +2 -2
  119. package/lib/dependencies/getFunctionExpression.js +1 -1
  120. package/lib/esm/ExportWebpackRequireRuntimeModule.js +1 -8
  121. package/lib/esm/ModuleChunkFormatPlugin.js +5 -4
  122. package/lib/hmr/HotModuleReplacement.runtime.js +2 -1
  123. package/lib/hmr/LazyCompilationPlugin.js +5 -3
  124. package/lib/ids/IdHelpers.js +20 -8
  125. package/lib/index.js +6 -0
  126. package/lib/javascript/ChunkHelpers.js +16 -5
  127. package/lib/javascript/JavascriptGenerator.js +105 -104
  128. package/lib/javascript/JavascriptModulesPlugin.js +80 -37
  129. package/lib/javascript/JavascriptParser.js +161 -44
  130. package/lib/json/JsonGenerator.js +5 -4
  131. package/lib/json/JsonParser.js +9 -2
  132. package/lib/library/AbstractLibraryPlugin.js +1 -1
  133. package/lib/library/AmdLibraryPlugin.js +4 -1
  134. package/lib/library/ExportPropertyLibraryPlugin.js +4 -1
  135. package/lib/library/ModuleLibraryPlugin.js +41 -23
  136. package/lib/library/SystemLibraryPlugin.js +8 -1
  137. package/lib/library/UmdLibraryPlugin.js +2 -2
  138. package/lib/logging/Logger.js +5 -4
  139. package/lib/logging/createConsoleLogger.js +2 -2
  140. package/lib/node/NodeTargetPlugin.js +9 -1
  141. package/lib/node/ReadFileCompileWasmPlugin.js +0 -2
  142. package/lib/optimize/ConcatenatedModule.js +208 -167
  143. package/lib/optimize/ModuleConcatenationPlugin.js +5 -4
  144. package/lib/optimize/SideEffectsFlagPlugin.js +3 -2
  145. package/lib/optimize/SplitChunksPlugin.js +60 -46
  146. package/lib/rules/RuleSetCompiler.js +1 -1
  147. package/lib/runtime/AsyncModuleRuntimeModule.js +28 -18
  148. package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
  149. package/lib/runtime/GetChunkFilenameRuntimeModule.js +3 -2
  150. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +89 -55
  151. package/lib/schemes/HttpUriPlugin.js +78 -7
  152. package/lib/serialization/AggregateErrorSerializer.js +1 -2
  153. package/lib/serialization/ObjectMiddleware.js +0 -2
  154. package/lib/serialization/SingleItemMiddleware.js +1 -1
  155. package/lib/sharing/ConsumeSharedModule.js +1 -1
  156. package/lib/sharing/ConsumeSharedPlugin.js +5 -3
  157. package/lib/sharing/ProvideSharedModule.js +1 -1
  158. package/lib/sharing/resolveMatchedConfigs.js +15 -9
  159. package/lib/sharing/utils.js +1 -1
  160. package/lib/stats/DefaultStatsFactoryPlugin.js +8 -5
  161. package/lib/stats/DefaultStatsPresetPlugin.js +1 -1
  162. package/lib/stats/DefaultStatsPrinterPlugin.js +1 -1
  163. package/lib/util/StringXor.js +1 -1
  164. package/lib/util/URLAbsoluteSpecifier.js +2 -2
  165. package/lib/util/binarySearchBounds.js +2 -2
  166. package/lib/util/comparators.js +54 -76
  167. package/lib/util/compileBooleanMatcher.js +78 -6
  168. package/lib/util/createHash.js +20 -199
  169. package/lib/util/deprecation.js +1 -1
  170. package/lib/util/deterministicGrouping.js +6 -3
  171. package/lib/util/fs.js +75 -75
  172. package/lib/util/hash/BatchedHash.js +10 -9
  173. package/lib/util/hash/BulkUpdateHash.js +138 -0
  174. package/lib/util/hash/DebugHash.js +75 -0
  175. package/lib/util/hash/hash-digest.js +216 -0
  176. package/lib/util/identifier.js +82 -17
  177. package/lib/util/internalSerializables.js +2 -6
  178. package/lib/util/runtime.js +3 -3
  179. package/lib/util/source.js +2 -2
  180. package/lib/wasm/EnableWasmLoadingPlugin.js +10 -4
  181. package/lib/wasm-async/AsyncWebAssemblyGenerator.js +3 -2
  182. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +11 -7
  183. package/lib/wasm-sync/WebAssemblyGenerator.js +9 -6
  184. package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +11 -6
  185. package/lib/wasm-sync/WebAssemblyModulesPlugin.js +6 -2
  186. package/lib/web/FetchCompileWasmPlugin.js +0 -2
  187. package/lib/webpack.js +85 -82
  188. package/module.d.ts +5 -0
  189. package/package.json +34 -28
  190. package/schemas/WebpackOptions.check.js +1 -1
  191. package/schemas/WebpackOptions.json +160 -101
  192. package/schemas/plugins/{css/CssAutoParserOptions.check.d.ts → ManifestPlugin.check.d.ts} +1 -1
  193. package/schemas/plugins/ManifestPlugin.check.js +6 -0
  194. package/schemas/plugins/ManifestPlugin.json +98 -0
  195. package/schemas/plugins/SourceMapDevToolPlugin.check.js +1 -1
  196. package/schemas/plugins/SourceMapDevToolPlugin.json +16 -3
  197. package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
  198. package/schemas/plugins/container/ContainerReferencePlugin.json +4 -1
  199. package/schemas/plugins/container/ExternalsType.check.js +1 -1
  200. package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
  201. package/schemas/plugins/container/ModuleFederationPlugin.json +4 -1
  202. package/schemas/plugins/css/CssModuleGeneratorOptions.check.js +1 -1
  203. package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
  204. package/schemas/plugins/css/CssParserOptions.check.js +1 -1
  205. package/schemas/plugins/json/JsonModulesPluginParser.check.js +1 -1
  206. package/types.d.ts +771 -436
  207. package/lib/ModuleSourceTypesConstants.js +0 -123
  208. package/lib/dependencies/CssLocalIdentifierDependency.js +0 -250
  209. package/lib/dependencies/CssSelfLocalIdentifierDependency.js +0 -112
  210. package/schemas/plugins/css/CssAutoGeneratorOptions.check.d.ts +0 -7
  211. package/schemas/plugins/css/CssAutoGeneratorOptions.check.js +0 -6
  212. package/schemas/plugins/css/CssAutoGeneratorOptions.json +0 -3
  213. package/schemas/plugins/css/CssAutoParserOptions.check.js +0 -6
  214. package/schemas/plugins/css/CssAutoParserOptions.json +0 -3
  215. package/schemas/plugins/css/CssGlobalGeneratorOptions.check.d.ts +0 -7
  216. package/schemas/plugins/css/CssGlobalGeneratorOptions.check.js +0 -6
  217. package/schemas/plugins/css/CssGlobalGeneratorOptions.json +0 -3
  218. package/schemas/plugins/css/CssGlobalParserOptions.check.d.ts +0 -7
  219. package/schemas/plugins/css/CssGlobalParserOptions.check.js +0 -6
  220. package/schemas/plugins/css/CssGlobalParserOptions.json +0 -3
@@ -7,6 +7,11 @@
7
7
 
8
8
  const fs = require("fs");
9
9
  const path = require("path");
10
+ const {
11
+ CSS_TYPE,
12
+ JAVASCRIPT_TYPE,
13
+ UNKNOWN_TYPE
14
+ } = require("../ModuleSourceTypeConstants");
10
15
  const {
11
16
  ASSET_MODULE_TYPE,
12
17
  ASSET_MODULE_TYPE_BYTES,
@@ -52,6 +57,9 @@ const {
52
57
  /** @typedef {import("../../declarations/WebpackOptions").LibraryType} LibraryType */
53
58
  /** @typedef {import("../../declarations/WebpackOptions").Loader} Loader */
54
59
  /** @typedef {import("../../declarations/WebpackOptions").Mode} Mode */
60
+ /** @typedef {import("../../declarations/WebpackOptions").HashSalt} HashSalt */
61
+ /** @typedef {import("../../declarations/WebpackOptions").HashSalt} HashDigest */
62
+ /** @typedef {import("../../declarations/WebpackOptions").HashDigestLength} HashDigestLength */
55
63
  /** @typedef {import("../../declarations/WebpackOptions").ModuleOptionsNormalized} ModuleOptions */
56
64
  /** @typedef {import("../../declarations/WebpackOptions").Node} WebpackNode */
57
65
  /** @typedef {import("../../declarations/WebpackOptions").OptimizationNormalized} Optimization */
@@ -202,6 +210,7 @@ const {
202
210
  * & { performance: NonNullable<WebpackOptionsNormalized["performance"]> }
203
211
  * & { recordsInputPath: NonNullable<WebpackOptionsNormalized["recordsInputPath"]> }
204
212
  * & { recordsOutputPath: NonNullable<WebpackOptionsNormalized["recordsOutputPath"]>
213
+ * & { dotenv: NonNullable<WebpackOptionsNormalized["dotenv"]> }
205
214
  * }} WebpackOptionsNormalizedWithDefaults
206
215
  */
207
216
 
@@ -389,6 +398,15 @@ const applyWebpackOptionsDefaults = (options, compilerIndex) => {
389
398
 
390
399
  applyModuleDefaults(options.module, {
391
400
  cache,
401
+ hashSalt: /** @type {NonNullable<Output["hashSalt"]>} */ (
402
+ options.output.hashSalt
403
+ ),
404
+ hashDigest: /** @type {NonNullable<Output["hashDigest"]>} */ (
405
+ options.output.hashDigest
406
+ ),
407
+ hashDigestLength: /** @type {NonNullable<Output["hashDigestLength"]>} */ (
408
+ options.output.hashDigestLength
409
+ ),
392
410
  syncWebAssembly:
393
411
  /** @type {NonNullable<ExperimentsNormalized["syncWebAssembly"]>} */
394
412
  (options.experiments.syncWebAssembly),
@@ -410,7 +428,10 @@ const applyWebpackOptionsDefaults = (options, compilerIndex) => {
410
428
 
411
429
  applyExternalsPresetsDefaults(options.externalsPresets, {
412
430
  targetProperties,
413
- buildHttp: Boolean(options.experiments.buildHttp)
431
+ buildHttp: Boolean(options.experiments.buildHttp),
432
+ outputModule:
433
+ /** @type {NonNullable<WebpackOptionsNormalized["output"]["module"]>} */
434
+ (options.output.module)
414
435
  });
415
436
 
416
437
  applyLoaderDefaults(
@@ -513,6 +534,7 @@ const applyExperimentsDefaults = (
513
534
  ) => {
514
535
  D(experiments, "futureDefaults", false);
515
536
  D(experiments, "backCompat", !experiments.futureDefaults);
537
+ // TODO do we need sync web assembly in webpack@6?
516
538
  D(experiments, "syncWebAssembly", false);
517
539
  D(experiments, "asyncWebAssembly", experiments.futureDefaults);
518
540
  D(experiments, "outputModule", false);
@@ -761,11 +783,17 @@ const applyCssGeneratorOptionsDefaults = (
761
783
  * @param {boolean} options.deferImport is defer import enabled
762
784
  * @param {TargetProperties | false} options.targetProperties target properties
763
785
  * @param {Mode | undefined} options.mode mode
786
+ * @param {HashSalt} options.hashSalt hash salt
787
+ * @param {HashDigest} options.hashDigest hash digest
788
+ * @param {HashDigestLength} options.hashDigestLength hash digest length
764
789
  * @returns {void}
765
790
  */
766
791
  const applyModuleDefaults = (
767
792
  module,
768
793
  {
794
+ hashSalt,
795
+ hashDigest,
796
+ hashDigestLength,
769
797
  cache,
770
798
  syncWebAssembly,
771
799
  asyncWebAssembly,
@@ -866,6 +894,51 @@ const applyModuleDefaults = (
866
894
  true
867
895
  );
868
896
 
897
+ for (const type of [
898
+ CSS_MODULE_TYPE_AUTO,
899
+ CSS_MODULE_TYPE_MODULE,
900
+ CSS_MODULE_TYPE_GLOBAL
901
+ ]) {
902
+ F(module.parser, type, () => ({}));
903
+
904
+ D(
905
+ /** @type {NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
906
+ (module.parser[type]),
907
+ "animation",
908
+ true
909
+ );
910
+ D(
911
+ /** @type {NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
912
+ (module.parser[type]),
913
+ "container",
914
+ true
915
+ );
916
+ D(
917
+ /** @type {NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
918
+ (module.parser[type]),
919
+ "customIdents",
920
+ true
921
+ );
922
+ D(
923
+ /** @type {NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
924
+ (module.parser[type]),
925
+ "dashedIdents",
926
+ true
927
+ );
928
+ D(
929
+ /** @type {NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
930
+ (module.parser[type]),
931
+ "function",
932
+ true
933
+ );
934
+ D(
935
+ /** @type {NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<ParserOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
936
+ (module.parser[type]),
937
+ "grid",
938
+ true
939
+ );
940
+ }
941
+
869
942
  F(module.generator, CSS_MODULE_TYPE, () => ({}));
870
943
 
871
944
  applyCssGeneratorOptionsDefaults(
@@ -875,49 +948,58 @@ const applyModuleDefaults = (
875
948
  );
876
949
 
877
950
  const localIdentName =
878
- uniqueName.length > 0 ? "[uniqueName]-[id]-[local]" : "[id]-[local]";
951
+ mode === "development"
952
+ ? uniqueName.length > 0
953
+ ? "[uniqueName]-[id]-[local]"
954
+ : "[id]-[local]"
955
+ : "[fullhash]";
956
+ const localIdentHashSalt = hashSalt;
957
+ const localIdentHashDigest = "base64url";
958
+ const localIdentHashDigestLength = 6;
959
+ const exportsConvention = "as-is";
960
+
961
+ for (const type of [
962
+ CSS_MODULE_TYPE_AUTO,
963
+ CSS_MODULE_TYPE_MODULE,
964
+ CSS_MODULE_TYPE_GLOBAL
965
+ ]) {
966
+ F(module.generator, type, () => ({}));
879
967
 
880
- F(module.generator, CSS_MODULE_TYPE_AUTO, () => ({}));
881
- D(
882
- /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]>} */
883
- (module.generator[CSS_MODULE_TYPE_AUTO]),
884
- "localIdentName",
885
- localIdentName
886
- );
887
- D(
888
- /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]>} */
889
- (module.generator[CSS_MODULE_TYPE_AUTO]),
890
- "exportsConvention",
891
- "as-is"
892
- );
968
+ D(
969
+ /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
970
+ (module.generator[type]),
971
+ "localIdentName",
972
+ localIdentName
973
+ );
893
974
 
894
- F(module.generator, CSS_MODULE_TYPE_MODULE, () => ({}));
895
- D(
896
- /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]>} */
897
- (module.generator[CSS_MODULE_TYPE_MODULE]),
898
- "localIdentName",
899
- localIdentName
900
- );
901
- D(
902
- /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]>} */
903
- (module.generator[CSS_MODULE_TYPE_MODULE]),
904
- "exportsConvention",
905
- "as-is"
906
- );
975
+ D(
976
+ /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
977
+ (module.generator[type]),
978
+ "localIdentHashSalt",
979
+ localIdentHashSalt
980
+ );
907
981
 
908
- F(module.generator, CSS_MODULE_TYPE_GLOBAL, () => ({}));
909
- D(
910
- /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
911
- (module.generator[CSS_MODULE_TYPE_GLOBAL]),
912
- "localIdentName",
913
- localIdentName
914
- );
915
- D(
916
- /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
917
- (module.generator[CSS_MODULE_TYPE_GLOBAL]),
918
- "exportsConvention",
919
- "as-is"
920
- );
982
+ D(
983
+ /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]>} */
984
+ (module.generator[type]),
985
+ "localIdentHashDigest",
986
+ localIdentHashDigest
987
+ );
988
+
989
+ D(
990
+ /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]>} */
991
+ (module.generator[type]),
992
+ "localIdentHashDigestLength",
993
+ localIdentHashDigestLength
994
+ );
995
+
996
+ D(
997
+ /** @type {NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_AUTO]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_MODULE]> | NonNullable<GeneratorOptionsByModuleTypeKnown[CSS_MODULE_TYPE_GLOBAL]>} */
998
+ (module.generator[type]),
999
+ "exportsConvention",
1000
+ exportsConvention
1001
+ );
1002
+ }
921
1003
  }
922
1004
 
923
1005
  A(module, "defaultRules", () => {
@@ -1042,6 +1124,35 @@ const applyModuleDefaults = (
1042
1124
  type: CSS_MODULE_TYPE,
1043
1125
  resolve
1044
1126
  });
1127
+ // For CSS modules, i.e. `.class { composes: className from "./style.css" }`
1128
+ // We inherit for such constructions
1129
+ rules.push({
1130
+ dependency: /css-import-local-module/,
1131
+ type: CSS_MODULE_TYPE_MODULE,
1132
+ resolve
1133
+ });
1134
+ rules.push({
1135
+ dependency: /css-import-global-module/,
1136
+ type: CSS_MODULE_TYPE_GLOBAL,
1137
+ resolve
1138
+ });
1139
+
1140
+ rules.push(
1141
+ {
1142
+ with: { type: "css" },
1143
+ parser: {
1144
+ exportType: "css-style-sheet"
1145
+ },
1146
+ resolve
1147
+ },
1148
+ {
1149
+ assert: { type: "css" },
1150
+ parser: {
1151
+ exportType: "css-style-sheet"
1152
+ },
1153
+ resolve
1154
+ }
1155
+ );
1045
1156
  }
1046
1157
  rules.push(
1047
1158
  {
@@ -1058,11 +1169,13 @@ const applyModuleDefaults = (
1058
1169
  },
1059
1170
  {
1060
1171
  with: { type: JSON_MODULE_TYPE },
1061
- type: JSON_MODULE_TYPE
1172
+ type: JSON_MODULE_TYPE,
1173
+ parser: { namedExports: false }
1062
1174
  },
1063
1175
  {
1064
1176
  assert: { type: JSON_MODULE_TYPE },
1065
- type: JSON_MODULE_TYPE
1177
+ type: JSON_MODULE_TYPE,
1178
+ parser: { namedExports: false }
1066
1179
  },
1067
1180
  {
1068
1181
  with: { type: "text" },
@@ -1182,6 +1295,12 @@ const applyOutputDefaults = (
1182
1295
  "const",
1183
1296
  () => tp && optimistic(/** @type {boolean | undefined} */ (tp.const))
1184
1297
  );
1298
+ F(
1299
+ environment,
1300
+ "methodShorthand",
1301
+ () =>
1302
+ tp && optimistic(/** @type {boolean | undefined} */ (tp.methodShorthand))
1303
+ );
1185
1304
  F(
1186
1305
  environment,
1187
1306
  "arrowFunction",
@@ -1220,6 +1339,13 @@ const applyOutputDefaults = (
1220
1339
  /** @type {boolean | undefined} */ (tp.nodePrefixForCoreModules)
1221
1340
  )
1222
1341
  );
1342
+ F(
1343
+ environment,
1344
+ "importMetaDirnameAndFilename",
1345
+ () =>
1346
+ // No optimistic, because it is new
1347
+ tp && /** @type {boolean | undefined} */ (tp.importMetaDirnameAndFilename)
1348
+ );
1223
1349
  F(
1224
1350
  environment,
1225
1351
  "templateLiteral",
@@ -1288,7 +1414,7 @@ const applyOutputDefaults = (
1288
1414
  }
1289
1415
  return "[id].css";
1290
1416
  });
1291
- D(output, "assetModuleFilename", "[hash][ext][query]");
1417
+ D(output, "assetModuleFilename", "[hash][ext][query][fragment]");
1292
1418
  D(output, "webassemblyModuleFilename", "[hash].module.wasm");
1293
1419
  D(output, "compareBeforeEmit", true);
1294
1420
  D(output, "charset", !futureDefaults);
@@ -1301,6 +1427,8 @@ const applyOutputDefaults = (
1301
1427
  if (tp) {
1302
1428
  if (tp.global) return "global";
1303
1429
  if (tp.globalThis) return "globalThis";
1430
+ // For universal target (i.e. code can be run in browser/node/worker etc.)
1431
+ if (tp.web === null && tp.node === null && tp.module) return "globalThis";
1304
1432
  }
1305
1433
  return "self";
1306
1434
  });
@@ -1403,7 +1531,6 @@ const applyOutputDefaults = (
1403
1531
  if (tp.nodeBuiltins) return "async-node";
1404
1532
  if (
1405
1533
  (tp.nodeBuiltins === null || tp.fetchWasm === null) &&
1406
- asyncWebAssembly &&
1407
1534
  output.module &&
1408
1535
  environment.dynamicImport
1409
1536
  ) {
@@ -1472,7 +1599,7 @@ const applyOutputDefaults = (
1472
1599
  */
1473
1600
  const forEachEntry = (fn) => {
1474
1601
  for (const name of Object.keys(entry)) {
1475
- fn(/** @type {{[k: string] : EntryDescription}} */ (entry)[name]);
1602
+ fn(/** @type {{ [k: string]: EntryDescription }} */ (entry)[name]);
1476
1603
  }
1477
1604
  };
1478
1605
  A(output, "enabledLibraryTypes", () => {
@@ -1527,35 +1654,47 @@ const applyOutputDefaults = (
1527
1654
  * @param {object} options options
1528
1655
  * @param {TargetProperties | false} options.targetProperties target properties
1529
1656
  * @param {boolean} options.buildHttp buildHttp experiment enabled
1657
+ * @param {boolean} options.outputModule is output type is module
1530
1658
  * @returns {void}
1531
1659
  */
1532
1660
  const applyExternalsPresetsDefaults = (
1533
1661
  externalsPresets,
1534
- { targetProperties, buildHttp }
1662
+ { targetProperties, buildHttp, outputModule }
1535
1663
  ) => {
1664
+ /**
1665
+ * @param {keyof TargetProperties} key a key
1666
+ * @returns {boolean} true when target is universal, otherwise false
1667
+ */
1668
+ const isUniversal = (key) =>
1669
+ Boolean(outputModule && targetProperties && targetProperties[key] === null);
1670
+
1536
1671
  D(
1537
1672
  externalsPresets,
1538
1673
  "web",
1539
1674
  /** @type {boolean | undefined} */
1540
- (!buildHttp && targetProperties && targetProperties.web)
1675
+ (
1676
+ !buildHttp &&
1677
+ targetProperties &&
1678
+ (targetProperties.web || isUniversal("node"))
1679
+ )
1541
1680
  );
1542
1681
  D(
1543
1682
  externalsPresets,
1544
1683
  "node",
1545
1684
  /** @type {boolean | undefined} */
1546
- (targetProperties && targetProperties.node)
1685
+ (targetProperties && (targetProperties.node || isUniversal("node")))
1547
1686
  );
1548
1687
  D(
1549
1688
  externalsPresets,
1550
1689
  "nwjs",
1551
1690
  /** @type {boolean | undefined} */
1552
- (targetProperties && targetProperties.nwjs)
1691
+ (targetProperties && (targetProperties.nwjs || isUniversal("nwjs")))
1553
1692
  );
1554
1693
  D(
1555
1694
  externalsPresets,
1556
1695
  "electron",
1557
1696
  /** @type {boolean | undefined} */
1558
- (targetProperties && targetProperties.electron)
1697
+ ((targetProperties && targetProperties.electron) || isUniversal("electron"))
1559
1698
  );
1560
1699
  D(
1561
1700
  externalsPresets,
@@ -1564,7 +1703,7 @@ const applyExternalsPresetsDefaults = (
1564
1703
  (
1565
1704
  targetProperties &&
1566
1705
  targetProperties.electron &&
1567
- targetProperties.electronMain
1706
+ (targetProperties.electronMain || isUniversal("electronMain"))
1568
1707
  )
1569
1708
  );
1570
1709
  D(
@@ -1574,7 +1713,7 @@ const applyExternalsPresetsDefaults = (
1574
1713
  (
1575
1714
  targetProperties &&
1576
1715
  targetProperties.electron &&
1577
- targetProperties.electronPreload
1716
+ (targetProperties.electronPreload || isUniversal("electronPreload"))
1578
1717
  )
1579
1718
  );
1580
1719
  D(
@@ -1584,7 +1723,7 @@ const applyExternalsPresetsDefaults = (
1584
1723
  (
1585
1724
  targetProperties &&
1586
1725
  targetProperties.electron &&
1587
- targetProperties.electronRenderer
1726
+ (targetProperties.electronRenderer || isUniversal("electronRenderer"))
1588
1727
  )
1589
1728
  );
1590
1729
  };
@@ -1629,15 +1768,28 @@ const applyNodeDefaults = (
1629
1768
 
1630
1769
  F(node, "global", () => {
1631
1770
  if (targetProperties && targetProperties.global) return false;
1632
- // TODO webpack 6 should always default to false
1771
+ // We use `warm` because overriding `global` with `globalThis` (or a polyfill) is sometimes safe (global.URL), sometimes unsafe (global.process), but we need to warn about it
1633
1772
  return futureDefaults ? "warn" : true;
1634
1773
  });
1635
1774
 
1636
1775
  const handlerForNames = () => {
1637
- if (targetProperties && targetProperties.node) {
1638
- return outputModule ? "node-module" : "eval-only";
1776
+ // TODO webpack@6 remove `node-module` in favor of `eval-only`
1777
+ if (targetProperties) {
1778
+ if (targetProperties.node) {
1779
+ return "eval-only";
1780
+ }
1781
+
1782
+ // For the "universal" target we only evaluate these values
1783
+ if (
1784
+ outputModule &&
1785
+ targetProperties.node === null &&
1786
+ targetProperties.web === null
1787
+ ) {
1788
+ return "eval-only";
1789
+ }
1639
1790
  }
1640
- // TODO webpack 6 should always default to false
1791
+
1792
+ // TODO webpack@6 should we use `warn-even-only`?
1641
1793
  return futureDefaults ? "warn-mock" : "mock";
1642
1794
  };
1643
1795
 
@@ -1723,7 +1875,9 @@ const applyOptimizationDefaults = (
1723
1875
  const { splitChunks } = optimization;
1724
1876
  if (splitChunks) {
1725
1877
  A(splitChunks, "defaultSizeTypes", () =>
1726
- css ? ["javascript", "css", "unknown"] : ["javascript", "unknown"]
1878
+ css
1879
+ ? [JAVASCRIPT_TYPE, CSS_TYPE, UNKNOWN_TYPE]
1880
+ : [JAVASCRIPT_TYPE, UNKNOWN_TYPE]
1727
1881
  );
1728
1882
  D(splitChunks, "hidePathInfo", production);
1729
1883
  D(splitChunks, "chunks", "async");
@@ -1844,8 +1998,8 @@ const getResolveDefaults = ({
1844
1998
  styleConditions.push(mode === "development" ? "development" : "production");
1845
1999
  styleConditions.push("style");
1846
2000
 
1847
- /** @type {NonNullable<ResolveOptions["byDependency"]>} */
1848
- (resolveOptions.byDependency)["css-import"] = {
2001
+ /** @type {ResolveOptions} */
2002
+ const cssResolveOptions = {
1849
2003
  // We avoid using any main files because we have to be consistent with CSS `@import`
1850
2004
  // and CSS `@import` does not handle `main` files in directories,
1851
2005
  // you should always specify the full URL for styles
@@ -1855,6 +2009,17 @@ const getResolveDefaults = ({
1855
2009
  extensions: [".css"],
1856
2010
  preferRelative: true
1857
2011
  };
2012
+
2013
+ /** @type {NonNullable<ResolveOptions["byDependency"]>} */
2014
+ (resolveOptions.byDependency)["css-import"] = cssResolveOptions;
2015
+ // For CSS modules, i.e. `.class { composes: className from "./style.css" }`
2016
+ // We inherit for such constructions
2017
+ /** @type {NonNullable<ResolveOptions["byDependency"]>} */
2018
+ (resolveOptions.byDependency)["css-import-local-module"] =
2019
+ cssResolveOptions;
2020
+ /** @type {NonNullable<ResolveOptions["byDependency"]>} */
2021
+ (resolveOptions.byDependency)["css-import-global-module"] =
2022
+ cssResolveOptions;
1858
2023
  }
1859
2024
 
1860
2025
  return resolveOptions;
@@ -54,7 +54,7 @@ const nestedConfig = (value, fn) =>
54
54
 
55
55
  /**
56
56
  * @template T
57
- * @param {T|undefined} value value or not
57
+ * @param {T | undefined} value value or not
58
58
  * @returns {T} result value
59
59
  */
60
60
  const cloneObject = (value) => /** @type {T} */ ({ ...value });
@@ -90,7 +90,7 @@ const optionalNestedArray = (value, fn) =>
90
90
  /**
91
91
  * @template T
92
92
  * @template R
93
- * @param {Record<string, T>|undefined} value value or not
93
+ * @param {Record<string, T> | undefined} value value or not
94
94
  * @param {(value: T) => R} fn nested handler
95
95
  * @param {Record<string, (value: T) => R>=} customKeys custom nested handler for some keys
96
96
  * @returns {Record<string, R>} result value
@@ -178,6 +178,7 @@ const getNormalizedWebpackOptions = (config) => ({
178
178
  return { ...devServer };
179
179
  }),
180
180
  devtool: config.devtool,
181
+ dotenv: config.dotenv,
181
182
  entry:
182
183
  config.entry === undefined
183
184
  ? { main: {} }
@@ -241,6 +242,7 @@ const getNormalizedWebpackOptions = (config) => ({
241
242
  unsafeCache: module.unsafeCache,
242
243
  parser: keyedNestedConfig(module.parser, cloneObject, {
243
244
  javascript: (parserOptions) => ({
245
+ // TODO webpack 6 remove from `ModuleOptions`, keep only `*ByModuleType`
244
246
  unknownContextRequest: module.unknownContextRequest,
245
247
  unknownContextRegExp: module.unknownContextRegExp,
246
248
  unknownContextRecursive: module.unknownContextRecursive,
@@ -252,7 +254,6 @@ const getNormalizedWebpackOptions = (config) => ({
252
254
  wrappedContextRegExp: module.wrappedContextRegExp,
253
255
  wrappedContextRecursive: module.wrappedContextRecursive,
254
256
  wrappedContextCritical: module.wrappedContextCritical,
255
- // TODO webpack 6 remove
256
257
  strictExportPresence: module.strictExportPresence,
257
258
  strictThisContextOnImports: module.strictThisContextOnImports,
258
259
  ...parserOptions
@@ -42,6 +42,7 @@ const getDefaultTarget = (context) => {
42
42
  * @property {boolean | null} require has require function available
43
43
  * @property {boolean | null} nodeBuiltins has node.js built-in modules available
44
44
  * @property {boolean | null} nodePrefixForCoreModules node.js allows to use `node:` prefix for core modules
45
+ * @property {boolean | null} importMetaDirnameAndFilename node.js allows to use `import.meta.dirname` and `import.meta.filename`
45
46
  * @property {boolean | null} document has document available (allows script tags)
46
47
  * @property {boolean | null} importScripts has importScripts available
47
48
  * @property {boolean | null} importScriptsInWorker has importScripts available when creating a worker
@@ -54,6 +55,7 @@ const getDefaultTarget = (context) => {
54
55
  * @property {boolean | null} globalThis has globalThis variable available
55
56
  * @property {boolean | null} bigIntLiteral big int literal syntax is available
56
57
  * @property {boolean | null} const const and let variable declarations are available
58
+ * @property {boolean | null} methodShorthand object method shorthand is available
57
59
  * @property {boolean | null} arrowFunction arrow functions are available
58
60
  * @property {boolean | null} forOf for of iteration is available
59
61
  * @property {boolean | null} destructuring destructuring is available
@@ -178,6 +180,9 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
178
180
  nodeBuiltins: true,
179
181
  // v16.0.0, v14.18.0
180
182
  nodePrefixForCoreModules: Number(major) < 15 ? v(14, 18) : v(16),
183
+ // Added in: v21.2.0, v20.11.0, but Node.js will output experimental warning, we don't want it
184
+ // v24.0.0, v22.16.0 - This property is no longer experimental.
185
+ importMetaDirnameAndFilename: v(22, 16),
181
186
  global: true,
182
187
  document: false,
183
188
  fetchWasm: false,
@@ -188,6 +193,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
188
193
  const: v(6),
189
194
  templateLiteral: v(4),
190
195
  optionalChaining: v(14),
196
+ methodShorthand: v(4),
191
197
  arrowFunction: v(6),
192
198
  asyncFunction: v(7, 6),
193
199
  forOf: v(5),
@@ -223,6 +229,8 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
223
229
  // 15.0.0 - Node.js v16.5
224
230
  // 14.0.0 - Mode.js v14.17, but prefixes only since v14.18
225
231
  nodePrefixForCoreModules: v(15),
232
+ // 37.0.0 - Node.js v22.16
233
+ importMetaDirnameAndFilename: v(37),
226
234
 
227
235
  require: true,
228
236
  document: context === "renderer",
@@ -234,6 +242,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
234
242
  const: v(1, 1),
235
243
  templateLiteral: v(1, 1),
236
244
  optionalChaining: v(8),
245
+ methodShorthand: v(1, 1),
237
246
  arrowFunction: v(1, 1),
238
247
  asyncFunction: v(1, 7),
239
248
  forOf: v(0, 36),
@@ -272,6 +281,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
272
281
  const: v(0, 15),
273
282
  templateLiteral: v(0, 13),
274
283
  optionalChaining: v(0, 44),
284
+ methodShorthand: v(0, 15),
275
285
  arrowFunction: v(0, 15),
276
286
  asyncFunction: v(0, 21),
277
287
  forOf: v(0, 13),
@@ -294,6 +304,7 @@ You can also more options via the 'target' option: 'browserslist' / 'browserslis
294
304
  const: v >= 2015,
295
305
  templateLiteral: v >= 2015,
296
306
  optionalChaining: v >= 2020,
307
+ methodShorthand: v >= 2015,
297
308
  arrowFunction: v >= 2015,
298
309
  forOf: v >= 2015,
299
310
  destructuring: v >= 2015,
@@ -8,7 +8,10 @@
8
8
  const { OriginalSource, RawSource } = require("webpack-sources");
9
9
  const AsyncDependenciesBlock = require("../AsyncDependenciesBlock");
10
10
  const Module = require("../Module");
11
- const { JS_TYPES } = require("../ModuleSourceTypesConstants");
11
+ const {
12
+ JAVASCRIPT_TYPE,
13
+ JAVASCRIPT_TYPES
14
+ } = require("../ModuleSourceTypeConstants");
12
15
  const { JAVASCRIPT_MODULE_TYPE_DYNAMIC } = require("../ModuleTypeConstants");
13
16
  const RuntimeGlobals = require("../RuntimeGlobals");
14
17
  const Template = require("../Template");
@@ -57,7 +60,7 @@ class ContainerEntryModule extends Module {
57
60
  * @returns {SourceTypes} types available (do not mutate)
58
61
  */
59
62
  getSourceTypes() {
60
- return JS_TYPES;
63
+ return JAVASCRIPT_TYPES;
61
64
  }
62
65
 
63
66
  /**
@@ -242,7 +245,7 @@ class ContainerEntryModule extends Module {
242
245
  ]);
243
246
 
244
247
  sources.set(
245
- "javascript",
248
+ JAVASCRIPT_TYPE,
246
249
  this.useSourceMap || this.useSimpleSourceMap
247
250
  ? new OriginalSource(source, "webpack/container-entry")
248
251
  : new RawSource(source)
@@ -7,7 +7,10 @@
7
7
 
8
8
  const { RawSource } = require("webpack-sources");
9
9
  const Module = require("../Module");
10
- const { JS_TYPES } = require("../ModuleSourceTypesConstants");
10
+ const {
11
+ JAVASCRIPT_TYPE,
12
+ JAVASCRIPT_TYPES
13
+ } = require("../ModuleSourceTypeConstants");
11
14
  const { WEBPACK_MODULE_TYPE_FALLBACK } = require("../ModuleTypeConstants");
12
15
  const RuntimeGlobals = require("../RuntimeGlobals");
13
16
  const Template = require("../Template");
@@ -122,7 +125,7 @@ class FallbackModule extends Module {
122
125
  * @returns {SourceTypes} types available (do not mutate)
123
126
  */
124
127
  getSourceTypes() {
125
- return JS_TYPES;
128
+ return JAVASCRIPT_TYPES;
126
129
  }
127
130
 
128
131
  /**
@@ -156,7 +159,7 @@ class FallbackModule extends Module {
156
159
  "module.exports = loop();"
157
160
  ]);
158
161
  const sources = new Map();
159
- sources.set("javascript", new RawSource(code));
162
+ sources.set(JAVASCRIPT_TYPE, new RawSource(code));
160
163
  return { sources, runtimeRequirements: RUNTIME_REQUIREMENTS };
161
164
  }
162
165
 
@@ -7,9 +7,7 @@
7
7
 
8
8
  const { RawSource } = require("webpack-sources");
9
9
  const Module = require("../Module");
10
- const {
11
- REMOTE_AND_SHARE_INIT_TYPES
12
- } = require("../ModuleSourceTypesConstants");
10
+ const { REMOTE_AND_SHARE_INIT_TYPES } = require("../ModuleSourceTypeConstants");
13
11
  const { WEBPACK_MODULE_TYPE_REMOTE } = require("../ModuleTypeConstants");
14
12
  const RuntimeGlobals = require("../RuntimeGlobals");
15
13
  const makeSerializable = require("../util/makeSerializable");