fallow 3.24.0 → 3.25.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 +56 -2
- package/package.json +10 -10
- package/skills/fallow/references/cli-reference.md +13 -10
- package/types/output-contract.d.ts +10 -0
package/capabilities.json
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fallow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.25.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": [
|
|
7
|
+
{
|
|
8
|
+
"name": "path",
|
|
9
|
+
"type": "string",
|
|
10
|
+
"required": false,
|
|
11
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
12
|
+
},
|
|
7
13
|
{
|
|
8
14
|
"name": "--root",
|
|
9
15
|
"type": "string",
|
|
@@ -882,6 +888,12 @@
|
|
|
882
888
|
"type": "string",
|
|
883
889
|
"required": false,
|
|
884
890
|
"description": "Only report issues in the specified file(s). Accepts multiple values. The full project graph is still built, but only issues in matching files are reported. Useful for lint-staged pre-commit hooks"
|
|
891
|
+
},
|
|
892
|
+
{
|
|
893
|
+
"name": "path",
|
|
894
|
+
"type": "string",
|
|
895
|
+
"required": false,
|
|
896
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
885
897
|
}
|
|
886
898
|
]
|
|
887
899
|
},
|
|
@@ -938,6 +950,12 @@
|
|
|
938
950
|
"type": "string",
|
|
939
951
|
"required": false,
|
|
940
952
|
"description": "Report pairs touching one of these project-relative files"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"name": "path",
|
|
956
|
+
"type": "string",
|
|
957
|
+
"required": false,
|
|
958
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
941
959
|
}
|
|
942
960
|
]
|
|
943
961
|
},
|
|
@@ -1068,6 +1086,12 @@
|
|
|
1068
1086
|
"true",
|
|
1069
1087
|
"false"
|
|
1070
1088
|
]
|
|
1089
|
+
},
|
|
1090
|
+
{
|
|
1091
|
+
"name": "path",
|
|
1092
|
+
"type": "string",
|
|
1093
|
+
"required": false,
|
|
1094
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed. Only fixes touching scoped files are planned and applied"
|
|
1071
1095
|
}
|
|
1072
1096
|
]
|
|
1073
1097
|
},
|
|
@@ -1249,6 +1273,12 @@
|
|
|
1249
1273
|
"true",
|
|
1250
1274
|
"false"
|
|
1251
1275
|
]
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"name": "path",
|
|
1279
|
+
"type": "string",
|
|
1280
|
+
"required": false,
|
|
1281
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
1252
1282
|
}
|
|
1253
1283
|
]
|
|
1254
1284
|
},
|
|
@@ -1368,6 +1398,12 @@
|
|
|
1368
1398
|
"type": "string",
|
|
1369
1399
|
"required": false,
|
|
1370
1400
|
"description": "Trace all clones at a specific location (format: `FILE:LINE`)"
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
"name": "path",
|
|
1404
|
+
"type": "string",
|
|
1405
|
+
"required": false,
|
|
1406
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
1371
1407
|
}
|
|
1372
1408
|
]
|
|
1373
1409
|
},
|
|
@@ -1626,6 +1662,12 @@
|
|
|
1626
1662
|
"type": "string",
|
|
1627
1663
|
"required": false,
|
|
1628
1664
|
"description": "Fraction of total trace count below which an invoked function is classified as `low_traffic` rather than `active`. Expressed as a decimal (e.g. `0.001` for 0.1%). Omit to use the sidecar's spec default (0.001)"
|
|
1665
|
+
},
|
|
1666
|
+
{
|
|
1667
|
+
"name": "path",
|
|
1668
|
+
"type": "string",
|
|
1669
|
+
"required": false,
|
|
1670
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
1629
1671
|
}
|
|
1630
1672
|
]
|
|
1631
1673
|
},
|
|
@@ -1857,11 +1899,17 @@
|
|
|
1857
1899
|
"name": "--show-deprioritized",
|
|
1858
1900
|
"type": "bool",
|
|
1859
1901
|
"required": false,
|
|
1860
|
-
"description": "Expand the de-prioritized units in the review brief's weighted focus map (\"show me what you de-prioritized\"). The `deprioritized` escape-hatch list is ALWAYS present in `--format json` regardless; this flag only re-expands the collapse-by-default human focus render. Only consulted on the
|
|
1902
|
+
"description": "Expand the de-prioritized units in the review brief's weighted focus map (\"show me what you de-prioritized\"). The `deprioritized` escape-hatch list is ALWAYS present in `--format json` regardless; this flag only re-expands the collapse-by-default human focus render. Only consulted on the `--walkthrough` path",
|
|
1861
1903
|
"possible_values": [
|
|
1862
1904
|
"true",
|
|
1863
1905
|
"false"
|
|
1864
1906
|
]
|
|
1907
|
+
},
|
|
1908
|
+
{
|
|
1909
|
+
"name": "path",
|
|
1910
|
+
"type": "string",
|
|
1911
|
+
"required": false,
|
|
1912
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
1865
1913
|
}
|
|
1866
1914
|
]
|
|
1867
1915
|
},
|
|
@@ -1960,6 +2008,12 @@
|
|
|
1960
2008
|
"true",
|
|
1961
2009
|
"false"
|
|
1962
2010
|
]
|
|
2011
|
+
},
|
|
2012
|
+
{
|
|
2013
|
+
"name": "path",
|
|
2014
|
+
"type": "string",
|
|
2015
|
+
"required": false,
|
|
2016
|
+
"description": "Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed"
|
|
1963
2017
|
}
|
|
1964
2018
|
]
|
|
1965
2019
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fallow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.25.0",
|
|
4
4
|
"mcpName": "io.github.fallow-rs/fallow",
|
|
5
5
|
"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.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -88,14 +88,14 @@
|
|
|
88
88
|
"@tanstack/intent": "0.3.8"
|
|
89
89
|
},
|
|
90
90
|
"optionalDependencies": {
|
|
91
|
-
"@fallow-cli/darwin-arm64": "3.
|
|
92
|
-
"@fallow-cli/darwin-x64": "3.
|
|
93
|
-
"@fallow-cli/linux-x64-gnu": "3.
|
|
94
|
-
"@fallow-cli/linux-arm64-gnu": "3.
|
|
95
|
-
"@fallow-cli/linux-x64-musl": "3.
|
|
96
|
-
"@fallow-cli/linux-arm64-musl": "3.
|
|
97
|
-
"@fallow-cli/win32-arm64-msvc": "3.
|
|
98
|
-
"@fallow-cli/win32-x64-msvc": "3.
|
|
99
|
-
"fallow-type-aware": "3.
|
|
91
|
+
"@fallow-cli/darwin-arm64": "3.25.0",
|
|
92
|
+
"@fallow-cli/darwin-x64": "3.25.0",
|
|
93
|
+
"@fallow-cli/linux-x64-gnu": "3.25.0",
|
|
94
|
+
"@fallow-cli/linux-arm64-gnu": "3.25.0",
|
|
95
|
+
"@fallow-cli/linux-x64-musl": "3.25.0",
|
|
96
|
+
"@fallow-cli/linux-arm64-musl": "3.25.0",
|
|
97
|
+
"@fallow-cli/win32-arm64-msvc": "3.25.0",
|
|
98
|
+
"@fallow-cli/win32-x64-msvc": "3.25.0",
|
|
99
|
+
"fallow-type-aware": "3.25.0"
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -446,7 +446,7 @@ Human output groups paths under "Shared with your team (commit these)" and "Loca
|
|
|
446
446
|
{
|
|
447
447
|
"kind": "agent-install",
|
|
448
448
|
"schema_version": 1,
|
|
449
|
-
"fallow_version": "3.24.
|
|
449
|
+
"fallow_version": "3.24.1",
|
|
450
450
|
"root": "/abs/path",
|
|
451
451
|
"mode": "install",
|
|
452
452
|
"dry_run": false,
|
|
@@ -650,7 +650,7 @@ fallow health --format json --quiet --trend
|
|
|
650
650
|
{
|
|
651
651
|
"kind": "health",
|
|
652
652
|
"schema_version": 7,
|
|
653
|
-
"version": "3.
|
|
653
|
+
"version": "3.25.0",
|
|
654
654
|
"elapsed_ms": 32,
|
|
655
655
|
"summary": {
|
|
656
656
|
"files_analyzed": 482,
|
|
@@ -1053,7 +1053,7 @@ fallow audit \
|
|
|
1053
1053
|
{
|
|
1054
1054
|
"kind": "audit",
|
|
1055
1055
|
"schema_version": 7,
|
|
1056
|
-
"version": "3.
|
|
1056
|
+
"version": "3.25.0",
|
|
1057
1057
|
"command": "audit",
|
|
1058
1058
|
"verdict": "fail",
|
|
1059
1059
|
"changed_files_count": 12,
|
|
@@ -1130,7 +1130,7 @@ fallow flags --format json --quiet --workspace my-package
|
|
|
1130
1130
|
```json
|
|
1131
1131
|
{
|
|
1132
1132
|
"schema_version": 7,
|
|
1133
|
-
"version": "3.
|
|
1133
|
+
"version": "3.25.0",
|
|
1134
1134
|
"elapsed_ms": 116,
|
|
1135
1135
|
"feature_flags": [],
|
|
1136
1136
|
"total_flags": 0
|
|
@@ -1231,7 +1231,7 @@ fallow security --gate newly-reachable --changed-since origin/main
|
|
|
1231
1231
|
{
|
|
1232
1232
|
"kind": "security",
|
|
1233
1233
|
"schema_version": "4",
|
|
1234
|
-
"version": "3.
|
|
1234
|
+
"version": "3.25.0",
|
|
1235
1235
|
"elapsed_ms": 42,
|
|
1236
1236
|
"config": {
|
|
1237
1237
|
"rules": {
|
|
@@ -1260,7 +1260,7 @@ fallow security --gate newly-reachable --changed-since origin/main
|
|
|
1260
1260
|
{
|
|
1261
1261
|
"kind": "security",
|
|
1262
1262
|
"schema_version": "4",
|
|
1263
|
-
"version": "3.
|
|
1263
|
+
"version": "3.25.0",
|
|
1264
1264
|
"elapsed_ms": 42,
|
|
1265
1265
|
"config": {
|
|
1266
1266
|
"rules": {
|
|
@@ -1709,6 +1709,8 @@ Cloud analysis emits the same `runtime_coverage` JSON block as local mode. Its s
|
|
|
1709
1709
|
|
|
1710
1710
|
Each finding's `actions[].type` uses the canonical kebab-case vocabulary: `delete-cold-code` is emitted on `verdict=safe_to_delete`, `review-runtime` on `verdict=review_required`. The sidecar may emit additional protocol-specific identifiers, so consumers should treat unknown values as forward-compat extensions rather than schema violations.
|
|
1711
1711
|
|
|
1712
|
+
Under `--production` the evidence block also carries `test_only_reference`. It is `true` when the function is unreachable in the production module graph but still referenced from a file production mode excludes (test, spec, story, fixture, benchmark). Such a function is never `safe_to_delete`: it is reported as `review_required` with the action "Only tests reference this export; delete the test usage together with the function or keep it". The field is absent when no production filter was applied, because there is no second reachability answer to report.
|
|
1713
|
+
|
|
1712
1714
|
### `upload-inventory` flags
|
|
1713
1715
|
|
|
1714
1716
|
| Flag | Type | Default | Description |
|
|
@@ -1806,6 +1808,7 @@ Available on all commands:
|
|
|
1806
1808
|
<!-- generated:flags:global:start -->
|
|
1807
1809
|
| Flag | Type | Default | Description |
|
|
1808
1810
|
|---|---|---|---|
|
|
1811
|
+
| `path` | `string` | - | Scope reported findings to this file or directory (default: whole project). The full project graph is still built; only reported items are narrowed |
|
|
1809
1812
|
| `-r, --root` | `string` | - | Project root directory |
|
|
1810
1813
|
| `-c, --config` | `string` | - | Config file path |
|
|
1811
1814
|
| `--allow-remote-extends` | `bool` | `false` | Allow trusted config files to extend HTTPS URLs |
|
|
@@ -2026,7 +2029,7 @@ The HTTP layer mirrors the bash `gh_api_retry` / `curl_retry` helpers: `FALLOW_A
|
|
|
2026
2029
|
{
|
|
2027
2030
|
"kind": "dead-code",
|
|
2028
2031
|
"schema_version": 7,
|
|
2029
|
-
"version": "3.
|
|
2032
|
+
"version": "3.25.0",
|
|
2030
2033
|
"elapsed_ms": 45,
|
|
2031
2034
|
"total_issues": 12,
|
|
2032
2035
|
"entry_points": {
|
|
@@ -2186,7 +2189,7 @@ When `--baseline` is used in combined output, the JSON includes a `baseline_delt
|
|
|
2186
2189
|
{
|
|
2187
2190
|
"kind": "dupes",
|
|
2188
2191
|
"schema_version": 7,
|
|
2189
|
-
"version": "3.
|
|
2192
|
+
"version": "3.25.0",
|
|
2190
2193
|
"elapsed_ms": 82,
|
|
2191
2194
|
"total_clones": 15,
|
|
2192
2195
|
"total_lines_duplicated": 230,
|
|
@@ -2230,11 +2233,11 @@ When running `fallow` with no subcommand (all analyses), the JSON output combine
|
|
|
2230
2233
|
{
|
|
2231
2234
|
"kind": "combined",
|
|
2232
2235
|
"schema_version": 7,
|
|
2233
|
-
"version": "3.
|
|
2236
|
+
"version": "3.25.0",
|
|
2234
2237
|
"elapsed_ms": 159,
|
|
2235
2238
|
"check": {
|
|
2236
2239
|
"schema_version": 7,
|
|
2237
|
-
"version": "3.
|
|
2240
|
+
"version": "3.25.0",
|
|
2238
2241
|
"elapsed_ms": 45,
|
|
2239
2242
|
"total_issues": 12,
|
|
2240
2243
|
"unused_files": [],
|
|
@@ -7191,6 +7191,16 @@ static_status: string
|
|
|
7191
7191
|
* `not_covered` otherwise.
|
|
7192
7192
|
*/
|
|
7193
7193
|
test_coverage: string
|
|
7194
|
+
/**
|
|
7195
|
+
* `true` when the function is unreachable in the production module graph
|
|
7196
|
+
* but still referenced from a file that production mode excludes (test,
|
|
7197
|
+
* spec, story, fixture, or benchmark). Such a function is not dead code:
|
|
7198
|
+
* removing it breaks the referencing test. `false` when the production
|
|
7199
|
+
* graph was compared against the full tree and no such reference exists.
|
|
7200
|
+
* `null` when the report was produced without a production filter, or by
|
|
7201
|
+
* a surface that carries no second reachability answer.
|
|
7202
|
+
*/
|
|
7203
|
+
test_only_reference?: (boolean | null)
|
|
7194
7204
|
/**
|
|
7195
7205
|
* `tracked` when V8 observed the function, `untracked` otherwise.
|
|
7196
7206
|
*/
|