{"_id":"parallelshell","_rev":"88-381c8ee49b4490432f99a963c4a2b277","name":"parallelshell","dist-tags":{"legacy-2":"2.0.1","legacy-1":"1.2.1","latest":"4.0.0","legacy-3":"3.2.1"},"versions":{"1.0.0":{"name":"parallelshell","version":"1.0.0","author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.0.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"bf9afef44b6d4a62271afe35968dfcfa97e4b906","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.0.0.tgz","integrity":"sha512-sefepaGSdeAV5k/PRIQ/qBnGzigDyYVY5XYra+I9/tYkfULh360H8OBJ6YyFkhVksiY9vUJ89df+nq7DVkF20w==","signatures":[{"sig":"MEYCIQCOttDWSntOmB2+bjvDxFIpQ6KaluVPVTcXme0uYr4fawIhAJOxKjfrZtJ6RQn7O1iAH07qq32J4ZXOi3EGJz1cVsS4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"bf9afef44b6d4a62271afe35968dfcfa97e4b906","gitHead":"5721869b58df4b403dd42122f7938e0a5c1e9b33","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"_npmVersion":"2.1.9","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.10.33"},"1.0.1":{"name":"parallelshell","version":"1.0.1","author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.0.1","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"2c4f1f65feb412fdf32f6b780eb61d186e9633db","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.0.1.tgz","integrity":"sha512-TJ04HXhvwLqS5/PjtFlH8Yfkm5BhQ13JU4bzzMgsLszjhxwUga7B8I5t2c13+iBqPGi6CdRAFX3gXo5NDpTwkQ==","signatures":[{"sig":"MEUCIQCuu1It8K9yKYwLvVRObjeMDe5Yi7W73o5klFjHV2hzuQIgbqjDTTJYcNEirv50MnfR68+S8lBFp4rt8/UREwGPPMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"2c4f1f65feb412fdf32f6b780eb61d186e9633db","gitHead":"d227a4aa5c2f45e44dbb1246faf15b9046ae3012","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"_npmVersion":"2.1.9","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.10.33"},"1.0.2":{"name":"parallelshell","version":"1.0.2","author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.0.2","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"61d06d54cc97ea6f7b82147fd270b8ccd57f7c04","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.0.2.tgz","integrity":"sha512-YqEOVlIeT6+27LYKScTHhl3DdLB1/u78MdcHBmJ75pCNaX6auHFfQ0tVq7mKZ7n587rKaqJYFlkK8bsgQaKNTw==","signatures":[{"sig":"MEUCIDw4GW30bjum62wRJ1hD0Rv8WmwyJjxGGo2gr6QGtsN8AiEAzpLhuCoU1JsUTyaBY+Y+z9qp2VyFsqD0e+KlRj2gY40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"61d06d54cc97ea6f7b82147fd270b8ccd57f7c04","gitHead":"af328b82a3125b815694f2320f94647cc353782c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"_npmVersion":"2.1.9","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.10.33"},"1.0.3":{"name":"parallelshell","version":"1.0.3","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.0.3","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"35cd57e66b67875dffb815d93acd2165ab763e1f","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.0.3.tgz","integrity":"sha512-D3ts6/FS+K3p4lQgm7qnZi3l6MiBUOOv76wCunQuwtJvwuS8Mi4a0t/fzunrXsZFSYNL5/bAGTrHa0jqDc4o9w==","signatures":[{"sig":"MEUCIE34W0sTacykRgn87Kq63d8dbCEjZSWUXH5PJMjdDexxAiEAxAwZ3wmUuGm+J35deHyy/Fymb/1BBx1QSYjNt1n5hQ4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"35cd57e66b67875dffb815d93acd2165ab763e1f","gitHead":"7ed038e05623f5c6bc27334ba6bc4e1047e15551","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git@github.com:keithamus/parallelshell.git","type":"git"},"_npmVersion":"2.1.9","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.10.33"},"1.0.4":{"name":"parallelshell","version":"1.0.4","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.0.4","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"ecd46e93ea2111793e12e4e66eb6293ede9aa656","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.0.4.tgz","integrity":"sha512-qd/BQwueGpVEcd8VIHliFtyhdLpVoFYtSvkYTbQEkyzYQ1mpiviZvfd1X+74DIDsAAQIASNXq+wLW6UxVuVxzQ==","signatures":[{"sig":"MEUCIE1JPcBSktOzJ0QLymjfEqxDva936GtliSAASNheWcykAiEAqC9nINaHRbjiIJC51iSVDPjzRFGnq0X6eEC3tZ4bkzY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"ecd46e93ea2111793e12e4e66eb6293ede9aa656","gitHead":"68e1f2243d3028d002883039921d5a2d4058fdf1","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git@github.com:keithamus/parallelshell.git","type":"git"},"_npmVersion":"2.1.9","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.10.33"},"1.1.0":{"name":"parallelshell","version":"1.1.0","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.1.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"1f869fedb9be0c08ad0eb9efa786c64d4c0ea426","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.1.0.tgz","integrity":"sha512-wu2uh7881W78XjXPtDTxDALolarwvePKfuiKMwJmBLcWVRE0jlz8jf29RW+UrtjGiQc5xVPyH36zlu+T48Gacw==","signatures":[{"sig":"MEQCIF5NnTQFtBHKv+7zBqUyOJocIcI8OXzbffFrvX4jEQbXAiAmSGvucn3wx0jAFWYd6LWs233iwucPOt9GXdqE8PRWBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"1f869fedb9be0c08ad0eb9efa786c64d4c0ea426","gitHead":"ad385791acc84dac620dda5bd18219ccb758d2e5","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git@github.com:keithamus/parallelshell.git","type":"git"},"_npmVersion":"2.6.1","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.12.0"},"1.1.1":{"name":"parallelshell","version":"1.1.1","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.1.1","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"5b37958d23cf4e10d3c4eec53524966482c0019d","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.1.1.tgz","integrity":"sha512-4MrC4VwL2L55x7PhMG7bB+MBS3CVO0SxZ0WYqEcT9f+poBNyZULA0DkSeYzcC6FiabRhZUrBp1Bv9F/hDRrbuw==","signatures":[{"sig":"MEUCIQCAnwYf9JGQ4lKkjOH+lV/fX8QzG/qtxnTykYnO6iUNXwIgFLCHhIT+xz5LDLVwxrs0f4XGwT4KaelZO5e8NQAjOA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"5b37958d23cf4e10d3c4eec53524966482c0019d","gitHead":"81b95f036e1f5c814b5108a24746e8c822b93da8","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git@github.com:keithamus/parallelshell.git","type":"git"},"_npmVersion":"2.6.1","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"0.12.0"},"1.2.0":{"name":"parallelshell","version":"1.2.0","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.2.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"df114c05e9c8eba92dc5607c5eb1e1ff04a2e17c","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.2.0.tgz","integrity":"sha512-Lu5NbW+6q4IdhoVXdXdSdWzx+Fh+UHKiOOTx1eha+Trx3J5GHPpbQ1/UdNdnQS9vuMvoLVoOJER1CYgeZMHniw==","signatures":[{"sig":"MEQCID4W8Ee1BJFSnAdITjOqfvVCnvNr0v5XU3dOBKTGx2X+AiBtLqULY3k+T+Df0u67c6ViXK7qTOyH/Ss59pRRg8z/mA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"df114c05e9c8eba92dc5607c5eb1e1ff04a2e17c","gitHead":"68f83b87dc8f12d7ce485b45c9494780e88b7d30","scripts":{"test":"mocha"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/parallelshell.git","type":"git"},"_npmVersion":"2.11.3","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"2.2.1","devDependencies":{"chai":"^2.3.0","mocha":"^2.2.4","bluebird":"^2.9.25","coffee-script":"^1.9.2"}},"2.0.0":{"name":"parallelshell","version":"2.0.0","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@2.0.0","maintainers":[{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"paulpflug","email":"paulpflugradt@googlemail.com"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"c94af5d6348526a26da9020faeb5fc724a80600c","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-2.0.0.tgz","integrity":"sha512-EJJKjVi68lT+1CnuejYfoJdTxoChOIwDjy21bXFrH3YoJjcDR/8MsotXOY6U2p3rDi2BqYNVySAlF0e9B4S6fA==","signatures":[{"sig":"MEUCIQCmKsQBdVxYNjlSBeWBA0hOW5vkNQPCCBxKP+Wn1UGLZQIgDcDB7ijoTJjfYspIjL15N9Z8eCuuWcffzMa3hrKQndM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"c94af5d6348526a26da9020faeb5fc724a80600c","gitHead":"30623e0bb0ad399769a5ceccce2e89ec2bfba1b3","scripts":{"test":"mocha"},"_npmUser":{"name":"keithamus","email":"npm@keithcirkel.co.uk"},"repository":{"url":"git+ssh://git@github.com/keithamus/parallelshell.git","type":"git"},"_npmVersion":"2.12.1","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"2.2.1","devDependencies":{"chai":"^2.3.0","mocha":"^2.2.4","bluebird":"^2.9.25","coffee-script":"^1.9.2"}},"3.0.0":{"name":"parallelshell","version":"3.0.0","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@3.0.0","maintainers":[{"name":"darkguy2008","email":"darkguy2008@gmail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"paulpflug","email":"paulpflugradt@googlemail.com"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"2aacd38f28c8138214d9c54684e709d343725425","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.0.0.tgz","integrity":"sha512-pi50bZZDFQFVEZB/8VFUTlZ07pNH1Ae5e2KhiDsdx1JInR8hBOWBvzWGM+mX0lAETHnZOD0Fek8qIkKaGqJfnQ==","signatures":[{"sig":"MEQCIA5Mj9ccTJ7hxeAzdnxNcM4OjOdbD4Sv2chzhwGpKHGoAiBXDIoofOieOPnZQE5UgmB6IntAzpUpodG1AmfAQlQrvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"9abd3f67008a1c69d91ea4101bc1f066c3624fbb","scripts":{"test":"mocha"},"_npmUser":{"name":"darkguy2008","email":"darkguy2008@gmail.com"},"repository":{"url":"git+ssh://git@github.com/keithamus/parallelshell.git","type":"git"},"_npmVersion":"5.0.3","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"8.1.1","devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","bluebird":"^3.5.0","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell-3.0.0.tgz_1497479611958_0.3879576367326081","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"parallelshell","version":"3.0.1","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@3.0.1","maintainers":[{"name":"darkguy2008","email":"darkguy2008@gmail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"paulpflug","email":"paulpflugradt@googlemail.com"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"0587ce1535350543916d8f3d329fbfa4a0355f22","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.0.1.tgz","integrity":"sha512-xsSQGhJTFjbSW3WGsnSFTg1G17dcDU+gMH7bWxjAiy/3H579KPFbSp3fhkZ+jx2wcZuoav46nq+QVX0I0xPcyA==","signatures":[{"sig":"MEQCIF/8YK3hfAQfNsJuAjAKjwzgwJJXfNbQOea8rLl4WMgLAiBKgin2oCPSouPkivWEM3s3CCH+CzslMnCwSMo/n1SdvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"746e1f3af85d1be9dace89428f8f4139e198dd26","scripts":{"test":"mocha"},"_npmUser":{"name":"darkguy2008","email":"darkguy2008@gmail.com"},"repository":{"url":"git+ssh://git@github.com/keithamus/parallelshell.git","type":"git"},"_npmVersion":"5.0.3","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"8.1.1","devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","bluebird":"^3.5.0","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell-3.0.1.tgz_1497505460755_0.40526678459718823","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"parallelshell","version":"3.0.2","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@3.0.2","maintainers":[{"name":"darkguy2008","email":"darkguy2008@gmail.com"},{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"./index.js"},"dist":{"shasum":"fffc55aaa145bdd44b5381cf7fd5e521fc21aa7b","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.0.2.tgz","integrity":"sha512-aW73W8tmYiFZtQi41pweV3WWT6o/EvSxAVQHbumOhN53H47OuWQwrRc11xQ2i44GFvR5AjtzhD92r8Kv9X+7Iw==","signatures":[{"sig":"MEYCIQC5EC5joiikx86qe5LaVrJ1cfA75kglI9lhqJagqbiZKQIhAPXXmVRJugXp6NRNv977ypkgHlLsGRMzJpnqZ7g4PHfH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","gitHead":"4b5bfdef0937a94f699b0bdb49e2ff869133e6a9","scripts":{"test":"mocha"},"_npmUser":{"name":"darkguy2008","email":"darkguy2008@gmail.com"},"repository":{"url":"git+ssh://git@github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"5.4.2","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"8.2.1","devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","bluebird":"^3.5.0","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell-3.0.2.tgz_1508364191145_0.9827517485246062","host":"s3://npm-registry-packages"}},"3.0.3":{"name":"parallelshell","version":"3.0.3","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@3.0.3","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"6f1e6a60c66aad85c59b09d7835d6f38ba32cc06","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.0.3.tgz","fileCount":4,"integrity":"sha512-zd9uf7JKpkvLvbFiv+BcjxlBHkLIzNcZXs0V99rLDhsZwVSVnuxfoYgp/PDhrh9JVBK+2Gp+mJSzGzrGnR8HBQ==","signatures":[{"sig":"MEYCIQCa3mgvywgkDJyynXvJgPosyVwZffOl/Q+gcySzzKX0LgIhALce7mwtCmivrEFcIVdSxiRRFY/FDnbNibxY1dVOoAqq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB3mnqEOas8r07dhrgO94TGwbW6YFTlCnj4ygOF5GRaPAiEA+a0DcI8EQFxJ5A7no3ZNCyN1gJxupma+yilABuaGGq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8395},"main":"index.js","scripts":{"test":"mocha","test:docker":"node test/docker/matrix.js"},"_npmUser":{"name":"darkguy2008","email":"darkguy2008@gmail.com"},"repository":{"url":"git+ssh://git@github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"12.0.2","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"26.9.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_3.0.3_1790489358560_0.6666059254097934","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"parallelshell","version":"2.0.1","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@2.0.1","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"ccce16f6b75e7041028e5919848e9bb6a58c96aa","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-2.0.1.tgz","fileCount":4,"integrity":"sha512-kW1x8te6grkv7ihH6S6BMIWsyxmg4bNz+xUQnMyrA9t5gUYsv9gY+IiWWu6tzCvNiv2rRF8ZMuEKWJCu77SUNQ==","signatures":[{"sig":"MEUCIQDixwE8hnWDklfGIMQoii0dXK5VlIOXkHvpVebF7Iu+9QIgbN5zRSQdm00PBWoQBTNTrZ4G4ANswXRFi10MJ5L+Um8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGebiy9KQYSWq20MVyhzq91Z2WGHxz3kA8+IYe0oWIGrAiEAjRpWa3i7A/04xKultCxeHbrU6yRzq8liIXYnQXHxnWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6935},"main":"index.js","scripts":{"test":"mocha"},"_npmUser":{"name":"darkguy2008","email":"darkguy2008@gmail.com"},"repository":{"url":"git+ssh://git@github.com/keithamus/parallelshell.git","type":"git"},"_npmVersion":"12.0.2","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"26.9.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^2.3.0","mocha":"^2.2.4","coffee-script":"^1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_2.0.1_1790490934095_0.014310188536100332","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"parallelshell","version":"1.2.1","keywords":["parallel","shell"],"author":{"url":"http://keithcirkel.co.uk/","name":"Keith Cirkel","email":"npm@keithcirkel.co.uk"},"license":"MIT","_id":"parallelshell@1.2.1","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/keithamus/parallelshell","bugs":{"url":"https://github.com/keithamus/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"c0b5c1b1a16cbf828364a8f5b334ba468e1c173f","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-1.2.1.tgz","fileCount":4,"integrity":"sha512-ibbeddVmHxXmVHHsdOkTkWbdh2umCFk/oevm9yRj9ohWdPhb9fc8BWUBvw9Ru1N/HYLIda/7KINH6cfigsAqdw==","signatures":[{"sig":"MEUCIQCDyusRWr4G3gQUbW8eowSum0WRe46a8yUz8895nlNrRAIgEfq17HsN30Kp4+Jzi/8xj157S6YnbUT/1297iCeOkpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCjvjEX3ZPjIz+xK+wjxakNFZPkuCyOP9yGRsfi5Z0r6gIhAOcDB9KYGBLpztxghanHHb5cjwUST4vF4uCpoHWS4I/G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6503},"main":"index.js","scripts":{"test":"mocha"},"_npmUser":{"name":"darkguy2008","email":"darkguy2008@gmail.com"},"repository":{"url":"git+ssh://git@github.com/keithamus/parallelshell.git","type":"git"},"_npmVersion":"12.0.2","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"26.9.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^2.3.0","mocha":"^2.2.4","coffee-script":"^1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_1.2.1_1790490940249_0.0666555969444167","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"parallelshell","version":"3.0.4","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@3.0.4","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"e427dcbadc9707438fd1b69e98b2c2627a193157","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.0.4.tgz","fileCount":4,"integrity":"sha512-5uh4M3ez6JnS+2vUns4BzlIzTdGi0f1+MnwHPMWdxDldGD/HYR4mD7ZrXEg+wOKV/bXA2hdfThkasJ/rWgyepA==","signatures":[{"sig":"MEQCIGXTPW8VOe3+AyH75juHDro5VUHEmc/MvI68x0zqQaRHAiBaH7JCZikINkLl+cmAlcT16pPzptpnKTSwksnaqGfCDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD/Zt/NFvLLwTc4VASrHNZ+9OJ0d29C0OwDB+uidbHhsgIhAI2ZEhdjvO+WWM980hERhbiA3lxIFtXQ8k7VxiVZ6Orc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/parallelshell@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":8554},"main":"index.js","gitHead":"c3d4da15b86ca9507f032a94e95511099e8ad45c","scripts":{"test":"mocha","test:docker":"node test/docker/matrix.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72a8d551-d9cf-4054-a888-91cff0527936"}},"repository":{"url":"git+https://github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"11.19.0","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_3.0.4_1790493381592_0.44972378530421286","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"parallelshell","version":"3.1.0","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@3.1.0","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"b614a1f8a83fec509f39f38e4376c0266ea3b20a","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.1.0.tgz","fileCount":4,"integrity":"sha512-sFu4excWqe2yGJw6t7Ns6S7FJlCBOQRoGkb56b9ZUmkVASZrE92qh4hv9cz6V0AvMH/GxXLi4hlkZiEMgHsbMw==","signatures":[{"sig":"MEQCIBUL1NLeUN13WeqfthgGXiY9mMr09svRvyGzN1zJflSoAiAGGI2VFbvDqZnQsrhY58cY/oaj5nUhVwKwe0AqrOTKgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDwhM+5XhkynbBTHbDNPUro4NCQ5m7aItmunzp3kZ8ZOgIhANQzgNBwaOniH2+TUMZ9tqbnyNfb8wC6evpzCGjtJgTb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/parallelshell@3.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":10514},"main":"index.js","gitHead":"f42149e96b0d140c6aa94c6a90abadfd30538aa2","scripts":{"test":"mocha","test:docker":"node test/docker/matrix.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"72a8d551-d9cf-4054-a888-91cff0527936"}},"repository":{"url":"git+https://github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"11.19.0","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_3.1.0_1790750745583_0.2455913785953281","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"parallelshell","version":"3.2.0","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@3.2.0","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"2eca6d8356bcc7f875738e8f4a5895a448282fb7","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.2.0.tgz","fileCount":4,"integrity":"sha512-6jK6idMm0X04jTV1aEvenear2rdfGUkzIzQ2gfmKNV6lrfwAdkH0z/e3wuj8GFHDC4InOemxnySxl9xrG66tEA==","signatures":[{"sig":"MEUCIQC/lGtFmtRohudqkLcl1tEWU1Hi5MdCRGnTLFG+SLkUuwIgOAlLVOC7ex3VeOMuTPbN/YyEUoVKH+G5VmP4Pb1DEok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAPI7SB+i7ZKQe+DmH5IV79F+wON2Wx05qe45uO15HNoAiEA7p+R1ks61JifbQCkDWAskirbV99uMpSAum+BHV1HB6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/parallelshell@3.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13773},"main":"index.js","gitHead":"a5834b0cace9c7fb2d40d5461318d721b1782a9f","scripts":{"test":"mocha","test:docker":"node test/docker/matrix.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"72a8d551-d9cf-4054-a888-91cff0527936"}},"repository":{"url":"git+https://github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"11.19.0","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"24.21.0","dependencies":{"minimatch":"^3.1.5","cross-spawn":"^6.0.6"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_3.2.0_1790756344571_0.27097154609127627","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"parallelshell","version":"3.2.1","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@3.2.1","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"89fc1993bbd87b8cae8e8a9a85178c774749d094","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-3.2.1.tgz","fileCount":4,"integrity":"sha512-BZ/yz65EL9zYAiJIUgExIy66DX4Zei8mYWxJvaGzFwsyXKtPyfmcr4wzttr2J+Lofypo4iTh65WaTW2V7X/jzg==","signatures":[{"sig":"MEMCIBWgqL3xPxYRGEpIr/0XjJXUCaMEGTBpjgT38F7fk1EJAh98NcqKEVgI9IM8d+aMCBGCEg+JuFIEt1BK0NteQVUm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICk5CiAVfiFtwq0CYEELVVeQHqDSEgWT5fPT3J04Da87AiAhqVtZhtWp7NfqnP1E51dC5Xx8oWTvOQIbCLM2S9ncGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/parallelshell@3.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12471},"main":"index.js","gitHead":"789d5d4308e362fdea7187684c06a44ea555aa7b","scripts":{"test":"mocha","test:docker":"node test/docker/matrix.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"72a8d551-d9cf-4054-a888-91cff0527936"}},"repository":{"url":"git+https://github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"11.19.0","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"24.21.0","dependencies":{"minimatch":"^3.1.5","cross-spawn":"^6.0.6"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_3.2.1_1790804431755_0.9096343454357054","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"parallelshell","version":"4.0.0","keywords":["parallel","shell"],"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","_id":"parallelshell@4.0.0","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"homepage":"https://github.com/darkguy2008/parallelshell","bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"bin":{"parallelshell":"index.js"},"dist":{"shasum":"6d6058a372d11b2dd6eaeb3f9992424e19643afd","tarball":"https://registry.npmjs.org/parallelshell/-/parallelshell-4.0.0.tgz","fileCount":4,"integrity":"sha512-GYltBibqyoSF/8rJGy1z9eN0xYETZM+F8z3isbpREKbQi63M6hI4XJ6DttNWMXpvfV7RBRJoKvU63dDB3p7O5A==","signatures":[{"sig":"MEUCIG+5VT21JKQ/JtGSSlho6H3hWywyThST0RHUVGA4WYd7AiEA35Nvava+RfvbxjbtHbcs7eaQFECxNdiqY3cB/z+bfWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD3nshgHwodYhRrg/BTOclruOB59YHCQIq8Z1oUsgezfgIgZXmBeqwF7RI8hzD+KrKGgeyZmW0bnvSja7jgFNkwydI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/parallelshell@4.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24614},"main":"index.js","gitHead":"13d9ae08c29e624028679457b397a6aadde7f99c","scripts":{"test":"mocha","test:docker":"node test/docker/matrix.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"72a8d551-d9cf-4054-a888-91cff0527936"}},"repository":{"url":"git+https://github.com/darkguy2008/parallelshell.git","type":"git"},"_npmVersion":"11.19.0","description":"Invoke multiple commands, running in parallel","directories":{},"_nodeVersion":"24.21.0","dependencies":{"minimatch":"^3.1.5","cross-spawn":"^6.0.6"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.0.2","mocha":"^3.4.2","coffee-script":"^1.12.6"},"_npmOperationalInternal":{"tmp":"tmp/parallelshell_4.0.0_1790815565008_0.8701637157947866","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2014-11-30T23:33:32.656Z","modified":"2026-10-01T00:52:55.123Z","1.0.0":"2014-11-30T23:33:32.656Z","1.0.1":"2014-12-21T01:20:39.629Z","1.0.2":"2014-12-21T01:21:12.362Z","1.0.3":"2014-12-21T01:22:22.833Z","1.0.4":"2015-01-28T21:40:44.673Z","1.1.0":"2015-03-08T20:13:37.624Z","1.1.1":"2015-03-10T09:22:35.117Z","1.2.0":"2015-06-28T14:46:04.639Z","2.0.0":"2015-07-28T10:20:09.990Z","3.0.0":"2017-06-14T22:33:32.857Z","3.0.1":"2017-06-15T05:44:21.643Z","3.0.2":"2017-10-18T22:03:11.982Z","3.0.3":"2026-09-27T06:09:18.651Z","2.0.1":"2026-09-27T06:35:34.172Z","1.2.1":"2026-09-27T06:35:40.345Z","3.0.4":"2026-09-27T07:16:21.675Z","3.1.0":"2026-09-30T06:45:45.669Z","3.2.0":"2026-09-30T08:19:04.668Z","3.2.1":"2026-09-30T21:40:31.849Z","4.0.0":"2026-10-01T00:46:05.083Z"},"bugs":{"url":"https://github.com/darkguy2008/parallelshell/issues"},"author":{"name":"DARKGuy","email":"darkguy2008@gmail.com"},"license":"MIT","homepage":"https://github.com/darkguy2008/parallelshell","keywords":["parallel","shell"],"repository":{"url":"git+https://github.com/darkguy2008/parallelshell.git","type":"git"},"description":"Invoke multiple commands, running in parallel","maintainers":[{"name":"paulpflug","email":"paulpflugradt@googlemail.com"},{"name":"keithamus","email":"npm@keithcirkel.co.uk"},{"name":"darkguy2008","email":"darkguy2008@gmail.com"}],"readme":"## Parallel Shell\n\nThis is a super simple npm module to run shell commands in parallel. All\nprocesses will share the same stdout/stderr, optionally with every line labelled,\nand if any command exits with a non-zero exit status, the rest are stopped and\nthe exit code carries through.\n\n### Version compatibility notes\n\n* Tested on Node 4 and later on Linux, macOS and Windows.\n\n### Maintenance has been resumed by [@darkguy2008](https://github.com/darkguy2008). However, there are also better options, see [Consolidation of multiple similar libraries](https://github.com/mysticatea/npm-run-all/issues/10).\n\n### Motivation\n\n**How is this different than:**\n\n    $ cmd1 & cmd2 & cmd3\n\n* Cross platform -- works on Unix or Windows.\n\n* `&` creates a background process, which only exits if you kill it or it ends. `parallelshell` will autokill processes if one of the others dies.\n\n* `command1 & command2 & command3` only waits until command3 ends. Adding `& wait` at the end (`command1 & command2 & command3 & wait`) waits for all 3! But Ctrl+C or a failing command still won't stop the others. parallelshell waits for all 3 and stops them all when it needs to.\n\n* If command1 or command2 exit with non-zero exit code, then this will not effect the outcome of your shell (i.e. they can fail and npm/bash/whatever will ignore it). `parallelshell` will not ignore it, and will exit with the first non-zero exit code.\n\n* Pressing Ctrl+C will exit command3 but not 1 or 2. `parallelshell` will exit all 3\n\n* `parallelshell` outputs all jobs stdout/err to its stdout/err. background jobs do that... kind of coincidentally (read: unreliably)\n\n**So what's the difference between GNU parallel and this?**\n\nThe biggest difference is that parallelshell is an npm module and GNU parallel isn't. While they probably do similar things, albeit (GNU) parallel being more advanced, parallelshell is an easier option to work with when using npm (because it's an npm module).\n\nIf you have GNU parallel installed on all the machines you project will be on, then by all means use it! :)\n\n### Install\n\nSimply run the following to install this to your project:\n\n```bash\nnpm i --save-dev parallelshell\n```\n\nOr, to install it globally, run:\n\n```bash\nnpm i -g parallelshell\n```\n\n### Usage\n\nTo use the command, simply call it with a set of strings - which correspond to\nshell arguments, for example:\n\n```bash\nparallelshell \"echo 1\" \"echo 2\" \"echo 3\"\n```\n\nThis will execute the commands `echo 1` `echo 2` and `echo 3` simultaneously.\n\nNote that on Windows, you need to use double-quotes to avoid confusing the\nargument parser.\n\nAvailable options:\n```\n-h, --help               output usage information\n-v, --verbose            verbose logging\n-w, --wait               will not close sibling processes on error\n-t, --timeout <seconds>  stop remaining commands after the deadline\n-n, --npm <pattern>      run matching npm scripts from package.json\n-p, --prefix             prefix each output line with its command's label\n-l, --label <name>       label the next command, implies --prefix\n```\n\nUse `-n` (or `--npm`) before each npm script name or\n[minimatch](https://github.com/isaacs/minimatch) pattern, mixed freely with\nordinary commands:\n\n```bash\nparallelshell -n \"build:*\" \"echo ordinary command\" -n \"test:{unit,integration}\"\n```\n\nScripts come from `package.json` in the current directory and run through\n`npm run`, so pre/post scripts still apply. Exact names win over patterns.\nPatterns match names starting with `.` and treat a leading `#` or `!` literally.\nEvery selection is checked before anything starts: a missing value, an unmatched\npattern or an unreadable `package.json` exits with code 1.\n\nUse `-t` (or `--timeout`) to stop everything still running after a number of\nseconds, including with `--wait`:\n\n```bash\nparallelshell --timeout 10 \"node server.js\" \"node request.js\"\n```\n\nOn timeout parallelshell exits with code 124, or with an earlier failure's code\nunder `--wait`. Commands are stopped the same way as on failure, so on Unix a\ncommand that ignores SIGTERM can outlive the deadline.\n\n### Prefixed output\n\nUse `-p` (or `--prefix`) to start every line with the command it came from, like\n`docker compose` does. Put `-l` (or `--label`) before a command to name it, which\nturns on `--prefix` by itself:\n\n```bash\nparallelshell -l api \"node server.js\" -l web \"npm run watch\"\n```\n\n```\napi | listening on port 3000\nweb | compiled in 120ms\n```\n\nnpm scripts are labelled with their name, other commands with their text\nshortened to 10 characters. A label names one command, so it can't go before an\n`-n` pattern matching several scripts. Labels are padded to the same width, each\ncommand gets its own color and stderr lines stay on stderr. A line that isn't\nfinished yet shows up right away. If another command prints in the meantime, it\ncarries on in a new line with its label.\n\nColors are used when the output is a terminal. `NO_COLOR` turns them off and\n`FORCE_COLOR` turns them on (`FORCE_COLOR=0` turns them off).\n\nTo label lines parallelshell reads each command's output through a pipe, so\ncommands no longer see a terminal:\n\n* When the labels are colored, commands get `FORCE_COLOR` and `CLICOLOR_FORCE`\n  (unless you set them) so chalk based tools, npm, jest or macOS `ls` stay\n  colored. Tools that ignore both, like git or cargo, need their own flag such as\n  `--color=always`. Everything a command starts sees these variables too, so\n  output written to a file can end up with color codes: set `FORCE_COLOR=0` to\n  avoid that.\n* Progress bars, spinners and interactive modes that need a terminal are turned\n  off by the tools themselves.\n* Python and Ruby buffer their output when it isn't a terminal, so it can show up\n  late. Set `PYTHONUNBUFFERED=1` for Python and `$stdout.sync = true` in Ruby.\n\n### Stopping commands\n\nOn Unix every command runs in its own process group and parallelshell stops the\nwhole group. Ctrl+C, SIGTERM and SIGHUP are passed on as they are. A failing\ncommand, the `--timeout` deadline or closed output stop the others with SIGTERM.\nBackground processes a command left behind get SIGTERM too. That reaches the\ncommands behind `npm run` as well. Commands can use any shell syntax, like\n`export PORT=3000 && cd api && npm start`.\n\n* parallelshell exits once everything it stopped is gone, even when a command's\n  shell ends before the processes it started. Only daemons that close every\n  inherited file descriptor aren't waited for.\n* Ctrl+Z pauses every command and `fg` resumes them.\n* If parallelshell is killed with SIGKILL, a small helper stops the commands.\n* When every command finishes by itself, background processes they started keep\n  running.\n* Commands can't read from the terminal, so password prompts fail right away\n  instead of hanging. Use the non-interactive options instead: `sudo -A` with\n  `SUDO_ASKPASS` for sudo. `SSH_ASKPASS` with `SSH_ASKPASS_REQUIRE=force` or\n  ssh-agent for ssh. `GIT_ASKPASS` or a credential helper for git.\n\nOn Windows parallelshell stops each command's process tree with `taskkill`. A\nprocess started with `start /b` by a command that already exited is outside that\ntree and keeps running. With `--prefix` parallelshell stops waiting for its\noutput.\n","readmeFilename":"README.md","users":{"gvn":true,"bret":true,"inca":true,"sjnnr":true,"cypark":true,"glukki":true,"niccai":true,"outpox":true,"tomekf":true,"vmleon":true,"akarzim":true,"bcawrse":true,"beholdr":true,"stipsan":true,"flynntsc":true,"ibnsaeed":true,"losttime":true,"pablopap":true,"stryczek":true,"alexxnica":true,"anaumidis":true,"antixrist":true,"heartnett":true,"luiscarli":true,"nbuchanan":true,"rootasjey":true,"sleistner":true,"alphazilla":true,"leonardorb":true,"lukemurray":true,"mjwilliams":true,"sotosamper":true,"zhiquan_yu":true,"davidnyhuis":true,"eshenbrener":true,"franleplant":true,"grancalavera":true,"omidantilong":true,"raiseandfall":true,"bradleybossard":true,"shanewholloway":true}}