addRouteToAppRoutes method
Implementation
void addRouteToAppRoutes(
String featureName, String pathName, String projectDir) {
final routesFile =
File(path.join(projectDir, 'lib/routes/app_routes.dart'));
if (!routesFile.existsSync()) {
printWarning('app_routes.dart file not found. Skipping route addition.');
return;
}
final content = routesFile.readAsStringSync();
final routesEntry = '''
static const $featureName = _Paths.$featureName;''';
final pathsEntry = '''
static const $featureName = '$pathName';''';
final namesEntry = '''
static const $featureName = '$featureName';''';
final namesPathEntry = '''
static const $featureName = _Names.$featureName;''';
String updatedContent = content;
if (content.contains('abstract class Routes {')) {
updatedContent = updatedContent.replaceFirst(
'abstract class Routes {',
'abstract class Routes {\n$routesEntry',
);
}
if (content.contains('abstract class _Paths {')) {
updatedContent = updatedContent.replaceFirst(
'abstract class _Paths {',
'abstract class _Paths {\n$pathsEntry',
);
}
if (content.contains('abstract class _Names {')) {
updatedContent = updatedContent.replaceFirst(
'abstract class _Names {',
'abstract class _Names {\n$namesEntry',
);
}
if (content.contains('abstract class Names {')) {
updatedContent = updatedContent.replaceFirst(
'abstract class Names {',
'abstract class Names {\n$namesPathEntry',
);
}
routesFile.writeAsStringSync(updatedContent);
print('Updated routes in app_routes.dart');
}