createMainCode function

void createMainCode()

Implementation

void createMainCode() {
  final mainFile = File('lib/main.dart');
  const newCode = '''
import 'package:flutter/material.dart';
import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'core/config/env.dart';
import 'routes/app_router.dart';

Future<void> main() async {
  WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
  FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);

  await Env.loadEnvironment();

  runApp(const MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      title: 'My App',
      debugShowCheckedModeBanner: false,
      routerDelegate: AppRouter.router.routerDelegate,
      routeInformationParser: AppRouter.router.routeInformationParser,
      routeInformationProvider: AppRouter.router.routeInformationProvider,
    );
  }
}
''';

  if (!mainFile.existsSync() || mainFile.readAsStringSync() != newCode) {
    mainFile.writeAsStringSync(newCode);
    print('✅ main.dart updated');
  } else {
    print('ℹ️ main.dart already up-to-date');
  }
}