public async Task Update(string rootDirectory, bool includePreviews = false, bool switchToStable = false) { var fileList = _packageJsonFileFinder.Find(rootDirectory); if (!fileList.Any()) { return; } _npmGlobalPackagesChecker.Check(); foreach (var file in fileList) { var packagesUpdated = await UpdatePackagesInFile(file, includePreviews, switchToStable); if (packagesUpdated) { var fileDirectory = Path.GetDirectoryName(file).EnsureEndsWith(Path.DirectorySeparatorChar); if (IsAngularProject(fileDirectory)) { await CreateNpmrcFileAsync(Path.GetDirectoryName(file)); } RunYarn(fileDirectory); if (!IsAngularProject(fileDirectory)) { Thread.Sleep(500); RunGulp(fileDirectory); } } } }
public void Update(string rootDirectory) { var fileList = _packageJsonFileFinder.Find(rootDirectory); if (!fileList.Any()) { return; } _npmGlobalPackagesChecker.Check(); foreach (var file in fileList) { UpdatePackagesInFile(file, out var packagesUpdated); if (packagesUpdated) { var fileDirectory = Path.GetDirectoryName(file).EnsureEndsWith(Path.DirectorySeparatorChar); RunYarn(fileDirectory); if (IsAngularProject(fileDirectory) == false) { Thread.Sleep(500); RunGulp(fileDirectory); } } } }
public void Update(string rootDirectory) { var fileList = _packageJsonFileFinder.Find(rootDirectory); foreach (var file in fileList) { UpdatePackagesInFile(file); RunYarnAndGulp(file); } }
public async Task Update(string rootDirectory, bool includePreviews = false, bool switchToStable = false) { var fileList = _packageJsonFileFinder.Find(rootDirectory); if (!fileList.Any()) { return; } _npmGlobalPackagesChecker.Check(); var packagesUpdated = new ConcurrentDictionary <string, bool>(); async Task UpdateAsync(string file) { var updated = await UpdatePackagesInFile(file, includePreviews, switchToStable); packagesUpdated.TryAdd(file, updated); } Task.WaitAll(fileList.Select(UpdateAsync).ToArray()); foreach (var file in packagesUpdated.Where(x => x.Value)) { var fileDirectory = Path.GetDirectoryName(file.Key).EnsureEndsWith(Path.DirectorySeparatorChar); if (includePreviews) { await CreateNpmrcFileAsync(Path.GetDirectoryName(file.Key)); } else if (switchToStable) { await DeleteNpmrcFileAsync(Path.GetDirectoryName(file.Key)); } if (await NpmrcFileExistAsync(fileDirectory)) { RunNpmInstall(fileDirectory); } else { RunYarn(fileDirectory); } if (!IsAngularProject(fileDirectory)) { Thread.Sleep(1000); RunGulp(fileDirectory); } } }
public void Update(string rootDirectory) { var fileList = _packageJsonFileFinder.Find(rootDirectory); if (fileList.Any()) { _npmGlobalPackagesChecker.Check(); foreach (var file in fileList) { UpdatePackagesInFile(file); RunYarnAndGulp(file); } } }