86 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
| 	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;
 |