UNPKG

1.2 kBJavaScriptView Raw
1/*
2 MIT License http://www.opensource.org/licenses/mit-license.php
3 Author Tobias Koppers @sokra
4*/
5"use strict";
6
7const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
8
9class SourceMapDevToolModuleOptionsPlugin {
10 constructor(options) {
11 this.options = options;
12 }
13
14 apply(compilation) {
15 const options = this.options;
16 if (options.module !== false) {
17 compilation.hooks.buildModule.tap(
18 "SourceMapDevToolModuleOptionsPlugin",
19 module => {
20 module.useSourceMap = true;
21 }
22 );
23 }
24 if (options.lineToLine === true) {
25 compilation.hooks.buildModule.tap(
26 "SourceMapDevToolModuleOptionsPlugin",
27 module => {
28 module.lineToLine = true;
29 }
30 );
31 } else if (options.lineToLine) {
32 compilation.hooks.buildModule.tap(
33 "SourceMapDevToolModuleOptionsPlugin",
34 module => {
35 if (!module.resource) return;
36 let resourcePath = module.resource;
37 const idx = resourcePath.indexOf("?");
38 if (idx >= 0) resourcePath = resourcePath.substr(0, idx);
39 module.lineToLine = ModuleFilenameHelpers.matchObject(
40 options.lineToLine,
41 resourcePath
42 );
43 }
44 );
45 }
46 }
47}
48
49module.exports = SourceMapDevToolModuleOptionsPlugin;