fallow 2.53.0 → 2.54.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fallow",
3
- "version": "2.53.0",
3
+ "version": "2.54.1",
4
4
  "description": "Codebase intelligence for TypeScript and JavaScript. Finds unused code, duplication, circular dependencies, complexity hotspots, and architecture drift. Optional runtime intelligence layer (Fallow Runtime) adds production execution evidence. Rust-native, sub-second, 90 framework plugins.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -54,13 +54,13 @@
54
54
  "@tanstack/intent": "0.0.29"
55
55
  },
56
56
  "optionalDependencies": {
57
- "@fallow-cli/darwin-arm64": "2.53.0",
58
- "@fallow-cli/darwin-x64": "2.53.0",
59
- "@fallow-cli/linux-x64-gnu": "2.53.0",
60
- "@fallow-cli/linux-arm64-gnu": "2.53.0",
61
- "@fallow-cli/linux-x64-musl": "2.53.0",
62
- "@fallow-cli/linux-arm64-musl": "2.53.0",
63
- "@fallow-cli/win32-arm64-msvc": "2.53.0",
64
- "@fallow-cli/win32-x64-msvc": "2.53.0"
57
+ "@fallow-cli/darwin-arm64": "2.54.1",
58
+ "@fallow-cli/darwin-x64": "2.54.1",
59
+ "@fallow-cli/linux-x64-gnu": "2.54.1",
60
+ "@fallow-cli/linux-arm64-gnu": "2.54.1",
61
+ "@fallow-cli/linux-x64-musl": "2.54.1",
62
+ "@fallow-cli/linux-arm64-musl": "2.54.1",
63
+ "@fallow-cli/win32-arm64-msvc": "2.54.1",
64
+ "@fallow-cli/win32-x64-msvc": "2.54.1"
65
65
  }
66
66
  }
@@ -36,7 +36,7 @@ Analyzes the project for unused files, exports, dependencies, types, members, an
36
36
 
37
37
  | Flag | Type | Default | Description |
38
38
  |------|------|---------|-------------|
39
- | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate` | `human` | Output format |
39
+ | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate\|gitlab-codequality` | `human` | Output format |
40
40
  | `--quiet` | bool | `false` | Suppress progress bars and timing on stderr |
41
41
  | `--changed-since` | string | — | Only analyze files changed since a git ref (e.g., `main`, `HEAD~3`) |
42
42
  | `--production` | bool | `false` | Exclude test/dev files, only start/build scripts (applies to every analysis) |
@@ -132,7 +132,7 @@ Finds code duplication and clones across the project.
132
132
 
133
133
  | Flag | Type | Default | Description |
134
134
  |------|------|---------|-------------|
135
- | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate` | `human` | Output format |
135
+ | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate\|gitlab-codequality` | `human` | Output format |
136
136
  | `--quiet` | bool | `false` | Suppress progress bars |
137
137
  | `--top` | number | — | Show only the N largest clone groups (sorted by line count descending). Summary stats reflect the full project. |
138
138
  | `--mode` | `strict\|mild\|weak\|semantic` | `mild` | Detection mode |
@@ -296,7 +296,7 @@ Analyzes function complexity across the project using cyclomatic and cognitive c
296
296
 
297
297
  | Flag | Type | Default | Description |
298
298
  |------|------|---------|-------------|
299
- | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate\|badge` | `human` | Output format |
299
+ | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate\|gitlab-codequality\|badge` | `human` | Output format |
300
300
  | `--quiet` | bool | `false` | Suppress progress bars |
301
301
  | `--max-cyclomatic` | number | `20` | Fail if any function exceeds this cyclomatic complexity |
302
302
  | `--max-cognitive` | number | `15` | Fail if any function exceeds this cognitive complexity |
@@ -806,7 +806,7 @@ Detects feature flag patterns in the codebase. Identifies environment variable f
806
806
 
807
807
  | Flag | Type | Default | Description |
808
808
  |------|------|---------|-------------|
