From 600d13cb98154af21b654ed5d06670606214eae4 Mon Sep 17 00:00:00 2001 From: Carlos Cuatin Date: Thu, 12 Jan 2017 12:25:51 -0500 Subject: [PATCH] refactor(es6) upgrade NormalModuleReplacementPlugin to ES6 class --- lib/NormalModuleReplacementPlugin.js | 69 +++++++++++++++------------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/lib/NormalModuleReplacementPlugin.js b/lib/NormalModuleReplacementPlugin.js index 52ac562b7..7eb048e93 100644 --- a/lib/NormalModuleReplacementPlugin.js +++ b/lib/NormalModuleReplacementPlugin.js @@ -2,39 +2,44 @@ MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ +"use strict"; -var path = require("path"); +const path = require("path"); -function NormalModuleReplacementPlugin(resourceRegExp, newResource) { - this.resourceRegExp = resourceRegExp; - this.newResource = newResource; +class NormalModuleReplacementPlugin { + constructor(resourceRegExp, newResource) { + this.resourceRegExp = resourceRegExp; + this.newResource = newResource; + } + + apply(compiler) { + let resourceRegExp = this.resourceRegExp; + let newResource = this.newResource; + compiler.plugin("normal-module-factory", (nmf) => { + nmf.plugin("before-resolve", (result, callback) => { + if(!result) return callback(); + if(resourceRegExp.test(result.request)) { + if(typeof newResource === "function") { + newResource(result); + } else { + result.request = newResource; + } + } + return callback(null, result); + }); + nmf.plugin("after-resolve", (result, callback) => { + if(!result) return callback(); + if(resourceRegExp.test(result.resource)) { + if(typeof newResource === "function") { + newResource(result); + } else { + result.resource = path.resolve(path.dirname(result.resource), newResource); + } + } + return callback(null, result); + }); + }); + } } + 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("before-resolve", function(result, callback) { - if(!result) return callback(); - if(resourceRegExp.test(result.request)) { - if(typeof newResource === "function") { - newResource(result); - } else { - result.request = newResource; - } - } - return callback(null, result); - }); - nmf.plugin("after-resolve", function(result, callback) { - if(!result) return callback(); - if(resourceRegExp.test(result.resource)) { - if(typeof newResource === "function") { - newResource(result); - } else { - result.resource = path.resolve(path.dirname(result.resource), newResource); - } - } - return callback(null, result); - }); - }); -};