Skip to content

chore: trim .fallowrc (fallow 2.84.0 handles these natively)#180

Open
BartWaardenburg wants to merge 3 commits into
happier-dev:devfrom
BartWaardenburg:chore/fallow-2.84-config-trim
Open

chore: trim .fallowrc (fallow 2.84.0 handles these natively)#180
BartWaardenburg wants to merge 3 commits into
happier-dev:devfrom
BartWaardenburg:chore/fallow-2.84-config-trim

Conversation

@BartWaardenburg
Copy link
Copy Markdown

@BartWaardenburg BartWaardenburg commented May 28, 2026

fallow 2.84.0 makes part of .fallowrc.jsonc unnecessary, so this trims it with no change in findings.

Removed:

  • all 13 ignoreDependencies: the 12 @*/__mocks__ entries are now credited automatically as Vitest __mocks__ virtual specifiers (since 2.63.0), and node:sqlite is recognized as a Node builtin (since 2.81.0)
  • the vitest.config.ts entry line (auto-detected by the Vitest plugin)
  • the rules.feature-flags: "off" override (feature-flags is off by default)

Verified: I ran your repo with the original and the trimmed config and the findings are the same; none of the removed entries re-surface (checked each of the 13 deps plus the vitest config). The other entry globs, ignorePatterns, and the duplicates / health / audit blocks are unchanged.

Refs #179.

Unrelated heads-up the run surfaced: a lot of @happier-dev/* imports report as unresolved because their package exports point at dist/ that isn't built at analysis time. That's a fallow-side gap I'm tracking (fallow-rs/fallow#757), not something to work around in this config.


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

Summary by CodeRabbit

  • Chores
    • Removed obsolete scanning rules and ignored entries from analysis configuration.
    • Updated maintenance scripts to use a newer version of the analysis tooling for audits, dead-code checks, dependency health, and regression baselines.
  • Tests
    • Adjusted tests to align with the updated configuration and tooling version.

Review Change Stack

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 28, 2026

Greptile Summary

This PR trims .fallowrc.jsonc by removing 13 ignoreDependencies entries, the vitest.config.ts entry point, and the rules.feature-flags: \"off\" override, all of which are handled natively by fallow 2.84.0. The config changes are individually correct for that version, but every fallow script in package.json is still pinned to fallow@2.62.0, which predates all three native behaviors being relied upon.

  • Version mismatch: package.json scripts invoke npx --yes fallow@2.62.0; the trimmed config assumes ≥2.84.0 behaviors (@*/__mocks__ credits since 2.63.0, node:sqlite builtin since 2.81.0, feature-flags off-by-default since 2.84.0). Running CI or npm run fallow with the old binary will re-surface the removed findings.
  • The vitest.config.ts auto-detection and ignoreDependencies cleanup are the right long-term direction once the version pin is updated."

Confidence Score: 3/5

Not safe to merge as-is: the config and the pinned fallow version are now inconsistent, so CI and local runs will produce different findings than the author observed.

The removed entries are all legitimate cleanup for fallow 2.84.0, but the version actually executed by every script in package.json is still 2.62.0. That gap means the three native behaviors being relied on (mock-specifier credits, sqlite builtin, feature-flags default) are absent at runtime, so the trimmed config will re-surface findings rather than stay neutral. The fix is straightforward — bump the version pin — but until that happens the config change and the tooling are out of sync.

package.json needs its fallow version pin updated from 2.62.0 to at least 2.84.0 to match the assumptions in .fallowrc.jsonc.

Important Files Changed

Filename Overview
.fallowrc.jsonc Removes 13 ignoreDependencies entries, the vitest.config.ts entry, and the feature-flags rule override — all valid for fallow ≥2.84.0, but package.json still pins fallow@2.62.0, making the trimmed config inconsistent with the version actually executed by CI and local scripts.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[npm run fallow] --> B["npx fallow@2.62.0 (pinned in package.json)"]
    B --> C{Version check}
    C -- "2.62.0 < 2.63.0" --> D["❌ @*/__mocks__ NOT auto-credited\n→ reported as unresolved"]
    C -- "2.62.0 < 2.81.0" --> E["❌ node:sqlite NOT a known builtin\n→ reported as unresolved"]
    C -- "2.62.0 < 2.84.0" --> F["❌ feature-flags NOT off by default\n→ rule fires unexpectedly"]
    C -- "2.62.0 < 2.84.0" --> G["❌ vitest.config.ts NOT auto-detected\n→ missed entry point"]
    H["PR goal: fallow@2.84.0"] --> I["✅ All 3 removals safe at ≥2.84.0"]
    I -.->|"version not bumped in package.json"| B
