Skip to content

Commit

Permalink
refactor(es6): Upgrade MultiEntryPlugin to ES6 🎉
Browse files Browse the repository at this point in the history
  • Loading branch information
TheLarkInn committed Jan 6, 2017
1 parent a87b61f commit 20a587b
Showing 1 changed file with 27 additions and 24 deletions.
51 changes: 27 additions & 24 deletions lib/MultiEntryPlugin.js
Expand Up @@ -2,30 +2,33 @@
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
var MultiEntryDependency = require("./dependencies/MultiEntryDependency");
var SingleEntryDependency = require("./dependencies/SingleEntryDependency");
var MultiModuleFactory = require("./MultiModuleFactory");
"use strict";

function MultiEntryPlugin(context, entries, name) {
this.context = context;
this.entries = entries;
this.name = name;
}
module.exports = MultiEntryPlugin;
MultiEntryPlugin.prototype.apply = function(compiler) {
compiler.plugin("compilation", function(compilation, params) {
var multiModuleFactory = new MultiModuleFactory();
var normalModuleFactory = params.normalModuleFactory;
const MultiEntryDependency = require("./dependencies/MultiEntryDependency");
const SingleEntryDependency = require("./dependencies/SingleEntryDependency");
const MultiModuleFactory = require("./MultiModuleFactory");

module.exports = class MultiEntryPlugin {
constructor(context, entries, name) {
this.context = context;
this.entries = entries;
this.name = name;
}

compilation.dependencyFactories.set(MultiEntryDependency, multiModuleFactory);
apply(compiler) {
compiler.plugin("compilation", (compilation, params) => {
const multiModuleFactory = new MultiModuleFactory();
const normalModuleFactory = params.normalModuleFactory;

compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
});
compiler.plugin("make", function(compilation, callback) {
compilation.addEntry(this.context, new MultiEntryDependency(this.entries.map(function(e, idx) {
var dep = new SingleEntryDependency(e);
dep.loc = this.name + ":" + (100000 + idx);
return dep;
}, this), this.name), this.name, callback);
}.bind(this));
};
compilation.dependencyFactories.set(MultiEntryDependency, multiModuleFactory);
compilation.dependencyFactories.set(SingleEntryDependency, normalModuleFactory);
});
compiler.plugin("make", (compilation, callback) => {
compilation.addEntry(this.context, new MultiEntryDependency(this.entries.map((e, idx) => {
const dep = new SingleEntryDependency(e);
dep.loc = `${this.name}:${(100000 + idx)}`;
return dep;
}, this), this.name), this.name, callback);
});
}
}

0 comments on commit 20a587b

Please sign in to comment.