{"_id":"smokestack","_rev":"62149","name":"smokestack","description":"Pipe your JavaScript into a browser, logging console output in Node","dist-tags":{"latest":"3.6.0"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"time":{"modified":"2021-06-03T10:21:02.000Z","created":"2014-10-08T23:17:59.298Z","3.6.0":"2018-10-08T18:26:07.665Z","3.4.1":"2015-09-23T04:50:31.891Z","3.4.0":"2015-09-23T04:39:56.311Z","3.3.1":"2015-08-27T05:27:49.369Z","3.3.0":"2015-05-15T01:01:15.227Z","3.2.2":"2015-03-31T11:40:59.692Z","3.2.1":"2015-03-16T16:34:16.762Z","3.2.0":"2015-01-15T02:27:04.312Z","3.1.0":"2015-01-14T12:04:20.033Z","3.0.0":"2014-12-28T13:54:33.601Z","2.0.0":"2014-10-13T15:11:28.125Z","1.0.0":"2014-10-08T23:17:59.298Z"},"users":{"zeke":true,"artskydj":true,"wizardzloy":true,"akiva":true,"erikvold":true,"nichoth":true,"hugov":true},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"versions":{"3.6.0":{"name":"smokestack","version":"3.6.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.4","boom":"^7.2.0","chrome-launch":"^1.1.4","convert-source-map":"^1.0.0","cryptiles":"^4.1.2","debug":"^3.1.0","firefox-launch":"^1.1.0","hawk":"^7.0.7","hoek":"^5.0.3","is-dom":"~1.0.5","localtunnel":"^1.9.0","minimist":"~1.1.1","mkdirp":"^0.5.0","request":"^2.87.0","rimraf":"^2.6.2","shoe":"0.0.15","source-map":"^0.4.2","source-map-support":"^0.2.10","split":"^0.3.3","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.3","wd":"^1.10.3","xhr":"^2.0.1"},"devDependencies":{"browserify":"^16.2.2","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^2.2.2","tape":"^4.9.1"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"3ae640441c572e471661ea930c08bb449af219ca","_id":"smokestack@3.6.0","_npmVersion":"5.6.0","_nodeVersion":"9.8.0","_npmUser":{"name":"yoshuawuyts","email":"yoshuawuyts@gmail.com"},"dist":{"shasum":"e1b08545f2f0fe1eb3ae7522b7bbb13a164a1a02","size":139319,"noattachment":false,"key":"/smokestack/-/smokestack-3.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.6.0.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/smokestack_3.6.0_1539023167491_0.42818846779508357"},"_hasShrinkwrap":false,"publish_time":1539023167665,"_cnpm_publish_time":1539023167665},"3.4.1":{"name":"smokestack","version":"3.4.1","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.4","chrome-launch":"^1.1.4","convert-source-map":"^1.0.0","debug":"^2.1.3","firefox-launch":"^1.0.2","is-dom":"~1.0.5","localtunnel":"^1.5.0","minimist":"~1.1.1","mkdirp":"^0.5.0","rimraf":"~2.3.2","shoe":"0.0.15","source-map":"^0.4.2","source-map-support":"^0.2.10","split":"^0.3.3","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.3","wd":"^0.3.11","xhr":"^2.0.1"},"devDependencies":{"browserify":"^9.0.3","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^2.2.2","tape":"~3.5.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"b730d65315fcf28a337b42601c52dd5e74b3d0cb","_id":"smokestack@3.4.1","_shasum":"cb0d95fa455bce4214dd2750a7ace52403a60ff1","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"dist":{"shasum":"cb0d95fa455bce4214dd2750a7ace52403a60ff1","size":128561,"noattachment":false,"key":"/smokestack/-/smokestack-3.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.4.1.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"publish_time":1442983831891,"_cnpm_publish_time":1442983831891,"_hasShrinkwrap":false},"3.4.0":{"name":"smokestack","version":"3.4.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.4","chrome-launch":"^1.1.4","convert-source-map":"^1.0.0","debug":"^2.1.3","firefox-launch":"^1.0.2","is-dom":"~1.0.5","localtunnel":"^1.5.0","minimist":"~1.1.1","mkdirp":"^0.5.0","rimraf":"~2.3.2","shoe":"0.0.15","source-map":"^0.4.2","source-map-support":"^0.2.10","split":"^0.3.3","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.3","wd":"^0.3.11","xhr":"^2.0.1"},"devDependencies":{"browserify":"^9.0.3","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^2.2.2","tape":"~3.5.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"c884f19adb6d9524a41afa8764b195d0f5e7f417","_id":"smokestack@3.4.0","_shasum":"3f06d12f93d4dc19fc25252625120db1bb09f133","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"dist":{"shasum":"3f06d12f93d4dc19fc25252625120db1bb09f133","size":128560,"noattachment":false,"key":"/smokestack/-/smokestack-3.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.4.0.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"publish_time":1442983196311,"_cnpm_publish_time":1442983196311,"_hasShrinkwrap":false},"3.3.1":{"name":"smokestack","version":"3.3.1","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.4","chrome-launch":"^1.1.4","convert-source-map":"^1.0.0","debug":"^2.1.3","firefox-launch":"^1.0.2","is-dom":"~1.0.5","localtunnel":"^1.5.0","minimist":"~1.1.1","mkdirp":"^0.5.0","rimraf":"~2.3.2","shoe":"0.0.15","source-map":"^0.4.2","source-map-support":"^0.2.10","split":"^0.3.3","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.3","wd":"^0.3.11","xhr":"^2.0.1"},"devDependencies":{"browserify":"^9.0.3","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^2.2.2","tape":"~3.5.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"7eab94cf83d527c72162c6021c612a2027b13ee9","_id":"smokestack@3.3.1","_shasum":"b097468a08ffb717150cbc37696042244600985e","_from":".","_npmVersion":"2.12.1","_nodeVersion":"2.3.4-nightly20150820b1aa3f0247","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"dist":{"shasum":"b097468a08ffb717150cbc37696042244600985e","size":128438,"noattachment":false,"key":"/smokestack/-/smokestack-3.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.3.1.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"publish_time":1440653269369,"_cnpm_publish_time":1440653269369,"_hasShrinkwrap":false},"3.3.0":{"name":"smokestack","version":"3.3.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.4","chrome-launch":"^1.1.3","convert-source-map":"^1.0.0","debug":"^2.1.3","firefox-launch":"^1.0.2","is-dom":"~1.0.5","localtunnel":"^1.5.0","minimist":"~1.1.1","mkdirp":"^0.5.0","rimraf":"~2.3.2","shoe":"0.0.15","source-map":"^0.4.2","source-map-support":"^0.2.10","split":"^0.3.3","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.3","wd":"^0.3.11","xhr":"^2.0.1"},"devDependencies":{"browserify":"^9.0.3","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^2.2.2","tape":"~3.5.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"2fffcd52a840f71a3fab67cde388efa88e1aedc3","_id":"smokestack@3.3.0","_shasum":"21fb5a9fba6d5a0c04daa86bc8dfb2310fdfcf90","_from":".","_npmVersion":"2.8.3","_nodeVersion":"1.8.1","_npmUser":{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"},"dist":{"shasum":"21fb5a9fba6d5a0c04daa86bc8dfb2310fdfcf90","size":121872,"noattachment":false,"key":"/smokestack/-/smokestack-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.3.0.tgz"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"publish_time":1431651675227,"_cnpm_publish_time":1431651675227,"_hasShrinkwrap":false},"3.2.2":{"name":"smokestack","version":"3.2.2","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.4","chrome-launch":"^1.1.3","convert-source-map":"^1.0.0","debug":"^2.1.3","firefox-launch":"^1.0.2","is-dom":"~1.0.5","localtunnel":"^1.5.0","minimist":"~1.1.1","mkdirp":"^0.5.0","rimraf":"~2.3.2","shoe":"0.0.15","source-map":"^0.4.2","source-map-support":"^0.2.10","split":"^0.3.3","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.3","wd":"^0.3.11","xhr":"^2.0.1"},"devDependencies":{"browserify":"^9.0.3","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^2.2.2","tape":"~3.5.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"bb0421f55cd4abd4e3b31e56ddcd7a4a3ef4f509","_id":"smokestack@3.2.2","_shasum":"967b16c0083640448bee3c8eee48d069b99c9ee0","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.10.36","_npmUser":{"name":"timoxley","email":"secoif@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"967b16c0083640448bee3c8eee48d069b99c9ee0","size":123092,"noattachment":false,"key":"/smokestack/-/smokestack-3.2.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.2.2.tgz"},"publish_time":1427802059692,"_cnpm_publish_time":1427802059692,"_hasShrinkwrap":false},"3.2.1":{"name":"smokestack","version":"3.2.1","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.3","chrome-launch":"^1.1.1","convert-source-map":"^0.6.0","debug":"^2.0.0","firefox-launch":"^1.0.0","is-dom":"~1.0.4","localtunnel":"^1.5.0","minimist":"~1.1.0","mkdirp":"^0.5.0","rimraf":"~2.2.8","shoe":"0.0.15","source-map":"^0.1.43","source-map-support":"^0.2.9","split":"^0.3.0","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.2","wd":"^0.3.11","xhr":"^1.17.1"},"devDependencies":{"browserify":"^6.0.3","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^1.0.1","tape":"~3.0.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"4cb8093d04465a540dd63e4cf6c418c5fbd158d9","_id":"smokestack@3.2.1","_shasum":"07ff9b63b7d75ce6e29fa88a18f32feb2bde5e82","_from":".","_npmVersion":"2.6.0","_nodeVersion":"0.10.36","_npmUser":{"name":"timoxley","email":"secoif@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"07ff9b63b7d75ce6e29fa88a18f32feb2bde5e82","size":123050,"noattachment":false,"key":"/smokestack/-/smokestack-3.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.2.1.tgz"},"publish_time":1426523656762,"_cnpm_publish_time":1426523656762,"_hasShrinkwrap":false},"3.2.0":{"name":"smokestack","version":"3.2.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"ansistyles":"^0.1.3","bl":"^0.9.3","chrome-launch":"^1.1.1","convert-source-map":"^0.4.1","debug":"^2.0.0","firefox-launch":"^1.0.0","is-dom":"~1.0.4","localtunnel":"^1.5.0","minimist":"~1.1.0","mkdirp":"^0.5.0","new-from":"0.0.3","rimraf":"~2.2.8","shoe":"0.0.15","source-map":"^0.1.43","source-map-support":"^0.2.9","split":"^0.3.0","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.2","wd":"^0.3.11","xhr":"^1.17.1"},"devDependencies":{"browserify":"^6.0.3","json-stringify-safe":"^5.0.0","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^1.0.1","tape":"~3.0.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"df488a4374b5dd0c87d81154cdbf5ba34144b775","_id":"smokestack@3.2.0","_shasum":"01707f08c70ba8642322a9742133ff122f532a68","_from":".","_npmVersion":"2.1.18","_nodeVersion":"1.0.1","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"01707f08c70ba8642322a9742133ff122f532a68","size":118805,"noattachment":false,"key":"/smokestack/-/smokestack-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.2.0.tgz"},"publish_time":1421288824312,"_cnpm_publish_time":1421288824312,"_hasShrinkwrap":false},"3.1.0":{"name":"smokestack","version":"3.1.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"ansistyles":"^0.1.3","bl":"^0.9.3","chrome-launch":"^1.1.1","debug":"^2.0.0","firefox-launch":"^1.0.0","is-dom":"~1.0.4","localtunnel":"^1.5.0","minimist":"~1.1.0","mkdirp":"^0.5.0","new-from":"0.0.3","rimraf":"~2.2.8","shoe":"0.0.15","split":"^0.3.0","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.2","wd":"^0.3.11","xhr":"^1.17.1"},"devDependencies":{"browserify":"^6.0.3","json-stringify-safe":"^5.0.0","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^1.0.1","tape":"~3.0.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"4147c913d671a78017fc76e1991a8144de82c55a","_id":"smokestack@3.1.0","_shasum":"3fecd356db7402e4ab2dcab1a07b7a92550d557a","_from":".","_npmVersion":"2.1.18","_nodeVersion":"1.0.1","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"3fecd356db7402e4ab2dcab1a07b7a92550d557a","size":76520,"noattachment":false,"key":"/smokestack/-/smokestack-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.1.0.tgz"},"publish_time":1421237060033,"_cnpm_publish_time":1421237060033,"_hasShrinkwrap":false},"3.0.0":{"name":"smokestack","version":"3.0.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","browser":"browser.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm run prepublish","test":"npm run test:chrome && npm run test:firefox && npm run test:saucelabs","test:chrome":"browser=chrome node test/index.js | tap-spec","test:firefox":"browser=firefox node test/index.js | tap-spec","test:saucelabs":"sauce=1 browser=chrome node test/index.js | tap-spec"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"bl":"^0.9.3","chrome-location":"^1.0.1","debug":"^2.0.0","firefox-location":"^1.0.0","is-dom":"~1.0.4","localtunnel":"^1.5.0","minimist":"~1.1.0","mkdirp":"^0.5.0","new-from":"0.0.3","quick-tmp":"0.0.0","rimraf":"~2.2.8","shoe":"0.0.15","split":"^0.3.0","synthetic-dom-events":"^0.2.2","tap-finished":"0.0.1","through2":"^0.6.2","wd":"^0.3.11","xhr":"^1.17.0"},"devDependencies":{"bl":"~0.9.3","browserify":"^6.0.3","json-stringify-safe":"^5.0.0","pngparse-sync":"^1.0.2","sliced":"0.0.5","tap-spec":"^1.0.1","tape":"~3.0.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"94674c775aeaa83535180b6051ec5e7f1283ae80","_id":"smokestack@3.0.0","_shasum":"c524978e124fbd4d71145062781a84cceb1d1bd1","_from":".","_npmVersion":"2.1.16","_nodeVersion":"0.10.28","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"c524978e124fbd4d71145062781a84cceb1d1bd1","size":72953,"noattachment":false,"key":"/smokestack/-/smokestack-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-3.0.0.tgz"},"publish_time":1419774873601,"_cnpm_publish_time":1419774873601,"_hasShrinkwrap":false},"2.0.0":{"name":"smokestack","version":"2.0.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","bin":{"smokestack":"bin/smokestack.js"},"license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","pretest":"npm prune && npm run prepublish","test":"tape test/*.js"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"chrome-location":"^1.0.1","debug":"^2.0.0","is-dom":"~1.0.4","minimist":"~1.1.0","quick-tmp":"0.0.0","rimraf":"~2.2.8","shoe":"0.0.15","split":"^0.3.0","tap-finished":"0.0.1","through2":"^0.6.2"},"devDependencies":{"bl":"~0.9.3","browserify":"^6.0.3","json-stringify-safe":"^5.0.0","sliced":"0.0.5","tape":"~3.0.0"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"directories":{"test":"test"},"gitHead":"ba4bd06baf54df1def5c92ff42d6c7df48aa08f6","_id":"smokestack@2.0.0","_shasum":"44803dc94fc515af3d66d9f708323a792e27f4e8","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.28","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"44803dc94fc515af3d66d9f708323a792e27f4e8","size":67870,"noattachment":false,"key":"/smokestack/-/smokestack-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-2.0.0.tgz"},"publish_time":1413213088125,"_cnpm_publish_time":1413213088125,"_hasShrinkwrap":false},"1.0.0":{"name":"smokestack","version":"1.0.0","description":"Pipe your JavaScript into a browser, logging console output in Node","main":"index.js","license":"MIT","scripts":{"prepublish":"browserify instrument.js -o bundle.js","test":"npm run prepublish && node proof.js"},"author":{"name":"Hugh Kennedy","email":"hughskennedy@gmail.com","url":"http://hughsk.io/"},"dependencies":{"chrome-location":"^1.0.1","debug":"^2.0.0","quick-tmp":"0.0.0","shoe":"0.0.15","split":"^0.3.0","through2":"^0.6.2"},"devDependencies":{"browserify":"^6.0.3","json-stringify-safe":"^5.0.0","sliced":"0.0.5"},"repository":{"type":"git","url":"git://github.com/hughsk/smokestack.git"},"keywords":["chrome","launch","pipe","stream","exec","eval","run","test","terminal","output","browser"],"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"gitHead":"4efc77101b1a8716e94e270fe8d65ad7ea3c3aa4","_id":"smokestack@1.0.0","_shasum":"c796ceec259a55c4042e6e74a6bc218012bcbfbf","_from":".","_npmVersion":"2.0.2","_nodeVersion":"0.10.28","_npmUser":{"name":"hughsk","email":"hughskennedy@gmail.com"},"maintainers":[{"name":"hughsk","email":"hughskennedy@gmail.com"},{"name":"yoshuawuyts","email":"i@yoshuawuyts.com"}],"dist":{"shasum":"c796ceec259a55c4042e6e74a6bc218012bcbfbf","size":62350,"noattachment":false,"key":"/smokestack/-/smokestack-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/smokestack/download/smokestack-1.0.0.tgz"},"directories":{},"publish_time":1412810279298,"_cnpm_publish_time":1412810279298,"_hasShrinkwrap":false}},"readme":"# smokestack\n\n#### JavaScript goes in, console logs come out.\n\n![](http://img.shields.io/badge/stability-experimental-orange.svg?style=flat)\n![](http://img.shields.io/npm/v/smokestack.svg?style=flat)\n![](http://img.shields.io/npm/dm/smokestack.svg?style=flat)\n![](http://img.shields.io/npm/l/smokestack.svg?style=flat)\n\n[![NPM](https://nodei.co/npm/smokestack.png?downloads=true)](https://nodei.co/npm/smokestack/)\n\nPipe your JavaScript into a browser of your choosing:\n\n* Local Google Chrome.\n* Local Mozilla Firefox.\n* [Sauce Labs](http://saucelabs.com) for the rest.\n\nA simple alternative to bigger browser automation tools, aiming to keep the\ninterface and initial setup as simple as possible: JavaScript goes in,\nconsole logs come out. There's also support for browser screenshots in Chrome,\nwith the other browsers getting support for that soon too.\n\nDesigned for running UI tests on your desktop machine. You can use this,\nfor example, to run [tape](https://github.com/substack/tape) in the browser and\nget TAP output in your terminal.\n\n## CLI Usage\n\nMost of the time, you'll want to use `smokestack` using the command-line\ninterface, which accepts JavaScript on stdin. For example, to run any arbitrary\nJavaScript file:\n\n``` bash\nsmokestack < script.js\n```\n\nYou can include `smokestack` in the middle of your pipeline too. Here's an\nexample of using [browserify](http://browserify.org/) and\n[tape](http://github.com/substack/tape) to run a test on Firefox, using\n[tap-spec](https://github.com/scottcorgan/tap-spec) for formatting:\n\n``` bash\nbrowserify test.js | smokestack -b firefox | tap-spec\n```\n\nThis works because any calls to `console.log` and its variants are sent back\nfrom the browser out to the other side of the `smokestack` process.\n\n```\nUsage:\n  smokestack {OPTIONS} < script.js\n\nGeneral:\n  -b, --browser  Specify which browser to use [default: chrome]\n  -t, --timeout  Specify the maximum timeout in milliseconds\n  -p, --port     Specify a port for smokestack to listen to\n  -h, --help     Display this message\n\nSauce Labs only:\n  -s, --saucelabs  Include to run your tests on Sauce Labs\n  -u, --username   Username to log in with\n  -k, --key        API Access key to use\n```\n\n## Browser Usage\n\n### `console.log`\n\n`console.log` and its variants are all instrumented such that they not only\nlog output to your console, but to the other side of the smokestack process\nin your Terminal too! You can use these methods the way you're familiar\nwith them in node or your favourite browser, they'll work just the same.\n\n### `window.close`\n\n`window.close` is instrumented by smokestack to trigger the end of a run.\nIn most cases, you don't want to manually close the browser and have that\nhappen automatically when it's ready.\n\nJust use this method when you've done what you wanted to do, and it'll tell\nChrome/Firefox/Sauce Labs to shut down (relatively) gracefully.\n\n### `smokestack = require('smokestack')`\n\nFor any optional extras which don't have a native browser analogue, you can\npull in `smokestack` using [browserify](http://browserify.org/).\n\n### `smokestack.capture(dest, done)`\n\nTakes a screenshot of the current browser window, writing out the captured file\nto `dest`. Currently only works on Chrome, but eventually this will be available\non Firefox and Sauce Labs too.\n\nImages will be saved as PNGs.\n\n``` javascript\nvar smokestack = require('smokestack')\n\nwindow.onload = function() {\n  smokestack.capture('screenshots/0001.png', function(err) {\n    if (err) throw err\n    window.close()\n  })\n}\n```\n\n## Module Usage\n\n### `stream = smokestack(opts)`\n\nCreates a new smokestack `stream`. You should pipe JavaScript into it, and\npipe the console output somewhere else, much the same as you would when using\nthe command-line:\n\n``` javascript\nvar smokestack = require('smokestack')\nvar fs         = require('fs')\n\nfs.createReadStream('script.js')\n  .pipe(smokestack({\n      browser: 'chrome'\n    , timeout: 15000\n    , saucelabs: false\n  }))\n  .pipe(process.stdout)\n```\n\n`opts` are equivalent to what's used in the command-line interface.\n\n## Sauce Labs\n\nUsing Sauce Labs with smokestack is simple, simply include the following\nadditional arguments:\n\n``` bash\nsmokestack --saucelabs --username USERNAME --key ACCESS_KEY\n```\n\nYour username/key will also get picked up from your environment if they're\ndefined too, so feel free to include the following in your `~/.bash_profile`\nand omit the `--username` and `--key` flags:\n\n``` bash\n# Obviously, include your own, non-fake credentials here:\nexport SAUCE_USERNAME='hughskennedy'\nexport SAUCE_ACCESS_KEY='138b247bc5b6-b14b-a4d4-agcf-82c460a2'\n```\n\n## Headless Browsers\n\nYou may be able to run a browser headlessly using an [X virtual frame buffer](https://en.wikipedia.org/wiki/Xvfb).\n\nFor example, on recent Debian linux:\n\n``` bash\n# Install Xvfb from Debian Repository\nsudo apt-get update\nsudo apt-get install -y xvfb\n\n# Install Google Chrome to google-chrome\nwget -c wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb\nsudo dpkg -i google-chrome-stable_current_amd64.deb\nsudo ln -s $(which google-chrome-stable) /usr/bin/google-chrome\n\n# Start a virtual framebuffer display\nXvfb :1 -screen 5 1024x768x8 &\nexport DISPLAY=:1.5\n\n# Run tests in Chrome\nnpm run test:chrome\n```\n\n## See Also\n- [tap-closer](https://github.com/hughsk/tap-closer) -- close the browser\nwindow once TAP tests have finished\n\n## License\n\nMIT. See [LICENSE.md](http://github.com/hughsk/smokestack/blob/master/LICENSE.md) for details.\n","_attachments":{},"homepage":"https://github.com/hughsk/smokestack","bugs":{"url":"https://github.com/hughsk/smokestack/issues"},"license":"MIT"}