From de98e0b232509d5f40c135d540a70e415272ff85 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Wed, 3 May 2017 15:35:00 +0200 Subject: node_modules --- node_modules/webpack/lib/IgnorePlugin.js | 69 ++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 node_modules/webpack/lib/IgnorePlugin.js (limited to 'node_modules/webpack/lib/IgnorePlugin.js') diff --git a/node_modules/webpack/lib/IgnorePlugin.js b/node_modules/webpack/lib/IgnorePlugin.js new file mode 100644 index 000000000..9464f5746 --- /dev/null +++ b/node_modules/webpack/lib/IgnorePlugin.js @@ -0,0 +1,69 @@ +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +"use strict"; + +class IgnorePlugin { + constructor(resourceRegExp, contextRegExp) { + this.resourceRegExp = resourceRegExp; + this.contextRegExp = contextRegExp; + + this.checkIgnore = this.checkIgnore.bind(this); + } + + /* + * Only returns true if a "resourceRegExp" exists + * and the resource given matches the regexp. + */ + checkResouce(resource) { + if(!this.resourceRegExp) { + return false; + } + return this.resourceRegExp.test(resource); + } + + /* + * Returns true if contextRegExp does not exist + * or if context matches the given regexp. + */ + checkContext(context) { + if(!this.contextRegExp) { + return true; + } + return this.contextRegExp.test(context); + } + + /* + * Returns true if result should be ignored. + * false if it shouldn't. + * + * Not that if "contextRegExp" is given, both the "resourceRegExp" + * and "contextRegExp" have to match. + */ + checkResult(result) { + if(!result) { + return true; + } + return this.checkResouce(result.request) && this.checkContext(result.context); + } + + checkIgnore(result, callback) { + // check if result is ignored + if(this.checkResult(result)) { + return callback(); + } + return callback(null, result); + } + + apply(compiler) { + compiler.plugin("normal-module-factory", (nmf) => { + nmf.plugin("before-resolve", this.checkIgnore); + }); + compiler.plugin("context-module-factory", (cmf) => { + cmf.plugin("before-resolve", this.checkIgnore); + }); + } +} + +module.exports = IgnorePlugin; -- cgit v1.2.3