summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2022-08-09 21:06:01 +0200
committerGitHub <noreply@github.com>2022-08-09 21:06:01 +0200
commit1f54d877895ea25258a941818f07c6e84d44a7a2 (patch)
tree1999d04ec926d464c94ed2c5a9fe10fb84f3de24 /runtime
parentaf618e3b8fb11f3947ab5ded9523cdca9cf77ced (diff)
feat: add ext/node for require support (#15362)
This commit adds "ext/node" extension that implementes CommonJS module system. In the future this extension might be extended to actually contain implementation of Node compatibility layer in favor of "deno_std/node". Currently this functionality is not publicly exposed, it is available via "Deno[Deno.internal].require" namespace and is meant to be used by other functionality to be landed soon. This is a minimal first pass, things that still don't work: support for dynamic imports in CJS conditional exports
Diffstat (limited to 'runtime')
-rw-r--r--runtime/Cargo.toml2
-rw-r--r--runtime/build.rs1
-rw-r--r--runtime/lib.rs1
-rw-r--r--runtime/web_worker.rs1
-rw-r--r--runtime/worker.rs1
5 files changed, 6 insertions, 0 deletions
diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml
index 3c94e833a..fb1b32846 100644
--- a/runtime/Cargo.toml
+++ b/runtime/Cargo.toml
@@ -30,6 +30,7 @@ deno_fetch = { version = "0.87.0", path = "../ext/fetch" }
deno_ffi = { version = "0.51.0", path = "../ext/ffi" }
deno_http = { version = "0.58.0", path = "../ext/http" }
deno_net = { version = "0.56.0", path = "../ext/net" }
+deno_node = { version = "0.1.0", path = "../ext/node" }
deno_tls = { version = "0.51.0", path = "../ext/tls" }
deno_url = { version = "0.64.0", path = "../ext/url" }
deno_web = { version = "0.95.0", path = "../ext/web" }
@@ -53,6 +54,7 @@ deno_fetch = { version = "0.87.0", path = "../ext/fetch" }
deno_ffi = { version = "0.51.0", path = "../ext/ffi" }
deno_http = { version = "0.58.0", path = "../ext/http" }
deno_net = { version = "0.56.0", path = "../ext/net" }
+deno_node = { version = "0.1.0", path = "../ext/node" }
deno_tls = { version = "0.51.0", path = "../ext/tls" }
deno_url = { version = "0.64.0", path = "../ext/url" }
deno_web = { version = "0.95.0", path = "../ext/web" }
diff --git a/runtime/build.rs b/runtime/build.rs
index eea7a3602..b389462b5 100644
--- a/runtime/build.rs
+++ b/runtime/build.rs
@@ -158,6 +158,7 @@ mod not_docs {
deno_broadcast_channel::InMemoryBroadcastChannel::default(),
false, // No --unstable.
),
+ deno_node::init(),
deno_ffi::init::<Permissions>(false),
deno_net::init::<Permissions>(
None, false, // No --unstable.
diff --git a/runtime/lib.rs b/runtime/lib.rs
index 543d3a0a2..dfbfaafaa 100644
--- a/runtime/lib.rs
+++ b/runtime/lib.rs
@@ -8,6 +8,7 @@ pub use deno_fetch;
pub use deno_ffi;
pub use deno_http;
pub use deno_net;
+pub use deno_node;
pub use deno_tls;
pub use deno_url;
pub use deno_web;
diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs
index 83ba380a6..ec6cd5041 100644
--- a/runtime/web_worker.rs
+++ b/runtime/web_worker.rs
@@ -419,6 +419,7 @@ impl WebWorker {
unstable,
options.unsafely_ignore_certificate_errors.clone(),
),
+ deno_node::init(),
ops::os::init_for_worker(),
ops::permissions::init(),
ops::process::init(),
diff --git a/runtime/worker.rs b/runtime/worker.rs
index 5100f42da..c90129ab3 100644
--- a/runtime/worker.rs
+++ b/runtime/worker.rs
@@ -161,6 +161,7 @@ impl MainWorker {
unstable,
options.unsafely_ignore_certificate_errors.clone(),
),
+ deno_node::init(),
ops::os::init(exit_code.clone()),
ops::permissions::init(),
ops::process::init(),