v2.88.1: VS Code CLI compatibility and Angular injection-token template fixes
Bug fixes
-
The VS Code extension no longer fails its analysis against an older resolved
fallowCLI. The extension and the CLI it runs are versioned and resolved independently (PATH,node_modules/.bin, the managed download, or a deliberately pinned binary), so a freshly updated extension could drive an older CLI. The sidebar passed--dupes-min-occurrencesunconditionally, which only exists in CLI v2.88.0+, so an older binary aborted the whole run with an "unexpected argument" error. The extension default for that setting (2) is also the CLI default, so it was a no-op that broke older binaries for no benefit. The extension now omits the flag at the default, probes the resolved CLI version once and drops version-gated flags an older CLI cannot accept, and as a backstop strips a rejected known flag and retries instead of failing. A single warning per session (shared with the existing language-server version-mismatch notice) points at the skew, with per-run detail in the Fallow output channel. Thanks @melroy89 for the report. (Regression from #894.) -
Angular external templates now credit members reached through
inject(InjectionToken<Interface>)fields. A component fieldreadonly greeter = inject(GREETER), whereGREETERis anew InjectionToken<Greeter>(...)and a project classimplements Greeter, previously left that class's methods reported as unused when their only reference was a template call like{{ greeter.greet() }}. The earlier fix only covered injecting a concrete class. Fallow now records the token's interface type argument and credits the accessed member on every class implementing that interface, covering both the untyped (inject(GREETER)) and interface-typed (greeter: Greeter = inject(GREETER)) field forms. Thanks @OmerGronich for the report. (Closes #920.)
Full Changelog: v2.88.0...v2.88.1