public async Task Deploy(string Name, Template template) { var path = Path.Combine(Environment.CurrentDirectory, Name); if (FileSystemHelpers.DirectoryExists(path)) { var response = "n"; do { ColoredConsole.Write("A directory with the name {Name} already exists. Overwrite [y/n]? [n] "); response = Console.ReadLine(); } while (response != "n" && response != "y"); if (response == "n") { return; } } if (FileSystemHelpers.DirectoryExists(path)) { FileSystemHelpers.DeleteDirectorySafe(path, ignoreErrors: false); } FileSystemHelpers.EnsureDirectory(path); foreach (var file in template.Files) { var filePath = Path.Combine(path, file.Key); ColoredConsole.WriteLine($"Writing {filePath}"); await FileSystemHelpers.WriteAllTextToFileAsync(filePath, file.Value); } var functionJsonPath = Path.Combine(path, "function.json"); ColoredConsole.WriteLine($"Writing {functionJsonPath}"); await FileSystemHelpers.WriteAllTextToFileAsync(functionJsonPath, JsonConvert.SerializeObject(template.Function, Formatting.Indented)); }
public void Commit() { FileSystemHelpers.WriteAllTextToFile(_filePath, JsonConvert.SerializeObject(this, Formatting.Indented)); }