added replacement plugins

This commit is contained in:
Tobias Koppers 2013-01-31 02:33:11 +01:00
parent 001fd4f859
commit 5adfabb091
2 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,21 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
function ContextReplacementPlugin(resourceRegExp, newContentRegExp) {
this.resourceRegExp = resourceRegExp;
this.newContentRegExp = newContentRegExp
}
module.exports = ContextReplacementPlugin;
ContextReplacementPlugin.prototype.apply = function(compiler) {
var resourceRegExp = this.resourceRegExp;
var newContentRegExp = this.newContentRegExp;
compiler.plugin("context-module-factory", function(cmf) {
cmf.plugin("after-resolve", function(result, callback) {
if(resourceRegExp.test(result.resource)) {
result.regExp = newContentRegExp;
}
return callback(null, result);
});
});
};

View File

@ -0,0 +1,21 @@
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
function NormalModuleReplacementPlugin(resourceRegExp, newResource) {
this.resourceRegExp = resourceRegExp;
this.newResource = newResource
}
module.exports = NormalModuleReplacementPlugin;
NormalModuleReplacementPlugin.prototype.apply = function(compiler) {
var resourceRegExp = this.resourceRegExp;
var newResource = this.newResource;
compiler.plugin("normal-module-factory", function(nmf) {
nmf.plugin("after-resolve", function(result, callback) {
if(resourceRegExp.test(result.resource)) {
result.resource = newResource;
}
return callback(null, result);
});
});
};