fallow 3.10.0 → 3.11.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/capabilities.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fallow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"manifest_version": "1",
|
|
5
5
|
"description": "Codebase analyzer for TypeScript/JavaScript: unused code, circular dependencies, code duplication, complexity hotspots, and architecture boundary violations",
|
|
6
6
|
"global_flags": [
|
|
@@ -128,6 +128,17 @@
|
|
|
128
128
|
"required": false,
|
|
129
129
|
"description": "Compare against a previously saved baseline file"
|
|
130
130
|
},
|
|
131
|
+
{
|
|
132
|
+
"name": "--baseline-mode",
|
|
133
|
+
"type": "string",
|
|
134
|
+
"required": false,
|
|
135
|
+
"description": "How `--baseline` matches health findings: per file and category (`count`, the default) or per function identity (`identity`, strict, and only against a baseline that was saved with `--baseline-mode identity`; such a baseline still reads in count mode)",
|
|
136
|
+
"default": "count",
|
|
137
|
+
"possible_values": [
|
|
138
|
+
"count",
|
|
139
|
+
"identity"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
131
142
|
{
|
|
132
143
|
"name": "--parent-run",
|
|
133
144
|
"type": "string",
|
|
@@ -5904,6 +5915,7 @@
|
|
|
5904
5915
|
"FALLOW_PRODUCTION_HEALTH": "Set to true/false to override production mode for health analysis.",
|
|
5905
5916
|
"FALLOW_PRODUCTION_DUPES": "Set to true/false to override production mode for duplication analysis.",
|
|
5906
5917
|
"FALLOW_REVIEW_GUIDANCE": "Set to true to append collapsed guidance blocks to review-github/review-gitlab inline comment bodies.",
|
|
5918
|
+
"FALLOW_REVIEW_ID": "Stable 1-64 character identifier that isolates inline comments when multiple review jobs target the same PR/MR.",
|
|
5907
5919
|
"FALLOW_SUMMARY_SCOPE": "Summary scope for pr-comment-github/pr-comment-gitlab: all (default) keeps project-level dependency/catalog/override findings outside the diff filter; diff applies the diff filter to them too. Inline review comments are unaffected.",
|
|
5908
5920
|
"FALLOW_PR_COMMENT_LAYOUT": "Sticky PR comment layout: default, compact, gate-only, or details.",
|
|
5909
5921
|
"FALLOW_CONSOLIDATED_STATUS": "When split PR gate check runs are enabled, truthy values add one aggregate Fallow check alongside the per-gate checks.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fallow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.0",
|
|
4
4
|
"description": "Codebase intelligence for TypeScript and JavaScript. Free static analysis of code and styles, optional paid runtime intelligence (Fallow Runtime). Quality, risk, architecture, dependencies, duplication, and design-system drift for humans, CI, and the agents writing your code. Zero-config framework support.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -87,14 +87,14 @@
|
|
|
87
87
|
"@tanstack/intent": "0.3.6"
|
|
88
88
|
},
|
|
89
89
|
"optionalDependencies": {
|
|
90
|
-
"@fallow-cli/darwin-arm64": "3.
|
|
91
|
-
"@fallow-cli/darwin-x64": "3.
|
|
92
|
-
"@fallow-cli/linux-x64-gnu": "3.
|
|
93
|
-
"@fallow-cli/linux-arm64-gnu": "3.
|
|
94
|
-
"@fallow-cli/linux-x64-musl": "3.
|
|
95
|
-
"@fallow-cli/linux-arm64-musl": "3.
|
|
96
|
-
"@fallow-cli/win32-arm64-msvc": "3.
|
|
97
|
-
"@fallow-cli/win32-x64-msvc": "3.
|
|
90
|
+
"@fallow-cli/darwin-arm64": "3.11.0",
|
|
91
|
+
"@fallow-cli/darwin-x64": "3.11.0",
|
|
92
|
+
"@fallow-cli/linux-x64-gnu": "3.11.0",
|
|
93
|
+
"@fallow-cli/linux-arm64-gnu": "3.11.0",
|
|
94
|
+
"@fallow-cli/linux-x64-musl": "3.11.0",
|
|
95
|
+
"@fallow-cli/linux-arm64-musl": "3.11.0",
|
|
96
|
+
"@fallow-cli/win32-arm64-msvc": "3.11.0",
|
|
97
|
+
"@fallow-cli/win32-x64-msvc": "3.11.0",
|
|
98
98
|
"fallow-type-aware": "3.10.0"
|
|
99
99
|
}
|
|
100
100
|
}
|
|
@@ -420,7 +420,7 @@ Angular templates contribute synthetic `<template>` complexity findings whenever
|
|
|
420
420
|
| `--min-observation-volume` | `string` | - | Minimum total trace volume before the sidecar may emit high-confidence `safe_to_delete` / `review_required` verdicts. Below this, confidence is capped at `medium`. |
|
|
421
421
|
| `--low-traffic-threshold` | `string` | - | Fraction of total trace count below which an invoked function is classified `low_traffic` rather than `active`. Expressed as a decimal (0.001 = 0.1%). |
|
|
422
422
|
|
|
423
|
-
Common global flags for this command: [`--format`](#global-flags), [`--quiet`](#global-flags), [`--changed-since`](#global-flags), [`--churn-file`](#global-flags), [`--workspace`](#global-flags), [`--group-by`](#global-flags), [`--baseline`](#global-flags), [`--save-baseline`](#global-flags), [`--production`](#global-flags), [`--no-production`](#global-flags), [`--explain`](#global-flags).
|
|
423
|
+
Common global flags for this command: [`--format`](#global-flags), [`--quiet`](#global-flags), [`--changed-since`](#global-flags), [`--churn-file`](#global-flags), [`--workspace`](#global-flags), [`--group-by`](#global-flags), [`--baseline`](#global-flags), [`--baseline-mode`](#global-flags), [`--save-baseline`](#global-flags), [`--production`](#global-flags), [`--no-production`](#global-flags), [`--explain`](#global-flags).
|
|
424
424
|
<!-- generated:flags:health:end -->
|
|
425
425
|
### Exit Codes
|
|
426
426
|
|
|
@@ -473,6 +473,10 @@ fallow health --format json --quiet --workspace my-package
|
|
|
473
473
|
fallow health --format json --quiet --save-baseline fallow-baselines/health.json
|
|
474
474
|
fallow health --format json --quiet --baseline fallow-baselines/health.json
|
|
475
475
|
|
|
476
|
+
# Strict adoption: a hotspot that replaces a baselined hotspot is reported
|
|
477
|
+
fallow health --format json --quiet --save-baseline fallow-baselines/health.json --baseline-mode identity
|
|
478
|
+
fallow health --format json --quiet --baseline fallow-baselines/health.json --baseline-mode identity
|
|
479
|
+
|
|
476
480
|
# CI: fail if any function is too complex
|
|
477
481
|
fallow health --max-cyclomatic 25 --max-cognitive 20 --quiet
|
|
478
482
|
|
|
@@ -1677,6 +1681,7 @@ Available on all commands:
|
|
|
1677
1681
|
| `--churn-file` | `string` | - | Import change history from a `fallow-churn/v1` JSON file instead of `git log`, powering hotspots, ownership, and bus-factor on projects with no git repository (Yandex Arc, Mercurial, Perforce). A small wrapper translates your VCS log into the contract. Resolved relative to `--root`. Affects `health --hotspots` / `--ownership` / `--targets` only; `audit`, `impact`, and `--changed-since` still require git |
|
|
1678
1682
|
| `--max-file-size` | `string` | - | Skip source files larger than this many megabytes (default 5) instead of parsing them, guarding against the out-of-memory blowup a single multi-MB generated/vendored/bundled file causes on large repos. Use `0` for no limit. Declaration files (`.d.ts`) are always analyzed. Skipped files are reported and excluded from every analysis. Also settable via `FALLOW_MAX_FILE_SIZE` |
|
|
1679
1683
|
| `--baseline` | `string` | - | Compare to baseline |
|
|
1684
|
+
| `--baseline-mode` | `count\|identity` | `count` | How `--baseline` matches health findings: per file and category (`count`, the default) or per function identity (`identity`, strict, and only against a baseline saved with `--baseline-mode identity`; such a baseline still reads in count mode). Identity is file path plus function name, so renaming or moving a function that is still in the baseline reports it as new; re-save after that kind of refactor. |
|
|
1680
1685
|
| `--parent-run` | `string` | - | Correlate this run with a previous telemetry analysis run |
|
|
1681
1686
|
| `--save-baseline` | `string` | - | Save results as baseline |
|
|
1682
1687
|
| `--production` | `bool` | `false` | Exclude test/dev files, only start/build scripts (applies to every analysis) |
|
|
@@ -747,6 +747,11 @@ export type ReviewProvider = ("github" | "gitlab")
|
|
|
747
747
|
* GitHub Checks API conclusion field.
|
|
748
748
|
*/
|
|
749
749
|
export type ReviewCheckConclusion = ("success" | "neutral" | "failure")
|
|
750
|
+
/**
|
|
751
|
+
* Stable identifier used to isolate independent review integrations on the
|
|
752
|
+
* same pull or merge request.
|
|
753
|
+
*/
|
|
754
|
+
export type ReviewId = string
|
|
750
755
|
/**
|
|
751
756
|
* Schema-version discriminator for the review reconcile envelope.
|
|
752
757
|
*/
|
|
@@ -2124,19 +2129,21 @@ empty_catalog_groups?: EmptyCatalogGroupFinding[]
|
|
|
2124
2129
|
*/
|
|
2125
2130
|
unresolved_catalog_references?: UnresolvedCatalogReferenceFinding[]
|
|
2126
2131
|
/**
|
|
2127
|
-
* Entries in pnpm-workspace.yaml's overrides: section,
|
|
2128
|
-
* pnpm.overrides block,
|
|
2129
|
-
*
|
|
2132
|
+
* Entries in pnpm-workspace.yaml's overrides: section, package.json's
|
|
2133
|
+
* pnpm.overrides block, or package.json's top-level npm overrides object,
|
|
2134
|
+
* whose target package is not declared by any workspace package and is
|
|
2135
|
+
* not present in pnpm-lock.yaml or package-lock.json. Default severity
|
|
2130
2136
|
* is warn because projects without a readable lockfile fall back to
|
|
2131
2137
|
* manifest-only checks; the hint field flags those conservative cases.
|
|
2132
2138
|
* Wrapped in [`UnusedDependencyOverrideFinding`].
|
|
2133
2139
|
*/
|
|
2134
2140
|
unused_dependency_overrides?: UnusedDependencyOverrideFinding[]
|
|
2135
2141
|
/**
|
|
2136
|
-
* pnpm.overrides entries whose key or value does not
|
|
2137
|
-
* override spec (empty key, empty value, malformed
|
|
2138
|
-
* parent matcher).
|
|
2139
|
-
* error. Wrapped in
|
|
2142
|
+
* pnpm.overrides or npm overrides entries whose key or value does not
|
|
2143
|
+
* parse as a valid override spec (empty key, empty value, malformed
|
|
2144
|
+
* selector, unbalanced parent matcher). The package manager will reject
|
|
2145
|
+
* these at install time. Default severity is error. Wrapped in
|
|
2146
|
+
* [`MisconfiguredDependencyOverrideFinding`].
|
|
2140
2147
|
*/
|
|
2141
2148
|
misconfigured_dependency_overrides?: MisconfiguredDependencyOverrideFinding[]
|
|
2142
2149
|
/**
|
|
@@ -8613,6 +8620,7 @@ export interface ReviewEnvelopeMeta {
|
|
|
8613
8620
|
schema: ReviewEnvelopeSchema
|
|
8614
8621
|
provider: ReviewProvider
|
|
8615
8622
|
check_conclusion?: (ReviewCheckConclusion | null)
|
|
8623
|
+
review_id?: (ReviewId | null)
|
|
8616
8624
|
}
|
|
8617
8625
|
/**
|
|
8618
8626
|
* Envelope emitted by `fallow ci reconcile-review --format json`. Used by
|
|
@@ -9401,19 +9409,21 @@ empty_catalog_groups?: EmptyCatalogGroupFinding[]
|
|
|
9401
9409
|
*/
|
|
9402
9410
|
unresolved_catalog_references?: UnresolvedCatalogReferenceFinding[]
|
|
9403
9411
|
/**
|
|
9404
|
-
* Entries in pnpm-workspace.yaml's overrides: section,
|
|
9405
|
-
* pnpm.overrides block,
|
|
9406
|
-
*
|
|
9412
|
+
* Entries in pnpm-workspace.yaml's overrides: section, package.json's
|
|
9413
|
+
* pnpm.overrides block, or package.json's top-level npm overrides object,
|
|
9414
|
+
* whose target package is not declared by any workspace package and is
|
|
9415
|
+
* not present in pnpm-lock.yaml or package-lock.json. Default severity
|
|
9407
9416
|
* is warn because projects without a readable lockfile fall back to
|
|
9408
9417
|
* manifest-only checks; the hint field flags those conservative cases.
|
|
9409
9418
|
* Wrapped in [`UnusedDependencyOverrideFinding`].
|
|
9410
9419
|
*/
|
|
9411
9420
|
unused_dependency_overrides?: UnusedDependencyOverrideFinding[]
|
|
9412
9421
|
/**
|
|
9413
|
-
* pnpm.overrides entries whose key or value does not
|
|
9414
|
-
* override spec (empty key, empty value, malformed
|
|
9415
|
-
* parent matcher).
|
|
9416
|
-
* error. Wrapped in
|
|
9422
|
+
* pnpm.overrides or npm overrides entries whose key or value does not
|
|
9423
|
+
* parse as a valid override spec (empty key, empty value, malformed
|
|
9424
|
+
* selector, unbalanced parent matcher). The package manager will reject
|
|
9425
|
+
* these at install time. Default severity is error. Wrapped in
|
|
9426
|
+
* [`MisconfiguredDependencyOverrideFinding`].
|
|
9417
9427
|
*/
|
|
9418
9428
|
misconfigured_dependency_overrides?: MisconfiguredDependencyOverrideFinding[]
|
|
9419
9429
|
/**
|