fallow 2.67.0 → 2.68.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.67.0",
3
+ "version": "2.68.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, 94 framework plugins.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -55,13 +55,13 @@
55
55
  "@tanstack/intent": "0.0.36"
56
56
  },
57
57
  "optionalDependencies": {
58
- "@fallow-cli/darwin-arm64": "2.67.0",
59
- "@fallow-cli/darwin-x64": "2.67.0",
60
- "@fallow-cli/linux-x64-gnu": "2.67.0",
61
- "@fallow-cli/linux-arm64-gnu": "2.67.0",
62
- "@fallow-cli/linux-x64-musl": "2.67.0",
63
- "@fallow-cli/linux-arm64-musl": "2.67.0",
64
- "@fallow-cli/win32-arm64-msvc": "2.67.0",
65
- "@fallow-cli/win32-x64-msvc": "2.67.0"
58
+ "@fallow-cli/darwin-arm64": "2.68.0",
59
+ "@fallow-cli/darwin-x64": "2.68.0",
60
+ "@fallow-cli/linux-x64-gnu": "2.68.0",
61
+ "@fallow-cli/linux-arm64-gnu": "2.68.0",
62
+ "@fallow-cli/linux-x64-musl": "2.68.0",
63
+ "@fallow-cli/linux-arm64-musl": "2.68.0",
64
+ "@fallow-cli/win32-arm64-msvc": "2.68.0",
65
+ "@fallow-cli/win32-x64-msvc": "2.68.0"
66
66
  }
67
67
  }
package/schema.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "FallowConfig",
4
- "description": "User-facing configuration loaded from `.fallowrc.json` or `fallow.toml`.\n\n# Examples\n\n```\nuse fallow_config::FallowConfig;\n\n// Default config has sensible defaults\nlet config = FallowConfig::default();\nassert!(config.entry.is_empty());\nassert!(!config.production);\n\n// Deserialize from JSON\nlet config: FallowConfig = serde_json::from_str(r#\"{\n \"entry\": [\"src/main.ts\"],\n \"production\": true\n}\"#).unwrap();\nassert_eq!(config.entry, vec![\"src/main.ts\"]);\nassert!(config.production);\n```",
4
+ "description": "User-facing configuration loaded from `.fallowrc.json`, `.fallowrc.jsonc`, `fallow.toml`, or `.fallow.toml`.\n\n# Examples\n\n```\nuse fallow_config::FallowConfig;\n\n// Default config has sensible defaults\nlet config = FallowConfig::default();\nassert!(config.entry.is_empty());\nassert!(!config.production);\n\n// Deserialize from JSON\nlet config: FallowConfig = serde_json::from_str(r#\"{\n \"entry\": [\"src/main.ts\"],\n \"production\": true\n}\"#).unwrap();\nassert_eq!(config.entry, vec![\"src/main.ts\"]);\nassert!(config.production);\n```",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "$schema": {
@@ -1004,7 +1004,7 @@
1004
1004
  ]
1005
1005
  },
