summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'runtime')
-rw-r--r--runtime/Cargo.toml3
-rw-r--r--runtime/build.rs22
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 {