summaryrefslogtreecommitdiff
path: root/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.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/dependencies/CommonJsDependencyHelpers.js
parent7c85166c4cbdd862fc4252007d2df5befcbc2a58 (diff)
added hover prefixer
Diffstat (limited to 'node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js')
-rw-r--r--node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js b/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js
new file mode 100644
index 00000000..ca7795c4
--- /dev/null
+++ b/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js
@@ -0,0 +1,58 @@
+/*
+ MIT License http://www.opensource.org/licenses/mit-license.php
+ Author Tobias Koppers @sokra
+*/
+
+"use strict";
+
+const RuntimeGlobals = require("../RuntimeGlobals");
+
+/** @typedef {import("../Module")} Module */
+/** @typedef {"exports" | "module.exports" | "this" | "Object.defineProperty(exports)" | "Object.defineProperty(module.exports)" | "Object.defineProperty(this)"} CommonJSDependencyBaseKeywords */
+
+/**
+ * @param {CommonJSDependencyBaseKeywords} depBase commonjs dependency base
+ * @param {Module} module module
+ * @param {Set<string>} runtimeRequirements runtime requirements
+ * @returns {[string, string]} type and base
+ */
+exports.handleDependencyBase = (depBase, module, runtimeRequirements) => {
+ let base = undefined;
+ let type;
+ switch (depBase) {
+ case "exports":
+ runtimeRequirements.add(RuntimeGlobals.exports);
+ base = module.exportsArgument;
+ type = "expression";
+ break;
+ case "module.exports":
+ runtimeRequirements.add(RuntimeGlobals.module);
+ base = `${module.moduleArgument}.exports`;
+ type = "expression";
+ break;
+ case "this":
+ runtimeRequirements.add(RuntimeGlobals.thisAsExports);
+ base = "this";
+ type = "expression";
+ break;
+ case "Object.defineProperty(exports)":
+ runtimeRequirements.add(RuntimeGlobals.exports);
+ base = module.exportsArgument;
+ type = "Object.defineProperty";
+ break;
+ case "Object.defineProperty(module.exports)":
+ runtimeRequirements.add(RuntimeGlobals.module);
+ base = `${module.moduleArgument}.exports`;
+ type = "Object.defineProperty";
+ break;
+ case "Object.defineProperty(this)":
+ runtimeRequirements.add(RuntimeGlobals.thisAsExports);
+ base = "this";
+ type = "Object.defineProperty";
+ break;
+ default:
+ throw new Error(`Unsupported base ${depBase}`);
+ }
+
+ return [type, base];
+};