prefer-riverpod-notifier-suffix
- Group
- Style
- Path
lint/style/prefer-riverpod-notifier-suffix- Default
- Off, opt in
- Origin
- Falcon
- Domain
- riverpod
- Rule
- 401 of 512
Requires a Notifier suffix on classes extending resolved Riverpod notifiers.
Package identities, including inherited identities and re-exports, distinguish
Riverpod notifiers from lookalikes. Generated Dart files are ignored.
Invalid
import 'package:riverpod/riverpod.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart' as flutter;
import 'package:hooks_riverpod/hooks_riverpod.dart' as hooks;
import 'package:state_notifier/state_notifier.dart';
class Counter extends Notifier<int> {}
class AsyncCounter extends AsyncNotifier<int> {}
class StreamCounter extends StreamNotifier<int> {}
class AutoCounter extends AutoDisposeNotifier<int> {}
class FlutterCounter extends flutter.Notifier<int> {}
class HookCounter extends hooks.Notifier<int> {}
class LegacyCounter extends StateNotifier<int> {}
class BaseNotifier extends Notifier<int> {}
class Child extends BaseNotifier {}import 'package:state_notifier/state_notifier.dart';class Counter extends Notifier<int> {}class Counter extends Notifier<int> {}class AsyncCounter extends AsyncNotifier<int> {}class AsyncCounter extends AsyncNotifier<int> {}class StreamCounter extends StreamNotifier<int> {}class StreamCounter extends StreamNotifier<int> {}class AutoCounter extends AutoDisposeNotifier<int> {}class AutoCounter extends AutoDisposeNotifier<int> {}class FlutterCounter extends flutter.Notifier<int> {}class FlutterCounter extends flutter.Notifier<int> {}class HookCounter extends hooks.Notifier<int> {}class HookCounter extends hooks.Notifier<int> {}class LegacyCounter extends StateNotifier<int> {}class BaseNotifier extends Notifier<int> {}class Child extends BaseNotifier {}Valid
import 'package:riverpod/riverpod.dart' as rp;
class CounterNotifier extends rp.Notifier<int> {}
class AsyncCounterNotifier extends rp.AsyncNotifier<int> {}
class StreamCounterNotifier extends rp.StreamNotifier<int> {}
class AutoCounterNotifier extends rp.AutoDisposeNotifier<int> {}
class ChildNotifier extends CounterNotifier {}
class _PrivateNotifier extends rp.Notifier<int> {}
class Notifier<T> {}
class Unrelated extends Notifier<int> {}
class AsyncNotifier<T> {}
class UnrelatedAsync extends AsyncNotifier<int> {}
class Ordinary {}
class Missing extends UnknownNotifier<int> {}Configure prefer-riverpod-notifier-suffix
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"prefer-riverpod-notifier-suffix": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/prefer-riverpod-notifier-suffix: <reason>More style rules
- prefer-riverpod-provider-suffixriverpod
Requires a Provider suffix on resolved Riverpod top-level providers and static fields.
- prefer-single-quotes
prefer_single_quotesFlags double-quoted string literals that could use single quotes without needing an escape.
- prefer-sized-box-squareflutter
Prefers SizedBox.square for an unnamed Flutter
SizedBoxwhose explicit width and height are stable variable reads or numeric literals with identical token spelling. - prefer-spread-collections
prefer_spread_collectionsrecommendedFlags an
addAllcascade on a collection literal that a spread would express. - prefer-switch-expression
Prefer switch expressions for exhaustive switches that only return or assign a value.
- prefer-test-matcherstest
Recommends Matcher expectations and direct type, equality, or ordering matchers.
- prefer-trailing-comma
prefer-trailing-commaFlags multi-line argument lists that are missing a trailing comma.
- prefer-transform-over-containerflutter
Prefers
Transformover aContainerused only fortransform.