{"bugs":{"url":"https://github.com/cowboy/node-exit/issues"},"dist":{"shasum":"0632638f8d877cc82107d30a0fff1a17cba1cd0c","tarball":"https://registry.npmjs.org/exit/-/exit-0.1.2.tgz","integrity":"sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==","signatures":[{"sig":"MEUCIQDSMRcrwOkRC78/6olnT8OK0tmbrZC61YzQ52pLFdZJTQIgGS1tN4Pmh/dAXuMIhh0o3KHFFmkjcgDV63T7neNGLO4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/exit","name":"exit","_from":".","author":{"url":"http://benalman.com/","name":"\"Cowboy\" Ben Alman"},"readme":"# exit [![Build Status](https://secure.travis-ci.org/cowboy/node-exit.png?branch=master)](http://travis-ci.org/cowboy/node-exit)\n\nA replacement for process.exit that ensures stdio are fully drained before exiting.\n\nTo make a long story short, if `process.exit` is called on Windows, script output is often truncated when pipe-redirecting `stdout` or `stderr`. This module attempts to work around this issue by waiting until those streams have been completely drained before actually calling `process.exit`.\n\nSee [Node.js issue #3584](https://github.com/joyent/node/issues/3584) for further reference.\n\nTested in OS X 10.8, Windows 7 on Node.js 0.8.25 and 0.10.18.\n\nBased on some code by [@vladikoff](https://github.com/vladikoff).\n\n## Getting Started\nInstall the module with: `npm install exit`\n\n```javascript\nvar exit = require('exit');\n\n// These lines should appear in the output, EVEN ON WINDOWS.\nconsole.log(\"omg\");\nconsole.error(\"yay\");\n\n// process.exit(5);\nexit(5);\n\n// These lines shouldn't appear in the output.\nconsole.log(\"wtf\");\nconsole.error(\"bro\");\n```\n\n## Don't believe me? Try it for yourself.\n\nIn Windows, clone the repo and cd to the `test\\fixtures` directory. The only difference between [log.js](test/fixtures/log.js) and [log-broken.js](test/fixtures/log-broken.js) is that the former uses `exit` while the latter calls `process.exit` directly.\n\nThis test was done using cmd.exe, but you can see the same results using `| grep \"std\"` in either PowerShell or git-bash.\n\n```\nC:\\node-exit\\test\\fixtures>node log.js 0 10 stdout stderr 2>&1 | find \"std\"\nstdout 0\nstderr 0\nstdout 1\nstderr 1\nstdout 2\nstderr 2\nstdout 3\nstderr 3\nstdout 4\nstderr 4\nstdout 5\nstderr 5\nstdout 6\nstderr 6\nstdout 7\nstderr 7\nstdout 8\nstderr 8\nstdout 9\nstderr 9\n\nC:\\node-exit\\test\\fixtures>node log-broken.js 0 10 stdout stderr 2>&1 | find \"std\"\n\nC:\\node-exit\\test\\fixtures>\n```\n\n## Contributing\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).\n\n## Release History\n2013-11-26 - v0.1.2 - Fixed a bug with hanging processes.  \n2013-09-26 - v0.1.1 - Fixed some bugs. It seems to actually work now!  \n2013-09-20 - v0.1.0 - Initial release.\n\n## License\nCopyright (c) 2013 \"Cowboy\" Ben Alman  \nLicensed under the MIT license.\n","engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt nodeunit"},"_npmUser":{"name":"cowboy","email":"cowboy@rj3.net"},"homepage":"https://github.com/cowboy/node-exit","keywords":["exit","process","stdio","stdout","stderr","drain","flush","3584"],"licenses":[{"url":"https://github.com/cowboy/node-exit/blob/master/LICENSE-MIT","type":"MIT"}],"repository":{"url":"git://github.com/cowboy/node-exit.git","type":"git"},"_npmVersion":"1.3.11","description":"A replacement for process.exit that ensures stdio are fully drained before exiting.","directories":{},"maintainers":[{"name":"cowboy","email":"cowboy@rj3.net"}],"readmeFilename":"README.md","devDependencies":{"grunt":"~0.4.1","which":"~1.0.5","grunt-contrib-watch":"~0.5.3","grunt-contrib-jshint":"~0.6.4","grunt-contrib-nodeunit":"~0.2.0"},"_id":"exit@0.1.2","version":"0.1.2"}