rspack_plugin_externals/
node_target_plugin.rs1use rspack_core::{BoxPlugin, ExternalItem, PluginExt};
2use rspack_regex::RspackRegex;
3
4use crate::ExternalsPlugin;
5
6pub fn node_target_plugin() -> BoxPlugin {
7 ExternalsPlugin::new(
8 "node-commonjs".to_string(),
9 vec![
10 ExternalItem::from("assert".to_string()),
11 ExternalItem::from("assert/strict".to_string()),
12 ExternalItem::from("async_hooks".to_string()),
13 ExternalItem::from("buffer".to_string()),
14 ExternalItem::from("child_process".to_string()),
15 ExternalItem::from("cluster".to_string()),
16 ExternalItem::from("console".to_string()),
17 ExternalItem::from("constants".to_string()),
18 ExternalItem::from("crypto".to_string()),
19 ExternalItem::from("dgram".to_string()),
20 ExternalItem::from("diagnostics_channel".to_string()),
21 ExternalItem::from("dns".to_string()),
22 ExternalItem::from("dns/promises".to_string()),
23 ExternalItem::from("domain".to_string()),
24 ExternalItem::from("events".to_string()),
25 ExternalItem::from("fs".to_string()),
26 ExternalItem::from("fs/promises".to_string()),
27 ExternalItem::from("http".to_string()),
28 ExternalItem::from("http2".to_string()),
29 ExternalItem::from("https".to_string()),
30 ExternalItem::from("inspector".to_string()),
31 ExternalItem::from("inspector/promises".to_string()),
32 ExternalItem::from("module".to_string()),
33 ExternalItem::from("net".to_string()),
34 ExternalItem::from("os".to_string()),
35 ExternalItem::from("path".to_string()),
36 ExternalItem::from("path/posix".to_string()),
37 ExternalItem::from("path/win32".to_string()),
38 ExternalItem::from("perf_hooks".to_string()),
39 ExternalItem::from("process".to_string()),
40 ExternalItem::from("punycode".to_string()),
41 ExternalItem::from("querystring".to_string()),
42 ExternalItem::from("readline".to_string()),
43 ExternalItem::from("readline/promises".to_string()),
44 ExternalItem::from("repl".to_string()),
45 ExternalItem::from("stream".to_string()),
46 ExternalItem::from("stream/consumers".to_string()),
47 ExternalItem::from("stream/promises".to_string()),
48 ExternalItem::from("stream/web".to_string()),
49 ExternalItem::from("string_decoder".to_string()),
50 ExternalItem::from("sys".to_string()),
51 ExternalItem::from("timers".to_string()),
52 ExternalItem::from("timers/promises".to_string()),
53 ExternalItem::from("tls".to_string()),
54 ExternalItem::from("trace_events".to_string()),
55 ExternalItem::from("tty".to_string()),
56 ExternalItem::from("url".to_string()),
57 ExternalItem::from("util".to_string()),
58 ExternalItem::from("util/types".to_string()),
59 ExternalItem::from("v8".to_string()),
60 ExternalItem::from("vm".to_string()),
61 ExternalItem::from("wasi".to_string()),
62 ExternalItem::from("worker_threads".to_string()),
63 ExternalItem::from("zlib".to_string()),
64 ExternalItem::from(RspackRegex::new("^node:").expect("Invalid regexp")),
65 ExternalItem::from("pnpapi".to_string()),
67 ],
68 false,
69 )
70 .boxed()
71}