addPage function

void addPage({
  1. required String featureName,
})

Implementation

void addPage({required String featureName}) {
  var appPagesFile = findFileByName('app_pages.dart');
  var lines = <String>[];
  var content = formatterDartFile(appPagesFile.readAsStringSync());
  lines = LineSplitter.split(content).toList();
  var indexRoutes = lines
      .indexWhere((element) => element.trim().contains('static final routes'));
  var index =
      lines.indexWhere((element) => element.contains('];'), indexRoutes);
  var line = '''GetPage(
name: _Paths.${featureName.camelCase},
page:()=> const ${featureName.pascalCase}View(),
binding: ${featureName.pascalCase}Binding(),
),
''';
  lines.insert(index, line);

  lines.insert(0,
      "import '../modules/$featureName/bindings/${featureName}_binding.dart';");
  lines.insert(
      0, "import '../modules/$featureName/views/${featureName}_view.dart';");

  writeFile(
    appPagesFile.path,
    lines.join('\n'),
    overwrite: true,
    logger: false,
  );

  LogService.success('Page $featureName added to app_pages.dart');
}