nav tabs on admin dashboard
This commit is contained in:
75
node_modules/webpack/lib/MultiEntryPlugin.js
generated
vendored
75
node_modules/webpack/lib/MultiEntryPlugin.js
generated
vendored
@@ -8,32 +8,73 @@ const MultiEntryDependency = require("./dependencies/MultiEntryDependency");
|
||||
const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
|
||||
const MultiModuleFactory = require("./MultiModuleFactory");
|
||||
|
||||
module.exports = class MultiEntryPlugin {
|
||||
/** @typedef {import("./Compiler")} Compiler */
|
||||
|
||||
class MultiEntryPlugin {
|
||||
/**
|
||||
* The MultiEntryPlugin is invoked whenever this.options.entry value is an array of paths
|
||||
* @param {string} context context path
|
||||
* @param {string[]} entries array of entry paths
|
||||
* @param {string} name entry key name
|
||||
*/
|
||||
constructor(context, entries, name) {
|
||||
this.context = context;
|
||||
this.entries = entries;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Compiler} compiler the compiler instance
|
||||
* @returns {void}
|
||||
*/
|
||||
apply(compiler) {
|
||||
compiler.plugin("compilation", (compilation, params) => {
|
||||
const multiModuleFactory = new MultiModuleFactory();
|
||||
const normalModuleFactory = params.normalModuleFactory;
|
||||
compiler.hooks.compilation.tap(
|
||||
"MultiEntryPlugin",
|
||||
(compilation, { normalModuleFactory }) => {
|
||||
const multiModuleFactory = new MultiModuleFactory();
|
||||
|
||||
compilation.dependencyFactories.set(MultiEntryDependency, multiModuleFactory);
|
||||
compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
|
||||
});
|
||||
compiler.plugin("make", (compilation, callback) => {
|
||||
const dep = MultiEntryPlugin.createDependency(this.entries, this.name);
|
||||
compilation.addEntry(this.context, dep, this.name, callback);
|
||||
});
|
||||
compilation.dependencyFactories.set(
|
||||
MultiEntryDependency,
|
||||
multiModuleFactory
|
||||
);
|
||||
compilation.dependencyFactories.set(
|
||||
SingleEntryDependency,
|
||||
normalModuleFactory
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
compiler.hooks.make.tapAsync(
|
||||
"MultiEntryPlugin",
|
||||
(compilation, callback) => {
|
||||
const { context, entries, name } = this;
|
||||
|
||||
const dep = MultiEntryPlugin.createDependency(entries, name);
|
||||
compilation.addEntry(context, dep, name, callback);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string[]} entries each entry path string
|
||||
* @param {string} name name of the entry
|
||||
* @returns {MultiEntryDependency} returns a constructed Dependency
|
||||
*/
|
||||
static createDependency(entries, name) {
|
||||
return new MultiEntryDependency(entries.map((e, idx) => {
|
||||
const dep = new SingleEntryDependency(e);
|
||||
dep.loc = name + ":" + (100000 + idx);
|
||||
return dep;
|
||||
}), name);
|
||||
return new MultiEntryDependency(
|
||||
entries.map((e, idx) => {
|
||||
const dep = new SingleEntryDependency(e);
|
||||
// Because entrypoints are not dependencies found in an
|
||||
// existing module, we give it a synthetic id
|
||||
dep.loc = {
|
||||
name,
|
||||
index: idx
|
||||
};
|
||||
return dep;
|
||||
}),
|
||||
name
|
||||
);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = MultiEntryPlugin;
|
||||
|
||||
Reference in New Issue
Block a user