2023-01-02 21:00:42 +00:00
# Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
2020-09-21 12:26:41 +00:00
2019-02-27 00:23:30 +00:00
[ workspace ]
2021-08-24 11:29:42 +00:00
resolver = "2"
2019-02-27 00:23:30 +00:00
members = [
2021-05-17 21:11:40 +00:00
"bench_util" ,
2019-03-30 18:45:36 +00:00
"cli" ,
2022-11-28 22:28:54 +00:00
"cli/napi/sym" ,
2020-12-13 18:45:53 +00:00
"runtime" ,
2021-08-06 21:28:10 +00:00
"test_ffi" ,
2022-10-05 14:06:44 +00:00
"test_napi" ,
2020-06-18 15:54:55 +00:00
"test_util" ,
2021-08-11 10:27:05 +00:00
"ext/broadcast_channel" ,
2022-09-28 12:11:12 +00:00
"ext/cache" ,
2021-08-11 10:27:05 +00:00
"ext/console" ,
2023-11-01 18:57:55 +00:00
"ext/cron" ,
2021-08-11 10:27:05 +00:00
"ext/crypto" ,
"ext/fetch" ,
"ext/ffi" ,
2023-03-07 09:13:44 +00:00
"ext/fs" ,
2021-08-11 10:27:05 +00:00
"ext/http" ,
2023-03-05 00:39:48 +00:00
"ext/io" ,
2023-03-22 04:13:24 +00:00
"ext/kv" ,
2021-08-11 10:27:05 +00:00
"ext/net" ,
2022-08-11 21:25:41 +00:00
"ext/node" ,
2021-08-11 10:27:05 +00:00
"ext/url" ,
"ext/web" ,
"ext/webidl" ,
"ext/websocket" ,
"ext/webstorage" ,
2022-10-05 14:06:44 +00:00
"ext/napi" ,
2019-02-27 00:23:30 +00:00
]
2021-05-17 21:11:40 +00:00
exclude = [ "test_util/std/hash/_wasm" ]
2021-04-09 18:03:32 +00:00
2022-11-22 20:07:35 +00:00
[ workspace . package ]
authors = [ "the Deno authors" ]
edition = "2021"
license = "MIT"
repository = "https://github.com/denoland/deno"
[ workspace . dependencies ]
2023-11-23 21:03:40 +00:00
deno_ast = { version = "0.31.6" , features = [ "transpiling" ] }
2023-12-08 07:33:25 +00:00
deno_core = { version = "0.237.0" }
2023-07-02 00:00:14 +00:00
2023-12-06 00:53:16 +00:00
deno_runtime = { version = "0.135.0" , path = "./runtime" }
napi_sym = { version = "0.57.0" , path = "./cli/napi/sym" }
deno_bench_util = { version = "0.121.0" , path = "./bench_util" }
2022-11-22 20:07:35 +00:00
test_util = { path = "./test_util" }
2023-10-27 21:15:09 +00:00
deno_lockfile = "0.17.2"
2023-08-06 16:25:48 +00:00
deno_media_type = { version = "0.1.1" , features = [ "module_specifier" ] }
2022-11-22 20:07:35 +00:00
2023-12-05 13:21:46 +00:00
denokv_proto = "0.5.0"
2023-11-10 18:15:09 +00:00
# denokv_sqlite brings in bundled sqlite if we don't disable the default features
2023-12-05 13:21:46 +00:00
denokv_sqlite = { default-features = false , version = "0.5.0" }
denokv_remote = "0.5.0"
2023-10-31 11:13:57 +00:00
2022-11-22 20:07:35 +00:00
# exts
2023-12-06 00:53:16 +00:00
deno_broadcast_channel = { version = "0.121.0" , path = "./ext/broadcast_channel" }
deno_cache = { version = "0.59.0" , path = "./ext/cache" }
deno_console = { version = "0.127.0" , path = "./ext/console" }
deno_cron = { version = "0.7.0" , path = "./ext/cron" }
deno_crypto = { version = "0.141.0" , path = "./ext/crypto" }
deno_fetch = { version = "0.151.0" , path = "./ext/fetch" }
deno_ffi = { version = "0.114.0" , path = "./ext/ffi" }
deno_fs = { version = "0.37.0" , path = "./ext/fs" }
deno_http = { version = "0.124.0" , path = "./ext/http" }
deno_io = { version = "0.37.0" , path = "./ext/io" }
deno_net = { version = "0.119.0" , path = "./ext/net" }
deno_node = { version = "0.64.0" , path = "./ext/node" }
deno_kv = { version = "0.35.0" , path = "./ext/kv" }
deno_tls = { version = "0.114.0" , path = "./ext/tls" }
deno_url = { version = "0.127.0" , path = "./ext/url" }
deno_web = { version = "0.158.0" , path = "./ext/web" }
deno_webidl = { version = "0.127.0" , path = "./ext/webidl" }
deno_websocket = { version = "0.132.0" , path = "./ext/websocket" }
deno_webstorage = { version = "0.122.0" , path = "./ext/webstorage" }
deno_napi = { version = "0.57.0" , path = "./ext/napi" }
2022-11-22 20:07:35 +00:00
2023-08-26 13:10:42 +00:00
aes = "=0.8.3"
2022-11-22 20:07:35 +00:00
anyhow = "1.0.57"
2023-08-26 13:10:42 +00:00
async-trait = "0.1.73"
2023-10-26 16:39:04 +00:00
base64 = "0.21.4"
2022-11-22 20:07:35 +00:00
bencher = "0.1"
2023-06-24 14:12:08 +00:00
brotli = "3.3.4"
2023-03-13 12:26:46 +00:00
bytes = "1.4.0"
2022-11-22 20:07:35 +00:00
cache_control = "=0.2.0"
2023-03-14 06:59:23 +00:00
cbc = { version = "=0.1.2" , features = [ "alloc" ] }
2023-10-30 15:45:45 +00:00
# Note: Do not use the "clock" feature of chrono, as it links us to CoreFoundation on macOS.
# Instead use util::time::utc_now()
chrono = { version = "0.4" , default-features = false , features = [ "std" , "serde" ] }
2023-03-28 21:49:00 +00:00
console_static_text = "=0.8.1"
2023-08-26 13:10:42 +00:00
data-url = "=0.3.0"
2023-09-16 00:42:09 +00:00
data-encoding = "2.3.3"
2023-11-05 09:29:26 +00:00
dlopen2 = "0.6.1"
2023-08-26 13:10:42 +00:00
encoding_rs = "=0.8.33"
ecb = "=0.1.2"
2023-10-30 17:49:19 +00:00
fastwebsockets = "=0.5.0"
2023-05-04 18:28:42 +00:00
filetime = "0.2.16"
2023-11-11 14:20:12 +00:00
flate2 = { version = "1.0.26" , default-features = false }
2023-03-08 15:13:13 +00:00
fs3 = "0.5.0"
2022-11-22 20:07:35 +00:00
futures = "0.3.21"
2023-05-22 19:35:59 +00:00
glob = "0.3.1"
2023-03-22 04:13:24 +00:00
hex = "0.4"
2023-03-19 00:34:56 +00:00
http = "0.2.9"
2023-11-01 21:11:01 +00:00
h2 = { version = "0.3.17" , features = [ "unstable" ] }
2023-04-02 21:27:12 +00:00
httparse = "1.8.0"
2023-04-28 03:39:42 +00:00
hyper = { version = "0.14.26" , features = [ "runtime" , "http1" ] }
2023-08-26 13:10:42 +00:00
indexmap = { version = "2" , features = [ "serde" ] }
2022-12-09 02:29:10 +00:00
libc = "0.2.126"
2023-11-11 14:20:12 +00:00
libz-sys = { version = "1.1" , default-features = false }
2023-08-24 09:21:34 +00:00
log = "=0.4.20"
2023-09-26 20:57:14 +00:00
lsp-types = "=0.94.1" # used by tower-lsp and "proposed" feature is unstable in patch releases
2023-04-02 21:27:12 +00:00
memmem = "0.1.1"
2023-09-14 16:21:57 +00:00
monch = "=0.4.3"
2023-11-01 15:54:27 +00:00
notify = "=5.0.0"
2023-03-28 10:56:38 +00:00
num-bigint = { version = "0.4" , features = [ "rand" ] }
2023-03-08 15:49:13 +00:00
once_cell = "1.17.1"
2023-08-26 13:10:42 +00:00
os_pipe = "=1.1.4"
2022-11-22 20:07:35 +00:00
parking_lot = "0.12.0"
2023-07-14 14:33:32 +00:00
percent-encoding = "=2.3.0"
2022-11-22 20:07:35 +00:00
pin-project = "1.0.11" # don't pin because they yank crates from cargo
2023-08-24 09:21:34 +00:00
pretty_assertions = "=1.4.0"
2023-08-22 05:56:00 +00:00
prost = "0.11"
prost-build = "0.11"
2022-11-22 20:07:35 +00:00
rand = "=0.8.5"
2023-02-27 06:30:45 +00:00
regex = "^1.7.0"
2023-08-26 13:10:42 +00:00
lazy-regex = "3"
2023-12-08 14:55:11 +00:00
reqwest = { version = "=0.11.20" , default-features = false , features = [ "rustls-tls" , "stream" , "gzip" , "brotli" , "socks" , "json" ] } # pinned because of https://github.com/seanmonstar/reqwest/pull/1955
2023-10-27 21:15:09 +00:00
ring = "^0.17.0"
2023-07-14 14:33:32 +00:00
rusqlite = { version = "=0.29.0" , features = [ "unlock_notify" , "bundled" ] }
2023-10-27 21:15:09 +00:00
rustls = "0.21.8"
2022-11-22 20:07:35 +00:00
rustls-pemfile = "1.0.0"
2023-11-15 23:12:46 +00:00
rustls-tokio-stream = "=0.2.16"
2023-08-25 21:40:25 +00:00
rustls-webpki = "0.101.4"
webpki-roots = "0.25.2"
2023-09-26 11:42:48 +00:00
scopeguard = "1.2.0"
2023-11-01 18:57:55 +00:00
saffron = "=0.1.0"
2023-02-01 14:40:35 +00:00
serde = { version = "1.0.149" , features = [ "derive" ] }
2022-11-22 20:07:35 +00:00
serde_bytes = "0.11"
2023-02-01 14:40:35 +00:00
serde_json = "1.0.85"
2023-08-26 13:10:42 +00:00
serde_repr = "=0.1.16"
2023-11-04 04:29:25 +00:00
sha2 = { version = "0.10.8" , features = [ "oid" ] }
2023-11-09 15:15:46 +00:00
signature = "2.1"
2023-04-22 17:48:21 +00:00
slab = "0.4"
2022-11-22 20:07:35 +00:00
smallvec = "1.8"
2023-08-26 13:10:42 +00:00
socket2 = { version = "0.5.3" , features = [ "all" ] }
tar = "=0.4.40"
2023-03-22 18:55:19 +00:00
tempfile = "3.4.0"
2023-09-04 00:47:52 +00:00
termcolor = "1.1.3"
2023-05-11 14:14:51 +00:00
thiserror = "1.0.40"
2023-05-11 12:52:56 +00:00
tokio = { version = "1.28.1" , features = [ "full" ] }
2023-08-26 13:10:42 +00:00
tokio-metrics = { version = "0.3.0" , features = [ "rt" ] }
2023-02-26 19:39:06 +00:00
tokio-util = "0.7.4"
2023-09-26 20:57:14 +00:00
tower-lsp = { version = "=0.20.0" , features = [ "proposed" ] }
2022-11-22 20:07:35 +00:00
url = { version = "2.3.1" , features = [ "serde" , "expose_internals" ] }
2023-02-26 19:53:52 +00:00
uuid = { version = "1.3.0" , features = [ "v4" ] }
2023-08-26 13:10:42 +00:00
zstd = "=0.12.4"
2023-04-27 16:31:35 +00:00
elliptic-curve = { version = "0.13.4" , features = [ "alloc" , "arithmetic" , "ecdh" , "std" , "pem" ] }
p224 = { version = "0.13.0" , features = [ "ecdh" ] }
p256 = { version = "0.13.2" , features = [ "ecdh" ] }
p384 = { version = "0.13.0" , features = [ "ecdh" ] }
2022-11-22 20:07:35 +00:00
2023-02-20 16:52:28 +00:00
# crypto
2023-10-30 15:25:12 +00:00
rsa = { version = "0.9.3" , default-features = false , features = [ "std" , "pem" , "hazmat" ] } # hazmat needed for PrehashSigner in ext/node
2023-04-06 16:56:56 +00:00
hkdf = "0.12.3"
2023-02-20 16:52:28 +00:00
2022-11-22 20:07:35 +00:00
# macros
proc-macro2 = "1"
quote = "1"
2023-08-26 13:10:42 +00:00
syn = { version = "2" , features = [ "full" , "extra-traits" ] }
2022-11-22 20:07:35 +00:00
# unix
2023-08-26 13:10:42 +00:00
nix = "=0.26.2"
2022-11-22 20:07:35 +00:00
# windows deps
fwdansi = "=1.1.0"
winres = "=0.1.12"
winapi = "=0.3.9"
2023-05-17 19:59:55 +00:00
windows-sys = { version = "0.48.0" , features = [ "Win32_Media" ] }
2022-11-22 20:07:35 +00:00
2021-05-11 22:06:58 +00:00
# NB: the `bench` and `release` profiles must remain EXACTLY the same.
2021-04-09 18:03:32 +00:00
[ profile . release ]
codegen-units = 1
2021-04-10 06:46:27 +00:00
incremental = true
2021-04-09 18:03:32 +00:00
lto = true
2022-09-27 12:55:02 +00:00
opt-level = 'z' # Optimize for size
2021-04-09 18:03:32 +00:00
2023-02-10 03:00:23 +00:00
# Build release with debug symbols: cargo build --profile=release-with-debug
[ profile . release-with-debug ]
inherits = "release"
debug = true
2021-05-11 22:06:58 +00:00
# NB: the `bench` and `release` profiles must remain EXACTLY the same.
2021-04-09 18:03:32 +00:00
[ profile . bench ]
codegen-units = 1
2021-04-10 06:46:27 +00:00
incremental = true
2021-04-09 18:03:32 +00:00
lto = true
2022-09-27 12:55:02 +00:00
opt-level = 'z' # Optimize for size
2021-04-09 18:03:32 +00:00
2021-08-13 08:08:13 +00:00
# Key generation is too slow on `debug`
[ profile . dev . package . num-bigint-dig ]
opt-level = 3
2021-05-11 22:06:58 +00:00
# Optimize these packages for performance.
# NB: the `bench` and `release` profiles must remain EXACTLY the same.
[ profile . bench . package . rand ]
opt-level = 3
[ profile . bench . package . flate2 ]
opt-level = 3
[ profile . bench . package . brotli ]
opt-level = 3
[ profile . bench . package . miniz_oxide ]
opt-level = 3
[ profile . bench . package . async-compression ]
opt-level = 3
[ profile . bench . package . brotli-decompressor ]
opt-level = 3
2022-03-13 23:19:53 +00:00
[ profile . bench . package . deno_bench_util ]
opt-level = 3
2021-05-11 22:06:58 +00:00
[ profile . bench . package . deno_core ]
opt-level = 3
[ profile . bench . package . deno_runtime ]
opt-level = 3
2021-07-12 10:44:49 +00:00
[ profile . bench . package . deno_http ]
opt-level = 3
2022-03-13 23:19:53 +00:00
[ profile . bench . package . deno_web ]
opt-level = 3
[ profile . bench . package . deno_broadcast_channel ]
opt-level = 3
[ profile . bench . package . deno_fetch ]
opt-level = 3
[ profile . bench . package . deno_ffi ]
opt-level = 3
[ profile . bench . package . deno_tls ]
opt-level = 3
[ profile . bench . package . deno_websocket ]
opt-level = 3
2021-07-05 23:23:18 +00:00
[ profile . bench . package . deno_net ]
opt-level = 3
2022-03-13 23:19:53 +00:00
[ profile . bench . package . deno_crypto ]
opt-level = 3
2023-03-05 14:53:42 +00:00
[ profile . bench . package . deno_node ]
opt-level = 3
2021-08-13 08:08:13 +00:00
[ profile . bench . package . num-bigint-dig ]
opt-level = 3
2021-10-27 21:26:15 +00:00
[ profile . bench . package . v8 ]
2021-05-11 22:06:58 +00:00
opt-level = 3
[ profile . bench . package . serde_v8 ]
opt-level = 3
[ profile . bench . package . serde ]
opt-level = 3
2021-08-19 17:11:27 +00:00
[ profile . bench . package . deno_url ]
opt-level = 3
[ profile . bench . package . url ]
opt-level = 3
2021-11-04 14:44:57 +00:00
[ profile . bench . package . bytes ]
opt-level = 3
[ profile . bench . package . futures-util ]
opt-level = 3
[ profile . bench . package . hyper ]
opt-level = 3
[ profile . bench . package . tokio ]
opt-level = 3
2023-03-21 19:11:22 +00:00
[ profile . bench . package . zstd ]
opt-level = 3
[ profile . bench . package . zstd-sys ]
opt-level = 3
2022-06-29 15:42:39 +00:00
[ profile . bench . package . base64-simd ]
opt-level = 3
2021-05-11 22:06:58 +00:00
# NB: the `bench` and `release` profiles must remain EXACTLY the same.
2021-02-18 14:46:31 +00:00
[ profile . release . package . rand ]
opt-level = 3
[ profile . release . package . flate2 ]
opt-level = 3
[ profile . release . package . brotli ]
opt-level = 3
[ profile . release . package . miniz_oxide ]
opt-level = 3
[ profile . release . package . async-compression ]
opt-level = 3
[ profile . release . package . brotli-decompressor ]
2021-03-26 02:36:46 +00:00
opt-level = 3
2022-03-13 23:19:53 +00:00
[ profile . release . package . deno_bench_util ]
opt-level = 3
2021-04-06 17:38:49 +00:00
[ profile . release . package . deno_core ]
opt-level = 3
2021-04-11 12:10:22 +00:00
[ profile . release . package . deno_runtime ]
opt-level = 3
2021-07-12 10:44:49 +00:00
[ profile . release . package . deno_http ]
opt-level = 3
2021-07-05 23:23:18 +00:00
[ profile . release . package . deno_net ]
opt-level = 3
2022-03-13 23:19:53 +00:00
[ profile . release . package . deno_web ]
opt-level = 3
[ profile . release . package . deno_crypto ]
opt-level = 3
2023-03-05 14:53:42 +00:00
[ profile . release . package . deno_node ]
opt-level = 3
2022-03-13 23:19:53 +00:00
[ profile . release . package . deno_broadcast_channel ]
opt-level = 3
[ profile . release . package . deno_fetch ]
opt-level = 3
[ profile . release . package . deno_ffi ]
opt-level = 3
[ profile . release . package . deno_tls ]
opt-level = 3
[ profile . release . package . deno_websocket ]
opt-level = 3
2022-10-05 14:06:44 +00:00
[ profile . release . package . deno_napi ]
opt-level = 3
2022-10-07 10:54:01 +00:00
[ profile . release . package . test_napi ]
opt-level = 3
2021-08-13 08:08:13 +00:00
[ profile . release . package . num-bigint-dig ]
opt-level = 3
2021-10-27 21:26:15 +00:00
[ profile . release . package . v8 ]
2021-04-06 17:38:49 +00:00
opt-level = 3
[ profile . release . package . serde_v8 ]
opt-level = 3
[ profile . release . package . serde ]
opt-level = 3
2021-08-19 17:11:27 +00:00
[ profile . release . package . deno_url ]
opt-level = 3
[ profile . release . package . url ]
opt-level = 3
2021-11-04 14:44:57 +00:00
[ profile . release . package . bytes ]
opt-level = 3
[ profile . release . package . futures-util ]
opt-level = 3
[ profile . release . package . hyper ]
opt-level = 3
[ profile . release . package . tokio ]
opt-level = 3
2023-03-21 19:11:22 +00:00
[ profile . release . package . zstd ]
opt-level = 3
[ profile . release . package . zstd-sys ]
opt-level = 3
2022-06-29 15:42:39 +00:00
[ profile . release . package . base64-simd ]
opt-level = 3