/
githubmirror
/
webpack
Обзор
Документация
Войти
/
githubmirror
/
webpack
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lib/bun/BunTargetPlugin.js
42 строки
1 KB
Alexander Akait
Respect the node: prefix for node.js core modules used as externals (#21286)
26 июн 2026, 18:55
Не верифицирован
26 июн 2026, 18:55
54fa902
Код
Авторство
О чём код?
/* MIT License http://www.opensource.org/licenses/mit-license.php Author sheo13666q @sheo13666q */ "use strict"; const ExternalsPlugin = require("../ExternalsPlugin"); const { coreModules } = require("../node/nodeBuiltins"); /** @typedef {import("../Compiler")} Compiler */ // Bun exposes the node.js core modules; externalize them with the `node:` // specifier (Bun resolves both forms) like the deno target. // Bun's own built-in modules (`bun`, `bun:sqlite`, ...) are provided by the // runtime, never bundled. const BUN_BUILTINS = /^bun(?::|$)/; class BunTargetPlugin { /** * Applies the plugin by registering its hooks on the compiler. * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { new ExternalsPlugin( (dependency) => dependency.category === "commonjs" ? "node-commonjs" : "module-import", ({ request }, callback) => { if (!request) return callback(); if (request.startsWith("node:") || BUN_BUILTINS.test(request)) { return callback(null, request); } if (coreModules.has(request)) return callback(null, `node:${request}`); callback(); } ).apply(compiler); } } module.exports = BunTargetPlugin;