diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/build.rs | 2 | ||||
-rw-r--r-- | runtime/web_worker.rs | 5 | ||||
-rw-r--r-- | runtime/worker.rs | 17 |
3 files changed, 17 insertions, 7 deletions
diff --git a/runtime/build.rs b/runtime/build.rs index 6da7ec419..07b56945f 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -281,7 +281,7 @@ mod startup_snapshot { // FIXME(bartlomieju): these extensions are specified last, because they // depend on `runtime`, even though it should be other way around deno_node::init::<Permissions>(None), - deno_node::init_polyfill(), + deno_node::init_polyfill_ops_and_esm(), ]; if let Some(additional_extension) = maybe_additional_extension { diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index f07ecd27f..4417c13ef 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -433,7 +433,10 @@ impl WebWorker { options.unsafely_ignore_certificate_errors.clone(), ), deno_napi::init::<PermissionsContainer>(), - deno_node::init_polyfill(), + // TODO(bartlomieju): this should be conditional on `dont_create_runtime_snapshot` + // cargo feature and should use `init_polyfill_ops` or `init_polyfill_ops_and_esm` + // if the feature is enabled + deno_node::init_polyfill_ops(), deno_node::init::<PermissionsContainer>(options.npm_resolver), ops::os::init_for_worker(), ops::permissions::init(), diff --git a/runtime/worker.rs b/runtime/worker.rs index c10f9f36e..e624cb2b4 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -214,8 +214,7 @@ impl MainWorker { CreateCache(Arc::new(create_cache_fn)) }); - // Internal modules - let mut extensions: Vec<Extension> = vec![ + let mut extensions = vec![ // Web APIs deno_webidl::init(), deno_console::init(), @@ -263,7 +262,6 @@ impl MainWorker { options.unsafely_ignore_certificate_errors.clone(), ), deno_napi::init::<PermissionsContainer>(), - deno_node::init_polyfill(), deno_node::init::<PermissionsContainer>(options.npm_resolver), ops::os::init(exit_code.clone()), ops::permissions::init(), @@ -273,9 +271,18 @@ impl MainWorker { deno_http::init(), deno_flash::init::<PermissionsContainer>(unstable), ops::http::init(), - // Permissions ext (worker specific state) - perm_ext, ]; + + // TODO(bartlomieju): finish this work, currently only `deno_node` is different + // as it has the most files + #[cfg(feature = "dont_create_runtime_snapshot")] + extensions.push(deno_node::init_polyfill_ops_and_esm()); + + #[cfg(not(feature = "dont_create_runtime_snapshot"))] + extensions.push(deno_node::init_polyfill_ops()); + + extensions.push(perm_ext); + extensions.extend(std::mem::take(&mut options.extensions)); #[cfg(not(feature = "dont_create_runtime_snapshot"))] |