webpack 5.100.1 → 5.101.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 (304) hide show
  1. package/README.md +12 -10
  2. package/bin/webpack.js +7 -7
  3. package/lib/APIPlugin.js +12 -14
  4. package/lib/AutomaticPrefetchPlugin.js +2 -2
  5. package/lib/BannerPlugin.js +4 -4
  6. package/lib/Cache.js +1 -1
  7. package/lib/CacheFacade.js +7 -7
  8. package/lib/CaseSensitiveModulesWarning.js +2 -2
  9. package/lib/Chunk.js +3 -3
  10. package/lib/ChunkGraph.js +21 -18
  11. package/lib/ChunkGroup.js +4 -4
  12. package/lib/CleanPlugin.js +19 -53
  13. package/lib/CodeGenerationResults.js +3 -3
  14. package/lib/CompatibilityPlugin.js +6 -6
  15. package/lib/Compilation.js +127 -114
  16. package/lib/Compiler.js +37 -37
  17. package/lib/ConcatenationScope.js +39 -1
  18. package/lib/ConstPlugin.js +11 -11
  19. package/lib/ContextExclusionPlugin.js +3 -3
  20. package/lib/ContextModule.js +12 -11
  21. package/lib/ContextModuleFactory.js +11 -11
  22. package/lib/ContextReplacementPlugin.js +5 -5
  23. package/lib/DefinePlugin.js +24 -22
  24. package/lib/DelegatedModuleFactoryPlugin.js +1 -1
  25. package/lib/DllEntryPlugin.js +1 -1
  26. package/lib/DllReferencePlugin.js +1 -1
  27. package/lib/DynamicEntryPlugin.js +3 -3
  28. package/lib/EntryPlugin.js +1 -1
  29. package/lib/EnvironmentPlugin.js +1 -1
  30. package/lib/ErrorHelpers.js +2 -2
  31. package/lib/EvalDevToolModulePlugin.js +2 -2
  32. package/lib/EvalSourceMapDevToolPlugin.js +5 -5
  33. package/lib/ExportsInfo.js +9 -9
  34. package/lib/ExportsInfoApiPlugin.js +2 -2
  35. package/lib/ExternalModule.js +163 -48
  36. package/lib/ExternalModuleFactoryPlugin.js +2 -2
  37. package/lib/ExternalsPlugin.js +45 -0
  38. package/lib/FileSystemInfo.js +64 -61
  39. package/lib/FlagAllModulesAsUsedPlugin.js +2 -2
  40. package/lib/FlagDependencyExportsPlugin.js +7 -7
  41. package/lib/FlagDependencyUsagePlugin.js +4 -4
  42. package/lib/FlagEntryExportAsUsedPlugin.js +1 -1
  43. package/lib/HotModuleReplacementPlugin.js +27 -27
  44. package/lib/IgnorePlugin.js +3 -3
  45. package/lib/IgnoreWarningsPlugin.js +4 -4
  46. package/lib/InitFragment.js +6 -0
  47. package/lib/InvalidDependenciesModuleWarning.js +1 -1
  48. package/lib/JavascriptMetaInfoPlugin.js +1 -1
  49. package/lib/LibManifestPlugin.js +2 -2
  50. package/lib/LoaderOptionsPlugin.js +1 -1
  51. package/lib/LoaderTargetPlugin.js +2 -2
  52. package/lib/MainTemplate.js +1 -1
  53. package/lib/Module.js +1 -1
  54. package/lib/ModuleFilenameHelpers.js +3 -3
  55. package/lib/ModuleGraph.js +86 -5
  56. package/lib/ModuleInfoHeaderPlugin.js +3 -3
  57. package/lib/ModuleParseError.js +5 -3
  58. package/lib/MultiCompiler.js +29 -24
  59. package/lib/MultiStats.js +18 -13
  60. package/lib/MultiWatching.js +1 -1
  61. package/lib/NoEmitOnErrorsPlugin.js +2 -2
  62. package/lib/NodeStuffPlugin.js +27 -15
  63. package/lib/NormalModule.js +28 -24
  64. package/lib/NormalModuleFactory.js +23 -21
  65. package/lib/NormalModuleReplacementPlugin.js +3 -3
  66. package/lib/PrefetchPlugin.js +1 -1
  67. package/lib/ProgressPlugin.js +11 -11
  68. package/lib/ProvidePlugin.js +2 -2
  69. package/lib/RecordIdsPlugin.js +3 -3
  70. package/lib/ResolverFactory.js +3 -3
  71. package/lib/RuntimeGlobals.js +20 -0
  72. package/lib/RuntimePlugin.js +16 -16
  73. package/lib/RuntimeTemplate.js +42 -44
  74. package/lib/SizeFormatHelpers.js +1 -1
  75. package/lib/SourceMapDevToolModuleOptionsPlugin.js +4 -4
  76. package/lib/SourceMapDevToolPlugin.js +9 -9
  77. package/lib/Stats.js +2 -2
  78. package/lib/Template.js +1 -1
  79. package/lib/TemplatedPathPlugin.js +2 -2
  80. package/lib/UseStrictPlugin.js +1 -1
  81. package/lib/WarnCaseSensitiveModulesPlugin.js +1 -1
  82. package/lib/WarnDeprecatedOptionPlugin.js +1 -1
  83. package/lib/WarnNoModeSetPlugin.js +1 -1
  84. package/lib/WatchIgnorePlugin.js +2 -2
  85. package/lib/Watching.js +12 -12
  86. package/lib/WebpackIsIncludedPlugin.js +2 -2
  87. package/lib/WebpackOptionsApply.js +10 -3
  88. package/lib/asset/AssetGenerator.js +3 -3
  89. package/lib/asset/AssetModulesPlugin.js +6 -6
  90. package/lib/async-modules/AsyncModuleHelpers.js +50 -0
  91. package/lib/async-modules/AwaitDependenciesInitFragment.js +36 -24
  92. package/lib/async-modules/InferAsyncModulesPlugin.js +3 -3
  93. package/lib/buildChunkGraph.js +5 -5
  94. package/lib/cache/AddBuildDependenciesPlugin.js +1 -1
  95. package/lib/cache/IdleFileCachePlugin.js +5 -5
  96. package/lib/cache/PackFileCacheStrategy.js +20 -20
  97. package/lib/cache/ResolverCachePlugin.js +4 -4
  98. package/lib/cli.js +196 -14
  99. package/lib/config/browserslistTargetHandler.js +6 -6
  100. package/lib/config/defaults.js +23 -14
  101. package/lib/config/normalization.js +41 -38
  102. package/lib/config/target.js +4 -4
  103. package/lib/container/ContainerEntryModule.js +3 -3
  104. package/lib/container/ContainerPlugin.js +3 -3
  105. package/lib/container/ContainerReferencePlugin.js +3 -3
  106. package/lib/container/FallbackModule.js +1 -1
  107. package/lib/container/HoistContainerReferencesPlugin.js +7 -7
  108. package/lib/container/options.js +4 -4
  109. package/lib/css/CssGenerator.js +5 -3
  110. package/lib/css/CssLoadingRuntimeModule.js +1 -1
  111. package/lib/css/CssModulesPlugin.js +25 -22
  112. package/lib/css/CssParser.js +5 -5
  113. package/lib/css/walkCssTokens.js +9 -9
  114. package/lib/debug/ProfilingPlugin.js +5 -5
  115. package/lib/dependencies/AMDDefineDependencyParserPlugin.js +4 -4
  116. package/lib/dependencies/AMDPlugin.js +3 -3
  117. package/lib/dependencies/AMDRequireArrayDependency.js +1 -1
  118. package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +3 -3
  119. package/lib/dependencies/CommonJsExportRequireDependency.js +2 -2
  120. package/lib/dependencies/CommonJsExportsParserPlugin.js +12 -10
  121. package/lib/dependencies/CommonJsImportsParserPlugin.js +21 -19
  122. package/lib/dependencies/CommonJsPlugin.js +2 -2
  123. package/lib/dependencies/ContextDependency.js +1 -1
  124. package/lib/dependencies/ContextDependencyHelpers.js +3 -3
  125. package/lib/dependencies/CssIcssExportDependency.js +2 -2
  126. package/lib/dependencies/CssLocalIdentifierDependency.js +2 -2
  127. package/lib/dependencies/CssUrlDependency.js +4 -4
  128. package/lib/dependencies/DynamicExports.js +5 -5
  129. package/lib/dependencies/HarmonyAcceptDependency.js +39 -5
  130. package/lib/dependencies/HarmonyDetectionParserPlugin.js +2 -2
  131. package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +17 -23
  132. package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +7 -8
  133. package/lib/dependencies/HarmonyExportInitFragment.js +1 -1
  134. package/lib/dependencies/HarmonyExports.js +1 -1
  135. package/lib/dependencies/HarmonyImportDependency.js +28 -9
  136. package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +59 -75
  137. package/lib/dependencies/HarmonyImportSideEffectDependency.js +4 -5
  138. package/lib/dependencies/HarmonyImportSpecifierDependency.js +3 -4
  139. package/lib/dependencies/HarmonyModulesPlugin.js +2 -8
  140. package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +1 -1
  141. package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +4 -4
  142. package/lib/dependencies/ImportMetaPlugin.js +7 -7
  143. package/lib/dependencies/ImportParserPlugin.js +4 -4
  144. package/lib/dependencies/JsonExportsDependency.js +1 -1
  145. package/lib/dependencies/LoaderPlugin.js +4 -4
  146. package/lib/dependencies/ProvidedDependency.js +2 -2
  147. package/lib/dependencies/PureExpressionDependency.js +1 -1
  148. package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
  149. package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +1 -1
  150. package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +3 -3
  151. package/lib/dependencies/SystemPlugin.js +3 -3
  152. package/lib/dependencies/WorkerPlugin.js +5 -5
  153. package/lib/dependencies/getFunctionExpression.js +1 -1
  154. package/lib/esm/ModuleChunkFormatPlugin.js +5 -5
  155. package/lib/esm/ModuleChunkLoadingPlugin.js +2 -2
  156. package/lib/esm/ModuleChunkLoadingRuntimeModule.js +15 -11
  157. package/lib/formatLocation.js +2 -2
  158. package/lib/hmr/HotModuleReplacement.runtime.js +39 -27
  159. package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +43 -32
  160. package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -1
  161. package/lib/hmr/LazyCompilationPlugin.js +6 -6
  162. package/lib/hmr/lazyCompilationBackend.js +6 -6
  163. package/lib/ids/ChunkModuleIdRangePlugin.js +4 -4
  164. package/lib/ids/DeterministicChunkIdsPlugin.js +5 -4
  165. package/lib/ids/DeterministicModuleIdsPlugin.js +2 -2
  166. package/lib/ids/HashedModuleIdsPlugin.js +1 -1
  167. package/lib/ids/IdHelpers.js +9 -9
  168. package/lib/ids/NamedChunkIdsPlugin.js +5 -5
  169. package/lib/ids/NamedModuleIdsPlugin.js +2 -2
  170. package/lib/ids/NaturalChunkIdsPlugin.js +2 -2
  171. package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
  172. package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -2
  173. package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -4
  174. package/lib/ids/SyncModuleIdsPlugin.js +4 -4
  175. package/lib/index.js +10 -6
  176. package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +1 -1
  177. package/lib/javascript/BasicEvaluatedExpression.js +3 -3
  178. package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
  179. package/lib/javascript/EnableChunkLoadingPlugin.js +1 -1
  180. package/lib/javascript/JavascriptGenerator.js +1 -1
  181. package/lib/javascript/JavascriptModulesPlugin.js +16 -16
  182. package/lib/javascript/JavascriptParser.js +90 -83
  183. package/lib/javascript/JavascriptParserHelpers.js +3 -3
  184. package/lib/javascript/StartupHelpers.js +2 -2
  185. package/lib/json/JsonGenerator.js +2 -2
  186. package/lib/json/JsonModulesPlugin.js +2 -2
  187. package/lib/library/AbstractLibraryPlugin.js +3 -3
  188. package/lib/library/AmdLibraryPlugin.js +3 -3
  189. package/lib/library/AssignLibraryPlugin.js +2 -2
  190. package/lib/library/EnableLibraryPlugin.js +2 -2
  191. package/lib/library/ModuleLibraryPlugin.js +7 -2
  192. package/lib/library/SystemLibraryPlugin.js +6 -4
  193. package/lib/library/UmdLibraryPlugin.js +14 -14
  194. package/lib/logging/createConsoleLogger.js +4 -4
  195. package/lib/logging/runtime.js +3 -3
  196. package/lib/logging/truncateArgs.js +4 -4
  197. package/lib/node/CommonJsChunkLoadingPlugin.js +2 -2
  198. package/lib/node/NodeEnvironmentPlugin.js +1 -1
  199. package/lib/node/ReadFileChunkLoadingRuntimeModule.js +16 -14
  200. package/lib/node/ReadFileCompileAsyncWasmPlugin.js +7 -7
  201. package/lib/node/ReadFileCompileWasmPlugin.js +7 -7
  202. package/lib/node/RequireChunkLoadingRuntimeModule.js +6 -4
  203. package/lib/node/nodeConsole.js +2 -2
  204. package/lib/optimize/AggressiveMergingPlugin.js +2 -2
  205. package/lib/optimize/AggressiveSplittingPlugin.js +10 -10
  206. package/lib/optimize/ConcatenatedModule.js +161 -52
  207. package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -2
  208. package/lib/optimize/FlagIncludedChunksPlugin.js +2 -2
  209. package/lib/optimize/InnerGraph.js +5 -5
  210. package/lib/optimize/InnerGraphPlugin.js +14 -12
  211. package/lib/optimize/LimitChunkCountPlugin.js +5 -5
  212. package/lib/optimize/MangleExportsPlugin.js +5 -5
  213. package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -2
  214. package/lib/optimize/MinChunkSizePlugin.js +3 -3
  215. package/lib/optimize/ModuleConcatenationPlugin.js +45 -38
  216. package/lib/optimize/RealContentHashPlugin.js +23 -23
  217. package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -2
  218. package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
  219. package/lib/optimize/RuntimeChunkPlugin.js +2 -2
  220. package/lib/optimize/SideEffectsFlagPlugin.js +22 -6
  221. package/lib/optimize/SplitChunksPlugin.js +20 -20
  222. package/lib/performance/AssetsOverSizeLimitWarning.js +1 -1
  223. package/lib/performance/EntrypointsOverSizeLimitWarning.js +2 -2
  224. package/lib/performance/SizeLimitsPlugin.js +4 -4
  225. package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +1 -1
  226. package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +3 -3
  227. package/lib/rules/BasicMatcherRulePlugin.js +1 -1
  228. package/lib/rules/RuleSetCompiler.js +10 -10
  229. package/lib/rules/UseEffectRulePlugin.js +2 -2
  230. package/lib/runtime/GetChunkFilenameRuntimeModule.js +15 -15
  231. package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -1
  232. package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +1 -1
  233. package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +1 -1
  234. package/lib/runtime/StartupChunkDependenciesPlugin.js +2 -2
  235. package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +3 -3
  236. package/lib/schemes/DataUriPlugin.js +3 -3
  237. package/lib/schemes/FileUriPlugin.js +1 -1
  238. package/lib/schemes/HttpUriPlugin.js +40 -36
  239. package/lib/schemes/VirtualUrlPlugin.js +1 -1
  240. package/lib/serialization/BinaryMiddleware.js +11 -11
  241. package/lib/serialization/FileMiddleware.js +17 -17
  242. package/lib/serialization/ObjectMiddleware.js +8 -8
  243. package/lib/serialization/Serializer.js +2 -2
  244. package/lib/serialization/SerializerMiddleware.js +2 -2
  245. package/lib/sharing/ConsumeSharedPlugin.js +4 -4
  246. package/lib/sharing/ProvideSharedPlugin.js +4 -4
  247. package/lib/sharing/SharePlugin.js +1 -1
  248. package/lib/sharing/resolveMatchedConfigs.js +1 -1
  249. package/lib/stats/DefaultStatsFactoryPlugin.js +86 -80
  250. package/lib/stats/DefaultStatsPresetPlugin.js +15 -15
  251. package/lib/stats/DefaultStatsPrinterPlugin.js +87 -87
  252. package/lib/stats/StatsFactory.js +7 -7
  253. package/lib/stats/StatsPrinter.js +9 -9
  254. package/lib/url/URLParserPlugin.js +5 -5
  255. package/lib/util/AsyncQueue.js +4 -4
  256. package/lib/util/IterableHelpers.js +2 -2
  257. package/lib/util/LazyBucketSortedSet.js +3 -3
  258. package/lib/util/SetHelpers.js +2 -2
  259. package/lib/util/StackedCacheMap.js +1 -1
  260. package/lib/util/StackedMap.js +1 -1
  261. package/lib/util/TupleSet.js +1 -1
  262. package/lib/util/WeakTupleMap.js +1 -1
  263. package/lib/util/cleverMerge.js +8 -8
  264. package/lib/util/comparators.js +107 -8
  265. package/lib/util/compileBooleanMatcher.js +20 -20
  266. package/lib/util/concatenate.js +3 -3
  267. package/lib/util/conventions.js +4 -4
  268. package/lib/util/create-schema-validation.js +1 -1
  269. package/lib/util/createHash.js +1 -1
  270. package/lib/util/deprecation.js +4 -4
  271. package/lib/util/deterministicGrouping.js +7 -7
  272. package/lib/util/findGraphRoots.js +1 -1
  273. package/lib/util/fs.js +3 -3
  274. package/lib/util/identifier.js +14 -14
  275. package/lib/util/magicComment.js +5 -1
  276. package/lib/util/memoize.js +1 -1
  277. package/lib/util/processAsyncTree.js +2 -2
  278. package/lib/util/propertyName.js +1 -1
  279. package/lib/util/removeBOM.js +1 -1
  280. package/lib/util/runtime.js +6 -6
  281. package/lib/util/semver.js +16 -16
  282. package/lib/util/serialization.js +5 -5
  283. package/lib/util/smartGrouping.js +1 -1
  284. package/lib/validateSchema.js +2 -2
  285. package/lib/wasm/EnableWasmLoadingPlugin.js +1 -1
  286. package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +1 -1
  287. package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +1 -1
  288. package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +4 -4
  289. package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +13 -9
  290. package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +2 -2
  291. package/lib/wasm-sync/WebAssemblyGenerator.js +14 -14
  292. package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +4 -2
  293. package/lib/wasm-sync/WebAssemblyParser.js +2 -2
  294. package/lib/web/FetchCompileAsyncWasmPlugin.js +4 -4
  295. package/lib/web/FetchCompileWasmPlugin.js +4 -4
  296. package/lib/web/JsonpChunkLoadingPlugin.js +2 -2
  297. package/lib/web/JsonpChunkLoadingRuntimeModule.js +1 -1
  298. package/lib/webpack.js +17 -12
  299. package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +2 -2
  300. package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
  301. package/package.json +13 -13
  302. package/schemas/WebpackOptions.check.js +1 -1
  303. package/schemas/WebpackOptions.json +4 -0
  304. package/types.d.ts +186 -54
