Mike Phares 4e3f06bb44 Minor changes
Empty file ISO
Add date back for just .kanbn
Removed HardcodedFileSearchAndSort
Sync with 01-23
JsonToTsv
System.Text.Json
White-List
Ready to move to Move Helper
Remove Whitelist
Force Start At
Check for .git directory before ls
Optional
Allow root for unc path
nuget bump
PreVerify
EnforceCodeStyleInBuild
dotnet_analyzer_diagnostic
HelperGit
searchDelegate
Host File
AlertIfNewDeviceIsConnected
AOT
SetFrontMatterAndH1
Match Error
Unknown with better logging
Undo 04-05
WriteAppendToHostConfFile
MonA
IsKanbanIndex
Dotnet Format Pre-commit
NPM
CreateWindowsShortcut
Working directory
Split description
Copy tests
Ready to test
Delete after a couple of days
GitConfigCleanUp
knb Files
2024-05-01 09:05:08 -07:00

30 lines
1.2 KiB
C#

using System.Diagnostics;
namespace File_Folder_Helper.Helpers;
internal static class HelperNPM
{
internal static string RunCommand(string commandFileName, string commandToRun, string workingDirectory)
{
string result;
if (!string.IsNullOrEmpty(commandFileName))
File.WriteAllText(Path.Combine(workingDirectory, commandFileName), commandToRun);
if (string.IsNullOrEmpty(workingDirectory))
workingDirectory = Directory.GetDirectoryRoot(Directory.GetCurrentDirectory());
ProcessStartInfo processStartInfo = new()
{
FileName = "cmd",
RedirectStandardError = true,
RedirectStandardInput = true,
RedirectStandardOutput = true,
WorkingDirectory = workingDirectory
};
Process? process = Process.Start(processStartInfo) ?? throw new Exception("Process should not be null.");
process.StandardInput.WriteLine($"{commandToRun} & exit");
process.WaitForExit();
result = $"{process.StandardOutput.ReadToEnd()}{Environment.NewLine}{process.StandardError.ReadToEnd()}{Environment.NewLine}{process.ExitCode}";
return result;
}
}