summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/build.rs2
-rw-r--r--runtime/web_worker.rs5
-rw-r--r--runtime/worker.rs17
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"))]