public static NpmHistory GetPackageHistory(string package) { var processStartInfo = CreateProcessStartInfo(); var process = Process.Start(processStartInfo); if (process == null) { MessageBox.Show($"{Resource.NpmPackageInstallFailureMessage}"); return(null); } process.StandardInput.WriteLine($"npm view {package}"); process.StandardInput.Flush(); process.StandardInput.Close(); var output = process.StandardOutput.ReadToEnd(); process.WaitForExit(); Regex regEx = new Regex(@"\{(.|\s)*\}"); var m = regEx.Match(output); string json = m.Value; NpmHistory history = JsonConvert.DeserializeObject <NpmHistory>(json); return(history); }
private void PreHandleTypeScriptProjects() { NpmHistory history = NpmProcessor.GetPackageHistory("@types/xrm"); NpmPicker npmPicker = new NpmPicker(history); bool? result = npmPicker.ShowModal(); if (!result.HasValue || result.Value == false) { throw new WizardBackoutException(); } _typesXrmVersion = npmPicker.SelectedPackage.Version; }