public static void Test(ITestOutputHelper outputHelper, string workingDirectory) { ProcessEx.RunViaShell(outputHelper, workingDirectory, "npm run lint"); if (!File.Exists(Path.Join(workingDirectory, "angular.json"))) { ProcessEx.RunViaShell(outputHelper, workingDirectory, "npm run test"); } }
private static void Restore(ITestOutputHelper output, string workingDirectory) { // It's not safe to run multiple NPM installs in parallel // https://github.com/npm/npm/issues/2500 lock (NpmInstallLock) { output.WriteLine($"Restoring NPM packages in '{workingDirectory}' using npm..."); ProcessEx.RunViaShell(output, workingDirectory, "npm install"); } }
private async Task <ProcessEx> RestoreAsync(ITestOutputHelper output, string workingDirectory) { // It's not safe to run multiple NPM installs in parallel // https://github.com/npm/npm/issues/2500 await NodeLock.WaitAsync(); try { output.WriteLine($"Restoring NPM packages in '{workingDirectory}' using npm..."); var result = ProcessEx.RunViaShell(output, workingDirectory, "npm install"); return(result); } finally { NodeLock.Release(); } }