[workspace] members = ["src/runtime"] resolver = "3" [workspace.package] version = "0.0.1" edition = "2024" rust-version = "1.95" publish = false [workspace.lints.rust] unsafe_code = "forbid" [workspace.dependencies] dever-runtime = { path = "src/runtime" } pulldown-cmark = { version = "=0.13.4", default-features = false } dec = "=0.4.11" getrandom = "=0.2.17" argon2 = { version = "=0.5.3", features = ["zeroize"] } sha2 = "=0.10.9" hmac = "=0.12.1" base64 = "=0.22.1" subtle = "=2.6.1" zeroize = "=1.9.0" uuid = { version = "=1.28.0", default-features = false } chrono = { version = "=0.4.45", default-features = false, features = ["std"] } indexmap = "=2.14.0" ahash = "=0.8.12" serde = { version = "=1.0.228", features = ["derive"] } serde_json = { version = "=1.0.145", features = ["raw_value"] } node-semver = "=2.2.0" url = "=2.5.8" zip = { version = "=2.4.2", default-features = false, features = ["deflate"] } rustix = { version = "=1.1.2", features = ["net", "process", "fs"] } tokio = { version = "=1.53.1", features = ["rt-multi-thread", "sync", "time", "macros"] } tokio-util = { version = "=0.7.19", features = ["rt"] } futures-util = { version = "=0.3.34", default-features = false, features = ["std", "sink"] } tokio-tungstenite = { version = "=0.30.0", default-features = false, features = ["handshake"] } hyper = { version = "=1.11.1", features = ["http1", "http2", "client", "server"] } hyper-util = { version = "=0.1.20", features = ["tokio", "client-legacy", "http1", "http2"] } http-body-util = "=0.1.5" bytes = "=1.12.1" rustls = { version = "=0.23.44", default-features = false, features = ["std", "ring", "tls12"] } tokio-rustls = { version = "=0.26.5", default-features = false, features = ["ring", "tls12"] } webpki-roots = "=1.0.8" tower-service = "=0.3.3" deadpool-sqlite = { version = "=0.14.0", features = ["bundled", "hooks", "functions"] } deadpool-postgres = "=0.14.2" tokio-postgres = { version = "=0.7.18", features = ["with-uuid-1"] } tokio-postgres-rustls = { version = "=0.14.0", default-features = false, features = ["ring"] } rustls-native-certs = "=0.8.4" [package] name = "dever" version.workspace = true edition.workspace = true rust-version.workspace = true publish.workspace = true [features] postgres = ["dever-runtime/postgres"] [[bin]] name = "dever" path = "src/cli/main.rs" [[example]] name = "native-release" path = "src/cli/release/main.rs" [dependencies] dec.workspace = true dever-runtime = { workspace = true, features = ["wire", "calendar", "uuid"] } pulldown-cmark.workspace = true serde.workspace = true serde_json.workspace = true sha2.workspace = true base64.workspace = true node-semver.workspace = true url.workspace = true zip.workspace = true ureq = { version = "=3.4.2", default-features = false, features = ["rustls"] } ring = "=0.17.14" goblin = "=0.10.7" tar = { version = "=0.4.44", default-features = false } flate2 = "=1.1.5" pep440_rs = "=0.7.3" pep508_rs = "=0.9.2" [target.'cfg(target_os = "linux")'.dependencies] rustix.workspace = true [dev-dependencies] dever-runtime = { workspace = true, features = ["http"] } hmac.workspace = true [lints] workspace = true [[test]] name = "syntax" path = "../test/rust/syntax.rs" [[test]] name = "compiler" path = "../test/rust/compiler.rs" [[test]] name = "native" path = "../test/rust/native.rs" [[bench]] name = "performance" path = "../test/rust/performance.rs" harness = false [profile.release] codegen-units = 1 lto = "fat" overflow-checks = true strip = "symbols" [profile.dev] debug = 0 [profile.test] debug = 0