@depup/webpack 5.106.0-depup.0 → 5.109.0-depup.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 +9 -11
- package/changes.json +16 -24
- package/hot/dev-server.js +2 -0
- package/lib/APIPlugin.js +60 -35
- package/lib/AsyncDependenciesBlock.js +3 -0
- package/lib/AutomaticPrefetchPlugin.js +6 -1
- package/lib/BannerPlugin.js +13 -5
- package/lib/Cache.js +27 -5
- package/lib/CacheFacade.js +41 -0
- package/lib/Chunk.js +71 -25
- package/lib/ChunkGraph.js +141 -9
- package/lib/ChunkGroup.js +115 -28
- package/lib/ChunkTemplate.js +9 -0
- package/lib/CircularModulesPlugin.js +190 -0
- package/lib/CleanPlugin.js +23 -26
- package/lib/CodeGenerationResults.js +19 -0
- package/lib/CompatibilityPlugin.js +54 -37
- package/lib/Compilation.js +635 -107
- package/lib/Compiler.js +93 -31
- package/lib/ConcatenationScope.js +34 -4
- package/lib/ConditionalInitFragment.js +6 -0
- package/lib/ConstPlugin.js +15 -12
- package/lib/ContextExclusionPlugin.js +3 -1
- package/lib/ContextModule.js +345 -55
- package/lib/ContextModuleFactory.js +193 -51
- package/lib/ContextReplacementPlugin.js +8 -1
- package/lib/DefinePlugin.js +498 -127
- package/lib/DependenciesBlock.js +6 -1
- package/lib/Dependency.js +159 -11
- package/lib/DependencyTemplate.js +7 -1
- package/lib/DependencyTemplates.js +4 -0
- package/lib/DotenvPlugin.js +3 -0
- package/lib/DynamicEntryPlugin.js +3 -1
- package/lib/EntryOptionPlugin.js +42 -2
- package/lib/EntryPlugin.js +4 -1
- package/lib/Entrypoint.js +5 -1
- package/lib/EnvironmentPlugin.js +3 -2
- package/lib/ErrorHelpers.js +7 -0
- package/lib/EvalDevToolModulePlugin.js +3 -1
- package/lib/EvalSourceMapDevToolPlugin.js +11 -11
- package/lib/ExportsInfo.js +399 -108
- package/lib/ExportsInfoApiPlugin.js +4 -3
- package/lib/ExternalModule.js +376 -78
- package/lib/ExternalModuleFactoryPlugin.js +75 -3
- package/lib/ExternalsPlugin.js +3 -1
- package/lib/FileSystemInfo.js +575 -149
- package/lib/FlagAllModulesAsUsedPlugin.js +3 -6
- package/lib/FlagDependencyExportsPlugin.js +82 -9
- package/lib/FlagDependencyUsagePlugin.js +92 -6
- package/lib/FlagEntryExportAsUsedPlugin.js +4 -1
- package/lib/Generator.js +24 -3
- package/lib/HotModuleReplacementPlugin.js +110 -44
- package/lib/IgnorePlugin.js +5 -2
- package/lib/IgnoreWarningsPlugin.js +2 -1
- package/lib/InitFragment.js +15 -0
- package/lib/JavascriptMetaInfoPlugin.js +9 -6
- package/lib/LazyBarrel.js +389 -0
- package/lib/LibraryTemplatePlugin.js +2 -1
- package/lib/LoaderOptionsPlugin.js +3 -1
- package/lib/LoaderTargetPlugin.js +3 -1
- package/lib/MainTemplate.js +15 -0
- package/lib/ManifestPlugin.js +9 -2
- package/lib/Module.js +121 -60
- package/lib/ModuleFactory.js +6 -1
- package/lib/ModuleFilenameHelpers.js +5 -2
- package/lib/ModuleGraph.js +69 -2
- package/lib/ModuleGraphConnection.js +9 -0
- package/lib/ModuleInfoHeaderPlugin.js +5 -0
- package/lib/ModuleNotFoundError.js +3 -83
- package/lib/ModuleProfile.js +27 -1
- package/lib/ModuleSourceTypeConstants.js +52 -19
- package/lib/ModuleTemplate.js +10 -0
- package/lib/ModuleTypeConstants.js +20 -4
- package/lib/MultiCompiler.js +59 -4
- package/lib/MultiStats.js +9 -0
- package/lib/MultiWatching.js +6 -0
- package/lib/NoEmitOnErrorsPlugin.js +1 -1
- package/lib/NodeStuffPlugin.js +78 -46
- package/lib/NormalModule.js +485 -181
- package/lib/NormalModuleFactory.js +148 -29
- package/lib/NormalModuleReplacementPlugin.js +3 -1
- package/lib/NullFactory.js +1 -0
- package/lib/OptionsApply.js +1 -0
- package/lib/Parser.js +3 -1
- package/lib/PlatformPlugin.js +2 -1
- package/lib/PrefetchPlugin.js +4 -1
- package/lib/ProgressPlugin.js +351 -161
- package/lib/ProvidePlugin.js +6 -3
- package/lib/RawModule.js +32 -16
- package/lib/RecordIdsPlugin.js +9 -0
- package/lib/RequestShortener.js +8 -0
- package/lib/ResolverFactory.js +5 -0
- package/lib/RuntimeGlobals.js +58 -5
- package/lib/RuntimeModule.js +22 -7
- package/lib/RuntimePlugin.js +104 -26
- package/lib/RuntimeTemplate.js +616 -37
- package/lib/SelfModuleFactory.js +3 -0
- package/lib/SourceMapDevToolModuleOptionsPlugin.js +2 -0
- package/lib/SourceMapDevToolPlugin.js +341 -63
- package/lib/Stats.js +6 -0
- package/lib/Template.js +29 -3
- package/lib/TemplatedPathPlugin.js +505 -138
- package/lib/UseStrictPlugin.js +3 -2
- package/lib/WarnCaseSensitiveModulesPlugin.js +72 -3
- package/lib/WarnDeprecatedOptionPlugin.js +6 -2
- package/lib/WarnNoModeSetPlugin.js +18 -2
- package/lib/WatchIgnorePlugin.js +5 -1
- package/lib/Watching.js +25 -3
- package/lib/WebpackError.js +3 -74
- package/lib/WebpackIsIncludedPlugin.js +4 -2
- package/lib/WebpackOptionsApply.js +88 -25
- package/lib/WebpackOptionsDefaulter.js +1 -0
- package/lib/asset/AssetBytesGenerator.js +28 -10
- package/lib/asset/AssetBytesParser.js +1 -0
- package/lib/asset/AssetGenerator.js +199 -60
- package/lib/asset/AssetModule.js +47 -0
- package/lib/asset/AssetModulesPlugin.js +115 -24
- package/lib/asset/AssetParser.js +4 -2
- package/lib/asset/AssetSourceGenerator.js +26 -8
- package/lib/asset/AssetSourceParser.js +1 -0
- package/lib/asset/RawDataUrlModule.js +23 -13
- package/lib/asset/WebManifestGenerator.js +164 -0
- package/lib/asset/WebManifestParser.js +130 -0
- package/lib/async-modules/AsyncModuleHelpers.js +1 -0
- package/lib/async-modules/AwaitDependenciesInitFragment.js +18 -4
- package/lib/async-modules/InferAsyncModulesPlugin.js +1 -1
- package/lib/async-modules/isGeneratorLowered.js +26 -0
- package/lib/buildChunkGraph.js +107 -15
- package/lib/bun/BunTargetPlugin.js +42 -0
- package/lib/cache/AddBuildDependenciesPlugin.js +3 -1
- package/lib/cache/AddManagedPathsPlugin.js +5 -1
- package/lib/cache/IdleFileCachePlugin.js +6 -1
- package/lib/cache/MemoryCachePlugin.js +1 -1
- package/lib/cache/MemoryWithGcCachePlugin.js +4 -1
- package/lib/cache/PackFileCacheStrategy.js +43 -7
- package/lib/cache/ResolverCachePlugin.js +12 -1
- package/lib/cache/getLazyHashedEtag.js +13 -2
- package/lib/cache/mergeEtags.js +4 -0
- package/lib/cli.js +142 -20
- package/lib/config/browserslistTargetHandler.js +141 -0
- package/lib/config/defaults.js +591 -41
- package/lib/config/defineConfig.js +31 -0
- package/lib/config/normalization.js +46 -1
- package/lib/config/target.js +200 -2
- package/lib/container/ContainerEntryDependency.js +2 -0
- package/lib/container/ContainerEntryModule.js +27 -14
- package/lib/container/ContainerEntryModuleFactory.js +1 -0
- package/lib/container/ContainerExposedDependency.js +6 -2
- package/lib/container/ContainerPlugin.js +2 -1
- package/lib/container/ContainerReferencePlugin.js +3 -2
- package/lib/container/FallbackDependency.js +9 -7
- package/lib/container/FallbackItemDependency.js +1 -0
- package/lib/container/FallbackModule.js +22 -9
- package/lib/container/FallbackModuleFactory.js +1 -0
- package/lib/container/ModuleFederationPlugin.js +12 -26
- package/lib/container/RemoteModule.js +33 -10
- package/lib/container/RemoteRuntimeModule.js +15 -12
- package/lib/container/RemoteToExternalDependency.js +1 -0
- package/lib/container/options.js +7 -0
- package/lib/css/CssGenerator.js +534 -272
- package/lib/css/CssInjectStyleRuntimeModule.js +86 -70
- package/lib/css/CssLoadingRuntimeModule.js +156 -77
- package/lib/{CssModule.js → css/CssModule.js} +72 -37
- package/lib/css/CssModulesPlugin.js +356 -204
- package/lib/css/CssParser.js +3452 -1950
- package/lib/css/syntax.js +4058 -0
- package/lib/debug/ProfilingPlugin.js +33 -2
- package/lib/deno/DenoTargetPlugin.js +41 -0
- package/lib/dependencies/AMDDefineDependency.js +29 -17
- package/lib/dependencies/AMDDefineDependencyParserPlugin.js +19 -6
- package/lib/dependencies/AMDPlugin.js +6 -3
- package/lib/dependencies/AMDRequireArrayDependency.js +13 -11
- package/lib/dependencies/AMDRequireContextDependency.js +10 -11
- package/lib/dependencies/AMDRequireDependenciesBlock.js +1 -0
- package/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +28 -14
- package/lib/dependencies/AMDRequireDependency.js +28 -20
- package/lib/dependencies/AMDRequireItemDependency.js +1 -0
- package/lib/dependencies/AMDRuntimeModules.js +3 -0
- package/lib/dependencies/CachedConstDependency.js +9 -1
- package/lib/dependencies/CommonJsDependencyHelpers.js +104 -0
- package/lib/dependencies/CommonJsExportRequireDependency.js +138 -38
- package/lib/dependencies/CommonJsExportsDependency.js +74 -20
- package/lib/dependencies/CommonJsExportsParserPlugin.js +246 -15
- package/lib/dependencies/CommonJsFullRequireDependency.js +62 -27
- package/lib/dependencies/CommonJsImportsParserPlugin.js +187 -24
- package/lib/dependencies/CommonJsPlugin.js +7 -4
- package/lib/dependencies/CommonJsRequireContextDependency.js +13 -13
- package/lib/dependencies/CommonJsRequireDependency.js +135 -13
- package/lib/dependencies/CommonJsSelfReferenceDependency.js +60 -16
- package/lib/dependencies/ConstDependency.js +22 -12
- package/lib/dependencies/ContextDependency.js +13 -2
- package/lib/dependencies/ContextDependencyHelpers.js +7 -4
- package/lib/dependencies/ContextDependencyTemplateAsId.js +2 -1
- package/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +1 -0
- package/lib/dependencies/ContextElementDependency.js +27 -14
- package/lib/dependencies/CreateRequireParserPlugin.js +14 -7
- package/lib/dependencies/CreateScriptUrlDependency.js +9 -7
- package/lib/dependencies/CriticalDependencyWarning.js +3 -1
- package/lib/dependencies/CssIcssExportDependency.js +682 -368
- package/lib/dependencies/CssIcssImportDependency.js +62 -17
- package/lib/dependencies/CssIcssSymbolDependency.js +36 -17
- package/lib/dependencies/CssImportDependency.js +37 -1
- package/lib/dependencies/CssUrlDependency.js +87 -14
- package/lib/dependencies/DelegatedSourceDependency.js +1 -0
- package/lib/dependencies/DllEntryDependency.js +12 -13
- package/lib/dependencies/DynamicExports.js +5 -0
- package/lib/dependencies/EntryDependency.js +1 -0
- package/lib/dependencies/ExportBindingInitFragment.js +164 -0
- package/lib/dependencies/ExportsInfoDependency.js +18 -12
- package/lib/dependencies/ExternalModuleDependency.js +13 -5
- package/lib/dependencies/ExternalModuleInitFragment.js +10 -5
- package/lib/dependencies/ExternalModuleInitFragmentDependency.js +19 -12
- package/lib/dependencies/HarmonyAcceptDependency.js +24 -26
- package/lib/dependencies/HarmonyAcceptImportDependency.js +2 -0
- package/lib/dependencies/HarmonyCompatibilityDependency.js +33 -14
- package/lib/dependencies/HarmonyDetectionParserPlugin.js +108 -30
- package/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +32 -2
- package/lib/dependencies/HarmonyExportDependencyParserPlugin.js +70 -33
- package/lib/dependencies/HarmonyExportExpressionDependency.js +140 -46
- package/lib/dependencies/HarmonyExportHeaderDependency.js +11 -9
- package/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +253 -37
- package/lib/dependencies/HarmonyExportInitFragment.js +28 -20
- package/lib/dependencies/HarmonyExportSpecifierDependency.js +88 -18
- package/lib/dependencies/HarmonyExports.js +6 -1
- package/lib/dependencies/HarmonyImportDependency.js +59 -3
- package/lib/dependencies/HarmonyImportDependencyParserPlugin.js +139 -146
- package/lib/dependencies/HarmonyImportGuard.js +426 -0
- package/lib/dependencies/HarmonyImportSideEffectDependency.js +22 -1
- package/lib/dependencies/HarmonyImportSpecifierDependency.js +136 -17
- package/lib/{HarmonyLinkingError.js → dependencies/HarmonyLinkingError.js} +6 -3
- package/lib/dependencies/HarmonyModulesPlugin.js +11 -1
- package/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +2 -1
- package/lib/dependencies/HtmlEntryDependency.js +1295 -0
- package/lib/dependencies/HtmlInlineHtmlDependency.js +107 -0
- package/lib/dependencies/HtmlInlineScriptDependency.js +126 -0
- package/lib/dependencies/HtmlInlineStyleDependency.js +152 -0
- package/lib/dependencies/HtmlSourceDependency.js +172 -0
- package/lib/dependencies/ImportContextDependency.js +9 -9
- package/lib/dependencies/ImportDependency.js +92 -3
- package/lib/dependencies/ImportEagerDependency.js +2 -0
- package/lib/dependencies/ImportMetaContextDependency.js +1 -0
- package/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +35 -19
- package/lib/dependencies/ImportMetaContextPlugin.js +40 -8
- package/lib/dependencies/ImportMetaGlobDependency.js +81 -0
- package/lib/dependencies/ImportMetaGlobDependencyParserPlugin.js +78 -0
- package/lib/dependencies/ImportMetaGlobHelpers.js +660 -0
- package/lib/dependencies/ImportMetaHotAcceptDependency.js +2 -0
- package/lib/dependencies/ImportMetaHotDeclineDependency.js +2 -0
- package/lib/dependencies/ImportMetaPlugin.js +595 -209
- package/lib/dependencies/ImportMetaResolveDependency.js +90 -0
- package/lib/dependencies/ImportParserPlugin.js +114 -27
- package/lib/dependencies/ImportPhase.js +17 -11
- package/lib/dependencies/ImportPlugin.js +2 -1
- package/lib/dependencies/ImportWeakDependency.js +3 -0
- package/lib/dependencies/JsonExportsDependency.js +15 -10
- package/lib/dependencies/LoaderDependency.js +2 -0
- package/lib/dependencies/LoaderImportDependency.js +3 -0
- package/lib/dependencies/LoaderPlugin.js +9 -2
- package/lib/dependencies/LocalModule.js +15 -12
- package/lib/dependencies/LocalModuleDependency.js +15 -13
- package/lib/dependencies/LocalModulesHelpers.js +3 -0
- package/lib/dependencies/ModuleDecoratorDependency.js +16 -10
- package/lib/dependencies/ModuleDependency.js +14 -0
- package/lib/dependencies/ModuleDependencyTemplateAsId.js +1 -0
- package/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +1 -0
- package/lib/dependencies/ModuleHotAcceptDependency.js +2 -0
- package/lib/dependencies/ModuleHotDeclineDependency.js +2 -0
- package/lib/dependencies/ModuleInitFragmentDependency.js +19 -11
- package/lib/dependencies/NullDependency.js +2 -0
- package/lib/dependencies/PrefetchDependency.js +1 -0
- package/lib/dependencies/ProvidedDependency.js +36 -27
- package/lib/dependencies/PureExpressionDependency.js +14 -10
- package/lib/dependencies/RequireContextDependency.js +1 -0
- package/lib/dependencies/RequireContextDependencyParserPlugin.js +2 -1
- package/lib/dependencies/RequireContextPlugin.js +2 -1
- package/lib/dependencies/RequireEnsureDependenciesBlock.js +1 -0
- package/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +4 -6
- package/lib/dependencies/RequireEnsureDependency.js +16 -13
- package/lib/dependencies/RequireEnsureItemDependency.js +1 -0
- package/lib/dependencies/RequireEnsurePlugin.js +2 -1
- package/lib/dependencies/RequireHeaderDependency.js +7 -4
- package/lib/dependencies/RequireIncludeDependency.js +2 -0
- package/lib/dependencies/RequireIncludeDependencyParserPlugin.js +11 -12
- package/lib/dependencies/RequireIncludePlugin.js +2 -1
- package/lib/{RequireJsStuffPlugin.js → dependencies/RequireJsStuffPlugin.js} +9 -8
- package/lib/dependencies/RequireResolveContextDependency.js +10 -11
- package/lib/dependencies/RequireResolveDependency.js +2 -0
- package/lib/dependencies/RequireResolveHeaderDependency.js +8 -5
- package/lib/dependencies/RuntimeRequirementsDependency.js +11 -8
- package/lib/dependencies/StaticExportsDependency.js +13 -10
- package/lib/dependencies/SystemPlugin.js +9 -6
- package/lib/dependencies/SystemRuntimeModule.js +1 -0
- package/lib/dependencies/TopLevelAwaitDependency.js +93 -0
- package/lib/dependencies/URLContextDependency.js +8 -7
- package/lib/dependencies/URLDependency.js +157 -33
- package/lib/dependencies/URLPlugin.js +2 -0
- package/lib/dependencies/UnsupportedDependency.js +12 -13
- package/lib/dependencies/WebAssemblyExportImportedDependency.js +15 -16
- package/lib/dependencies/WebAssemblyImportDependency.js +19 -18
- package/lib/dependencies/WebpackIsIncludedDependency.js +3 -0
- package/lib/dependencies/{WorkerPlugin.js → WorkerAndWorkletPlugin.js} +364 -114
- package/lib/dependencies/WorkerDependency.js +111 -27
- package/lib/dependencies/WorkletDependency.js +278 -0
- package/lib/dependencies/getFunctionExpression.js +1 -0
- package/lib/dependencies/processExportInfo.js +14 -11
- package/lib/{DelegatedModule.js → dll/DelegatedModule.js} +71 -44
- package/lib/{DelegatedModuleFactoryPlugin.js → dll/DelegatedModuleFactoryPlugin.js} +27 -4
- package/lib/{DelegatedPlugin.js → dll/DelegatedPlugin.js} +5 -3
- package/lib/{DllEntryPlugin.js → dll/DllEntryPlugin.js} +9 -5
- package/lib/{DllModule.js → dll/DllModule.js} +36 -24
- package/lib/{DllModuleFactory.js → dll/DllModuleFactory.js} +5 -4
- package/lib/{DllPlugin.js → dll/DllPlugin.js} +24 -6
- package/lib/{DllReferencePlugin.js → dll/DllReferencePlugin.js} +26 -18
- package/lib/{LibManifestPlugin.js → dll/LibManifestPlugin.js} +14 -10
- package/lib/electron/ElectronTargetPlugin.js +24 -5
- package/lib/{AbstractMethodError.js → errors/AbstractMethodError.js} +10 -1
- package/lib/{AsyncDependencyToInitialChunkError.js → errors/AsyncDependencyToInitialChunkError.js} +8 -3
- package/lib/errors/BuildCycleError.js +1 -1
- package/lib/{ChunkRenderError.js → errors/ChunkRenderError.js} +1 -1
- package/lib/{CodeGenerationError.js → errors/CodeGenerationError.js} +1 -1
- package/lib/{CommentCompilationWarning.js → errors/CommentCompilationWarning.js} +9 -3
- package/lib/{ConcurrentCompilationError.js → errors/ConcurrentCompilationError.js} +5 -2
- package/lib/{EnvironmentNotSupportAsyncWarning.js → errors/EnvironmentNotSupportAsyncWarning.js} +5 -5
- package/lib/{HookWebpackError.js → errors/HookWebpackError.js} +20 -16
- package/lib/{IgnoreErrorModuleFactory.js → errors/IgnoreErrorModuleFactory.js} +7 -4
- package/lib/{InvalidDependenciesModuleWarning.js → errors/InvalidDependenciesModuleWarning.js} +6 -3
- package/lib/errors/JSONParseError.js +115 -0
- package/lib/errors/LoaderLoadingError.js +20 -0
- package/lib/{ModuleBuildError.js → errors/ModuleBuildError.js} +22 -16
- package/lib/{ModuleDependencyError.js → errors/ModuleDependencyError.js} +10 -3
- package/lib/{ModuleDependencyWarning.js → errors/ModuleDependencyWarning.js} +13 -5
- package/lib/{ModuleError.js → errors/ModuleError.js} +10 -14
- package/lib/{ModuleHashingError.js → errors/ModuleHashingError.js} +5 -1
- package/lib/errors/ModuleNotFoundError.js +94 -0
- package/lib/errors/ModuleParseError.js +141 -0
- package/lib/{ModuleRestoreError.js → errors/ModuleRestoreError.js} +4 -1
- package/lib/{ModuleStoreError.js → errors/ModuleStoreError.js} +5 -1
- package/lib/{ModuleWarning.js → errors/ModuleWarning.js} +13 -14
- package/lib/{NodeStuffInWebError.js → errors/NodeStuffInWebError.js} +7 -5
- package/lib/errors/NonErrorEmittedError.js +30 -0
- package/lib/{UnhandledSchemeError.js → errors/UnhandledSchemeError.js} +9 -2
- package/lib/{UnsupportedFeatureWarning.js → errors/UnsupportedFeatureWarning.js} +4 -3
- package/lib/errors/WebpackError.js +84 -0
- package/lib/esm/ExportWebpackRequireRuntimeModule.js +2 -0
- package/lib/esm/ModuleChunkFormatPlugin.js +52 -15
- package/lib/esm/ModuleChunkLoadingPlugin.js +11 -3
- package/lib/esm/ModuleChunkLoadingRuntimeModule.js +71 -49
- package/lib/hmr/HotModuleReplacement.runtime.js +175 -30
- package/lib/hmr/HotModuleReplacementRuntimeModule.js +8 -0
- package/lib/hmr/JavascriptHotModuleReplacement.runtime.js +173 -26
- package/lib/hmr/JavascriptHotModuleReplacementHelper.js +1 -0
- package/lib/hmr/LazyCompilationPlugin.js +154 -7
- package/lib/hmr/lazyCompilationBackend.js +34 -8
- package/lib/html/HtmlGenerator.js +1470 -0
- package/lib/html/HtmlModule.js +41 -0
- package/lib/html/HtmlModulesPlugin.js +1111 -0
- package/lib/html/HtmlParser.js +1970 -0
- package/lib/html/favicon.svg +1 -0
- package/lib/html/syntax.js +9020 -0
- package/lib/ids/ChunkModuleIdRangePlugin.js +3 -1
- package/lib/ids/DeterministicChunkIdsPlugin.js +3 -1
- package/lib/ids/DeterministicModuleIdsPlugin.js +3 -1
- package/lib/ids/HashedModuleIdsPlugin.js +2 -1
- package/lib/ids/IdHelpers.js +25 -2
- package/lib/ids/NamedChunkIdsPlugin.js +3 -1
- package/lib/ids/NamedModuleIdsPlugin.js +3 -1
- package/lib/ids/NaturalChunkIdsPlugin.js +1 -1
- package/lib/ids/NaturalModuleIdsPlugin.js +1 -1
- package/lib/ids/OccurrenceChunkIdsPlugin.js +2 -1
- package/lib/ids/OccurrenceModuleIdsPlugin.js +4 -1
- package/lib/ids/SyncModuleIdsPlugin.js +3 -1
- package/lib/index.js +66 -15
- package/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +5 -6
- package/lib/javascript/BasicEvaluatedExpression.js +370 -49
- package/lib/javascript/ChunkFormatHelpers.js +2 -1
- package/lib/javascript/ChunkHelpers.js +1 -0
- package/lib/javascript/CommonJsChunkFormatPlugin.js +1 -1
- package/lib/javascript/EnableChunkLoadingPlugin.js +6 -1
- package/lib/javascript/JavascriptGenerator.js +213 -51
- package/lib/javascript/JavascriptModule.js +54 -0
- package/lib/javascript/JavascriptModulesPlugin.js +579 -183
- package/lib/javascript/JavascriptParser.js +1289 -462
- package/lib/javascript/JavascriptParserHelpers.js +10 -7
- package/lib/javascript/StartupHelpers.js +5 -0
- package/lib/javascript/syntax.js +4380 -0
- package/lib/json/JsonData.js +5 -0
- package/lib/json/JsonGenerator.js +21 -0
- package/lib/json/JsonModule.js +40 -0
- package/lib/json/JsonModulesPlugin.js +8 -1
- package/lib/json/JsonParser.js +18 -27
- package/lib/library/AbstractLibraryPlugin.js +17 -2
- package/lib/library/AmdLibraryPlugin.js +8 -0
- package/lib/library/AssignLibraryPlugin.js +21 -3
- package/lib/library/EnableLibraryPlugin.js +8 -2
- package/lib/library/ExportPropertyLibraryPlugin.js +10 -0
- package/lib/{FalseIIFEUmdWarning.js → library/FalseIIFEUmdWarning.js} +2 -1
- package/lib/library/JsonpLibraryPlugin.js +8 -0
- package/lib/library/ModuleLibraryPlugin.js +154 -7
- package/lib/library/SystemLibraryPlugin.js +11 -3
- package/lib/library/UmdLibraryPlugin.js +16 -0
- package/lib/loaders/LoaderRunner.js +714 -0
- package/lib/loaders/loadLoader.js +100 -0
- package/lib/logging/Logger.js +17 -0
- package/lib/logging/createConsoleLogger.js +7 -0
- package/lib/logging/runtime.js +2 -0
- package/lib/logging/truncateArgs.js +2 -0
- package/lib/node/CommonJsChunkLoadingPlugin.js +5 -1
- package/lib/node/NodeEnvironmentPlugin.js +7 -3
- package/lib/node/NodeSourcePlugin.js +1 -1
- package/lib/node/NodeTargetPlugin.js +4 -63
- package/lib/node/NodeTemplatePlugin.js +3 -1
- package/lib/node/NodeWatchFileSystem.js +40 -22
- package/lib/node/ReadFileChunkLoadingRuntimeModule.js +13 -9
- package/lib/node/ReadFileCompileAsyncWasmPlugin.js +23 -1
- package/lib/node/ReadFileCompileWasmPlugin.js +18 -1
- package/lib/node/RequireChunkLoadingRuntimeModule.js +21 -16
- package/lib/node/nodeBuiltins.js +80 -0
- package/lib/node/nodeConsole.js +116 -64
- package/lib/optimize/AggressiveMergingPlugin.js +3 -1
- package/lib/optimize/AggressiveSplittingPlugin.js +6 -1
- package/lib/optimize/ConcatenatedModule.js +585 -116
- package/lib/optimize/ConstExportsPlugin.js +211 -0
- package/lib/optimize/EnsureChunkConditionsPlugin.js +2 -1
- package/lib/optimize/FlagIncludedChunksPlugin.js +15 -4
- package/lib/optimize/InlineExports.js +178 -0
- package/lib/optimize/InnerGraph.js +374 -262
- package/lib/optimize/InnerGraphPlugin.js +246 -117
- package/lib/optimize/LimitChunkCountPlugin.js +9 -0
- package/lib/optimize/MangleExportsPlugin.js +5 -1
- package/lib/optimize/MergeDuplicateChunksPlugin.js +2 -0
- package/lib/optimize/MinChunkSizePlugin.js +2 -1
- package/lib/optimize/MinMaxSizeWarning.js +5 -4
- package/lib/optimize/ModuleConcatenationPlugin.js +159 -34
- package/lib/optimize/RealContentHashPlugin.js +125 -50
- package/lib/optimize/RemoveEmptyChunksPlugin.js +2 -1
- package/lib/optimize/RemoveParentModulesPlugin.js +3 -1
- package/lib/optimize/RuntimeChunkPlugin.js +2 -1
- package/lib/optimize/SideEffectsFlagPlugin.js +381 -55
- package/lib/optimize/SplitChunksPlugin.js +54 -6
- package/lib/performance/AssetsOverSizeLimitWarning.js +3 -2
- package/lib/performance/EntrypointsOverSizeLimitWarning.js +3 -2
- package/lib/performance/NoAsyncChunksWarning.js +5 -3
- package/lib/performance/SizeLimitsPlugin.js +8 -2
- package/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchPreloadPlugin.js +21 -0
- package/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +1 -0
- package/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +5 -1
- package/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +25 -13
- package/lib/prefetch/ResourceHintPlugin.js +663 -0
- package/lib/prefetch/ResourceHintRuntimeModule.js +149 -0
- package/lib/prefetch/StartupAssetHintRuntimeModule.js +210 -0
- package/lib/prefetch/parseResourceHintOptions.js +103 -0
- package/lib/rules/BasicEffectRulePlugin.js +3 -0
- package/lib/rules/BasicMatcherRulePlugin.js +3 -0
- package/lib/rules/ObjectMatcherRulePlugin.js +3 -0
- package/lib/rules/RuleSetCompiler.js +132 -0
- package/lib/rules/UseEffectRulePlugin.js +10 -3
- package/lib/runtime/AsyncModuleGeneratorRuntimeModule.js +56 -0
- package/lib/runtime/AsyncModuleRuntimeModule.js +52 -33
- package/lib/runtime/AutoPublicPathRuntimeModule.js +22 -9
- package/lib/runtime/BaseUriRuntimeModule.js +1 -0
- package/lib/runtime/ChunkNameRuntimeModule.js +1 -0
- package/lib/runtime/CommonJsWrapRuntimeModule.js +37 -0
- package/lib/runtime/CompatGetDefaultExportRuntimeModule.js +2 -1
- package/lib/runtime/CompatRuntimeModule.js +2 -0
- package/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +7 -4
- package/lib/runtime/CreateScriptRuntimeModule.js +1 -0
- package/lib/runtime/CreateScriptUrlRuntimeModule.js +1 -0
- package/lib/runtime/DefinePropertyGettersRuntimeModule.js +34 -4
- package/lib/runtime/EnsureChunkRuntimeModule.js +1 -0
- package/lib/runtime/GetChunkFilenameRuntimeModule.js +88 -8
- package/lib/runtime/GetFullHashRuntimeModule.js +1 -0
- package/lib/runtime/GetMainFilenameRuntimeModule.js +1 -0
- package/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +2 -1
- package/lib/runtime/GetWorkletBootstrapRuntimeModule.js +59 -0
- package/lib/runtime/GlobalRuntimeModule.js +1 -0
- package/lib/runtime/HasOwnPropertyRuntimeModule.js +2 -1
- package/lib/runtime/HelperRuntimeModule.js +5 -0
- package/lib/runtime/LoadScriptRuntimeModule.js +28 -37
- package/lib/runtime/MakeDeferredNamespaceObjectRuntime.js +354 -37
- package/lib/runtime/MakeNamespaceObjectRuntimeModule.js +2 -1
- package/lib/runtime/NonceRuntimeModule.js +1 -0
- package/lib/runtime/OnChunksLoadedRuntimeModule.js +5 -4
- package/lib/runtime/PublicPathRuntimeModule.js +1 -0
- package/lib/runtime/RelativeUrlRuntimeModule.js +4 -2
- package/lib/runtime/RuntimeIdRuntimeModule.js +1 -0
- package/lib/runtime/SetAnonymousDefaultNameRuntimeModule.js +38 -0
- package/lib/runtime/StartupChunkDependenciesPlugin.js +13 -1
- package/lib/runtime/StartupChunkDependenciesRuntimeModule.js +2 -1
- package/lib/runtime/StartupEntrypointRuntimeModule.js +5 -3
- package/lib/runtime/SystemContextRuntimeModule.js +1 -0
- package/lib/runtime/ToBinaryRuntimeModule.js +1 -0
- package/lib/runtime/WorkerRuntimeModule.js +33 -0
- package/lib/schemes/DataUriPlugin.js +14 -2
- package/lib/schemes/FileUriPlugin.js +1 -1
- package/lib/schemes/HttpUriPlugin.js +86 -4
- package/lib/schemes/VirtualUrlPlugin.js +8 -4
- package/lib/serialization/AggregateErrorSerializer.js +9 -6
- package/lib/serialization/ArraySerializer.js +6 -8
- package/lib/serialization/BinaryMiddleware.js +552 -463
- package/lib/serialization/DateObjectSerializer.js +4 -2
- package/lib/serialization/ErrorObjectSerializer.js +10 -6
- package/lib/serialization/FileMiddleware.js +50 -3
- package/lib/serialization/MapObjectSerializer.js +7 -9
- package/lib/serialization/NullPrototypeObjectSerializer.js +9 -9
- package/lib/serialization/ObjectMiddleware.js +73 -13
- package/lib/serialization/PlainObjectSerializer.js +16 -8
- package/lib/serialization/RegExpObjectSerializer.js +4 -2
- package/lib/serialization/Serializer.js +6 -0
- package/lib/serialization/SerializerMiddleware.js +14 -2
- package/lib/serialization/SetObjectSerializer.js +6 -8
- package/lib/serialization/SingleItemMiddleware.js +3 -0
- package/lib/sharing/ConsumeSharedFallbackDependency.js +1 -0
- package/lib/sharing/ConsumeSharedModule.js +21 -7
- package/lib/sharing/ConsumeSharedPlugin.js +11 -11
- package/lib/sharing/ConsumeSharedRuntimeModule.js +55 -45
- package/lib/sharing/ProvideForSharedDependency.js +1 -0
- package/lib/sharing/ProvideSharedDependency.js +34 -15
- package/lib/sharing/ProvideSharedModule.js +42 -12
- package/lib/sharing/ProvideSharedModuleFactory.js +1 -0
- package/lib/sharing/ProvideSharedPlugin.js +13 -8
- package/lib/sharing/SharePlugin.js +5 -1
- package/lib/sharing/ShareRuntimeModule.js +19 -16
- package/lib/sharing/resolveMatchedConfigs.js +6 -2
- package/lib/sharing/utils.js +9 -1
- package/lib/stats/DefaultStatsFactoryPlugin.js +94 -12
- package/lib/stats/DefaultStatsPresetPlugin.js +14 -2
- package/lib/stats/DefaultStatsPrinterPlugin.js +64 -18
- package/lib/stats/StatsFactory.js +39 -18
- package/lib/stats/StatsPrinter.js +16 -2
- package/lib/typescript/TypeScriptPlugin.js +210 -0
- package/lib/url/URLParserPlugin.js +111 -23
- package/lib/util/ArrayHelpers.js +1 -0
- package/lib/util/ArrayQueue.js +10 -5
- package/lib/util/AsyncQueue.js +154 -74
- package/lib/util/Hash.js +2 -2
- package/lib/util/IterableHelpers.js +3 -0
- package/lib/util/LazyBucketSortedSet.js +26 -0
- package/lib/util/LazySet.js +45 -4
- package/lib/util/LocConverter.js +64 -0
- package/lib/util/ParallelismFactorCalculator.js +1 -0
- package/lib/util/Queue.js +6 -3
- package/lib/util/Semaphore.js +15 -1
- package/lib/util/SetHelpers.js +4 -1
- package/lib/util/SortableSet.js +7 -1
- package/lib/util/SourceProcessor.js +119 -0
- package/lib/util/StackedCacheMap.js +20 -3
- package/lib/util/StackedMap.js +162 -43
- package/lib/util/StringXor.js +1 -1
- package/lib/util/TupleQueue.js +7 -3
- package/lib/util/TupleSet.js +14 -0
- package/lib/util/URLAbsoluteSpecifier.js +1 -0
- package/lib/util/WeakTupleMap.js +60 -1
- package/lib/util/binarySearchBounds.js +3 -2
- package/lib/util/chainedImports.js +3 -3
- package/lib/util/cleverMerge.js +19 -2
- package/lib/util/comparators.js +35 -4
- package/lib/util/compileBooleanMatcher.js +9 -0
- package/lib/util/concatenate.js +80 -24
- package/lib/util/conventions.js +46 -1
- package/lib/util/createHash.js +0 -1
- package/lib/util/createHooksRegistry.js +43 -0
- package/lib/util/createMappings.js +118 -0
- package/lib/util/dataURL.js +3 -2
- package/lib/util/deprecation.js +19 -0
- package/lib/util/deterministicGrouping.js +46 -17
- package/lib/util/extractSourceMap.js +2 -1
- package/lib/util/extractUrlAndGlobal.js +1 -0
- package/lib/util/findGraphRoots.js +7 -0
- package/lib/{formatLocation.js → util/formatLocation.js} +4 -2
- package/lib/{SizeFormatHelpers.js → util/formatSize.js} +10 -3
- package/lib/util/fs.js +87 -14
- package/lib/util/generateDebugId.js +1 -0
- package/lib/util/globUtils.js +710 -0
- package/lib/util/hash/BatchedHash.js +1 -0
- package/lib/util/hash/BulkUpdateHash.js +1 -0
- package/lib/util/hash/DebugHash.js +1 -0
- package/lib/util/hash/hash-digest.js +32 -15
- package/lib/util/hash/md4.js +1 -1
- package/lib/util/hash/wasm-hash.js +5 -0
- package/lib/util/hash/xxhash64.js +1 -1
- package/lib/util/identifier.js +97 -6
- package/lib/util/implicitTypeLoaderFallback.js +62 -0
- package/lib/util/internalSerializables.js +102 -60
- package/lib/util/magicComment.js +149 -7
- package/lib/util/makeSerializable.js +7 -0
- package/lib/util/memoize.js +2 -0
- package/lib/util/mimeTypes.js +176 -0
- package/lib/util/nonNumericOnlyHash.js +31 -1
- package/lib/util/numberHash.js +2 -2
- package/lib/util/parseJson.js +41 -0
- package/lib/util/processAsyncTree.js +8 -0
- package/lib/util/property.js +9 -2
- package/lib/util/publicPathPlaceholder.js +64 -0
- package/lib/util/registerExternalSerializer.js +24 -4
- package/lib/util/removeBOM.js +1 -0
- package/lib/util/runtime.js +32 -0
- package/lib/util/semver.js +15 -0
- package/lib/util/serialization.js +2 -0
- package/lib/util/smartGrouping.js +8 -0
- package/lib/util/source.js +23 -0
- package/lib/util/topologicalSort.js +69 -0
- package/lib/validateSchema.js +1 -0
- package/lib/wasm/EnableWasmLoadingPlugin.js +15 -1
- package/lib/wasm-async/AsyncWasmCompileRuntimeModule.js +25 -18
- package/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +34 -22
- package/lib/wasm-async/AsyncWasmModule.js +77 -0
- package/lib/wasm-async/AsyncWebAssemblyGenerator.js +6 -0
- package/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +6 -1
- package/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +22 -126
- package/lib/wasm-async/AsyncWebAssemblyParser.js +3 -2
- package/lib/wasm-async/UniversalCompileAsyncWasmPlugin.js +13 -2
- package/lib/wasm-sync/SyncWasmModule.js +39 -0
- package/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +7 -3
- package/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +86 -19
- package/lib/wasm-sync/WasmFinalizeExportsPlugin.js +4 -3
- package/lib/wasm-sync/WebAssemblyGenerator.js +27 -1
- package/lib/wasm-sync/WebAssemblyInInitialChunkError.js +9 -3
- package/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +4 -0
- package/lib/wasm-sync/WebAssemblyModulesPlugin.js +20 -1
- package/lib/wasm-sync/WebAssemblyParser.js +9 -3
- package/lib/wasm-sync/WebAssemblyUtils.js +2 -0
- package/lib/web/FetchCompileAsyncWasmPlugin.js +29 -1
- package/lib/web/FetchCompileWasmPlugin.js +27 -1
- package/lib/web/JsonpChunkLoadingPlugin.js +11 -1
- package/lib/web/JsonpChunkLoadingRuntimeModule.js +58 -64
- package/lib/web/JsonpTemplatePlugin.js +2 -1
- package/lib/webpack.js +78 -1
- package/lib/webworker/ImportScriptsChunkLoadingPlugin.js +10 -1
- package/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +15 -10
- package/lib/webworker/WebWorkerTemplatePlugin.js +1 -1
- package/module.d.ts +21 -0
- package/package.json +79 -77
- package/schemas/WebpackOptions.check.js +1 -1
- package/schemas/WebpackOptions.json +1117 -79
- package/schemas/plugins/{DllPlugin.check.d.ts → HtmlGeneratorOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlGeneratorOptions.check.js +6 -0
- package/schemas/plugins/HtmlGeneratorOptions.json +3 -0
- package/schemas/plugins/{DllReferencePlugin.check.d.ts → HtmlParserOptions.check.d.ts} +1 -1
- package/schemas/plugins/HtmlParserOptions.check.js +6 -0
- package/schemas/plugins/HtmlParserOptions.json +3 -0
- package/schemas/plugins/ProgressPlugin.check.js +1 -1
- package/schemas/plugins/ProgressPlugin.json +38 -0
- package/schemas/plugins/container/ContainerReferencePlugin.check.js +1 -1
- package/schemas/plugins/container/ContainerReferencePlugin.json +2 -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 +2 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.d.ts +7 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.check.js +6 -0
- package/schemas/plugins/css/CssAutoOrModuleParserOptions.json +3 -0
- package/schemas/plugins/css/CssModuleParserOptions.check.js +1 -1
- package/schemas/plugins/css/CssParserOptions.check.js +1 -1
- package/schemas/plugins/dll/DllPlugin.check.d.ts +7 -0
- package/schemas/plugins/dll/DllReferencePlugin.check.d.ts +7 -0
- package/types.d.ts +8608 -1159
- package/lib/CaseSensitiveModulesWarning.js +0 -72
- package/lib/GraphHelpers.js +0 -46
- package/lib/ModuleParseError.js +0 -125
- package/lib/NoModeWarning.js +0 -23
- package/lib/css/CssMergeStyleSheetsRuntimeModule.js +0 -56
- package/lib/css/walkCssTokens.js +0 -1843
- package/lib/util/AppendOnlyStackedSet.js +0 -78
- /package/schemas/plugins/{DllPlugin.check.js → dll/DllPlugin.check.js} +0 -0
- /package/schemas/plugins/{DllPlugin.json → dll/DllPlugin.json} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.check.js → dll/DllReferencePlugin.check.js} +0 -0
- /package/schemas/plugins/{DllReferencePlugin.json → dll/DllReferencePlugin.json} +0 -0
|
@@ -10,7 +10,15 @@ const { RawSource, ReplaceSource } = require("webpack-sources");
|
|
|
10
10
|
const Generator = require("../Generator");
|
|
11
11
|
const InitFragment = require("../InitFragment");
|
|
12
12
|
const { JAVASCRIPT_TYPES } = require("../ModuleSourceTypeConstants");
|
|
13
|
+
const RuntimeGlobals = require("../RuntimeGlobals");
|
|
14
|
+
const CommonJsExportsDependency = require("../dependencies/CommonJsExportsDependency");
|
|
15
|
+
const CommonJsFullRequireDependency = require("../dependencies/CommonJsFullRequireDependency");
|
|
16
|
+
const CommonJsRequireDependency = require("../dependencies/CommonJsRequireDependency");
|
|
17
|
+
const CommonJsSelfReferenceDependency = require("../dependencies/CommonJsSelfReferenceDependency");
|
|
18
|
+
const ContextDependency = require("../dependencies/ContextDependency");
|
|
13
19
|
const HarmonyCompatibilityDependency = require("../dependencies/HarmonyCompatibilityDependency");
|
|
20
|
+
const ImportDependency = require("../dependencies/ImportDependency");
|
|
21
|
+
const RequireResolveDependency = require("../dependencies/RequireResolveDependency");
|
|
14
22
|
|
|
15
23
|
/** @typedef {import("webpack-sources").Source} Source */
|
|
16
24
|
/** @typedef {import("../Compilation").DependencyConstructor} DependencyConstructor */
|
|
@@ -23,6 +31,7 @@ const HarmonyCompatibilityDependency = require("../dependencies/HarmonyCompatibi
|
|
|
23
31
|
/** @typedef {import("../Module").ConcatenationBailoutReasonContext} ConcatenationBailoutReasonContext */
|
|
24
32
|
/** @typedef {import("../Module").SourceType} SourceType */
|
|
25
33
|
/** @typedef {import("../Module").SourceTypes} SourceTypes */
|
|
34
|
+
/** @typedef {import("./JavascriptModule").JavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
|
|
26
35
|
/** @typedef {import("../NormalModule")} NormalModule */
|
|
27
36
|
|
|
28
37
|
const DEFAULT_SOURCE = {
|
|
@@ -30,6 +39,7 @@ const DEFAULT_SOURCE = {
|
|
|
30
39
|
return new RawSource("throw new Error('No source available');");
|
|
31
40
|
},
|
|
32
41
|
/**
|
|
42
|
+
* Returns the estimated size for the requested source type.
|
|
33
43
|
* @returns {number} size of the DEFAULT_SOURCE.source()
|
|
34
44
|
*/
|
|
35
45
|
size() {
|
|
@@ -40,8 +50,146 @@ const DEFAULT_SOURCE = {
|
|
|
40
50
|
// TODO: clean up this file
|
|
41
51
|
// replace with newer constructs
|
|
42
52
|
|
|
53
|
+
// Runtime requirements whose presence on a presentational dependency means the
|
|
54
|
+
// code references the module/exports objects, which do not exist for an inner
|
|
55
|
+
// concatenated module (e.g. `module.id`, `module.hot`, top-level `this`).
|
|
56
|
+
/** @type {ReadonlySet<string>} */
|
|
57
|
+
const CONCATENATION_INCOMPATIBLE_RUNTIME_REQUIREMENTS = new Set([
|
|
58
|
+
RuntimeGlobals.module,
|
|
59
|
+
RuntimeGlobals.moduleId,
|
|
60
|
+
RuntimeGlobals.moduleLoaded,
|
|
61
|
+
RuntimeGlobals.moduleCache,
|
|
62
|
+
RuntimeGlobals.exports,
|
|
63
|
+
RuntimeGlobals.thisAsExports,
|
|
64
|
+
RuntimeGlobals.harmonyModuleDecorator,
|
|
65
|
+
RuntimeGlobals.nodeModuleDecorator
|
|
66
|
+
]);
|
|
67
|
+
|
|
68
|
+
// A wrapped CommonJS module keeps real `module`/`exports` objects and top-level
|
|
69
|
+
// `this`, so only requirements that need a module object webpack does not
|
|
70
|
+
// synthesize here (id, loaded state, cache, decorators) block wrapping.
|
|
71
|
+
/** @type {ReadonlySet<string>} */
|
|
72
|
+
const WRAPPING_INCOMPATIBLE_RUNTIME_REQUIREMENTS = new Set([
|
|
73
|
+
RuntimeGlobals.moduleId,
|
|
74
|
+
RuntimeGlobals.moduleLoaded,
|
|
75
|
+
RuntimeGlobals.moduleCache,
|
|
76
|
+
RuntimeGlobals.harmonyModuleDecorator,
|
|
77
|
+
RuntimeGlobals.nodeModuleDecorator
|
|
78
|
+
]);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Returns the reason a CommonJS module cannot take part in concatenation at
|
|
82
|
+
* all — neither hoisted (as a "nice" module) nor wrapped. A module passing
|
|
83
|
+
* this check can be hoisted or wrapped; {@link isCommonJsHoistable} decides
|
|
84
|
+
* which.
|
|
85
|
+
* @param {NormalModule} module the module
|
|
86
|
+
* @returns {string | undefined} reason it can't be concatenated
|
|
87
|
+
*/
|
|
88
|
+
const getCommonJsConcatenationBailoutReason = (module) => {
|
|
89
|
+
const buildMeta = module.buildMeta;
|
|
90
|
+
// "flagged"/"default" are hoistable; a dynamic (undefined) exports type is a
|
|
91
|
+
// reassigned/computed `module.exports`, only reachable by wrapping. Proper ESM
|
|
92
|
+
// modules ("namespace") never reach this path.
|
|
93
|
+
if (
|
|
94
|
+
!buildMeta ||
|
|
95
|
+
(buildMeta.exportsType !== "flagged" &&
|
|
96
|
+
buildMeta.exportsType !== "default" &&
|
|
97
|
+
buildMeta.exportsType !== undefined)
|
|
98
|
+
) {
|
|
99
|
+
return "Module is not an ECMAScript module";
|
|
100
|
+
}
|
|
101
|
+
// Sloppy-mode modules bail out in ModuleConcatenationPlugin anyway,
|
|
102
|
+
// so skip the dependency scan for them (most of node_modules)
|
|
103
|
+
if (!(/** @type {JavascriptModuleBuildInfo} */ (module.buildInfo).strict)) {
|
|
104
|
+
return "Module is not in strict mode";
|
|
105
|
+
}
|
|
106
|
+
const wrapped = !isCommonJsHoistable(module);
|
|
107
|
+
// A dynamic exports type only makes sense when wrapping; a hoistable module
|
|
108
|
+
// with no static exports keeps its previous (bailed) behavior.
|
|
109
|
+
if (buildMeta.exportsType === undefined && !wrapped) {
|
|
110
|
+
return "Module is not an ECMAScript module";
|
|
111
|
+
}
|
|
112
|
+
for (const dep of module.dependencies) {
|
|
113
|
+
if (
|
|
114
|
+
dep instanceof CommonJsExportsDependency ||
|
|
115
|
+
dep instanceof CommonJsSelfReferenceDependency
|
|
116
|
+
) {
|
|
117
|
+
// Any export shape is fine: hoisted modules restrict these below,
|
|
118
|
+
// wrapped modules keep them verbatim inside the wrapper.
|
|
119
|
+
continue;
|
|
120
|
+
} else if (
|
|
121
|
+
dep instanceof CommonJsRequireDependency ||
|
|
122
|
+
dep instanceof CommonJsFullRequireDependency ||
|
|
123
|
+
dep instanceof RequireResolveDependency ||
|
|
124
|
+
dep instanceof ContextDependency
|
|
125
|
+
) {
|
|
126
|
+
// A wrapped module renders with its own module ids intact, so a
|
|
127
|
+
// require() target that is itself inlined (no id) would break. Only
|
|
128
|
+
// hoisted ("nice") modules — whose require targets always stay
|
|
129
|
+
// external — may keep these.
|
|
130
|
+
if (wrapped) {
|
|
131
|
+
return `Module uses ${dep.type} which is not supported when wrapping`;
|
|
132
|
+
}
|
|
133
|
+
} else if (!(dep instanceof ImportDependency)) {
|
|
134
|
+
return `Module uses an unsupported dependency (${dep.type})`;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (module.presentationalDependencies !== undefined) {
|
|
138
|
+
const incompatible = wrapped
|
|
139
|
+
? WRAPPING_INCOMPATIBLE_RUNTIME_REQUIREMENTS
|
|
140
|
+
: CONCATENATION_INCOMPATIBLE_RUNTIME_REQUIREMENTS;
|
|
141
|
+
for (const dep of module.presentationalDependencies) {
|
|
142
|
+
const runtimeRequirements =
|
|
143
|
+
/** @type {{ runtimeRequirements?: ReadonlySet<string> | null }} */
|
|
144
|
+
(dep).runtimeRequirements;
|
|
145
|
+
if (!runtimeRequirements) continue;
|
|
146
|
+
for (const requirement of runtimeRequirements) {
|
|
147
|
+
if (incompatible.has(requirement)) {
|
|
148
|
+
return `Module uses ${requirement}`;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return undefined;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* A "nice" CommonJS module has a static list of exports, assigned only via
|
|
158
|
+
* plain `exports.x = …` / `module.exports.x = …`, and never uses the
|
|
159
|
+
* `module`/`exports` objects in any other way, so every reference can be
|
|
160
|
+
* rewritten to a hoisted module-scope variable. Modules eligible for
|
|
161
|
+
* concatenation but not hoistable are wrapped instead.
|
|
162
|
+
* @param {NormalModule} module the module
|
|
163
|
+
* @returns {boolean} true when the module can be hoisted rather than wrapped
|
|
164
|
+
*/
|
|
165
|
+
const isCommonJsHoistable = (module) => {
|
|
166
|
+
for (const dep of module.dependencies) {
|
|
167
|
+
if (dep instanceof CommonJsExportsDependency) {
|
|
168
|
+
if (dep.base !== "exports" && dep.base !== "module.exports") return false;
|
|
169
|
+
if (dep.names.length === 0) return false;
|
|
170
|
+
} else if (dep instanceof CommonJsSelfReferenceDependency) {
|
|
171
|
+
if (dep.base !== "exports" && dep.base !== "module.exports") return false;
|
|
172
|
+
if (dep.names.length === 0) return false;
|
|
173
|
+
// `exports.f()` passes the exports object as `this`
|
|
174
|
+
if (dep.call && dep.names.length === 1) return false;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return true;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Whether a concatenation-eligible CommonJS module must be wrapped (rendered
|
|
182
|
+
* inside an IIFE with real `module`/`exports` objects) rather than hoisted.
|
|
183
|
+
* @param {NormalModule} module the module
|
|
184
|
+
* @returns {boolean} true when the module needs wrapping
|
|
185
|
+
*/
|
|
186
|
+
const isCommonJsWrapped = (module) =>
|
|
187
|
+
getCommonJsConcatenationBailoutReason(module) === undefined &&
|
|
188
|
+
!isCommonJsHoistable(module);
|
|
189
|
+
|
|
43
190
|
const deprecatedGetInitFragments = util.deprecate(
|
|
44
191
|
/**
|
|
192
|
+
* Handles the callback logic for this hook.
|
|
45
193
|
* @param {DependencyTemplate} template template
|
|
46
194
|
* @param {Dependency} dependency dependency
|
|
47
195
|
* @param {DependencyTemplateContext} templateContext template context
|
|
@@ -56,6 +204,7 @@ const deprecatedGetInitFragments = util.deprecate(
|
|
|
56
204
|
|
|
57
205
|
class JavascriptGenerator extends Generator {
|
|
58
206
|
/**
|
|
207
|
+
* Returns the source types available for this module.
|
|
59
208
|
* @param {NormalModule} module fresh module
|
|
60
209
|
* @returns {SourceTypes} available types (do not mutate)
|
|
61
210
|
*/
|
|
@@ -64,6 +213,7 @@ class JavascriptGenerator extends Generator {
|
|
|
64
213
|
}
|
|
65
214
|
|
|
66
215
|
/**
|
|
216
|
+
* Returns the estimated size for the requested source type.
|
|
67
217
|
* @param {NormalModule} module the module
|
|
68
218
|
* @param {SourceType=} type source type
|
|
69
219
|
* @returns {number} estimate size of the module
|
|
@@ -77,12 +227,14 @@ class JavascriptGenerator extends Generator {
|
|
|
77
227
|
}
|
|
78
228
|
|
|
79
229
|
/**
|
|
230
|
+
* Returns the reason this module cannot be concatenated, when one exists.
|
|
80
231
|
* @param {NormalModule} module module for which the bailout reason should be determined
|
|
81
232
|
* @param {ConcatenationBailoutReasonContext} context context
|
|
82
233
|
* @returns {string | undefined} reason why this module can't be concatenated, undefined when it can be concatenated
|
|
83
234
|
*/
|
|
84
235
|
getConcatenationBailoutReason(module, context) {
|
|
85
|
-
//
|
|
236
|
+
// Harmony modules and CommonJS modules with statically rewritable
|
|
237
|
+
// exports are valid for optimization
|
|
86
238
|
if (
|
|
87
239
|
!module.buildMeta ||
|
|
88
240
|
module.buildMeta.exportsType !== "namespace" ||
|
|
@@ -91,26 +243,33 @@ class JavascriptGenerator extends Generator {
|
|
|
91
243
|
(d) => d instanceof HarmonyCompatibilityDependency
|
|
92
244
|
)
|
|
93
245
|
) {
|
|
94
|
-
|
|
246
|
+
// CommonJS concatenation is opt-in via optimization.concatenateCommonJsModules
|
|
247
|
+
const reason = context.concatenateCommonJsModules
|
|
248
|
+
? getCommonJsConcatenationBailoutReason(module)
|
|
249
|
+
: "Module is not an ECMAScript module";
|
|
250
|
+
if (reason !== undefined) return reason;
|
|
95
251
|
}
|
|
96
252
|
|
|
97
253
|
// Some expressions are not compatible with module concatenation
|
|
98
254
|
// because they may produce unexpected results. The plugin bails out
|
|
99
255
|
// if some were detected upfront.
|
|
100
|
-
|
|
101
|
-
|
|
256
|
+
const buildInfo = /** @type {JavascriptModuleBuildInfo | undefined} */ (
|
|
257
|
+
module.buildInfo
|
|
258
|
+
);
|
|
259
|
+
if (buildInfo && buildInfo.moduleConcatenationBailout) {
|
|
260
|
+
return `Module uses ${buildInfo.moduleConcatenationBailout}`;
|
|
102
261
|
}
|
|
103
262
|
}
|
|
104
263
|
|
|
105
264
|
/**
|
|
106
|
-
*
|
|
265
|
+
* Processes the provided module.
|
|
107
266
|
* @param {Dependency} dependency the dependency to generate
|
|
108
|
-
* @param {InitFragment<GenerateContext>[]} initFragments mutable list of init fragments
|
|
109
267
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
268
|
+
* @param {DependencyTemplateContext} templateContext the template context shared for the whole module
|
|
110
269
|
* @param {GenerateContext} generateContext the render context
|
|
111
270
|
* @returns {void}
|
|
112
271
|
*/
|
|
113
|
-
sourceDependency(
|
|
272
|
+
sourceDependency(dependency, source, templateContext, generateContext) {
|
|
114
273
|
const constructor =
|
|
115
274
|
/** @type {DependencyConstructor} */
|
|
116
275
|
(dependency.constructor);
|
|
@@ -121,39 +280,6 @@ class JavascriptGenerator extends Generator {
|
|
|
121
280
|
);
|
|
122
281
|
}
|
|
123
282
|
|
|
124
|
-
/** @type {InitFragment<GenerateContext>[] | undefined} */
|
|
125
|
-
let chunkInitFragments;
|
|
126
|
-
|
|
127
|
-
/** @type {DependencyTemplateContext} */
|
|
128
|
-
const templateContext = {
|
|
129
|
-
runtimeTemplate: generateContext.runtimeTemplate,
|
|
130
|
-
dependencyTemplates: generateContext.dependencyTemplates,
|
|
131
|
-
moduleGraph: generateContext.moduleGraph,
|
|
132
|
-
chunkGraph: generateContext.chunkGraph,
|
|
133
|
-
module,
|
|
134
|
-
runtime: generateContext.runtime,
|
|
135
|
-
runtimeRequirements: generateContext.runtimeRequirements,
|
|
136
|
-
concatenationScope: generateContext.concatenationScope,
|
|
137
|
-
codeGenerationResults:
|
|
138
|
-
/** @type {NonNullable<GenerateContext["codeGenerationResults"]>} */
|
|
139
|
-
(generateContext.codeGenerationResults),
|
|
140
|
-
initFragments,
|
|
141
|
-
get chunkInitFragments() {
|
|
142
|
-
if (!chunkInitFragments) {
|
|
143
|
-
const data =
|
|
144
|
-
/** @type {NonNullable<GenerateContext["getData"]>} */
|
|
145
|
-
(generateContext.getData)();
|
|
146
|
-
chunkInitFragments = data.get("chunkInitFragments");
|
|
147
|
-
if (!chunkInitFragments) {
|
|
148
|
-
chunkInitFragments = [];
|
|
149
|
-
data.set("chunkInitFragments", chunkInitFragments);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
return chunkInitFragments;
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
283
|
template.apply(dependency, source, templateContext);
|
|
158
284
|
|
|
159
285
|
// TODO remove in webpack 6
|
|
@@ -166,27 +292,27 @@ class JavascriptGenerator extends Generator {
|
|
|
166
292
|
|
|
167
293
|
if (fragments) {
|
|
168
294
|
for (const fragment of fragments) {
|
|
169
|
-
initFragments.push(fragment);
|
|
295
|
+
templateContext.initFragments.push(fragment);
|
|
170
296
|
}
|
|
171
297
|
}
|
|
172
298
|
}
|
|
173
299
|
}
|
|
174
300
|
|
|
175
301
|
/**
|
|
302
|
+
* Processes the provided module.
|
|
176
303
|
* @param {Module} module the module to generate
|
|
177
304
|
* @param {DependenciesBlock} block the dependencies block which will be processed
|
|
178
|
-
* @param {
|
|
305
|
+
* @param {DependencyTemplateContext} templateContext the template context shared for the whole module
|
|
179
306
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
180
307
|
* @param {GenerateContext} generateContext the generateContext
|
|
181
308
|
* @returns {void}
|
|
182
309
|
*/
|
|
183
|
-
sourceBlock(module, block,
|
|
310
|
+
sourceBlock(module, block, templateContext, source, generateContext) {
|
|
184
311
|
for (const dependency of block.dependencies) {
|
|
185
312
|
this.sourceDependency(
|
|
186
|
-
module,
|
|
187
313
|
dependency,
|
|
188
|
-
initFragments,
|
|
189
314
|
source,
|
|
315
|
+
templateContext,
|
|
190
316
|
generateContext
|
|
191
317
|
);
|
|
192
318
|
}
|
|
@@ -195,7 +321,7 @@ class JavascriptGenerator extends Generator {
|
|
|
195
321
|
this.sourceBlock(
|
|
196
322
|
module,
|
|
197
323
|
childBlock,
|
|
198
|
-
|
|
324
|
+
templateContext,
|
|
199
325
|
source,
|
|
200
326
|
generateContext
|
|
201
327
|
);
|
|
@@ -203,6 +329,7 @@ class JavascriptGenerator extends Generator {
|
|
|
203
329
|
}
|
|
204
330
|
|
|
205
331
|
/**
|
|
332
|
+
* Processes the provided module.
|
|
206
333
|
* @param {Module} module the module to generate
|
|
207
334
|
* @param {InitFragment<GenerateContext>[]} initFragments mutable list of init fragments
|
|
208
335
|
* @param {ReplaceSource} source the current replace source which can be modified
|
|
@@ -210,12 +337,45 @@ class JavascriptGenerator extends Generator {
|
|
|
210
337
|
* @returns {void}
|
|
211
338
|
*/
|
|
212
339
|
sourceModule(module, initFragments, source, generateContext) {
|
|
340
|
+
/** @type {InitFragment<GenerateContext>[] | undefined} */
|
|
341
|
+
let chunkInitFragments;
|
|
342
|
+
|
|
343
|
+
// one template context for all dependencies of the module (hot path)
|
|
344
|
+
/** @type {DependencyTemplateContext} */
|
|
345
|
+
const templateContext = {
|
|
346
|
+
runtimeTemplate: generateContext.runtimeTemplate,
|
|
347
|
+
dependencyTemplates: generateContext.dependencyTemplates,
|
|
348
|
+
moduleGraph: generateContext.moduleGraph,
|
|
349
|
+
chunkGraph: generateContext.chunkGraph,
|
|
350
|
+
module,
|
|
351
|
+
runtime: generateContext.runtime,
|
|
352
|
+
runtimeRequirements: generateContext.runtimeRequirements,
|
|
353
|
+
concatenationScope: generateContext.concatenationScope,
|
|
354
|
+
codeGenerationResults:
|
|
355
|
+
/** @type {NonNullable<GenerateContext["codeGenerationResults"]>} */
|
|
356
|
+
(generateContext.codeGenerationResults),
|
|
357
|
+
initFragments,
|
|
358
|
+
get chunkInitFragments() {
|
|
359
|
+
if (!chunkInitFragments) {
|
|
360
|
+
const data =
|
|
361
|
+
/** @type {NonNullable<GenerateContext["getData"]>} */
|
|
362
|
+
(generateContext.getData)();
|
|
363
|
+
chunkInitFragments = data.get("chunkInitFragments");
|
|
364
|
+
if (!chunkInitFragments) {
|
|
365
|
+
chunkInitFragments = [];
|
|
366
|
+
data.set("chunkInitFragments", chunkInitFragments);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
return chunkInitFragments;
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
|
|
213
374
|
for (const dependency of module.dependencies) {
|
|
214
375
|
this.sourceDependency(
|
|
215
|
-
module,
|
|
216
376
|
dependency,
|
|
217
|
-
initFragments,
|
|
218
377
|
source,
|
|
378
|
+
templateContext,
|
|
219
379
|
generateContext
|
|
220
380
|
);
|
|
221
381
|
}
|
|
@@ -223,10 +383,9 @@ class JavascriptGenerator extends Generator {
|
|
|
223
383
|
if (module.presentationalDependencies !== undefined) {
|
|
224
384
|
for (const dependency of module.presentationalDependencies) {
|
|
225
385
|
this.sourceDependency(
|
|
226
|
-
module,
|
|
227
386
|
dependency,
|
|
228
|
-
initFragments,
|
|
229
387
|
source,
|
|
388
|
+
templateContext,
|
|
230
389
|
generateContext
|
|
231
390
|
);
|
|
232
391
|
}
|
|
@@ -236,7 +395,7 @@ class JavascriptGenerator extends Generator {
|
|
|
236
395
|
this.sourceBlock(
|
|
237
396
|
module,
|
|
238
397
|
childBlock,
|
|
239
|
-
|
|
398
|
+
templateContext,
|
|
240
399
|
source,
|
|
241
400
|
generateContext
|
|
242
401
|
);
|
|
@@ -244,6 +403,7 @@ class JavascriptGenerator extends Generator {
|
|
|
244
403
|
}
|
|
245
404
|
|
|
246
405
|
/**
|
|
406
|
+
* Generates generated code for this runtime module.
|
|
247
407
|
* @param {NormalModule} module module for which the code should be generated
|
|
248
408
|
* @param {GenerateContext} generateContext context for generate
|
|
249
409
|
* @returns {Source | null} generated code
|
|
@@ -264,6 +424,7 @@ class JavascriptGenerator extends Generator {
|
|
|
264
424
|
}
|
|
265
425
|
|
|
266
426
|
/**
|
|
427
|
+
* Generates fallback output for the provided error condition.
|
|
267
428
|
* @param {Error} error the error
|
|
268
429
|
* @param {NormalModule} module module for which the code should be generated
|
|
269
430
|
* @param {GenerateContext} generateContext context for generate
|
|
@@ -275,3 +436,4 @@ class JavascriptGenerator extends Generator {
|
|
|
275
436
|
}
|
|
276
437
|
|
|
277
438
|
module.exports = JavascriptGenerator;
|
|
439
|
+
module.exports.isCommonJsWrapped = isCommonJsWrapped;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/*
|
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
|
|
7
|
+
const NormalModule = require("../NormalModule");
|
|
8
|
+
const makeSerializable = require("../util/makeSerializable");
|
|
9
|
+
|
|
10
|
+
/** @typedef {import("../Module").BuildMeta} BuildMeta */
|
|
11
|
+
/** @typedef {import("../NormalModule").NormalModuleBuildInfo} NormalModuleBuildInfo */
|
|
12
|
+
/** @typedef {import("../NormalModule").NormalModuleCreateData} NormalModuleCreateData */
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Defines the build info properties specific to javascript modules.
|
|
16
|
+
* @typedef {object} KnownJavascriptModuleBuildInfo
|
|
17
|
+
* @property {string=} moduleConcatenationBailout using in CommonJs
|
|
18
|
+
* @property {boolean=} needCreateRequire using in APIPlugin
|
|
19
|
+
* @property {Set<string>=} pureFunctions names of locally declared functions known to be free of side effects
|
|
20
|
+
* @property {boolean=} inlineExports whether this module was parsed with `optimization.inlineExports` enabled (gates inlining of its exports)
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/** @typedef {NormalModuleBuildInfo & KnownJavascriptModuleBuildInfo} JavascriptModuleBuildInfo */
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Defines the build meta properties specific to javascript modules.
|
|
27
|
+
* @typedef {object} KnownJavascriptModuleBuildMeta
|
|
28
|
+
* @property {boolean=} strictHarmonyModule
|
|
29
|
+
* @property {boolean=} treatAsCommonJs
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/** @typedef {BuildMeta & KnownJavascriptModuleBuildMeta} JavascriptModuleBuildMeta */
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Module class for all `javascript/*` modules. JavaScript-specific properties should live here instead of `NormalModule`.
|
|
36
|
+
*/
|
|
37
|
+
class JavascriptModule extends NormalModule {
|
|
38
|
+
/**
|
|
39
|
+
* @param {NormalModuleCreateData} options options object
|
|
40
|
+
*/
|
|
41
|
+
constructor(options) {
|
|
42
|
+
super(options);
|
|
43
|
+
|
|
44
|
+
// Redeclared with the javascript specific shape
|
|
45
|
+
/** @type {JavascriptModuleBuildInfo | undefined} */
|
|
46
|
+
this.buildInfo = undefined;
|
|
47
|
+
/** @type {JavascriptModuleBuildMeta | undefined} */
|
|
48
|
+
this.buildMeta = undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
makeSerializable(JavascriptModule, "webpack/lib/javascript/JavascriptModule");
|
|
53
|
+
|
|
54
|
+
module.exports = JavascriptModule;
|