diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/Cargo.toml | 3 | ||||
-rw-r--r-- | runtime/build.rs | 22 |
2 files changed, 24 insertions, 1 deletions
diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index f4dfc8c2b..fcb84113b 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "deno_runtime" -version = "0.131.0" +version = "0.132.0" authors.workspace = true edition.workspace = true license.workspace = true @@ -62,6 +62,7 @@ deno_websocket.workspace = true deno_webstorage.workspace = true deno_napi.workspace = true flate2 = { workspace = true, features = ["default"] } +serde.workspace = true [target.'cfg(windows)'.build-dependencies] winres.workspace = true diff --git a/runtime/build.rs b/runtime/build.rs index 606d341f3..f77f3ed07 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -13,13 +13,34 @@ mod startup_snapshot { use super::*; use deno_cache::SqliteBackedCache; use deno_core::error::AnyError; + use deno_core::op2; use deno_core::snapshot_util::*; use deno_core::Extension; + use deno_core::OpState; use deno_http::DefaultHttpPropertyExtractor; use shared::maybe_transpile_source; use shared::runtime; use std::path::Path; + // Keep in sync with `runtime/ops/bootstrap.rs` + #[derive(serde::Serialize, Default)] + #[serde(rename_all = "camelCase")] + pub struct SnapshotOptions { + pub deno_version: String, + pub ts_version: String, + pub v8_version: &'static str, + pub target: String, + } + + // TODO(@littledivy): Remove this once we get rid of deno_runtime snapshots. + #[op2] + #[serde] + pub fn op_snapshot_options(_: &mut OpState) -> SnapshotOptions { + SnapshotOptions::default() + } + + deno_core::extension!(snapshot, ops = [op_snapshot_options],); + #[derive(Clone)] struct Permissions; @@ -232,6 +253,7 @@ mod startup_snapshot { deno_fs::deno_fs::init_ops_and_esm::<Permissions>(fs.clone()), deno_node::deno_node::init_ops_and_esm::<Permissions>(None, fs), runtime::init_ops_and_esm(), + snapshot::init_ops_and_esm(), ]; for extension in &mut extensions { |