summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/compat.rs7
-rw-r--r--cli/tests/integration/compat_tests.rs5
-rw-r--r--cli/tests/testdata/compat/node_fs_promises.js3
3 files changed, 14 insertions, 1 deletions
diff --git a/cli/compat.rs b/cli/compat.rs
index a3d16538d..eb67f4d12 100644
--- a/cli/compat.rs
+++ b/cli/compat.rs
@@ -53,7 +53,12 @@ pub fn get_mapped_node_builtins() -> HashMap<String, String> {
for module in SUPPORTED_MODULES {
// TODO(bartlomieju): this is unversioned, and should be fixed to use latest stable?
let module_url = format!("https://deno.land/std/node/{}.ts", module);
- mappings.insert(module.to_string(), module_url);
+ mappings.insert(module.to_string(), module_url.clone());
+
+ // Support for `node:<module_name>`
+ // https://nodejs.org/api/esm.html#esm_node_imports
+ let node_prefixed = format!("node:{}", module);
+ mappings.insert(node_prefixed, module_url);
}
mappings
diff --git a/cli/tests/integration/compat_tests.rs b/cli/tests/integration/compat_tests.rs
index 4d93d370d..e1da32caf 100644
--- a/cli/tests/integration/compat_tests.rs
+++ b/cli/tests/integration/compat_tests.rs
@@ -7,6 +7,11 @@ itest!(fs_promises {
output: "compat/fs_promises.out",
});
+itest!(node_prefix_fs_promises {
+ args: "run --compat --unstable -A compat/node_fs_promises.js",
+ output: "compat/fs_promises.out",
+});
+
itest!(existing_import_map {
args: "run --compat --import-map compat/existing_import_map.json compat/fs_promises.js",
output: "compat/existing_import_map.out",
diff --git a/cli/tests/testdata/compat/node_fs_promises.js b/cli/tests/testdata/compat/node_fs_promises.js
new file mode 100644
index 000000000..b2174b22b
--- /dev/null
+++ b/cli/tests/testdata/compat/node_fs_promises.js
@@ -0,0 +1,3 @@
+import fs from "node:fs/promises";
+const data = await fs.readFile("compat/test.txt", "utf-8");
+console.log(data);