mirror of
https://github.com/denoland/deno.git
synced 2024-12-22 07:14:47 -05:00
4f80d83774
This changes the lockfile to not store JSR specifiers in the "remote" section. Instead a single JSR integrity is stored per package in the lockfile, which is a hash of the version's `x.x.x_meta.json` file, which contains hashes for every file in the package. The hashes in this file are then compared against when loading. Additionally, when using `{ "vendor": true }` in a deno.json, the files can be modified without causing lockfile errors—the checksum is only checked when copying into the vendor folder and not afterwards (eventually we should add this behaviour for non-jsr specifiers as well). As part of this change, the `vendor` folder creation is not always automatic in the LSP and running an explicit cache command is necessary. The code required to track checksums in the LSP would have been too complex for this PR, so that all goes through deno_graph now. The vendoring is still automatic when running from the CLI.
360 lines
10 KiB
TOML
360 lines
10 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",
|
|
"test_util",
|
|
"tests",
|
|
"tests/ffi",
|
|
"tests/napi",
|
|
]
|
|
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.33.2", features = ["transpiling"] }
|
|
deno_core = { version = "0.262.0" }
|
|
|
|
deno_bench_util = { version = "0.132.0", path = "./bench_util" }
|
|
deno_lockfile = "0.19.0"
|
|
deno_media_type = { version = "0.1.1", features = ["module_specifier"] }
|
|
deno_runtime = { version = "0.146.0", path = "./runtime" }
|
|
deno_terminal = "0.1.1"
|
|
napi_sym = { version = "0.68.0", path = "./cli/napi/sym" }
|
|
test_util = { path = "./test_util" }
|
|
|
|
denokv_proto = "0.5.0"
|
|
denokv_remote = "0.5.0"
|
|
# denokv_sqlite brings in bundled sqlite if we don't disable the default features
|
|
denokv_sqlite = { default-features = false, version = "0.5.0" }
|
|
|
|
# exts
|
|
deno_broadcast_channel = { version = "0.132.0", path = "./ext/broadcast_channel" }
|
|
deno_cache = { version = "0.70.0", path = "./ext/cache" }
|
|
deno_canvas = { version = "0.7.0", path = "./ext/canvas" }
|
|
deno_console = { version = "0.138.0", path = "./ext/console" }
|
|
deno_cron = { version = "0.18.0", path = "./ext/cron" }
|
|
deno_crypto = { version = "0.152.0", path = "./ext/crypto" }
|
|
deno_fetch = { version = "0.162.0", path = "./ext/fetch" }
|
|
deno_ffi = { version = "0.125.0", path = "./ext/ffi" }
|
|
deno_fs = { version = "0.48.0", path = "./ext/fs" }
|
|
deno_http = { version = "0.135.0", path = "./ext/http" }
|
|
deno_io = { version = "0.48.0", path = "./ext/io" }
|
|
deno_kv = { version = "0.46.0", path = "./ext/kv" }
|
|
deno_napi = { version = "0.68.0", path = "./ext/napi" }
|
|
deno_net = { version = "0.130.0", path = "./ext/net" }
|
|
deno_node = { version = "0.75.0", path = "./ext/node" }
|
|
deno_tls = { version = "0.125.0", path = "./ext/tls" }
|
|
deno_url = { version = "0.138.0", path = "./ext/url" }
|
|
deno_web = { version = "0.169.0", path = "./ext/web" }
|
|
deno_webgpu = { version = "0.105.0", path = "./ext/webgpu" }
|
|
deno_webidl = { version = "0.138.0", path = "./ext/webidl" }
|
|
deno_websocket = { version = "0.143.0", path = "./ext/websocket" }
|
|
deno_webstorage = { version = "0.133.0", path = "./ext/webstorage" }
|
|
|
|
aes = "=0.8.3"
|
|
anyhow = "1.0.57"
|
|
async-trait = "0.1.73"
|
|
base64 = "0.21.4"
|
|
bencher = "0.1"
|
|
brotli = "3.3.4"
|
|
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.7.1"
|
|
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"
|
|
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"
|
|
hex = "0.4"
|
|
http = "1.0"
|
|
http-body-util = "0.1"
|
|
http_v02 = { package = "http", version = "0.2.9" }
|
|
httparse = "1.8.0"
|
|
hyper = { version = "=1.1.0", features = ["full"] }
|
|
hyper-util = { version = "=0.1.2", features = ["tokio", "server", "server-auto"] }
|
|
hyper_v014 = { package = "hyper", version = "0.14.26", features = ["runtime", "http1"] }
|
|
indexmap = { version = "2", 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 = "=1.1.4"
|
|
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.11.20", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli", "socks", "json"] } # 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.21.8"
|
|
rustls-pemfile = "1.0.0"
|
|
rustls-tokio-stream = "=0.2.17"
|
|
rustls-webpki = "0.101.4"
|
|
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"
|
|
sha2 = { version = "0.10.8", features = ["oid"] }
|
|
signature = "2.1"
|
|
slab = "0.4"
|
|
smallvec = "1.8"
|
|
socket2 = { version = "0.5.3", features = ["all"] }
|
|
tar = "=0.4.40"
|
|
tempfile = "3.4.0"
|
|
termcolor = "1.1.3"
|
|
thiserror = "1.0.40"
|
|
tokio = { version = "1.28.1", features = ["full"] }
|
|
tokio-metrics = { version = "0.3.0", features = ["rt"] }
|
|
tokio-util = "0.7.4"
|
|
tower-lsp = { version = "=0.20.0", features = ["proposed"] }
|
|
url = { version = "2.3.1", features = ["serde", "expose_internals"] }
|
|
uuid = { version = "1.3.0", features = ["v4"] }
|
|
webpki-roots = "0.25.2"
|
|
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.5.0"
|
|
wgpu-core = { version = "=0.18", features = ["raw-window-handle"] }
|
|
wgpu-hal = "=0.18"
|
|
wgpu-types = "=0.18"
|
|
|
|
# macros
|
|
proc-macro2 = "1"
|
|
quote = "1"
|
|
syn = { version = "2", features = ["full", "extra-traits"] }
|
|
|
|
# unix
|
|
nix = "=0.26.2"
|
|
|
|
# windows deps
|
|
fwdansi = "=1.1.0"
|
|
winapi = "=0.3.9"
|
|
windows-sys = { version = "0.48.0", features = ["Win32_Media"] }
|
|
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
|
|
|
|
# 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.fastwebsockets]
|
|
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.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_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.zstd-sys]
|
|
opt-level = 3
|
|
[profile.release.package.base64-simd]
|
|
opt-level = 3
|