-
Notifications
You must be signed in to change notification settings - Fork 50
Comparing changes
Open a pull request
base repository: fallow-rs/fallow
base: v2.59.0
head repository: fallow-rs/fallow
compare: v2.60.0
- 8 commits
- 61 files changed
- 1 contributor
Commits on May 1, 2026
-
Configuration menu - View commit details
-
Copy full SHA for bb2e785 - Browse repository at this point
Copy the full SHA bb2e785View commit details -
ci(release): continue-on-error on vsce + ovsx publish steps
Lets a future transient registry failure be retried via 'gh run rerun --failed' without re-tripping the already-succeeded sibling step. Without this, a 502 from openvsx.org blocks Open VSX permanently because vsce publish then fails with version-exists on rerun.
Configuration menu - View commit details
-
Copy full SHA for 2bb686e - Browse repository at this point
Copy the full SHA 2bb686eView commit details -
docs(changelog): credit @OmerGronich for v2.59.0 perf + stack fix
The v2.59.0 release shipped fixes for #243 (focused-mode --changed-since, IntervalIndex coalescing, default-ignore generated framework output) and #247 (16 MiB rayon worker stack pin) but neither issue nor reporter was credited. Add a Fixed section for #247 and a thanks line + Closes #243 on the --changed-since perf bullet.
Configuration menu - View commit details
-
Copy full SHA for 5709686 - Browse repository at this point
Copy the full SHA 5709686View commit details -
feat(config): support includeEntryExports + promote --include-entry-e…
…xports to global flag Closes #249. Two changes addressing the issue from @filipw01: 1. Bug fix: `fallow --include-entry-exports` (combined mode, no subcommand) previously failed with `error: unexpected argument` because the flag was only defined on the `dead-code` subcommand. The flag is now global on the Cli struct and accepted on combined mode, dead-code, audit, and watch. 2. Enhancement: add `includeEntryExports: bool` to FallowConfig (camelCase), default false, propagated through FallowConfig::resolve into ResolvedConfig. The CLI flag ORs with the config value; the existing override in check/mod.rs remains. Watch mode also applies the override after every config (re)load so the CLI flag takes effect under watch. Plumbing: - CombinedOptions, AuditOptions, and WatchOptions all gain `include_entry_exports`, wired from cli.include_entry_exports in main.rs. - All explicit FallowConfig struct literals across the workspace updated. Tests: - 4 unit tests in crates/config (camelCase JSON+TOML deserialize, default=false, propagate-through-resolve). - 1 integration test covering the config-driven path via new fixture tests/fixtures/entry-export-validation-config/. - 2 CLI integration tests (combined-mode CLI flag, combined-mode config-driven). - 1 watch-mode unit test asserting the CLI override applies after reload. Companion docs (committed separately in fallow-docs / fallow-skills) document the new global flag and the includeEntryExports config option; the bundled npm/fallow/skills/ vendored copy is in sync. action.yml input description loosened to drop the "(dead-code command)" qualifier.
Configuration menu - View commit details
-
Copy full SHA for 75e54bb - Browse repository at this point
Copy the full SHA 75e54bbView commit details -
feat(mcp): expose include_entry_exports on audit tool + add stable-AP…
…I listings Follow-up to #249. /fallow-review surfaced two gaps: 1. MCP audit tool: now that `--include-entry-exports` is a global CLI flag accepted on `fallow audit`, the corresponding `audit` MCP tool should surface it as a param too (sibling-tool parity with `analyze` / `check_changed`). Add `include_entry_exports: Option<bool>` to `AuditParams`, forward it to `--include-entry-exports` in `build_audit_args`, update the tool description in `server/mod.rs`, add 2 unit tests pinning the emit / no-emit paths, and refresh `.claude/rules/mcp-server.md` audit row. 2. docs/backwards-compatibility.md: list `--include-entry-exports` under stable global flags AND `includeEntryExports` under documented config fields, since both are part of the stability promise once shipped. Also mirrored the audit-row update into the bundled `npm/fallow/skills/fallow/SKILL.md`. The fallow-docs MCP page and fallow-skills SKILL audit row were updated and committed separately.
Configuration menu - View commit details
-
Copy full SHA for ae7207b - Browse repository at this point
Copy the full SHA ae7207bView commit details -
fix(graph): SCSS imports no longer resolve to sibling .tsx files
Closes #245. When a `.scss` / `.sass` file does `@use 'Widget'` (extensionless) and both `Widget.scss` and `Widget.tsx` exist as siblings, fallow now resolves the import to `Widget.scss` per Sass's actual resolution algorithm. The standard `oxc_resolver` extension list contains `.tsx` / `.ts` before `.scss`, so without this guard a bare specifier from a stylesheet was silently picking the JS/TS sibling, creating phantom circular dependencies in standard CSS-modules / Angular `styleUrls` patterns: Helper.scss -> Widget.tsx -> Helper.tsx -> Helper.scss (Helper.scss meant to share Sass variables with Widget.scss but mis-resolved to Widget.tsx instead.) Implementation: in `resolve_specifier`, after the standard resolver returns a hit, reject any path whose extension is a JS/TS-family extension (.tsx, .ts, .mts, .cts, .js, .jsx, .mjs, .cjs) when the importer is `.scss` / `.sass`, and re-route through the SCSS-aware fallback chain (CSS-extension probe, `_filename` partial convention, framework include paths, `node_modules` walk-up). When those also fail, the import is reported as unresolved instead of falling through to JS/TS extensions. SFC `<style>` block imports (`from_style = true`) keep their existing behaviour because their importer extension is `.vue` / `.svelte` rather than `.scss`. Tests: new fixture `scss-bare-import-tsx-collision` exactly mirrors the issue's reproduction (Widget.tsx + Widget.scss siblings, Helper.scss with `@use 'Widget'`, Helper.tsx imports `./Helper.scss`). Integration test asserts zero circular dependencies, zero unresolved imports, and that Widget.scss is reachable. The OLD binary built via `git stash` of the diff produces the exact 3-file phantom cycle the issue documents; the FIXED binary produces zero. The other 9 SCSS integration tests (partial convention, include paths, node_modules resolution, external package SCSS subpaths, SFC `<style>` blocks, Vite preprocessor additionalData) continue to pass.
Configuration menu - View commit details
-
Copy full SHA for a0944ea - Browse repository at this point
Copy the full SHA a0944eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5702be9 - Browse repository at this point
Copy the full SHA 5702be9View commit details -
Configuration menu - View commit details
-
Copy full SHA for c215170 - Browse repository at this point
Copy the full SHA c215170View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v2.59.0...v2.60.0