try awaiting spawn on windows

This commit is contained in:
Cory Miller 2023-02-17 18:26:26 +00:00
parent d2b7d85e7c
commit a730b5ca5f

View File

@ -128,15 +128,28 @@ export async function rmRF(inputPath: string): Promise<void> {
} }
try { try {
const cmdPath = ioUtil.getCmdPath() const cmdPath = ioUtil.getCmdPath()
if (await ioUtil.isDirectory(inputPath, true)) {
await exec(`${cmdPath} /s /c "rd /s /q "%inputPath%""`, { const p = new Promise(async (resolve, reject) => {
env: {inputPath} setTimeout(() => {
resolve("timeout")
}, 500)
let result = null;
if (await ioUtil.isDirectory(inputPath, true)) {
result = childProcess.spawn(cmdPath, ['/s', '/c', '"rd /s /q "%inputPath%""'], {
env: {inputPath}
})
} else {
result = childProcess.spawn('cmdPath', ['/s', '/c', '"del /f /a "%inputPath%""'], {
env: {inputPath}
})
}
result.on('close', (code) => {
resolve(code)
}) })
} else { })
await exec(`${cmdPath} /s /c "del /f /a "%inputPath%""`, { await p
env: {inputPath}
})
}
} catch (err) { } catch (err) {
// if you try to delete a file that doesn't exist, desired result is achieved // if you try to delete a file that doesn't exist, desired result is achieved
// other errors are valid // other errors are valid