node child_process spawn



[node cross-spawn](https://texonom.com/node-cross-spawn-03bd6c0915d549c59f2cbc76c09a730a)

### real time std in out
```typeasync callCommand(program: string, args: string[], message?: string) {      return new Promise((resolve, reject) => {        consola.info(message, '\n')        try {          const process = spawn(program, args, { stdio: 'inherit', shell: true })          process.on('close', code => resolve(code))          process.on('error', err => reject(err))        } catch (err) {          reject(err)        }      })    }```

### wildcard
> [Wildcards in child_process spawn()?](https://stackoverflow.com/questions/11717281/wildcards-in-child-process-spawn)



### try catch
> [How to catch an ENOENT with nodejs child_process.spawn?](https://stackoverflow.com/questions/34208614/how-to-catch-an-enoent-with-nodejs-child-process-spawn)






