mainDart static method

String mainDart(
  1. String name, {
  2. String? storageImport,
})

lib/main.dart.

When storageImport is provided (Clean), generates a main that initializes SharedPreferences and overrides sharedPreferencesProvider in the ProviderScope. Otherwise generates the minimal ProviderScope bootstrap used by the other architectures.

Implementation

static String mainDart(String name, {String? storageImport}) {
  if (storageImport != null) {
    return '''
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';

import 'app.dart';
import 'package:$name/$storageImport';

Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final prefs = await SharedPreferences.getInstance();

runApp(
  ProviderScope(
    overrides: [
      sharedPreferencesProvider.overrideWithValue(prefs),
    ],
    child: const MyApp(),
  ),
);
}
''';
  }
  return '''
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

import 'app.dart';

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