runCore function
Implementation
Future<void> runCore() async {
Future<void> crearArchivo(String ruta, String contenido) async {
final archivo = File(ruta);
await archivo.create(recursive: true);
await archivo.writeAsString(contenido);
print('Creado: $ruta');
}
print(
'Iniciando la creación de la estructura de carpetas y archivos Dart...');
await Directory('lib/core/animation').create(recursive: true);
await crearArchivo('lib/core/animation/animation.dart', '// animation\n');
await Directory('lib/core/routes').create(recursive: true);
await crearArchivo('lib/core/routes/routes.dart', '// routes\n');
await Directory('lib/core/config').create(recursive: true);
await crearArchivo('lib/core/config/config.dart', '''
// config
export "injection.dart";
export "di.dart";
''');
await crearArchivo('lib/core/config/di.dart', '// config');
await crearArchivo('lib/core/config/injection.dart', '''
// config
import "package:flutter/material.dart";
class DependencyInjection {
static Future<void> init() async {
WidgetsFlutterBinding.ensureInitialized();
}
}
''');
await Directory('lib/core/constants').create(recursive: true);
await crearArchivo('lib/core/constants/constants.dart', '''
// constants
export "colors.dart";
export "text_style.dart";
''');
await crearArchivo('lib/core/constants/colors.dart', '''
// constants
import "package:flutter/material.dart";
class AppColor {
static Color black = const Color(0xFF000000);
static Color white = const Color(0xFFFFFFFF);
static Color primaryColor = const Color(0xFF00703C);
static Color backgroundColor = Colors.white;
static Color textColor = Colors.black;
static Color textColorContrast = Colors.white;
}
''');
await crearArchivo('lib/core/constants/text_style.dart', '''
// constants
import "package:flutter/material.dart";
mixin Font implements FontWeight {
static FontWeight get l => FontWeight.w300;
static FontWeight get n => FontWeight.w400;
static FontWeight get sb => FontWeight.w500;
static FontWeight get b => FontWeight.w700;
}
class AppTextStyle extends TextStyle {
static TextStyle get header => const TextStyle();
}
''');
await Directory('lib/core/errors').create(recursive: true);
await crearArchivo('lib/core/errors/error.dart', '// errors');
await Directory('lib/core/theme').create(recursive: true);
await crearArchivo('lib/core/theme/theme.dart', '''
// theme
import "package:flutter/material.dart";
import "../constants/constants.dart";
ThemeData themeData = ThemeData(
useMaterial3: true,
brightness: Brightness.light,
scaffoldBackgroundColor: AppColor.backgroundColor,
);
''');
await Directory('lib/core/utils').create(recursive: true);
await crearArchivo('lib/core/utils/utils.dart', '// utils');
await Directory('lib/core/widgets').create(recursive: true);
await crearArchivo('lib/core/widgets/widgets.dart', '// widgets');
print('¡Estructura y archivos creados con éxito!');
}