You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
942 B

/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
const Compiler = require("./Compiler");
const WebEnvironmentPlugin = require("./web/WebEnvironmentPlugin");
const WebpackOptionsApply = require("./WebpackOptionsApply");
const WebpackOptionsDefaulter = require("./WebpackOptionsDefaulter");
const webpack = (options, callback) => {
new WebpackOptionsDefaulter().process(options);
const compiler = new Compiler();
compiler.options = new WebpackOptionsApply().process(options, compiler);
new WebEnvironmentPlugin(
options.inputFileSystem,
options.outputFileSystem
).apply(compiler);
if (callback) {
compiler.run(callback);
}
return compiler;
};
module.exports = webpack;
webpack.WebpackOptionsDefaulter = WebpackOptionsDefaulter;
webpack.WebpackOptionsApply = WebpackOptionsApply;
webpack.Compiler = Compiler;
webpack.WebEnvironmentPlugin = WebEnvironmentPlugin;