/
githubmirror
/
webpack
Обзор
Документация
Войти
/
githubmirror
/
webpack
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v5.101.1
test/helpers/asModule.js
32 строки
893 B
Alexander Akait
style: set `arrowParens` to `true` (#19706)
16 июл 2025, 19:13
Не верифицирован
16 июл 2025, 19:13
703d9ac
Код
Авторство
О чём код?
"use strict"; const vm = require("vm"); const SYNTHETIC_MODULES_STORE = "__SYNTHETIC_MODULES_STORE"; module.exports = async (something, context, unlinked) => { if ( something instanceof (vm.Module || /* node.js 10 */ vm.SourceTextModule) ) { return something; } context[SYNTHETIC_MODULES_STORE] = context[SYNTHETIC_MODULES_STORE] || []; const i = context[SYNTHETIC_MODULES_STORE].length; context[SYNTHETIC_MODULES_STORE].push(something); const code = [...new Set(["default", ...Object.keys(something)])] .map( (name) => `const _${name} = ${SYNTHETIC_MODULES_STORE}[${i}]${ name === "default" ? "" : `[${JSON.stringify(name)}]` }; export { _${name} as ${name}};` ) .join("\n"); const m = new vm.SourceTextModule(code, { context }); if (unlinked) return m; await m.link(() => {}); if (m.instantiate) m.instantiate(); await m.evaluate(); return m; };