ensureStorageManagedStateIsGitIgnored function
Ensures that Storage managed state is ignored by Git.
Implementation
Future<void> ensureStorageManagedStateIsGitIgnored() async {
final file = File("cloudflare/.gitignore");
if (!file.existsSync()) {
throw StateError(
"The file `cloudflare/.gitignore` does not exist. Initialize "
"Cloudflare Workers before enabling Storage.",
);
}
final lines = await file.readAsLines();
if (lines.any((line) => line.trim() == "storage.yaml")) {
return;
}
lines.add("storage.yaml");
await file.writeAsString("${lines.join("\n")}\n");
}