webpack/lib/EvalSourceMapDevToolPlugin.js

45 lines
1.0 KiB
JavaScript
Raw Normal View History

2014-02-13 18:40:16 +08:00
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
2014-02-13 18:40:16 +08:00
const EvalSourceMapDevToolModuleTemplatePlugin = require("./EvalSourceMapDevToolModuleTemplatePlugin");
const SourceMapDevToolModuleOptionsPlugin = require("./SourceMapDevToolModuleOptionsPlugin");
2018-07-06 17:19:30 +08:00
/** @typedef {import("./Compiler")} Compiler */
class EvalSourceMapDevToolPlugin {
2018-07-06 17:19:30 +08:00
/**
* @param {TODO} options Options object
*/
constructor(options = {}) {
2018-02-25 09:00:20 +08:00
if (typeof options === "string") {
options = {
append: options
};
}
this.options = options;
}
2018-07-06 17:19:30 +08:00
/**
* @param {Compiler} compiler Webpack Compiler
* @returns {void}
*/
apply(compiler) {
const options = this.options;
2018-02-25 09:00:20 +08:00
compiler.hooks.compilation.tap(
"EvalSourceMapDevToolPlugin",
compilation => {
new SourceMapDevToolModuleOptionsPlugin(options).apply(compilation);
new EvalSourceMapDevToolModuleTemplatePlugin(
compilation,
options
).apply(compilation.moduleTemplates.javascript);
}
);
}
2014-02-13 18:40:16 +08:00
}
2014-02-13 18:40:16 +08:00
module.exports = EvalSourceMapDevToolPlugin;