///<summary>Compiles an in-memory string.</summary> public static async Task <string> CompileSourceAsync(this NodeExecutorBase compiler, string source, string sourceExtension) { var sourceFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + sourceExtension); try { File.WriteAllText(sourceFileName, source); return(await compiler.CompileToStringAsync(sourceFileName)); } finally { File.Delete(sourceFileName); } }
///<summary>Compiles an existing file on disk to a string.</summary> public static async Task <string> CompileToStringAsync(this NodeExecutorBase compiler, string sourceFileName) { // CoffeeScript cannot compile to a different filename. var targetFileName = Path.ChangeExtension(sourceFileName, compiler.TargetExtension); try { var result = await compiler.CompileAsync(sourceFileName, targetFileName); if (result.IsSuccess) { return(result.Result); } else { throw new ExternalException(result.Errors.First().Message); } } finally { File.Delete(targetFileName); } }
private void EditGlobalRtlCssFile() { string fileName = NodeExecutorBase.GetOrCreateGlobalSettings(RtlCssCompiler.ConfigFileName); _dte.ItemOperations.OpenFile(fileName); }