text: /*
  	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",
  	"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;
  