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
|
-
|
|
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.
|
|
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,
|
|
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.
|
|
58
|
-
"@fallow-cli/darwin-x64": "2.
|
|
59
|
-
"@fallow-cli/linux-x64-gnu": "2.
|
|
60
|
-
"@fallow-cli/linux-arm64-gnu": "2.
|
|
61
|
-
"@fallow-cli/linux-x64-musl": "2.
|
|
62
|
-
"@fallow-cli/linux-arm64-musl": "2.
|
|
63
|
-
"@fallow-cli/win32-arm64-msvc": "2.
|
|
64
|
-
"@fallow-cli/win32-x64-msvc": "2.
|
|
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
|
}
|
package/skills/fallow/SKILL.md
CHANGED
|
@@ -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;
|
|
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
|
-
//
|
|
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
|
|
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
|
{
|