On this page
Dependency validation for monorepo workspaces.
#rlsbl.dep_validation
#rlsbl.dep_validation
Dependency validation for monorepo workspaces.
Checks for unused declared dependencies and undeclared imports across workspace projects. Uses import scanners to compare actual source imports against manifest-declared dependencies.
#load_dep_overrides
def load_dep_overrides(root: str) -> dict[tuple[str, str], str]Load dep-overrides.toml from the monorepo config directory.
Returns a dict mapping (package, dep) to reason string. Raises ValueError if an entry is missing a required 'reason' field. Returns empty dict if the file does not exist.
#_get_imported_workspace_packages
def _get_imported_workspace_packages(project_dir: str, workspace_names: set[str]) -> tuple[set[str], set[str]]Scan a project for workspace imports, split by context.
Returns (lib_imports, test_imports) where each is a set of workspace package names found in lib/test contexts respectively.
#check_unused_deps
def check_unused_deps(project_name: str, project_dir: str, manifest_deps: set[str], workspace_names: set[str], whitelist: dict[tuple[str, str], str]) -> list[str]Check for declared workspace deps that no source file imports.
Args:
project_name: name of the project being checked.project_dir: absolute path to the project directory.manifest_deps: set of declared intra-workspace dependency names.workspace_names: set of all workspace member package names.whitelist: mapping of (package, dep) -> reason for allowed unused deps.
Returns:
- list of error strings (empty means all good).
#check_undeclared_deps
def check_undeclared_deps(project_name: str, project_dir: str, manifest_deps: set[str], workspace_names: set[str]) -> list[str]Check for imports from workspace packages not declared as deps.
Only checks lib/ imports (non-test context) against declared dependencies. Test files have more lenient rules and are skipped.
Args:
project_name: name of the project being checked.project_dir: absolute path to the project directory.manifest_deps: set of declared intra-workspace dependency names.workspace_names: set of all workspace member package names.
Returns:
- list of error strings (empty means all good).