| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- const { RawSource } = require("webpack-sources");
 
- const ModuleFilenameHelpers = require("./ModuleFilenameHelpers");
 
- const cache = new WeakMap();
 
- class EvalDevToolModuleTemplatePlugin {
 
- 	constructor(options) {
 
- 		this.sourceUrlComment = options.sourceUrlComment || "\n//# sourceURL=[url]";
 
- 		this.moduleFilenameTemplate =
 
- 			options.moduleFilenameTemplate ||
 
- 			"webpack://[namespace]/[resourcePath]?[loaders]";
 
- 		this.namespace = options.namespace || "";
 
- 	}
 
- 	apply(moduleTemplate) {
 
- 		moduleTemplate.hooks.module.tap(
 
- 			"EvalDevToolModuleTemplatePlugin",
 
- 			(source, module) => {
 
- 				const cacheEntry = cache.get(source);
 
- 				if (cacheEntry !== undefined) return cacheEntry;
 
- 				const content = source.source();
 
- 				const str = ModuleFilenameHelpers.createFilename(
 
- 					module,
 
- 					{
 
- 						moduleFilenameTemplate: this.moduleFilenameTemplate,
 
- 						namespace: this.namespace
 
- 					},
 
- 					moduleTemplate.runtimeTemplate.requestShortener
 
- 				);
 
- 				const footer =
 
- 					"\n" +
 
- 					this.sourceUrlComment.replace(
 
- 						/\[url\]/g,
 
- 						encodeURI(str)
 
- 							.replace(/%2F/g, "/")
 
- 							.replace(/%20/g, "_")
 
- 							.replace(/%5E/g, "^")
 
- 							.replace(/%5C/g, "\\")
 
- 							.replace(/^\//, "")
 
- 					);
 
- 				const result = new RawSource(
 
- 					`eval(${JSON.stringify(content + footer)});`
 
- 				);
 
- 				cache.set(source, result);
 
- 				return result;
 
- 			}
 
- 		);
 
- 		moduleTemplate.hooks.hash.tap("EvalDevToolModuleTemplatePlugin", hash => {
 
- 			hash.update("EvalDevToolModuleTemplatePlugin");
 
- 			hash.update("2");
 
- 		});
 
- 	}
 
- }
 
- module.exports = EvalDevToolModuleTemplatePlugin;
 
 
  |