diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-07-02 20:19:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-02 20:19:30 +0200 |
commit | 01f0d03ae82c422c1f9551f3bfbb57daac769ddc (patch) | |
tree | 4506903def90de3da497c81e217d70d62f380dab /ext/node/polyfill.rs | |
parent | 805497a9a50c3219f64f481feb72271b2fcd6790 (diff) |
refactor: rename built-in node modules from ext:deno_node/ to node: (#19680)
Closes https://github.com/denoland/deno/issues/19510
Diffstat (limited to 'ext/node/polyfill.rs')
-rw-r--r-- | ext/node/polyfill.rs | 269 |
1 files changed, 64 insertions, 205 deletions
diff --git a/ext/node/polyfill.rs b/ext/node/polyfill.rs index 434c20b03..16ffe185d 100644 --- a/ext/node/polyfill.rs +++ b/ext/node/polyfill.rs @@ -4,214 +4,73 @@ pub fn is_builtin_node_module(module_name: &str) -> bool { SUPPORTED_BUILTIN_NODE_MODULES .iter() - .any(|m| m.module_name() == module_name) + .any(|m| *m == module_name) } -pub struct NodeModulePolyfill { - /// Name of the module like "assert" or "timers/promises" - pub specifier: &'static str, - pub ext_specifier: &'static str, -} +macro_rules! generate_builtin_node_module_lists { + ($( $module_name:literal ,)+) => { + pub static SUPPORTED_BUILTIN_NODE_MODULES: &[&str] = &[ + $( + $module_name, + )+ + ]; -impl NodeModulePolyfill { - pub fn module_name(&self) -> &'static str { - debug_assert!(self.specifier.starts_with("node:")); - &self.specifier[5..] - } + pub static SUPPORTED_BUILTIN_NODE_MODULES_WITH_PREFIX: &[&str] = &[ + $( + concat!("node:", $module_name), + )+ + ]; + }; } // NOTE(bartlomieju): keep this list in sync with `ext/node/polyfills/01_require.js` -pub static SUPPORTED_BUILTIN_NODE_MODULES: &[NodeModulePolyfill] = &[ - NodeModulePolyfill { - specifier: "node:assert", - ext_specifier: "ext:deno_node/assert.ts", - }, - NodeModulePolyfill { - specifier: "node:assert/strict", - ext_specifier: "ext:deno_node/assert/strict.ts", - }, - NodeModulePolyfill { - specifier: "node:async_hooks", - ext_specifier: "ext:deno_node/async_hooks.ts", - }, - NodeModulePolyfill { - specifier: "node:buffer", - ext_specifier: "ext:deno_node/buffer.ts", - }, - NodeModulePolyfill { - specifier: "node:child_process", - ext_specifier: "ext:deno_node/child_process.ts", - }, - NodeModulePolyfill { - specifier: "node:cluster", - ext_specifier: "ext:deno_node/cluster.ts", - }, - NodeModulePolyfill { - specifier: "node:console", - ext_specifier: "ext:deno_node/console.ts", - }, - NodeModulePolyfill { - specifier: "node:constants", - ext_specifier: "ext:deno_node/constants.ts", - }, - NodeModulePolyfill { - specifier: "node:crypto", - ext_specifier: "ext:deno_node/crypto.ts", - }, - NodeModulePolyfill { - specifier: "node:dgram", - ext_specifier: "ext:deno_node/dgram.ts", - }, - NodeModulePolyfill { - specifier: "node:diagnostics_channel", - ext_specifier: "ext:deno_node/diagnostics_channel.ts", - }, - NodeModulePolyfill { - specifier: "node:dns", - ext_specifier: "ext:deno_node/dns.ts", - }, - NodeModulePolyfill { - specifier: "node:dns/promises", - ext_specifier: "ext:deno_node/dns/promises.ts", - }, - NodeModulePolyfill { - specifier: "node:domain", - ext_specifier: "ext:deno_node/domain.ts", - }, - NodeModulePolyfill { - specifier: "node:events", - ext_specifier: "ext:deno_node/events.ts", - }, - NodeModulePolyfill { - specifier: "node:fs", - ext_specifier: "ext:deno_node/fs.ts", - }, - NodeModulePolyfill { - specifier: "node:fs/promises", - ext_specifier: "ext:deno_node/fs/promises.ts", - }, - NodeModulePolyfill { - specifier: "node:http", - ext_specifier: "ext:deno_node/http.ts", - }, - NodeModulePolyfill { - specifier: "node:http2", - ext_specifier: "ext:deno_node/http2.ts", - }, - NodeModulePolyfill { - specifier: "node:https", - ext_specifier: "ext:deno_node/https.ts", - }, - NodeModulePolyfill { - specifier: "node:module", - ext_specifier: "ext:deno_node/01_require.js", - }, - NodeModulePolyfill { - specifier: "node:net", - ext_specifier: "ext:deno_node/net.ts", - }, - NodeModulePolyfill { - specifier: "node:os", - ext_specifier: "ext:deno_node/os.ts", - }, - NodeModulePolyfill { - specifier: "node:path", - ext_specifier: "ext:deno_node/path.ts", - }, - NodeModulePolyfill { - specifier: "node:path/posix", - ext_specifier: "ext:deno_node/path/posix.ts", - }, - NodeModulePolyfill { - specifier: "node:path/win32", - ext_specifier: "ext:deno_node/path/win32.ts", - }, - NodeModulePolyfill { - specifier: "node:perf_hooks", - ext_specifier: "ext:deno_node/perf_hooks.ts", - }, - NodeModulePolyfill { - specifier: "node:process", - ext_specifier: "ext:deno_node/process.ts", - }, - NodeModulePolyfill { - specifier: "node:punycode", - ext_specifier: "ext:deno_node/punycode.ts", - }, - NodeModulePolyfill { - specifier: "node:querystring", - ext_specifier: "ext:deno_node/querystring.ts", - }, - NodeModulePolyfill { - specifier: "node:readline", - ext_specifier: "ext:deno_node/readline.ts", - }, - NodeModulePolyfill { - specifier: "node:stream", - ext_specifier: "ext:deno_node/stream.ts", - }, - NodeModulePolyfill { - specifier: "node:stream/consumers", - ext_specifier: "ext:deno_node/stream/consumers.mjs", - }, - NodeModulePolyfill { - specifier: "node:stream/promises", - ext_specifier: "ext:deno_node/stream/promises.mjs", - }, - NodeModulePolyfill { - specifier: "node:stream/web", - ext_specifier: "ext:deno_node/stream/web.ts", - }, - NodeModulePolyfill { - specifier: "node:string_decoder", - ext_specifier: "ext:deno_node/string_decoder.ts", - }, - NodeModulePolyfill { - specifier: "node:sys", - ext_specifier: "ext:deno_node/sys.ts", - }, - NodeModulePolyfill { - specifier: "node:timers", - ext_specifier: "ext:deno_node/timers.ts", - }, - NodeModulePolyfill { - specifier: "node:timers/promises", - ext_specifier: "ext:deno_node/timers/promises.ts", - }, - NodeModulePolyfill { - specifier: "node:tls", - ext_specifier: "ext:deno_node/tls.ts", - }, - NodeModulePolyfill { - specifier: "node:tty", - ext_specifier: "ext:deno_node/tty.ts", - }, - NodeModulePolyfill { - specifier: "node:url", - ext_specifier: "ext:deno_node/url.ts", - }, - NodeModulePolyfill { - specifier: "node:util", - ext_specifier: "ext:deno_node/util.ts", - }, - NodeModulePolyfill { - specifier: "node:util/types", - ext_specifier: "ext:deno_node/util/types.ts", - }, - NodeModulePolyfill { - specifier: "node:v8", - ext_specifier: "ext:deno_node/v8.ts", - }, - NodeModulePolyfill { - specifier: "node:vm", - ext_specifier: "ext:deno_node/vm.ts", - }, - NodeModulePolyfill { - specifier: "node:worker_threads", - ext_specifier: "ext:deno_node/worker_threads.ts", - }, - NodeModulePolyfill { - specifier: "node:zlib", - ext_specifier: "ext:deno_node/zlib.ts", - }, -]; +generate_builtin_node_module_lists! { + "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", + "module", + "net", + "os", + "path", + "path/posix", + "path/win32", + "perf_hooks", + "process", + "punycode", + "querystring", + "readline", + "stream", + "stream/consumers", + "stream/promises", + "stream/web", + "string_decoder", + "sys", + "timers", + "timers/promises", + "tls", + "tty", + "url", + "util", + "util/types", + "v8", + "vm", + "worker_threads", + "zlib", +} |