fallow 3.7.0 → 3.8.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.8.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": [
|
|
@@ -1952,6 +1952,40 @@
|
|
|
1952
1952
|
]
|
|
1953
1953
|
}
|
|
1954
1954
|
]
|
|
1955
|
+
},
|
|
1956
|
+
{
|
|
1957
|
+
"name": "viz",
|
|
1958
|
+
"description": "Generate an interactive HTML map of the codebase",
|
|
1959
|
+
"flags": [
|
|
1960
|
+
{
|
|
1961
|
+
"name": "--out",
|
|
1962
|
+
"type": "string",
|
|
1963
|
+
"required": false,
|
|
1964
|
+
"description": "Output file path (default: fallow-viz.html in project root)"
|
|
1965
|
+
},
|
|
1966
|
+
{
|
|
1967
|
+
"name": "--no-open",
|
|
1968
|
+
"type": "bool",
|
|
1969
|
+
"required": false,
|
|
1970
|
+
"description": "Don't open the output file in the browser",
|
|
1971
|
+
"possible_values": [
|
|
1972
|
+
"true",
|
|
1973
|
+
"false"
|
|
1974
|
+
]
|
|
1975
|
+
},
|
|
1976
|
+
{
|
|
1977
|
+
"name": "--viz-format",
|
|
1978
|
+
"type": "string",
|
|
1979
|
+
"required": false,
|
|
1980
|
+
"description": "Visualization output format",
|
|
1981
|
+
"default": "html",
|
|
1982
|
+
"possible_values": [
|
|
1983
|
+
"html",
|
|
1984
|
+
"dot",
|
|
1985
|
+
"mermaid"
|
|
1986
|
+
]
|
|
1987
|
+
}
|
|
1988
|
+
]
|
|
1955
1989
|
}
|
|
1956
1990
|
],
|
|
1957
1991
|
"default_command": null,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fallow",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.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": {
|
|
@@ -84,16 +84,16 @@
|
|
|
84
84
|
"detect-libc": "2.1.2"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
-
"@tanstack/intent": "0.3.
|
|
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.8.0",
|
|
91
|
+
"@fallow-cli/darwin-x64": "3.8.0",
|
|
92
|
+
"@fallow-cli/linux-x64-gnu": "3.8.0",
|
|
93
|
+
"@fallow-cli/linux-arm64-gnu": "3.8.0",
|
|
94
|
+
"@fallow-cli/linux-x64-musl": "3.8.0",
|
|
95
|
+
"@fallow-cli/linux-arm64-musl": "3.8.0",
|
|
96
|
+
"@fallow-cli/win32-arm64-msvc": "3.8.0",
|
|
97
|
+
"@fallow-cli/win32-x64-msvc": "3.8.0"
|
|
98
98
|
}
|
|
99
99
|
}
|
package/skills/fallow/SKILL.md
CHANGED
|
@@ -122,6 +122,7 @@ Route by intent before reaching for the big analysis commands. Same matrix as `f
|
|
|
122
122
|
| `coverage` | Runtime coverage setup, focused analysis, and cloud inventory workflow helper | `setup`, `setup --yes`, `setup --non-interactive`, `analyze --runtime-coverage <path>`, `analyze --cloud --repo owner/repo`, `upload-inventory` |
|
|
123
123
|
| `coverage upload-source-maps` | Upload build source maps from CI so bundled runtime coverage resolves to original source paths. Retries 429 `Retry-After` and transient gateway failures. Use `FALLOW_CA_BUNDLE` for complete custom PEM trust bundles. | `--dir dist`, `--git-sha <sha>`, `--repo <name>`, `--strip-path=false`, `--dry-run` |
|
|
124
124
|
| `setup-hooks` | Install or remove a Claude Code PreToolUse hook that gates `git commit` / `git push` on `fallow audit`, so the agent cleans findings before the command runs | `--agent`, `--dry-run`, `--force`, `--user`, `--gitignore-claude`, `--uninstall` |
|
|
125
|
+
| `viz` | Render the codebase as a self-contained interactive HTML map (treemap + import graph, four lenses: dead code, duplication, boundaries, complexity, with click-through detail panels), or emit the import graph as text. Read-only. | `--out <path>`, `--no-open`, `--viz-format html\|dot\|mermaid`, `--root`, `--config`, `--production`, `--no-cache` |
|
|
125
126
|
|
|
126
127
|
Run `fallow <command> --help` for the full flag list per command (see also references/cli-reference.md).
|
|
127
128
|
<!-- generated:commands:end -->
|
|
@@ -510,7 +510,7 @@ fallow health --format json --quiet --trend
|
|
|
510
510
|
{
|
|
511
511
|
"kind": "health",
|
|
512
512
|
"schema_version": 7,
|
|
513
|
-
"version": "3.
|
|
513
|
+
"version": "3.8.0",
|
|
514
514
|
"elapsed_ms": 32,
|
|
515
515
|
"summary": {
|
|
516
516
|
"files_analyzed": 482,
|
|
@@ -908,7 +908,7 @@ fallow audit \
|
|
|
908
908
|
{
|
|
909
909
|
"kind": "audit",
|
|
910
910
|
"schema_version": 7,
|
|
911
|
-
"version": "3.
|
|
911
|
+
"version": "3.8.0",
|
|
912
912
|
"command": "audit",
|
|
913
913
|
"verdict": "fail",
|
|
914
914
|
"changed_files_count": 12,
|
|
@@ -930,7 +930,9 @@ fallow audit \
|
|
|
930
930
|
"complexity_introduced": 1,
|
|
931
931
|
"complexity_inherited": 0,
|
|
932
932
|
"duplication_introduced": 0,
|
|
933
|
-
"duplication_inherited": 0
|
|
933
|
+
"duplication_inherited": 0,
|
|
934
|
+
"styling_introduced": 0,
|
|
935
|
+
"styling_inherited": 0
|
|
934
936
|
},
|
|
935
937
|
"dead_code": {
|
|
936
938
|
"schema_version": 3,
|
|
@@ -946,7 +948,7 @@ fallow audit \
|
|
|
946
948
|
}
|
|
947
949
|
```
|
|
948
950
|
|
|
949
|
-
The `verdict` field is always present and is the primary decision signal. With the default `new-only` gate, the `attribution` object counts introduced vs inherited findings and audit sub-results annotate individual findings with `introduced: true/false`. With `gate=all`, audit skips that extra base-snapshot attribution pass, so introduced/inherited counts stay `0` and per-finding `introduced` fields are omitted. Dead code, complexity, and duplication sections follow their respective schemas from the individual commands. Thresholds for complexity are inherited from `fallow health` config (defaults: cyclomatic 20, cognitive 15).
|
|
951
|
+
The `verdict` field is always present and is the primary decision signal. With the default `new-only` gate, the `attribution` object counts introduced vs inherited findings across dead code, complexity, duplication, and styling, and audit sub-results annotate individual findings with `introduced: true/false`. With `gate=all`, audit skips that extra base-snapshot attribution pass, so introduced/inherited counts stay `0` and per-finding `introduced` fields are omitted. Dead code, complexity, and duplication sections follow their respective schemas from the individual commands. Thresholds for complexity are inherited from `fallow health` config (defaults: cyclomatic 20, cognitive 15).
|
|
950
952
|
|
|
951
953
|
Audit creates a temporary git worktree to compare against the base ref. When the current checkout has `node_modules`, audit links it into the base worktree so tsconfig `extends` chains into installed packages and path aliases resolve like the working tree. The worktree is removed on normal exit. If the process is force-killed, run `git worktree prune` to clean up stale `.git/worktrees/fallow-audit-base-*` entries.
|
|
952
954
|
|
|
@@ -983,7 +985,7 @@ fallow flags --format json --quiet --workspace my-package
|
|
|
983
985
|
```json
|
|
984
986
|
{
|
|
985
987
|
"schema_version": 7,
|
|
986
|
-
"version": "3.
|
|
988
|
+
"version": "3.8.0",
|
|
987
989
|
"elapsed_ms": 116,
|
|
988
990
|
"feature_flags": [],
|
|
989
991
|
"total_flags": 0
|
|
@@ -1084,7 +1086,7 @@ fallow security --gate newly-reachable --changed-since origin/main
|
|
|
1084
1086
|
{
|
|
1085
1087
|
"kind": "security",
|
|
1086
1088
|
"schema_version": "4",
|
|
1087
|
-
"version": "3.
|
|
1089
|
+
"version": "3.8.0",
|
|
1088
1090
|
"elapsed_ms": 42,
|
|
1089
1091
|
"config": {
|
|
1090
1092
|
"rules": {
|
|
@@ -1113,7 +1115,7 @@ fallow security --gate newly-reachable --changed-since origin/main
|
|
|
1113
1115
|
{
|
|
1114
1116
|
"kind": "security",
|
|
1115
1117
|
"schema_version": "4",
|
|
1116
|
-
"version": "3.
|
|
1118
|
+
"version": "3.8.0",
|
|
1117
1119
|
"elapsed_ms": 42,
|
|
1118
1120
|
"config": {
|
|
1119
1121
|
"rules": {
|
|
@@ -1838,7 +1840,7 @@ The HTTP layer mirrors the bash `gh_api_retry` / `curl_retry` helpers: `FALLOW_A
|
|
|
1838
1840
|
{
|
|
1839
1841
|
"kind": "dead-code",
|
|
1840
1842
|
"schema_version": 7,
|
|
1841
|
-
"version": "3.
|
|
1843
|
+
"version": "3.8.0",
|
|
1842
1844
|
"elapsed_ms": 45,
|
|
1843
1845
|
"total_issues": 12,
|
|
1844
1846
|
"entry_points": {
|
|
@@ -1998,7 +2000,7 @@ When `--baseline` is used in combined output, the JSON includes a `baseline_delt
|
|
|
1998
2000
|
{
|
|
1999
2001
|
"kind": "dupes",
|
|
2000
2002
|
"schema_version": 7,
|
|
2001
|
-
"version": "3.
|
|
2003
|
+
"version": "3.8.0",
|
|
2002
2004
|
"elapsed_ms": 82,
|
|
2003
2005
|
"total_clones": 15,
|
|
2004
2006
|
"total_lines_duplicated": 230,
|
|
@@ -2042,11 +2044,11 @@ When running `fallow` with no subcommand (all analyses), the JSON output combine
|
|
|
2042
2044
|
{
|
|
2043
2045
|
"kind": "combined",
|
|
2044
2046
|
"schema_version": 7,
|
|
2045
|
-
"version": "3.
|
|
2047
|
+
"version": "3.8.0",
|
|
2046
2048
|
"elapsed_ms": 159,
|
|
2047
2049
|
"check": {
|
|
2048
2050
|
"schema_version": 7,
|
|
2049
|
-
"version": "3.
|
|
2051
|
+
"version": "3.8.0",
|
|
2050
2052
|
"elapsed_ms": 45,
|
|
2051
2053
|
"total_issues": 12,
|
|
2052
2054
|
"unused_files": [],
|
|
@@ -961,6 +961,8 @@ complexity_introduced: number
|
|
|
961
961
|
complexity_inherited: number
|
|
962
962
|
duplication_introduced: number
|
|
963
963
|
duplication_inherited: number
|
|
964
|
+
styling_introduced: number
|
|
965
|
+
styling_inherited: number
|
|
964
966
|
}
|
|
965
967
|
/**
|
|
966
968
|
* Metric and rule definitions emitted under `_meta` when `--explain` is
|
|
@@ -7155,6 +7157,10 @@ fix_hint?: (string | null)
|
|
|
7155
7157
|
* Suggested next steps (verify / suppress; never an auto-fix).
|
|
7156
7158
|
*/
|
|
7157
7159
|
actions: CssCandidateAction[]
|
|
7160
|
+
/**
|
|
7161
|
+
* Audit-mode flag indicating whether the finding is new versus the base snapshot.
|
|
7162
|
+
*/
|
|
7163
|
+
introduced?: (boolean | null)
|
|
7158
7164
|
}
|
|
7159
7165
|
/**
|
|
7160
7166
|
* Envelope emitted by `fallow explain <issue-type> --format json`.
|