Cargo Features

[dependencies]
cuenv-workspaces = { version = "0.26.2", default-features = false, features = ["detection", "discovery-package-json", "discovery-pnpm", "discovery-cargo", "discovery-javascript", "discovery-rust", "parser-npm", "parser-bun", "parser-pnpm", "parser-yarn-classic", "parser-yarn-modern", "parser-cargo", "parsers-javascript", "parsers-rust"] }
default = detection, discovery-javascript, parsers-javascript

Default features: package manager detection, JavaScript parsers, and JavaScript discovery

These defaults are chosen to provide a complete experience for JavaScript/TypeScript projects (the most common use case for workspace tooling) out of the box. Users can disable default features with default-features = false to minimize dependencies for Rust-only or specialized use cases.

detection default = serde_yaml, toml

Enable package manager detection from lockfiles and commands

Affects cuenv-workspaces::detection

discovery-package-json discovery-javascript

Fine-grained discovery features

Enables glob and walkdir

Affects discovery::package_json, cuenv-workspaces::discovery

discovery-pnpm discovery-javascript = serde_yaml

Enables glob and walkdir

Affects discovery::pnpm_workspace, cuenv-workspaces::discovery

discovery-cargo discovery-rust? = toml

Enables glob and walkdir

Affects discovery::cargo_toml, cuenv-workspaces::discovery

discovery-javascript default = discovery-package-json, discovery-pnpm

Aggregate discovery features (recommended)
Enable all JavaScript ecosystem discoveries (npm/Bun/Yarn via package.json, pnpm)

discovery-rust = discovery-cargo

Enable all Rust ecosystem discoveries (currently only Cargo)

parser-npm parsers-javascript

Fine-grained parser features (prefer using aggregate features below)

Affects javascript::npm

parser-bun parsers-javascript = jsonc-parser

Affects javascript::bun

parser-pnpm parsers-javascript = serde_yaml

Affects javascript::pnpm

parser-yarn-classic parsers-javascript

Enables yarn-lock-parser ^0.12.0

Affects javascript::yarn_classic

parser-yarn-modern parsers-javascript = serde_yaml

Affects javascript::yarn_modern

parser-cargo parsers-rust? = toml

Enable only the Cargo parser without the broader parsers-rust bundle

Enables cargo-lock, cargo_toml, and glob

Affects rust::cargo, parsers::rust, cuenv-workspaces::parsers

parsers-javascript default = parser-bun, parser-npm, parser-pnpm, parser-yarn-classic, parser-yarn-modern

Aggregate parser features (recommended)
Enable all JavaScript ecosystem parsers (npm, bun, pnpm, yarn classic, yarn modern)

Affects parsers::javascript, cuenv-workspaces::parsers

parsers-rust = parser-cargo

Enable all Rust ecosystem parsers (currently only Cargo)
Note: This implies parser-cargo but is intended to encompass additional Rust parsers in the future

Affects parsers::rust, cuenv-workspaces::parsers

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

toml detection discovery-cargo? parser-cargo?

Affects discovery::read_toml_file

serde_yaml detection discovery-pnpm? parser-pnpm? parser-yarn-modern?

Affects discovery::read_yaml_file

jsonc-parser parser-bun?

Enables jsonc-parser ^0.28