Expand description
Workspace discovery implementations for various package managers.
This module provides implementations of the [WorkspaceDiscovery] trait for
discovering workspace configurations from:
package.json(npm, Bun, Yarn)pnpm-workspace.yaml(pnpm)Cargo.toml(Rust/Cargo)
§Usage
ⓘ
use cuenv_workspaces::discovery::{PackageJsonDiscovery, CargoTomlDiscovery};
use cuenv_workspaces::WorkspaceDiscovery;
use std::path::Path;
let root = Path::new(".");
// Try npm/yarn/bun workspace
if let Ok(workspace) = PackageJsonDiscovery.discover(root) {
println!("Found {} npm members", workspace.member_count());
}
// Try cargo workspace
if let Ok(workspace) = CargoTomlDiscovery.discover(root) {
println!("Found {} crate members", workspace.member_count());
}Re-exports§
pub use package_json::PackageJsonDiscovery;pub use pnpm_workspace::PnpmWorkspaceDiscovery;
Modules§
- package_
json - Discovery implementation for npm/Bun/Yarn workspaces via package.json.
- pnpm_
workspace - Discovery implementation for pnpm workspaces via pnpm-workspace.yaml.
Functions§
- read_
json_ file - Reads and parses a JSON file.
- read_
toml_ file - Reads and parses a TOML file.
- read_
yaml_ file - Reads and parses a YAML file.
- resolve_
glob_ patterns - Resolves glob patterns to find directories, handling exclusions.