nav tabs on admin dashboard
This commit is contained in:
220
node_modules/webpack/lib/webpack.js
generated
vendored
220
node_modules/webpack/lib/webpack.js
generated
vendored
@@ -11,110 +11,192 @@ const WebpackOptionsApply = require("./WebpackOptionsApply");
|
||||
const WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter");
|
||||
const validateSchema = require("./validateSchema");
|
||||
const WebpackOptionsValidationError = require("./WebpackOptionsValidationError");
|
||||
const webpackOptionsSchema = require("../schemas/webpackOptionsSchema.json");
|
||||
const webpackOptionsSchema = require("../schemas/WebpackOptions.json");
|
||||
const RemovedPluginError = require("./RemovedPluginError");
|
||||
const version = require("../package.json").version;
|
||||
|
||||
function webpack(options, callback) {
|
||||
const webpackOptionsValidationErrors = validateSchema(webpackOptionsSchema, options);
|
||||
if(webpackOptionsValidationErrors.length) {
|
||||
/** @typedef {import("../declarations/WebpackOptions").WebpackOptions} WebpackOptions */
|
||||
|
||||
/**
|
||||
* @param {WebpackOptions} options options object
|
||||
* @param {function(Error=, Stats=): void=} callback callback
|
||||
* @returns {Compiler | MultiCompiler} the compiler object
|
||||
*/
|
||||
const webpack = (options, callback) => {
|
||||
const webpackOptionsValidationErrors = validateSchema(
|
||||
webpackOptionsSchema,
|
||||
options
|
||||
);
|
||||
if (webpackOptionsValidationErrors.length) {
|
||||
throw new WebpackOptionsValidationError(webpackOptionsValidationErrors);
|
||||
}
|
||||
let compiler;
|
||||
if(Array.isArray(options)) {
|
||||
if (Array.isArray(options)) {
|
||||
compiler = new MultiCompiler(options.map(options => webpack(options)));
|
||||
} else if(typeof options === "object") {
|
||||
// TODO webpack 4: process returns options
|
||||
new WebpackOptionsDefaulter().process(options);
|
||||
} else if (typeof options === "object") {
|
||||
options = new WebpackOptionsDefaulter().process(options);
|
||||
|
||||
compiler = new Compiler();
|
||||
compiler.context = options.context;
|
||||
compiler = new Compiler(options.context);
|
||||
compiler.options = options;
|
||||
new NodeEnvironmentPlugin().apply(compiler);
|
||||
if(options.plugins && Array.isArray(options.plugins)) {
|
||||
compiler.apply.apply(compiler, options.plugins);
|
||||
if (options.plugins && Array.isArray(options.plugins)) {
|
||||
for (const plugin of options.plugins) {
|
||||
if (typeof plugin === "function") {
|
||||
plugin.call(compiler, compiler);
|
||||
} else {
|
||||
plugin.apply(compiler);
|
||||
}
|
||||
}
|
||||
}
|
||||
compiler.applyPlugins("environment");
|
||||
compiler.applyPlugins("after-environment");
|
||||
compiler.hooks.environment.call();
|
||||
compiler.hooks.afterEnvironment.call();
|
||||
compiler.options = new WebpackOptionsApply().process(options, compiler);
|
||||
} else {
|
||||
throw new Error("Invalid argument: options");
|
||||
}
|
||||
if(callback) {
|
||||
if(typeof callback !== "function") throw new Error("Invalid argument: callback");
|
||||
if(options.watch === true || (Array.isArray(options) && options.some(o => o.watch))) {
|
||||
const watchOptions = Array.isArray(options) ? options.map(o => o.watchOptions || {}) : (options.watchOptions || {});
|
||||
if (callback) {
|
||||
if (typeof callback !== "function") {
|
||||
throw new Error("Invalid argument: callback");
|
||||
}
|
||||
if (
|
||||
options.watch === true ||
|
||||
(Array.isArray(options) && options.some(o => o.watch))
|
||||
) {
|
||||
const watchOptions = Array.isArray(options)
|
||||
? options.map(o => o.watchOptions || {})
|
||||
: options.watchOptions || {};
|
||||
return compiler.watch(watchOptions, callback);
|
||||
}
|
||||
compiler.run(callback);
|
||||
}
|
||||
return compiler;
|
||||
}
|
||||
};
|
||||
|
||||
exports = module.exports = webpack;
|
||||
exports.version = version;
|
||||
|
||||
webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter;
|
||||
webpack.WebpackOptionsApply = WebpackOptionsApply;
|
||||
webpack.Compiler = Compiler;
|
||||
webpack.MultiCompiler = MultiCompiler;
|
||||
webpack.NodeEnvironmentPlugin = NodeEnvironmentPlugin;
|
||||
// @ts-ignore Global @this directive is not supported
|
||||
webpack.validate = validateSchema.bind(this, webpackOptionsSchema);
|
||||
webpack.validateSchema = validateSchema;
|
||||
webpack.WebpackOptionsValidationError = WebpackOptionsValidationError;
|
||||
|
||||
function exportPlugins(obj, mappings) {
|
||||
Object.keys(mappings).forEach(name => {
|
||||
const exportPlugins = (obj, mappings) => {
|
||||
for (const name of Object.keys(mappings)) {
|
||||
Object.defineProperty(obj, name, {
|
||||
configurable: false,
|
||||
enumerable: true,
|
||||
get: mappings[name]
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
exportPlugins(exports, {
|
||||
"DefinePlugin": () => require("./DefinePlugin"),
|
||||
"NormalModuleReplacementPlugin": () => require("./NormalModuleReplacementPlugin"),
|
||||
"ContextReplacementPlugin": () => require("./ContextReplacementPlugin"),
|
||||
"ContextExclusionPlugin": () => require("./ContextExclusionPlugin"),
|
||||
"IgnorePlugin": () => require("./IgnorePlugin"),
|
||||
"WatchIgnorePlugin": () => require("./WatchIgnorePlugin"),
|
||||
"BannerPlugin": () => require("./BannerPlugin"),
|
||||
"PrefetchPlugin": () => require("./PrefetchPlugin"),
|
||||
"AutomaticPrefetchPlugin": () => require("./AutomaticPrefetchPlugin"),
|
||||
"ProvidePlugin": () => require("./ProvidePlugin"),
|
||||
"HotModuleReplacementPlugin": () => require("./HotModuleReplacementPlugin"),
|
||||
"SourceMapDevToolPlugin": () => require("./SourceMapDevToolPlugin"),
|
||||
"EvalSourceMapDevToolPlugin": () => require("./EvalSourceMapDevToolPlugin"),
|
||||
"EvalDevToolModulePlugin": () => require("./EvalDevToolModulePlugin"),
|
||||
"CachePlugin": () => require("./CachePlugin"),
|
||||
"ExtendedAPIPlugin": () => require("./ExtendedAPIPlugin"),
|
||||
"ExternalsPlugin": () => require("./ExternalsPlugin"),
|
||||
"JsonpTemplatePlugin": () => require("./JsonpTemplatePlugin"),
|
||||
"LibraryTemplatePlugin": () => require("./LibraryTemplatePlugin"),
|
||||
"LoaderTargetPlugin": () => require("./LoaderTargetPlugin"),
|
||||
"MemoryOutputFileSystem": () => require("./MemoryOutputFileSystem"),
|
||||
"ProgressPlugin": () => require("./ProgressPlugin"),
|
||||
"SetVarMainTemplatePlugin": () => require("./SetVarMainTemplatePlugin"),
|
||||
"UmdMainTemplatePlugin": () => require("./UmdMainTemplatePlugin"),
|
||||
"NoErrorsPlugin": () => require("./NoErrorsPlugin"),
|
||||
"NoEmitOnErrorsPlugin": () => require("./NoEmitOnErrorsPlugin"),
|
||||
"NewWatchingPlugin": () => require("./NewWatchingPlugin"),
|
||||
"EnvironmentPlugin": () => require("./EnvironmentPlugin"),
|
||||
"DllPlugin": () => require("./DllPlugin"),
|
||||
"DllReferencePlugin": () => require("./DllReferencePlugin"),
|
||||
"LoaderOptionsPlugin": () => require("./LoaderOptionsPlugin"),
|
||||
"NamedModulesPlugin": () => require("./NamedModulesPlugin"),
|
||||
"NamedChunksPlugin": () => require("./NamedChunksPlugin"),
|
||||
"HashedModuleIdsPlugin": () => require("./HashedModuleIdsPlugin"),
|
||||
"ModuleFilenameHelpers": () => require("./ModuleFilenameHelpers")
|
||||
AutomaticPrefetchPlugin: () => require("./AutomaticPrefetchPlugin"),
|
||||
BannerPlugin: () => require("./BannerPlugin"),
|
||||
CachePlugin: () => require("./CachePlugin"),
|
||||
ContextExclusionPlugin: () => require("./ContextExclusionPlugin"),
|
||||
ContextReplacementPlugin: () => require("./ContextReplacementPlugin"),
|
||||
DefinePlugin: () => require("./DefinePlugin"),
|
||||
Dependency: () => require("./Dependency"),
|
||||
DllPlugin: () => require("./DllPlugin"),
|
||||
DllReferencePlugin: () => require("./DllReferencePlugin"),
|
||||
EnvironmentPlugin: () => require("./EnvironmentPlugin"),
|
||||
EvalDevToolModulePlugin: () => require("./EvalDevToolModulePlugin"),
|
||||
EvalSourceMapDevToolPlugin: () => require("./EvalSourceMapDevToolPlugin"),
|
||||
ExtendedAPIPlugin: () => require("./ExtendedAPIPlugin"),
|
||||
ExternalsPlugin: () => require("./ExternalsPlugin"),
|
||||
HashedModuleIdsPlugin: () => require("./HashedModuleIdsPlugin"),
|
||||
HotModuleReplacementPlugin: () => require("./HotModuleReplacementPlugin"),
|
||||
IgnorePlugin: () => require("./IgnorePlugin"),
|
||||
LibraryTemplatePlugin: () => require("./LibraryTemplatePlugin"),
|
||||
LoaderOptionsPlugin: () => require("./LoaderOptionsPlugin"),
|
||||
LoaderTargetPlugin: () => require("./LoaderTargetPlugin"),
|
||||
MemoryOutputFileSystem: () => require("./MemoryOutputFileSystem"),
|
||||
Module: () => require("./Module"),
|
||||
ModuleFilenameHelpers: () => require("./ModuleFilenameHelpers"),
|
||||
NamedChunksPlugin: () => require("./NamedChunksPlugin"),
|
||||
NamedModulesPlugin: () => require("./NamedModulesPlugin"),
|
||||
NoEmitOnErrorsPlugin: () => require("./NoEmitOnErrorsPlugin"),
|
||||
NormalModuleReplacementPlugin: () =>
|
||||
require("./NormalModuleReplacementPlugin"),
|
||||
PrefetchPlugin: () => require("./PrefetchPlugin"),
|
||||
ProgressPlugin: () => require("./ProgressPlugin"),
|
||||
ProvidePlugin: () => require("./ProvidePlugin"),
|
||||
SetVarMainTemplatePlugin: () => require("./SetVarMainTemplatePlugin"),
|
||||
SingleEntryPlugin: () => require("./SingleEntryPlugin"),
|
||||
SourceMapDevToolPlugin: () => require("./SourceMapDevToolPlugin"),
|
||||
Stats: () => require("./Stats"),
|
||||
Template: () => require("./Template"),
|
||||
UmdMainTemplatePlugin: () => require("./UmdMainTemplatePlugin"),
|
||||
WatchIgnorePlugin: () => require("./WatchIgnorePlugin")
|
||||
});
|
||||
exportPlugins(exports.optimize = {}, {
|
||||
"AggressiveMergingPlugin": () => require("./optimize/AggressiveMergingPlugin"),
|
||||
"AggressiveSplittingPlugin": () => require("./optimize/AggressiveSplittingPlugin"),
|
||||
"CommonsChunkPlugin": () => require("./optimize/CommonsChunkPlugin"),
|
||||
"ChunkModuleIdRangePlugin": () => require("./optimize/ChunkModuleIdRangePlugin"),
|
||||
"DedupePlugin": () => require("./optimize/DedupePlugin"),
|
||||
"LimitChunkCountPlugin": () => require("./optimize/LimitChunkCountPlugin"),
|
||||
"MinChunkSizePlugin": () => require("./optimize/MinChunkSizePlugin"),
|
||||
"ModuleConcatenationPlugin": () => require("./optimize/ModuleConcatenationPlugin"),
|
||||
"OccurrenceOrderPlugin": () => require("./optimize/OccurrenceOrderPlugin"),
|
||||
"UglifyJsPlugin": () => require("./optimize/UglifyJsPlugin")
|
||||
exportPlugins((exports.dependencies = {}), {
|
||||
DependencyReference: () => require("./dependencies/DependencyReference")
|
||||
});
|
||||
exportPlugins((exports.optimize = {}), {
|
||||
AggressiveMergingPlugin: () => require("./optimize/AggressiveMergingPlugin"),
|
||||
AggressiveSplittingPlugin: () =>
|
||||
require("./optimize/AggressiveSplittingPlugin"),
|
||||
ChunkModuleIdRangePlugin: () =>
|
||||
require("./optimize/ChunkModuleIdRangePlugin"),
|
||||
LimitChunkCountPlugin: () => require("./optimize/LimitChunkCountPlugin"),
|
||||
MinChunkSizePlugin: () => require("./optimize/MinChunkSizePlugin"),
|
||||
ModuleConcatenationPlugin: () =>
|
||||
require("./optimize/ModuleConcatenationPlugin"),
|
||||
OccurrenceOrderPlugin: () => require("./optimize/OccurrenceOrderPlugin"),
|
||||
OccurrenceModuleOrderPlugin: () =>
|
||||
require("./optimize/OccurrenceModuleOrderPlugin"),
|
||||
OccurrenceChunkOrderPlugin: () =>
|
||||
require("./optimize/OccurrenceChunkOrderPlugin"),
|
||||
RuntimeChunkPlugin: () => require("./optimize/RuntimeChunkPlugin"),
|
||||
SideEffectsFlagPlugin: () => require("./optimize/SideEffectsFlagPlugin"),
|
||||
SplitChunksPlugin: () => require("./optimize/SplitChunksPlugin")
|
||||
});
|
||||
exportPlugins((exports.web = {}), {
|
||||
FetchCompileWasmTemplatePlugin: () =>
|
||||
require("./web/FetchCompileWasmTemplatePlugin"),
|
||||
JsonpTemplatePlugin: () => require("./web/JsonpTemplatePlugin")
|
||||
});
|
||||
exportPlugins((exports.webworker = {}), {
|
||||
WebWorkerTemplatePlugin: () => require("./webworker/WebWorkerTemplatePlugin")
|
||||
});
|
||||
exportPlugins((exports.node = {}), {
|
||||
NodeTemplatePlugin: () => require("./node/NodeTemplatePlugin"),
|
||||
ReadFileCompileWasmTemplatePlugin: () =>
|
||||
require("./node/ReadFileCompileWasmTemplatePlugin")
|
||||
});
|
||||
exportPlugins((exports.debug = {}), {
|
||||
ProfilingPlugin: () => require("./debug/ProfilingPlugin")
|
||||
});
|
||||
exportPlugins((exports.util = {}), {
|
||||
createHash: () => require("./util/createHash")
|
||||
});
|
||||
|
||||
const defineMissingPluginError = (namespace, pluginName, errorMessage) => {
|
||||
Object.defineProperty(namespace, pluginName, {
|
||||
configurable: false,
|
||||
enumerable: true,
|
||||
get() {
|
||||
throw new RemovedPluginError(errorMessage);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// TODO remove in webpack 5
|
||||
defineMissingPluginError(
|
||||
exports.optimize,
|
||||
"UglifyJsPlugin",
|
||||
"webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead."
|
||||
);
|
||||
|
||||
// TODO remove in webpack 5
|
||||
defineMissingPluginError(
|
||||
exports.optimize,
|
||||
"CommonsChunkPlugin",
|
||||
"webpack.optimize.CommonsChunkPlugin has been removed, please use config.optimization.splitChunks instead."
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user