fallow 3.30.0 → 3.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -4
- package/capabilities.json +161 -46
- package/issue-registry.json +76 -37
- package/package.json +12 -11
- package/schema.json +58 -5
- package/skills/fallow/SKILL.md +1 -0
- package/skills/fallow/references/cli-reference.md +30 -16
- package/skills/fallow/references/gotchas.md +24 -0
- package/skills/fallow/references/issue-types.md +2 -1
- package/skills/fallow/references/mcp.md +31 -1
- package/types/output-contract.d.ts +697 -16
|
@@ -315,7 +315,7 @@ export type AuditIntroduced = boolean
|
|
|
315
315
|
* commands differ: the `fallow audit` `new-only` gate fails only on introduced
|
|
316
316
|
* findings, so an inherited `error` finding does not fail the audit, and the
|
|
317
317
|
* combined command (`fallow` without a subcommand) exits 0 for machine
|
|
318
|
-
* formats.
|
|
318
|
+
* formats unless `--fail-on-issues` or `--ci` is set.
|
|
319
319
|
*
|
|
320
320
|
* Complexity findings carry the same type. The `complexity-cyclomatic`,
|
|
321
321
|
* `complexity-cognitive` and `complexity-crap` rules set it, and the
|
|
@@ -460,7 +460,15 @@ export type BaselineStalenessAdvisory = ("none" | "zero-overlap" | "partial")
|
|
|
460
460
|
* `--workspace` and `--changed-workspaces` for the same reason. A consumer
|
|
461
461
|
* must therefore not assume a given command emits a given name.
|
|
462
462
|
*/
|
|
463
|
-
export type ScopeReason = ("diff" | "changed-since" | "changed-files" | "workspace" | "changed-workspaces" | "scope" | "file" | "issue-type-filter" | "production")
|
|
463
|
+
export type ScopeReason = ("diff" | "changed-since" | "package-baselines" | "changed-files" | "workspace" | "changed-workspaces" | "scope" | "file" | "issue-type-filter" | "production" | "include-entry-exports")
|
|
464
|
+
/**
|
|
465
|
+
* One reason why a missing id does not prove that the finding is gone.
|
|
466
|
+
*
|
|
467
|
+
* Serialized as kebab-case inside `inconclusive_reasons`. The set is OPEN: a
|
|
468
|
+
* name this build does not emit means "some reason", not an error, and the
|
|
469
|
+
* query stays inconclusive.
|
|
470
|
+
*/
|
|
471
|
+
export type FindingIdQueryReason = ("diff" | "changed-since" | "package-baselines" | "changed-files" | "workspace" | "changed-workspaces" | "scope" | "file" | "issue-type-filter" | "production" | "include-entry-exports" | "baseline" | "rule-off" | "filtered")
|
|
464
472
|
/**
|
|
465
473
|
* Status of a regression-check pass.
|
|
466
474
|
*/
|
|
@@ -740,6 +748,18 @@ kind: "flag-age-shallow-clone"
|
|
|
740
748
|
*/
|
|
741
749
|
cause: string
|
|
742
750
|
kind: "flag-age-unavailable"
|
|
751
|
+
} | {
|
|
752
|
+
/**
|
|
753
|
+
* The `ignoreDependencies` entry, as written in the config.
|
|
754
|
+
*/
|
|
755
|
+
pattern: string
|
|
756
|
+
kind: "ignore-dependencies-glob-unmatched"
|
|
757
|
+
} | {
|
|
758
|
+
/**
|
|
759
|
+
* The `ignoreFindings` entry, as written in the config.
|
|
760
|
+
*/
|
|
761
|
+
pattern: string
|
|
762
|
+
kind: "ignore-findings-pattern-unmatched"
|
|
743
763
|
})
|
|
744
764
|
/**
|
|
745
765
|
* Discriminant for [`CloneGroupAction::kind`]. Mirrors the action types
|
|
@@ -1667,7 +1687,7 @@ duplication_demoted: number
|
|
|
1667
1687
|
* gate and leaves the object absent.
|
|
1668
1688
|
*
|
|
1669
1689
|
* The names this build can emit are `error-severity-findings`, `regression`,
|
|
1670
|
-
* `stale-baseline`, `duplication-threshold`, `health-min-score`,
|
|
1690
|
+
* `stale-baseline`, `baseline-growth`, `duplication-threshold`, `health-min-score`,
|
|
1671
1691
|
* `health-min-severity`, `health-findings`, `health-coverage-gaps`,
|
|
1672
1692
|
* `health-runtime-coverage`, `security`, `security-advisory`, `audit-verdict`,
|
|
1673
1693
|
* `type-aware-require` and `parse-error`. The set is OPEN: a name a consumer does not
|
|
@@ -1699,7 +1719,7 @@ status: GateStatus
|
|
|
1699
1719
|
* True when a `fail` from this gate makes the run exit non-zero. False
|
|
1700
1720
|
* when the verdict is published for information only: the gate was never
|
|
1701
1721
|
* armed, the run was told never to fail, or the combined machine formats
|
|
1702
|
-
* exit 0 for the gate.
|
|
1722
|
+
* exit 0 for the gate (bare `fallow` without `--fail-on-issues`).
|
|
1703
1723
|
*/
|
|
1704
1724
|
enforced: boolean
|
|
1705
1725
|
/**
|
|
@@ -2818,6 +2838,12 @@ circular_dependencies: CircularDependencyFinding[]
|
|
|
2818
2838
|
* suppression breaks the cycle).
|
|
2819
2839
|
*/
|
|
2820
2840
|
re_export_cycles?: ReExportCycleFinding[]
|
|
2841
|
+
/**
|
|
2842
|
+
* Dependency cycles between workspace packages, built from resolved
|
|
2843
|
+
* cross-package imports. Wrapped in [`PackageCycleFinding`] so each
|
|
2844
|
+
* entry carries a typed `actions` array natively.
|
|
2845
|
+
*/
|
|
2846
|
+
package_cycles?: PackageCycleFinding[]
|
|
2821
2847
|
/**
|
|
2822
2848
|
* Imports that cross architecture boundary rules. Wrapped in
|
|
2823
2849
|
* [`BoundaryViolationFinding`] so each entry carries a typed `actions`
|
|
@@ -3046,6 +3072,14 @@ baseline?: (BaselineMatch | null)
|
|
|
3046
3072
|
* can report `matched_entries: 0` on a healthy baseline.
|
|
3047
3073
|
*/
|
|
3048
3074
|
baseline_staleness?: (BaselineStaleness | null)
|
|
3075
|
+
/**
|
|
3076
|
+
* The answer to `--finding-id`, present only when the run received one
|
|
3077
|
+
* or more `--finding-id` values. The report then holds only the
|
|
3078
|
+
* requested findings. Read `missing` as resolved only when `conclusive`
|
|
3079
|
+
* is true; a scope, a baseline or a filter can hide a finding that still
|
|
3080
|
+
* exists. See [`crate::FindingIdQuery`].
|
|
3081
|
+
*/
|
|
3082
|
+
finding_id_query?: (FindingIdQuery | null)
|
|
3049
3083
|
/**
|
|
3050
3084
|
* Regression verdict against the baseline, in `--fail-on-regression` runs.
|
|
3051
3085
|
*/
|
|
@@ -3070,6 +3104,11 @@ gate_outcomes?: (GateOutcomes | null)
|
|
|
3070
3104
|
* never "nothing failed". See [`crate::RequestOutcomes`].
|
|
3071
3105
|
*/
|
|
3072
3106
|
request_outcomes?: (RequestOutcomes | null)
|
|
3107
|
+
/**
|
|
3108
|
+
* Applied Git refs for exact workspace packages. Absent when no package
|
|
3109
|
+
* baselines were selected, including runs with a global changed-since ref.
|
|
3110
|
+
*/
|
|
3111
|
+
package_baselines?: PackageBaselineStatus[]
|
|
3073
3112
|
/**
|
|
3074
3113
|
* `_meta` block with docs and rule definitions, when `--explain` was
|
|
3075
3114
|
* passed.
|
|
@@ -3090,7 +3129,10 @@ _meta?: (Meta | null)
|
|
|
3090
3129
|
* detectors: `malformed-pnpm-workspace-yaml`,
|
|
3091
3130
|
* `bun-lockb-override-resolution-skipped`;
|
|
3092
3131
|
* - framework plugins, while they read their own build configs:
|
|
3093
|
-
* `plugin-config-unreadable`, `plugin-effect-not-modeled
|
|
3132
|
+
* `plugin-config-unreadable`, `plugin-effect-not-modeled`;
|
|
3133
|
+
* - the dead-code result, for config patterns that matched nothing:
|
|
3134
|
+
* `ignore-dependencies-glob-unmatched`,
|
|
3135
|
+
* `ignore-findings-pattern-unmatched`.
|
|
3094
3136
|
*
|
|
3095
3137
|
* Analysis-stage and plugin-stage kinds therefore reach only the envelopes
|
|
3096
3138
|
* whose run includes a dead-code analyze pass, never a standalone
|
|
@@ -3272,6 +3314,10 @@ circular_dependencies: number
|
|
|
3272
3314
|
* re-exporting from each other in a loop).
|
|
3273
3315
|
*/
|
|
3274
3316
|
re_export_cycles?: number
|
|
3317
|
+
/**
|
|
3318
|
+
* Dependency cycles between workspace packages.
|
|
3319
|
+
*/
|
|
3320
|
+
package_cycles?: number
|
|
3275
3321
|
/**
|
|
3276
3322
|
* Imports that cross architecture boundary rules.
|
|
3277
3323
|
*/
|
|
@@ -3351,6 +3397,14 @@ export interface UnusedFileFinding {
|
|
|
3351
3397
|
* Absolute path to the unused file.
|
|
3352
3398
|
*/
|
|
3353
3399
|
path: string
|
|
3400
|
+
/**
|
|
3401
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
3402
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
3403
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
3404
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
3405
|
+
* new id. Absent in output from older versions.
|
|
3406
|
+
*/
|
|
3407
|
+
finding_id?: (string | null)
|
|
3354
3408
|
/**
|
|
3355
3409
|
* Suggested next steps: a `delete-file` primary and a `suppress-file`
|
|
3356
3410
|
* secondary. Always emitted (possibly empty for forward-compat).
|
|
@@ -3582,6 +3636,14 @@ deprecated?: boolean
|
|
|
3582
3636
|
* not deprecated or the tag carries no text.
|
|
3583
3637
|
*/
|
|
3584
3638
|
deprecated_reason?: (string | null)
|
|
3639
|
+
/**
|
|
3640
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
3641
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
3642
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
3643
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
3644
|
+
* new id. Absent in output from older versions.
|
|
3645
|
+
*/
|
|
3646
|
+
finding_id?: (string | null)
|
|
3585
3647
|
/**
|
|
3586
3648
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3587
3649
|
* forward-compat).
|
|
@@ -3657,6 +3719,14 @@ deprecated?: boolean
|
|
|
3657
3719
|
* not deprecated or the tag carries no text.
|
|
3658
3720
|
*/
|
|
3659
3721
|
deprecated_reason?: (string | null)
|
|
3722
|
+
/**
|
|
3723
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
3724
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
3725
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
3726
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
3727
|
+
* new id. Absent in output from older versions.
|
|
3728
|
+
*/
|
|
3729
|
+
finding_id?: (string | null)
|
|
3660
3730
|
/**
|
|
3661
3731
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3662
3732
|
* forward-compat).
|
|
@@ -3722,6 +3792,14 @@ span_start: number
|
|
|
3722
3792
|
* package-public leak across files or re-exports.
|
|
3723
3793
|
*/
|
|
3724
3794
|
semantic?: (SemanticPrivateTypeLeak | null)
|
|
3795
|
+
/**
|
|
3796
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
3797
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
3798
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
3799
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
3800
|
+
* new id. Absent in output from older versions.
|
|
3801
|
+
*/
|
|
3802
|
+
finding_id?: (string | null)
|
|
3725
3803
|
/**
|
|
3726
3804
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3727
3805
|
* forward-compat).
|
|
@@ -3794,6 +3872,14 @@ consumers: DeprecatedExportConsumer[]
|
|
|
3794
3872
|
* are not visible, so the finding makes no removal claim.
|
|
3795
3873
|
*/
|
|
3796
3874
|
public_api: boolean
|
|
3875
|
+
/**
|
|
3876
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
3877
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
3878
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
3879
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
3880
|
+
* new id. Absent in output from older versions.
|
|
3881
|
+
*/
|
|
3882
|
+
finding_id?: (string | null)
|
|
3797
3883
|
/**
|
|
3798
3884
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3799
3885
|
* forward-compat).
|
|
@@ -3856,6 +3942,14 @@ line: number
|
|
|
3856
3942
|
* Workspace roots that import this package even though the declaring workspace does not.
|
|
3857
3943
|
*/
|
|
3858
3944
|
used_in_workspaces?: string[]
|
|
3945
|
+
/**
|
|
3946
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
3947
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
3948
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
3949
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
3950
|
+
* new id. Absent in output from older versions.
|
|
3951
|
+
*/
|
|
3952
|
+
finding_id?: (string | null)
|
|
3859
3953
|
/**
|
|
3860
3954
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3861
3955
|
* forward-compat).
|
|
@@ -3909,6 +4003,14 @@ line: number
|
|
|
3909
4003
|
* Workspace roots that import this package even though the declaring workspace does not.
|
|
3910
4004
|
*/
|
|
3911
4005
|
used_in_workspaces?: string[]
|
|
4006
|
+
/**
|
|
4007
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4008
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4009
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4010
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4011
|
+
* new id. Absent in output from older versions.
|
|
4012
|
+
*/
|
|
4013
|
+
finding_id?: (string | null)
|
|
3912
4014
|
/**
|
|
3913
4015
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3914
4016
|
* forward-compat).
|
|
@@ -3962,6 +4064,14 @@ line: number
|
|
|
3962
4064
|
* Workspace roots that import this package even though the declaring workspace does not.
|
|
3963
4065
|
*/
|
|
3964
4066
|
used_in_workspaces?: string[]
|
|
4067
|
+
/**
|
|
4068
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4069
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4070
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4071
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4072
|
+
* new id. Absent in output from older versions.
|
|
4073
|
+
*/
|
|
4074
|
+
finding_id?: (string | null)
|
|
3965
4075
|
/**
|
|
3966
4076
|
* Suggested next steps. Always emitted (possibly empty for
|
|
3967
4077
|
* forward-compat).
|
|
@@ -4015,6 +4125,14 @@ line: number
|
|
|
4015
4125
|
* 0-based byte column offset.
|
|
4016
4126
|
*/
|
|
4017
4127
|
col: number
|
|
4128
|
+
/**
|
|
4129
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4130
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4131
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4132
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4133
|
+
* new id. Absent in output from older versions.
|
|
4134
|
+
*/
|
|
4135
|
+
finding_id?: (string | null)
|
|
4018
4136
|
/**
|
|
4019
4137
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4020
4138
|
* forward-compat).
|
|
@@ -4070,6 +4188,14 @@ line: number
|
|
|
4070
4188
|
* 0-based byte column offset.
|
|
4071
4189
|
*/
|
|
4072
4190
|
col: number
|
|
4191
|
+
/**
|
|
4192
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4193
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4194
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4195
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4196
|
+
* new id. Absent in output from older versions.
|
|
4197
|
+
*/
|
|
4198
|
+
finding_id?: (string | null)
|
|
4073
4199
|
/**
|
|
4074
4200
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4075
4201
|
* forward-compat).
|
|
@@ -4134,6 +4260,14 @@ line: number
|
|
|
4134
4260
|
* 0-based byte column offset.
|
|
4135
4261
|
*/
|
|
4136
4262
|
col: number
|
|
4263
|
+
/**
|
|
4264
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4265
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4266
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4267
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4268
|
+
* new id. Absent in output from older versions.
|
|
4269
|
+
*/
|
|
4270
|
+
finding_id?: (string | null)
|
|
4137
4271
|
/**
|
|
4138
4272
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4139
4273
|
* forward-compat).
|
|
@@ -4191,6 +4325,14 @@ col: number
|
|
|
4191
4325
|
* Used by the LSP to underline just the specifier, not the entire import line.
|
|
4192
4326
|
*/
|
|
4193
4327
|
specifier_col: number
|
|
4328
|
+
/**
|
|
4329
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4330
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4331
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4332
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4333
|
+
* new id. Absent in output from older versions.
|
|
4334
|
+
*/
|
|
4335
|
+
finding_id?: (string | null)
|
|
4194
4336
|
/**
|
|
4195
4337
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4196
4338
|
* forward-compat).
|
|
@@ -4224,6 +4366,14 @@ package_name: string
|
|
|
4224
4366
|
* Import sites where this unlisted dependency is used (file path, line, column).
|
|
4225
4367
|
*/
|
|
4226
4368
|
imported_from: ImportSite[]
|
|
4369
|
+
/**
|
|
4370
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4371
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4372
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4373
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4374
|
+
* new id. Absent in output from older versions.
|
|
4375
|
+
*/
|
|
4376
|
+
finding_id?: (string | null)
|
|
4227
4377
|
/**
|
|
4228
4378
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4229
4379
|
* forward-compat).
|
|
@@ -4281,6 +4431,14 @@ export_name: string
|
|
|
4281
4431
|
* Locations where this export name appears.
|
|
4282
4432
|
*/
|
|
4283
4433
|
locations: DuplicateLocation[]
|
|
4434
|
+
/**
|
|
4435
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4436
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4437
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4438
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4439
|
+
* new id. Absent in output from older versions.
|
|
4440
|
+
*/
|
|
4441
|
+
finding_id?: (string | null)
|
|
4284
4442
|
/**
|
|
4285
4443
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4286
4444
|
* forward-compat).
|
|
@@ -4334,6 +4492,14 @@ path: string
|
|
|
4334
4492
|
* 1-based line number of the dependency entry in package.json.
|
|
4335
4493
|
*/
|
|
4336
4494
|
line: number
|
|
4495
|
+
/**
|
|
4496
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4497
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4498
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4499
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4500
|
+
* new id. Absent in output from older versions.
|
|
4501
|
+
*/
|
|
4502
|
+
finding_id?: (string | null)
|
|
4337
4503
|
/**
|
|
4338
4504
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4339
4505
|
* forward-compat).
|
|
@@ -4371,6 +4537,14 @@ path: string
|
|
|
4371
4537
|
* 1-based line number of the dependency entry in package.json.
|
|
4372
4538
|
*/
|
|
4373
4539
|
line: number
|
|
4540
|
+
/**
|
|
4541
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4542
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4543
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4544
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4545
|
+
* new id. Absent in output from older versions.
|
|
4546
|
+
*/
|
|
4547
|
+
finding_id?: (string | null)
|
|
4374
4548
|
/**
|
|
4375
4549
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4376
4550
|
* forward-compat).
|
|
@@ -4409,6 +4583,14 @@ path: string
|
|
|
4409
4583
|
* 1-based line number of the dependency entry in package.json.
|
|
4410
4584
|
*/
|
|
4411
4585
|
line: number
|
|
4586
|
+
/**
|
|
4587
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4588
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4589
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4590
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4591
|
+
* new id. Absent in output from older versions.
|
|
4592
|
+
*/
|
|
4593
|
+
finding_id?: (string | null)
|
|
4412
4594
|
/**
|
|
4413
4595
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4414
4596
|
* forward-compat).
|
|
@@ -4463,6 +4645,14 @@ edges?: CircularDependencyEdge[]
|
|
|
4463
4645
|
* Whether this cycle crosses workspace package boundaries.
|
|
4464
4646
|
*/
|
|
4465
4647
|
is_cross_package?: boolean
|
|
4648
|
+
/**
|
|
4649
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4650
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4651
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4652
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4653
|
+
* new id. Absent in output from older versions.
|
|
4654
|
+
*/
|
|
4655
|
+
finding_id?: (string | null)
|
|
4466
4656
|
/**
|
|
4467
4657
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4468
4658
|
* forward-compat).
|
|
@@ -4525,6 +4715,14 @@ export interface ReExportCycleFinding {
|
|
|
4525
4715
|
*/
|
|
4526
4716
|
files: string[]
|
|
4527
4717
|
kind: ReExportCycleKind
|
|
4718
|
+
/**
|
|
4719
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4720
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4721
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4722
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4723
|
+
* new id. Absent in output from older versions.
|
|
4724
|
+
*/
|
|
4725
|
+
finding_id?: (string | null)
|
|
4528
4726
|
/**
|
|
4529
4727
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4530
4728
|
* forward-compat).
|
|
@@ -4543,6 +4741,109 @@ introduced?: (AuditIntroduced | null)
|
|
|
4543
4741
|
*/
|
|
4544
4742
|
effective_severity?: (EffectiveSeverity | null)
|
|
4545
4743
|
}
|
|
4744
|
+
/**
|
|
4745
|
+
* Wire-shape envelope for a [`PackageCycle`] finding. Mirrors
|
|
4746
|
+
* [`CircularDependencyFinding`]: flattens the bare finding and carries a
|
|
4747
|
+
* typed `actions` array (`refactor-cycle` primary plus `suppress-line`
|
|
4748
|
+
* secondary).
|
|
4749
|
+
*/
|
|
4750
|
+
export interface PackageCycleFinding {
|
|
4751
|
+
/**
|
|
4752
|
+
* Workspace package labels in cycle order. The first entry is the
|
|
4753
|
+
* lexicographically smallest label; the last entry imports the first.
|
|
4754
|
+
* A label is the package name. When two or more workspace packages
|
|
4755
|
+
* share a name, the label is `name (root)` with the project-relative
|
|
4756
|
+
* package root, so that each label names one package.
|
|
4757
|
+
*/
|
|
4758
|
+
packages: string[]
|
|
4759
|
+
/**
|
|
4760
|
+
* Package root directories in cycle order: `package_roots[i]` is the
|
|
4761
|
+
* root of `packages[i]`.
|
|
4762
|
+
*/
|
|
4763
|
+
package_roots: string[]
|
|
4764
|
+
/**
|
|
4765
|
+
* Number of packages in the cycle.
|
|
4766
|
+
*/
|
|
4767
|
+
length: number
|
|
4768
|
+
/**
|
|
4769
|
+
* One example import per hop, in cycle order: `edges[i]` goes from
|
|
4770
|
+
* `packages[i]` to `packages[(i + 1) % length]`.
|
|
4771
|
+
*/
|
|
4772
|
+
edges: PackageCycleEdge[]
|
|
4773
|
+
/**
|
|
4774
|
+
* True when the group of packages that holds this cycle has more
|
|
4775
|
+
* cycles than fallow lists. The listing stops at 20 cycles per group,
|
|
4776
|
+
* or earlier on a very dense package graph. Break a listed cycle and
|
|
4777
|
+
* run again to see the rest.
|
|
4778
|
+
*/
|
|
4779
|
+
group_truncated: boolean
|
|
4780
|
+
/**
|
|
4781
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4782
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4783
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4784
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4785
|
+
* new id. Absent in output from older versions.
|
|
4786
|
+
*/
|
|
4787
|
+
finding_id?: (string | null)
|
|
4788
|
+
/**
|
|
4789
|
+
* Suggested next steps. Always emitted (possibly empty for
|
|
4790
|
+
* forward-compat).
|
|
4791
|
+
*/
|
|
4792
|
+
actions: IssueAction[]
|
|
4793
|
+
/**
|
|
4794
|
+
* Set by the audit pass when this finding is introduced relative to
|
|
4795
|
+
* the merge-base.
|
|
4796
|
+
*/
|
|
4797
|
+
introduced?: (AuditIntroduced | null)
|
|
4798
|
+
/**
|
|
4799
|
+
* Gate severity of this finding after `rules` and `overrides[].rules`
|
|
4800
|
+
* resolve for its path. CI formats read it for the annotation, SARIF
|
|
4801
|
+
* and CodeClimate level. Absent in output from older versions. Not
|
|
4802
|
+
* part of the finding identity, baseline keys or fingerprints.
|
|
4803
|
+
*/
|
|
4804
|
+
effective_severity?: (EffectiveSeverity | null)
|
|
4805
|
+
}
|
|
4806
|
+
/**
|
|
4807
|
+
* One package hop in a [`PackageCycle`]: `from_package` imports
|
|
4808
|
+
* `to_package`, and `path` holds one example import for that hop.
|
|
4809
|
+
*
|
|
4810
|
+
* The example import is the first runtime import by `(path, line)`. When
|
|
4811
|
+
* every import on the hop is type-only, it is the first type-only import.
|
|
4812
|
+
*/
|
|
4813
|
+
export interface PackageCycleEdge {
|
|
4814
|
+
/**
|
|
4815
|
+
* Label of the importing workspace package, as in
|
|
4816
|
+
* [`PackageCycle::packages`].
|
|
4817
|
+
*/
|
|
4818
|
+
from_package: string
|
|
4819
|
+
/**
|
|
4820
|
+
* Label of the imported workspace package, as in
|
|
4821
|
+
* [`PackageCycle::packages`].
|
|
4822
|
+
*/
|
|
4823
|
+
to_package: string
|
|
4824
|
+
/**
|
|
4825
|
+
* File in `from_package` that holds the example import.
|
|
4826
|
+
*/
|
|
4827
|
+
path: string
|
|
4828
|
+
/**
|
|
4829
|
+
* File in `to_package` that the example import resolves to.
|
|
4830
|
+
*/
|
|
4831
|
+
target_path: string
|
|
4832
|
+
/**
|
|
4833
|
+
* 1-based line number of the example import.
|
|
4834
|
+
*/
|
|
4835
|
+
line: number
|
|
4836
|
+
/**
|
|
4837
|
+
* 0-based byte column offset of the example import.
|
|
4838
|
+
*/
|
|
4839
|
+
col: number
|
|
4840
|
+
/**
|
|
4841
|
+
* True when every import from `from_package` to `to_package` is
|
|
4842
|
+
* type-only. A type-only hop has no runtime effect, but it can still
|
|
4843
|
+
* force a build order (for example with declaration builds).
|
|
4844
|
+
*/
|
|
4845
|
+
type_only: boolean
|
|
4846
|
+
}
|
|
4546
4847
|
/**
|
|
4547
4848
|
* Wire-shape envelope for a [`BoundaryViolation`] finding. Mirrors
|
|
4548
4849
|
* [`UnusedFileFinding`]: flattens the bare finding and carries a typed
|
|
@@ -4555,7 +4856,9 @@ export interface BoundaryViolationFinding {
|
|
|
4555
4856
|
*/
|
|
4556
4857
|
from_path: string
|
|
4557
4858
|
/**
|
|
4558
|
-
* The file being imported that violates the boundary.
|
|
4859
|
+
* The file being imported that violates the boundary. When the import
|
|
4860
|
+
* goes through a re-export chain, this is the origin module that
|
|
4861
|
+
* declares the imported symbol, not the barrel.
|
|
4559
4862
|
*/
|
|
4560
4863
|
to_path: string
|
|
4561
4864
|
/**
|
|
@@ -4578,6 +4881,19 @@ line: number
|
|
|
4578
4881
|
* 0-based byte column offset of the import statement.
|
|
4579
4882
|
*/
|
|
4580
4883
|
col: number
|
|
4884
|
+
/**
|
|
4885
|
+
* The barrel file that the source file imports directly, when the
|
|
4886
|
+
* violation comes from a re-export chain. Absent for a direct import.
|
|
4887
|
+
*/
|
|
4888
|
+
via_path?: (string | null)
|
|
4889
|
+
/**
|
|
4890
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4891
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4892
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4893
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4894
|
+
* new id. Absent in output from older versions.
|
|
4895
|
+
*/
|
|
4896
|
+
finding_id?: (string | null)
|
|
4581
4897
|
/**
|
|
4582
4898
|
* Suggested next steps. Always emitted (possibly empty for
|
|
4583
4899
|
* forward-compat).
|
|
@@ -4614,6 +4930,14 @@ line: number
|
|
|
4614
4930
|
* 0-based byte column offset used for diagnostics.
|
|
4615
4931
|
*/
|
|
4616
4932
|
col: number
|
|
4933
|
+
/**
|
|
4934
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4935
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4936
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4937
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4938
|
+
* new id. Absent in output from older versions.
|
|
4939
|
+
*/
|
|
4940
|
+
finding_id?: (string | null)
|
|
4617
4941
|
/**
|
|
4618
4942
|
* Suggested next steps.
|
|
4619
4943
|
*/
|
|
@@ -4662,6 +4986,14 @@ callee: string
|
|
|
4662
4986
|
* consumers can see both the written path and the rule that fired.
|
|
4663
4987
|
*/
|
|
4664
4988
|
pattern: string
|
|
4989
|
+
/**
|
|
4990
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
4991
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
4992
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
4993
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
4994
|
+
* new id. Absent in output from older versions.
|
|
4995
|
+
*/
|
|
4996
|
+
finding_id?: (string | null)
|
|
4665
4997
|
/**
|
|
4666
4998
|
* Suggested next steps.
|
|
4667
4999
|
*/
|
|
@@ -4719,6 +5051,14 @@ severity: PolicyViolationSeverity
|
|
|
4719
5051
|
* The rule's author-provided message, when set.
|
|
4720
5052
|
*/
|
|
4721
5053
|
message?: (string | null)
|
|
5054
|
+
/**
|
|
5055
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5056
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5057
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5058
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5059
|
+
* new id. Absent in output from older versions.
|
|
5060
|
+
*/
|
|
5061
|
+
finding_id?: (string | null)
|
|
4722
5062
|
/**
|
|
4723
5063
|
* Suggested next steps.
|
|
4724
5064
|
*/
|
|
@@ -4751,6 +5091,14 @@ origin: SuppressionOrigin
|
|
|
4751
5091
|
* comment or tag that has no reason.
|
|
4752
5092
|
*/
|
|
4753
5093
|
missing_reason?: boolean
|
|
5094
|
+
/**
|
|
5095
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5096
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5097
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5098
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5099
|
+
* new id. Absent in output from older versions.
|
|
5100
|
+
*/
|
|
5101
|
+
finding_id?: (string | null)
|
|
4754
5102
|
/**
|
|
4755
5103
|
* Suggested next steps. Always emitted.
|
|
4756
5104
|
*/
|
|
@@ -4793,6 +5141,14 @@ line: number
|
|
|
4793
5141
|
* output.
|
|
4794
5142
|
*/
|
|
4795
5143
|
hardcoded_consumers?: string[]
|
|
5144
|
+
/**
|
|
5145
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5146
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5147
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5148
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5149
|
+
* new id. Absent in output from older versions.
|
|
5150
|
+
*/
|
|
5151
|
+
finding_id?: (string | null)
|
|
4796
5152
|
/**
|
|
4797
5153
|
* Suggested next steps. Always emitted.
|
|
4798
5154
|
*/
|
|
@@ -4828,6 +5184,14 @@ path: string
|
|
|
4828
5184
|
* 1-based line number of the empty group header within the source file.
|
|
4829
5185
|
*/
|
|
4830
5186
|
line: number
|
|
5187
|
+
/**
|
|
5188
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5189
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5190
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5191
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5192
|
+
* new id. Absent in output from older versions.
|
|
5193
|
+
*/
|
|
5194
|
+
finding_id?: (string | null)
|
|
4831
5195
|
/**
|
|
4832
5196
|
* Suggested next steps. Always emitted.
|
|
4833
5197
|
*/
|
|
@@ -4884,6 +5248,14 @@ line: number
|
|
|
4884
5248
|
* catalog or to add the entry to the named catalog.
|
|
4885
5249
|
*/
|
|
4886
5250
|
available_in_catalogs?: string[]
|
|
5251
|
+
/**
|
|
5252
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5253
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5254
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5255
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5256
|
+
* new id. Absent in output from older versions.
|
|
5257
|
+
*/
|
|
5258
|
+
finding_id?: (string | null)
|
|
4887
5259
|
/**
|
|
4888
5260
|
* Suggested next steps. Always emitted; position 0 is the discriminated
|
|
4889
5261
|
* primary (see struct docs).
|
|
@@ -4954,6 +5326,14 @@ line: number
|
|
|
4954
5326
|
* use the conservative package-manifest fallback.
|
|
4955
5327
|
*/
|
|
4956
5328
|
hint?: (string | null)
|
|
5329
|
+
/**
|
|
5330
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5331
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5332
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5333
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5334
|
+
* new id. Absent in output from older versions.
|
|
5335
|
+
*/
|
|
5336
|
+
finding_id?: (string | null)
|
|
4957
5337
|
/**
|
|
4958
5338
|
* Suggested next steps. Always emitted.
|
|
4959
5339
|
*/
|
|
@@ -5010,6 +5390,14 @@ path: string
|
|
|
5010
5390
|
* 1-based line number of the entry within the source file.
|
|
5011
5391
|
*/
|
|
5012
5392
|
line: number
|
|
5393
|
+
/**
|
|
5394
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5395
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5396
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5397
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5398
|
+
* new id. Absent in output from older versions.
|
|
5399
|
+
*/
|
|
5400
|
+
finding_id?: (string | null)
|
|
5013
5401
|
/**
|
|
5014
5402
|
* Suggested next steps. Always emitted.
|
|
5015
5403
|
*/
|
|
@@ -5057,6 +5445,14 @@ line: number
|
|
|
5057
5445
|
* 0-based byte column offset of the export.
|
|
5058
5446
|
*/
|
|
5059
5447
|
col: number
|
|
5448
|
+
/**
|
|
5449
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5450
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5451
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5452
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5453
|
+
* new id. Absent in output from older versions.
|
|
5454
|
+
*/
|
|
5455
|
+
finding_id?: (string | null)
|
|
5060
5456
|
/**
|
|
5061
5457
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5062
5458
|
* forward-compat).
|
|
@@ -5105,6 +5501,14 @@ line: number
|
|
|
5105
5501
|
* 0-based byte column offset of the barrel's first offending re-export.
|
|
5106
5502
|
*/
|
|
5107
5503
|
col: number
|
|
5504
|
+
/**
|
|
5505
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5506
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5507
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5508
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5509
|
+
* new id. Absent in output from older versions.
|
|
5510
|
+
*/
|
|
5511
|
+
finding_id?: (string | null)
|
|
5108
5512
|
/**
|
|
5109
5513
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5110
5514
|
* forward-compat).
|
|
@@ -5148,6 +5552,14 @@ line: number
|
|
|
5148
5552
|
* 0-based byte column offset of the misplaced directive statement.
|
|
5149
5553
|
*/
|
|
5150
5554
|
col: number
|
|
5555
|
+
/**
|
|
5556
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5557
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5558
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5559
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5560
|
+
* new id. Absent in output from older versions.
|
|
5561
|
+
*/
|
|
5562
|
+
finding_id?: (string | null)
|
|
5151
5563
|
/**
|
|
5152
5564
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5153
5565
|
* forward-compat).
|
|
@@ -5193,6 +5605,14 @@ line: number
|
|
|
5193
5605
|
* 0-based byte column offset of the inject / getContext call.
|
|
5194
5606
|
*/
|
|
5195
5607
|
col: number
|
|
5608
|
+
/**
|
|
5609
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5610
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5611
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5612
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5613
|
+
* new id. Absent in output from older versions.
|
|
5614
|
+
*/
|
|
5615
|
+
finding_id?: (string | null)
|
|
5196
5616
|
/**
|
|
5197
5617
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5198
5618
|
* forward-compat).
|
|
@@ -5249,6 +5669,14 @@ line: number
|
|
|
5249
5669
|
* 0-based byte column offset.
|
|
5250
5670
|
*/
|
|
5251
5671
|
col: number
|
|
5672
|
+
/**
|
|
5673
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5674
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5675
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5676
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5677
|
+
* new id. Absent in output from older versions.
|
|
5678
|
+
*/
|
|
5679
|
+
finding_id?: (string | null)
|
|
5252
5680
|
/**
|
|
5253
5681
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5254
5682
|
* forward-compat).
|
|
@@ -5298,6 +5726,14 @@ line: number
|
|
|
5298
5726
|
* 0-based byte column offset (file-level finding, always 0).
|
|
5299
5727
|
*/
|
|
5300
5728
|
col: number
|
|
5729
|
+
/**
|
|
5730
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5731
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5732
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5733
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5734
|
+
* new id. Absent in output from older versions.
|
|
5735
|
+
*/
|
|
5736
|
+
finding_id?: (string | null)
|
|
5301
5737
|
/**
|
|
5302
5738
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5303
5739
|
* forward-compat).
|
|
@@ -5351,6 +5787,14 @@ line: number
|
|
|
5351
5787
|
* 0-based byte column offset (file-level finding, always 0).
|
|
5352
5788
|
*/
|
|
5353
5789
|
col: number
|
|
5790
|
+
/**
|
|
5791
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5792
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5793
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5794
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5795
|
+
* new id. Absent in output from older versions.
|
|
5796
|
+
*/
|
|
5797
|
+
finding_id?: (string | null)
|
|
5354
5798
|
/**
|
|
5355
5799
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5356
5800
|
* forward-compat).
|
|
@@ -5396,6 +5840,14 @@ line: number
|
|
|
5396
5840
|
* 0-based byte column offset of the prop declaration.
|
|
5397
5841
|
*/
|
|
5398
5842
|
col: number
|
|
5843
|
+
/**
|
|
5844
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5845
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5846
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5847
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5848
|
+
* new id. Absent in output from older versions.
|
|
5849
|
+
*/
|
|
5850
|
+
finding_id?: (string | null)
|
|
5399
5851
|
/**
|
|
5400
5852
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5401
5853
|
* forward-compat).
|
|
@@ -5441,6 +5893,14 @@ line: number
|
|
|
5441
5893
|
* 0-based byte column offset of the emit declaration.
|
|
5442
5894
|
*/
|
|
5443
5895
|
col: number
|
|
5896
|
+
/**
|
|
5897
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5898
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5899
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5900
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5901
|
+
* new id. Absent in output from older versions.
|
|
5902
|
+
*/
|
|
5903
|
+
finding_id?: (string | null)
|
|
5444
5904
|
/**
|
|
5445
5905
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5446
5906
|
* forward-compat).
|
|
@@ -5486,6 +5946,14 @@ line: number
|
|
|
5486
5946
|
* 0-based byte column offset of the input declaration.
|
|
5487
5947
|
*/
|
|
5488
5948
|
col: number
|
|
5949
|
+
/**
|
|
5950
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
5951
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
5952
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
5953
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
5954
|
+
* new id. Absent in output from older versions.
|
|
5955
|
+
*/
|
|
5956
|
+
finding_id?: (string | null)
|
|
5489
5957
|
/**
|
|
5490
5958
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5491
5959
|
* forward-compat).
|
|
@@ -5531,6 +5999,14 @@ line: number
|
|
|
5531
5999
|
* 0-based byte column offset of the output declaration.
|
|
5532
6000
|
*/
|
|
5533
6001
|
col: number
|
|
6002
|
+
/**
|
|
6003
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6004
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6005
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6006
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6007
|
+
* new id. Absent in output from older versions.
|
|
6008
|
+
*/
|
|
6009
|
+
finding_id?: (string | null)
|
|
5534
6010
|
/**
|
|
5535
6011
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5536
6012
|
* forward-compat).
|
|
@@ -5577,6 +6053,14 @@ line: number
|
|
|
5577
6053
|
* 0-based byte column offset of the `dispatch('<name>')` call.
|
|
5578
6054
|
*/
|
|
5579
6055
|
col: number
|
|
6056
|
+
/**
|
|
6057
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6058
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6059
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6060
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6061
|
+
* new id. Absent in output from older versions.
|
|
6062
|
+
*/
|
|
6063
|
+
finding_id?: (string | null)
|
|
5580
6064
|
/**
|
|
5581
6065
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5582
6066
|
* forward-compat).
|
|
@@ -5618,6 +6102,14 @@ line: number
|
|
|
5618
6102
|
* 0-based byte column offset of the export.
|
|
5619
6103
|
*/
|
|
5620
6104
|
col: number
|
|
6105
|
+
/**
|
|
6106
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6107
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6108
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6109
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6110
|
+
* new id. Absent in output from older versions.
|
|
6111
|
+
*/
|
|
6112
|
+
finding_id?: (string | null)
|
|
5621
6113
|
/**
|
|
5622
6114
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5623
6115
|
* forward-compat).
|
|
@@ -5665,6 +6157,14 @@ col: number
|
|
|
5665
6157
|
* determinable.
|
|
5666
6158
|
*/
|
|
5667
6159
|
route_dir?: (string | null)
|
|
6160
|
+
/**
|
|
6161
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6162
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6163
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6164
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6165
|
+
* new id. Absent in output from older versions.
|
|
6166
|
+
*/
|
|
6167
|
+
finding_id?: (string | null)
|
|
5668
6168
|
/**
|
|
5669
6169
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5670
6170
|
* forward-compat).
|
|
@@ -5706,6 +6206,14 @@ depth: number
|
|
|
5706
6206
|
* finding anchor is the first hop (`path` / `line` for suppression + CI).
|
|
5707
6207
|
*/
|
|
5708
6208
|
hops: PropDrillHop[]
|
|
6209
|
+
/**
|
|
6210
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6211
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6212
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6213
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6214
|
+
* new id. Absent in output from older versions.
|
|
6215
|
+
*/
|
|
6216
|
+
finding_id?: (string | null)
|
|
5709
6217
|
/**
|
|
5710
6218
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5711
6219
|
* forward-compat).
|
|
@@ -5771,6 +6279,14 @@ component: string
|
|
|
5771
6279
|
* at the render site).
|
|
5772
6280
|
*/
|
|
5773
6281
|
child_component: string
|
|
6282
|
+
/**
|
|
6283
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6284
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6285
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6286
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6287
|
+
* new id. Absent in output from older versions.
|
|
6288
|
+
*/
|
|
6289
|
+
finding_id?: (string | null)
|
|
5774
6290
|
/**
|
|
5775
6291
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5776
6292
|
* forward-compat).
|
|
@@ -5829,6 +6345,14 @@ group_size: number
|
|
|
5829
6345
|
* here, because the group is real regardless of suppression.
|
|
5830
6346
|
*/
|
|
5831
6347
|
sharing_components: DuplicatePropShapeMember[]
|
|
6348
|
+
/**
|
|
6349
|
+
* Stable id of this finding: `dc1:<rule>:<16 hex digits>`, with a
|
|
6350
|
+
* `~<k>` suffix when several findings of one type share an identity.
|
|
6351
|
+
* Line and column are not inputs, so the id survives line shifts,
|
|
6352
|
+
* reformats and reorders. A rename of the file or the symbol gives a
|
|
6353
|
+
* new id. Absent in output from older versions.
|
|
6354
|
+
*/
|
|
6355
|
+
finding_id?: (string | null)
|
|
5832
6356
|
/**
|
|
5833
6357
|
* Suggested next steps. Always emitted (possibly empty for
|
|
5834
6358
|
* forward-compat).
|
|
@@ -6033,6 +6557,14 @@ unrecognised_format?: boolean
|
|
|
6033
6557
|
* uses the same value for its stderr note.
|
|
6034
6558
|
*/
|
|
6035
6559
|
saved_by?: string
|
|
6560
|
+
/**
|
|
6561
|
+
* `legacy` when the loaded dead-code baseline has no `identity`, so its
|
|
6562
|
+
* entries use the old key forms and some of them hold a line. The run
|
|
6563
|
+
* still applies the file. `--save-baseline` rewrites it with line-free
|
|
6564
|
+
* keys. Absent for a current baseline and on `dupes` and `health`. The
|
|
6565
|
+
* value set is OPEN.
|
|
6566
|
+
*/
|
|
6567
|
+
format?: string
|
|
6036
6568
|
/**
|
|
6037
6569
|
* Which channels narrowed this run, present and non-empty exactly when
|
|
6038
6570
|
* `change_scoped` is true. Both members are derived from one function, so
|
|
@@ -6050,6 +6582,75 @@ saved_by?: string
|
|
|
6050
6582
|
*/
|
|
6051
6583
|
scope_reasons?: ScopeReason[]
|
|
6052
6584
|
}
|
|
6585
|
+
/**
|
|
6586
|
+
* The result of a `--finding-id` query, present only when the run received
|
|
6587
|
+
* one or more `--finding-id` values.
|
|
6588
|
+
*
|
|
6589
|
+
* A requested id that is missing from a conclusive run means "fixed,
|
|
6590
|
+
* suppressed, or ignored by config", never "unknown": an inline suppression
|
|
6591
|
+
* comment or an `ignoreFindings` entry is a choice a person made to hide the
|
|
6592
|
+
* finding, so it counts as absent. A missing id in a run that is not
|
|
6593
|
+
* conclusive is unknown, never resolved.
|
|
6594
|
+
*
|
|
6595
|
+
* Every list keeps the order of `requested`. `found` and `missing` partition
|
|
6596
|
+
* `requested`. `filtered` is a subset of `missing`.
|
|
6597
|
+
*/
|
|
6598
|
+
export interface FindingIdQuery {
|
|
6599
|
+
/**
|
|
6600
|
+
* The requested ids, without duplicates, in the order of the arguments.
|
|
6601
|
+
*/
|
|
6602
|
+
requested: string[]
|
|
6603
|
+
/**
|
|
6604
|
+
* The requested ids that this report contains.
|
|
6605
|
+
*/
|
|
6606
|
+
found: string[]
|
|
6607
|
+
/**
|
|
6608
|
+
* The requested ids that this report does not contain. When `conclusive`
|
|
6609
|
+
* is true, a missing id is fixed, suppressed, or ignored by config.
|
|
6610
|
+
* Otherwise its state is unknown.
|
|
6611
|
+
*/
|
|
6612
|
+
missing: string[]
|
|
6613
|
+
/**
|
|
6614
|
+
* The missing ids that the analysis still found before a filter of this
|
|
6615
|
+
* run (scope, baseline, issue-type filter) removed them. Such a finding
|
|
6616
|
+
* still exists.
|
|
6617
|
+
*/
|
|
6618
|
+
filtered: string[]
|
|
6619
|
+
/**
|
|
6620
|
+
* True when no option of this run can hide a finding without a fix, and
|
|
6621
|
+
* no requested id was filtered. Only then does a missing id mean that
|
|
6622
|
+
* the analysis no longer reports the finding.
|
|
6623
|
+
*/
|
|
6624
|
+
conclusive: boolean
|
|
6625
|
+
/**
|
|
6626
|
+
* Why the query is not conclusive, sorted. Empty exactly when
|
|
6627
|
+
* `conclusive` is true.
|
|
6628
|
+
*/
|
|
6629
|
+
inconclusive_reasons: FindingIdQueryReason[]
|
|
6630
|
+
/**
|
|
6631
|
+
* A stable hash (`af1:<16 hex digits>`) of every input other than the
|
|
6632
|
+
* source code that decides which findings the run reports:
|
|
6633
|
+
* - the fallow version;
|
|
6634
|
+
* - the merged config after `extends` (without keys that only shape other
|
|
6635
|
+
* commands), the loaded external plugins and rule packs;
|
|
6636
|
+
* - production mode, `includeEntryExports`, the effective rules, the
|
|
6637
|
+
* type-aware mode, requirement and project list, the file size limit;
|
|
6638
|
+
* - the root-relative path and content of each repository `.gitignore`,
|
|
6639
|
+
* `.ignore` and `.git/info/exclude`, each `package.json`, each
|
|
6640
|
+
* `tsconfig*.json` and `jsconfig*.json` with the files its `extends`
|
|
6641
|
+
* names, and each file that matches a built-in or external plugin
|
|
6642
|
+
* config pattern (for example `vite.config.ts`).
|
|
6643
|
+
*
|
|
6644
|
+
* File content is normalized (CRLF to LF, trailing newlines removed).
|
|
6645
|
+
* Known exclusions: the global git excludes file and other machine
|
|
6646
|
+
* environment outside the `FALLOW_*` variables. Store the fingerprint
|
|
6647
|
+
* with a verdict. A later query with another fingerprint is unknown, even
|
|
6648
|
+
* when `conclusive` is true. An edit to a source file keeps it; an edit
|
|
6649
|
+
* to a manifest or project config changes it, also when the edit fixes a
|
|
6650
|
+
* dependency finding.
|
|
6651
|
+
*/
|
|
6652
|
+
analysis_fingerprint: string
|
|
6653
|
+
}
|
|
6053
6654
|
/**
|
|
6054
6655
|
* Result of regression detection (`--fail-on-regression`). Compares current
|
|
6055
6656
|
* issue counts against a baseline from config or an explicit file.
|
|
@@ -6099,9 +6700,11 @@ reason?: (string | null)
|
|
|
6099
6700
|
* empty object is never emitted: it would assert that something was asked and
|
|
6100
6701
|
* all of it applied, which is a different and false claim.
|
|
6101
6702
|
*
|
|
6102
|
-
* The names this build can emit are `changed-since`, `diff-filter
|
|
6103
|
-
* `sarif-file`. The reasons are `git-missing`,
|
|
6104
|
-
* `git-failed` and `invalid-ref` for `changed-since`,
|
|
6703
|
+
* The names this build can emit are `changed-since`, `diff-filter`,
|
|
6704
|
+
* `package-baselines` and `sarif-file`. The reasons are `git-missing`,
|
|
6705
|
+
* `not-a-repository`, `git-failed` and `invalid-ref` for `changed-since`,
|
|
6706
|
+
* `unknown-workspace`, `git-missing`, `not-a-repository` and `git-failed`
|
|
6707
|
+
* for `package-baselines`, `oversize`,
|
|
6105
6708
|
* `unreadable`, `not-utf8`, `foreign-namespace` and `ambiguous-base` for
|
|
6106
6709
|
* `diff-filter`, and `directory-create-failed`, `write-failed` and
|
|
6107
6710
|
* `serialize-failed` for `sarif-file`. Every set is OPEN: a name a consumer
|
|
@@ -6117,8 +6720,9 @@ reason?: (string | null)
|
|
|
6117
6720
|
* widened the analysis, which is what `affects` exists to prevent.
|
|
6118
6721
|
*
|
|
6119
6722
|
* `scope_size` is emitted for `diff-filter`, in added lines, and for
|
|
6120
|
-
* `changed-since`, in changed files that the run analyzed. `
|
|
6121
|
-
*
|
|
6723
|
+
* `changed-since`, in changed files that the run analyzed. `package-baselines`
|
|
6724
|
+
* and `sarif-file` measure no scope; the applied package refs travel in
|
|
6725
|
+
* `package_baselines`. A consumer reads the unit off the name, so a name that
|
|
6122
6726
|
* starts to measure its own scope in a later release needs no change here.
|
|
6123
6727
|
*
|
|
6124
6728
|
* `invalid-ref` is reachable only through the programmatic API. The
|
|
@@ -6144,7 +6748,8 @@ affects: RequestEffect
|
|
|
6144
6748
|
* `changed-since`, the diff source label (`--diff-file pr.diff`,
|
|
6145
6749
|
* `--diff-stdin`, `$FALLOW_DIFF_FILE build/pr.diff`, or
|
|
6146
6750
|
* `diffFile pr.diff` for the programmatic option) for `diff-filter`,
|
|
6147
|
-
*
|
|
6751
|
+
* `workspaces.changedSince` for `package-baselines`, the target path for
|
|
6752
|
+
* `sarif-file`. Echoed rather than normalised, so a
|
|
6148
6753
|
* consumer must not join it to the project root the way it joins every
|
|
6149
6754
|
* other path-shaped field.
|
|
6150
6755
|
*/
|
|
@@ -6189,6 +6794,19 @@ reason?: (string | null)
|
|
|
6189
6794
|
*/
|
|
6190
6795
|
message?: (string | null)
|
|
6191
6796
|
}
|
|
6797
|
+
/**
|
|
6798
|
+
* One applied baseline for an exact, project-relative workspace root.
|
|
6799
|
+
*/
|
|
6800
|
+
export interface PackageBaselineStatus {
|
|
6801
|
+
/**
|
|
6802
|
+
* Workspace package root, relative to the analysis root with `/` separators.
|
|
6803
|
+
*/
|
|
6804
|
+
workspace_root: string
|
|
6805
|
+
/**
|
|
6806
|
+
* Git ref used to select changed files in this package.
|
|
6807
|
+
*/
|
|
6808
|
+
reference: string
|
|
6809
|
+
}
|
|
6192
6810
|
/**
|
|
6193
6811
|
* A read-only follow-up command fallow surfaces from the current findings,
|
|
6194
6812
|
* emitted as the top-level `next_steps` array on each command's JSON envelope.
|
|
@@ -11008,7 +11626,8 @@ type_only: boolean
|
|
|
11008
11626
|
/**
|
|
11009
11627
|
* Whether the edge carries a runtime value but no static one: the target
|
|
11010
11628
|
* loads only on demand (`import()`, a lazy glob or template pattern) or
|
|
11011
|
-
* on another thread (a worker URL,
|
|
11629
|
+
* on another thread (a worker URL, a worker loader request,
|
|
11630
|
+
* `child_process.fork`). False for a
|
|
11012
11631
|
* static hop and for a type-only hop.
|
|
11013
11632
|
*/
|
|
11014
11633
|
dynamic: boolean
|
|
@@ -11351,6 +11970,13 @@ body: string
|
|
|
11351
11970
|
* Stable finding fingerprint used for comment reconciliation.
|
|
11352
11971
|
*/
|
|
11353
11972
|
fingerprint: string
|
|
11973
|
+
/**
|
|
11974
|
+
* The fingerprint that an older Fallow release wrote into the
|
|
11975
|
+
* `fallow-fingerprint:v2:` marker of this comment, when it is different
|
|
11976
|
+
* from `fingerprint`. For one release, an existing comment whose marker
|
|
11977
|
+
* holds this value is the same comment. Omitted when equal.
|
|
11978
|
+
*/
|
|
11979
|
+
legacy_fingerprint?: (string | null)
|
|
11354
11980
|
/**
|
|
11355
11981
|
* True when the body was cut to fit the provider size limit; omitted
|
|
11356
11982
|
* when false.
|
|
@@ -11370,6 +11996,13 @@ position: GitLabReviewPosition
|
|
|
11370
11996
|
* Stable finding fingerprint used for comment reconciliation.
|
|
11371
11997
|
*/
|
|
11372
11998
|
fingerprint: string
|
|
11999
|
+
/**
|
|
12000
|
+
* The fingerprint that an older Fallow release wrote into the
|
|
12001
|
+
* `fallow-fingerprint:v2:` marker of this comment, when it is different
|
|
12002
|
+
* from `fingerprint`. For one release, an existing comment whose marker
|
|
12003
|
+
* holds this value is the same comment. Omitted when equal.
|
|
12004
|
+
*/
|
|
12005
|
+
legacy_fingerprint?: (string | null)
|
|
11373
12006
|
/**
|
|
11374
12007
|
* True when the body was cut to fit the provider size limit; omitted
|
|
11375
12008
|
* when false.
|
|
@@ -12179,6 +12812,10 @@ gate_outcomes?: (GateOutcomes | null)
|
|
|
12179
12812
|
* never "nothing failed". See [`crate::RequestOutcomes`].
|
|
12180
12813
|
*/
|
|
12181
12814
|
request_outcomes?: (RequestOutcomes | null)
|
|
12815
|
+
/**
|
|
12816
|
+
* Applied package Git refs, omitted outside package-baseline runs.
|
|
12817
|
+
*/
|
|
12818
|
+
package_baselines?: PackageBaselineStatus[]
|
|
12182
12819
|
/**
|
|
12183
12820
|
* `_meta` block with metric / rule definitions, emitted when `--explain`
|
|
12184
12821
|
* is passed (always present in MCP responses).
|
|
@@ -12337,6 +12974,14 @@ total_issues: number
|
|
|
12337
12974
|
* One bucket per resolver key.
|
|
12338
12975
|
*/
|
|
12339
12976
|
groups: CheckGroupedEntry[]
|
|
12977
|
+
/**
|
|
12978
|
+
* `true` when the `unused-load-data-key` detector abstained for the whole
|
|
12979
|
+
* project. The abstain has no file, so it is on the root and not in a
|
|
12980
|
+
* group. An empty `unused_load_data_keys` with this flag set does not
|
|
12981
|
+
* mean the project is clean: the rule could not run safely. Serialized
|
|
12982
|
+
* only when `true`, like the flat `CheckOutput` field.
|
|
12983
|
+
*/
|
|
12984
|
+
unused_load_data_keys_global_abstain?: boolean
|
|
12340
12985
|
/**
|
|
12341
12986
|
* This run's view of the loaded baseline, present only in baseline runs.
|
|
12342
12987
|
* Carries the staleness counts, the advisory verdict and `gate_trips`, the
|
|
@@ -12346,6 +12991,14 @@ groups: CheckGroupedEntry[]
|
|
|
12346
12991
|
* can report `matched_entries: 0` on a healthy baseline.
|
|
12347
12992
|
*/
|
|
12348
12993
|
baseline_staleness?: (BaselineStaleness | null)
|
|
12994
|
+
/**
|
|
12995
|
+
* The answer to `--finding-id`, present only when the run received one
|
|
12996
|
+
* or more `--finding-id` values. The report then holds only the
|
|
12997
|
+
* requested findings. Read `missing` as resolved only when `conclusive`
|
|
12998
|
+
* is true; a scope, a baseline or a filter can hide a finding that still
|
|
12999
|
+
* exists. See [`crate::FindingIdQuery`].
|
|
13000
|
+
*/
|
|
13001
|
+
finding_id_query?: (FindingIdQuery | null)
|
|
12349
13002
|
/**
|
|
12350
13003
|
* The verdict of every gate this run evaluated, keyed by name. The CLI
|
|
12351
13004
|
* always emits it, with the command's default exit rule in it also when
|
|
@@ -12366,6 +13019,10 @@ gate_outcomes?: (GateOutcomes | null)
|
|
|
12366
13019
|
* never "nothing failed". See [`crate::RequestOutcomes`].
|
|
12367
13020
|
*/
|
|
12368
13021
|
request_outcomes?: (RequestOutcomes | null)
|
|
13022
|
+
/**
|
|
13023
|
+
* Applied package Git refs, omitted outside package-baseline runs.
|
|
13024
|
+
*/
|
|
13025
|
+
package_baselines?: PackageBaselineStatus[]
|
|
12369
13026
|
/**
|
|
12370
13027
|
* `_meta` block with docs and rule definitions, when `--explain` was
|
|
12371
13028
|
* passed.
|
|
@@ -12525,6 +13182,12 @@ circular_dependencies: CircularDependencyFinding[]
|
|
|
12525
13182
|
* suppression breaks the cycle).
|
|
12526
13183
|
*/
|
|
12527
13184
|
re_export_cycles?: ReExportCycleFinding[]
|
|
13185
|
+
/**
|
|
13186
|
+
* Dependency cycles between workspace packages, built from resolved
|
|
13187
|
+
* cross-package imports. Wrapped in [`PackageCycleFinding`] so each
|
|
13188
|
+
* entry carries a typed `actions` array natively.
|
|
13189
|
+
*/
|
|
13190
|
+
package_cycles?: PackageCycleFinding[]
|
|
12528
13191
|
/**
|
|
12529
13192
|
* Imports that cross architecture boundary rules. Wrapped in
|
|
12530
13193
|
* [`BoundaryViolationFinding`] so each entry carries a typed `actions`
|
|
@@ -13993,9 +14656,12 @@ elapsed_ms: ElapsedMs
|
|
|
13993
14656
|
/**
|
|
13994
14657
|
* The verdict of every gate this run evaluated, keyed by name. The CLI
|
|
13995
14658
|
* always emits it, with the default exit rule of each section that ran
|
|
13996
|
-
* (`error-severity-findings`, `health-findings`).
|
|
13997
|
-
*
|
|
13998
|
-
*
|
|
14659
|
+
* (`error-severity-findings`, `health-findings`). Without
|
|
14660
|
+
* `--fail-on-issues` or `--ci`, the machine formats of the combined run
|
|
14661
|
+
* exit 0 for findings, so most entries have `enforced: false`. With one of
|
|
14662
|
+
* these flags, the findings rules and `duplication-threshold` are
|
|
14663
|
+
* `enforced`, and every format exits 1 when one fails. For the default
|
|
14664
|
+
* exit rules (`error-severity-findings`,
|
|
13999
14665
|
* `health-findings`), `status` gives the verdict of the human run. An
|
|
14000
14666
|
* advisory entry can report `fail` without a failure of the human run: an
|
|
14001
14667
|
* example is a `stale-baseline` entry that `--fail-on-stale-baseline` did
|
|
@@ -14014,6 +14680,11 @@ gate_outcomes?: (GateOutcomes | null)
|
|
|
14014
14680
|
* never "nothing failed". See [`crate::RequestOutcomes`].
|
|
14015
14681
|
*/
|
|
14016
14682
|
request_outcomes?: (RequestOutcomes | null)
|
|
14683
|
+
/**
|
|
14684
|
+
* Applied package Git refs of the `check` and `dupes` sections. The map
|
|
14685
|
+
* does not narrow the `health` section.
|
|
14686
|
+
*/
|
|
14687
|
+
package_baselines?: PackageBaselineStatus[]
|
|
14017
14688
|
/**
|
|
14018
14689
|
* Per-section `_meta` blocks, when `--explain` was passed.
|
|
14019
14690
|
*/
|
|
@@ -16952,6 +17623,16 @@ export type EmptyCatalogGroup = EmptyCatalogGroupFinding;
|
|
|
16952
17623
|
*/
|
|
16953
17624
|
export type MisconfiguredDependencyOverride = MisconfiguredDependencyOverrideFinding;
|
|
16954
17625
|
|
|
17626
|
+
/**
|
|
17627
|
+
* Backwards-compat alias for the pre-#384 bare `PackageCycle` name.
|
|
17628
|
+
* The wire shape is byte-identical: `PackageCycleFinding` flattens the bare
|
|
17629
|
+
* finding's fields via `#[serde(flatten)]` and adds `actions[]` plus
|
|
17630
|
+
* the optional audit-mode `introduced` flag. Consumers that imported
|
|
17631
|
+
* `PackageCycle` from `fallow/types` pre-migration continue to work via
|
|
17632
|
+
* this alias; new code should prefer `PackageCycleFinding`.
|
|
17633
|
+
*/
|
|
17634
|
+
export type PackageCycle = PackageCycleFinding;
|
|
17635
|
+
|
|
16955
17636
|
/**
|
|
16956
17637
|
* Backwards-compat alias for the pre-#384 bare `PrivateTypeLeak` name.
|
|
16957
17638
|
* The wire shape is byte-identical: `PrivateTypeLeakFinding` flattens the bare
|