summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/RequireJsStuffPlugin.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:16:09 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-11-05 17:16:09 +0800
commitd1d9f00b1bd660842addf5e6b1d1b64c852a9eea (patch)
tree60fb37ae73a1109d95301de5ec9b61b5726a4b61 /node_modules/webpack/lib/RequireJsStuffPlugin.js
parent7c85166c4cbdd862fc4252007d2df5befcbc2a58 (diff)
added hover prefixer
Diffstat (limited to 'node_modules/webpack/lib/RequireJsStuffPlugin.js')
-rw-r--r--node_modules/webpack/lib/RequireJsStuffPlugin.js84
1 files changed, 84 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/RequireJsStuffPlugin.js b/node_modules/webpack/lib/RequireJsStuffPlugin.js
new file mode 100644
index 00000000..c9acc664
--- /dev/null
+++ b/node_modules/webpack/lib/RequireJsStuffPlugin.js
@@ -0,0 +1,84 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+const {
+ JAVASCRIPT_MODULE_TYPE_AUTO,
+ JAVASCRIPT_MODULE_TYPE_DYNAMIC
+} = require("./ModuleTypeConstants");
+const RuntimeGlobals = require("./RuntimeGlobals");
+const ConstDependency = require("./dependencies/ConstDependency");
+const {
+ toConstantDependency
+} = require("./javascript/JavascriptParserHelpers");
+
+/** @typedef {import("../declarations/WebpackOptions").JavascriptParserOptions} JavascriptParserOptions */
+/** @typedef {import("./Compiler")} Compiler */
+/** @typedef {import("./javascript/JavascriptParser")} JavascriptParser */
+
+const PLUGIN_NAME = "RequireJsStuffPlugin";
+
+module.exports = class RequireJsStuffPlugin {
+ /**
+ * Apply the plugin
+ * @param {Compiler} compiler the compiler instance
+ * @returns {void}
+ */
+ apply(compiler) {
+ compiler.hooks.compilation.tap(
+ PLUGIN_NAME,
+ (compilation, { normalModuleFactory }) => {
+ compilation.dependencyTemplates.set(
+ ConstDependency,
+ new ConstDependency.Template()
+ );
+ /**
+ * @param {JavascriptParser} parser the parser
+ * @param {JavascriptParserOptions} parserOptions options
+ * @returns {void}
+ */
+ const handler = (parser, parserOptions) => {
+ if (
+ parserOptions.requireJs === undefined ||
+ !parserOptions.requireJs
+ ) {
+ return;
+ }
+
+ parser.hooks.call
+ .for("require.config")
+ .tap(PLUGIN_NAME, toConstantDependency(parser, "undefined"));
+ parser.hooks.call
+ .for("requirejs.config")
+ .tap(PLUGIN_NAME, toConstantDependency(parser, "undefined"));
+
+ parser.hooks.expression
+ .for("require.version")
+ .tap(
+ PLUGIN_NAME,
+ toConstantDependency(parser, JSON.stringify("0.0.0"))
+ );
+ parser.hooks.expression
+ .for("requirejs.onError")
+ .tap(
+ PLUGIN_NAME,
+ toConstantDependency(
+ parser,
+ RuntimeGlobals.uncaughtErrorHandler,
+ [RuntimeGlobals.uncaughtErrorHandler]
+ )
+ );
+ };
+ normalModuleFactory.hooks.parser
+ .for(JAVASCRIPT_MODULE_TYPE_AUTO)
+ .tap(PLUGIN_NAME, handler);
+ normalModuleFactory.hooks.parser
+ .for(JAVASCRIPT_MODULE_TYPE_DYNAMIC)
+ .tap(PLUGIN_NAME, handler);
+ }
+ );
+ }
+};