@@ -58,64 +58,61 @@ webpack.validate = validateSchema.bind(this, webpackOptionsSchema);
5858webpack . validateSchema = validateSchema ;
5959webpack . WebpackOptionsValidationError = WebpackOptionsValidationError ;
6060
61- function exportPlugins ( exports , path , plugins ) {
62- plugins . forEach ( name => {
61+ function exportPlugins ( obj , mappings ) {
62+ Object . keys ( mappings ) . forEach ( name => {
6363 Object . defineProperty ( exports , name , {
6464 configurable : false ,
6565 enumerable : true ,
66- get ( ) {
67- return require ( `${ path } /${ name } ` ) ;
68- }
66+ get : mappings [ name ]
6967 } ) ;
70- } ) ;
68+ } )
7169}
7270
73- exportPlugins ( exports , "." , [
74- "DefinePlugin" ,
75- "NormalModuleReplacementPlugin" ,
76- "ContextReplacementPlugin" ,
77- "IgnorePlugin" ,
78- "WatchIgnorePlugin" ,
79- "BannerPlugin" ,
80- "PrefetchPlugin" ,
81- "AutomaticPrefetchPlugin" ,
82- "ProvidePlugin" ,
83- "HotModuleReplacementPlugin" ,
84- "SourceMapDevToolPlugin" ,
85- "EvalSourceMapDevToolPlugin" ,
86- "EvalDevToolModulePlugin" ,
87- "CachePlugin" ,
88- "ExtendedAPIPlugin" ,
89- "ExternalsPlugin" ,
90- "JsonpTemplatePlugin" ,
91- "LibraryTemplatePlugin" ,
92- "LoaderTargetPlugin" ,
93- "MemoryOutputFileSystem" ,
94- "ProgressPlugin" ,
95- "SetVarMainTemplatePlugin" ,
96- "UmdMainTemplatePlugin" ,
97- "NoErrorsPlugin" ,
98- "NoEmitOnErrorsPlugin" ,
99- "NewWatchingPlugin" ,
100- "EnvironmentPlugin" ,
101- "DllPlugin" ,
102- "DllReferencePlugin" ,
103- "LoaderOptionsPlugin" ,
104- "NamedModulesPlugin" ,
105- "NamedChunksPlugin" ,
106- "HashedModuleIdsPlugin" ,
107- "ModuleFilenameHelpers"
108- ] ) ;
109- exportPlugins ( exports . optimize = { } , "./optimize" , [
110- "AggressiveMergingPlugin" ,
111- "AggressiveSplittingPlugin" ,
112- "CommonsChunkPlugin" ,
113- "ChunkModuleIdRangePlugin" ,
114- "DedupePlugin" ,
115- "LimitChunkCountPlugin" ,
116- "MinChunkSizePlugin" ,
117- "ModuleConcatenationPlugin" ,
118- "OccurrenceOrderPlugin" ,
119- "UglifyJsPlugin"
120- ] ) ;
121- exportPlugins ( exports . dependencies = { } , "./dependencies" , [ ] ) ;
71+ exportPlugins ( exports , {
72+ "DefinePlugin" : ( ) => require ( "./DefinePlugin" ) ,
73+ "NormalModuleReplacementPlugin" : ( ) => require ( "./NormalModuleReplacementPlugin" ) ,
74+ "ContextReplacementPlugin" : ( ) => require ( "./ContextReplacementPlugin" ) ,
75+ "IgnorePlugin" : ( ) => require ( "./IgnorePlugin" ) ,
76+ "WatchIgnorePlugin" : ( ) => require ( "./WatchIgnorePlugin" ) ,
77+ "BannerPlugin" : ( ) => require ( "./BannerPlugin" ) ,
78+ "PrefetchPlugin" : ( ) => require ( "./PrefetchPlugin" ) ,
79+ "AutomaticPrefetchPlugin" : ( ) => require ( "./AutomaticPrefetchPlugin" ) ,
80+ "ProvidePlugin" : ( ) => require ( "./ProvidePlugin" ) ,
81+ "HotModuleReplacementPlugin" : ( ) => require ( "./HotModuleReplacementPlugin" ) ,
82+ "SourceMapDevToolPlugin" : ( ) => require ( "./SourceMapDevToolPlugin" ) ,
83+ "EvalSourceMapDevToolPlugin" : ( ) => require ( "./EvalSourceMapDevToolPlugin" ) ,
84+ "EvalDevToolModulePlugin" : ( ) => require ( "./EvalDevToolModulePlugin" ) ,
85+ "CachePlugin" : ( ) => require ( "./CachePlugin" ) ,
86+ "ExtendedAPIPlugin" : ( ) => require ( "./ExtendedAPIPlugin" ) ,
87+ "ExternalsPlugin" : ( ) => require ( "./ExternalsPlugin" ) ,
88+ "JsonpTemplatePlugin" : ( ) => require ( "./JsonpTemplatePlugin" ) ,
89+ "LibraryTemplatePlugin" : ( ) => require ( "./LibraryTemplatePlugin" ) ,
90+ "LoaderTargetPlugin" : ( ) => require ( "./LoaderTargetPlugin" ) ,
91+ "MemoryOutputFileSystem" : ( ) => require ( "./MemoryOutputFileSystem" ) ,
92+ "ProgressPlugin" : ( ) => require ( "./ProgressPlugin" ) ,
93+ "SetVarMainTemplatePlugin" : ( ) => require ( "./SetVarMainTemplatePlugin" ) ,
94+ "UmdMainTemplatePlugin" : ( ) => require ( "./UmdMainTemplatePlugin" ) ,
95+ "NoErrorsPlugin" : ( ) => require ( "./NoErrorsPlugin" ) ,
96+ "NoEmitOnErrorsPlugin" : ( ) => require ( "./NoEmitOnErrorsPlugin" ) ,
97+ "NewWatchingPlugin" : ( ) => require ( "./NewWatchingPlugin" ) ,
98+ "EnvironmentPlugin" : ( ) => require ( "./EnvironmentPlugin" ) ,
99+ "DllPlugin" : ( ) => require ( "./DllPlugin" ) ,
100+ "DllReferencePlugin" : ( ) => require ( "./DllReferencePlugin" ) ,
101+ "LoaderOptionsPlugin" : ( ) => require ( "./LoaderOptionsPlugin" ) ,
102+ "NamedModulesPlugin" : ( ) => require ( "./NamedModulesPlugin" ) ,
103+ "NamedChunksPlugin" : ( ) => require ( "./NamedChunksPlugin" ) ,
104+ "HashedModuleIdsPlugin" : ( ) => require ( "./HashedModuleIdsPlugin" ) ,
105+ "ModuleFilenameHelpers" : ( ) => require ( "./ModuleFilenameHelpers" )
106+ } ) ;
107+ exportPlugins ( exports . optimize = { } , {
108+ "AggressiveMergingPlugin" : ( ) => require ( "./optimize/AggressiveMergingPlugin" ) ,
109+ "AggressiveSplittingPlugin" : ( ) => require ( "./optimize/AggressiveSplittingPlugin" ) ,
110+ "CommonsChunkPlugin" : ( ) => require ( "./optimize/CommonsChunkPlugin" ) ,
111+ "ChunkModuleIdRangePlugin" : ( ) => require ( "./optimize/ChunkModuleIdRangePlugin" ) ,
112+ "DedupePlugin" : ( ) => require ( "./optimize/DedupePlugin" ) ,
113+ "LimitChunkCountPlugin" : ( ) => require ( "./optimize/LimitChunkCountPlugin" ) ,
114+ "MinChunkSizePlugin" : ( ) => require ( "./optimize/MinChunkSizePlugin" ) ,
115+ "ModuleConcatenationPlugin" : ( ) => require ( "./optimize/ModuleConcatenationPlugin" ) ,
116+ "OccurrenceOrderPlugin" : ( ) => require ( "./optimize/OccurrenceOrderPlugin" ) ,
117+ "UglifyJsPlugin" : ( ) => require ( "./optimize/UglifyJsPlugin" )
118+ } ) ;
0 commit comments