flutter_riverpod_clean_generator 0.1.0 copy "flutter_riverpod_clean_generator: ^0.1.0" to clipboard
flutter_riverpod_clean_generator: ^0.1.0 copied to clipboard

A code generator that scaffolds a feature-first Clean Architecture project structure with Riverpod (Notifier/AsyncNotifier) into a Flutter project.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';

import 'core/di/core_providers.dart';
import 'core/routing/app_router.dart';
import 'core/theme/app_theme.dart';

/// Wires up the pieces `core/di/core_providers.dart` leaves for the app
/// entrypoint to provide: `SharedPreferences` needs to be resolved
/// asynchronously before anything can read from it.
Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  final sharedPreferences = await SharedPreferences.getInstance();

  runApp(
    ProviderScope(
      overrides: [
        sharedPreferencesProvider.overrideWithValue(sharedPreferences),
      ],
      child: const App(),
    ),
  );
}

class App extends ConsumerWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final router = ref.watch(routerProvider);

    return MaterialApp.router(
      title: 'Clean Architecture Generator Example',
      theme: AppTheme.light,
      darkTheme: AppTheme.dark,
      routerConfig: router,
    );
  }
}
1
likes
0
points
150
downloads

Publisher

unverified uploader

Weekly Downloads

A code generator that scaffolds a feature-first Clean Architecture project structure with Riverpod (Notifier/AsyncNotifier) into a Flutter project.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

args, path

More

Packages that depend on flutter_riverpod_clean_generator