Skip to main content

CircularDependenciesOutput

Type Alias CircularDependenciesOutput 

Source
pub type CircularDependenciesOutput = CheckOutput;
Expand description

Concrete circular-dependency output contract returned by typed runs.

Aliased Type§

pub struct CircularDependenciesOutput {
Show 13 fields pub schema_version: SchemaVersion, pub version: ToolVersion, pub elapsed_ms: ElapsedMs, pub total_issues: usize, pub entry_points: Option<EntryPoints>, pub summary: CheckSummary, pub results: AnalysisResults, pub baseline_deltas: Option<BaselineDeltas>, pub baseline: Option<BaselineMatch>, pub regression: Option<RegressionResult>, pub meta: Option<Meta>, pub workspace_diagnostics: Vec<WorkspaceDiagnostic>, pub next_steps: Vec<NextStep>,
}

Fields§

§schema_version: SchemaVersion

Dead-code output schema version; currently [CHECK_SCHEMA_VERSION].

§version: ToolVersion

Fallow CLI version that produced this output.

§elapsed_ms: ElapsedMs

Wall-clock analysis duration in milliseconds.

§total_issues: usize

Total findings across all issue arrays; excludes next_steps.

§entry_points: Option<EntryPoints>

Entry-point totals per source, when the analysis recorded them.

§summary: CheckSummary

Per-category finding counts.

§results: AnalysisResults

Full analysis results, flattened so each issue array sits at the envelope root.

§baseline_deltas: Option<BaselineDeltas>

Count deltas against the matched baseline, in baseline runs.

§baseline: Option<BaselineMatch>

Which baseline snapshot was matched, in baseline runs.

§regression: Option<RegressionResult>

Regression verdict against the baseline, in --fail-on-regression runs.

§meta: Option<Meta>

_meta block with docs and rule definitions, when --explain was passed.

§workspace_diagnostics: Vec<WorkspaceDiagnostic>

Non-fatal diagnostics about the project itself, from all three stages that record them (issue #473):

  • workspace discovery, at config load: undeclared-workspace, malformed-package-json, glob-matched-no-package-json, malformed-tsconfig, tsconfig-reference-dir-missing;
  • source discovery, during the file walk: skipped-large-file, skipped-minified-file, skipped-source-dotdir, excluded-by-default-ignore, source-read-failure, source-parse-degraded;
  • dead-code analysis, from the dependency-catalog and override detectors: malformed-pnpm-workspace-yaml, bun-lockb-override-resolution-skipped.

Analysis-stage kinds therefore reach only the envelopes whose run includes a dead-code analyze pass, never a standalone fallow dupes --format json. path is project-root-relative with forward slashes; the array is omitted when empty. The same list is repeated on each top-level command’s envelope so single-command consumers see it without having to look at a separate top-level field.

A diagnostic here is advisory and never withholds a finding. Where an entry reports a source file this run never fully analyzed (source-parse-degraded, source-read-failure, skipped-large-file, skipped-minified-file, skipped-source-dotdir) it can distort a verdict, so the affected unused_files[], unused_exports[], and dependency entries additionally carry the caveat themselves in their own optional reachability_caveats[] array, and a reader who never scrolls back up to this list still sees it. fallow fix reads the same array and withholds the removal while a caveat stands.

excluded-by-default-ignore is the one source-discovery kind that reports unseen files WITHOUT raising a caveat. It names a built-in ignore pattern (**/dist/**, **/build/**, **/coverage/**, or one of the four minified-bundle globs) that removed candidate source files from the walk, which is designed behavior on generated output rather than a degraded run, so it is advisory only and no finding inherits it. One entry per pattern, never per file, so the array stays bounded on a project of any size. Gitignored trees are pruned before the walk sees them and count zero, and **/node_modules/** is never reported: installed dependencies are not the first-party source the kind is about.

§next_steps: Vec<NextStep>

Read-only follow-up commands computed from this run’s findings, emitted at the JSON root so an agent acting on the output is pointed at fallow’s adjacent verification capabilities (trace, complexity breakdown, audit, workspace scoping). Each command is runnable as-is and never mutating; see [NextStep] for both contracts. Omitted when empty or when FALLOW_SUGGESTIONS=off; does NOT contribute to total_issues.