flutter_state_migrator 2.3.1 copy "flutter_state_migrator: ^2.3.1" to clipboard
flutter_state_migrator: ^2.3.1 copied to clipboard

Automated CLI tool to migrate Flutter apps from Provider, BLoC, GetX, and MobX to Riverpod.

example/lib/main.dart

// Example: before-and-after migration from Provider to Riverpod.
//
// Run `dart pub global activate flutter_state_migrator` then:
//   migrator --mode aggressive --dry-run .
// to preview the automated transformation of this file.
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

// ── Riverpod notifier (post-migration) ──────────────────────────────────────

class Counter extends StateNotifier<int> {
  Counter() : super(0);
  void increment() => state++;
}

final counterProvider = StateNotifierProvider<Counter, int>((ref) => Counter());

// ── App ──────────────────────────────────────────────────────────────────────

void main() {
  runApp(const ProviderScope(child: MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter State Migrator Example',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const CounterScreen(),
    );
  }
}

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

  @override
  Widget build(BuildContext context, WidgetRef ref) {
    final count = ref.watch(counterProvider);
    return Scaffold(
      appBar: AppBar(title: const Text('Counter (Riverpod)')),
      body: Center(
        child: Text(
          'Count: $count',
          style: Theme.of(context).textTheme.headlineMedium,
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => ref.read(counterProvider.notifier).increment(),
        child: const Icon(Icons.add),
      ),
    );
  }
}
4
likes
0
points
93
downloads

Publisher

unverified uploader

Weekly Downloads

Automated CLI tool to migrate Flutter apps from Provider, BLoC, GetX, and MobX to Riverpod.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analyzer, args, cupertino_icons, flutter, flutter_riverpod, go_router, http, path, provider, yaml

More

Packages that depend on flutter_state_migrator