{"_id":"uncaught-exception","_rev":"34-8986025ffb497537d0d3731310f98939","name":"uncaught-exception","dist-tags":{"latest":"6.0.2"},"versions":{"2.0.1":{"name":"uncaught-exception","version":"2.0.1","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@2.0.1","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"23b68a89d5d1168779d51a64dc2c9a08dd5b8205","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-2.0.1.tgz","integrity":"sha512-BnqEPqNFZj/QvH5EaTkprEYx0ffJ4DW2o64H1X4sbGfi1b/0Gy4qcS/BM0ey2RWy75fXHt5vBDji7u+2K1q1aw==","signatures":[{"sig":"MEQCIETg7pqFnz8lABcx7Qc09/UEy2NaMm8yXCY5s6Z8MClhAiBiQFhj0TXo5eXMcm4maPeR6XB+Orq9jpl/UKx/hEEg1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index","_from":".","engine":{"node":">= 0.8.x"},"scripts":{"test":"npm run jshint && node ./test 2>&1 | tee ./test/test.js.tap","cover":"istanbul cover --report none --print detail ./test","jshint":"jshint --verbose --config jshint.json .","view-cover":"istanbul report html && open ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"1.3.17","description":"Handle uncaught exceptions","directories":{},"dependencies":{},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"xtend":"~2.1.1","jshint":"~2.3.0","istanbul":"~0.1.46","assert-tap":"~0.1.4"}},"3.0.0":{"name":"uncaught-exception","version":"3.0.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@3.0.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"7c30f9fc0856087be4dcb5568b0457121898f05d","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-3.0.0.tgz","integrity":"sha512-YIxxJz4+I4u+J++C2mfcAl7VrbiDrc7N3EnzGxTUKvw5V3AIjvUHbODx2CGX7GjbIcxk6b9fmZsUWzwlWwzZGg==","signatures":[{"sig":"MEQCICR/SHl2dXS2e5GhuC768x4ghpykP0FRnS/pBlP0l+jHAiBp1p1dnMD7rxHqYqmroAv9UhvCJEycFoewl40g2e2Maw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"7c30f9fc0856087be4dcb5568b0457121898f05d","gitHead":"6f2329d1af4dd20fc93c182d0167d49843c784ed","scripts":{"test":"npm run jshint && node ./test/index.js | tap-spec","cover":"istanbul cover --report cobertura --print detail ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"1.4.15","description":"Handle uncaught exceptions","directories":{},"dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.2.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4"}},"4.0.0":{"name":"uncaught-exception","version":"4.0.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@4.0.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"5023f427ad87abc14cf9c46193ff4dbf715774ee","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-4.0.0.tgz","integrity":"sha512-+Fty61CVNBDABuyrqzs7jFb210Tcltc03Y536ng3x2U7vYnVI1iNiLJuTh40HPHW9yZxhmpxflB8HYlrx2fBAw==","signatures":[{"sig":"MEUCIQDlVAXnaYe//RegNmbhk6Ty3RYOixYng9V8Wdw4z/FDLwIgVyQ+1NFKFmQp2vszN4fLXcw2ttjkUfKDHRt0IAURo9o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"5023f427ad87abc14cf9c46193ff4dbf715774ee","gitHead":"00af9d9153d2437011cd8b071d4d2175eb99dc20","scripts":{"test":"npm run jshint && node ./test/index.js | tap-spec","cover":"istanbul cover --report cobertura --print detail ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"1.4.21","description":"Handle uncaught exceptions","directories":{},"dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.2.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4"}},"4.1.0":{"name":"uncaught-exception","version":"4.1.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@4.1.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"e1f59d286a148b0c0cbe1e3e2f127c7c50d98eec","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-4.1.0.tgz","integrity":"sha512-4ZtvLC9Ai9S2MseEr2kbb2oq6Jy+HQYwnHAZK6RUqEN8lbVBhgb3fQOWSZNbvKamq6h3k//xBcHu+zMkj32bBA==","signatures":[{"sig":"MEUCIHOb3HG3Thrvi+wni8wJEcu0kg2fSPvcLuFH6l+bED68AiEAluN2et240DgVIYQPa/3vZAk2mpX8GSNknSmEyXcSgAk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"e1f59d286a148b0c0cbe1e3e2f127c7c50d98eec","gitHead":"4c6fddb9b9bd7988f9b15b922fff11a9c73de2fd","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"1.4.15","description":"Handle uncaught exceptions","directories":{},"dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.2.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4","pre-commit":"0.0.9"}},"4.1.1":{"name":"uncaught-exception","version":"4.1.1","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@4.1.1","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"5e29d8c05a322b7b8f82ecf7c84bf925f944e13d","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-4.1.1.tgz","integrity":"sha512-h6pTY9SCaoDcYlt58lnGxGltO0Adgi3owqJ3i3bbUutFFaNMKJjF5QattCLK13y0ENgZyVbVRZbwf3H7dcKohw==","signatures":[{"sig":"MEQCIH4P8RGxaWGd8T/JAeMIFRVsPBsZuW4oHBoKj/OTmPKUAiAJW+Ynpwg183utRCDGlU2wWcg5qpyOyOidrV8RI52k+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"5e29d8c05a322b7b8f82ecf7c84bf925f944e13d","gitHead":"391866953974b94dc9b51db175b5feaa6cc92497","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"1.4.23","description":"Handle uncaught exceptions","directories":{},"dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.2.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4","pre-commit":"0.0.9"}},"4.2.0":{"name":"uncaught-exception","version":"4.2.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@4.2.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"e490b47b04d1faa830f0a459df3d9f0187e30c23","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-4.2.0.tgz","integrity":"sha512-3JIRdAQLPzXJJa5kJOPd/3ROKYLEFwdzPprDnCiLKYyEcCIs4dKKkPK5MNuu/RVPuT/avw05v1NBafzzMSaytw==","signatures":[{"sig":"MEYCIQDb4La7M9U7cuCqi7egRY//anm/EG/1MuaN6iYC1/8TeQIhAMk5dp6EUVBvdaCQ419TOL2PdBdcOOdgzK+Hn2MT/dZp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"e490b47b04d1faa830f0a459df3d9f0187e30c23","gitHead":"aea2b66d91f4933db9d48b6728067f80a44a45dd","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"2.0.2","description":"Handle uncaught exceptions","directories":{},"_nodeVersion":"0.10.26","dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.2.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4","pre-commit":"0.0.9"}},"4.3.0":{"name":"uncaught-exception","version":"4.3.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@4.3.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"f2a736a0f86832aabe0a4e0d4482531488278cfa","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-4.3.0.tgz","integrity":"sha512-QFhS7pvXoLgRP0AAk70eWYVZk5M2awbgKI1hNSvp66s6CY676U+V2H1utWHmefD7tG2gWW/uvmF6sVteErFoyQ==","signatures":[{"sig":"MEUCIQCOTJSwrwG++BOv5p+pqpRp4X9olcAPAXWdMv4MMXt6QwIgIb4uNgPKZmlM9zOgQbV8QH1zu5UpE5qMHgHTEIdastQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"f2a736a0f86832aabe0a4e0d4482531488278cfa","gitHead":"d4976516b42174fae8ed63f895013a8a31e46df2","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"1.4.24","description":"Handle uncaught exceptions","directories":{},"dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.2.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4","pre-commit":"0.0.9"}},"5.0.0":{"name":"uncaught-exception","version":"5.0.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@5.0.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"604a1a2b7af108cbfa3c6ba085e58eefa078df39","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-5.0.0.tgz","integrity":"sha512-1JhCtuS4LoRmYGBwfSpTQaoWQJ/wgFnndfp10r9ZYSTz0PUSh9KTd13PJWdA3EbLEqinSnLkeOiVXgaLvCmHrg==","signatures":[{"sig":"MEUCIBfPdMUtzfgWls7Yb0KiqS1lWP1u628Oi49B/cGSuOsYAiEAspfLmoekK/tvdJEZCItFDet4xFeldsTzwddodU/aqDY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"604a1a2b7af108cbfa3c6ba085e58eefa078df39","gitHead":"0ec7dfae0a54963e67488a3ed13e894d8840e695","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"2.7.4","description":"Handle uncaught exceptions","directories":{},"_nodeVersion":"0.10.26","dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","tape":"^4.0.0","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.3.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4","pre-commit":"0.0.9","uber-statsd-client":"1.3.2"}},"5.1.0":{"name":"uncaught-exception","version":"5.1.0","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@5.1.0","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"c063a3b2172637ebc5791c2618116a6c74bd9a4c","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-5.1.0.tgz","integrity":"sha512-0pr2MPw/OE4OkGkRkm/qRMGhX3xyXIr+OcY435pYpbcD6Ll37MQXx3Bf+XoXM8fVbboG5cVCrIiAhQGQRDmpVg==","signatures":[{"sig":"MEUCIQC/XS5VJFJh3c700167zuMWFXT/3Wh8Ovgr6MG5KxsiVQIgLvRBEogu3ARbpiEnMQXHiRa+I71RQjG5p9Z3Eul2iGg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"c063a3b2172637ebc5791c2618116a6c74bd9a4c","gitHead":"b330fb75de684ce917757a1ec28de69a4b367c47","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"2.7.4","description":"Handle uncaught exceptions","directories":{},"_nodeVersion":"0.10.32","dependencies":{"once":"^1.3.0","error":"^4.1.1","process":"^0.7.0","json-stringify-safe":"^5.0.0"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^0.1.2","tape":"^4.0.0","xtend":"~2.1.1","jshint":"^2.5.1","fake-fs":"^0.4.0","istanbul":"^0.3.13","tap-spec":"^0.2.0","time-mock":"^0.1.2","assert-tap":"~0.1.4","pre-commit":"0.0.9","uber-statsd-client":"1.3.2"}},"6.0.1":{"name":"uncaught-exception","version":"6.0.1","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@6.0.1","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"},{"name":"uber","email":"opensource@uber.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"07d774187c8664931e56105eabd95e132b7c4dc0","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-6.0.1.tgz","integrity":"sha512-A94w1qeaJpMduRiuwHsvvE5g+WOWdXjUpcCe7/0s6mLFlimdQRmHDS53VhYg1CB47c4rr1yloq3/JsGqfmeiZw==","signatures":[{"sig":"MEQCIAET/cftJZwS+QrXWs+z6GLMdDxgA9QSrM5xpXkmcJOgAiBuSotQqhdIYFQd1pXwyOYX8Y09zRlwbOGUtrnwAX04Sg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"07d774187c8664931e56105eabd95e132b7c4dc0","gitHead":"3dad3b5192db2024b9a7b51047f31c38a8b23754","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"uber","email":"opensource@uber.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"2.8.4","description":"Handle uncaught exceptions","directories":{},"_nodeVersion":"0.10.32","dependencies":{"error":"^7.0.1","xtend":"^4.0.0","process":"^0.11.1","json-stringify-safe":"^5.0.1"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^2.0.0","tape":"^4.0.0","jshint":"^2.8.0","fake-fs":"^0.5.0","istanbul":"^0.3.15","time-mock":"^0.1.2","assert-tap":"^0.1.4","uber-statsd-client":"1.3.2"}},"6.0.2":{"name":"uncaught-exception","version":"6.0.2","keywords":[],"author":{"name":"Raynos","email":"raynos2@gmail.com"},"_id":"uncaught-exception@6.0.2","maintainers":[{"name":"raynos","email":"raynos2@gmail.com"},{"name":"dfellis","email":"d.f.ellis@ieee.org"},{"name":"squamos","email":"amos.barreto@gmail.com"},{"name":"uber","email":"opensource@uber.com"}],"homepage":"https://github.com/uber/uncaught-exception","bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"dist":{"shasum":"59e007f89671102b5f11325f37dbf2e50dd69bea","tarball":"https://registry.npmjs.org/uncaught-exception/-/uncaught-exception-6.0.2.tgz","integrity":"sha512-AyRcj4qedoZcgC/lmWTqA+cLIuyB/gk25i39GaZYzDLE2kzXijpJ6Nu5b1GW/h7NrGcvVA//QYUS+LnxDS7GmA==","signatures":[{"sig":"MEQCIEcIyXoh4O4mM1WZBIwrlDV/lTp/bav2KgC2rOG55ZIRAiBJ3Hlm9Gy2d/Ggwh7m6cpmLYQRQ/QhJibcWS984ndX4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"uncaught","_from":".","engine":{"node":">= 0.8.x"},"_shasum":"59e007f89671102b5f11325f37dbf2e50dd69bea","gitHead":"f889728bfc8744dc8429da934ba8df383642fca7","scripts":{"test":"npm run jshint && npm run cover","cover":"istanbul cover --report cobertura --print none ./test/index.js","jshint":"jshint --verbose .","view-cover":"istanbul report html && opn ./coverage/index.html"},"_npmUser":{"name":"raynos","email":"raynos2@gmail.com"},"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"_npmVersion":"2.14.1","description":"Handle uncaught exceptions","directories":{},"_nodeVersion":"0.10.32","dependencies":{"error":"^7.0.1","xtend":"^4.0.0","process":"^0.11.1","json-stringify-safe":"^5.0.1"},"collaborators":[{"name":"David ellis"},{"name":"Amos barreto"}],"devDependencies":{"opn":"^2.0.0","tape":"^4.0.0","jshint":"^2.8.0","fake-fs":"^0.5.0","istanbul":"^0.3.15","time-mock":"^0.1.2","assert-tap":"^0.1.4","uber-statsd-client":"1.3.2"}}},"time":{"created":"2013-12-19T22:59:04.865Z","modified":"2024-07-30T23:44:29.204Z","2.0.1":"2013-12-19T22:59:05.893Z","3.0.0":"2014-07-01T12:14:18.678Z","4.0.0":"2014-07-16T01:24:48.648Z","4.1.0":"2014-07-17T21:23:39.904Z","4.1.1":"2014-08-14T02:41:53.068Z","4.2.0":"2014-10-02T20:20:56.915Z","4.3.0":"2015-04-01T18:09:57.341Z","5.0.0":"2015-04-30T23:23:59.455Z","5.1.0":"2015-05-21T19:40:21.884Z","6.0.1":"2015-06-18T05:49:23.017Z","6.0.2":"2015-11-20T04:28:16.217Z"},"bugs":{"url":"https://github.com/uber/uncaught-exception/issues","email":"raynos2@gmail.com"},"author":{"name":"Raynos","email":"raynos2@gmail.com"},"homepage":"https://github.com/uber/uncaught-exception","keywords":[],"repository":{"url":"git://github.com/uber/uncaught-exception.git","type":"git"},"description":"Handle uncaught exceptions","maintainers":[{"email":"andrew.mager@gmail.com","name":"mager"},{"email":"ryan.j.tsao@gmail.com","name":"rtsao"},{"email":"siarhei@uber.com","name":"usiarhei"},{"email":"kennsmacintosh@gmail.com","name":"kenns29"},{"email":"shengs@uber.com","name":"shengs"},{"email":"emrahseker@gmail.com","name":"emrahs"},{"email":"zack@kirsch.org","name":"zacklk"},{"email":"ospo@uber.com","name":"uber-ospo"},{"email":"amos.barreto@gmail.com","name":"squamos"},{"email":"isv.damocles@gmail.com","name":"dfellis"},{"email":"raynos2@gmail.com","name":"raynos"}],"readme":"# uncaught-exception\n\nHandle uncaught exceptions.\n\nSupports 0.10 only. Designed for robustness and garaunteed\n    eventual termination of the process.\n\n## Example\n\n```js\nvar uncaughtHandler = require('uncaught-exception');\n\nvar myLogger = {\n    fatal: function fatal(message, metaObj, callback) {\n        // must call the callback once logged\n    }\n}\nvar myStatsd = {\n    immediateIncrement: function inc(key, count, callback) {\n        // call the callback once incremented.\n    }\n}\n\nvar onError = uncaughtHandler({\n    logger: myLogger,\n    statsd: myStatsd,\n    meta: { 'hostname': require('os').hostname() },\n    abortOnUncaught: true, // opt into aborting on uncaught\n    backupFile: '/path/to/uncaught-handler.log',\n    gracefulShutdown: function (callback) {\n        // perform some graceful shutdown here.\n\n        // for example synchronize state of your app to redis\n        // for example communicate to master process in cluster\n        // and ask for a new worker to be started\n\n        // must call callback once gracefully shutdown\n        // after you call the callback the process will shutdown\n    }\n})\n\nprocess.on('uncaughtException', onError)\n```\n\n## Docs\n\n### Type definitions\n\nSee [docs.mli for type definitions](docs.mli)\n\n### `var onError = uncaughtHandler(options)`\n\n```js\nuncaught-exception/uncaught := (options: {\n    logger: {\n        fatal: (String, Object, Callback) => void\n    },\n    statsd: {\n        immediateIncrement: (String, Number, Callback) =>void\n    },\n    meta?: Object,\n    statsdKey?: String,\n    statsdWaitPeriod?: Number,\n    backupFile?: \"stdout\" | \"stderr\" | String,\n    abortOnUncaught?: Boolean,\n    loggerTimeout?: Number,\n    statsdTimeout?: Number,\n    shutdownTimeout?: Number,\n    gracefulShutdown?: (Callback) => void,\n    preAbort?: () => void\n}) => onError: (Error) => void\n```\n\n`uncaughtHandler` takes an options object and returns an error\n  handling function that can be passed to `'uncaughtException'`\n  listener of the `process`.\n\nYou must pass the `uncaughtHandler` a `logger` with a `fatal()`\n  method.\n\nThe `uncaughtHandler` will exit your process once it's done\n  logging the error.\n\n#### `options.logger`\n\n`options.logger` is a logger object used to log the exception.\n  It's expected to have a `fatal()` method that takes a string,\n  an error object and a callback.\n\nThe `logger` should invoke the `callback` once it's flushed it to\n  all the logging backends you support, (i.e. disk, sentry, etc)\n\n#### `options.statsd`\n\n`options.statsd` is a statsd object used to increment counters.\n  It's expected to have a `immediateIncrement()` method that\n  takes a string, a number and a callback.\n\nThe `statsd` should invoke the `callback` once it's flushed it\n  to the stats service.\n\n#### `options.meta`\n\n`options.meta` allows you to configure the meta object that is\n  logged when an uncaught exception occurs. You might want to \n  put the `os.hostname()` in the meta object.\n\n#### `options.statsdKey`\n\n`options.statsdKey` allows you to configure what kind of statsd\n  key we increment when we have an uncaught exception.\n\nThe key defaults to `\"service-crash\"`.\n\n#### `options.statsdWaitPeriod`\n\n`options.statsdWaitPeriod` is a configurable waiting period.\nThe node implementation of UDP which the `statsd` client will\nprobably uses invokes the callback too early.\n\nIf you `abort()` synchronously there is no garantuee that we've\nactually send the statsd out of the process.\n\nTo work around this we have an \"arbitrary\" waiting period after\nwe get the `statsd` callback.\n\n`options.statsdWaitPeriod` defaults to `1500` milliseconds\n\n#### `options.backupFile`\n\n`options.backupFile` is a filePath that will be appended to\n  synchronously incase anything goes wrong inside the uncaught\n  exception handler.\n\nIt's highly recommended you pass a backup file path in case your\n  logger fails.\n\nInspecting the `backupFile` and looking at the core dump will\n  give you a deep insight into exactly what happened at the\n  end of your node process.\n\nYou may also pass the string literal `\"stdout\"` or `\"stderr\"` as\n  the `options.backupFile` property. If you set it to either\n  `\"stdout\"` or `\"stderr\"` then it will synchronously write to\n  `process.stdout` and `process.stderr` respectively.\n\n**Caveat:** If you are running windows and have set \n  `options.backupFile` to `\"stdout\"` or `\"stderr\"` then it's not\n  garaunteed to be synchronous. In windows any writes to\n  `process.stdout` when `process.stdout` is a `PIPE` will be\n  asynchronous. i.e. `node foo.js | tee file` will involve\n  asynchronous writing to the `backupFile`.\n\n#### `options.abortOnUncaught`\n\nIf `options.abortOnUncaught` is set to `true` the uncaught handler\nwill call graceful shutdown and `process.abort()` for you.\n\nIf this is set to `undefined` or `false` the uncaught handler\nwill not call graceful shutdown and it will not call process abort\n\n#### `options.loggerTimeout`\n\nThe `uncaughtHandler` will assume that your logger might fail or\n  hang so it times out the fatal logging call.\n\nThe default timeout is 30 seconds, you can pass `loggerTimeout`\n  if you want to overwrite it.\n\n#### `options.statsdTimeout`\n\nThe `uncaughtHandler` will assume that your statsd might fail or\n  hang so it times out the statsd increment call.\n\nThe default timeout is 5 seconds, you can pass `statsdTimeout`\n  if you want to overwrite it.\n\n#### `options.gracefulShutdown`\n\nThe `uncaught-exception` module supports doing a graceful\n  shutdown. Normally when an uncaught exception happens you\n  want to close any servers that are open and wait for all\n  sockets to exit cleanly.\n\nThis function only gets called if `abortOnUncaught` is set to\n`true`.\n\nIdeally you want to empty the event loop and do a full graceful\n  shutdown.\n\nYou may also want to communicate to the master process if you are\n  running under `cluster`.\n\nFor more information on proper error handling see the\n  [node domain documentation](http://nodejs.org/api/domain.html#domain_warning_don_t_ignore_errors)\n\n#### `options.shutdownTimeout`\n\nThe `uncaughtHandler` will assume that your gracefulShutdown\n  might fail or hang so it times out the graceful shutdown call.\n\nThe default timeout is 30 seconds, you can pass `shutdownTimeout`\n  if you want to overwrite it.\n\n#### `options.preAbort`\n\nYou can specify your own `preAbort` handler that **MUST** be\n  a synchronous function.\n\nThis function only gets called if `abortOnUncaught` is set to\n`true`.\n\nThe main use case is to invoke your own exit strategy instead of\n  the default exit strategy which is calling `process.abort()`\n\nFor example you may want to `process.exit(1)` here instead.\n\n## Installation\n\n`npm install uncaught-exception`\n\n## tests\n\n`npm test`\n\n## Contributors\n\n - Raynos\n - dfellis\n - squamos\n\n## MIT Licenced\n","readmeFilename":"README.md","users":{"edin-m":true,"nogirev":true,"buildmaster":true}}