-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Add policies for Cargo workspace management in Rust monorepos.
Proposed Policies
WorkspaceMembersValid
Validate workspace configuration:
makePolicy(WorkspaceMembersValid, {
validatePaths: true, // All members paths must exist
detectOrphans: true, // Find crates not in workspace
requireExplicitMembers: true, // Prefer explicit over glob patterns
})SharedDependencyVersions
Enforce consistent dependency versions across workspace:
makePolicy(SharedDependencyVersions, {
// Require workspace-level dependencies
requireWorkspaceDeps: ["serde", "tokio", "anyhow"],
// Detect version mismatches
detectMismatches: true,
// Suggest workspace.dependencies for duplicates
suggestWorkspaceDeps: true,
})WorkspaceInheritance
Ensure members inherit from workspace:
makePolicy(WorkspaceInheritance, {
// Fields that should use workspace inheritance
inherit: ["version", "authors", "license", "repository"],
// Allow overrides for specific crates
allowOverrides: ["examples/*"],
})Use Case
Large Rust monorepos with multiple crates benefit from consistent workspace configuration and dependency management.
Related
This complements the existing monorepo support in repopo for Node.js workspaces.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels