[package]
name = "cuenv-workspaces"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Workspace and dependency resolution for cuenv across multiple package managers"
[dependencies]
thiserror = { workspace = true }
miette = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tracing = { workspace = true }
petgraph = { workspace = true }
toml = { workspace = true, optional = true }
serde_yaml = { workspace = true, optional = true }
jsonc-parser = { version = "0.28", optional = true }
yarn_lock_parser = { package = "yarn-lock-parser", version = "0.12.0", optional = true }
cargo-lock = { version = "11.0", optional = true }
cargo_toml = { version = "0.22", optional = true }
glob = { workspace = true, optional = true }
walkdir = { version = "2.5", optional = true }
[dev-dependencies]
tempfile = { workspace = true }
[features]
default = ["detection", "parsers-javascript", "discovery-javascript"]
detection = ["toml", "serde_yaml"]
discovery-package-json = ["dep:glob", "dep:walkdir"]
discovery-pnpm = ["dep:glob", "serde_yaml", "dep:walkdir"]
discovery-cargo = ["dep:glob", "toml", "dep:walkdir"]
discovery-javascript = ["discovery-package-json", "discovery-pnpm"]
discovery-rust = ["discovery-cargo"]
parser-npm = []
parser-bun = ["jsonc-parser"]
parser-pnpm = ["serde_yaml"]
parser-yarn-classic = ["dep:yarn_lock_parser"]
parser-yarn-modern = ["serde_yaml"]
parser-cargo = ["dep:cargo-lock", "dep:cargo_toml", "toml", "dep:glob"]
parsers-javascript = [
"parser-npm",
"parser-bun",
"parser-pnpm",
"parser-yarn-classic",
"parser-yarn-modern",
]
parsers-rust = ["parser-cargo"]
[lints]
workspace = true