mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-11-10 10:17:11 +03:00
21 lines
812 B
JavaScript
21 lines
812 B
JavaScript
// This file exports a function that has the same interface as
|
|
// `spawnSync`, but it throws if there's an error while executing
|
|
// the supplied command or if the exit code is not 0. This is similar to what
|
|
// `execSync` does, but we want to use `spawnSync` because it provides automatic
|
|
// escaping for the supplied arguments.
|
|
|
|
const childProcess = require('child_process')
|
|
|
|
module.exports = function () {
|
|
const result = childProcess.spawnSync.apply(childProcess, arguments)
|
|
if (result.error) {
|
|
throw result.error
|
|
} else if (result.status !== 0) {
|
|
if (result.stdout) console.error(result.stdout.toString())
|
|
if (result.stderr) console.error(result.stderr.toString())
|
|
throw new Error(`Command ${result.args.join(' ')} exited with code "${result.status}"`)
|
|
} else {
|
|
return result
|
|
}
|
|
}
|