@@ -33,7 +33,7 @@ const PLUGIN_NAME = "URLParserPlugin";
33
33
  * @param {NormalModule} module module
34
34
  * @returns {URL} file url
35
35
  */
36
- const getUrl = module => pathToFileURL(module.resource);
36
+ const getUrl = (module) => pathToFileURL(module.resource);
37
37
 
38
38
  /**
39
39
  * @param {Parser} parser parser parser
@@ -108,7 +108,7 @@ class URLParserPlugin {
108
108
  const relative = this.options.url === "relative";
109
109
 
110
110
  parser.hooks.canRename.for("URL").tap(PLUGIN_NAME, approve);
111
- parser.hooks.evaluateNewExpression.for("URL").tap(PLUGIN_NAME, expr => {
111
+ parser.hooks.evaluateNewExpression.for("URL").tap(PLUGIN_NAME, (expr) => {
112
112
  const evaluatedExpr = getEvaluatedExpr(expr, parser);
113
113
  const request = evaluatedExpr && evaluatedExpr.asString();
114
114
 
@@ -119,7 +119,7 @@ class URLParserPlugin {
119
119
  .setString(url.toString())
120
120
  .setRange(/** @type {Range} */ (expr.range));
121
121
  });
122
- parser.hooks.new.for("URL").tap(PLUGIN_NAME, _expr => {
122
+ parser.hooks.new.for("URL").tap(PLUGIN_NAME, (_expr) => {
123
123
  const expr = /** @type {NewExpressionNode} */ (_expr);
124
124
  const { options: importOptions, errors: commentErrors } =
125
125
  parser.parseCommentOptions(/** @type {Range} */ (expr.range));
@@ -185,7 +185,7 @@ class URLParserPlugin {
185
185
  );
186
186
  dep.loc = /** @type {DependencyLocation} */ (expr.loc);
187
187
  parser.state.current.addDependency(dep);
188
- InnerGraph.onUsage(parser.state, e => (dep.usedByExports = e));
188
+ InnerGraph.onUsage(parser.state, (e) => (dep.usedByExports = e));
189
189
  return true;
190
190
  }
191
191
 
@@ -248,7 +248,7 @@ class URLParserPlugin {
248
248
  parser.state.current.addDependency(dep);
249
249
  return true;
250
250
  });
251
- parser.hooks.isPure.for("NewExpression").tap(PLUGIN_NAME, _expr => {
251
+ parser.hooks.isPure.for("NewExpression").tap(PLUGIN_NAME, (_expr) => {
252
252
  const expr = /** @type {NewExpressionNode} */ (_expr);
253
253
  const { callee } = expr;
254
254
  if (callee.type !== "Identifier") return;
@@ -80,7 +80,7 @@ class AsyncQueue {
80
80
  this._processor = processor;
81
81
  this._getKey =
82
82
  getKey ||
83
- /** @type {getKey<T, K>} */ (item => /** @type {T & K} */ (item));
83
+ /** @type {getKey<T, K>} */ ((item) => /** @type {T & K} */ (item));
84
84
  /** @type {Map<K, AsyncQueueEntry<T, K, R>>} */
85
85
  this._entries = new Map();
86
86
  /** @type {ArrayQueue<AsyncQueueEntry<T, K, R>>} */
@@ -138,7 +138,7 @@ class AsyncQueue {
138
138
  */
139
139
  add(item, callback) {
140
140
  if (this._stopped) return callback(new WebpackError("Queue was stopped"));
141
- this.hooks.beforeAdd.callAsync(item, err => {
141
+ this.hooks.beforeAdd.callAsync(item, (err) => {
142
142
  if (err) {
143
143
  callback(
144
144
  makeWebpackError(err, `AsyncQueue(${this._name}).hooks.beforeAdd`)
@@ -327,7 +327,7 @@ class AsyncQueue {
327
327
  * @returns {void}
328
328
  */
329
329
  _startProcessing(entry) {
330
- this.hooks.beforeStart.callAsync(entry.item, err => {
330
+ this.hooks.beforeStart.callAsync(entry.item, (err) => {
331
331
  if (err) {
332
332
  this._handleResult(
333
333
  entry,
@@ -356,7 +356,7 @@ class AsyncQueue {
356
356
  * @returns {void}
357
357
  */
358
358
  _handleResult(entry, err, result) {
359
- this.hooks.result.callAsync(entry.item, err, result, hookError => {
359
+ this.hooks.result.callAsync(entry.item, err, result, (hookError) => {
360
360
  const error = hookError
361
361
  ? makeWebpackError(hookError, `AsyncQueue(${this._name}).hooks.result`)
362
362
  : err;
@@ -10,7 +10,7 @@
10
10
  * @param {Iterable<T>} set a set
11
11
  * @returns {T | undefined} last item
12
12
  */
13
- const last = set => {
13
+ const last = (set) => {
14
14
  let last;
15
15
  for (const item of set) last = item;
16
16
  return last;
@@ -34,7 +34,7 @@ const someInIterable = (iterable, filter) => {
34
34
  * @param {Iterable<T>} iterable an iterable
35
35
  * @returns {number} count of items
36
36
  */
37
- const countIterable = iterable => {
37
+ const countIterable = (iterable) => {
38
38
  let i = 0;
39
39
  for (const _ of iterable) i++;
40
40
  return i;
@@ -162,7 +162,7 @@ class LazyBucketSortedSet {
162
162
  */
163
163
  startUpdate(item) {
164
164
  if (this._unsortedItems.has(item)) {
165
- return remove => {
165
+ return (remove) => {
166
166
  if (remove) {
167
167
  this._unsortedItems.delete(item);
168
168
  this.size--;
@@ -172,7 +172,7 @@ class LazyBucketSortedSet {
172
172
  const key = this._getKey(item);
173
173
  if (this._leaf) {
174
174
  const oldEntry = /** @type {SortableSet<T>} */ (this._map.get(key));
175
- return remove => {
175
+ return (remove) => {
176
176
  if (remove) {
177
177
  this.size--;
178
178
  oldEntry.delete(item);
@@ -198,7 +198,7 @@ class LazyBucketSortedSet {
198
198
  /** @type {LazyBucketSortedSet<T, K>} */
199
199
  (this._map.get(key));
200
200
  const finishUpdate = oldEntry.startUpdate(item);
201
- return remove => {
201
+ return (remove) => {
202
202
  if (remove) {
203
203
  this.size--;
204
204
  finishUpdate(true);
@@ -11,7 +11,7 @@
11
11
  * @param {Set<T>[]} sets an array of sets being checked for shared elements
12
12
  * @returns {Set<T>} returns a new Set containing the intersecting items
13
13
  */
14
- const intersect = sets => {
14
+ const intersect = (sets) => {
15
15
  if (sets.length === 0) return new Set();
16
16
  if (sets.length === 1) return new Set(sets[0]);
17
17
  let minSize = Infinity;
@@ -68,7 +68,7 @@ const find = (set, fn) => {
68
68
  * @param {Set<T> | ReadonlySet<T>} set a set
69
69
  * @returns {T | undefined} first item
70
70
  */
71
- const first = set => {
71
+ const first = (set) => {
72
72
  const entry = set.values().next();
73
73
  return entry.done ? undefined : entry.value;
74
74
  };
@@ -124,7 +124,7 @@ class StackedCacheMap {
124
124
  * @returns {Iterator<[K, V]>} iterator
125
125
  */
126
126
  [Symbol.iterator]() {
127
- const iterators = this.stack.map(map => map[Symbol.iterator]());
127
+ const iterators = this.stack.map((map) => map[Symbol.iterator]());
128
128
  let current = this.map[Symbol.iterator]();
129
129
  return {
130
130
  next() {
@@ -24,7 +24,7 @@ const UNDEFINED_MARKER = Symbol("undefined");
24
24
  * @param {[K, InternalCell<V>]} pair the internal cell
25
25
  * @returns {[K, Cell<V>]} its “safe” representation
26
26
  */
27
- const extractPair = pair => {
27
+ const extractPair = (pair) => {
28
28
  const key = pair[0];
29
29
  const val = pair[1];
30
30
  if (val === UNDEFINED_MARKER || val === TOMBSTONE) {
@@ -125,7 +125,7 @@ class TupleSet {
125
125
  * @param {MapIterator<[T, InnerMap<T, V> | Set<V>]>} it iterator
126
126
  * @returns {boolean} result
127
127
  */
128
- const next = it => {
128
+ const next = (it) => {
129
129
  const result = it.next();
130
130
  if (result.done) {
131
131
  if (iteratorStack.length === 0) return false;
@@ -21,7 +21,7 @@
21
21
  * @param {EXPECTED_ANY} thing thing
22
22
  * @returns {boolean} true if is weak
23
23
  */
24
- const isWeakKey = thing => typeof thing === "object" && thing !== null;
24
+ const isWeakKey = (thing) => typeof thing === "object" && thing !== null;
25
25
 
26
26
  /**
27
27
  * @template {unknown[]} T
@@ -123,7 +123,7 @@ const parseCache = new WeakMap();
123
123
  * @param {T} obj the object
124
124
  * @returns {ParsedObject<T>} parsed object
125
125
  */
126
- const cachedParseObject = obj => {
126
+ const cachedParseObject = (obj) => {
127
127
  const entry = parseCache.get(/** @type {EXPECTED_OBJECT} */ (obj));
128
128
  if (entry !== undefined) return entry;
129
129
  const result = parseObject(obj);
@@ -138,7 +138,7 @@ const cachedParseObject = obj => {
138
138
  * @param {T} obj the object
139
139
  * @returns {ParsedObject<T>} parsed object
140
140
  */
141
- const parseObject = obj => {
141
+ const parseObject = (obj) => {
142
142
  /** @type {ParsedObjectStatic<T>} */
143
143
  const info = new Map();
144
144
  /** @type {ParsedObjectDynamic<T> | undefined} */
@@ -147,7 +147,7 @@ const parseObject = obj => {
147
147
  * @param {keyof T} p path
148
148
  * @returns {Partial<ObjectParsedPropertyEntry<T>>} object parsed property entry
149
149
  */
150
- const getInfo = p => {
150
+ const getInfo = (p) => {
151
151
  const entry = info.get(p);
152
152
  if (entry !== undefined) return entry;
153
153
  const newEntry = {
@@ -275,7 +275,7 @@ const VALUE_TYPE_DELETE = 4;
275
275
  * @param {T} value a single value
276
276
  * @returns {VALUE_TYPE_UNDEFINED | VALUE_TYPE_ATOM | VALUE_TYPE_ARRAY_EXTEND | VALUE_TYPE_OBJECT | VALUE_TYPE_DELETE} value type
277
277
  */
278
- const getValueType = value => {
278
+ const getValueType = (value) => {
279
279
  if (value === undefined) {
280
280
  return VALUE_TYPE_UNDEFINED;
281
281
  } else if (value === DELETE) {
@@ -457,7 +457,7 @@ const mergeEntries = (firstEntry, secondEntry, internalCaching) => {
457
457
  }
458
458
  if (
459
459
  [.../** @type {ByValues} */ (firstEntry.byValues).values()].every(
460
- value => {
460
+ (value) => {
461
461
  const type = getValueType(value);
462
462
  return type === VALUE_TYPE_ATOM || type === VALUE_TYPE_DELETE;
463
463
  }
@@ -555,7 +555,7 @@ const mergeSingleValue = (a, b, internalCaching) => {
555
555
  case VALUE_TYPE_UNDEFINED:
556
556
  return b;
557
557
  case VALUE_TYPE_DELETE:
558
- return /** @type {B[]} */ (b).filter(item => item !== "...");
558
+ return /** @type {B[]} */ (b).filter((item) => item !== "...");
559
559
  case VALUE_TYPE_ARRAY_EXTEND: {
560
560
  /** @type {(A | B)[]} */
561
561
  const newArray = [];
@@ -571,7 +571,7 @@ const mergeSingleValue = (a, b, internalCaching) => {
571
571
  return newArray;
572
572
  }
573
573
  case VALUE_TYPE_OBJECT:
574
- return /** @type {(A | B)[]} */ (b).map(item =>
574
+ return /** @type {(A | B)[]} */ (b).map((item) =>
575
575
  item === "..." ? /** @type {A} */ (a) : item
576
576
  );
577
577
  default:
@@ -618,7 +618,7 @@ const removeOperations = (obj, keysToKeepOriginalValue = []) => {
618
618
  /** @type {T[keyof T]} */
619
619
  (
620
620
  /** @type {EXPECTED_ANY[]} */
621
- (value).filter(i => i !== "...")
621
+ (value).filter((i) => i !== "...")
622
622
  );
623
623
  break;
624
624
  default:
@@ -13,9 +13,18 @@ const { compareRuntime } = require("./runtime");
13
13
  /** @typedef {import("../ChunkGraph").ModuleId} ModuleId */
14
14
  /** @typedef {import("../ChunkGroup")} ChunkGroup */
15
15
  /** @typedef {import("../Dependency").DependencyLocation} DependencyLocation */
16
+ /** @typedef {import("../Dependency")} Dependency */
17
+ /** @typedef {import("../dependencies/HarmonyImportSideEffectDependency")} HarmonyImportSideEffectDependency */
18
+ /** @typedef {import("../dependencies/HarmonyImportSpecifierDependency")} HarmonyImportSpecifierDependency */
16
19
  /** @typedef {import("../Module")} Module */
17
20
  /** @typedef {import("../ModuleGraph")} ModuleGraph */
18
21
 
22
+ /**
23
+ * @typedef {object} DependencySourceOrder
24
+ * @property {number} main the main source order
25
+ * @property {number} sub the sub source order
26
+ */
27
+
19
28
  /**
20
29
  * @template T
21
30
  * @typedef {(a: T, b: T) => -1 | 0 | 1} Comparator
@@ -37,10 +46,10 @@ const { compareRuntime } = require("./runtime");
37
46
  * @param {RawParameterizedComparator<TArg, T>} fn comparator with argument
38
47
  * @returns {ParameterizedComparator<TArg, T>} comparator
39
48
  */
40
- const createCachedParameterizedComparator = fn => {
49
+ const createCachedParameterizedComparator = (fn) => {
41
50
  /** @type {WeakMap<EXPECTED_OBJECT, Comparator<T>>} */
42
51
  const map = new WeakMap();
43
- return arg => {
52
+ return (arg) => {
44
53
  const cachedResult = map.get(/** @type {EXPECTED_OBJECT} */ (arg));
45
54
  if (cachedResult !== undefined) return cachedResult;
46
55
  /**
@@ -73,7 +82,7 @@ const compareIds = (a, b) => {
73
82
  * @param {Comparator<T>} elementComparator comparator for elements
74
83
  * @returns {Comparator<Iterable<T>>} comparator for iterables of elements
75
84
  */
76
- const compareIterables = elementComparator => {
85
+ const compareIterables = (elementComparator) => {
77
86
  const cacheEntry = compareIteratorsCache.get(elementComparator);
78
87
  if (cacheEntry !== undefined) return cacheEntry;
79
88
  /**
@@ -459,7 +468,7 @@ const compareIteratorsCache = new WeakMap();
459
468
  * @param {Iterable<T>} iterable original ordered list
460
469
  * @returns {Comparator<T>} comparator
461
470
  */
462
- const keepOriginalOrder = iterable => {
471
+ const keepOriginalOrder = (iterable) => {
463
472
  /** @type {Map<T, number>} */
464
473
  const map = new Map();
465
474
  let i = 0;
@@ -477,26 +486,115 @@ const keepOriginalOrder = iterable => {
477
486
  * @param {ChunkGraph} chunkGraph the chunk graph
478
487
  * @returns {Comparator<Chunk>} comparator
479
488
  */
480
- const compareChunksNatural = chunkGraph => {
489
+ const compareChunksNatural = (chunkGraph) => {
481
490
  const cmpFn = module.exports.compareModulesById(chunkGraph);
482
491
  const cmpIterableFn = compareIterables(cmpFn);
483
492
  return concatComparators(
484
493
  compareSelect(
485
- chunk => /** @type {string|number} */ (chunk.name),
494
+ (chunk) => /** @type {string|number} */ (chunk.name),
486
495
  compareIds
487
496
  ),
488
- compareSelect(chunk => chunk.runtime, compareRuntime),
497
+ compareSelect((chunk) => chunk.runtime, compareRuntime),
489
498
  compareSelect(
490
499
  /**
491
500
  * @param {Chunk} chunk a chunk
492
501
  * @returns {Iterable<Module>} modules
493
502
  */
494
- chunk => chunkGraph.getOrderedChunkModulesIterable(chunk, cmpFn),
503
+ (chunk) => chunkGraph.getOrderedChunkModulesIterable(chunk, cmpFn),
495
504
  cmpIterableFn
496
505
  )
497
506
  );
498
507
  };
499
508
 
509
+ /**
510
+ * For HarmonyImportSideEffectDependency and HarmonyImportSpecifierDependency, we should prioritize import order to match the behavior of running modules directly in a JS engine without a bundler.
511
+ * For other types like ConstDependency, we can instead prioritize usage order.
512
+ * https://github.com/webpack/webpack/pull/19686
513
+ * @param {Dependency[]} dependencies dependencies
514
+ * @param {WeakMap<Dependency, DependencySourceOrder>} dependencySourceOrderMap dependency source order map
515
+ * @returns {void}
516
+ */
517
+ const sortWithSourceOrder = (dependencies, dependencySourceOrderMap) => {
518
+ /**
519
+ * @param {Dependency} dep dependency
520
+ * @returns {number} source order
521
+ */
522
+ const getSourceOrder = (dep) => {
523
+ if (dependencySourceOrderMap.has(dep)) {
524
+ const { main } = /** @type {DependencySourceOrder} */ (
525
+ dependencySourceOrderMap.get(dep)
526
+ );
527
+ return main;
528
+ }
529
+ return /** @type { HarmonyImportSideEffectDependency | HarmonyImportSpecifierDependency} */ (
530
+ dep
531
+ ).sourceOrder;
532
+ };
533
+
534
+ /**
535
+ * If the sourceOrder is a number, it means the dependency needs to be sorted.
536
+ * @param {number | undefined} sourceOrder sourceOrder
537
+ * @returns {boolean} needReSort
538
+ */
539
+ const needReSort = (sourceOrder) => {
540
+ if (typeof sourceOrder === "number") {
541
+ return true;
542
+ }
543
+ return false;
544
+ };
545
+
546
+ // Extract dependencies with sourceOrder and sort them
547
+ const withSourceOrder = [];
548
+
549
+ // First pass: collect dependencies with sourceOrder
550
+ for (let i = 0; i < dependencies.length; i++) {
551
+ const dep = dependencies[i];
552
+ const sourceOrder = getSourceOrder(dep);
553
+
554
+ if (needReSort(sourceOrder)) {
555
+ withSourceOrder.push({ dep, sourceOrder, originalIndex: i });
556
+ }
557
+ }
558
+
559
+ if (withSourceOrder.length <= 1) {
560
+ return;
561
+ }
562
+
563
+ // Sort dependencies with sourceOrder
564
+ withSourceOrder.sort((a, b) => {
565
+ // Handle both dependencies in map case
566
+ if (
567
+ dependencySourceOrderMap.has(a.dep) &&
568
+ dependencySourceOrderMap.has(b.dep)
569
+ ) {
570
+ const { main: mainA, sub: subA } = /** @type {DependencySourceOrder} */ (
571
+ dependencySourceOrderMap.get(a.dep)
572
+ );
573
+ const { main: mainB, sub: subB } = /** @type {DependencySourceOrder} */ (
574
+ dependencySourceOrderMap.get(b.dep)
575
+ );
576
+ if (mainA === mainB) {
577
+ return compareNumbers(subA, subB);
578
+ }
579
+ return compareNumbers(mainA, mainB);
580
+ }
581
+
582
+ return compareNumbers(a.sourceOrder, b.sourceOrder);
583
+ });
584
+
585
+ // Second pass: build result array
586
+ let sortedIndex = 0;
587
+ for (let i = 0; i < dependencies.length; i++) {
588
+ const dep = dependencies[i];
589
+ const sourceOrder = getSourceOrder(dep);
590
+
591
+ if (needReSort(sourceOrder)) {
592
+ dependencies[i] = withSourceOrder[sortedIndex].dep;
593
+ sortedIndex++;
594
+ }
595
+ }
596
+ };
597
+
500
598
  module.exports.compareChunkGroupsByIndex = compareChunkGroupsByIndex;
501
599
  /** @type {ParameterizedComparator<ChunkGraph, Chunk>} */
502
600
  module.exports.compareChunks =
@@ -548,3 +646,4 @@ module.exports.compareStringsNumeric = compareStringsNumeric;
548
646
  module.exports.concatComparators = concatComparators;
549
647
 
550
648
  module.exports.keepOriginalOrder = keepOriginalOrder;
649
+ module.exports.sortWithSourceOrder = sortWithSourceOrder;
@@ -9,13 +9,13 @@
9
9
  * @param {string} str string
10
10
  * @returns {string} quoted meta
11
11
  */
12
- const quoteMeta = str => str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
12
+ const quoteMeta = (str) => str.replace(/[-[\]\\/{}()*+?.^$|]/g, "\\$&");
13
13
 
14
14
  /**
15
15
  * @param {string} str string
16
16
  * @returns {string} string
17
17
  */
18
- const toSimpleString = str => {
18
+ const toSimpleString = (str) => {
19
19
  if (`${Number(str)}` === str) {
20
20
  return str;
21
21
  }
@@ -26,9 +26,9 @@ const toSimpleString = str => {
26
26
  * @param {Record<string | number, boolean>} map value map
27
27
  * @returns {boolean | ((value: string) => string)} true/false, when unconditionally true/false, or a template function to determine the value at runtime
28
28
  */
29
- const compileBooleanMatcher = map => {
30
- const positiveItems = Object.keys(map).filter(i => map[i]);
31
- const negativeItems = Object.keys(map).filter(i => !map[i]);
29
+ const compileBooleanMatcher = (map) => {
30
+ const positiveItems = Object.keys(map).filter((i) => map[i]);
31
+ const negativeItems = Object.keys(map).filter((i) => !map[i]);
32
32
  if (positiveItems.length === 0) return false;
33
33
  if (negativeItems.length === 0) return true;
34
34
  return compileBooleanMatcherFromLists(positiveItems, negativeItems);
@@ -43,17 +43,17 @@ const compileBooleanMatcherFromLists = (positiveItems, negativeItems) => {
43
43
  if (positiveItems.length === 0) return () => "false";
44
44
  if (negativeItems.length === 0) return () => "true";
45
45
  if (positiveItems.length === 1) {
46
- return value => `${toSimpleString(positiveItems[0])} == ${value}`;
46
+ return (value) => `${toSimpleString(positiveItems[0])} == ${value}`;
47
47
  }
48
48
  if (negativeItems.length === 1) {
49
- return value => `${toSimpleString(negativeItems[0])} != ${value}`;
49
+ return (value) => `${toSimpleString(negativeItems[0])} != ${value}`;
50
50
  }
51
51
  const positiveRegexp = itemsToRegexp(positiveItems);
52
52
  const negativeRegexp = itemsToRegexp(negativeItems);
53
53
  if (positiveRegexp.length <= negativeRegexp.length) {
54
- return value => `/^${positiveRegexp}$/.test(${value})`;
54
+ return (value) => `/^${positiveRegexp}$/.test(${value})`;
55
55
  }
56
- return value => `!/^${negativeRegexp}$/.test(${value})`;
56
+ return (value) => `!/^${negativeRegexp}$/.test(${value})`;
57
57
  };
58
58
 
59
59
  /**
@@ -94,7 +94,7 @@ const popCommonItems = (itemsSet, getKey, condition) => {
94
94
  * @param {Array<string>} items items
95
95
  * @returns {string} common prefix
96
96
  */
97
- const getCommonPrefix = items => {
97
+ const getCommonPrefix = (items) => {
98
98
  let prefix = items[0];
99
99
  for (let i = 1; i < items.length; i++) {
100
100
  const item = items[i];
@@ -112,7 +112,7 @@ const getCommonPrefix = items => {
112
112
  * @param {Array<string>} items items
113
113
  * @returns {string} common suffix
114
114
  */
115
- const getCommonSuffix = items => {
115
+ const getCommonSuffix = (items) => {
116
116
  let suffix = items[0];
117
117
  for (let i = 1; i < items.length; i++) {
118
118
  const item = items[i];
@@ -130,7 +130,7 @@ const getCommonSuffix = items => {
130
130
  * @param {Array<string>} itemsArr array of items
131
131
  * @returns {string} regexp
132
132
  */
133
- const itemsToRegexp = itemsArr => {
133
+ const itemsToRegexp = (itemsArr) => {
134
134
  if (itemsArr.length === 1) {
135
135
  return quoteMeta(itemsArr[0]);
136
136
  }
@@ -165,11 +165,11 @@ const itemsToRegexp = itemsArr => {
165
165
  if (finishedItems.length === 0 && items.size === 2) {
166
166
  const prefix = getCommonPrefix(itemsArr);
167
167
  const suffix = getCommonSuffix(
168
- itemsArr.map(item => item.slice(prefix.length))
168
+ itemsArr.map((item) => item.slice(prefix.length))
169
169
  );
170
170
  if (prefix.length > 0 || suffix.length > 0) {
171
171
  return `${quoteMeta(prefix)}${itemsToRegexp(
172
- itemsArr.map(i => i.slice(prefix.length, -suffix.length || undefined))
172
+ itemsArr.map((i) => i.slice(prefix.length, -suffix.length || undefined))
173
173
  )}${quoteMeta(suffix)}`;
174
174
  }
175
175
  }
@@ -190,8 +190,8 @@ const itemsToRegexp = itemsArr => {
190
190
  // find common prefix: (a1|a2|a3|a4|b5) => (a(1|2|3|4)|b5)
191
191
  const prefixed = popCommonItems(
192
192
  items,
193
- item => (item.length >= 1 ? item[0] : false),
194
- list => {
193
+ (item) => (item.length >= 1 ? item[0] : false),
194
+ (list) => {
195
195
  if (list.length >= 3) return true;
196
196
  if (list.length <= 1) return false;
197
197
  return list[0][1] === list[1][1];
@@ -201,7 +201,7 @@ const itemsToRegexp = itemsArr => {
201
201
  const prefix = getCommonPrefix(prefixedItems);
202
202
  finishedItems.push(
203
203
  `${quoteMeta(prefix)}${itemsToRegexp(
204
- prefixedItems.map(i => i.slice(prefix.length))
204
+ prefixedItems.map((i) => i.slice(prefix.length))
205
205
  )}`
206
206
  );
207
207
  }
@@ -209,8 +209,8 @@ const itemsToRegexp = itemsArr => {
209
209
  // find common suffix: (a1|b1|c1|d1|e2) => ((a|b|c|d)1|e2)
210
210
  const suffixed = popCommonItems(
211
211
  items,
212
- item => (item.length >= 1 ? item.slice(-1) : false),
213
- list => {
212
+ (item) => (item.length >= 1 ? item.slice(-1) : false),
213
+ (list) => {
214
214
  if (list.length >= 3) return true;
215
215
  if (list.length <= 1) return false;
216
216
  return list[0].slice(-2) === list[1].slice(-2);
@@ -220,7 +220,7 @@ const itemsToRegexp = itemsArr => {
220
220
  const suffix = getCommonSuffix(suffixedItems);
221
221
  finishedItems.push(
222
222
  `${itemsToRegexp(
223
- suffixedItems.map(i => i.slice(0, -suffix.length))
223
+ suffixedItems.map((i) => i.slice(0, -suffix.length))
224
224
  )}${quoteMeta(suffix)}`
225
225
  );
226
226
  }
@@ -22,13 +22,13 @@ const NAMESPACE_OBJECT_EXPORT = "__WEBPACK_NAMESPACE_OBJECT__";
22
22
  * @param {Variable} variable variable
23
23
  * @returns {Reference[]} references
24
24
  */
25
- const getAllReferences = variable => {
25
+ const getAllReferences = (variable) => {
26
26
  let set = variable.references;
27
27
  // Look for inner scope variables too (like in class Foo { t() { Foo } })
28
28
  const identifiers = new Set(variable.identifiers);
29
29
  for (const scope of variable.scope.childScopes) {
30
30
  for (const innerVar of scope.variables) {
31
- if (innerVar.identifiers.some(id => identifiers.has(id))) {
31
+ if (innerVar.identifiers.some((id) => identifiers.has(id))) {
32
32
  set = [...set, ...innerVar.references];
33
33
  break;
34
34
  }
@@ -53,7 +53,7 @@ const getPathInAst = (ast, node) => {
53
53
  * @param {Node} n node
54
54
  * @returns {Node[] | undefined} result
55
55
  */
56
- const enterNode = n => {
56
+ const enterNode = (n) => {
57
57
  if (!n) return;
58
58
  const r = n.range;
59
59
  if (r && r[0] <= nr[0] && r[1] >= nr[1]) {
@@ -11,7 +11,7 @@
11
11
  * @param {string} string string
12
12
  * @returns {string} result
13
13
  */
14
- const preserveCamelCase = string => {
14
+ const preserveCamelCase = (string) => {
15
15
  let result = string;
16
16
  let isLastCharLower = false;
17
17
  let isLastCharUpper = false;
@@ -54,7 +54,7 @@ const preserveCamelCase = string => {
54
54
  * @param {string} input input
55
55
  * @returns {string} result
56
56
  */
57
- module.exports.camelCase = input => {
57
+ module.exports.camelCase = (input) => {
58
58
  let result = input.trim();
59
59
 
60
60
  if (result.length === 0) {
@@ -75,7 +75,7 @@ module.exports.camelCase = input => {
75
75
  .replace(/^[_.\- ]+/, "")
76
76
  .toLowerCase()
77
77
  .replace(/[_.\- ]+([\p{Alpha}\p{N}_]|$)/gu, (_, p1) => p1.toUpperCase())
78
- .replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, m => m.toUpperCase());
78
+ .replace(/\d+([\p{Alpha}\p{N}_]|$)/gu, (m) => m.toUpperCase());
79
79
  };
80
80
 
81
81
  /**
@@ -121,5 +121,5 @@ module.exports.cssExportConvention = (input, convention) => {
121
121
  * @param {string} input input
122
122
  * @returns {string} result
123
123
  */
124
- module.exports.dashesCamelCase = input =>
124
+ module.exports.dashesCamelCase = (input) =>
125
125
  input.replace(/-+(\w)/g, (match, firstLetter) => firstLetter.toUpperCase());
@@ -22,7 +22,7 @@ const getValidate = memoize(() => require("schema-utils").validate);
22
22
  */
23
23
  const createSchemaValidation = (check, getSchema, options) => {
24
24
  getSchema = memoize(getSchema);
25
- return value => {
25
+ return (value) => {
26
26
  if (check && value && !check(value)) {
27
27
  getValidate()(
28
28
  getSchema(),
@@ -154,7 +154,7 @@ let BatchedHash;
154
154
  * @param {HashFunction} algorithm the algorithm name or a constructor creating a hash
155
155
  * @returns {Hash} the hash
156
156
  */
157
- module.exports = algorithm => {
157
+ module.exports = (algorithm) => {
158
158
  if (typeof algorithm === "function") {
159
159
  // eslint-disable-next-line new-cap
160
160
  return new BulkUpdateDecorator(() => new algorithm());
@@ -146,7 +146,7 @@ module.exports.arrayToSetDeprecation = (set, name) => {
146
146
  * @param {number} index index
147
147
  * @returns {() => T | undefined} value
148
148
  */
149
- const createIndexGetter = index => {
149
+ const createIndexGetter = (index) => {
150
150
  /**
151
151
  * @this {Set<T>} a Set
152
152
  * @returns {T | undefined} the value at this location
@@ -164,7 +164,7 @@ module.exports.arrayToSetDeprecation = (set, name) => {
164
164
  /**
165
165
  * @param {number} index index
166
166
  */
167
- const defineIndexGetter = index => {
167
+ const defineIndexGetter = (index) => {
168
168
  Object.defineProperty(set, index, {
169
169
  get: createIndexGetter(index),
170
170
  set(value) {
@@ -199,7 +199,7 @@ module.exports.arrayToSetDeprecation = (set, name) => {
199
199
  * @param {string} name name
200
200
  * @returns {{ new <T = any>(values?: readonly T[] | null): SetDeprecatedArray<T> }} SetDeprecatedArray
201
201
  */
202
- module.exports.createArrayToSetDeprecationSet = name => {
202
+ module.exports.createArrayToSetDeprecationSet = (name) => {
203
203
  let initialized = false;
204
204
 
205
205
  /**
@@ -275,7 +275,7 @@ const deprecateAllProperties = (obj, message, code) => {
275
275
  * @param {T} v value
276
276
  * @returns {T} result
277
277
  */
278
- v => (value = v),
278
+ (v) => (value = v),
279
279
  message,
280
280
  code
281
281
  )