prefer-riverpod-provider-suffix
- Group
- Style
- Path
lint/style/prefer-riverpod-provider-suffix- Default
- Off, opt in
- Origin
- Falcon
- Domain
- riverpod
- Rule
- 402 of 512
Requires a Provider suffix on resolved Riverpod top-level providers and static fields.
Invalid
import 'package:riverpod/riverpod.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart' as flutter;
import 'package:hooks_riverpod/hooks_riverpod.dart' as hooks;
final count = Provider<int>((ref) => 0);
final future = FutureProvider<int>((ref) => 0);
final stream = StreamProvider<int>((ref) => 0);
final family = ProviderFamily<int, int>((ref, arg) => arg);
final disposed = AutoDisposeProvider<int>((ref) => 0);
final flutterCount = flutter.Provider<int>((ref) => 0);
final hooksCount = hooks.Provider<int>((ref) => 0);
Provider<int>? typed;
class Providers {
static final count = Provider<int>((ref) => 0);
}import 'package:hooks_riverpod/hooks_riverpod.dart' as hooks;final count = Provider<int>((ref) => 0);final count = Provider<int>((ref) => 0);final future = FutureProvider<int>((ref) => 0);final future = FutureProvider<int>((ref) => 0);final stream = StreamProvider<int>((ref) => 0);final stream = StreamProvider<int>((ref) => 0);final family = ProviderFamily<int, int>((ref, arg) => arg);final family = ProviderFamily<int, int>((ref, arg) => arg);final disposed = AutoDisposeProvider<int>((ref) => 0);final disposed = AutoDisposeProvider<int>((ref) => 0);final flutterCount = flutter.Provider<int>((ref) => 0);final flutterCount = flutter.Provider<int>((ref) => 0);final hooksCount = hooks.Provider<int>((ref) => 0);final hooksCount = hooks.Provider<int>((ref) => 0);Provider<int>? typed;class Providers { static final count = Provider<int>((ref) => 0);Valid
import 'package:riverpod/riverpod.dart' as rp;
final countProvider = rp.Provider<int>((ref) => 0);
final futureProvider = rp.FutureProvider<int>((ref) => 0);
final streamProvider = rp.StreamProvider<int>((ref) => 0);
final familyProvider = rp.ProviderFamily<int, int>((ref, arg) => arg);
final autoProvider = rp.AutoDisposeProvider<int>((ref) => 0);
class Providers {
static final countProvider = rp.Provider<int>((ref) => 0);
final instance = rp.Provider<int>((ref) => 0);
}
void localValues() { final local = rp.Provider<int>((ref) => 0); }
class Provider<T> { Provider(T Function(Object) create); }
final unrelated = Provider<int>((ref) => 0);
final ordinary = 0;Configure prefer-riverpod-provider-suffix
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"prefer-riverpod-provider-suffix": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/prefer-riverpod-provider-suffix: <reason>More style rules
- 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. - prefer-type-over-var
Prefer explicit types over
varin ordinary variable declarations.