fallow 2.56.0 → 2.58.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.56.0",
3
+ "version": "2.58.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": {
@@ -51,16 +51,16 @@
51
51
  "detect-libc": "2.1.2"
52
52
  },
53
53
  "devDependencies": {
54
- "@tanstack/intent": "0.0.29"
54
+ "@tanstack/intent": "0.0.32"
55
55
  },
56
56
  "optionalDependencies": {
57
- "@fallow-cli/darwin-arm64": "2.56.0",
58
- "@fallow-cli/darwin-x64": "2.56.0",
59
- "@fallow-cli/linux-x64-gnu": "2.56.0",
60
- "@fallow-cli/linux-arm64-gnu": "2.56.0",
61
- "@fallow-cli/linux-x64-musl": "2.56.0",
62
- "@fallow-cli/linux-arm64-musl": "2.56.0",
63
- "@fallow-cli/win32-arm64-msvc": "2.56.0",
64
- "@fallow-cli/win32-x64-msvc": "2.56.0"
57
+ "@fallow-cli/darwin-arm64": "2.58.0",
58
+ "@fallow-cli/darwin-x64": "2.58.0",
59
+ "@fallow-cli/linux-x64-gnu": "2.58.0",
60
+ "@fallow-cli/linux-arm64-gnu": "2.58.0",
61
+ "@fallow-cli/linux-x64-musl": "2.58.0",
62
+ "@fallow-cli/linux-arm64-musl": "2.58.0",
63
+ "@fallow-cli/win32-arm64-msvc": "2.58.0",
64
+ "@fallow-cli/win32-x64-msvc": "2.58.0"
65
65
  }
66
66
  }
@@ -88,7 +88,7 @@ cargo install fallow-cli # build from source
88
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
- | `coverage` | Production-coverage workflow helper (paid) | `setup`, `setup --yes`, `setup --non-interactive` |
91
+ | `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` |
92
92
  | `schema` | Dump CLI definition as JSON | |
93
93
  | `config` | Show the loaded config path and resolved config (verifies which `.fallowrc.json` is in effect) | `--path` |
94
94
 
@@ -320,7 +320,7 @@ When `--format json` is active and exit code is 2, errors are emitted as JSON on
320
320
 
321
321
  ## Configuration
322
322
 
323
- Fallow reads config from project root: `.fallowrc.json` > `fallow.toml` > `.fallow.toml`. Most projects work with zero configuration thanks to 90 auto-detecting framework plugins.
323
+ Fallow reads config from project root: `.fallowrc.json` > `.fallowrc.jsonc` > `fallow.toml` > `.fallow.toml`. Both `.fallowrc.json` and `.fallowrc.jsonc` accept JSON-with-comments syntax (same parser); the `.jsonc` extension lets editors auto-detect JSONC syntax highlighting. Most projects work with zero configuration thanks to 90 auto-detecting framework plugins.
324
324
 
325
325
  ```jsonc
326
326
  {
@@ -939,9 +939,10 @@ Unknown codes fall back to the backend's `message` field, or the raw body.
939
939
 
940
940
  ## `coverage`: Production-Coverage Workflow
941
941
 
942
- Helper subcommand for the paid runtime-coverage analyzer. Two subcommands today:
942
+ Helper subcommand for the runtime-coverage workflow. Three subcommands today:
943
943
 
944
944
  - `coverage setup` — resumable state machine that wires license activation, sidecar installation, framework-aware coverage recipe writing, and automatic handoff into `fallow health --runtime-coverage`.
945
+ - `coverage analyze` — focused runtime coverage analysis. Local mode reads `--runtime-coverage <path>`; cloud mode requires explicit `--cloud`, `--runtime-coverage-cloud`, or `FALLOW_RUNTIME_COVERAGE_SOURCE=cloud` and never triggers from `FALLOW_API_KEY` alone.
945
946
  - `coverage upload-inventory` — push a static function inventory to fallow cloud so the dashboard can surface `untracked` functions (those in the codebase but never called at runtime).
946
947
 
947
948
  ```bash
@@ -949,10 +950,30 @@ fallow coverage setup # interactive
949
950
  fallow coverage setup --yes # accept all prompts
950
951
  fallow coverage setup --non-interactive # print instructions, do not prompt
951
952
 
953
+ fallow coverage analyze --runtime-coverage ./coverage --format json
954
+ fallow coverage analyze --cloud --repo owner/repo --format json
955
+
952
956
  fallow coverage upload-inventory # infers project-id, git-sha, API key
953
957
  fallow coverage upload-inventory --dry-run # print what would be uploaded, exit 0
954
958
  ```
955
959
 
960
+ ### `analyze` flags
961
+
962
+ | Flag | Type | Default | Description |
963
+ |------|------|---------|-------------|
964
+ | `--runtime-coverage <PATH>` | path | none | Local V8 directory, V8 JSON file, or Istanbul coverage map. Mutually exclusive with cloud mode. |
965
+ | `--cloud`, `--runtime-coverage-cloud` | bool | false | Explicitly fetch cloud runtime facts from `/v1/coverage/:repo/runtime-context`. |
966
+ | `--repo <OWNER/REPO>` | string | `$FALLOW_REPO` → `git remote get-url origin` | Repository identifier for cloud mode. Encoded as one URL path segment (`owner%2Frepo`). |
967
+ | `--api-key <KEY>` | string | `$FALLOW_API_KEY` | Fallow cloud bearer token for cloud mode. The env var alone does not opt in to cloud mode. |
968
+ | `--api-endpoint <URL>` | string | `$FALLOW_API_URL` or `https://api.fallow.cloud` | Override for staging / on-prem. |
969
+ | `--coverage-period <DAYS>` | integer | 30 | Cloud observation window, 1 through 90 days. |
970
+ | `--project-id <ID>` | string | none | Optional monorepo/project disambiguator. |
971
+ | `--environment <ENV>` | string | none | Optional cloud environment filter. |
972
+ | `--commit-sha <SHA>` | string | none | Optional cloud commit filter. |
973
+ | `--production` | bool | false | Analyze production code only before joining cloud facts. |
974
+
975
+ Cloud analysis emits the same `runtime_coverage` JSON block as local mode. Its summary includes `data_source: "cloud"`, `last_received_at`, and `capture_quality` derived from the pulled runtime window. Cloud functions that cannot be matched to the local AST/static index are omitted from findings and reported through a `cloud_functions_unmatched` warning.
976
+
956
977
  ### `setup` flow
957
978
 
958
979
  1. **License check** — if missing or hard-fail, offers to start a trial.