fallow 2.63.0 → 2.64.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/README.md CHANGED
@@ -67,7 +67,7 @@ fallow dupes --save-baseline # Save current duplication as baseline
67
67
 
68
68
  ## Framework support
69
69
 
70
- 90 built-in plugins covering Next.js, Nuxt, Remix, Qwik, SvelteKit, Gatsby, Astro, Angular, NestJS, Expo Router, Vite, Webpack, Vitest, Jest, Playwright, Cypress, Storybook, ESLint, TypeScript, Tailwind, UnoCSS, Prisma, Drizzle, Convex, Turborepo, Hardhat, and many more. Auto-detected from your `package.json`.
70
+ 93 built-in plugins covering Next.js, Nuxt, Remix, Qwik, SvelteKit, Gatsby, Astro, Angular, NestJS, Expo Router, Vite, Webpack, Vitest, Jest, Playwright, Cypress, Storybook, ESLint, TypeScript, Tailwind, UnoCSS, Prisma, Drizzle, Convex, Turborepo, Hardhat, and many more. Auto-detected from your `package.json`.
71
71
 
72
72
  ## Configuration
73
73
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fallow",
3
- "version": "2.63.0",
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.",
3
+ "version": "2.64.0",
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, 93 framework plugins.",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -54,13 +54,13 @@
54
54
  "@tanstack/intent": "0.0.32"
55
55
  },
56
56
  "optionalDependencies": {
57
- "@fallow-cli/darwin-arm64": "2.63.0",
58
- "@fallow-cli/darwin-x64": "2.63.0",
59
- "@fallow-cli/linux-x64-gnu": "2.63.0",
60
- "@fallow-cli/linux-arm64-gnu": "2.63.0",
61
- "@fallow-cli/linux-x64-musl": "2.63.0",
62
- "@fallow-cli/linux-arm64-musl": "2.63.0",
63
- "@fallow-cli/win32-arm64-msvc": "2.63.0",
64
- "@fallow-cli/win32-x64-msvc": "2.63.0"
57
+ "@fallow-cli/darwin-arm64": "2.64.0",
58
+ "@fallow-cli/darwin-x64": "2.64.0",
59
+ "@fallow-cli/linux-x64-gnu": "2.64.0",
60
+ "@fallow-cli/linux-arm64-gnu": "2.64.0",
61
+ "@fallow-cli/linux-x64-musl": "2.64.0",
62
+ "@fallow-cli/linux-arm64-musl": "2.64.0",
63
+ "@fallow-cli/win32-arm64-msvc": "2.64.0",
64
+ "@fallow-cli/win32-x64-msvc": "2.64.0"
65
65
  }
66
66
  }
@@ -341,7 +341,7 @@ Fallow reads config from project root: `.fallowrc.json` > `.fallowrc.jsonc` > `f
341
341
  Rules: `"error"` (fail CI), `"warn"` (report only), `"off"` (skip detection).
342
342
 
343
343
  Config fields:
344
- - `publicPackages`: workspace packages that are public libraries; exports from these packages are not flagged as unused
344
+ - `publicPackages`: workspace packages that are public libraries; exported API surface from these packages is not flagged as unused
345
345
  - `dynamicallyLoaded`: glob patterns for files loaded at runtime (plugin dirs, locale files); treated as always-used
346
346
  - `usedClassMembers`: class method/property names that extend the built-in Angular/React lifecycle allowlist with framework-invoked names. Each entry is a plain string (global suppression) or a scoped object `{ extends?, implements?, members }` matching only classes with the given heritage. Use scoped rules for common names like `refresh` or `execute` to avoid false negatives on unrelated classes; global strings for unique names like `agInit`. Example: `["agInit", { "implements": "ICellRendererAngularComp", "members": ["refresh"] }, { "extends": "BaseCommand", "members": ["execute"] }]`. An unconstrained scoped rule (no `extends` or `implements`) is rejected at load time. Use plugin-level `usedClassMembers` in a `.fallow/plugins/*.jsonc` file for library-specific allowlists
347
347
  - `resolve.conditions`: additional package.json `exports` / `imports` condition names to honor during module resolution. Baseline conditions (`development`, `import`, `require`, `default`, `types`, `node`, plus `react-native` / `browser` under RN/Expo) are always included; user entries prepend ahead of them. Use for community conditions like `worker`, `edge-light`, `deno`, or custom bundler conditions. Example: `{ "resolve": { "conditions": ["worker", "edge-light"] } }`
@@ -1442,7 +1442,7 @@ Config files are searched in priority order: `.fallowrc.json` > `fallow.toml` >
1442
1442
  "production": false,
1443
1443
 
1444
1444
  // Workspace packages that are public libraries.
1445
- // Exports from these packages are not flagged as unused.
1445
+ // Exported API surface from these packages is not flagged as unused.
1446
1446
  "publicPackages": ["@myorg/shared-lib", "@myorg/utils"],
1447
1447
 
1448
1448
  // Glob patterns for files that are dynamically loaded at runtime.
@@ -431,7 +431,7 @@ Fallow marks `static/style.css` and `static/app.js` as reachable. Root-relative
431
431
 
432
432
  ## Library Packages: Use `publicPackages` Instead of Visibility Tags
433
433
 
434
- In monorepos, shared library packages have exports consumed by external consumers not visible to fallow. Instead of annotating every export with `/** @public */` (or `@internal`, `@beta`, `@alpha`), use the `publicPackages` config to mark entire workspace packages as public libraries. All exports from these packages are excluded from unused export detection.
434
+ In monorepos, shared library packages have exported APIs consumed by external consumers not visible to fallow. Instead of annotating every export with `/** @public */` (or `@internal`, `@beta`, `@alpha`), use the `publicPackages` config to mark entire workspace packages as public libraries. Exports and exported enum/class members from these packages are excluded from unused API detection.
435
435
 
436
436
  ```jsonc
437
437
  {