[package]
name = "aube"
description = "Aube — a fast Node.js package manager"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme.workspace = true
include = ["src/**/*.rs", "src/**/*.mjs", "assets/**", "build.rs"]
[lib]
name = "aube"
path = "src/lib.rs"
[[bin]]
name = "aube"
path = "src/main.rs"
[[bin]]
name = "aubr"
path = "src/bin/aubr.rs"
test = false
[[bin]]
name = "aubx"
path = "src/bin/aubx.rs"
test = false
[dependencies]
aube-codes = { workspace = true }
aube-lockfile = { workspace = true }
aube-runtime = { workspace = true }
aube-manifest = { workspace = true }
aube-registry = { workspace = true }
aube-util = { workspace = true }
aube-resolver = { workspace = true }
aube-settings = { workspace = true }
aube-store = { workspace = true }
aube-linker = { workspace = true }
aube-scripts = { workspace = true }
aube-workspace = { workspace = true }
bytes = "1"
xx = { workspace = true }
usage-rs = { workspace = true }
strum = { workspace = true }
clx = { workspace = true }
console = "0.16"
demand = "2"
reqwest = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true }
miette = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
spdx = { workspace = true }
yaml_serde = { workspace = true }
base64 = { workspace = true }
sha1 = { workspace = true }
sha2 = { workspace = true }
blake3 = { workspace = true }
hex = { workspace = true }
sigstore-sign = { workspace = true, optional = true }
sigstore-oidc = { workspace = true, optional = true }
sigstore-types = { workspace = true, optional = true }
ambient-id = { workspace = true, optional = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
flate2 = { workspace = true, features = ["zlib-ng"] }
glob = { workspace = true }
ignore = { workspace = true }
node-semver = { workspace = true }
rayon = { workspace = true }
tar = { workspace = true }
tempfile = "3"
diffy = { workspace = true }
libc = { workspace = true }
pathdiff = "0.2"
is_ci = "1"
ci_info = "0.14"
pluralizer = "0.5"
toml = { workspace = true }
mimalloc = { version = "0.1", default-features = false, optional = true }
ratatui = { version = "0.30", default-features = false, features = ["crossterm", "std"], optional = true }
crossterm = { version = "0.29", optional = true }
[features]
default = [
"mimalloc",
"config-tui",
"publish",
"rustls",
"hickory-dns",
"workspace-yaml-preserve",
]
config-tui = ["dep:crossterm", "dep:ratatui"]
mimalloc = ["dep:mimalloc"]
publish = ["dep:sigstore-sign", "dep:sigstore-oidc", "dep:sigstore-types", "dep:ambient-id"]
rustls = ["reqwest/rustls", "aube-registry/rustls", "aube-util/rustls"]
hickory-dns = ["reqwest/hickory-dns", "aube-registry/hickory-dns"]
workspace-yaml-preserve = ["aube-manifest/workspace-yaml-preserve"]
[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
[build-dependencies]
serde_json = { workspace = true }
[[test]]
name = "e2e"
path = "tests/e2e.rs"