| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | /*	MIT License http://www.opensource.org/licenses/mit-license.php	Author Tobias Koppers @sokra*/"use strict";const ParserHelpers = require("./ParserHelpers");const ConstDependency = require("./dependencies/ConstDependency");const NullFactory = require("./NullFactory");module.exports = class RequireJsStuffPlugin {	apply(compiler) {		compiler.hooks.compilation.tap(			"RequireJsStuffPlugin",			(compilation, { normalModuleFactory }) => {				compilation.dependencyFactories.set(ConstDependency, new NullFactory());				compilation.dependencyTemplates.set(					ConstDependency,					new ConstDependency.Template()				);				const handler = (parser, parserOptions) => {					if (parserOptions.requireJs !== undefined && !parserOptions.requireJs)						return;					parser.hooks.call						.for("require.config")						.tap(							"RequireJsStuffPlugin",							ParserHelpers.toConstantDependency(parser, "undefined")						);					parser.hooks.call						.for("requirejs.config")						.tap(							"RequireJsStuffPlugin",							ParserHelpers.toConstantDependency(parser, "undefined")						);					parser.hooks.expression						.for("require.version")						.tap(							"RequireJsStuffPlugin",							ParserHelpers.toConstantDependency(								parser,								JSON.stringify("0.0.0")							)						);					parser.hooks.expression						.for("requirejs.onError")						.tap(							"RequireJsStuffPlugin",							ParserHelpers.toConstantDependencyWithWebpackRequire(								parser,								"__webpack_require__.oe"							)						);				};				normalModuleFactory.hooks.parser					.for("javascript/auto")					.tap("RequireJsStuffPlugin", handler);				normalModuleFactory.hooks.parser					.for("javascript/dynamic")					.tap("RequireJsStuffPlugin", handler);			}		);	}};
 |