{"_id":"grunt-lib-phantomjs","_rev":"242965","name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","dist-tags":{"latest":"1.1.0"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"time":{"modified":"2021-06-03T16:00:11.000Z","created":"2013-02-18T17:27:01.869Z","1.1.0":"2016-05-12T13:08:00.279Z","1.0.2":"2016-04-14T23:00:59.348Z","1.0.1":"2016-02-12T18:31:25.380Z","1.0.0":"2016-01-26T15:02:44.850Z","0.7.1":"2015-07-10T15:28:13.400Z","0.7.0":"2015-02-20T04:40:22.798Z","0.6.0":"2014-04-17T17:46:07.687Z","0.5.0":"2014-01-17T10:11:47.448Z","0.4.0":"2013-09-02T17:56:50.534Z","0.3.1":"2013-05-29T15:01:44.889Z","0.3.0":"2013-04-04T17:03:32.646Z","0.2.0":"2013-02-28T15:48:13.855Z","0.1.0":"2013-02-18T17:27:01.869Z"},"users":{"tiger2wander":true,"bendiken":true},"author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git+https://github.com/gruntjs/grunt-lib-phantomjs.git"},"versions":{"1.1.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","version":"1.1.0","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git+https://github.com/gruntjs/grunt-lib-phantomjs.git"},"license":"MIT","engines":{"node":">=0.10.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"^0.4.9","phantomjs-prebuilt":"^2.1.3","rimraf":"^2.5.2","semver":"^5.1.0","temporary":"^0.0.8"},"devDependencies":{"difflet":"^1.0.1","express":"^4.11.2","grunt":"^1.0.1","grunt-contrib-jshint":"^1.0.0"},"main":"lib/phantomjs","files":["lib","phantomjs"],"appveyor_id":"69g3o5c5m0fyih9r","contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Jörn Zaefferer","url":"http://bassistance.de/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"},{"name":"Brian J. Dowling"},{"name":"Chris Talkington"},{"name":"Cymen Vig"},{"name":"FG Ribreau"},{"name":"Ghislain Seguin"},{"name":"Ian Crowther"},{"name":"Jared Stehler"},{"name":"Jarrod Overson"},{"name":"Kelly Miyashiro"},{"name":"Nick Nisi"},{"name":"Patrick Kettner"},{"name":"Sébastien Cevey"},{"name":"William Dibbern"}],"gitHead":"a43ff77f1c42b302fa16b4a491d77311a517a119","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs#readme","_id":"grunt-lib-phantomjs@1.1.0","_shasum":"9e9edcdd9fd2dd40e0c181c94371d572aa5eead2","_from":".","_npmVersion":"3.8.9","_nodeVersion":"4.4.4","_npmUser":{"name":"arkni","email":"brahim.arkni@gmail.com"},"dist":{"shasum":"9e9edcdd9fd2dd40e0c181c94371d572aa5eead2","size":6697,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-1.1.0.tgz"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/grunt-lib-phantomjs-1.1.0.tgz_1463058478007_0.551495261490345"},"directories":{},"publish_time":1463058480279,"_cnpm_publish_time":1463058480279,"_hasShrinkwrap":false},"1.0.2":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","version":"1.0.2","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git+https://github.com/gruntjs/grunt-lib-phantomjs.git"},"license":"MIT","engines":{"node":">=0.10.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"^0.4.9","phantomjs-prebuilt":"^2.1.3","rimraf":"^2.5.2","semver":"^5.1.0","temporary":"^0.0.8"},"devDependencies":{"difflet":"^1.0.1","express":"^4.11.2","grunt":"^1.0.1","grunt-contrib-jshint":"^1.0.0"},"main":"lib/phantomjs","files":["lib","phantomjs"],"appveyor_id":"69g3o5c5m0fyih9r","contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Jörn Zaefferer","url":"http://bassistance.de/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"},{"name":"Brian J. Dowling"},{"name":"Chris Talkington"},{"name":"Cymen Vig"},{"name":"FG Ribreau"},{"name":"Ghislain Seguin"},{"name":"Ian Crowther"},{"name":"Jared Stehler"},{"name":"Jarrod Overson"},{"name":"Kelly Miyashiro"},{"name":"Nick Nisi"},{"name":"Patrick Kettner"},{"name":"Sébastien Cevey"},{"name":"William Dibbern"}],"gitHead":"4016661d1dfb8ad1e09a9e6dce6bd098b5413c88","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs#readme","_id":"grunt-lib-phantomjs@1.0.2","_shasum":"e4236b61944700bef88db0a748fcc996f42d72bc","_from":".","_npmVersion":"3.5.3","_nodeVersion":"4.2.6","_npmUser":{"name":"arkni","email":"brahim.arkni@gmail.com"},"dist":{"shasum":"e4236b61944700bef88db0a748fcc996f42d72bc","size":6638,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-1.0.2.tgz"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/grunt-lib-phantomjs-1.0.2.tgz_1460674857148_0.5305594759993255"},"directories":{},"publish_time":1460674859348,"_cnpm_publish_time":1460674859348,"_hasShrinkwrap":false},"1.0.1":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","version":"1.0.1","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git+https://github.com/gruntjs/grunt-lib-phantomjs.git"},"license":"MIT","engines":{"node":">=0.10.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"^0.4.9","phantomjs-prebuilt":"^2.1.3","semver":"^4.3.0","temporary":"^0.0.8"},"devDependencies":{"difflet":"^0.2.3","express":"^4.11.2","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.0"},"main":"lib/phantomjs","files":["lib","phantomjs"],"contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Jörn Zaefferer","url":"http://bassistance.de/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"},{"name":"Brian J. Dowling"},{"name":"Chris Talkington"},{"name":"Cymen Vig"},{"name":"FG Ribreau"},{"name":"Ghislain Seguin"},{"name":"Ian Crowther"},{"name":"Jared Stehler"},{"name":"Jarrod Overson"},{"name":"Kelly Miyashiro"},{"name":"Nick Nisi"},{"name":"Patrick Kettner"},{"name":"Sébastien Cevey"},{"name":"William Dibbern"}],"gitHead":"dfd803eafefd420a1a6f0ca533b0e0c036bef0c2","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs#readme","_id":"grunt-lib-phantomjs@1.0.1","_shasum":"19ecc4b6cd63a32e5d258fa75ad713c2738e36f4","_from":".","_npmVersion":"2.14.17","_nodeVersion":"4.2.3","_npmUser":{"name":"vladikoff","email":"vlad@vladikoff.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"dist":{"shasum":"19ecc4b6cd63a32e5d258fa75ad713c2738e36f4","size":6133,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-1.0.1.tgz"},"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/grunt-lib-phantomjs-1.0.1.tgz_1455301881775_0.7666177593637258"},"directories":{},"publish_time":1455301885380,"_cnpm_publish_time":1455301885380,"_hasShrinkwrap":false},"1.0.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","version":"1.0.0","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git+https://github.com/gruntjs/grunt-lib-phantomjs.git"},"license":"MIT","engines":{"node":">=0.10.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"^0.4.9","phantomjs":"^2.1.2","semver":"^4.3.0","temporary":"^0.0.8"},"devDependencies":{"difflet":"^0.2.3","express":"^4.11.2","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.0"},"main":"lib/phantomjs","files":["lib","phantomjs"],"contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Jörn Zaefferer","url":"http://bassistance.de/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"},{"name":"Brian J. Dowling"},{"name":"Chris Talkington"},{"name":"Cymen Vig"},{"name":"FG Ribreau"},{"name":"Ghislain Seguin"},{"name":"Ian Crowther"},{"name":"Jared Stehler"},{"name":"Jarrod Overson"},{"name":"Kelly Miyashiro"},{"name":"Nick Nisi"},{"name":"Patrick Kettner"},{"name":"Sébastien Cevey"},{"name":"William Dibbern"}],"gitHead":"503f34e02332c9a18d29e6d7d791a64331518d1b","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs#readme","_id":"grunt-lib-phantomjs@1.0.0","_shasum":"a555e6c3f1bfe018e93b7a40a1568a9c9f077aa5","_from":".","_npmVersion":"2.14.15","_nodeVersion":"4.2.3","_npmUser":{"name":"vladikoff","email":"vlad@vladikoff.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"dist":{"shasum":"a555e6c3f1bfe018e93b7a40a1568a9c9f077aa5","size":6083,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-1.0.0.tgz"},"directories":{},"publish_time":1453820564850,"_cnpm_publish_time":1453820564850,"_hasShrinkwrap":false},"0.7.1":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","version":"0.7.1","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"https://github.com/gruntjs/grunt-lib-phantomjs"},"license":"MIT","engines":{"node":">=0.10.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"^0.4.9","phantomjs":"^1.9.15","semver":"^4.3.0","temporary":"^0.0.8"},"devDependencies":{"difflet":"^0.2.3","express":"^4.11.2","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.0"},"main":"lib/phantomjs","files":["lib","phantomjs"],"contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Jörn Zaefferer","url":"http://bassistance.de/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"},{"name":"Brian J. Dowling"},{"name":"Chris Talkington"},{"name":"Cymen Vig"},{"name":"FG Ribreau"},{"name":"Ghislain Seguin"},{"name":"Ian Crowther"},{"name":"Jared Stehler"},{"name":"Jarrod Overson"},{"name":"Kelly Miyashiro"},{"name":"Nick Nisi"},{"name":"Patrick Kettner"},{"name":"Sébastien Cevey"},{"name":"William Dibbern"}],"gitHead":"4d16da6c38e197461c190b63d535497210e3fc40","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs","_id":"grunt-lib-phantomjs@0.7.1","_shasum":"a496ac104bc8e842e26893749d54c4905475e8fc","_from":".","_npmVersion":"2.7.5","_nodeVersion":"0.10.35","_npmUser":{"name":"vladikoff","email":"vlad@vladikoff.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"dist":{"shasum":"a496ac104bc8e842e26893749d54c4905475e8fc","size":6040,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.7.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.7.1.tgz"},"directories":{},"publish_time":1436542093400,"_cnpm_publish_time":1436542093400,"_hasShrinkwrap":false},"0.7.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree","version":"0.7.0","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"https://github.com/gruntjs/grunt-lib-phantomjs"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">=0.10.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"^0.4.9","phantomjs":"^1.9.15","semver":"^4.3.0","temporary":"^0.0.8"},"devDependencies":{"difflet":"^0.2.3","express":"^4.11.2","grunt":"^0.4.5","grunt-cli":"^0.1.13","grunt-contrib-jshint":"^0.11.0"},"main":"lib/phantomjs","files":["lib","phantomjs"],"contributors":[{"name":"\"Cowboy\" Ben Alman","url":"http://benalman.com/"},{"name":"Jörn Zaefferer","url":"http://bassistance.de/"},{"name":"Kyle Robinson Young","url":"http://dontkry.com/"},{"name":"Tyler Kellen","url":"http://goingslowly.com"},{"name":"Sindre Sorhus","url":"http://sindresorhus.com"},{"name":"Vlad Filippov","url":"http://vladfilippov.com/"},{"name":"Brian J. Dowling"},{"name":"Chris Talkington"},{"name":"Cymen Vig"},{"name":"FG Ribreau"},{"name":"Ghislain Seguin"},{"name":"Ian Crowther"},{"name":"Jared Stehler"},{"name":"Jarrod Overson"},{"name":"Kelly Miyashiro"},{"name":"Nick Nisi"},{"name":"Patrick Kettner"},{"name":"Sébastien Cevey"},{"name":"William Dibbern"}],"gitHead":"9ca1adc391f73a10e9d965a099f7775c866cf62d","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs","_id":"grunt-lib-phantomjs@0.7.0","_shasum":"4a0b49aaf2ffb578a4e060ffc679283ca1df29bc","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"sindresorhus","email":"sindresorhus@gmail.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"dist":{"shasum":"4a0b49aaf2ffb578a4e060ffc679283ca1df29bc","size":5696,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.7.0.tgz"},"directories":{},"publish_time":1424407222798,"_cnpm_publish_time":1424407222798,"_hasShrinkwrap":false},"0.6.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.6.0","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.8.0"},"scripts":{"test":"grunt jshint test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~1.9.0-1"},"devDependencies":{"grunt-contrib-jshint":"~0.6.2","grunt":"~0.4.0","difflet":"~0.2.3","express":"~3.1.1","grunt-cli":"~0.1.13"},"main":"lib/phantomjs","files":["lib","phantomjs"],"_id":"grunt-lib-phantomjs@0.6.0","dist":{"shasum":"ad1f7f212fc4a2325f32fcd49c6a0da3687c1fb4","size":5733,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.6.0.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"vladikoff","email":"vlad@vladikoff.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1397756767687,"_cnpm_publish_time":1397756767687,"_hasShrinkwrap":false},"0.5.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.5.0","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~1.9.0-1"},"devDependencies":{"grunt-contrib-jshint":"~0.6.2","grunt":"~0.4.0","difflet":"~0.2.3","express":"~3.1.1"},"main":"lib/phantomjs","files":["lib","phantomjs"],"_id":"grunt-lib-phantomjs@0.5.0","dist":{"shasum":"dfc6bd5ba01cd0234c4920c9154a4654392eeaae","size":5389,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.5.0.tgz"},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"jzaefferer","email":"joern.zaefferer@gmail.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1389953507448,"_hasShrinkwrap":false,"_cnpm_publish_time":1389953507448},"0.4.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.4.0","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~1.9.0-1"},"devDependencies":{"grunt-contrib-jshint":"~0.6.2","grunt":"~0.4.0","difflet":"~0.2.3"},"main":"lib/phantomjs","files":["lib","phantomjs"],"_id":"grunt-lib-phantomjs@0.4.0","dist":{"shasum":"b78fa18adf1075617bc915ba5563dd7f3c9731ec","size":5258,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.4.0.tgz"},"_from":".","_npmVersion":"1.3.7","_npmUser":{"name":"jsoverson","email":"jsoverson@gmail.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1378144610534,"_hasShrinkwrap":false,"_cnpm_publish_time":1378144610534},"0.3.1":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.3.1","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~1.9.0-1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt":"~0.4.0","difflet":"~0.2.3"},"main":"lib/phantomjs","_id":"grunt-lib-phantomjs@0.3.1","dist":{"shasum":"4215feabb81b8d393005b0e784501f20aee70532","size":6913,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.3.1.tgz"},"_npmVersion":"1.1.70","_npmUser":{"name":"cowboy","email":"cowboy@rj3.net"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1369839704889,"_hasShrinkwrap":false,"_cnpm_publish_time":1369839704889},"0.3.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.3.0","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~1.9.0-1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt":"~0.4.0","difflet":"~0.2.3"},"main":"lib/phantomjs","_id":"grunt-lib-phantomjs@0.3.0","dist":{"shasum":"948c6b63017f6ae02351c450a23070190d0306a8","size":6832,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.3.0.tgz"},"_from":".","_npmVersion":"1.2.14","_npmUser":{"name":"jsoverson","email":"jsoverson@gmail.com"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1365095012646,"_hasShrinkwrap":false,"_cnpm_publish_time":1365095012646},"0.2.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.2.0","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~1.8.1"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt":"~0.4.0"},"main":"lib/phantomjs","_id":"grunt-lib-phantomjs@0.2.0","dist":{"shasum":"9106d8a817757d53320b2ad95e6d7f98a34832ce","size":6046,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.2.0.tgz"},"_npmVersion":"1.1.70","_npmUser":{"name":"cowboy","email":"cowboy@rj3.net"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1362066493855,"_hasShrinkwrap":false,"_cnpm_publish_time":1362066493855},"0.1.0":{"name":"grunt-lib-phantomjs","description":"Grunt and PhantomJS, sitting in a tree.","version":"0.1.0","homepage":"http://github.com/gruntjs/grunt-lib-phantomjs","author":{"name":"Grunt Team","url":"http://gruntjs.com/"},"repository":{"type":"git","url":"git://github.com/gruntjs/grunt-lib-phantomjs.git"},"bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"licenses":[{"type":"MIT","url":"http://github.com/gruntjs/grunt-lib-phantomjs/blob/master/LICENSE-MIT"}],"engines":{"node":">= 0.6.0"},"scripts":{"test":"grunt test"},"dependencies":{"eventemitter2":"~0.4.9","semver":"~1.0.14","temporary":"~0.0.4","phantomjs":"~0.2.6"},"devDependencies":{"grunt-contrib-jshint":"~0.1.1","grunt":"~0.4.0"},"main":"lib/phantomjs","_id":"grunt-lib-phantomjs@0.1.0","dist":{"shasum":"c486aa455bec5ee617ffad3deab9226afcaff237","size":5120,"noattachment":false,"key":"/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/grunt-lib-phantomjs/download/grunt-lib-phantomjs-0.1.0.tgz"},"_npmVersion":"1.1.70","_npmUser":{"name":"cowboy","email":"cowboy@rj3.net"},"maintainers":[{"name":"arkni","email":"brahim.arkni@gmail.com"},{"name":"cowboy","email":""},{"name":"jsoverson","email":""},{"name":"jzaefferer","email":""},{"name":"shama","email":""},{"name":"tkellen","email":"tyler@sleekcode.net"},{"name":"vladikoff","email":""}],"directories":{},"publish_time":1361208421869,"_hasShrinkwrap":false,"_cnpm_publish_time":1361208421869}},"readme":"# grunt-lib-phantomjs [![Build Status: Linux](https://travis-ci.org/gruntjs/grunt-lib-phantomjs.svg?branch=master)](https://travis-ci.org/gruntjs/grunt-lib-phantomjs) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/69g3o5c5m0fyih9r/branch/master?svg=true)](https://ci.appveyor.com/project/gruntjs/grunt-lib-phantomjs/branch/master)\n\n> Grunt and PhantomJS, sitting in a tree.\n\n\n## Usage\n\nThe best way to understand how this lib should be used is by looking at the [grunt-contrib-qunit](https://github.com/gruntjs/grunt-contrib-qunit) plugin. Mainly, look at how [the lib is required](https://github.com/gruntjs/grunt-contrib-qunit/blob/d99291713d32f84e50303d6e51eb2dab40b1deb6/tasks/qunit.js#L17), how [event handlers are bound](https://github.com/gruntjs/grunt-contrib-qunit/blob/d99291713d32f84e50303d6e51eb2dab40b1deb6/tasks/qunit.js#L61-L144) and how [PhantomJS is actually spawned](https://github.com/gruntjs/grunt-contrib-qunit/blob/d99291713d32f84e50303d6e51eb2dab40b1deb6/tasks/qunit.js#L177-L190).\n\nAlso, in the case of the grunt-contrib-qunit plugin, it's important to know that the page being loaded into PhantomJS *doesn't* know it will be loaded into PhantomJS, and as such doesn't have any PhantomJS->Grunt code in it. That communication code, aka. the [\"bridge\"](https://github.com/gruntjs/grunt-contrib-qunit/blob/d99291713d32f84e50303d6e51eb2dab40b1deb6/phantomjs/bridge.js), is dynamically [injected into the html page](https://github.com/gruntjs/grunt-contrib-qunit/blob/d99291713d32f84e50303d6e51eb2dab40b1deb6/tasks/qunit.js#L152).\n\n\n## An inline example\n\nIf a Grunt task looked something like this:\n\n```js\ngrunt.registerTask('mytask', 'Integrate with phantomjs.', function() {\n  var phantomjs = require('grunt-lib-phantomjs').init(grunt);\n  var errorCount = 0;\n\n  // Handle any number of namespaced events like so.\n  phantomjs.on('mytask.ok', function(msg) {\n    grunt.log.writeln(msg);\n  });\n\n  phantomjs.on('mytask.error', function(msg) {\n    errorCount++;\n    grunt.log.error(msg);\n  });\n\n  // Create some kind of \"all done\" event.\n  phantomjs.on('mytask.done', function() {\n    phantomjs.halt();\n  });\n\n  // Built-in error handlers.\n  phantomjs.on('fail.load', function(url) {\n    phantomjs.halt();\n    grunt.warn('PhantomJS unable to load URL.');\n  });\n\n  phantomjs.on('fail.timeout', function() {\n    phantomjs.halt();\n    grunt.warn('PhantomJS timed out.');\n  });\n\n  // This task is async.\n  var done = this.async();\n\n  // Spawn phantomjs\n  phantomjs.spawn('test.html', {\n    // Additional PhantomJS options.\n    options: {},\n    // Complete the task when done.\n    done: function(err) {\n      done(err || errorCount === 0);\n    }\n  });\n\n});\n```\n\nAnd `test.html` looked something like this (note the \"bridge\" is hard-coded into this page and not injected):\n\n```html\n<!doctype html>\n<html>\n<head>\n<script>\n\n// Send messages to the parent PhantomJS process via alert! Good times!!\nfunction sendMessage() {\n  var args = [].slice.call(arguments);\n  alert(JSON.stringify(args));\n}\n\nsendMessage('mytask.ok', 'Something worked.');\nsendMessage('mytask.error', 'Something failed.');\nsendMessage('mytask.done');\n\n</script>\n</head>\n<body>\n</body>\n</html>\n```\n\nThen running Grunt would behave something like this:\n\n```shell\n$ grunt mytask\nRunning \"mytask\" task\nSomething worked.\n>> Something failed.\nWarning: Task \"mytask\" failed. Use --force to continue.\n\nAborted due to warnings.\n```\n\n\n## API\n\n### phantomjs.halt()\n\nCall this when everything has finished successfully, or when something horrible happens, and you need to clean up and abort.\n\n### phantomjs.spawn(pageURL, options)\n\nSpawn a `PhantomJS` process. The method returns a reference to the spawned process.  \nThis method has the following arguments:\n\n#### pageURL\n\nType: `string`  \nDefault: no default value, the user has to set it explicitly.\n\nURL or path to the page .html test file to run.\n\n#### Options\n\nType: `object`\n\nThe options object has these possible properties:\n\n##### done\n\nType: `function`  \nDefault: no default value, the user has to set it explicitly.\n\nThe callback to call when the task is done.\n\n##### failCode\n\nType: `number`  \nDefault: 0\n\nThe error code to exit with when an Error occurs.\n\n##### killTimeout\n\nType: `number`  \nDefault: `1000` ms\n\nThe timeout in milliseconds after which the PhantomJS process will be killed.\n\n##### options (PhantomJS options)\n\nType: `object`  \nDefault: `{}`\n\nAdditional options to passe to `PhantomJS`. This object has the following properties:\n\n###### timeout\n\nType: `number`  \nDefault: `undefined`\n\nPhantomJS' timeout, in milliseconds.\n\n###### inject\n\nType: `string|array`  \nDefault: `undefined`\n\nOne or multiple (array) JavaScript file names to inject into the page.\n\n###### page\n\nType: `object`  \nDefault: `undefined`\n\nAn object of options for the PhantomJS [`page` object](https://github.com/ariya/phantomjs/wiki/API-Reference-WebPage).\n\n###### screenshot\n\nType: `boolean`  \nDefault: `undefined`\n\nSaves a screenshot on failure\n\n\n## OS Dependencies\n\nPhantomJS requires these dependencies on Ubuntu/Debian:\n\n```\napt-get install libfontconfig1 fontconfig libfontconfig1-dev libfreetype6-dev\n```\n","_attachments":{},"homepage":"https://github.com/gruntjs/grunt-lib-phantomjs#readme","bugs":{"url":"https://github.com/gruntjs/grunt-lib-phantomjs/issues"},"license":"MIT"}