removeAnalyticsScreenNameIfUnsupported method
Boilerplates older than the navigation update have no AnalyticsScreenName; the generated page would
not compile there, so the interface, its import and the getter are removed again.
Implementation
Future<void> removeAnalyticsScreenNameIfUnsupported({
required String destinationPath,
required String featureName,
}) async {
if (File(kAnalyticsScreenNamePath).existsSync()) return;
final File page =
File('$destinationPath/${featureName.toLowerCase()}_page.dart');
if (!page.existsSync()) return;
String content = await page.readAsString();
content = content
.replaceAll(kAnalyticsScreenNameImport, '')
.replaceAll(kAnalyticsScreenNameImplements, '')
.replaceAll(
RegExp(
'${RegExp.escape(kAnalyticsScreenNameGetterStart)}[^\n]*\n',
),
'\n',
);
await page.writeAsString(content);
}