| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- /*
 
- 	MIT License http://www.opensource.org/licenses/mit-license.php
 
- 	Author Tobias Koppers @sokra
 
- */
 
- "use strict";
 
- const RequireIncludeDependency = require("./RequireIncludeDependency");
 
- const RequireIncludeDependencyParserPlugin = require("./RequireIncludeDependencyParserPlugin");
 
- const ParserHelpers = require("../ParserHelpers");
 
- class RequireIncludePlugin {
 
- 	apply(compiler) {
 
- 		compiler.hooks.compilation.tap(
 
- 			"RequireIncludePlugin",
 
- 			(compilation, { normalModuleFactory }) => {
 
- 				compilation.dependencyFactories.set(
 
- 					RequireIncludeDependency,
 
- 					normalModuleFactory
 
- 				);
 
- 				compilation.dependencyTemplates.set(
 
- 					RequireIncludeDependency,
 
- 					new RequireIncludeDependency.Template()
 
- 				);
 
- 				const handler = (parser, parserOptions) => {
 
- 					if (
 
- 						parserOptions.requireInclude !== undefined &&
 
- 						!parserOptions.requireInclude
 
- 					)
 
- 						return;
 
- 					new RequireIncludeDependencyParserPlugin().apply(parser);
 
- 					parser.hooks.evaluateTypeof
 
- 						.for("require.include")
 
- 						.tap(
 
- 							"RequireIncludePlugin",
 
- 							ParserHelpers.evaluateToString("function")
 
- 						);
 
- 					parser.hooks.typeof
 
- 						.for("require.include")
 
- 						.tap(
 
- 							"RequireIncludePlugin",
 
- 							ParserHelpers.toConstantDependency(
 
- 								parser,
 
- 								JSON.stringify("function")
 
- 							)
 
- 						);
 
- 				};
 
- 				normalModuleFactory.hooks.parser
 
- 					.for("javascript/auto")
 
- 					.tap("RequireIncludePlugin", handler);
 
- 				normalModuleFactory.hooks.parser
 
- 					.for("javascript/dynamic")
 
- 					.tap("RequireIncludePlugin", handler);
 
- 			}
 
- 		);
 
- 	}
 
- }
 
- module.exports = RequireIncludePlugin;
 
 
  |