Loading

Reviews (1): Last reviewed commit: "chore: trim .fallowrc now that fallow 2...." | Re-trigger Greptile

Comment thread .fallowrc.jsonc
Comment on lines 1 to 5
{
"$schema": "https://raw.githubusercontent.com/fallow-rs/fallow/main/schema.json",
"entry": [
"vitest.config.ts",
"apps/*/app.config.{js,ts}",
"apps/*/babel.config.{js,cjs,mjs,ts}",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Config trimmed for 2.84.0 but scripts still pin 2.62.0

All three removals rely on features not present in fallow 2.62.0: @*/__mocks__ virtual-specifier credits landed in 2.63.0, node:sqlite builtin recognition in 2.81.0, and feature-flags defaulting to off in 2.84.0. Because package.json pins every fallow script to npx --yes fallow@2.62.0, anyone running npm run fallow (or the CI lane) will get the old 2.62.0 binary, which lacks those native behaviors and will surface the removed entries as findings again. The version pin in package.json needs to be bumped to at least 2.84.0 alongside this config change, otherwise the two are inconsistent.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 7fae8813-45b6-4fe4-abca-b92f3b004464

📥 Commits

Reviewing files that changed from the base of the PR and between 901dc1a and 0b49939.

📒 Files selected for processing (1)
  • scripts/testing/lib/fallowLocalTooling.test.ts

Walkthrough

Removed a vitest entry glob, the ignoreDependencies block, and the feature-flags rule from .fallowrc.jsonc; updated root package.json fallow-related npm scripts to use npx --yes fallow@2.84.0; adjusted tests to match these config and version changes.

Changes

Fallow Configuration Cleanup

Layer / File(s) Summary
Configuration adjustments
.fallowrc.jsonc
Removed vitest.config.ts from entry globs, deleted the ignoreDependencies block that previously excluded @*/__mocks__ and node:sqlite, and removed the feature-flags rule setting.
Update fallow CLI in npm scripts
package.json
All fallow:* script entries now use npx --yes fallow@2.84.0 instead of 2.62.0 for audit, dead-code, dupes, health, dry-run fix, and regression baseline commands.
Test updates validating config & version
scripts/testing/lib/fallowLocalTooling.test.ts
Removed ignoreDependencies from the test FallowConfig shape, updated FALLOW_VERSION to 2.84.0, and removed the assertion that checked node:sqlite in config.ignoreDependencies.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

  • 179: Changes correspond to the fallow 2.84.0 cleanup that removes vitest.config.ts entry, @*/__mocks__ and node:sqlite from ignoreDependencies, and the feature-flags rule.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: trimming .fallowrc.jsonc configuration because fallow 2.84.0 now handles those settings natively.
Description check ✅ Passed The description provides a clear summary of changes, explains the rationale, includes verification details, and references issue #179, though it lacks explicit testing steps in a numbered format.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 28, 2026
@BartWaardenburg
Copy link
Copy Markdown
Author

Good catch from the Greptile review: the scripts were pinned to fallow@2.62.0, which predates the three behaviors this trim relies on, so the config and the executed binary would have been out of sync. Pushed a follow-up commit bumping all 9 fallow@2.62.0 script pins to 2.84.0 so the config and tooling match. The trim is verified against 2.84.0.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@package.json`:
- Around line 54-62: Update the hardcoded FALLOW_VERSION in
scripts/testing/lib/fallowLocalTooling.test.ts so it matches the package.json
scripts which pin fallow@2.84.0: locate the const FALLOW_VERSION = '2.62.0' and
change it to '2.84.0' (or alternately read the version dynamically from
package.json) so the test's version-matching assertion aligns with the pinned
"fallow@2.84.0" in package.json.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3214edd3-8e42-4820-b6a9-3d192b5c137b

📥 Commits

Reviewing files that changed from the base of the PR and between 6e75302 and 901dc1a.

📒 Files selected for processing (1)
  • package.json

Comment thread package.json
Bump FALLOW_VERSION to 2.84.0 to match the pinned package.json scripts,
and drop the obsolete node:sqlite ignoreDependencies assertion (fallow
2.84.0 recognizes node: builtins natively, so the ignore was removed).
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant