bau/depscheck

Validates dependency locks, checksums, and governance policy.

Types

DependencyCheck = object
  ok*: bool                  ## True when no policy, lock, or materialization errors were found.
  messages*: seq[string]     ## Human-readable check details and failures.
Dependency-policy or offline-readiness check result.

Procs

proc checkDependencyPolicy(cfg: BauConfig; projectDir: string;
                           lockPath: string = ""; workspaceRoot: string = ""): DependencyCheck {.
    ...raises: [OSError, Exception, ValueError, KeyError, IOError, TomlError], tags: [
    ReadDirEffect, ReadIOEffect, RootEffect, WriteIOEffect, ExecIOEffect,
    ReadEnvEffect, TimeEffect], forbids: [].}
Validate dependency policy and lock integrity for a single project.
proc checkDependencyPolicy(projects: openArray[LockProject];
                           workspaceRoot: string; lockPath: string): DependencyCheck {.
    ...raises: [Exception, ValueError, OSError, KeyError, IOError, TomlError], tags: [
    ReadDirEffect, ReadIOEffect, RootEffect, WriteIOEffect, ExecIOEffect,
    ReadEnvEffect, TimeEffect], forbids: [].}
Validate dependency policy and lock integrity for workspace projects.
proc checkOfflineDependencies(cfg: BauConfig; projectDir: string;
                              selection: FeatureSelection;
                              lockPath: string = ""; workspaceRoot: string = ""): DependencyCheck {.
    ...raises: [OSError, Exception, ValueError, KeyError, IOError, TomlError], tags: [
    ReadDirEffect, ReadIOEffect, RootEffect, WriteIOEffect, ExecIOEffect,
    ReadEnvEffect, TimeEffect], forbids: [].}
Check that enabled dependencies are available without network access.
proc checkOfflineDependencies(projects: openArray[LockProject];
                              workspaceRoot: string; lockPath: string;
                              selections: openArray[FeatureSelection]): DependencyCheck {.
    ...raises: [Exception, ValueError, OSError, KeyError, IOError, TomlError], tags: [
    ReadDirEffect, ReadIOEffect, RootEffect, WriteIOEffect, ExecIOEffect,
    ReadEnvEffect, TimeEffect], forbids: [].}
Check offline dependency availability for a workspace.