# Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.

[package]
name = "deno_runtime"
version = "0.189.0"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Provides the deno runtime library"

[features]
# "fake" feature that allows to generate docs on docs.rs
docsrs = []
# A feature that allows excluding `./js/99_main.js` from the exported extension.
exclude_runtime_main_js = []
# A feature that disables embedding of the JavaScript source files in the binary.
# With this feature enabled, the sources must be consumed during build time,
# by creating a startup snapshot.
include_js_files_for_snapshotting = [
  "deno_core/include_js_files_for_snapshotting",
]
# A dev feature to disable creations and loading of snapshots in favor of
# loading JS sources at runtime.
hmr = ["include_js_files_for_snapshotting"]
# Signal that only snapshotted JS sources should be used. This will
# conditionally exclude the runtime source transpilation logic, and add an
# assertion that a snapshot is provided.
only_snapshotted_js_sources = ["include_js_files_for_snapshotting"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }

[lib]
name = "deno_runtime"
path = "lib.rs"

[[example]]
name = "extension"
path = "examples/extension/main.rs"

[build-dependencies]
deno_ast.workspace = true
deno_broadcast_channel.workspace = true
deno_cache.workspace = true
deno_canvas.workspace = true
deno_console.workspace = true
deno_core.workspace = true
deno_cron.workspace = true
deno_crypto.workspace = true
deno_fetch.workspace = true
deno_ffi.workspace = true
deno_fs = { workspace = true, features = ["sync_fs"] }
deno_http.workspace = true
deno_io.workspace = true
deno_net.workspace = true
deno_node.workspace = true
deno_kv.workspace = true
deno_tls.workspace = true
deno_url.workspace = true
deno_web.workspace = true
deno_webgpu.workspace = true
deno_webidl.workspace = true
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]
winapi.workspace = true

[dependencies]
deno_ast.workspace = true
deno_broadcast_channel.workspace = true
deno_cache.workspace = true
deno_canvas.workspace = true
deno_console.workspace = true
deno_core.workspace = true
deno_cron.workspace = true
deno_crypto.workspace = true
deno_fetch.workspace = true
deno_ffi.workspace = true
deno_fs = { workspace = true, features = ["sync_fs"] }
deno_http.workspace = true
deno_io.workspace = true
deno_kv.workspace = true
deno_napi.workspace = true
deno_net.workspace = true
deno_node.workspace = true
deno_path_util.workspace = true
deno_permissions.workspace = true
deno_telemetry.workspace = true
deno_terminal.workspace = true
deno_tls.workspace = true
deno_url.workspace = true
deno_web.workspace = true
deno_webgpu.workspace = true
deno_webidl.workspace = true
deno_websocket.workspace = true
deno_webstorage.workspace = true
node_resolver = { workspace = true, features = ["sync"] }

color-print.workspace = true
dlopen2.workspace = true
encoding_rs.workspace = true
fastwebsockets.workspace = true
http.workspace = true
http-body-util.workspace = true
hyper.workspace = true
hyper-util.workspace = true
hyper_v014 = { workspace = true, features = ["server", "stream", "http1", "http2", "runtime"] }
libc.workspace = true
log.workspace = true
netif = "0.1.6"
notify.workspace = true
once_cell.workspace = true
percent-encoding.workspace = true
regex.workspace = true
rustyline = { workspace = true, features = ["custom-bindings"] }
same-file = "1.0.6"
serde.workspace = true
signal-hook = "0.3.17"
signal-hook-registry = "1.4.0"
tempfile.workspace = true
thiserror.workspace = true
tokio.workspace = true
tokio-metrics.workspace = true
twox-hash.workspace = true
uuid.workspace = true
which.workspace = true

[target.'cfg(windows)'.dependencies]
winapi = { workspace = true, features = ["commapi", "knownfolders", "mswsock", "objbase", "psapi", "shlobj", "tlhelp32", "winbase", "winerror", "winuser", "winsock2"] }
ntapi = "0.4.0"
windows-sys.workspace = true

[target.'cfg(unix)'.dependencies]
nix.workspace = true

[dev-dependencies]
# Used in benchmark
test_util.workspace = true

[package.metadata.docs.rs]
features = ["docsrs"]