init static method
make sure you deleted all files from lib folder before run this function.
it will =>
- create project structure.
- add some required packages.
- add assets to projects.
- remove comments from pubspec.yaml .
- 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);
}