fallow 2.48.5 → 2.50.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fallow",
3
- "version": "2.48.5",
3
+ "version": "2.50.0",
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.48.5",
58
- "@fallow-cli/darwin-x64": "2.48.5",
59
- "@fallow-cli/linux-x64-gnu": "2.48.5",
60
- "@fallow-cli/linux-arm64-gnu": "2.48.5",
61
- "@fallow-cli/linux-x64-musl": "2.48.5",
62
- "@fallow-cli/linux-arm64-musl": "2.48.5",
63
- "@fallow-cli/win32-arm64-msvc": "2.48.5",
64
- "@fallow-cli/win32-x64-msvc": "2.48.5"
57
+ "@fallow-cli/darwin-arm64": "2.50.0",
58
+ "@fallow-cli/darwin-x64": "2.50.0",
59
+ "@fallow-cli/linux-x64-gnu": "2.50.0",
60
+ "@fallow-cli/linux-arm64-gnu": "2.50.0",
61
+ "@fallow-cli/linux-x64-musl": "2.50.0",
62
+ "@fallow-cli/linux-arm64-musl": "2.50.0",
63
+ "@fallow-cli/win32-arm64-msvc": "2.50.0",
64
+ "@fallow-cli/win32-x64-msvc": "2.50.0"
65
65
  }
66
66
  }
@@ -77,7 +77,7 @@ cargo install fallow-cli # build from source
77
77
 
78
78
  | Command | Purpose | Key Flags |
79
79
  |---------|---------|-----------|
80
- | `fallow` | Run all analyses: dead code + duplication + complexity (default) | `--only`, `--skip`, `--ci`, `--fail-on-issues`, `--group-by`, `--summary`, `--fail-on-regression`, `--tolerance`, `--regression-baseline`, `--save-regression-baseline`, `--score`, `--trend`, `--save-snapshot` |
80
+ | `fallow` | Run all analyses: dead code + duplication + complexity (default) | `--only`, `--skip`, `--production`, `--production-dead-code`, `--production-health`, `--production-dupes`, `--ci`, `--fail-on-issues`, `--group-by`, `--summary`, `--fail-on-regression`, `--tolerance`, `--regression-baseline`, `--save-regression-baseline`, `--score`, `--trend`, `--save-snapshot` |
81
81
  | `dead-code` | Dead code analysis (`check` is an alias) | `--unused-exports`, `--changed-since`, `--changed-workspaces`, `--production`, `--file`, `--include-entry-exports`, `--stale-suppressions`, `--ci`, `--group-by`, `--summary`, `--fail-on-regression`, `--tolerance`, `--regression-baseline`, `--save-regression-baseline` |
82
82
  | `dupes` | Code duplication detection | `--mode`, `--threshold`, `--top`, `--changed-since`, `--workspace`, `--changed-workspaces`, `--skip-local`, `--cross-language`, `--ignore-imports`, `--fail-on-regression`, `--tolerance`, `--regression-baseline`, `--save-regression-baseline` |
83
83
  | `fix` | Auto-remove unused exports/deps | `--dry-run`, `--yes` (required in non-TTY) |
@@ -85,7 +85,7 @@ cargo install fallow-cli # build from source
85
85
  | `migrate` | Convert knip/jscpd config | `--dry-run`, `--from PATH` |
86
86
  | `list` | Inspect project structure | `--files`, `--entry-points`, `--plugins`, `--boundaries` |
87
87
  | `health` | Function complexity analysis | `--complexity`, `--max-cyclomatic`, `--max-cognitive`, `--max-crap`, `--top`, `--sort`, `--file-scores`, `--hotspots`, `--ownership`, `--ownership-emails`, `--targets`, `--effort`, `--score`, `--min-score`, `--since`, `--min-commits`, `--save-snapshot`, `--trend`, `--coverage-gaps`, `--coverage`, `--coverage-root`, `--production-coverage`, `--min-invocations-hot`, `--min-observation-volume`, `--low-traffic-threshold`, `--workspace`, `--changed-workspaces`, `--baseline`, `--save-baseline` |
88
- | `audit` | Combined dead-code + complexity + duplication for changed files | `--base`, `--production`, `--workspace`, `--changed-workspaces`, `--ci`, `--fail-on-issues`, `--explain`, `--dead-code-baseline`, `--health-baseline`, `--dupes-baseline`, `--max-crap` |
88
+ | `audit` | Combined dead-code + complexity + duplication for changed files | `--base`, `--production`, `--production-dead-code`, `--production-health`, `--production-dupes`, `--workspace`, `--changed-workspaces`, `--ci`, `--fail-on-issues`, `--explain`, `--dead-code-baseline`, `--health-baseline`, `--dupes-baseline`, `--max-crap` |
89
89
  | `flags` | Detect feature flag patterns (env vars, SDK calls, config objects) | `--top` |
