webpack 5.93.0 → 5.94.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.
- package/README.md +8 -5
- package/bin/webpack.js +6 -7
- package/hot/log.js +1 -2
- package/hot/only-dev-server.js +1 -1
- package/hot/poll.js +1 -1
- package/hot/signal.js +1 -1
- package/lib/APIPlugin.js +4 -3
- package/lib/AbstractMethodError.js +10 -5
- package/lib/AutomaticPrefetchPlugin.js +1 -1
- package/lib/BannerPlugin.js +12 -6
- package/lib/Cache.js +8 -10
- package/lib/CacheFacade.js +3 -3
- package/lib/CaseSensitiveModulesWarning.js +5 -7
- package/lib/Chunk.js +14 -11
- package/lib/ChunkGraph.js +58 -36
- package/lib/ChunkGroup.js +2 -3
- package/lib/ChunkTemplate.js +43 -0
- package/lib/CleanPlugin.js +10 -11
- package/lib/CodeGenerationResults.js +6 -5
- package/lib/CommentCompilationWarning.js +0 -1
- package/lib/Compilation.js +223 -191
- package/lib/Compiler.js +81 -82
- package/lib/ConcatenationScope.js +3 -6
- package/lib/ConditionalInitFragment.js +6 -7
- package/lib/ConstPlugin.js +7 -15
- package/lib/ContextExclusionPlugin.js +3 -3
- package/lib/ContextModule.js +33 -20
- package/lib/ContextModuleFactory.js +89 -44
- package/lib/ContextReplacementPlugin.js +10 -9
- package/lib/DefinePlugin.js +75 -68
- package/lib/DelegatedModule.js +7 -3
- package/lib/DelegatedModuleFactoryPlugin.js +36 -22
- package/lib/DelegatedPlugin.js +4 -0
- package/lib/DependenciesBlock.js +0 -1
- package/lib/Dependency.js +10 -14
- package/lib/DllEntryPlugin.js +4 -2
- package/lib/DllModuleFactory.js +1 -0
- package/lib/DllPlugin.js +9 -7
- package/lib/DllReferencePlugin.js +30 -15
- package/lib/EntryPlugin.js +1 -3
- package/lib/EnvironmentPlugin.js +5 -2
- package/lib/ErrorHelpers.js +11 -12
- package/lib/EvalDevToolModulePlugin.js +10 -12
- package/lib/EvalSourceMapDevToolPlugin.js +15 -13
- package/lib/ExportsInfo.js +185 -120
- package/lib/ExternalModule.js +104 -64
- package/lib/ExternalModuleFactoryPlugin.js +23 -10
- package/lib/FileSystemInfo.js +791 -422
- package/lib/FlagAllModulesAsUsedPlugin.js +1 -1
- package/lib/FlagDependencyExportsPlugin.js +12 -11
- package/lib/FlagDependencyUsagePlugin.js +1 -1
- package/lib/Generator.js +2 -5
- package/lib/GraphHelpers.js +3 -2
- package/lib/HookWebpackError.js +8 -10
- package/lib/HotModuleReplacementPlugin.js +78 -64
- package/lib/IgnoreErrorModuleFactory.js +3 -3
- package/lib/IgnorePlugin.js +1 -3
- package/lib/IgnoreWarningsPlugin.js +6 -9
- package/lib/InitFragment.js +2 -3
- package/lib/LibManifestPlugin.js +4 -3
- package/lib/MainTemplate.js +72 -19
- package/lib/Module.js +25 -9
- package/lib/ModuleBuildError.js +4 -11
- package/lib/ModuleDependencyError.js +5 -5
- package/lib/ModuleDependencyWarning.js +5 -5
- package/lib/ModuleError.js +1 -5
- package/lib/ModuleFilenameHelpers.js +29 -46
- package/lib/ModuleGraph.js +7 -6
- package/lib/ModuleGraphConnection.js +6 -6
- package/lib/ModuleInfoHeaderPlugin.js +82 -30
- package/lib/ModuleParseError.js +8 -9
- package/lib/ModuleRestoreError.js +1 -1
- package/lib/ModuleStoreError.js +1 -1
- package/lib/ModuleTemplate.js +33 -1
- package/lib/ModuleTypeConstants.js +21 -22
- package/lib/ModuleWarning.js +1 -5
- package/lib/MultiCompiler.js +24 -26
- package/lib/MultiStats.js +73 -31
- package/lib/MultiWatching.js +1 -1
- package/lib/NormalModule.js +126 -69
- package/lib/NormalModuleFactory.js +53 -49
- package/lib/OptimizationStages.js +3 -3
- package/lib/ProgressPlugin.js +9 -9
- package/lib/ProvidePlugin.js +4 -4
- package/lib/RuntimeGlobals.js +71 -70
- package/lib/RuntimeModule.js +1 -1
- package/lib/RuntimePlugin.js +24 -12
- package/lib/RuntimeTemplate.js +40 -44
- package/lib/SizeFormatHelpers.js +2 -4
- package/lib/SourceMapDevToolPlugin.js +42 -34
- package/lib/Stats.js +5 -11
- package/lib/Template.js +18 -24
- package/lib/TemplatedPathPlugin.js +12 -10
- package/lib/WarnDeprecatedOptionPlugin.js +0 -1
- package/lib/WatchIgnorePlugin.js +26 -9
- package/lib/Watching.js +10 -5
- package/lib/WebpackOptionsApply.js +84 -62
- package/lib/asset/AssetGenerator.js +107 -42
- package/lib/asset/AssetModulesPlugin.js +29 -23
- package/lib/asset/AssetSourceGenerator.js +2 -7
- package/lib/async-modules/AwaitDependenciesInitFragment.js +6 -7
- package/lib/buildChunkGraph.js +14 -19
- package/lib/cache/IdleFileCachePlugin.js +4 -4
- package/lib/cache/MemoryWithGcCachePlugin.js +5 -5
- package/lib/cache/PackFileCacheStrategy.js +51 -50
- package/lib/cache/ResolverCachePlugin.js +6 -6
- package/lib/cache/mergeEtags.js +16 -21
- package/lib/cli.js +148 -104
- package/lib/config/browserslistTargetHandler.js +16 -13
- package/lib/config/defaults.js +31 -28
- package/lib/config/normalization.js +335 -344
- package/lib/config/target.js +42 -52
- package/lib/container/ContainerEntryModule.js +2 -2
- package/lib/container/ContainerPlugin.js +1 -1
- package/lib/container/RemoteRuntimeModule.js +11 -8
- package/lib/container/options.js +18 -4
- package/lib/css/CssExportsGenerator.js +26 -24
- package/lib/css/CssGenerator.js +9 -4
- package/lib/css/CssLoadingRuntimeModule.js +10 -10
- package/lib/css/CssModulesPlugin.js +127 -47
- package/lib/css/CssParser.js +20 -18
- package/lib/css/walkCssTokens.js +80 -95
- package/lib/debug/ProfilingPlugin.js +19 -20
- package/lib/dependencies/AMDDefineDependency.js +1 -1
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +83 -47
- package/lib/dependencies/AMDRequireArrayDependency.js +9 -10
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +22 -16
- package/lib/dependencies/AMDRuntimeModules.js +2 -2
- package/lib/dependencies/CommonJsDependencyHelpers.js +6 -2
- package/lib/dependencies/CommonJsExportRequireDependency.js +37 -41
- package/lib/dependencies/CommonJsExportsDependency.js +0 -1
- package/lib/dependencies/CommonJsExportsParserPlugin.js +19 -23
- package/lib/dependencies/CommonJsFullRequireDependency.js +1 -1
- package/lib/dependencies/CommonJsImportsParserPlugin.js +52 -61
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +6 -8
- package/lib/dependencies/ConstDependency.js +1 -1
- package/lib/dependencies/ContextDependency.js +1 -1
- package/lib/dependencies/ContextDependencyHelpers.js +31 -34
- package/lib/dependencies/ContextElementDependency.js +2 -2
- package/lib/dependencies/CriticalDependencyWarning.js +1 -1
- package/lib/dependencies/CssExportDependency.js +7 -7
- package/lib/dependencies/CssImportDependency.js +0 -2
- package/lib/dependencies/CssLocalIdentifierDependency.js +3 -3
- package/lib/dependencies/CssSelfLocalIdentifierDependency.js +2 -1
- package/lib/dependencies/CssUrlDependency.js +4 -5
- package/lib/dependencies/DynamicExports.js +5 -5
- package/lib/dependencies/ExportsInfoDependency.js +1 -2
- package/lib/dependencies/HarmonyAcceptImportDependency.js +1 -1
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +4 -5
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +27 -16
- package/lib/dependencies/HarmonyExportExpressionDependency.js +1 -1
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +107 -64
- package/lib/dependencies/HarmonyExports.js +2 -2
- package/lib/dependencies/HarmonyImportDependency.js +2 -4
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +19 -4
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +40 -15
- package/lib/dependencies/ImportDependency.js +1 -1
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +5 -5
- package/lib/dependencies/ImportMetaPlugin.js +11 -13
- package/lib/dependencies/ImportParserPlugin.js +39 -44
- package/lib/dependencies/JsonExportsDependency.js +22 -18
- package/lib/dependencies/LoaderPlugin.js +47 -36
- package/lib/dependencies/LocalModule.js +1 -1
- package/lib/dependencies/LocalModulesHelpers.js +4 -4
- package/lib/dependencies/ModuleDecoratorDependency.js +1 -1
- package/lib/dependencies/ProvidedDependency.js +1 -1
- package/lib/dependencies/PureExpressionDependency.js +6 -6
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +1 -1
- package/lib/dependencies/RuntimeRequirementsDependency.js +1 -1
- package/lib/dependencies/SystemPlugin.js +1 -1
- package/lib/dependencies/URLDependency.js +3 -3
- package/lib/dependencies/URLPlugin.js +66 -12
- package/lib/dependencies/WorkerPlugin.js +25 -24
- package/lib/dependencies/processExportInfo.js +3 -1
- package/lib/electron/ElectronTargetPlugin.js +1 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +3 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +7 -3
- package/lib/formatLocation.js +1 -2
- package/lib/hmr/HotModuleReplacement.runtime.js +4 -5
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +1 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +9 -12
- package/lib/hmr/LazyCompilationPlugin.js +27 -12
- package/lib/hmr/lazyCompilationBackend.js +64 -40
- package/lib/ids/ChunkModuleIdRangePlugin.js +1 -3
- package/lib/ids/DeterministicChunkIdsPlugin.js +2 -4
- package/lib/ids/DeterministicModuleIdsPlugin.js +1 -1
- package/lib/ids/HashedModuleIdsPlugin.js +5 -1
- package/lib/ids/IdHelpers.js +29 -39
- package/lib/ids/SyncModuleIdsPlugin.js +7 -2
- package/lib/index.js +1 -5
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -4
- package/lib/javascript/BasicEvaluatedExpression.js +4 -19
- package/lib/javascript/ChunkHelpers.js +1 -1
- package/lib/javascript/CommonJsChunkFormatPlugin.js +3 -2
- package/lib/javascript/EnableChunkLoadingPlugin.js +7 -6
- package/lib/javascript/JavascriptGenerator.js +23 -7
- package/lib/javascript/JavascriptModulesPlugin.js +91 -69
- package/lib/javascript/JavascriptParser.js +179 -200
- package/lib/javascript/JavascriptParserHelpers.js +20 -21
- package/lib/javascript/StartupHelpers.js +41 -13
- package/lib/json/JsonGenerator.js +7 -13
- package/lib/json/JsonModulesPlugin.js +1 -4
- package/lib/json/JsonParser.js +5 -3
- package/lib/library/AmdLibraryPlugin.js +12 -16
- package/lib/library/AssignLibraryPlugin.js +8 -10
- package/lib/library/EnableLibraryPlugin.js +15 -14
- package/lib/library/JsonpLibraryPlugin.js +2 -1
- package/lib/library/ModernModuleLibraryPlugin.js +8 -6
- package/lib/library/ModuleLibraryPlugin.js +2 -1
- package/lib/library/SystemLibraryPlugin.js +2 -1
- package/lib/library/UmdLibraryPlugin.js +66 -92
- package/lib/logging/Logger.js +32 -4
- package/lib/logging/createConsoleLogger.js +12 -13
- package/lib/logging/runtime.js +7 -8
- package/lib/logging/truncateArgs.js +5 -8
- package/lib/node/NodeWatchFileSystem.js +3 -18
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +1 -0
- package/lib/node/RequireChunkLoadingRuntimeModule.js +2 -2
- package/lib/node/nodeConsole.js +22 -22
- package/lib/optimize/AggressiveMergingPlugin.js +2 -4
- package/lib/optimize/AggressiveSplittingPlugin.js +16 -19
- package/lib/optimize/ConcatenatedModule.js +80 -48
- package/lib/optimize/EnsureChunkConditionsPlugin.js +1 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +3 -3
- package/lib/optimize/InnerGraph.js +17 -17
- package/lib/optimize/InnerGraphPlugin.js +8 -7
- package/lib/optimize/LimitChunkCountPlugin.js +2 -3
- package/lib/optimize/MangleExportsPlugin.js +1 -0
- package/lib/optimize/MinMaxSizeWarning.js +1 -1
- package/lib/optimize/ModuleConcatenationPlugin.js +54 -78
- package/lib/optimize/RealContentHashPlugin.js +7 -10
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -3
- package/lib/optimize/SideEffectsFlagPlugin.js +6 -2
- package/lib/optimize/SplitChunksPlugin.js +34 -30
- package/lib/performance/SizeLimitsPlugin.js +2 -2
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +1 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +1 -1
- package/lib/rules/BasicEffectRulePlugin.js +3 -1
- package/lib/rules/BasicMatcherRulePlugin.js +3 -1
- package/lib/rules/ObjectMatcherRulePlugin.js +4 -1
- package/lib/rules/RuleSetCompiler.js +41 -22
- package/lib/rules/UseEffectRulePlugin.js +36 -32
- package/lib/runtime/AsyncModuleRuntimeModule.js +1 -1
- package/lib/runtime/AutoPublicPathRuntimeModule.js +8 -3
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +2 -2
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +1 -1
- package/lib/runtime/EnsureChunkRuntimeModule.js +10 -11
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +11 -17
- package/lib/runtime/LoadScriptRuntimeModule.js +17 -18
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +1 -3
- package/lib/schemes/DataUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +241 -126
- package/lib/serialization/BinaryMiddleware.js +44 -28
- package/lib/serialization/DateObjectSerializer.js +1 -0
- package/lib/serialization/ErrorObjectSerializer.js +2 -0
- package/lib/serialization/FileMiddleware.js +154 -106
- package/lib/serialization/MapObjectSerializer.js +2 -1
- package/lib/serialization/NullPrototypeObjectSerializer.js +3 -2
- package/lib/serialization/ObjectMiddleware.js +52 -56
- package/lib/serialization/PlainObjectSerializer.js +32 -6
- package/lib/serialization/RegExpObjectSerializer.js +1 -0
- package/lib/serialization/Serializer.js +4 -5
- package/lib/serialization/SerializerMiddleware.js +6 -6
- package/lib/serialization/SetObjectSerializer.js +2 -1
- package/lib/sharing/ConsumeSharedPlugin.js +116 -97
- package/lib/sharing/ConsumeSharedRuntimeModule.js +4 -4
- package/lib/sharing/ProvideForSharedDependency.js +0 -1
- package/lib/sharing/ProvideSharedPlugin.js +2 -2
- package/lib/sharing/resolveMatchedConfigs.js +2 -1
- package/lib/sharing/utils.js +15 -27
- package/lib/stats/DefaultStatsFactoryPlugin.js +424 -281
- package/lib/stats/DefaultStatsPresetPlugin.js +73 -18
- package/lib/stats/DefaultStatsPrinterPlugin.js +370 -101
- package/lib/stats/StatsFactory.js +127 -56
- package/lib/stats/StatsPrinter.js +75 -44
- package/lib/util/ArrayHelpers.js +8 -4
- package/lib/util/ArrayQueue.js +1 -1
- package/lib/util/AsyncQueue.js +31 -12
- package/lib/util/IterableHelpers.js +3 -4
- package/lib/util/LazyBucketSortedSet.js +60 -44
- package/lib/util/LazySet.js +1 -0
- package/lib/util/MapHelpers.js +1 -3
- package/lib/util/ParallelismFactorCalculator.js +1 -1
- package/lib/util/Queue.js +1 -1
- package/lib/util/Semaphore.js +4 -7
- package/lib/util/SetHelpers.js +5 -5
- package/lib/util/SortableSet.js +4 -3
- package/lib/util/StackedCacheMap.js +4 -6
- package/lib/util/StackedMap.js +1 -3
- package/lib/util/StringXor.js +0 -5
- package/lib/util/TupleQueue.js +1 -1
- package/lib/util/TupleSet.js +15 -5
- package/lib/util/URLAbsoluteSpecifier.js +7 -7
- package/lib/util/WeakTupleMap.js +19 -21
- package/lib/util/binarySearchBounds.js +5 -12
- package/lib/util/chainedImports.js +1 -1
- package/lib/util/cleverMerge.js +21 -19
- package/lib/util/comparators.js +57 -52
- package/lib/util/compileBooleanMatcher.js +3 -6
- package/lib/util/conventions.js +8 -11
- package/lib/util/createHash.js +9 -6
- package/lib/util/deprecation.js +22 -12
- package/lib/util/deterministicGrouping.js +19 -26
- package/lib/util/findGraphRoots.js +2 -2
- package/lib/util/fs.js +31 -31
- package/lib/util/hash/md4.js +2 -2
- package/lib/util/hash/wasm-hash.js +7 -7
- package/lib/util/hash/xxhash64.js +2 -2
- package/lib/util/identifier.js +81 -59
- package/lib/util/memoize.js +8 -10
- package/lib/util/mergeScope.js +6 -9
- package/lib/util/nonNumericOnlyHash.js +2 -2
- package/lib/util/numberHash.js +1 -6
- package/lib/util/objectToMap.js +0 -1
- package/lib/util/propertyAccess.js +2 -5
- package/lib/util/propertyName.js +1 -3
- package/lib/util/registerExternalSerializer.js +1 -1
- package/lib/util/runtime.js +103 -113
- package/lib/util/semver.js +29 -27
- package/lib/util/serialization.js +16 -1
- package/lib/util/smartGrouping.js +5 -5
- package/lib/util/source.js +1 -1
- package/lib/wasm/EnableWasmLoadingPlugin.js +5 -4
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +3 -3
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +5 -6
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +3 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +20 -19
- package/lib/wasm-sync/WebAssemblyGenerator.js +14 -29
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +1 -1
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -2
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +2 -3
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +3 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +1 -1
- package/package.json +15 -14
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +1 -0
- package/schemas/plugins/container/ExternalsType.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.check.js +1 -1
- package/schemas/plugins/container/ModuleFederationPlugin.json +1 -0
- package/types.d.ts +667 -347
package/README.md
CHANGED
@@ -8,9 +8,10 @@
|
|
8
8
|
[![npm][npm]][npm-url]
|
9
9
|
|
10
10
|
[![node][node]][node-url]
|
11
|
+
[![builds1][builds1]][builds1-url]
|
11
12
|
[![builds2][builds2]][builds2-url]
|
13
|
+
[![dependency-review][dependency-review]][dependency-review-url]
|
12
14
|
[![coverage][cover]][cover-url]
|
13
|
-
[![licenses][licenses]][licenses-url]
|
14
15
|
[![PR's welcome][prs]][prs-url]
|
15
16
|
|
16
17
|
<br>
|
@@ -716,9 +717,11 @@ src="https://static.monei.net/monei-logo.svg" height="30" alt="MONEI"></a>
|
|
716
717
|
[node-url]: https://nodejs.org
|
717
718
|
[prs]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
|
718
719
|
[prs-url]: https://webpack.js.org/contribute/
|
719
|
-
[
|
720
|
-
[
|
721
|
-
[
|
722
|
-
[
|
720
|
+
[builds1]: https://github.com/webpack/webpack/actions/workflows/test.yml/badge.svg
|
721
|
+
[builds1-url]: https://github.com/webpack/webpack/actions/workflows/test.yml
|
722
|
+
[builds2]: https://dev.azure.com/webpack/webpack/_apis/build/status%2Fwebpack.webpack?branchName=main
|
723
|
+
[builds2-url]: https://dev.azure.com/webpack/webpack/_build/latest?definitionId=3&branchName=main
|
724
|
+
[dependency-review-url]: https://github.com/webpack/webpack/actions/workflows/dependency-review.yml
|
725
|
+
[dependency-review]: https://github.com/webpack/webpack/actions/workflows/dependency-review.yml/badge.svg
|
723
726
|
[cover]: https://codecov.io/gh/webpack/webpack/branch/master/graph/badge.svg?token=mDP3mQJNnn
|
724
727
|
[cover-url]: https://codecov.io/gh/webpack/webpack
|
package/bin/webpack.js
CHANGED
@@ -80,8 +80,8 @@ const runCli = cli => {
|
|
80
80
|
|
81
81
|
if (pkg.type === "module" || /\.mjs/i.test(pkg.bin[cli.binName])) {
|
82
82
|
import(path.resolve(path.dirname(pkgPath), pkg.bin[cli.binName])).catch(
|
83
|
-
|
84
|
-
console.error(
|
83
|
+
err => {
|
84
|
+
console.error(err);
|
85
85
|
process.exitCode = 1;
|
86
86
|
}
|
87
87
|
);
|
@@ -113,8 +113,7 @@ if (!cli.installed) {
|
|
113
113
|
const fs = require("graceful-fs");
|
114
114
|
const readLine = require("readline");
|
115
115
|
|
116
|
-
const notify =
|
117
|
-
"CLI for webpack must be installed.\n" + ` ${cli.name} (${cli.url})\n`;
|
116
|
+
const notify = `CLI for webpack must be installed.\n ${cli.name} (${cli.url})\n`;
|
118
117
|
|
119
118
|
console.error(notify);
|
120
119
|
|
@@ -137,7 +136,7 @@ if (!cli.installed) {
|
|
137
136
|
)} ${cli.package}".`
|
138
137
|
);
|
139
138
|
|
140
|
-
const question =
|
139
|
+
const question = "Do you want to install 'webpack-cli' (yes/no): ";
|
141
140
|
|
142
141
|
const questionInterface = readLine.createInterface({
|
143
142
|
input: process.stdin,
|
@@ -178,8 +177,8 @@ if (!cli.installed) {
|
|
178
177
|
.then(() => {
|
179
178
|
runCli(cli);
|
180
179
|
})
|
181
|
-
.catch(
|
182
|
-
console.error(
|
180
|
+
.catch(err => {
|
181
|
+
console.error(err);
|
183
182
|
process.exitCode = 1;
|
184
183
|
});
|
185
184
|
});
|
package/hot/log.js
CHANGED
package/hot/only-dev-server.js
CHANGED
package/hot/poll.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
3
|
Author Tobias Koppers @sokra
|
4
4
|
*/
|
5
|
-
/*globals __resourceQuery */
|
5
|
+
/* globals __resourceQuery */
|
6
6
|
if (module.hot) {
|
7
7
|
var hotPollInterval = +__resourceQuery.slice(1) || 10 * 60 * 1000;
|
8
8
|
var log = require("./log");
|
package/hot/signal.js
CHANGED
package/lib/APIPlugin.js
CHANGED
@@ -144,6 +144,7 @@ class APIPlugin {
|
|
144
144
|
constructor(options = {}) {
|
145
145
|
this.options = options;
|
146
146
|
}
|
147
|
+
|
147
148
|
/**
|
148
149
|
* Apply the plugin
|
149
150
|
* @param {Compiler} compiler the compiler instance
|
@@ -213,7 +214,7 @@ class APIPlugin {
|
|
213
214
|
* @param {JavascriptParser} parser the parser
|
214
215
|
*/
|
215
216
|
const handler = parser => {
|
216
|
-
Object.keys(REPLACEMENTS)
|
217
|
+
for (const key of Object.keys(REPLACEMENTS)) {
|
217
218
|
const info = REPLACEMENTS[key];
|
218
219
|
parser.hooks.expression.for(key).tap(PLUGIN_NAME, expression => {
|
219
220
|
const dep = toConstantDependency(parser, info.expr, info.req);
|
@@ -237,7 +238,7 @@ class APIPlugin {
|
|
237
238
|
.for(key)
|
238
239
|
.tap(PLUGIN_NAME, evaluateToString(info.type));
|
239
240
|
}
|
240
|
-
}
|
241
|
+
}
|
241
242
|
|
242
243
|
parser.hooks.expression
|
243
244
|
.for("__webpack_layer__")
|
@@ -277,7 +278,7 @@ class APIPlugin {
|
|
277
278
|
(parser.state.module.buildInfo).moduleConcatenationBailout =
|
278
279
|
"__webpack_module__.id";
|
279
280
|
const dep = new ConstDependency(
|
280
|
-
parser.state.module.moduleArgument
|
281
|
+
`${parser.state.module.moduleArgument}.id`,
|
281
282
|
/** @type {Range} */ (expr.range),
|
282
283
|
[RuntimeGlobals.moduleId]
|
283
284
|
);
|
@@ -13,18 +13,22 @@ const CURRENT_METHOD_REGEXP = /at ([a-zA-Z0-9_.]*)/;
|
|
13
13
|
* @returns {string} message
|
14
14
|
*/
|
15
15
|
function createMessage(method) {
|
16
|
-
return `Abstract method${method ?
|
16
|
+
return `Abstract method${method ? ` ${method}` : ""}. Must be overridden.`;
|
17
17
|
}
|
18
18
|
|
19
19
|
/**
|
20
20
|
* @constructor
|
21
21
|
*/
|
22
22
|
function Message() {
|
23
|
-
/** @type {string} */
|
23
|
+
/** @type {string | undefined} */
|
24
24
|
this.stack = undefined;
|
25
25
|
Error.captureStackTrace(this);
|
26
|
-
/** @type {RegExpMatchArray} */
|
27
|
-
const match =
|
26
|
+
/** @type {RegExpMatchArray | null} */
|
27
|
+
const match =
|
28
|
+
/** @type {string} */
|
29
|
+
(/** @type {unknown} */ (this.stack))
|
30
|
+
.split("\n")[3]
|
31
|
+
.match(CURRENT_METHOD_REGEXP);
|
28
32
|
|
29
33
|
this.message = match && match[1] ? createMessage(match[1]) : createMessage();
|
30
34
|
}
|
@@ -32,12 +36,13 @@ function Message() {
|
|
32
36
|
/**
|
33
37
|
* Error for abstract method
|
34
38
|
* @example
|
39
|
+
* ```js
|
35
40
|
* class FooClass {
|
36
41
|
* abstractMethod() {
|
37
42
|
* throw new AbstractMethodError(); // error message: Abstract method FooClass.abstractMethod. Must be overridden.
|
38
43
|
* }
|
39
44
|
* }
|
40
|
-
*
|
45
|
+
* ```
|
41
46
|
*/
|
42
47
|
class AbstractMethodError extends WebpackError {
|
43
48
|
constructor() {
|
package/lib/BannerPlugin.js
CHANGED
@@ -14,7 +14,9 @@ const createSchemaValidation = require("./util/create-schema-validation");
|
|
14
14
|
/** @typedef {import("../declarations/plugins/BannerPlugin").BannerFunction} BannerFunction */
|
15
15
|
/** @typedef {import("../declarations/plugins/BannerPlugin").BannerPluginArgument} BannerPluginArgument */
|
16
16
|
/** @typedef {import("../declarations/plugins/BannerPlugin").BannerPluginOptions} BannerPluginOptions */
|
17
|
+
/** @typedef {import("./Compilation").PathData} PathData */
|
17
18
|
/** @typedef {import("./Compiler")} Compiler */
|
19
|
+
/** @typedef {import("./TemplatedPathPlugin").TemplatePath} TemplatePath */
|
18
20
|
|
19
21
|
const validate = createSchemaValidation(
|
20
22
|
require("../schemas/plugins/BannerPlugin.check.js"),
|
@@ -59,6 +61,7 @@ class BannerPlugin {
|
|
59
61
|
const bannerOption = options.banner;
|
60
62
|
if (typeof bannerOption === "function") {
|
61
63
|
const getBanner = bannerOption;
|
64
|
+
/** @type {BannerFunction} */
|
62
65
|
this.banner = this.options.raw
|
63
66
|
? getBanner
|
64
67
|
: /** @type {BannerFunction} */ data => wrapComment(getBanner(data));
|
@@ -66,6 +69,7 @@ class BannerPlugin {
|
|
66
69
|
const banner = this.options.raw
|
67
70
|
? bannerOption
|
68
71
|
: wrapComment(bannerOption);
|
72
|
+
/** @type {BannerFunction} */
|
69
73
|
this.banner = () => banner;
|
70
74
|
}
|
71
75
|
}
|
@@ -103,15 +107,17 @@ class BannerPlugin {
|
|
103
107
|
continue;
|
104
108
|
}
|
105
109
|
|
106
|
-
|
107
|
-
|
108
|
-
filename: file
|
109
|
-
};
|
110
|
+
/** @type {PathData} */
|
111
|
+
const data = { chunk, filename: file };
|
110
112
|
|
111
|
-
const comment = compilation.getPath(
|
113
|
+
const comment = compilation.getPath(
|
114
|
+
/** @type {TemplatePath} */
|
115
|
+
(banner),
|
116
|
+
data
|
117
|
+
);
|
112
118
|
|
113
119
|
compilation.updateAsset(file, old => {
|
114
|
-
|
120
|
+
const cached = cache.get(old);
|
115
121
|
if (!cached || cached.comment !== comment) {
|
116
122
|
const source = options.footer
|
117
123
|
? new ConcatSource(old, "\n", comment)
|
package/lib/Cache.js
CHANGED
@@ -38,16 +38,14 @@ const {
|
|
38
38
|
* @param {function(Error=): void} callback callback
|
39
39
|
* @returns {function(Error=): void} callback
|
40
40
|
*/
|
41
|
-
const needCalls = (times, callback) => {
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
}
|
50
|
-
};
|
41
|
+
const needCalls = (times, callback) => err => {
|
42
|
+
if (--times === 0) {
|
43
|
+
return callback(err);
|
44
|
+
}
|
45
|
+
if (err && times > 0) {
|
46
|
+
times = 0;
|
47
|
+
return callback(err);
|
48
|
+
}
|
51
49
|
};
|
52
50
|
|
53
51
|
class Cache {
|
package/lib/CacheFacade.js
CHANGED
@@ -38,6 +38,7 @@ class MultiItemCache {
|
|
38
38
|
*/
|
39
39
|
constructor(items) {
|
40
40
|
this._items = items;
|
41
|
+
// eslint-disable-next-line no-constructor-return
|
41
42
|
if (items.length === 1) return /** @type {any} */ (items[0]);
|
42
43
|
}
|
43
44
|
|
@@ -59,12 +60,11 @@ class MultiItemCache {
|
|
59
60
|
* @param {number} i index
|
60
61
|
* @returns {Promise<T>} promise with the data
|
61
62
|
*/
|
62
|
-
const next = i =>
|
63
|
-
|
63
|
+
const next = i =>
|
64
|
+
this._items[i].getPromise().then(result => {
|
64
65
|
if (result !== undefined) return result;
|
65
66
|
if (++i < this._items.length) return next(i);
|
66
67
|
});
|
67
|
-
};
|
68
68
|
return next(0);
|
69
69
|
}
|
70
70
|
|
@@ -14,8 +14,8 @@ const WebpackError = require("./WebpackError");
|
|
14
14
|
* @param {Module[]} modules the modules to be sorted
|
15
15
|
* @returns {Module[]} sorted version of original modules
|
16
16
|
*/
|
17
|
-
const sortModules = modules =>
|
18
|
-
|
17
|
+
const sortModules = modules =>
|
18
|
+
modules.sort((a, b) => {
|
19
19
|
const aIdent = a.identifier();
|
20
20
|
const bIdent = b.identifier();
|
21
21
|
/* istanbul ignore next */
|
@@ -25,20 +25,19 @@ const sortModules = modules => {
|
|
25
25
|
/* istanbul ignore next */
|
26
26
|
return 0;
|
27
27
|
});
|
28
|
-
};
|
29
28
|
|
30
29
|
/**
|
31
30
|
* @param {Module[]} modules each module from throw
|
32
31
|
* @param {ModuleGraph} moduleGraph the module graph
|
33
32
|
* @returns {string} each message from provided modules
|
34
33
|
*/
|
35
|
-
const createModulesListMessage = (modules, moduleGraph) =>
|
36
|
-
|
34
|
+
const createModulesListMessage = (modules, moduleGraph) =>
|
35
|
+
modules
|
37
36
|
.map(m => {
|
38
37
|
let message = `* ${m.identifier()}`;
|
39
38
|
const validReasons = Array.from(
|
40
39
|
moduleGraph.getIncomingConnectionsByOriginModule(m).keys()
|
41
|
-
).filter(
|
40
|
+
).filter(Boolean);
|
42
41
|
|
43
42
|
if (validReasons.length > 0) {
|
44
43
|
message += `\n Used by ${validReasons.length} module(s), i. e.`;
|
@@ -49,7 +48,6 @@ const createModulesListMessage = (modules, moduleGraph) => {
|
|
49
48
|
return message;
|
50
49
|
})
|
51
50
|
.join("\n");
|
52
|
-
};
|
53
51
|
|
54
52
|
class CaseSensitiveModulesWarning extends WebpackError {
|
55
53
|
/**
|
package/lib/Chunk.js
CHANGED
@@ -22,14 +22,15 @@ const { mergeRuntime } = require("./util/runtime");
|
|
22
22
|
/** @typedef {import("./ChunkGraph").ChunkFilterPredicate} ChunkFilterPredicate */
|
23
23
|
/** @typedef {import("./ChunkGraph").ChunkSizeOptions} ChunkSizeOptions */
|
24
24
|
/** @typedef {import("./ChunkGraph").ModuleFilterPredicate} ModuleFilterPredicate */
|
25
|
+
/** @typedef {import("./ChunkGraph").ModuleId} ModuleId */
|
25
26
|
/** @typedef {import("./ChunkGroup")} ChunkGroup */
|
26
27
|
/** @typedef {import("./ChunkGroup").ChunkGroupOptions} ChunkGroupOptions */
|
27
28
|
/** @typedef {import("./Compilation")} Compilation */
|
28
29
|
/** @typedef {import("./Compilation").AssetInfo} AssetInfo */
|
29
|
-
/** @typedef {import("./Compilation").PathData} PathData */
|
30
30
|
/** @typedef {import("./Entrypoint").EntryOptions} EntryOptions */
|
31
31
|
/** @typedef {import("./Module")} Module */
|
32
32
|
/** @typedef {import("./ModuleGraph")} ModuleGraph */
|
33
|
+
/** @typedef {import("./TemplatedPathPlugin").TemplatePath} TemplatePath */
|
33
34
|
/** @typedef {import("./util/Hash")} Hash */
|
34
35
|
/** @typedef {import("./util/runtime").RuntimeSpec} RuntimeSpec */
|
35
36
|
|
@@ -81,9 +82,9 @@ class Chunk {
|
|
81
82
|
this.idNameHints = new SortableSet();
|
82
83
|
/** @type {boolean} */
|
83
84
|
this.preventIntegration = false;
|
84
|
-
/** @type {
|
85
|
+
/** @type {TemplatePath | undefined} */
|
85
86
|
this.filenameTemplate = undefined;
|
86
|
-
/** @type {
|
87
|
+
/** @type {TemplatePath | undefined} */
|
87
88
|
this.cssFilenameTemplate = undefined;
|
88
89
|
/**
|
89
90
|
* @private
|
@@ -124,11 +125,11 @@ class Chunk {
|
|
124
125
|
return undefined;
|
125
126
|
} else if (entryModules.length === 1) {
|
126
127
|
return entryModules[0];
|
127
|
-
} else {
|
128
|
-
throw new Error(
|
129
|
-
"Module.entryModule: Multiple entry modules are not supported by the deprecated API (Use the new ChunkGroup API)"
|
130
|
-
);
|
131
128
|
}
|
129
|
+
|
130
|
+
throw new Error(
|
131
|
+
"Module.entryModule: Multiple entry modules are not supported by the deprecated API (Use the new ChunkGroup API)"
|
132
|
+
);
|
132
133
|
}
|
133
134
|
|
134
135
|
/**
|
@@ -271,9 +272,9 @@ class Chunk {
|
|
271
272
|
if (chunkGraph.canChunksBeIntegrated(this, otherChunk)) {
|
272
273
|
chunkGraph.integrateChunks(this, otherChunk);
|
273
274
|
return true;
|
274
|
-
} else {
|
275
|
-
return false;
|
276
275
|
}
|
276
|
+
|
277
|
+
return false;
|
277
278
|
}
|
278
279
|
|
279
280
|
/**
|
@@ -367,7 +368,9 @@ class Chunk {
|
|
367
368
|
array = [];
|
368
369
|
chunkModuleIdMap[/** @type {ChunkId} */ (asyncChunk.id)] = array;
|
369
370
|
}
|
370
|
-
const moduleId =
|
371
|
+
const moduleId =
|
372
|
+
/** @type {ModuleId} */
|
373
|
+
(chunkGraph.getModuleId(module));
|
371
374
|
array.push(moduleId);
|
372
375
|
chunkModuleHashMap[moduleId] = chunkGraph.getRenderedModuleHash(
|
373
376
|
module,
|
@@ -766,7 +769,7 @@ class Chunk {
|
|
766
769
|
});
|
767
770
|
}
|
768
771
|
}
|
769
|
-
if (list.length === 0) return
|
772
|
+
if (list.length === 0) return;
|
770
773
|
list.sort((a, b) => {
|
771
774
|
const cmp =
|
772
775
|
/** @type {number} */ (b.order) - /** @type {number} */ (a.order);
|