init static method

Future<void> init({
  1. required String initScreenName,
  2. bool loggerSystem = false,
  3. bool translationSystem = false,
  4. bool routeNavigation = false,
  5. bool toastManager = false,
})

make sure you deleted all files from lib folder before run this function.

it will =>

  1. create project structure.
  2. add some required packages.
  3. add assets to projects.
  4. remove comments from pubspec.yaml .
  5. run pub get command

Implementation

static Future<void> init({
  required String initScreenName,
  bool loggerSystem = false,
  bool translationSystem = false,
  bool routeNavigation = false,
  bool toastManager = false,
}) async {
  if (translationSystem) {
    _arFile.createSync(recursive: true);
    await _arFile.writeAsString(_arTemp);
    _enFile.createSync(recursive: true);
    await _enFile.writeAsString(_enTemp);
  }

  _mainFile.createSync(recursive: true);
  await _mainFile.writeAsString(
    _mainTemp(
      initScreenName,
      loggerSystem: loggerSystem,
      translationSystem: translationSystem,
      routeNavigation: routeNavigation,
      toastManager: toastManager,
    ),
  );
  await BlueBird.newScreen(initScreenName);
  await _analysisOptionsFile.writeAsString(_analysisOptionsTemp);
  if (routeNavigation) await generateRoutes();

  final removePackages = [
    if (!loggerSystem) Packages.easy_logger,
    if (!translationSystem) Packages.easy_localization,
    if (!routeNavigation) Packages.go_router,
    if (!toastManager) Packages.bot_toast,
  ];
  await addPackages(
    _packagesTemp..removeWhere((p) => removePackages.contains(p)),
  );
  await _initYaml(translationSystem: translationSystem);
  if (loggerSystem) await _createNew('helper', _commonFolder, _helperTemp);
}