{"_id":"node-cmd","_rev":"55-3c8d28a6135f0b6f6fa4bf08943ba888","name":"node-cmd","dist-tags":{"latest":"6.0.1"},"versions":{"1.0.0":{"name":"node-cmd","version":"1.0.0","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"Unlicense","_id":"node-cmd@1.0.0","maintainers":[{"name":"riaevangelist","email":"brandon@1942design.com"}],"homepage":"https://github.com/RIAEvangelist/commandline","bugs":{"url":"https://github.com/RIAEvangelist/commandline/issues"},"dist":{"shasum":"8d64575adaf4457c824c7fbd5e5b5f9eba979109","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.0.0.tgz","integrity":"sha512-dcNiLMrFhMLC1KCuj1qLqz+U/U0YLJjeFH+/bCYA9qUrbikYkdYfrmJzH8dMKOUmtzKSkQlupVs/gjr2ONacgw==","signatures":[{"sig":"MEUCIQDNaCZNtO4KchDjtGedKwuuLhjVJH3UHWp1k17wYZyDXQIgY+i+qPbyDlF/1Q2nDi004ScJXD8pZiAM2vJ+Y6hCXVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"commandline.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@1942design.com"},"repository":{"url":"https://github.com/RIAEvangelist/commandline.git","type":"git"},"_npmVersion":"1.3.14","description":"Simple commandline interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"}},"1.0.1":{"name":"node-cmd","version":"1.0.1","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"Unlicense","_id":"node-cmd@1.0.1","maintainers":[{"name":"riaevangelist","email":"brandon@1942design.com"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"afeea348852d7e5552545e8d529152ca3624d2b6","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.0.1.tgz","integrity":"sha512-jyzxTUOaaMMCRWnHMdV/Pe0+QmpXZrzpmbaLXOlnIlw9IvaDsGlOVOil2LekEJz4vVVbp1l3n63skjcWO+WXKA==","signatures":[{"sig":"MEUCIFkGlVLusiiKnpFahhH1ymImmivRFOdZ35wu2rpbXUO0AiEAmzOy4y24SOcDaQAQpZ/ADclu6mXtKsWcCe8v2VR7Aos=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"commandline.js","_from":".","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@1942design.com"},"repository":{"url":"https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"1.3.14","description":"Simple commandline interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"}},"1.0.2":{"name":"node-cmd","version":"1.0.2","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@1.0.2","maintainers":[{"name":"riaevangelist","email":"brandon@1942design.com"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"89cdb50181476cdd127763d5c8514499fe3c038d","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.0.2.tgz","integrity":"sha512-6lAMF31lMF0AHlvxVVi3it1YN/xMBxbudv5khxXyvF3m2kxZoggWi7T37NjfxKlNqMxRJheKi8ML6Bw3o5i/8w==","signatures":[{"sig":"MEUCICgu2GrncWxpazWWsYTWAWupaZBaSL89xJc3NTmbTlnQAiEAjEapw/tz8cl9Qoxlu0etb9h71Jg5YSN44RjMEvEv9hs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"89cdb50181476cdd127763d5c8514499fe3c038d","gitHead":"a003426996e8594af31a6486cfb7d28d0a547bc9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"1.4.23","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"}},"1.1.0":{"name":"node-cmd","version":"1.1.0","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@1.1.0","maintainers":[{"name":"riaevangelist","email":"brandon@1942design.com"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"8663173f232902599ad6c4da5e437ea4f37c6e5b","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.1.0.tgz","integrity":"sha512-errrRTG2wCT1zzmvklPmMjA0iRZq+BoiddVuh18bpJwgnytmiqlD3hJXL1uLR5zK6EyRWACZaqN+GNk66U21SQ==","signatures":[{"sig":"MEUCIGIghuaoYL2yLtFFnV4ouDsRQ6qGdzpJL+yowiiP3I+GAiEA+9P+apSecLPitSUJ29Xi8hzyPGw/NEAl7iPCsMCTvbo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"8663173f232902599ad6c4da5e437ea4f37c6e5b","gitHead":"467bdb1fd23ae144e570cc371bfebad76e5e7d00","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"2.14.7","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"4.2.3"},"1.1.1":{"name":"node-cmd","version":"1.1.1","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@1.1.1","maintainers":[{"name":"riaevangelist","email":"brandon@1942design.com"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"9c6159d36e6b35b59ec4ab40840d26ab14a9806d","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.1.1.tgz","integrity":"sha512-0ex99hHLgvcsVLsa6U9Y6Kx7Fv9isV91Zhy6J9tC0A/bdSm73ErkjP1qSketFbCyDbVYNjjB6wGcLJN7cTE/QA==","signatures":[{"sig":"MEUCIQCxM1wj15Y71Kse/2MP9U6F1Kx/YbVVV5g5oF5Yw3FliQIgTlOEC/E7P4SsHbnbYE6TlzAaw8eiiVCKzn/E2+daDMg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"9c6159d36e6b35b59ec4ab40840d26ab14a9806d","gitHead":"1f0593c1e311da49401230d83725af9ecbb9c73e","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"2.14.7","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"4.2.3"},"1.2.0":{"name":"node-cmd","version":"1.2.0","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@1.2.0","maintainers":[{"name":"mayberex","email":"marioxcore1@gmail.com"},{"name":"riaevangelist","email":"brandon@diginow.it"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"ba35c1892436829da62697c0d744576397fca337","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.2.0.tgz","integrity":"sha512-SrBnnG2/YOYGqS28tnQ+IQK16mBhuXvHrBMLgkkERKEIoV5IeZIZ2jfk0ODt+XLxxxCJzuPfyEdp5UjBu1E6bg==","signatures":[{"sig":"MEQCIBI2rkgRRGnGop3/CGtzWOMje7DUHLyi92ktlbDc15JOAiBhRDUK5zE759xc94ALCiVO1feFLxaJO9lvolxuWzhhCg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"ba35c1892436829da62697c0d744576397fca337","gitHead":"1a85e0a7fda1444c017f32e74d7c94fc605f1685","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"3.5.2","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"4.2.6","_npmOperationalInternal":{"tmp":"tmp/node-cmd-1.2.0.tgz_1482192688438_0.31989889265969396","host":"packages-12-west.internal.npmjs.com"}},"1.3.0":{"name":"node-cmd","version":"1.3.0","keywords":["commandline","terminal","cmd","cli","bash","script"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@1.3.0","maintainers":[{"name":"mayberex","email":"marioxcore1@gmail.com"},{"name":"riaevangelist","email":"brandon@diginow.it"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"2a77d111db66e6a00fbe610669813c4960df31bc","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-1.3.0.tgz","integrity":"sha512-tbybaa2ekS4WpuJ3rVRgotEGELP0Q3MKk/UXPWrZZWs+wWsEpa7wj2ip+TnGeElqzUctuwIr/X1UmlQPu20lvA==","signatures":[{"sig":"MEUCIQCbrEihvTI988nY5NQ95HuvpkAJu1N+j0jgP2PRQs9xQQIgBz2su/j7yTL4MBt2CCj3JLkPFS7XKuNsY3664aXwW38=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"2a77d111db66e6a00fbe610669813c4960df31bc","gitHead":"41192f1fdf2b1a41730bad994706d794c0a47566","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"4.1.2","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"7.5.1-pre","_npmOperationalInternal":{"tmp":"tmp/node-cmd-1.3.0.tgz_1487057997227_0.15855081262998283","host":"packages-12-west.internal.npmjs.com"}},"2.0.0":{"name":"node-cmd","version":"2.0.0","keywords":["commandline","terminal","cmd","cli","bash","script","node"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@2.0.0","maintainers":[{"name":"mayberex","email":"marioxcore1@gmail.com"},{"name":"riaevangelist","email":"brandon@diginow.it"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"6345655774a3b3f80181b3e52421ba0d23f588f4","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-2.0.0.tgz","integrity":"sha512-aFoI+e0TuUohS5IRF7+kp61cLm1J5WWebGWUEApwMcTtwG0C1mNcsKErEBUI34ALqCrdphjoiF7xkj6DBhwFNA==","signatures":[{"sig":"MEYCIQCmfmpH5c4aWbFngYq/cxypYMukhVKDC608ZjAxQdmdRgIhAJtyuEyXSr8QqY/yJZkvfcYf8//ZmrGphSblQfStZSYX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"6345655774a3b3f80181b3e52421ba0d23f588f4","gitHead":"357b375216e260f0a13f310edf20cceb1392d6ca","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"4.1.2","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"7.5.1-pre","_npmOperationalInternal":{"tmp":"tmp/node-cmd-2.0.0.tgz_1487412669044_0.7258587309625","host":"packages-12-west.internal.npmjs.com"}},"3.0.0":{"name":"node-cmd","version":"3.0.0","keywords":["commandline","terminal","cmd","cli","bash","script","node"],"author":{"name":"Brandon Nozaki Miller"},"license":"DBAD","_id":"node-cmd@3.0.0","maintainers":[{"name":"mayberex","email":"marioxcore1@gmail.com"},{"name":"riaevangelist","email":"brandon@diginow.it"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"38fff70a4aaa4f659d203eb57862737018e24f6f","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-3.0.0.tgz","integrity":"sha512-SBvtm39iEkhEEDbUowR0O2YVaqpbD2nRvQ3fxXP/Tn1FgRpZAaUb8yKeEtFulBIv+xTHDodOKkj4EXIBANj+AQ==","signatures":[{"sig":"MEQCIDQtXohKipu1LByFZX9GMpiwTPbLbqF4r7iJOJMD/IzDAiAdMeJHzrvxXnl9R5eK363ZBFr4HdU2Gx/kZQNrPlwG9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"cmd.js","_from":".","_shasum":"38fff70a4aaa4f659d203eb57862737018e24f6f","gitHead":"91c71842618d95c04a55c78292902aa878b43624","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"3.10.10","description":"Simple commandline/terminal interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"6.10.2","_npmOperationalInternal":{"tmp":"tmp/node-cmd-3.0.0.tgz_1492321741558_0.7660261690616608","host":"packages-18-east.internal.npmjs.com"}},"4.0.0":{"name":"node-cmd","version":"4.0.0","keywords":["commandline","terminal","shell","cmd","cli","bash","script","node"],"author":{"name":"Brandon Nozaki Miller"},"license":"MIT","_id":"node-cmd@4.0.0","maintainers":[{"name":"riaevangelist","email":"brandon@diginow.it"},{"name":"mayberex","email":"marioxcore1@gmail.com"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"a0187d9b779b59f1e8a70545ab8e8276a4b8c693","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-4.0.0.tgz","fileCount":8,"integrity":"sha512-3OHy8KI8MuwADyugQRZBsaqe3c0r3yxQSoLsDBVk7vAjPmfG01512MPBQjfmBJxrH+2qURbiBf/ZyoimrhdA6A==","signatures":[{"sig":"MEYCIQDQoFCHssfK9jr49BOKnkvGX7Nb4+1omrqFJPWQ4xVYPQIhAKh0UqHZ6eosKvW25m7AAc7ce5fRPK1BKZFm8DeVrYNL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfrNPUCRA9TVsSAnZWagAATz8QAKCYoL8cZywNnf4OTwzj\nDMmZp7Ex2nVt8hhuu7EI7ieKSSekRaKJlMkKwvO/cpRUF1ypebkZcuBemREH\n00yl776deIqClqezMaVJ5hVfvPUIe6C9lUTPyqDoqKxLKKl/6BG78gAx/JNG\nAi+xYsSJkpA0+agVE3JwH8Y2Iou76qSz/u6bb+v1QiW4mv9KK9t1KJcxDnjz\n1PmuuYPmRP54XGp1yMUnvssQ1myqUW6LKiAshfZrBSG/Gs4Jj30JsAzhdm+v\noih4sEqNj4q0tR7aDxuSQC/2Q+fgYNlX7ydqgVTHlH1clM3A89zQny/FkOg6\nX0ohNTyvE8VV93vzkC/kzXFSA1SHWKv79l6oySa8cNBrcjVOdiPAIxJb6ZDR\nD0mT+1kTgz9LScQmP3zBmkBSR+OTG/qilDexUWtlUkF8WKUd/ojK74A8TTM6\nenzxovm7/iJ+rEKmO/gSCIFCHha9AmyKKWGiwhVwgZt+9lpvLQ5iPEODMCLl\n1Q7yNc7Fv8VRfU45ZoRHTCH+EXc3FrW9QcKkWR5DdBbFCYq+YagKViBmYkj/\nGYIwXTmr7nDjHC6IN8FyHF1QYl+m6eT9oSnvGQHlSfIlBUeQL/MVPcneBJr3\ncHEKJwwXt92cmL6wFWhVdJIfmscOcDJIfWOZQa6TTCjxn5QKTLZkbF2+ISrR\nfExC\r\n=oesQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cmd.js","engines":{"node":">=6.4.0"},"gitHead":"3869d503eb3a6d196f2f541465171a069adddc4d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"6.14.8","description":"Simple commandline/terminal/shell interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"14.11.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-cmd_4.0.0_1605161939615_0.07672068212734917","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"node-cmd","version":"5.0.0","keywords":["commandline","terminal","shell","cmd","cli","bash","script","node"],"author":{"name":"Brandon Nozaki Miller"},"license":"MIT","_id":"node-cmd@5.0.0","maintainers":[{"name":"riaevangelist","email":"brandon@diginow.it"},{"name":"mayberex","email":"marioxcore1@gmail.com"}],"homepage":"https://github.com/RIAEvangelist/node-cmd","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"a4a850b569e009bec0199a131c9db607144fdbc0","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-5.0.0.tgz","fileCount":4,"integrity":"sha512-4sQTJmsS5uZKAPz/Df9fnIbmvOySfGdW+UreH4X5NcAOOpKjaE+K5wf4ehNBbZVPo0vQ36RkRnhhsXXJAT+Syw==","signatures":[{"sig":"MEUCIA0OWCE1VUSdJC29o4Xte8SUKl8aY+4ba9guuFiE25QLAiEAs7/dd7FrfoowdyccHxHyMSC5SBtW4WaztRdDWv6CrHY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6834,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAfWgCRA9TVsSAnZWagAAQdEP/1lyN+Y9imStnnbkLBG/\no3fbCik0Z8tyDbnOpgcQyz0ugbywD582fWO55HexzN4mQVVjhFXvedVxk6p/\nhTGz3kiX+2Il89KT2P99QBRo98oBlHUsC1vL6iFdLsighpcxpZlT+ZXiDEhD\naSqhTky7onvlWl7QFkR0AzSilHOl+xz/xHvgNyu/tubB6Ki0BxNGpzrUxmbh\nIajiohAijSdSJzswANJW4H0ZGkt3NJAiAEkhMoagETwMMfJYLlSSuOx5kd90\nBozINmrUR6iyxHpyrorJJ5bl2jFQr6EDDXtFiWRQGM/rdBeFspU/bfSMJE1m\nKIqugt+PqbOhzTA3r7/o25Fd/tKfTbbJXSDDhBEOs6isUh3b+7qrcG+XBXLs\nir70BCsRKnQxYjAE7wvbwKqIzK94sgSE6q6/EgqngCtM9p+3HIzzfSEDNJud\nlfJkI4i4OF7azYtT/5YtByJMfxA44F2IZQFxINU1Nbu+Si29PqvgfEj8mzGS\nc87siBYN2G8wo3HdUCcjpz6Ui87/eILBcuIVB4BAswbrEFOvaeqdKVvIHIhZ\nmiXp5+uHYVO76oJ8ap9krLKW22zoePyIVWev4hoF3WsYZ1fZF5hzImJJJgYv\nPyyKyu9NdLkBF4qwezc5Q15hvfO4sutQOwbF/TgDVmOFjZ9tA5BU03+PQX66\nBr6O\r\n=X6Cz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"cmd.js","engines":{"node":">=6.4.0"},"gitHead":"9ed1a1bc8be9c0eeaa6add90d853c042bfe1c8a4","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"6.14.13","description":"Simple commandline/terminal/shell interface to allow you to run cli or bash style commands as if you were in the terminal.","directories":{"example":"example"},"_nodeVersion":"14.17.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/node-cmd_5.0.0_1627518368228_0.017441591212566054","host":"s3://npm-registry-packages"}},"6.0.0":{"name":"node-cmd","version":"6.0.0","keywords":["commandline","terminal","shell","cmd","cli","bash","child-process","spawn","exec","node"],"author":{"name":"Brandon Nozaki Miller"},"license":"MIT","_id":"node-cmd@6.0.0","maintainers":[{"name":"riaevangelist","email":"brandon@diginow.it"},{"name":"mayberex","email":"marioxcore1@gmail.com"}],"homepage":"https://riaevangelist.github.io/node-cmd/","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"46e6316f5a35fffbdaed1d886c3b5a85fc873795","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-6.0.0.tgz","fileCount":8,"integrity":"sha512-kMvaI08OcPcYwrnOy3gWvJdFRNWZKFnTIuo0IS1lqQOb4XLhguQvobiILtnBDVWfKVv1v+cLajXaHx+o7A5FbQ==","signatures":[{"sig":"MEUCIQC/cvsAbeD+5sbmzuS7dgyjqYkwdLIxfVfLq63FsmGQ5wIgPzTVEnFX30t/wGKRWCJfS5sPk1xaCKPeDOxJ95zVCAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFHD+aOlYKIpldoc8MMRSOPVgWMlB2zz/9aimrAG8G/jAiB8w53HlzjWDOD9TysSEQsb14PFUAljlHOZ+gse4aoQ3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37021},"main":"./cmd.js","type":"commonjs","module":"./cmd.mjs","engines":{"node":">=22.12.0"},"exports":{".":{"import":"./cmd.mjs","default":"./cmd.js","require":"./cmd.js"},"./cmd":"./cmd.js","./cmd.js":"./cmd.js","./cmd.mjs":"./cmd.mjs","./package.json":"./package.json"},"funding":"https://github.com/sponsors/RIAEvangelist","gitHead":"2e41231176ddb8b733b52892cf268c1091abae1e","scripts":{"test":"node ./test/node.mjs","verify":"npm test && npm run coverage && npm run test:package && npm run site:check","coverage":"vanilla-test coverage node","site:check":"node ./scripts/validate-site.js","test:package":"node ./scripts/package-smoke.js"},"_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"11.16.0","description":"Command-line power for JavaScript: run shell commands, launch executables, and control child processes with zero runtime dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"vanilla-test":"2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/node-cmd_6.0.0_1786758621401_0.9968272982064161","host":"s3://npm-registry-packages-npm-production"}},"6.0.1":{"_id":"node-cmd@6.0.1","bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"dist":{"shasum":"a9eb5d81049dd2fa8316f4c5f2fb98cb92191c84","tarball":"https://registry.npmjs.org/node-cmd/-/node-cmd-6.0.1.tgz","fileCount":8,"integrity":"sha512-L1tIU3wJJsKKj5AaXZKR0mRMcaJ5ekoYEkNGh02wm7APf9E7Aiy3bHPsYUiMfyRIGeRcar3X0WJQ/Mlt13Msrw==","signatures":[{"sig":"MEQCIEyiwPliaAJ0qgoLSJvy9EHg+NFJ9imOVlqeBApm7He9AiBKINS4W7Gdq9QxbRs1pFzrSE50kCgxGEzwKlLHGPh0bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCT+pPF/NbEdBjZM4REWbA7KsEmkz3tm5lAOPAyGeSGfgIgQMFTn7tM0h8el0Nd03ztHkjV99rC9lKsuZcSROMdn6Q="}],"unpackedSize":44869},"main":"./cmd.js","name":"node-cmd","type":"commonjs","author":{"name":"Brandon Nozaki Miller"},"module":"./cmd.mjs","engines":{"node":">=22.12.0"},"exports":{".":{"import":"./cmd.mjs","default":"./cmd.js","require":"./cmd.js"},"./cmd":"./cmd.js","./cmd.js":"./cmd.js","./cmd.mjs":"./cmd.mjs","./package.json":"./package.json"},"funding":"https://github.com/sponsors/RIAEvangelist","gitHead":"786420037df5f1eb18bc083509a77b9deb8c40ab","license":"MIT","scripts":{"test":"node ./test/node.mjs","verify":"npm test && npm run coverage && npm run test:runtime-contract && npm run test:package && npm run site:check","coverage":"vanilla-test coverage node","benchmark":"node ./benchmark/run.js","test:unit":"node ./test/node.mjs unit","site:check":"node ./scripts/validate-site.js","test:package":"node ./scripts/package-smoke.js","benchmark:chart":"node ./benchmark/render-chart.js ./benchmark/reference.json ./assets","test:behavioral":"node ./test/node.mjs behavioral","test:functional":"node ./test/node.mjs functional","test:regression":"node ./test/node.mjs regression","test:integration":"node ./test/node.mjs integration","test:runtime-contract":"node ./scripts/validate-runtime-contract.js"},"version":"6.0.1","_npmUser":{"name":"riaevangelist","email":"brandon@diginow.it"},"homepage":"https://riaevangelist.github.io/node-cmd/","keywords":["commandline","terminal","shell","cmd","cli","bash","child-process","spawn","exec","node"],"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"_npmVersion":"11.16.0","description":"Node.js-only command-line power: run shell commands, launch executables, and control child processes with zero runtime dependencies.","directories":{},"maintainers":[{"name":"riaevangelist","email":"brandon@diginow.it"},{"name":"mayberex","email":"marioxcore1@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"vanilla-test":"2.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/node-cmd_6.0.1_1787545494639_0.6974326085861078"}}},"time":{"created":"2014-02-21T07:33:57.452Z","modified":"2026-08-24T04:24:54.926Z","1.0.0":"2014-02-21T07:33:58.868Z","1.0.1":"2014-02-21T07:47:09.550Z","1.0.2":"2014-09-03T05:37:56.318Z","1.1.0":"2016-01-25T04:11:22.457Z","1.1.1":"2016-01-25T04:16:55.926Z","1.2.0":"2016-12-20T00:11:28.674Z","1.3.0":"2017-02-14T07:39:57.446Z","2.0.0":"2017-02-18T10:11:09.258Z","3.0.0":"2017-04-16T05:49:03.417Z","4.0.0":"2020-11-12T06:18:59.729Z","5.0.0":"2021-07-29T00:26:08.352Z","6.0.0":"2026-08-15T01:50:21.489Z","6.0.1":"2026-08-24T04:24:54.740Z"},"bugs":{"url":"https://github.com/RIAEvangelist/node-cmd/issues"},"author":{"name":"Brandon Nozaki Miller"},"license":"MIT","homepage":"https://riaevangelist.github.io/node-cmd/","keywords":["commandline","terminal","shell","cmd","cli","bash","child-process","spawn","exec","node"],"repository":{"url":"git+https://github.com/RIAEvangelist/node-cmd.git","type":"git"},"description":"Node.js-only command-line power: run shell commands, launch executables, and control child processes with zero runtime dependencies.","maintainers":[{"name":"riaevangelist","email":"brandon@diginow.it"},{"name":"mayberex","email":"marioxcore1@gmail.com"}],"readme":"[![node-cmd — command-line and process control for Node.js](https://raw.githubusercontent.com/RIAEvangelist/node-cmd/main/assets/node-cmd-header.png)](https://riaevangelist.github.io/node-cmd/)\n\n# node-cmd\n\n[Visit the node-cmd GitHub.io site](https://riaevangelist.github.io/node-cmd/)\n\n[API reference](https://riaevangelist.github.io/node-cmd/api.html) · [Testing & coverage](https://riaevangelist.github.io/node-cmd/testing.html) · [Benchmarks](https://riaevangelist.github.io/node-cmd/benchmarks.html) · [Security](https://riaevangelist.github.io/node-cmd/security.html) · [Migration](https://riaevangelist.github.io/node-cmd/migration.html) · [Changelog](https://riaevangelist.github.io/node-cmd/changelog.html)\n\n[![CI](https://github.com/RIAEvangelist/node-cmd/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/RIAEvangelist/node-cmd/actions/workflows/ci.yml?query=branch%3Amain)\n[![npm version](https://img.shields.io/npm/v/node-cmd.svg)](https://www.npmjs.com/package/node-cmd)\n[![npm downloads](https://img.shields.io/npm/dm/node-cmd.svg)](https://www.npmjs.com/package/node-cmd)\n[![license](https://img.shields.io/github/license/RIAEvangelist/node-cmd.svg)](licence)\n[![Node.js >=22.12](https://img.shields.io/badge/Node.js-%3E%3D22.12-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org/)\n[![runtime dependencies](https://img.shields.io/badge/runtime_dependencies-0-2ea44f)](package.json)\n[![tests](https://img.shields.io/badge/tests-vanilla--test%202.1.0-16d9e3)](https://riaevangelist.github.io/node-cmd/testing.html)\n[![coverage](https://img.shields.io/badge/coverage-100%25%20statements-2ea44f)](https://riaevangelist.github.io/node-cmd/coverage/)\n\n[![Sponsor RIAEvangelist](https://img.shields.io/static/v1?label=Sponsor%20RIAEvangelist&message=%E2%9D%A4&logo=GitHub)](https://github.com/sponsors/RIAEvangelist)\n\n**Command-line power for Node.js.** Run shell commands, launch executables, stream output, write to stdin, and control child processes. `node-cmd` has zero runtime dependencies and supports both Node.js CommonJS and native Node.js ES modules.\n\nThe original `run()` and `runSync()` APIs remain available. Version 6 adds forwarded execution options, Promise APIs, direct executable APIs that avoid a shell by default, an unbuffered `spawn` wrapper, and explicit cancellation support.\n\n## Runtime boundary\n\n**node-cmd is Node.js-only. It does not run in browsers, with or without a bundler.** Its public API requires Node's built-in `node:child_process` module and operating-system process access. “Native ESM” in this project means native Node.js ESM.\n\nNo browser entry, browser shim, import map, playground, or native-Chrome suite is provided because browsers cannot expose child-process control. A Node-targeted bundler may externalize Node built-ins, but a browser-targeted bundle cannot grant browser JavaScript operating-system process privileges. Native-browser conformance and runtime-dependency conflict testing are not applicable; the package has zero runtime dependencies.\n\n## Why node-cmd?\n\nNode already provides `node:child_process`; node-cmd turns its common execution paths into one small, consistent API. Use shell syntax when you need it, keep executable arguments separate when you do not, and choose callback, Promise, synchronous, buffered, or streaming control without a production dependency tree.\n\n- `run*` handles intentional shell commands; `runFile*` and `runStream()` are direct by default.\n- Existing `run()` and `runSync()` calls remain valid while modern options, cancellation, and immediate `ChildProcess` access stay available.\n- CommonJS and ESM load the same implementation on Node.js 22.12+, so runtime behavior is not duplicated between module systems.\n\n## Install\n\n```sh\nnpm install node-cmd\n```\n\nnode-cmd 6 requires Node.js 22.12 or newer.\n\n## Quick start\n\n### CommonJS\n\n```js\nconst cmd = require('node-cmd');\n\ncmd.run('node --version', (error, data, stderr) => {\n    if (error) {\n        console.error(stderr || error.message);\n        return;\n    }\n\n    console.log(data);\n});\n```\n\n### ES modules in Node.js\n\n```js\nimport { runPromise } from 'node-cmd';\n\nconst { stdout, stderr } = await runPromise('node --version');\n\nif (stderr) {\n    console.error(stderr);\n}\n\nconsole.log(stdout);\n```\n\n### Run an executable without a shell\n\n```js\nimport { runFilePromise } from 'node-cmd';\n\nconst { stdout } = await runFilePromise(\n    process.execPath,\n    ['--version']\n);\n\nconsole.log(stdout);\n```\n\n`runFile*()` keeps the executable and its arguments separate and does not start a shell by default. Prefer it when any argument may contain untrusted or variable data.\n\n## Benchmarks\n\nnode-cmd delegates to the matching Node child-process primitive. A dependency-free harness measures JavaScript dispatch separately from real process completion so the wrapper’s cost is visible instead of being lost inside operating-system launch time.\n\n[![node-cmd JavaScript dispatch benchmark against node:child_process](https://raw.githubusercontent.com/RIAEvangelist/node-cmd/main/assets/node-cmd-dispatch-benchmark.svg)](https://riaevangelist.github.io/node-cmd/benchmarks.html)\n\n[![node-cmd empty-process completion benchmark against node:child_process](https://raw.githubusercontent.com/RIAEvangelist/node-cmd/main/assets/node-cmd-process-benchmark.svg)](https://riaevangelist.github.io/node-cmd/benchmarks.html)\n\nOn the Node.js 22.12.0 reference run, common callback, Promise, direct-file, and streaming paths added median dispatch costs of 0.21–0.22 ns; synchronous result normalization added 7.56–10.40 ns. Empty-process completion took about 39–55 ms. All seven paired completion-time comparisons included zero in their 95% confidence intervals, so this run did not resolve a completion-time difference.\n\nThe largest measured dispatch delta was roughly 3.8 million times smaller than its matching child-process duration. Confidence intervals that include zero do not prove mathematical equivalence, and absolute launch time varies by machine and operating system. Read the [methodology and exact tables](https://riaevangelist.github.io/node-cmd/benchmarks.html), download the [raw samples](https://riaevangelist.github.io/node-cmd/benchmark-results.json), or inspect the [benchmark source](benchmark/run.js). These results support negligible wrapper cost; they do not claim that node-cmd makes Node or the operating system launch a process faster.\n\n## API\n\n| Method | Signature | Returns |\n|---|---|---|\n| `run` | `run(command, options?, callback?)` | `ChildProcess` |\n| `runSync` | `runSync(command, options?)` | `{ err, data, stderr }` |\n| `runPromise` | `runPromise(command, options?)` | `Promise<{ stdout, stderr }>` |\n| `runPromisified` | Alias of `runPromise` | `Promise<{ stdout, stderr }>` |\n| `runFile` | `runFile(file, args?, options?, callback?)` | `ChildProcess` |\n| `runFileSync` | `runFileSync(file, args?, options?)` | `{ err, data, stderr }` |\n| `runFilePromise` | `runFilePromise(file, args?, options?)` | `Promise<{ stdout, stderr }>` |\n| `runFilePromisified` | Alias of `runFilePromise` | `Promise<{ stdout, stderr }>` |\n| `runStream` | `runStream(file, args?, options?)` | `ChildProcess` |\n\nThe default export and CommonJS export expose the same methods. Native Node.js ESM also provides named exports.\n\n### `run(command, options?, callback?)`\n\nRuns a command through the platform shell. The callback keeps the established Node-style shape:\n\n```js\ncmd.run(\n    'node --version',\n    { cwd: process.cwd(), timeout: 10_000 },\n    (error, data, stderr) => {\n        if (error) {\n            console.error(error);\n            return;\n        }\n\n        console.log(data);\n    }\n);\n```\n\nThe options object is optional, so existing `run(command, callback)` calls continue to work. The returned `ChildProcess` is available whether or not a callback is supplied.\n\n### `runPromise(command, options?)`\n\nRuns a shell command and resolves with its buffered output:\n\n```js\nconst { stdout, stderr } = await cmd.runPromise('node --version', {\n    timeout: 10_000\n});\n```\n\nIt rejects when the command cannot start, exits unsuccessfully, times out, is aborted, or exceeds `maxBuffer`. Rejection errors retain Node's child-process details, including `stdout` and `stderr` when Node provides them.\n\nThe returned Promise also exposes its immediate `ChildProcess` as `.child` when PID, events, or cancellation are needed before the buffered result settles:\n\n```js\nconst pending = cmd.runPromise('node --version');\nconsole.log(pending.child.pid);\nconst result = await pending;\n```\n\n`runPromisified` is an exact compatibility alias of `runPromise`.\n\n### `runSync(command, options?)`\n\nRuns a shell command synchronously and preserves the established result keys:\n\n```js\nconst result = cmd.runSync('node --version');\n\nif (result.err) {\n    console.error(result.stderr || result.err);\n} else {\n    console.log(result.data);\n}\n```\n\n- `data` contains standard output on success and is `null` on ordinary command failure.\n- `err` is `null` on success and describes an ordinary command failure.\n- `stderr` contains captured standard error when available.\n\nUse synchronous execution only when blocking the Node.js event loop is acceptable.\n\n### Direct executable methods\n\nThe `runFile*()` methods execute a file with an argument array and buffer its output. Their callback, Promise, and synchronous result shapes match the corresponding shell-command methods.\n\n```js\ncmd.runFile(\n    process.execPath,\n    ['--version'],\n    { timeout: 10_000 },\n    (error, data, stderr) => {\n        if (error) {\n            console.error(stderr || error.message);\n            return;\n        }\n\n        console.log(data);\n    }\n);\n```\n\n`runFilePromisified` is an exact compatibility alias of `runFilePromise`.\n\nThe Promise returned by `runFilePromise()` or its alias likewise exposes the direct child as `.child`.\n\n### `runStream(file, args?, options?)`\n\nWraps Node's `spawn()` for long-running, high-output, or interactive programs. It does not buffer complete stdout or stderr and returns the `ChildProcess` immediately.\n\n```js\nimport { runStream } from 'node-cmd';\n\nconst child = runStream(process.execPath, ['--version']);\n\nchild.stdout.setEncoding('utf8');\nchild.stdout.on('data', (chunk) => process.stdout.write(chunk));\nchild.stderr.on('data', (chunk) => process.stderr.write(chunk));\nchild.on('close', (code, signal) => {\n    console.log({ code, signal });\n});\n```\n\nArguments remain separate and no shell is used by default. Set `options.shell` only when shell parsing is intentional; doing so reintroduces platform-specific quoting and injection risks.\n\n## Options\n\nExecution options are forwarded to Node's `child_process` APIs. Common options include:\n\n| Option | Purpose |\n|---|---|\n| `cwd` | Working directory for the child process |\n| `env` | Environment variables supplied to the child process |\n| `encoding` | Buffered-output encoding; use `'buffer'` or `null` for buffers |\n| `timeout` | Milliseconds before Node requests child termination |\n| `signal` | `AbortSignal` for asynchronous cancellation |\n| `shell` | Shell executable or shell enablement where supported |\n| `maxBuffer` | Maximum buffered stdout or stderr before termination |\n| `killSignal` | Signal used for timeout or cancellation |\n| `windowsHide` | Hide the subprocess window on Windows |\n\nNot every Node option applies to every method. Synchronous calls cannot be cancelled with an `AbortSignal`, and `runStream()` is unbuffered so `encoding` and `maxBuffer` do not apply to it. Set an encoding directly on its stdout or stderr stream when text is wanted.\n\nSetting `shell: true` on a direct-file or streaming call reintroduces shell parsing and its injection risks.\n\n## Child process control\n\n`run()`, `runFile()`, and `runStream()` return Node's `ChildProcess`. Use it for streaming output, interactive input, PID inspection, events, and manual termination. Prefer `runStream()` when output can be large or the process is expected to stay open.\n\n```js\nconst child = cmd.runStream(process.execPath, ['--version']);\n\nconsole.log(child.pid);\nchild.stdout.setEncoding('utf8');\nchild.stdout.on('data', (chunk) => process.stdout.write(chunk));\nchild.stderr.on('data', (chunk) => process.stderr.write(chunk));\n```\n\n### Interactive input\n\n```js\nconst child = cmd.runStream(process.execPath, ['--interactive']);\n\nchild.stdout.setEncoding('utf8');\nchild.stdout.on('data', (chunk) => process.stdout.write(chunk));\n\nchild.stdin.write('console.log(6 * 7)\\n');\nchild.stdin.write('.exit\\n');\nchild.stdin.end();\n```\n\nWrite to the returned child's `stdin`; callback output values are completed buffers, not process handles.\n\n### Cancellation\n\n```js\nconst controller = new AbortController();\n\ncmd.run(\n    'long-running-command',\n    { signal: controller.signal },\n    (error) => {\n        if (error?.name === 'AbortError') {\n            console.log('Command cancelled');\n        }\n    }\n);\n\ncontroller.abort();\n```\n\nYou can also retain the returned child and call `child.kill()`. A shell command may create descendant processes; terminating the shell does not guarantee that every descendant is terminated on every operating system.\n\nA timeout or kill signal requests termination; it is not a guaranteed hard deadline or a portable process-tree boundary.\n\n## Shell safety\n\n`run()` and `runPromise()` intentionally execute shell command strings. Never concatenate untrusted input into those strings:\n\n```js\n// Unsafe: userValue can change the command interpreted by the shell.\ncmd.run(`tool --name ${userValue}`);\n\n// Safer: the value remains one executable argument.\ncmd.runFile('tool', ['--name', userValue]);\n```\n\n`runFile*()` and `runStream()` reduce shell-injection risk when their default no-shell behavior is preserved, but the called executable can still interpret arguments in unsafe ways. Validate inputs and use the smallest necessary environment and working directory. See [SECURITY.md](SECURITY.md) before running commands influenced by another user or service.\n\n## Cross-platform behavior\n\nShell syntax is platform-specific. Shell commands normally use `/bin/sh` on Unix-like systems and `ComSpec` on Windows, so quoting, environment expansion, separators, and built-in commands differ.\n\nPrefer `runFile*()` or `runStream()` for portable executable calls. Windows `.bat` and `.cmd` files require a command shell; use `run()` or opt into a shell deliberately when invoking them.\n\n`node-cmd` does not request administrator, root, or UAC elevation. Child processes inherit the privileges of the Node.js process that starts them.\n\n## Testing and coverage\n\nThe project uses [`vanilla-test` 2.1.0](https://github.com/RIAEvangelist/vanilla-test) for both test execution and Node coverage. It is the only direct development dependency; the published `node-cmd` package keeps zero runtime dependencies.\n\nThe JavaScript suite contains 53 focused cases across five independently runnable sets. The Behavioral set composes public APIs into black-box consumer outcomes, while the other sets keep narrower contract ownership.\n\n| Test set | Cases | Focus |\n| --- | ---: | --- |\n| Unit | 5 | CommonJS and ESM surface plus compatibility aliases |\n| Functional | 17 | Normal callback, Promise, synchronous, direct-file, and streaming behavior |\n| Behavioral | 5 | Shell composition, failure output, buffer limits, timeouts, and live output |\n| Integration | 8 | Process I/O, environment, cancellation, stderr isolation, and literal arguments |\n| Regression | 18 | Overloads, omitted values, buffers, validation, and error normalization |\n| **Total** | **53** | **Public execution paths, compatibility edges, and consumer workflows** |\n\n| Gate | Current result | Required |\n| --- | ---: | ---: |\n| Full JavaScript suite | 53 / 53 passing | All passing |\n| Behavioral set | 5 / 5 passing | All passing |\n| Statements | 100% | 100% |\n| Branches | 100% | 100% |\n| Functions | 100% | 100% |\n| Lines | 100% | 100% |\n\nContinuous integration runs the suite on Node.js 22.12 and Node.js 24 across Linux, macOS, and Windows. Coverage runs through `vanilla-test coverage node`, using native V8 execution without transforming `node-cmd` source. The generated engineer-readable [HTML coverage report](https://riaevangelist.github.io/node-cmd/coverage/) and ANSI-free [test result artifact](https://riaevangelist.github.io/node-cmd/coverage/test-results.json) are published with the documentation site.\n\n## Development\n\n```sh\nnpm ci\nnpm test\nnpm run test:unit\nnpm run test:functional\nnpm run test:behavioral\nnpm run test:integration\nnpm run test:regression\nnpm run test:runtime-contract\nnpm run coverage\nnpm run test:package\nnpm run benchmark\nnpm run benchmark:chart\n```\n\nThe five `test:*` commands run one set independently; `npm test` and `npm run coverage` always run all 53 cases. Coverage writes the local HTML report to `coverage/node/index.html`. `npm run benchmark` prints a local comparison; pass `--output <file>` to retain its raw samples. `npm run benchmark:chart` regenerates the committed README charts from the reference JSON. `npm run verify` runs the full suite, coverage gates, packed-package smoke test, and static-site validation together.\n\nWhen upgrading from v5, read [MIGRATION.md](MIGRATION.md). Release details are in [CHANGELOG.md](CHANGELOG.md), and command-execution guidance is in [SECURITY.md](SECURITY.md).\n\n## License\n\n[MIT](licence)\n","readmeFilename":"README.md","users":{"jag82":true,"kwcjr":true,"yisen":true,"monjer":true,"yuriab":true,"areasis":true,"gvhinks":true,"heychez":true,"jybleau":true,"soladmd":true,"bapinney":true,"pdestiny":true,"ssljivic":true,"alexc1212":true,"magemagic":true,"jakedetels":true,"makebox360":true,"rocket0191":true,"constantinc":true,"flumpus-dev":true,"joshdoescode":true,"mucahitnezir":true,"riaevangelist":true,"williewrightjr":true}}