{"_id":"@ctjlewis/await-shell","_rev":"4-7a5587be4259286b80c9ea3cca00bb24","name":"@ctjlewis/await-shell","dist-tags":{"latest":"2.4.5"},"versions":{"2.4.2":{"name":"@ctjlewis/await-shell","version":"2.4.2","author":{"name":"Christian Lewis","email":"ctj.lewis@icloud.com"},"license":"MIT","type":"module","description":"Execute bash commands with non-blocking I/O.","homepage":"https://github.com/ctjlewis/await-shell","exports":{".":"./dist/index.js","./*":"./dist/*/index.js","./package.json":"./package.json"},"scripts":{"build":"tsm build","prepare":"yarn build && yarn test","test":"ava"},"keywords":["async","await","shell","promise","bash"],"dependencies":{"@tsmodule/tsm":"^3.2.0","@types/node":"^17.0.13","@types/ora":"^3.2.0","chalk":"^5.0.0","cross-spawn":"^7.0.3"},"devDependencies":{"ava":"^4.0.1"},"ava":{"extensions":{"ts":"module"},"nodeArguments":["--no-warnings","--loader=@tsmodule/tsm"]},"licenseText":"MIT License\n\nCopyright (c) 2020 Telework\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ctjlewis/await-shell@2.4.2","dist":{"shasum":"e1190c2c971d2651f8936409467dddb399dabe70","integrity":"sha512-STtvqo2h9QpJKF2drB0DiNbLp7sUg+r8JooaffBbkRylhjAwFy8kUlhlPZok6TxL40uHb0SeqdvhN4O5JtmTdg==","tarball":"https://registry.npmjs.org/@ctjlewis/await-shell/-/await-shell-2.4.2.tgz","fileCount":11,"unpackedSize":7839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8xoXCRA9TVsSAnZWagAACo0P/1PdL56Q0DpWsfZw/Mct\nW6iL3esihQI5X+zoUOLby4dIEi2LiURZeeaS0DPwkkTnTiGNmMxRbJXmqJfP\nCyxVXjs4mpOyED5REm0eBmlYwerpVKUCX6VG8LtwCAbVwlrv6nrpBGYvGC83\n8gje63lIjtd+MH+2WfKg91Fw7e5aqGHTWQagoGpBegYtadh82Ud9qxJvlc42\nQGNFh8FFRRSmbjr2Z2XL/To3+Nd96VPp3nSrADr6TDzWPVb6Yx/MH9LjnhE1\nksrh9D31YuqwH1ddv0mN098H0WdribkdXuPS+CX2mrMWw3BTgksmUz5uDMrK\nCONuuAQceejeULDVn1dHl8lka89Ib8R/oS9DHAhBCTZdnBdFIwUQdGGYtyek\n/J1TQGe0Wv1yCaBMmVe6ohMFqfiKItRhWb5FJ+DL/XAR3Nqi4P7uy1YQpWse\nHhFmhU07xyDdgFC//DhlkRIV2O6ELUq7emfi74xgRgHcFkwMaclj1FlUEnaT\nodnPQ+QYjBwViwDSvpC2HLE1iNfnOn4kxioRM9KeSc/z89XXsYXwiISCnoju\nTQTseSSfHnbzNTlblJYdVl7ier7DWW0JyfP1nAV3Y7adFy46jADH/vj7ltS8\nyi0fTBYnM7Yy+GesL797dSGDAy1YWzsUXcs2JRxYPsLwlIjwtZ5MJfjtDC/k\nxMIT\r\n=B8EE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCX2k6wiT3tYBx4DHcysn50lNNlppCYjl8NkTUmz8YgJgIgAqt8WIBKg+ALsA8v/MpPG+XH/+WfXzTnYZ3aDz6gXzQ="}]},"_npmUser":{"name":"ctjlewis","email":"ctj.lewis@icloud.com"},"directories":{},"maintainers":[{"name":"ctjlewis","email":"ctj.lewis@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/await-shell_2.4.2_1643321879708_0.487293738301382"},"_hasShrinkwrap":false},"2.4.3":{"name":"@ctjlewis/await-shell","version":"2.4.3","author":{"name":"Christian Lewis","email":"ctj.lewis@icloud.com"},"license":"MIT","type":"module","description":"Execute bash commands with non-blocking I/O.","homepage":"https://github.com/ctjlewis/await-shell","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*/index.js","./package.json":"./package.json"},"scripts":{"build":"tsm build","prepare":"yarn build && yarn test","test":"ava"},"keywords":["async","await","shell","promise","bash"],"dependencies":{"@tsmodule/tsm":"^3.2.0","@types/node":"^17.0.13","@types/ora":"^3.2.0","chalk":"^5.0.0","cross-spawn":"^7.0.3"},"devDependencies":{"@types/cross-spawn":"^6.0.2","ava":"^4.0.1","typescript":"^4.5.5"},"ava":{"extensions":{"ts":"module"},"nodeArguments":["--no-warnings","--loader=@tsmodule/tsm"]},"licenseText":"MIT License\n\nCopyright (c) 2020 Telework\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ctjlewis/await-shell@2.4.3","dist":{"shasum":"d18eae950eea7010d537ab7f9a53332431a5534e","integrity":"sha512-gR+A4m72RDjjMimdsYl857SmB8uPvlf+Ga6k1ZVcxIcavtxpSW2LGV2E+k4TePyTAzsHrmUnWQQqnBtpk3GS5w==","tarball":"https://registry.npmjs.org/@ctjlewis/await-shell/-/await-shell-2.4.3.tgz","fileCount":12,"unpackedSize":8866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8xxlCRA9TVsSAnZWagAAUGIP/2qrfGktbCGHwi99Fy6l\nE1XNhTIeFsoSmjWSKDzVnEtVcLA3gM6LUwIq0ZxEp24GmZxZI1ki0HOkKXvg\nDPG2kpxY2SLUEYtRBkNDkFK+dCiRyfTbi/+ihGJ9vL66l7qY8zhFhvNgOJ1j\nOE1lNvvL1WCqYxAHncPTjrCOBwJer/zasEvmxmQgJJvcrV5gMupQKaQ4HV4I\nyu+jWClXr1Y4WEhZWrQjgxj7OTLDP5RcS/qcp3ZuTV3/H8O1GkazjNWbOIzY\nEKA5b3wGhbE/GFoHQzDd3a45QSx+Rw6aWURGnDkppY8/jklsdBPjuf/GdsRY\nMzBVChR1v5yNi705UcXZ2WwCnhmHVgjtE+cMCqYRNhD+AUYPUpBW5kaAnyXk\nuxt4hmTZ8W8pCK3cLwHtpsjbBBiVmV03IoUvfI8EjmZx2mz5BcGJbuVuxvRc\nf+YXRoefYaVaU9iWZEFWvEA0Fu7m0SmYoQIZdc4wynpwVV0cZsBvaD/grMoI\nT0Vhnj/gpO3nE5pSh0mRmaYiM91w6R76DWnnGtiCBvZuZrTav7mlDTyqqiyk\nu5gFlHM6Jfzg6WSkPHu/7Zkt2s5tWS7aV29PN4NRLeq9wDl6z9s5cX0kyJ6M\nuqXhp78AkwK8+pBj3X4HkTiIP1N8K/kZ3R+ZcUAaSDW4yGsQln6G5bLp5JD7\nSJkG\r\n=h8wj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7RMlGLIgGT1Erd5EgmxyVg5Na+8CGNgFWqGOBqADpXwIgfYvMB76QcbMFaWiCx/MntJEWiefrgox8YnBdcYvqGrk="}]},"_npmUser":{"name":"ctjlewis","email":"ctj.lewis@icloud.com"},"directories":{},"maintainers":[{"name":"ctjlewis","email":"ctj.lewis@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/await-shell_2.4.3_1643322469523_0.6837850915044372"},"_hasShrinkwrap":false},"2.4.4":{"name":"@ctjlewis/await-shell","version":"2.4.4","author":{"name":"Christian Lewis","email":"ctj.lewis@icloud.com"},"license":"MIT","type":"module","description":"Execute bash commands with non-blocking I/O.","homepage":"https://github.com/ctjlewis/await-shell","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*/index.js","./package.json":"./package.json"},"scripts":{"build":"tsm build","prepare":"yarn build && yarn test","test":"ava"},"keywords":["async","await","shell","promise","bash"],"dependencies":{"@tsmodule/tsm":"^3.2.0","@types/node":"^17.0.13","@types/ora":"^3.2.0","chalk":"^5.0.0","cross-spawn":"^7.0.3"},"devDependencies":{"@types/cross-spawn":"^6.0.2","ava":"^4.0.1","typescript":"^4.5.5"},"ava":{"extensions":{"ts":"module"},"nodeArguments":["--no-warnings","--loader=@tsmodule/tsm"]},"licenseText":"MIT License\n\nCopyright (c) 2020 Telework\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ctjlewis/await-shell@2.4.4","dist":{"shasum":"b3570ae89c61c05df1a4e9e1f191639e6aaf9de3","integrity":"sha512-jY4rsbeSGKCAg+KwDBRBSM0sGdOWJxQcPHN20LId7NMK3bSFE9+C1qx1s5N+yw7SZsoq9bIYqNFLMeBqrhCLZg==","tarball":"https://registry.npmjs.org/@ctjlewis/await-shell/-/await-shell-2.4.4.tgz","fileCount":6,"unpackedSize":5200,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8xzPCRA9TVsSAnZWagAAD58QAKO4iT/KNcOdm2oLbZSB\nKbf+Tcky+mabYkYwKMMr6gDRsa4NqgS9IO5GCiD9el0uw9JGwMz5FFu7uD04\nIbtXtYLvii582FSRKsebSx6cCuOAF56sBlH4K/m85f46MPd5NTcVPYljxlCA\nwo8h+I5XklqcdXaC8rOP5j9CZzyuR+JdkN3NFK2H/Ics/7dkJ0geJ/U0xnjo\n4Hxtu3fdNoHmzG5GWpM1guWkJGWIEPThC5bzTmWP1wuZ2LpJL+HS9tCY4gCL\nfqIhP71VbUs+HGQ7W/hInQovsJrtY46FFvFSZznO1hlePqLkWJm/d+zmQYD5\nIRrLygiPcT+76lEVW7hMkxmyr11M1Haw5PhfQyxOQRxt64m2plr/Uhj7EDBR\nIfO6FXw1sE8zVb9ZT3Oqkrw2hO8l2bTTgL9BvEB8nhmrhuuabFdg+bRxE74c\n1FhY5ytYcnoNoeW+EvUdXdKSkVbfb8bUkIKi00sDvxLdu5yrRqmFYUVqrJaY\nbvPtO1/TY0+FlfESu6JCqt2pcERsfgCFiacH9RuhGMrIaxUSR3Kt8dBqze55\nF1gdhJU3/mJ3xIyX9OdsppPdZ5IWosMoSlRoyx4MKuSikwlmy980qzij6IJQ\nSBsEoNxPpubs1qCCoAOR3iit9U3ckWMktsGZ57XtCXHzfn+mIAFZ2X7aZp9Z\n3EMo\r\n=vdgX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDNASX+jSdqT4O6lyC+S6IJ+lQzs2OxMrk9/oua0pg6QIhAPwU30OMwtWm495QBVNEslxB8tnKaS/PpsOW/ynjnQWZ"}]},"_npmUser":{"name":"ctjlewis","email":"ctj.lewis@icloud.com"},"directories":{},"maintainers":[{"name":"ctjlewis","email":"ctj.lewis@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/await-shell_2.4.4_1643322575852_0.7364076891441458"},"_hasShrinkwrap":false},"2.4.5":{"name":"@ctjlewis/await-shell","version":"2.4.5","author":{"name":"Christian Lewis","email":"ctj.lewis@icloud.com"},"license":"MIT","type":"module","description":"Execute bash commands with non-blocking I/O.","homepage":"https://github.com/ctjlewis/await-shell","types":"dist/index.d.ts","exports":{".":"./dist/index.js","./*":"./dist/*/index.js","./package.json":"./package.json"},"scripts":{"build":"tsm build && tsc","prepare":"yarn build && yarn test","test":"ava"},"keywords":["async","await","shell","promise","bash"],"dependencies":{"@tsmodule/tsm":"^3.2.0","@types/node":"^17.0.13","@types/ora":"^3.2.0","chalk":"^5.0.0","cross-spawn":"^7.0.3"},"devDependencies":{"@types/cross-spawn":"^6.0.2","ava":"^4.0.1","typescript":"^4.5.5"},"ava":{"extensions":{"ts":"module"},"nodeArguments":["--no-warnings","--loader=@tsmodule/tsm"]},"licenseText":"MIT License\n\nCopyright (c) 2020 Telework\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"@ctjlewis/await-shell@2.4.5","dist":{"shasum":"64bf37f4ffb7fa3251ff7bf0fd37bd384628893a","integrity":"sha512-qH+ahs9ZpsiuQZ3+2NDUm5ziunYUOu3zJ/7B2LFdDBKzB59iFUIdLZOv0N4ZzUWs2Q55X3NDZCoL/x7vvhoJkQ==","tarball":"https://registry.npmjs.org/@ctjlewis/await-shell/-/await-shell-2.4.5.tgz","fileCount":7,"unpackedSize":5542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8x0OCRA9TVsSAnZWagAAl2gQAIR9eUdmNSsFQQZoMjg3\nNBBse8QqtNXWNdyXuBB9iRLZck+zpurh+Knr8/t1w6dHxpQcv0g7IbojctRY\nPsXzVON/7jelIIYhQ/1pRdv1gGwuQKyoHtd2GJlj1fwWDjOXnfTKOl8ptxna\nXuBhYMN+W1O1B88oDF1FUkJQyBWZlBhdYRb3Fa7UsCvqKRsSFDXpSh13TEpa\nMnJ8+dM2gQUzF8tP0xl82+tesDudSUZg2RFR5NTxQ3xRlPpj0fmACzjgpaWP\nXwe4+T+Qgghk545pNI4QNVOYMt/fHbz1GPJ3Kxmx/CbKdxM4o3I+69t3ezUd\nuZEN43hUtcm59nz3MZMfuFhAtMEaO6/6gajMaAtEbgk4yK6gR8Br2eMVZc4G\nTmZJchcxumECaS0Tlf5lMUGdKX1qpDrQ08fT0520/s1eBCKsZVEmcdvzBDII\nhNIDaeKOvgIknFrC0keZ4E+41F8ZwsqrjmwBSefF3KeMo9WPltlkrkiNS2rL\nJLDmdjH1uRh6xXQuPPMStzJYp2fxAl/2XQIi+x1UzF1SpZo5c5mR1wrb8r++\nzVR0hfjlD4KkuIQA37ZBMxO1egUImLe3vZoBA7B3gNChgHqcGUtuCLWn3feP\nws0zD04d+OyFLCtDME5W4fIrpigUcTs4gP2lAbZkHrq+WoB3M65DXg/mnQQO\nCL5A\r\n=cqdH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHCDTGn+LWxlul4l/uOyjb7N4nNwgRuJfthyUbvyPZ9zAiEAqjN/QG7UM3WNQSjJV80wm2dGeP4kpLNJM7jm7gSXl5E="}]},"_npmUser":{"name":"ctjlewis","email":"ctj.lewis@icloud.com"},"directories":{},"maintainers":[{"name":"ctjlewis","email":"ctj.lewis@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/await-shell_2.4.5_1643322638482_0.26801204698910097"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-27T22:17:59.642Z","2.4.2":"2022-01-27T22:17:59.855Z","modified":"2022-04-05T02:04:02.624Z","2.4.3":"2022-01-27T22:27:49.634Z","2.4.4":"2022-01-27T22:29:35.978Z","2.4.5":"2022-01-27T22:30:38.707Z"},"maintainers":[{"name":"ctjlewis","email":"ctj.lewis@icloud.com"}],"description":"Execute bash commands with non-blocking I/O.","homepage":"https://github.com/ctjlewis/await-shell","keywords":["async","await","shell","promise","bash"],"author":{"name":"Christian Lewis","email":"ctj.lewis@icloud.com"},"license":"MIT","readme":"# await-shell\nA simple utility for using `child_process.spawn` inside of a Promise wrapper.\n\nAllows for the `await shell(...)` pattern, initially developed to play nice with the `ora` package, i.e.:\n\n```javascript\nconst ora = require('ora');\nconst shell = require('await-shell');\n\nasync function test() {\n    const spinner = ora('Starting...').start();\n\n    try {\n        await shell('do-task arg1 arg2');\n    } catch (e) {\n        return spinner.fail('Something went wrong!');\n    }\n\n    spinner.succeed('All done!');\n}\n```\n\n# Examples\n\n```javascript\nconst spinner = ora('Waiting...').start();\nawait shell('sleep 1');\nspinner.succeed('All done!');\n```\nWill call bash (non-blocking) and run the spinner for 1 second, then exit.\n\n```javascript\nconst spinner = ora('Waiting...').start();\nawait shell(\n    'echo \"Hello\"',\n    'echo \"World\"'\n);\nspinner.succeed('All done!');\n```\n\nOutputs:\n\n```\n\"Hello\"\n\"World\"\n✔ All done!\n```\n\n# Source\n\nThe package simply wraps the `child_process.spawn` call in a Promise which is\nresolved on exit and rejected on error.  Multiple commands may be passed in, and\nthey will be executed in sequential order.\n\n`index.js`\n```javascript\nconst shell = async (...cmds) => {\n    for (let cmd of cmds) {\n        cmd = cmd.split(' ');\n        await new Promise((resolve, reject) => {\n            spawn(cmd.shift(), cmd, global.SHELL_OPTIONS || DEFAULTS)\n            .on(\n                'exit',\n                (code) => {\n                    if (code === 0) resolve();\n                    else {\n                        if (global.SHELL_STRICT) process.exit(1);\n                        else reject(new Error('Exited with code: ' + code));\n                    }\n              }\n            );\n        });\n    }\n}\n```\n\n# Footnotes and global options\n\nThe options `{ stdio: 'inherit', shell: true }` are passed to `spawn` by default, and stdout\nwill be visible. For the sake of simplicity, the only arguments `shell` takes\nare commands, but you can override this setting with `global.SHELL_OPTIONS` if\nnecessary. \n\nUse `global.SHELL_LOG = true` to enable the printing of each command as it is\nexecuted.\n\n| Flag        | Description |\n| ----------- | ----------- |\n| `global.SHELL_LOG`        | Set to `true` to print commands to stdout. |\n| `global.SHELL_OPTIONS`    | Override arguments to `child_process.spawn`. Defaults to `{ stdio: 'inherit', shell: true }`. |\n| `global.SHELL_STRICT`     | Instead of rejecting the Promise, call `process.exit(1)`. |","readmeFilename":"README.md"}