Skip to content

v2.88.1: VS Code CLI compatibility and Angular injection-token template fixes

Choose a tag to compare

@BartWaardenburg BartWaardenburg released this 03 Jun 15:14
· 250 commits to main since this release
v2.88.1
157f6bd

Bug fixes

  • The VS Code extension no longer fails its analysis against an older resolved fallow CLI. 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-occurrences unconditionally, 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 field readonly greeter = inject(GREETER), where GREETER is a new InjectionToken<Greeter>(...) and a project class implements 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