/
moreqqq
/
DeliveryService
Обзор
Документация
Войти
/
moreqqq
/
DeliveryService
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
server/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js
65 строк
2 KB
moreqqq
написал тесты
29 май 2026, 22:13
29 май 2026, 22:13
6f740ff
Код
Авторство
О чём код?
/* 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 {import("../Module").RuntimeRequirements} RuntimeRequirements */ /** @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 {RuntimeRequirements} runtimeRequirements runtime requirements * @returns {[string, string]} type and base */ module.exports.handleDependencyBase = ( depBase, module, runtimeRequirements ) => { /** @type {string} */ let base; /** @type {string} */ 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]; };