prefer-multi-bloc-provider
- Group
- Style
- Path
lint/style/prefer-multi-bloc-provider- Default
- Off, opt in
- Origin
- Falcon
- Domain
- bloc
- Rule
- 387 of 512
Flatten directly nested package:flutter_bloc BlocProviders with MultiBlocProvider.
Invalid
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_bloc/flutter_bloc.dart' as fb;
Object example() {
final p0 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0));
final p1 = new BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0));
final p2 = fb.BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0));
final p3 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0));
final p4 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0));
return p0;
}Object example() { final p0 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p0 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p1 = new BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p1 = new BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p2 = fb.BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p2 = fb.BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p3 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p3 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0)); final p4 = BlocProvider<int>(create: (_) => 0, child: BlocProvider<int>.value(value: 1, child: 0));Valid
import 'package:flutter_bloc/flutter_bloc.dart' as fb;
class BlocProvider { BlocProvider({required Object child}); }
Object example() {
final single = fb.BlocProvider<int>(create: (_) => 0, child: 0);
final unrelated = BlocProvider(child: BlocProvider(child: 0));
final mixed = fb.BlocProvider<int>(create: (_) => 0, child: BlocProvider(child: 0));
final repositories = fb.RepositoryProvider<int>(create: (_) => 0, child: fb.RepositoryProvider<int>(create: (_) => 0, child: 0));
final multi = fb.MultiBlocProvider(providers: [fb.BlocProvider<int>(create: (_) => 0, child: 0)], child: single);
return multi;
}Configure prefer-multi-bloc-provider
Set its severity in falcon.json. See the configuration guide.
{
"linter": {
"rules": {
"style": {
"prefer-multi-bloc-provider": "error"
}
}
}
}Or silence one occurrence with a suppression comment; the reason is required.
// falcon-ignore lint/style/prefer-multi-bloc-provider: <reason>More style rules
- prefer-multi-providerprovider
Prefer a flat
MultiProviderto directly nested provider widgets. - prefer-named-boolean-parameters
Flags explicit positional
boolparameters in private declarations and unconstrained closures. - prefer-named-parameters
Prefer named parameters when a declaration exceeds
max-number(default 1). - prefer-null-aware-method-calls
prefer_null_aware_method_callsrecommendedPrefers
f?.call()to calling a null-checked function after a!= nulltest. - prefer-padding-over-containerflutter
Prefers
Paddingover aContainerused only forpadding. - prefer-provider-extensionsprovider
Prefer context.read/watch when provider extensions are in scope.
- prefer-returning-condition
Flags an
ifreturning a boolean literal followed by the opposite literal. - prefer-riverpod-notifier-suffixriverpod
Requires a
Notifiersuffix on classes extending resolved Riverpod notifiers.