mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
147411e64b
Adds much better support for the unstable Deno workspaces as well as support for npm workspaces. npm workspaces is still lacking in that we only install packages into the root node_modules folder. We'll make it smarter over time in order for it to figure out when to add node_modules folders within packages. This includes a breaking change in config file resolution where we stop searching for config files on the first found package.json unless it's in a workspace. For the previous behaviour, the root deno.json needs to be updated to be a workspace by adding `"workspace": ["./path-to-pkg-json-folder-goes-here"]`. See details in https://github.com/denoland/deno_config/pull/66 Closes #24340 Closes #24159 Closes #24161 Closes #22020 Closes #18546 Closes #16106 Closes #24160
378 lines
11 KiB
TOML
378 lines
11 KiB
TOML
# Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
|
|
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"bench_util",
|
|
"cli",
|
|
"cli/napi/sym",
|
|
"ext/broadcast_channel",
|
|
"ext/cache",
|
|
"ext/canvas",
|
|
"ext/console",
|
|
"ext/cron",
|
|
"ext/crypto",
|
|
"ext/fetch",
|
|
"ext/ffi",
|
|
"ext/fs",
|
|
"ext/http",
|
|
"ext/io",
|
|
"ext/kv",
|
|
"ext/napi",
|
|
"ext/net",
|
|
"ext/node",
|
|
"ext/url",
|
|
"ext/web",
|
|
"ext/webgpu",
|
|
"ext/webidl",
|
|
"ext/websocket",
|
|
"ext/webstorage",
|
|
"runtime",
|
|
"runtime/permissions",
|
|
"tests",
|
|
"tests/ffi",
|
|
"tests/napi",
|
|
"tests/util/server",
|
|
]
|
|
exclude = ["tests/util/std/hash/_wasm"]
|
|
|
|
[workspace.package]
|
|
authors = ["the Deno authors"]
|
|
edition = "2021"
|
|
license = "MIT"
|
|
repository = "https://github.com/denoland/deno"
|
|
|
|
[workspace.dependencies]
|
|
deno_ast = { version = "=0.39.2", features = ["transpiling"] }
|
|
deno_core = { version = "0.292.0" }
|
|
|
|
deno_bench_util = { version = "0.152.0", path = "./bench_util" }
|
|
deno_lockfile = "0.20.0"
|
|
deno_media_type = { version = "0.1.4", features = ["module_specifier"] }
|
|
deno_permissions = { version = "0.18.0", path = "./runtime/permissions" }
|
|
deno_runtime = { version = "0.166.0", path = "./runtime" }
|
|
deno_terminal = "0.1.1"
|
|
napi_sym = { version = "0.88.0", path = "./cli/napi/sym" }
|
|
test_util = { package = "test_server", path = "./tests/util/server" }
|
|
|
|
denokv_proto = "0.8.1"
|
|
denokv_remote = "0.8.1"
|
|
# denokv_sqlite brings in bundled sqlite if we don't disable the default features
|
|
denokv_sqlite = { default-features = false, version = "0.8.1" }
|
|
|
|
# exts
|
|
deno_broadcast_channel = { version = "0.152.0", path = "./ext/broadcast_channel" }
|
|
deno_cache = { version = "0.90.0", path = "./ext/cache" }
|
|
deno_canvas = { version = "0.27.0", path = "./ext/canvas" }
|
|
deno_console = { version = "0.158.0", path = "./ext/console" }
|
|
deno_cron = { version = "0.38.0", path = "./ext/cron" }
|
|
deno_crypto = { version = "0.172.0", path = "./ext/crypto" }
|
|
deno_fetch = { version = "0.182.0", path = "./ext/fetch" }
|
|
deno_ffi = { version = "0.145.0", path = "./ext/ffi" }
|
|
deno_fs = { version = "0.68.0", path = "./ext/fs" }
|
|
deno_http = { version = "0.156.0", path = "./ext/http" }
|
|
deno_io = { version = "0.68.0", path = "./ext/io" }
|
|
deno_kv = { version = "0.66.0", path = "./ext/kv" }
|
|
deno_napi = { version = "0.88.0", path = "./ext/napi" }
|
|
deno_net = { version = "0.150.0", path = "./ext/net" }
|
|
deno_node = { version = "0.95.0", path = "./ext/node" }
|
|
deno_tls = { version = "0.145.0", path = "./ext/tls" }
|
|
deno_url = { version = "0.158.0", path = "./ext/url" }
|
|
deno_web = { version = "0.189.0", path = "./ext/web" }
|
|
deno_webgpu = { version = "0.125.0", path = "./ext/webgpu" }
|
|
deno_webidl = { version = "0.158.0", path = "./ext/webidl" }
|
|
deno_websocket = { version = "0.163.0", path = "./ext/websocket" }
|
|
deno_webstorage = { version = "0.153.0", path = "./ext/webstorage" }
|
|
|
|
aes = "=0.8.3"
|
|
anyhow = "1.0.57"
|
|
async-trait = "0.1.73"
|
|
base32 = "=0.4.0"
|
|
base64 = "0.21.4"
|
|
bencher = "0.1"
|
|
brotli = "6.0.0"
|
|
bytes = "1.4.0"
|
|
cache_control = "=0.2.0"
|
|
cbc = { version = "=0.1.2", features = ["alloc"] }
|
|
# 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"] }
|
|
console_static_text = "=0.8.1"
|
|
data-encoding = "2.3.3"
|
|
data-url = "=0.3.0"
|
|
deno_cache_dir = "=0.10.0"
|
|
deno_config = { version = "=0.19.1", default-features = false }
|
|
dlopen2 = "0.6.1"
|
|
ecb = "=0.1.2"
|
|
elliptic-curve = { version = "0.13.4", features = ["alloc", "arithmetic", "ecdh", "std", "pem"] }
|
|
encoding_rs = "=0.8.33"
|
|
faster-hex = "0.9"
|
|
fastwebsockets = { version = "0.6", features = ["upgrade", "unstable-split"] }
|
|
filetime = "0.2.16"
|
|
flate2 = { version = "1.0.26", default-features = false }
|
|
fs3 = "0.5.0"
|
|
futures = "0.3.21"
|
|
glob = "0.3.1"
|
|
h2 = "0.4.4"
|
|
http = "1.0"
|
|
http-body-util = "0.1"
|
|
http_v02 = { package = "http", version = "0.2.9" }
|
|
httparse = "1.8.0"
|
|
hyper = { version = "=1.4.0", features = ["full"] }
|
|
hyper-util = { version = "=0.1.6", features = ["tokio", "server", "server-auto"] }
|
|
hyper_v014 = { package = "hyper", version = "0.14.26", features = ["runtime", "http1"] }
|
|
indexmap = { version = "2", features = ["serde"] }
|
|
jsonc-parser = { version = "=0.23.0", features = ["serde"] }
|
|
lazy-regex = "3"
|
|
libc = "0.2.126"
|
|
libz-sys = { version = "1.1", default-features = false }
|
|
log = "0.4.20"
|
|
lsp-types = "=0.94.1" # used by tower-lsp and "proposed" feature is unstable in patch releases
|
|
memmem = "0.1.1"
|
|
monch = "=0.5.0"
|
|
notify = "=5.0.0"
|
|
num-bigint = { version = "0.4", features = ["rand"] }
|
|
once_cell = "1.17.1"
|
|
os_pipe = { version = "=1.1.5", features = ["io_safety"] }
|
|
p224 = { version = "0.13.0", features = ["ecdh"] }
|
|
p256 = { version = "0.13.2", features = ["ecdh"] }
|
|
p384 = { version = "0.13.0", features = ["ecdh"] }
|
|
parking_lot = "0.12.0"
|
|
percent-encoding = "2.3.0"
|
|
phf = { version = "0.11", features = ["macros"] }
|
|
pin-project = "1.0.11" # don't pin because they yank crates from cargo
|
|
pretty_assertions = "=1.4.0"
|
|
prost = "0.11"
|
|
prost-build = "0.11"
|
|
rand = "=0.8.5"
|
|
regex = "^1.7.0"
|
|
reqwest = { version = "=0.12.4", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli", "socks", "json", "http2"] } # pinned because of https://github.com/seanmonstar/reqwest/pull/1955
|
|
ring = "^0.17.0"
|
|
rusqlite = { version = "=0.29.0", features = ["unlock_notify", "bundled"] }
|
|
rustls = "0.22.4"
|
|
rustls-pemfile = "2"
|
|
rustls-tokio-stream = "=0.2.23"
|
|
rustls-webpki = "0.102"
|
|
rustyline = "=13.0.0"
|
|
saffron = "=0.1.0"
|
|
scopeguard = "1.2.0"
|
|
serde = { version = "1.0.149", features = ["derive"] }
|
|
serde_bytes = "0.11"
|
|
serde_json = "1.0.85"
|
|
serde_repr = "=0.1.16"
|
|
sha1 = { version = "0.10.6", features = ["oid"] }
|
|
sha2 = { version = "0.10.8", features = ["oid"] }
|
|
signature = "2.1"
|
|
slab = "0.4"
|
|
smallvec = "1.8"
|
|
socket2 = { version = "0.5.3", features = ["all"] }
|
|
spki = "0.7.2"
|
|
tar = "=0.4.40"
|
|
tempfile = "3.4.0"
|
|
termcolor = "1.1.3"
|
|
thiserror = "1.0.61"
|
|
tokio = { version = "1.36.0", features = ["full"] }
|
|
tokio-metrics = { version = "0.3.0", features = ["rt"] }
|
|
tokio-util = "0.7.4"
|
|
tower-lsp = { version = "=0.20.0", features = ["proposed"] }
|
|
twox-hash = "=1.6.3"
|
|
# Upgrading past 2.4.1 may cause WPT failures
|
|
url = { version = "< 2.5.0", features = ["serde", "expose_internals"] }
|
|
uuid = { version = "1.3.0", features = ["v4"] }
|
|
webpki-roots = "0.26"
|
|
zeromq = { version = "=0.3.4", default-features = false, features = ["tcp-transport", "tokio-runtime"] }
|
|
zstd = "=0.12.4"
|
|
|
|
# crypto
|
|
hkdf = "0.12.3"
|
|
rsa = { version = "0.9.3", default-features = false, features = ["std", "pem", "hazmat"] } # hazmat needed for PrehashSigner in ext/node
|
|
|
|
# webgpu
|
|
raw-window-handle = "0.6.0"
|
|
wgpu-core = "0.20"
|
|
wgpu-types = "0.20"
|
|
|
|
# macros
|
|
quote = "1"
|
|
syn = { version = "2", features = ["full", "extra-traits"] }
|
|
|
|
# unix
|
|
nix = "=0.26.2"
|
|
|
|
# windows deps
|
|
junction = "=0.2.0"
|
|
winapi = "=0.3.9"
|
|
windows-sys = { version = "0.48.0", features = ["Win32_Foundation", "Win32_Media", "Win32_Storage_FileSystem"] }
|
|
winres = "=0.1.12"
|
|
|
|
# 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
|
|
|
|
# rusty-v8 needs at least -O1 to not miscompile
|
|
[profile.dev.package.v8]
|
|
opt-level = 1
|
|
|
|
# Optimize these packages for performance.
|
|
# NB: the `bench` and `release` profiles must remain EXACTLY the same.
|
|
[profile.bench.package.async-compression]
|
|
opt-level = 3
|
|
[profile.bench.package.base64-simd]
|
|
opt-level = 3
|
|
[profile.bench.package.brotli]
|
|
opt-level = 3
|
|
[profile.bench.package.brotli-decompressor]
|
|
opt-level = 3
|
|
[profile.bench.package.bytes]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_bench_util]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_broadcast_channel]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_core]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_crypto]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_fetch]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_ffi]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_http]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_napi]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_net]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_node]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_runtime]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_tls]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_url]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_web]
|
|
opt-level = 3
|
|
[profile.bench.package.deno_websocket]
|
|
opt-level = 3
|
|
[profile.bench.package.fastwebsockets]
|
|
opt-level = 3
|
|
[profile.bench.package.flate2]
|
|
opt-level = 3
|
|
[profile.bench.package.futures-util]
|
|
opt-level = 3
|
|
[profile.bench.package.hyper]
|
|
opt-level = 3
|
|
[profile.bench.package.miniz_oxide]
|
|
opt-level = 3
|
|
[profile.bench.package.num-bigint-dig]
|
|
opt-level = 3
|
|
[profile.bench.package.rand]
|
|
opt-level = 3
|
|
[profile.bench.package.serde]
|
|
opt-level = 3
|
|
[profile.bench.package.serde_v8]
|
|
opt-level = 3
|
|
[profile.bench.package.test_napi]
|
|
opt-level = 3
|
|
[profile.bench.package.tokio]
|
|
opt-level = 3
|
|
[profile.bench.package.url]
|
|
opt-level = 3
|
|
[profile.bench.package.v8]
|
|
opt-level = 3
|
|
[profile.bench.package.zstd]
|
|
opt-level = 3
|
|
[profile.bench.package.zstd-sys]
|
|
opt-level = 3
|
|
|
|
# NB: the `bench` and `release` profiles must remain EXACTLY the same.
|
|
[profile.release.package.async-compression]
|
|
opt-level = 3
|
|
[profile.release.package.base64-simd]
|
|
opt-level = 3
|
|
[profile.release.package.brotli]
|
|
opt-level = 3
|
|
[profile.release.package.brotli-decompressor]
|
|
opt-level = 3
|
|
[profile.release.package.bytes]
|
|
opt-level = 3
|
|
[profile.release.package.deno_bench_util]
|
|
opt-level = 3
|
|
[profile.release.package.deno_broadcast_channel]
|
|
opt-level = 3
|
|
[profile.release.package.deno_core]
|
|
opt-level = 3
|
|
[profile.release.package.deno_crypto]
|
|
opt-level = 3
|
|
[profile.release.package.deno_fetch]
|
|
opt-level = 3
|
|
[profile.release.package.deno_ffi]
|
|
opt-level = 3
|
|
[profile.release.package.deno_http]
|
|
opt-level = 3
|
|
[profile.release.package.deno_napi]
|
|
opt-level = 3
|
|
[profile.release.package.deno_net]
|
|
opt-level = 3
|
|
[profile.release.package.deno_node]
|
|
opt-level = 3
|
|
[profile.release.package.deno_runtime]
|
|
opt-level = 3
|
|
[profile.release.package.deno_tls]
|
|
opt-level = 3
|
|
[profile.release.package.deno_url]
|
|
opt-level = 3
|
|
[profile.release.package.deno_web]
|
|
opt-level = 3
|
|
[profile.release.package.deno_websocket]
|
|
opt-level = 3
|
|
[profile.release.package.fastwebsockets]
|
|
opt-level = 3
|
|
[profile.release.package.flate2]
|
|
opt-level = 3
|
|
[profile.release.package.futures-util]
|
|
opt-level = 3
|
|
[profile.release.package.hyper]
|
|
opt-level = 3
|
|
[profile.release.package.miniz_oxide]
|
|
opt-level = 3
|
|
[profile.release.package.num-bigint-dig]
|
|
opt-level = 3
|
|
[profile.release.package.rand]
|
|
opt-level = 3
|
|
[profile.release.package.serde]
|
|
opt-level = 3
|
|
[profile.release.package.serde_v8]
|
|
opt-level = 3
|
|
[profile.release.package.test_napi]
|
|
opt-level = 3
|
|
[profile.release.package.tokio]
|
|
opt-level = 3
|
|
[profile.release.package.url]
|
|
opt-level = 3
|
|
[profile.release.package.v8]
|
|
opt-level = 3
|
|
[profile.release.package.zstd]
|
|
opt-level = 3
|
|
[profile.release.package.zstd-sys]
|
|
opt-level = 3
|