writeCronTasks function

Future<void> writeCronTasks(
  1. List<CronTask> tasks, {
  2. String? dir,
})

Overwrite .neomage/scheduled_tasks.json with the given tasks. Creates .neomage/ if missing.

Implementation

Future<void> writeCronTasks(List<CronTask> tasks, {String? dir}) async {
  final root = dir ?? Directory.current.path;
  final neomageDir = Directory(p.join(root, '.neomage'));
  if (!neomageDir.existsSync()) {
    await neomageDir.create(recursive: true);
  }
  final body = {'tasks': tasks.map((t) => t.toJson()).toList()};
  await File(
    getCronFilePath(dir: root),
  ).writeAsString('${const JsonEncoder.withIndent('  ').convert(body)}\n');
}