safeWriteFile function

void safeWriteFile(
  1. String path,
  2. String content, {
  3. bool overwrite = false,
  4. String? projectPath,
})

Implementation

void safeWriteFile(String path, String content,
    {bool overwrite = false, String? projectPath}) {
  final file = File(path);

  if (!overwrite && file.existsSync()) {
    print('⚠ ${p.basename(path)} already exists. Skipping.');
    return;
  }

  // Ensure parent directory exists
  final parentDir = file.parent;
  if (!parentDir.existsSync()) {
    parentDir.createSync(recursive: true);
  }

  final isUpdate = file.existsSync();
  file.writeAsStringSync(content);
  print('✅ ${p.basename(path)} ${isUpdate ? 'updated' : 'created'}.');

  // Trigger AppStrings sync if found
  if (content.contains('AppStrings.') && projectPath != null) {
    syncAppStrings(projectPath, content);
  }
}