What problem does it solve?
Signals-lint helps developers catch common reactive performance and correctness problems early by surfacing standardized diagnostics and offering automated refactors for Flutter and signals.dart usage patterns.
Core Features & Use Cases
- Prevents signal/state anti-patterns: Flags creation of signals/computeds inside Flutter
build methods to avoid state resets and unintended reactivity churn.
- Cleans up deprecated APIs: Detects deprecated
BuildContext.watch()/unwatch() patterns and legacy with SignalsMixin usage, guiding you toward modern widget composition.
- Improves readability and correctness: Enforces API style choices like named builders and unified options to keep reactive widget construction consistent.
- Automates common migrations: Provides quick-fixes such as wrapping with
SignalBuilder, converting Stateless/Stateful widgets into their signal-aware counterparts, migrating SignalsMixin, and converting legacy Watch to SignalBuilder.
Quick Start
Enable the custom_lint analyzer plugin and add signals_lint as a dev dependency, then open your Flutter code and use the IDE quick-fix on flagged signals-related widgets.