[package]
edition = "2024"
name = "cuenv-workspaces"
version = "0.26.19"
authors = ["cuenv Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Workspace and dependency resolution for cuenv across multiple package managers"
homepage = "https://github.com/cuenv/cuenv"
readme = "readme.md"
keywords = [
"cue",
"configuration",
"validation",
"ffi",
]
categories = [
"config",
"development-tools",
"parsing",
]
license = "AGPL-3.0-or-later"
repository = "https://github.com/cuenv/cuenv"
resolver = "2"
[features]
default = [
"detection",
"parsers-javascript",
"discovery-javascript",
]
detection = [
"toml",
"serde_yaml",
]
discovery-cargo = [
"dep:glob",
"toml",
"dep:walkdir",
]
discovery-javascript = [
"discovery-package-json",
"discovery-pnpm",
]
discovery-package-json = [
"dep:glob",
"dep:walkdir",
]
discovery-pnpm = [
"dep:glob",
"serde_yaml",
"dep:walkdir",
]
discovery-rust = ["discovery-cargo"]
parser-bun = ["jsonc-parser"]
parser-cargo = [
"dep:cargo-lock",
"dep:cargo_toml",
"toml",
"dep:glob",
]
parser-npm = []
parser-pnpm = ["serde_yaml"]
parser-yarn-classic = ["dep:yarn_lock_parser"]
parser-yarn-modern = ["serde_yaml"]
parsers-javascript = [
"parser-npm",
"parser-bun",
"parser-pnpm",
"parser-yarn-classic",
"parser-yarn-modern",
]
parsers-rust = ["parser-cargo"]
[lib]
name = "cuenv_workspaces"
path = "src/lib.rs"
[[test]]
name = "cargo_parser"
path = "tests/cargo_parser.rs"
[[test]]
name = "discovery_tests"
path = "tests/discovery_tests.rs"
[[test]]
name = "javascript_parsers"
path = "tests/javascript_parsers.rs"
[dependencies.cargo-lock]
version = "11.0"
optional = true
[dependencies.cargo_toml]
version = "0.22"
optional = true
[dependencies.glob]
version = "0.3"
optional = true
[dependencies.jsonc-parser]
version = "0.28"
optional = true
[dependencies.miette]
version = "7.6"
features = ["fancy"]
[dependencies.petgraph]
version = "0.8.3"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
features = ["raw_value"]
[dependencies.serde_yaml]
version = "0.9"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.toml]
version = "0.9"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.walkdir]
version = "2.5"
optional = true
[dependencies.yarn_lock_parser]
version = "0.12.0"
optional = true
package = "yarn-lock-parser"
[dev-dependencies.tempfile]
version = "3.25"
[lints.clippy]
as_ptr_cast_mut = "allow"
cognitive_complexity = "allow"
dbg_macro = "warn"
derive_partial_eq_without_eq = "allow"
doc_markdown = "allow"
expect_used = "warn"
implicit_hasher = "allow"
iter_on_single_items = "allow"
missing_const_for_fn = "allow"
missing_panics_doc = "allow"
multiple_crate_versions = "allow"
needless_collect = "allow"
needless_pass_by_ref_mut = "allow"
option_if_let_else = "allow"
or_fun_call = "allow"
panic = "warn"
print_stderr = "warn"
print_stdout = "warn"
redundant_clone = "allow"
redundant_closure_for_method_calls = "allow"
significant_drop_tightening = "allow"
todo = "warn"
too_many_arguments = "allow"
too_many_lines = "allow"
unimplemented = "warn"
uninlined_format_args = "allow"
unnecessary_literal_bound = "allow"
unnecessary_map_or = "allow"
unwrap_used = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "warn"
unsafe_code = "warn"