You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.2 KiB
81 lines
1.2 KiB
/* |
|
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", |
|
"async_hooks", |
|
"buffer", |
|
"child_process", |
|
"cluster", |
|
"console", |
|
"constants", |
|
"crypto", |
|
"dgram", |
|
"diagnostics_channel", |
|
"dns", |
|
"dns/promises", |
|
"domain", |
|
"events", |
|
"fs", |
|
"fs/promises", |
|
"http", |
|
"http2", |
|
"https", |
|
"inspector", |
|
"module", |
|
"net", |
|
"os", |
|
"path", |
|
"path/posix", |
|
"path/win32", |
|
"perf_hooks", |
|
"process", |
|
"punycode", |
|
"querystring", |
|
"readline", |
|
"repl", |
|
"stream", |
|
"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;
|
|
|