diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2022-08-09 21:06:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-09 21:06:01 +0200 |
commit | 1f54d877895ea25258a941818f07c6e84d44a7a2 (patch) | |
tree | 1999d04ec926d464c94ed2c5a9fe10fb84f3de24 /runtime | |
parent | af618e3b8fb11f3947ab5ded9523cdca9cf77ced (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.toml | 2 | ||||
-rw-r--r-- | runtime/build.rs | 1 | ||||
-rw-r--r-- | runtime/lib.rs | 1 | ||||
-rw-r--r-- | runtime/web_worker.rs | 1 | ||||
-rw-r--r-- | runtime/worker.rs | 1 |
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(), |