809
- | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate` | `human` | Output format |
809
+ | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate\|gitlab-codequality` | `human` | Output format |
810
810
  | `--quiet` | bool | `false` | Suppress progress bars |
811
811
  | `--top` | number | — | Show only the top N flags |
812
812
 
@@ -1082,7 +1082,7 @@ Available on all commands:
1082
1082
  | `FALLOW_SCORE` | GitLab CI: set to `true` to compute health score in combined mode. Enables health delta header in MR comments. |
1083
1083
  | `FALLOW_TREND` | GitLab CI: set to `true` to compare current health metrics against saved snapshot. Implies `FALLOW_SCORE`. |
1084
1084
  | `FALLOW_EXTRA_ARGS` | GitLab CI: additional CLI flags passed through to fallow. |
1085
- | `GITLAB_TOKEN` | GitLab CI: project access token with `api` scope (for MR comments/reviews). |
1085
+ | `GITLAB_TOKEN` | GitLab CI: project access token with `api` scope (for MR comments/reviews; `CI_JOB_TOKEN` is read-only for MR notes in the official GitLab API). |
1086
1086
 
1087
1087
  Set `FALLOW_FORMAT=json` and `FALLOW_QUIET=1` in your agent environment to avoid passing flags on every invocation.
1088
1088
 
@@ -1097,14 +1097,14 @@ Set `FALLOW_FORMAT=json` and `FALLOW_QUIET=1` in your agent environment to avoid
1097
1097
  | `sarif` | Static Analysis Results Interchange Format | GitHub Code Scanning, SARIF-compatible tools |
1098
1098
  | `compact` | Grep-friendly: `type:path:line:name` per line | Quick filtering |
1099
1099
  | `markdown` | Markdown tables | Documentation, PR comments |
1100
- | `codeclimate` | CodeClimate JSON array | GitLab Code Quality, CodeClimate-compatible tools |
1100
+ | `codeclimate` / `gitlab-codequality` | CodeClimate JSON array | GitLab Code Quality, CodeClimate-compatible tools |
1101
1101
 
1102
1102
  ---
1103
1103
 
1104
1104
  ## CI Integration
1105
1105
 
1106
1106
  - **GitHub Actions**: `uses: fallow-rs/fallow@v2` — supports SARIF upload to Code Scanning, inline PR annotations (`annotations: true`), PR comments, all commands. Annotations use workflow commands (no Advanced Security required); limit with `max-annotations` (default 50). Set `score: true` to compute health score and enable the health delta header in PR comments
1107
- - **GitLab CI**: include `ci/gitlab-ci.yml` template and extend `.fallow` — generates Code Quality reports via `--format codeclimate` (inline MR annotations), rich MR comments, code review comments, all commands. Variables use `FALLOW_` prefix (e.g., `FALLOW_COMMAND`, `FALLOW_FAIL_ON_ISSUES`). Set `FALLOW_SCORE: "true"` to compute health score; `FALLOW_TREND: "true"` to compare against saved snapshots
1107
+ - **GitLab CI**: include `ci/gitlab-ci.yml` template and extend `.fallow` — generates Code Quality reports via `--format codeclimate` / `--format gitlab-codequality` (inline MR annotations), rich MR comments, code review comments, all commands. Use `fallow ci-template gitlab --vendor` when runners cannot reach `raw.githubusercontent.com`; commit the generated `ci/` and `action/` files and use GitLab's local include syntax. Variables use `FALLOW_` prefix (e.g., `FALLOW_COMMAND`, `FALLOW_FAIL_ON_ISSUES`). Set `FALLOW_SCORE: "true"` to compute health score; `FALLOW_TREND: "true"` to compare against saved snapshots
1108
1108
  - **Any CI**: `npx fallow --ci` — equivalent to `--format sarif --fail-on-issues --quiet`
1109
1109
 
1110
1110
  ### GitLab CI Variables