90
90
  | `license` | Manage the local license JWT for paid features (activate, status, refresh, deactivate) | `activate --trial --email <addr>`, `activate --from-file`, `activate --stdin`, `status`, `refresh`, `deactivate` |
91
91
  | `coverage` | Production-coverage workflow helper (paid) | `setup`, `setup --yes`, `setup --non-interactive` |
@@ -39,7 +39,10 @@ Analyzes the project for unused files, exports, dependencies, types, members, an
39
39
  | `--format` | `human\|json\|sarif\|compact\|markdown\|codeclimate` | `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
- | `--production` | bool | `false` | Exclude test/dev files, only start/build scripts |
42
+ | `--production` | bool | `false` | Exclude test/dev files, only start/build scripts (applies to every analysis) |
43
+ | `--production-dead-code` | bool | `false` | Per-analysis production mode for dead-code. Bare combined runs and `fallow audit` only. |
44
+ | `--production-health` | bool | `false` | Per-analysis production mode for health. Bare combined runs and `fallow audit` only. |
45
+ | `--production-dupes` | bool | `false` | Per-analysis production mode for duplication. Bare combined runs and `fallow audit` only. |
43
46
  | `--baseline` | path | — | Compare against a saved baseline |
44
47
  | `--save-baseline` | path | — | Save current results as a baseline |
45
48
  | `--workspace` | string | — | Scope to one or more workspaces. Comma-separated values, globs (`apps/*`, `@scope/*`), and `!`-prefixed negation (`!apps/legacy`) supported. Matched against package name AND workspace path relative to repo root. |
@@ -701,7 +704,10 @@ Audits changed files for dead code, complexity, and duplication. Returns a verdi
701
704
  | Flag | Type | Default | Description |
702
705
  |------|------|---------|-------------|
703
706
  | `--base` | string | auto-detect | Git ref to compare against (alias for `--changed-since`) |
704
- | `--production` | bool | false | Exclude test/story/dev files |
707
+ | `--production` | bool | false | Exclude test/story/dev files (applies to dead-code, health, and dupes) |
708
+ | `--production-dead-code` | bool | false | Per-analysis production mode for the dead-code sub-analysis only |
709
+ | `--production-health` | bool | false | Per-analysis production mode for the health sub-analysis only |
710
+ | `--production-dupes` | bool | false | Per-analysis production mode for the duplication sub-analysis only |
705
711
  | `-w, --workspace` | string | — | Scope to one or more workspaces. Comma-separated, globs, `!` negation. |
706
712
  | `--explain` | bool | false | Include metric definitions in JSON output |
707
713
  | `--ci` | bool | false | Equivalent to `--format sarif --fail-on-issues --quiet` |
@@ -740,6 +746,9 @@ fallow audit --format json --quiet --base HEAD~3
740
746
  # Production code only in a monorepo workspace
741
747
  fallow audit --format json --quiet --production --workspace @app/api
742
748
 
749
+ # Production-only health, full-tree dead-code and dupes
750
+ fallow audit --format json --quiet --production-health --workspace @app/api
751
+
743
752
  # CI mode (SARIF + fail on issues + quiet)
744
753
  fallow audit --ci
745
754
 
@@ -1037,7 +1046,8 @@ Available on all commands:
1037
1046
  | `--tolerance` | string | Allowed increase: `"2%"` (percentage) or `"5"` (absolute). Default: `"0"` |
1038
1047
  | `--regression-baseline` | path | Path to regression baseline file (default: `.fallow/regression-baseline.json`) |
1039
1048
  | `--save-regression-baseline` | path | Save current issue counts as a regression baseline |
1040
- | `--production` | bool | Exclude test/dev files, only start/build scripts |
1049
+ | `--production` | bool | Exclude test/dev files, only start/build scripts (applies to every analysis) |
1050
+ | `--production-dead-code` / `--production-health` / `--production-dupes` | bool | Per-analysis production mode for bare combined runs and `fallow audit`. Per-analysis env vars `FALLOW_PRODUCTION_DEAD_CODE`/`HEALTH`/`DUPES` mirror these flags. Per-analysis env beats global `FALLOW_PRODUCTION`. |
1041
1051
  | `--performance` | bool | Show pipeline timing breakdown |
1042
1052
  | `-w, --workspace` | string | Scope to one or more workspaces (comma-separated, globs, `!` negation) |
1043
1053
  | `--changed-workspaces` | string (git ref) | Git-derived monorepo CI scoping: scope to workspaces containing any file changed since `REF`. Mutually exclusive with `--workspace`. Missing ref is a hard error. |