|
| 1 | +/* |
| 2 | + MIT License http://www.opensource.org/licenses/mit-license.php |
| 3 | + Author Tobias Koppers @sokra |
| 4 | +*/ |
| 5 | + |
| 6 | +"use strict"; |
| 7 | + |
| 8 | +const util = require("util"); |
| 9 | +const { version } = require("../package.json"); |
| 10 | +const webpackOptionsSchema = require("../schemas/WebpackOptions.json"); |
| 11 | +const Compiler = require("./Compiler"); |
| 12 | +const MultiCompiler = require("./MultiCompiler"); |
| 13 | +const WebpackOptionsApply = require("./WebpackOptionsApply"); |
| 14 | +const WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter"); |
| 15 | +const WebpackOptionsValidationError = require("./WebpackOptionsValidationError"); |
| 16 | +const NodeEnvironmentPlugin = require("./node/NodeEnvironmentPlugin"); |
| 17 | +const validateSchema = require("./validateSchema"); |
| 18 | +const webpack = require("./webpack"); |
| 19 | + |
| 20 | +exports = module.exports = webpack; |
| 21 | +exports.WebpackOptionsApply = WebpackOptionsApply; |
| 22 | +exports.WebpackOptionsDefaulter = WebpackOptionsDefaulter; |
| 23 | +exports.WebpackOptionsValidationError = WebpackOptionsValidationError; |
| 24 | +exports.Compiler = Compiler; |
| 25 | +exports.MultiCompiler = MultiCompiler; |
| 26 | +exports.NodeEnvironmentPlugin = NodeEnvironmentPlugin; |
| 27 | +exports.validate = validateSchema.bind(null, webpackOptionsSchema); |
| 28 | +exports.validateSchema = validateSchema; |
| 29 | +exports.version = version; |
| 30 | + |
| 31 | +const exportPlugins = (obj, mappings) => { |
| 32 | + for (const name of Object.keys(mappings)) { |
| 33 | + Object.defineProperty(obj, name, { |
| 34 | + configurable: false, |
| 35 | + enumerable: true, |
| 36 | + get: mappings[name] |
| 37 | + }); |
| 38 | + } |
| 39 | +}; |
| 40 | + |
| 41 | +exportPlugins(exports, { |
| 42 | + AutomaticPrefetchPlugin: () => require("./AutomaticPrefetchPlugin"), |
| 43 | + BannerPlugin: () => require("./BannerPlugin"), |
| 44 | + ContextExclusionPlugin: () => require("./ContextExclusionPlugin"), |
| 45 | + ContextReplacementPlugin: () => require("./ContextReplacementPlugin"), |
| 46 | + DefinePlugin: () => require("./DefinePlugin"), |
| 47 | + Dependency: () => require("./Dependency"), |
| 48 | + DllPlugin: () => require("./DllPlugin"), |
| 49 | + DllReferencePlugin: () => require("./DllReferencePlugin"), |
| 50 | + EntryPlugin: () => require("./EntryPlugin"), |
| 51 | + EnvironmentPlugin: () => require("./EnvironmentPlugin"), |
| 52 | + EvalDevToolModulePlugin: () => require("./EvalDevToolModulePlugin"), |
| 53 | + EvalSourceMapDevToolPlugin: () => require("./EvalSourceMapDevToolPlugin"), |
| 54 | + ExternalsPlugin: () => require("./ExternalsPlugin"), |
| 55 | + HotModuleReplacementPlugin: () => require("./HotModuleReplacementPlugin"), |
| 56 | + IgnorePlugin: () => require("./IgnorePlugin"), |
| 57 | + LibraryTemplatePlugin: () => require("./LibraryTemplatePlugin"), |
| 58 | + LoaderOptionsPlugin: () => require("./LoaderOptionsPlugin"), |
| 59 | + LoaderTargetPlugin: () => require("./LoaderTargetPlugin"), |
| 60 | + MemoryOutputFileSystem: () => require("./MemoryOutputFileSystem"), |
| 61 | + Module: () => require("./Module"), |
| 62 | + ModuleFilenameHelpers: () => require("./ModuleFilenameHelpers"), |
| 63 | + NoEmitOnErrorsPlugin: () => require("./NoEmitOnErrorsPlugin"), |
| 64 | + NormalModuleReplacementPlugin: () => |
| 65 | + require("./NormalModuleReplacementPlugin"), |
| 66 | + PrefetchPlugin: () => require("./PrefetchPlugin"), |
| 67 | + ProgressPlugin: () => require("./ProgressPlugin"), |
| 68 | + ProvidePlugin: () => require("./ProvidePlugin"), |
| 69 | + SingleEntryPlugin: util.deprecate( |
| 70 | + () => require("./EntryPlugin"), |
| 71 | + "SingleEntryPlugin was renamed to EntryPlugin" |
| 72 | + ), |
| 73 | + SetVarMainTemplatePlugin: () => require("./SetVarMainTemplatePlugin"), |
| 74 | + SourceMapDevToolPlugin: () => require("./SourceMapDevToolPlugin"), |
| 75 | + Stats: () => require("./Stats"), |
| 76 | + Template: () => require("./Template"), |
| 77 | + UmdMainTemplatePlugin: () => require("./UmdMainTemplatePlugin"), |
| 78 | + WatchIgnorePlugin: () => require("./WatchIgnorePlugin") |
| 79 | +}); |
| 80 | + |
| 81 | +exportPlugins((exports.cache = {}), { |
| 82 | + MemoryCachePlugin: () => require("./cache/MemoryCachePlugin") |
| 83 | +}); |
| 84 | + |
| 85 | +exportPlugins((exports.dependencies = {}), { |
| 86 | + DependencyReference: () => require("./dependencies/DependencyReference") |
| 87 | +}); |
| 88 | + |
| 89 | +exportPlugins((exports.ids = {}), { |
| 90 | + ChunkModuleIdRangePlugin: () => require("./ids/ChunkModuleIdRangePlugin"), |
| 91 | + NaturalModuleIdsPlugin: () => require("./ids/NaturalModuleIdsPlugin"), |
| 92 | + OccurrenceModuleIdsPlugin: () => require("./ids/OccurrenceModuleIdsPlugin"), |
| 93 | + NamedModuleIdsPlugin: () => require("./ids/NamedModuleIdsPlugin"), |
| 94 | + DeterministicModuleIdsPlugin: () => |
| 95 | + require("./ids/DeterministicModuleIdsPlugin"), |
| 96 | + NamedChunkIdsPlugin: () => require("./ids/NamedChunkIdsPlugin"), |
| 97 | + OccurrenceChunkIdsPlugin: () => require("./ids/OccurrenceChunkIdsPlugin"), |
| 98 | + HashedModuleIdsPlugin: () => require("./ids/HashedModuleIdsPlugin") |
| 99 | +}); |
| 100 | + |
| 101 | +exportPlugins((exports.optimize = {}), { |
| 102 | + AggressiveMergingPlugin: () => require("./optimize/AggressiveMergingPlugin"), |
| 103 | + AggressiveSplittingPlugin: util.deprecate( |
| 104 | + () => require("./optimize/AggressiveSplittingPlugin"), |
| 105 | + "AggressiveSplittingPlugin is deprecated in favor of SplitChunksPlugin" |
| 106 | + ), |
| 107 | + LimitChunkCountPlugin: () => require("./optimize/LimitChunkCountPlugin"), |
| 108 | + MinChunkSizePlugin: () => require("./optimize/MinChunkSizePlugin"), |
| 109 | + ModuleConcatenationPlugin: () => |
| 110 | + require("./optimize/ModuleConcatenationPlugin"), |
| 111 | + RuntimeChunkPlugin: () => require("./optimize/RuntimeChunkPlugin"), |
| 112 | + SideEffectsFlagPlugin: () => require("./optimize/SideEffectsFlagPlugin"), |
| 113 | + SplitChunksPlugin: () => require("./optimize/SplitChunksPlugin") |
| 114 | +}); |
| 115 | + |
| 116 | +exportPlugins((exports.web = {}), { |
| 117 | + FetchCompileWasmPlugin: () => require("./web/FetchCompileWasmPlugin"), |
| 118 | + JsonpTemplatePlugin: () => require("./web/JsonpTemplatePlugin") |
| 119 | +}); |
| 120 | + |
| 121 | +exportPlugins((exports.webworker = {}), { |
| 122 | + WebWorkerTemplatePlugin: () => require("./webworker/WebWorkerTemplatePlugin") |
| 123 | +}); |
| 124 | + |
| 125 | +exportPlugins((exports.node = {}), { |
| 126 | + NodeTemplatePlugin: () => require("./node/NodeTemplatePlugin"), |
| 127 | + ReadFileCompileWasmPlugin: () => require("./node/ReadFileCompileWasmPlugin") |
| 128 | +}); |
| 129 | + |
| 130 | +exportPlugins((exports.debug = {}), { |
| 131 | + ProfilingPlugin: () => require("./debug/ProfilingPlugin") |
| 132 | +}); |
| 133 | + |
| 134 | +exportPlugins((exports.util = {}), { |
| 135 | + createHash: () => require("./util/createHash"), |
| 136 | + comparators: () => require("./util/comparators") |
| 137 | +}); |
0 commit comments