added ResolverPlugin

This commit is contained in:
Tobias Koppers 2014-01-21 13:07:10 +01:00
parent a79d10b24a
commit 1822f3a717
2 changed files with 34 additions and 0 deletions

33
lib/ResolverPlugin.js Normal file
View File

@ -0,0 +1,33 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
function ResolverPlugin(plugins, types) {
if(!Array.isArray(plugins)) plugins = [plugins];
if(!types) types = ["normal"];
else if(!Array.isArray(types)) types = [types];
this.plugins = plugins;
this.types = types;
}
module.exports = ResolverPlugin;
ResolverPlugin.prototype.apply = function(compiler) {
this.types.forEach(function(type) {
this.plugins.forEach(function(plugin) {
compiler.resolvers[type].apply(plugin);
});
}, this);
};
ResolverPlugin.UnsafeCachePlugin = require("enhanced-resolve/lib/UnsafeCachePlugin");
ResolverPlugin.ModulesInDirectoriesPlugin = require("enhanced-resolve/lib/ModulesInDirectoriesPlugin");
ResolverPlugin.ModulesInRootPlugin = require("enhanced-resolve/lib/ModulesInRootPlugin");
ResolverPlugin.ModuleTemplatesPlugin = require("enhanced-resolve/lib/ModuleTemplatesPlugin");
ResolverPlugin.ModuleAsFilePlugin = require("enhanced-resolve/lib/ModuleAsFilePlugin");
ResolverPlugin.ModuleAsDirectoryPlugin = require("enhanced-resolve/lib/ModuleAsDirectoryPlugin");
ResolverPlugin.ModuleAliasPlugin = require("enhanced-resolve/lib/ModuleAliasPlugin");
ResolverPlugin.DirectoryDefaultFilePlugin = require("enhanced-resolve/lib/DirectoryDefaultFilePlugin");
ResolverPlugin.DirectoryDescriptionFilePlugin = require("enhanced-resolve/lib/DirectoryDescriptionFilePlugin");
ResolverPlugin.FileAppendPlugin = require("enhanced-resolve/lib/FileAppendPlugin");
ResolverPlugin.DirectoryResultPlugin = require("enhanced-resolve/lib/DirectoryResultPlugin");

View File

@ -51,6 +51,7 @@ exportPlugins(exports, ".", [
"PrefetchPlugin",
"ProvidePlugin",
"HotModuleReplacementPlugin",
"ResolverPlugin",
]);
exportPlugins(exports.optimize = {}, "./optimize", [
"CommonsChunkPlugin",