Projekt

Obecné

Profil

Stáhnout (1.17 KB) Statistiky
| Větev: | Revize:
1
/*
2
	MIT License http://www.opensource.org/licenses/mit-license.php
3
	Author Tobias Koppers @sokra
4
*/
5
"use strict";
6

    
7
const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
8

    
9
class 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

    
49
module.exports = SourceMapDevToolModuleOptionsPlugin;
(122-122/144)