@@ -1116,10 +1116,11 @@ Set `FALLOW_FORMAT=json` and `FALLOW_QUIET=1` in your agent environment to avoid
1116
1116
  | `FALLOW_CHANGED_SINCE` | auto | Git ref for incremental analysis. Auto-detected in MR pipelines (`origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME`) |
1117
1117
  | `FALLOW_COMMENT` | `false` | Post a summary comment on the MR with findings |
1118
1118
  | `FALLOW_REVIEW` | `false` | Post inline code review comments on MR diff lines where issues were found |
1119
+ | `FALLOW_VERSION` | — | Fallow version to install. Empty reads the project's `package.json` `fallow` dependency, then falls back to `latest`; set explicitly to override the local pin |
1119
1120
  | `FALLOW_SCORE` | `false` | Compute health score (0-100 with letter grade) in combined mode. Enables the health delta header in MR comments |
1120
1121
  | `FALLOW_TREND` | `false` | Compare current health metrics against saved snapshot. Implies `FALLOW_SCORE`. Shows per-metric deltas |
1121
1122
  | `FALLOW_EXTRA_ARGS` | — | Additional CLI flags passed through to fallow |
1122
- | `GITLAB_TOKEN` | — | Project access token with `api` scope (required for `FALLOW_COMMENT` and `FALLOW_REVIEW`). Alternatively, enable job token API access |
1123
+ | `GITLAB_TOKEN` | — | Project access token with `api` scope (required for `FALLOW_COMMENT` and `FALLOW_REVIEW`; `CI_JOB_TOKEN` is read-only for MR notes in the official GitLab API) |
1123
1124
 
1124
1125
  **Package manager detection**: The GitLab template auto-detects the project's package manager (npm, pnpm, or yarn) from lockfiles. MR comments and review comments show the correct install/run commands for the detected manager (e.g., `pnpm add -D` vs `npm install --save-dev`).
1125
1126
 
@@ -554,7 +554,7 @@ variables:
554
554
  FALLOW_REVIEW: "true"
555
555
  ```
556
556
 
557
- Both require a `GITLAB_TOKEN` CI/CD variable (project access token with `api` scope) or job token API access enabled.
557
+ Both require a `GITLAB_TOKEN` CI/CD variable (project access token with `api` scope). `CI_JOB_TOKEN` is read-only for MR notes in the official GitLab API, so it is not enough for summary comments or inline discussions.
558
558
 
559
559
  ---
560
560
 
@@ -184,6 +184,13 @@ fallow:
184
184
 
185
185
  Generates Code Quality reports (inline MR annotations) automatically. In MR pipelines, `--changed-since` is automatically set to the target branch — no manual configuration needed.
186
186
 
187
+ If runners cannot reach `raw.githubusercontent.com`, run `fallow ci-template gitlab --vendor`, commit the generated `ci/` and `action/` files, and use GitLab's local include syntax:
188
+
189
+ ```yaml
190
+ include:
191
+ - local: 'ci/gitlab-ci.yml'
192
+ ```
193
+
187
194
  ### GitLab CI: With MR Summary Comments
188
195
 
189
196
  ```yaml
@@ -196,7 +203,7 @@ fallow:
196
203
  FALLOW_COMMENT: "true"
197
204
  ```
198
205
 
199
- Posts a summary comment on the MR with issue counts and findings. In MR pipelines, `--changed-since` is auto-detected from `$CI_MERGE_REQUEST_TARGET_BRANCH_NAME`, so only issues from changed files are reported. Requires `GITLAB_TOKEN` CI/CD variable (project access token with `api` scope) or enabling job token API access.
206
+ Posts a summary comment on the MR with issue counts and findings. In MR pipelines, `--changed-since` is auto-detected from `$CI_MERGE_REQUEST_TARGET_BRANCH_NAME`, so only issues from changed files are reported. Requires `GITLAB_TOKEN` CI/CD variable (project access token with `api` scope); `CI_JOB_TOKEN` is read-only for MR notes in the official GitLab API.
200
207
 
201
208
  ### GitLab CI: With Inline Code Review Comments
202
209