[package]
name = "turborepo-lib"
version = "0.1.0"
edition = "2021"
license = "MIT"

[features]
# Allows configuring a specific tls backend for reqwest.
# See top level Cargo.toml for more details.
default = ["rustls-tls", "daemon-package-discovery"]
native-tls = ["turborepo-api-client/native-tls", "turbo-updater/native-tls"]
rustls-tls = ["turborepo-api-client/rustls-tls", "turbo-updater/rustls-tls"]

daemon-package-discovery = []
daemon-file-hashing = []

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dev-dependencies]
anyhow = { workspace = true, features = ["backtrace"] }
assert_cmd = { workspace = true }
async-stream = "0.3.4"
insta = { workspace = true }
itertools = { workspace = true }
port_scanner = { workspace = true }
pretty_assertions = { workspace = true }
tempfile = { workspace = true }
test-case = { workspace = true }
tracing-test = { version = "0.2.4", features = ["no-env-filter"] }
tracing.workspace = true
turborepo-vercel-api-mock = { workspace = true }

[lints]
workspace = true

[dependencies]
async-graphql = { workspace = true }
async-graphql-axum = { workspace = true }
atty = { workspace = true }
axum = { workspace = true }
biome_deserialize = { workspace = true }
biome_deserialize_macros = { workspace = true }
biome_diagnostics = { workspace = true }
biome_json_parser = { workspace = true }
biome_json_syntax = { workspace = true }
camino = "1.1.4"
capnp = "0.17.2"
chrono = { workspace = true, features = ["serde"] }
clap = { workspace = true, features = ["derive", "env"] }
clap_complete = { workspace = true }
command-group = { version = "2.1.0", features = ["with-tokio"] }
console = { workspace = true }
const_format = "0.2.30"
convert_case = "0.6.0"
crossterm = "0.26"
ctrlc = { version = "3.4.0", features = ["termination"] }
derive_setters = { workspace = true }
dialoguer = { workspace = true, features = ["fuzzy-select", "password"] }
dirs-next = "2.0.0"
dunce = { workspace = true }
either = { workspace = true }
futures = { workspace = true }
futures-core = "0.3.30"
git2 = { workspace = true, default-features = false }
globwalk = { version = "0.1.0", path = "../turborepo-globwalk" }
go-parse-duration = "0.1.1"
hex = "0.4.3"
human-panic = "1.2.1"
human_format = "1.1.0"
humantime = "2.1.0"
ignore = "0.4.22"
indicatif = { workspace = true }
itertools = { workspace = true }
jsonc-parser = { version = "0.21.0" }
lazy_static = { workspace = true }
libc = "0.2.140"
merge = { workspace = true }
miette = { workspace = true, features = ["fancy"] }
notify = { workspace = true }
num_cpus = { workspace = true }
owo-colors = { workspace = true }
oxc_resolver = { workspace = true }
path-clean = "1.0.1"
petgraph = { workspace = true }
pidlock = { path = "../turborepo-pidlock" }
pprof = { version = "0.12.1", features = [
  "prost-codec",
  "frame-pointer",
], optional = true }
prost = "0.12.3"
radix_trie = { workspace = true }
rand = { workspace = true }
rayon = "1.7.0"
regex.workspace = true
reqwest = { workspace = true, default-features = false, features = ["json"] }
semver = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
sha2 = { workspace = true }
shared_child = "1.0.0"
struct_iterable = "0.1.1"
svix-ksuid = { version = "0.7.0", features = ["serde"] }
swc_common = { workspace = true }
swc_ecma_ast = { workspace = true, features = ["serde-impl"] }
swc_ecma_parser = { workspace = true }
swc_ecma_visit = { workspace = true }
sysinfo = "0.27.7"
tabwriter = "1.3.0"
thiserror = "1.0.38"
time = "0.3.20"
tiny-gradient = { workspace = true }
tokio = { workspace = true, features = ["full", "time"] }
tokio-stream = { version = "0.1.12", features = ["net"] }
tokio-util = { version = "0.7.7", features = ["compat"] }
tonic = { version = "0.11.0", features = ["transport"] }
tower = "0.4.13"
tower-http = { version = "0.5.2", features = ["cors"] }
tracing-appender = "0.2.2"
tracing-chrome = "0.7.1"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
tracing.workspace = true
turbo-trace = { workspace = true }
turbo-updater = { workspace = true }
turbopath = { workspace = true }
turborepo-analytics = { path = "../turborepo-analytics" }
turborepo-api-client = { workspace = true }
turborepo-auth = { path = "../turborepo-auth" }
turborepo-cache = { workspace = true }
turborepo-ci = { workspace = true }
turborepo-dirs = { path = "../turborepo-dirs" }
turborepo-env = { workspace = true }
turborepo-errors = { workspace = true }
turborepo-filewatch = { path = "../turborepo-filewatch" }
turborepo-fixed-map = { workspace = true }
turborepo-frameworks = { workspace = true }
turborepo-fs = { path = "../turborepo-fs" }
turborepo-graph-utils = { path = "../turborepo-graph-utils" }
turborepo-lockfiles = { workspace = true }
turborepo-microfrontends = { workspace = true }
turborepo-microfrontends-proxy = { workspace = true }
turborepo-process = { workspace = true }
turborepo-repository = { path = "../turborepo-repository" }
turborepo-scm = { workspace = true, features = ["git2"] }
turborepo-signals = { workspace = true }
turborepo-task-id = { workspace = true }
turborepo-telemetry = { path = "../turborepo-telemetry" }
turborepo-ui = { workspace = true }
turborepo-unescape = { workspace = true }
turborepo-vercel-api = { path = "../turborepo-vercel-api" }
twox-hash = "1.6.3"
uds_windows = "1.0.2"
wax = { workspace = true }
webbrowser = { workspace = true }
which = { workspace = true }


[target.'cfg(target_os = "windows")'.dependencies]
uds_windows = "1.0.2"
async-io = "1.12.0"

[build-dependencies]
capnpc = "0.18.0"
tonic-build = "0.8.4"
