2023-10-03 11:14:36 +08:00
|
|
|
/*
|
|
|
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
|
|
Author Tobias Koppers @sokra
|
|
|
|
*/
|
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
const ExternalsPlugin = require("../ExternalsPlugin");
|
|
|
|
|
|
|
|
/** @typedef {import("../Compiler")} Compiler */
|
|
|
|
|
|
|
|
const builtins = [
|
|
|
|
"assert",
|
|
|
|
"assert/strict",
|
|
|
|
"async_hooks",
|
|
|
|
"buffer",
|
|
|
|
"child_process",
|
|
|
|
"cluster",
|
|
|
|
"console",
|
|
|
|
"constants",
|
|
|
|
"crypto",
|
|
|
|
"dgram",
|
|
|
|
"diagnostics_channel",
|
|
|
|
"dns",
|
|
|
|
"dns/promises",
|
|
|
|
"domain",
|
|
|
|
"events",
|
|
|
|
"fs",
|
|
|
|
"fs/promises",
|
|
|
|
"http",
|
|
|
|
"http2",
|
|
|
|
"https",
|
|
|
|
"inspector",
|
|
|
|
"inspector/promises",
|
|
|
|
"module",
|
|
|
|
"net",
|
|
|
|
"os",
|
|
|
|
"path",
|
|
|
|
"path/posix",
|
|
|
|
"path/win32",
|
|
|
|
"perf_hooks",
|
|
|
|
"process",
|
|
|
|
"punycode",
|
|
|
|
"querystring",
|
|
|
|
"readline",
|
|
|
|
"readline/promises",
|
|
|
|
"repl",
|
|
|
|
"stream",
|
|
|
|
"stream/consumers",
|
|
|
|
"stream/promises",
|
|
|
|
"stream/web",
|
|
|
|
"string_decoder",
|
|
|
|
"sys",
|
|
|
|
"timers",
|
|
|
|
"timers/promises",
|
|
|
|
"tls",
|
|
|
|
"trace_events",
|
|
|
|
"tty",
|
|
|
|
"url",
|
|
|
|
"util",
|
|
|
|
"util/types",
|
|
|
|
"v8",
|
|
|
|
"vm",
|
|
|
|
"wasi",
|
|
|
|
"worker_threads",
|
|
|
|
"zlib",
|
|
|
|
/^node:/,
|
|
|
|
|
|
|
|
// cspell:word pnpapi
|
|
|
|
// Yarn PnP adds pnpapi as "builtin"
|
|
|
|
"pnpapi"
|
|
|
|
];
|
|
|
|
|
|
|
|
class NodeTargetPlugin {
|
|
|
|
/**
|
|
|
|
* Apply the plugin
|
|
|
|
* @param {Compiler} compiler the compiler instance
|
|
|
|
* @returns {void}
|
|
|
|
*/
|
|
|
|
apply(compiler) {
|
|
|
|
new ExternalsPlugin("node-commonjs", builtins).apply(compiler);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = NodeTargetPlugin;
|