UNPKG

nve

Version:

Run any command on specific Node.js versions

63 lines (49 loc) 771 B
export const cleanupProcesses=async(versions,continueOpt,state)=>{ await Promise.all( versions.map(({childProcess,version},index)=> cleanupProcess({ childProcess, version, versions, state, continueOpt, index }) ) ) }; const cleanupProcess=async({ childProcess, version, versions, state, continueOpt, index })=>{ try{ await childProcess }catch(error){ terminateProcesses({error,versions,version,state,continueOpt,index}) } }; const terminateProcesses=({ error, versions, version, state, continueOpt, index })=>{ if(state.failedError!==undefined||continueOpt){ return } Object.assign(state,{ failedError:error, failedVersion:version, failedIndex:index }); versions.forEach(terminateProcess) }; const terminateProcess=({childProcess})=>{ childProcess.kill() };