diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2023-03-16 13:36:53 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-16 18:36:53 +0100 |
commit | 29c9a5c90d88eba5da88ea41e681e7dd7ec170b7 (patch) | |
tree | 146b0c2df9a31c3f1d9517b99203425e40730bf4 /cli/build.rs | |
parent | b99c431ac78810034ea57cc778bf57d627998aa9 (diff) |
refactor: reorder op initialization (#18228)
To be able to preserve "Deno.core.ops" we need to ensure that
ops are registered in the same order in various places, otherwise
we will get mismatch in external references ordering.
Prerequisite for https://github.com/denoland/deno/pull/18080
Diffstat (limited to 'cli/build.rs')
-rw-r--r-- | cli/build.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/cli/build.rs b/cli/build.rs index c3fa9fb48..fdf57809a 100644 --- a/cli/build.rs +++ b/cli/build.rs @@ -308,11 +308,12 @@ mod ts { } fn create_cli_snapshot(snapshot_path: PathBuf) { + // NOTE(bartlomieju): ordering is important here, keep it in sync with + // `runtime/worker.rs`, `runtime/web_worker.rs` and `runtime/build.rs`! let mut extensions: Vec<Extension> = vec![ deno_webidl::init(), deno_console::init(), deno_url::init_ops(), - deno_tls::init_ops(), deno_web::init_ops::<PermissionsContainer>( deno_web::BlobStore::default(), Default::default(), @@ -327,18 +328,19 @@ fn create_cli_snapshot(snapshot_path: PathBuf) { deno_broadcast_channel::InMemoryBroadcastChannel::default(), false, // No --unstable. ), - deno_io::init_ops(Default::default()), - deno_fs::init_ops::<PermissionsContainer>(false), - deno_node::init_ops::<PermissionsContainer>(None), // No --unstable. - deno_node::init_polyfill_ops(), deno_ffi::init_ops::<PermissionsContainer>(false), deno_net::init_ops::<PermissionsContainer>( None, false, // No --unstable. None, ), + deno_tls::init_ops(), deno_napi::init_ops::<PermissionsContainer>(), deno_http::init_ops(), + deno_io::init_ops(Default::default()), + deno_fs::init_ops::<PermissionsContainer>(false), deno_flash::init_ops::<PermissionsContainer>(false), // No --unstable + deno_node::init_ops::<PermissionsContainer>(None), // No --unstable. + deno_node::init_polyfill_ops(), ]; let mut esm_files = include_js_files!( |