injectTopLevel static method

Future<void> injectTopLevel({
  1. required String filePath,
  2. required String newContent,
})

Implementation

static Future<void> injectTopLevel({
  required String filePath,
  required String newContent,
}) async {
  final file = File(filePath);
  if (!file.existsSync()) return;

  String content = await file.readAsString();
  // Prevent duplicate imports
  if (content.contains(newContent.trim())) return;

  // Typically for imports, we want them at the top
  await file.writeAsString('$newContent\n$content', flush: true);
}