1006
1006
  "FlagsConfig": {
1007
- "description": "Feature flag detection configuration.\n\nControls which patterns fallow uses to detect feature flags in source code.\nConfigured via the `flags` section in `.fallowrc.json` or `fallow.toml`.\n\n# Examples\n\n```json\n{\n \"flags\": {\n \"sdkPatterns\": [\n { \"function\": \"useFlag\", \"nameArg\": 0, \"provider\": \"LaunchDarkly\" }\n ],\n \"envPrefixes\": [\"FEATURE_\", \"NEXT_PUBLIC_ENABLE_\"],\n \"configObjectHeuristics\": false\n }\n}\n```",
1007
+ "description": "Feature flag detection configuration.\n\nControls which patterns fallow uses to detect feature flags in source code.\nConfigured via the `flags` section in `.fallowrc.json`, `.fallowrc.jsonc`, `fallow.toml`, or `.fallow.toml`.\n\n# Examples\n\n```json\n{\n \"flags\": {\n \"sdkPatterns\": [\n { \"function\": \"useFlag\", \"nameArg\": 0, \"provider\": \"LaunchDarkly\" }\n ],\n \"envPrefixes\": [\"FEATURE_\", \"NEXT_PUBLIC_ENABLE_\"],\n \"configObjectHeuristics\": false\n }\n}\n```",
1008
1008
  "type": "object",
1009
1009
  "properties": {
1010
1010
  "sdkPatterns": {
@@ -1056,7 +1056,7 @@
1056
1056
  ]
1057
1057
  },
1058
1058
  "ResolveConfig": {
1059
- "description": "Module resolver configuration.\n\nControls how fallow resolves import specifiers against package.json\n`exports` / `imports` fields and tsconfig paths. Configured via the\n`resolve` section in `.fallowrc.json` or `fallow.toml`.\n\n# Examples\n\n```json\n{\n \"resolve\": {\n \"conditions\": [\"development\", \"worker\"]\n }\n}\n```",
1059
+ "description": "Module resolver configuration.\n\nControls how fallow resolves import specifiers against package.json\n`exports` / `imports` fields and tsconfig paths. Configured via the\n`resolve` section in `.fallowrc.json`, `.fallowrc.jsonc`, `fallow.toml`, or `.fallow.toml`.\n\n# Examples\n\n```json\n{\n \"resolve\": {\n \"conditions\": [\"development\", \"worker\"]\n }\n}\n```",
1060
1060
  "type": "object",
1061
1061
  "properties": {
1062
1062
  "conditions": {
@@ -287,14 +287,17 @@ fallow dead-code --format json --quiet --trace-dependency lodash
287
287
  # Preview migration
288
288
  fallow migrate --dry-run
289
289
 
290
- # Apply migration (creates .fallowrc.json)
290
+ # Apply migration (auto-mirrors source extension: knip.jsonc -> .fallowrc.jsonc, knip.json -> .fallowrc.json)
291
291
  fallow migrate
292
292
 
293
+ # Force JSONC output regardless of source (lets editors syntax-highlight comments)
294
+ fallow migrate --jsonc
295
+
293
296
  # Migrate to TOML (creates fallow.toml)
294
297
  fallow migrate --toml
295
298
  ```
296
299
 
297
- Auto-detects `knip.json`, `.knip.json`, `.jscpd.json`, and package.json embedded configs.
300
+ Auto-detects `knip.json`, `knip.jsonc`, `.knip.json`, `.knip.jsonc`, `.jscpd.json`, and package.json embedded configs.
298
301
 
299
302
  ### Initialize a new config
300
303
 
@@ -266,10 +266,13 @@ Migrates configuration from knip and/or jscpd to fallow. Auto-detects config fil
266
266
 
267
267
  | Flag | Type | Description |
268
268
  |------|------|-------------|
269
- | `--toml` | bool | Output as TOML instead of JSON |
269
+ | `--toml` | bool | Output as `fallow.toml` (mutually exclusive with `--jsonc`) |
270
+ | `--jsonc` | bool | Write to `.fallowrc.jsonc` instead of `.fallowrc.json`. Same JSONC content either way; the `.jsonc` extension lets editors auto-detect JSON-with-comments syntax highlighting |
270
271
  | `--dry-run` | bool | Preview without writing |
271
272
  | `--from` | path | Specify source config file path |
272
273
 
274
+ Without `--jsonc` or `--toml`, fallow auto-mirrors the source extension: a `knip.jsonc` migration writes `.fallowrc.jsonc`, a `knip.json` migration writes `.fallowrc.json`.
275
+
273
276
  ### Detected Source Configs
274
277
 
275
278
  - `knip.json`, `knip.jsonc`, `.knip.json`, `.knip.jsonc`
@@ -280,10 +283,11 @@ Migrates configuration from knip and/or jscpd to fallow. Auto-detects config fil
280
283
  ### Examples
281
284
 
282
285
  ```bash
283
- fallow migrate --dry-run # preview
284
- fallow migrate # auto-detect and write .fallowrc.json
285
- fallow migrate --toml # output as TOML
286
- fallow migrate --from knip.json
286
+ fallow migrate --dry-run # preview
287
+ fallow migrate # auto-detect; mirrors source extension
288
+ fallow migrate --jsonc # force .fallowrc.jsonc output
289
+ fallow migrate --toml # output as fallow.toml
290
+ fallow migrate --from knip.jsonc
287
291
  ```
288
292
 
289
293
  ---
@@ -1378,9 +1382,9 @@ With `--score`, the combined output's `health` section includes a `health_score`
1378
1382
 
1379
1383
  ## Configuration File Format
1380
1384
 
1381
- Config files are searched in priority order: `.fallowrc.json` > `fallow.toml` > `.fallow.toml`
1385
+ Config files are searched in priority order: `.fallowrc.json` > `.fallowrc.jsonc` > `fallow.toml` > `.fallow.toml`. Both `.fallowrc.json` and `.fallowrc.jsonc` are parsed as JSON-with-comments; the `.jsonc` extension lets editors auto-detect JSONC syntax highlighting.
1382
1386
 
1383
- ### JSON Format (`.fallowrc.json`)
1387
+ ### JSON Format (`.fallowrc.json` / `.fallowrc.jsonc`)
1384
1388
 
1385
1389
  ```jsonc
1386
1390
  {