Repository navigation
v2.60.0 — config-driven includeEntryExports + SCSS/.tsx collision fix
·
4103 commits
to main
since this release
Highlights
includeEntryExportsis now a config option, and--include-entry-exportsis a global CLI flag. Persistently opt in to entry-file export validation via"includeEntryExports": truein your fallow config, or pass the flag once on combined mode (fallow --include-entry-exports). Previously the bare combined invocation rejected the flag because it was only defined on thedead-codesubcommand.- SCSS / Sass
@use 'X'no longer resolves to a siblingX.tsx. Stylesheet importers now reject standard-resolver hits on JS/TS-family extensions and route through SCSS-aware fallbacks instead, eliminating phantom circular dependencies in standard CSS-modules / AngularstyleUrlspatterns.
Added
includeEntryExportsconfig option. Set"includeEntryExports": true(JSON / JSONC) orincludeEntryExports = true(TOML) in your fallow config. The CLI flag ORs with the config value when set.--include-entry-exportsis now a global flag. Accepted on combined mode (fallow --include-entry-exports),fallow dead-code,fallow audit, andfallow watch(with the override applied at every config reload).include_entry_exportsMCP param on theaudittool. Sibling-tool parity withanalyzeandcheck_changed. Forwards--include-entry-exportsto the dead-code sub-pass.- Stable-API listings updated.
--include-entry-exportsandincludeEntryExportsare now part ofdocs/backwards-compatibility.mdand follow the project's semver guarantees.
Thanks @filipw01 for the report. (Closes #249)
Fixed
- SCSS / Sass
@use 'X'no longer resolves to a siblingX.tsx. When bothWidget.scssandWidget.tsxexist next to each other and a.scssimporter does@use 'Widget', fallow now resolves the import toWidget.scssper Sass's actual resolution algorithm. Stylesheet importers now reject any standard-resolver hit whose extension is a JS/TS-family extension (.tsx,.ts,.mts,.cts,.js,.jsx,.mjs,.cjs) and re-route through the SCSS-aware fallback chain (CSS-extension probe,_filenamepartial convention, framework include paths,node_moduleswalk-up). When those also fail, the import is reported as unresolved instead of falling through to JS/TS extensions. This eliminates phantom 3-file circular dependencies in standard CSS-modules / AngularstyleUrlspatterns where the.tsxcomponent imports its own.scssand a sibling.scssshares variables/mixins via@use. Thanks @OmerGronich for the precise reproduction and the suggested fix. (Closes #245)
Full Changelog: v2.59.0...v2.60.0