保誠-保戶業務員媒合平台
Tomas
2022-05-19 957a1f10a06fdbb76f1a0ba94fe44126c613fee3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*
    MIT License http://www.opensource.org/licenses/mit-license.php
    Author Tobias Koppers @sokra
*/
"use strict";
 
const EvalSourceMapDevToolModuleTemplatePlugin = require("./EvalSourceMapDevToolModuleTemplatePlugin");
const SourceMapDevToolModuleOptionsPlugin = require("./SourceMapDevToolModuleOptionsPlugin");
 
class EvalSourceMapDevToolPlugin {
    constructor(options) {
        if (arguments.length > 1) {
            throw new Error(
                "EvalSourceMapDevToolPlugin only takes one argument (pass an options object)"
            );
        }
        if (typeof options === "string") {
            options = {
                append: options
            };
        }
        if (!options) options = {};
        this.options = options;
    }
 
    apply(compiler) {
        const options = this.options;
        compiler.hooks.compilation.tap(
            "EvalSourceMapDevToolPlugin",
            compilation => {
                new SourceMapDevToolModuleOptionsPlugin(options).apply(compilation);
                new EvalSourceMapDevToolModuleTemplatePlugin(
                    compilation,
                    options
                ).apply(compilation.moduleTemplates.javascript);
            }
        );
    }
}
 
module.exports = EvalSourceMapDevToolPlugin;