# Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. [workspace] resolver = "2" members = [ "bench_util", "cli", "cli/napi/sym", "core", "ops", "runtime", "serde_v8", "test_ffi", "test_napi", "test_util", "ext/broadcast_channel", "ext/cache", "ext/console", "ext/crypto", "ext/fetch", "ext/flash", "ext/ffi", "ext/fs", "ext/http", "ext/io", "ext/net", "ext/node", "ext/url", "ext/web", "ext/webgpu", "ext/webidl", "ext/websocket", "ext/webstorage", "ext/napi", "lockfile", ] exclude = ["test_util/std/hash/_wasm"] [workspace.package] authors = ["the Deno authors"] edition = "2021" license = "MIT" repository = "https://github.com/denoland/deno" [workspace.dependencies] v8 = { version = "0.64.0", default-features = false } deno_ast = { version = "0.24.0", features = ["transpiling"] } deno_core = { version = "0.173.0", path = "./core" } deno_ops = { version = "0.51.0", path = "./ops" } serde_v8 = { version = "0.84.0", path = "./serde_v8" } deno_runtime = { version = "0.99.0", path = "./runtime" } napi_sym = { version = "0.21.0", path = "./cli/napi/sym" } deno_bench_util = { version = "0.85.0", path = "./bench_util" } test_util = { path = "./test_util" } deno_lockfile = { version = "0.7.0", path = "./lockfile" } # exts deno_broadcast_channel = { version = "0.85.0", path = "./ext/broadcast_channel" } deno_cache = { version = "0.23.0", path = "./ext/cache" } deno_console = { version = "0.91.0", path = "./ext/console" } deno_crypto = { version = "0.105.0", path = "./ext/crypto" } deno_fetch = { version = "0.115.0", path = "./ext/fetch" } deno_ffi = { version = "0.78.0", path = "./ext/ffi" } deno_flash = { version = "0.27.0", path = "./ext/flash" } deno_fs = { version = "0.1.0", path = "./ext/fs" } deno_http = { version = "0.86.0", path = "./ext/http" } deno_io = { version = "0.1.0", path = "./ext/io" } deno_net = { version = "0.83.0", path = "./ext/net" } deno_node = { version = "0.28.0", path = "./ext/node" } deno_tls = { version = "0.78.0", path = "./ext/tls" } deno_url = { version = "0.91.0", path = "./ext/url" } deno_web = { version = "0.122.0", path = "./ext/web" } deno_webgpu = { version = "0.92.0", path = "./ext/webgpu" } deno_webidl = { version = "0.91.0", path = "./ext/webidl" } deno_websocket = { version = "0.96.0", path = "./ext/websocket" } deno_webstorage = { version = "0.86.0", path = "./ext/webstorage" } deno_napi = { version = "0.21.0", path = "./ext/napi" } anyhow = "1.0.57" async-trait = "0.1.51" atty = "=0.2.14" base64 = "=0.13.1" bencher = "0.1" bytes = "=1.2.1" cache_control = "=0.2.0" data-url = "=0.2.0" dlopen = "0.1.8" encoding_rs = "=0.8.31" flate2 = "=1.0.24" fs3 = "0.5.0" futures = "0.3.21" http = "=0.2.8" hyper = "0.14.18" indexmap = { version = "1.9.2", features = ["serde"] } libc = "0.2.126" log = "=0.4.17" lsp-types = "=0.93.2" # used by tower-lsp and "proposed" feature is unstable in patch releases lzzzz = "1.0" notify = "=5.0.0" once_cell = "1.17.1" os_pipe = "=1.0.1" parking_lot = "0.12.0" percent-encoding = "=2.2.0" pin-project = "1.0.11" # don't pin because they yank crates from cargo pretty_assertions = "=1.3.0" rand = "=0.8.5" regex = "^1.7.0" reqwest = { version = "0.11.11", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli", "socks"] } ring = "=0.16.20" rusqlite = { version = "=0.28.0", features = ["unlock_notify", "bundled"] } rustls = "0.20.5" rustls-pemfile = "1.0.0" serde = { version = "1.0.149", features = ["derive"] } serde_bytes = "0.11" serde_json = "1.0.85" serde_repr = "=0.1.9" sha2 = { version = "0.10.6", features = ["oid"] } smallvec = "1.8" socket2 = "0.4.7" tar = "=0.4.38" tokio = { version = "=1.25.0", features = ["full"] } tokio-rustls = "0.23.3" tokio-tungstenite = "0.16.1" tokio-util = "0.7.4" tower-lsp = { version = "=0.17.0", features = ["proposed"] } url = { version = "2.3.1", features = ["serde", "expose_internals"] } uuid = { version = "1.3.0", features = ["v4"] } zstd = "=0.11.2" # crypto rsa = { version = "0.7.0", default-features = false, features = ["std", "pem"] } # webgpu raw-window-handle = "0.5.0" wgpu-core = "0.15" wgpu-types = "0.15" # macros proc-macro2 = "1" quote = "1" syn = { version = "1", features = ["full", "extra-traits"] } # unix nix = "=0.24.2" # windows deps fwdansi = "=1.1.0" winres = "=0.1.12" winapi = "=0.3.9" # NB: the `bench` and `release` profiles must remain EXACTLY the same. [profile.release] codegen-units = 1 incremental = true lto = true opt-level = 'z' # Optimize for size # Build release with debug symbols: cargo build --profile=release-with-debug [profile.release-with-debug] inherits = "release" debug = true # NB: the `bench` and `release` profiles must remain EXACTLY the same. [profile.bench] codegen-units = 1 incremental = true lto = true opt-level = 'z' # Optimize for size # Key generation is too slow on `debug` [profile.dev.package.num-bigint-dig] opt-level = 3 # 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 [profile.bench.package.deno_bench_util] opt-level = 3 [profile.bench.package.deno_core] opt-level = 3 [profile.bench.package.deno_runtime] opt-level = 3 [profile.bench.package.deno_http] opt-level = 3 [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 [profile.bench.package.deno_net] opt-level = 3 [profile.bench.package.deno_crypto] opt-level = 3 [profile.bench.package.deno_node] opt-level = 3 [profile.bench.package.num-bigint-dig] opt-level = 3 [profile.bench.package.v8] opt-level = 3 [profile.bench.package.serde_v8] opt-level = 3 [profile.bench.package.serde] opt-level = 3 [profile.bench.package.deno_url] opt-level = 3 [profile.bench.package.url] opt-level = 3 [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 [profile.bench.package.zstd] opt-level = 3 [profile.bench.package.lzzzz] opt-level = 3 [profile.bench.package.zstd-sys] opt-level = 3 [profile.bench.package.base64-simd] opt-level = 3 # NB: the `bench` and `release` profiles must remain EXACTLY the same. [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] opt-level = 3 [profile.release.package.deno_bench_util] opt-level = 3 [profile.release.package.deno_core] opt-level = 3 [profile.release.package.deno_runtime] opt-level = 3 [profile.release.package.deno_http] opt-level = 3 [profile.release.package.deno_flash] opt-level = 3 [profile.release.package.deno_net] opt-level = 3 [profile.release.package.deno_web] opt-level = 3 [profile.release.package.deno_crypto] opt-level = 3 [profile.release.package.deno_node] opt-level = 3 [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 [profile.release.package.deno_napi] opt-level = 3 [profile.release.package.test_napi] opt-level = 3 [profile.release.package.num-bigint-dig] opt-level = 3 [profile.release.package.v8] opt-level = 3 [profile.release.package.serde_v8] opt-level = 3 [profile.release.package.serde] opt-level = 3 [profile.release.package.deno_url] opt-level = 3 [profile.release.package.url] opt-level = 3 [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 [profile.release.package.zstd] opt-level = 3 [profile.release.package.lzzzz] opt-level = 3 [profile.release.package.zstd-sys] opt-level = 3 [profile.release.package.base64-simd] opt-level = 3