{ "name": "karma", "description": "Spectacular Test Runner for JavaScript.", "homepage": "http://karma-runner.github.io/", "repository": { "type": "git", "url": "git://github.com/karma-runner/karma.git" }, "bugs": { "url": "https://github.com/karma-runner/karma/issues" }, "keywords": [ "karma", "spectacular", "runner", "karma", "js", "javascript", "testing", "test", "remote", "execution" ], "author": { "name": "Vojta Jína", "email": "vojta.jina@gmail.com" }, "contributors": [ { "name": "Friedel Ziegelmayer", "email": "friedel.ziegelmayer@gmail.com" }, { "name": "taichi", "email": "ryushi@gmail.com" }, { "name": "Liam Newman", "email": "bitwiseman@gmail.com" }, { "name": "Shyam Seshadri", "email": "shyamseshadri@gmail.com" }, { "name": "Kim Joar Bekkelund", "email": "kjbekkelund@gmail.com" }, { "name": "Tim Cuthbertson", "email": "tim@gfxmonk.net" }, { "name": "Andrew Martin", "email": "sublimino@gmail.com" }, { "name": "Daniel Aleksandersen", "email": "code@daniel.priv.no" }, { "name": "Ilya Volodin", "email": "ivolodin@vistaprint.com" }, { "name": "Iristyle", "email": "Iristyle@github" }, { "name": "Marcello Nuccio", "email": "marcello.nuccio@gmail.com" }, { "name": "pavelgj", "email": "pavelgj@gmail.com" }, { "name": "Bulat Shakirzyanov", "email": "mallluhuct@gmail.com" }, { "name": "Ethan J. Brown", "email": "ethan_j_brown@hotmail.com" }, { "name": "Hugues Malphettes", "email": "hmalphettes@gmail.com" }, { "name": "Igor Minar", "email": "iiminar@gmail.com" }, { "name": "James Ford", "email": "jford@psyked.co.uk" }, { "name": "Roarke Gaskill", "email": "roarke.gaskill@gmail.com" }, { "name": "ngiebel", "email": "ngiebel@starkinvestments.com" }, { "name": "rdodev", "email": "rubenoz@gmail.com" }, { "name": "Alexander Shtuchkin", "email": "ashtuchkin@gmail.com" }, { "name": "Andy Joslin", "email": "andytjoslin@gmail.com" }, { "name": "AvnerCohen", "email": "israbirding@gmail.com" }, { "name": "Breno Calazans", "email": "breno@vtex.com.br" }, { "name": "Brian Ford", "email": "btford@umich.edu" }, { "name": "Chad Smith", "email": "chad@configit.com" }, { "name": "Chris Dawson", "email": "xrdawson@gmail.com" }, { "name": "Danny Croft", "email": "danny.croft@yahoo.co.uk" }, { "name": "David Jensen", "email": "david@frode.(none)", "url": "none" }, { "name": "David M. Karr", "email": "dk068x@att.com" }, { "name": "David Souther", "email": "davidsouther@gmail.com" }, { "name": "Dillon", "email": "mdillon@reachmail.com" }, { "name": "Ed Rooth", "email": "ed.rooth@rackspace.com" }, { "name": "Eldar Jafarov", "email": "djkojb@gmail.com" }, { "name": "Eric Baer", "email": "me@ericbaer.com" }, { "name": "Franck Garcia", "email": "garcia.franck@gmail.com" }, { "name": "Fred Sauer", "email": "fredsa@google.com" }, { "name": "Geert Van Laethem", "email": "geert.van.laethem@pandora.be" }, { "name": "Igor Minar", "email": "igor@angularjs.org" }, { "name": "James Shore", "email": "jshore@jamesshore.com" }, { "name": "Jeff Froom", "email": "jeff@jfroom.com" }, { "name": "Jeff Jewiss", "email": "jeffjewiss@gmail.com" }, { "name": "Julian Connor", "email": "julian.connor@venmo.com" }, { "name": "Karolis Narkevicius", "email": "karolis.n@gmail.com" }, { "name": "Kevin Ortman", "email": "kevin_ortman@msn.com" }, { "name": "Lukasz Zatorski", "email": "lzatorski@gmail.com" }, { "name": "Marko Anastasov", "email": "marko@renderedtext.com" }, { "name": "Martin Lemanski", "email": "martin.lemanski@gmx.at" }, { "name": "Matias Niemelä", "email": "matias@yearofmoo.com" }, { "name": "Merrick Christensen", "email": "merrick.christensen@gmail.com" }, { "name": "Milan Aleksic", "email": "milanaleksic@gmail.com" }, { "name": "Nick Payne", "email": "nick@kurai.co.uk" }, { "name": "Nish", "email": "nishantpatel611@gmail.com" }, { "name": "Nuno Job", "email": "nunojobpinto@gmail.com" }, { "name": "Pascal Hartig", "email": "phartig@rdrei.net" }, { "name": "Patrick Lussan", "email": "patrick.lussan@componize.com" }, { "name": "Patrik Henningsson", "email": "patrik.henningsson@gmail.com" }, { "name": "Pete Bacon Darwin", "email": "pete@bacondarwin.com" }, { "name": "Pete Swan", "email": "pete@indabamusic.com" }, { "name": "Peter Yates", "email": "pd.yates@gmail.com" }, { "name": "Remy Sharp", "email": "remy@remysharp.com" }, { "name": "Shane Osbourne", "email": "shane.osbourne8@gmail.com" }, { "name": "Tim Olshansky", "email": "tim.olshansky@gmail.com" }, { "name": "Veronica Lynn", "email": "veronica.lynn@redjack.com" }, { "name": "Yi Wang", "email": "e@yi-wang.me" }, { "name": "Zhang zhengzheng", "email": "code@tychio.net" }, { "name": "ahaurw01", "email": "ahaurwitz@gmail.com" }, { "name": "ashaffer", "email": "darawk@gmail.com" }, { "name": "hrgdavor", "email": "hrgdavor@gmail.com" }, { "name": "lanshunfang", "email": "lanshunfang@gmail.com" }, { "name": "toran billups", "email": "toranb@gmail.com" } ], "dependencies": { "di": "~0.0.1", "socket.io": "~0.9.13", "chokidar": "~0.7.0", "glob": "~3.1.21", "minimatch": "~0.2", "http-proxy": "~0.10", "optimist": "~0.3", "coffee-script": "~1.6", "rimraf": "~2.1", "q": "~0.9", "colors": "0.6.0-1", "lodash": "~1.1", "mime": "~1.2", "log4js": "~0.6.3", "useragent": "~2.0.4", "graceful-fs": "~1.2.1", "connect": "~2.8.4" }, "peerDependencies": { "karma-jasmine": "*", "karma-requirejs": "*", "karma-coffee-preprocessor": "*", "karma-html2js-preprocessor": "*", "karma-chrome-launcher": "*", "karma-firefox-launcher": "*", "karma-phantomjs-launcher": "*", "karma-script-launcher": "*" }, "devDependencies": { "grunt": "~0.4", "grunt-simple-mocha": "git://github.com/yaymukund/grunt-simple-mocha.git", "grunt-contrib-jshint": "~0.3", "grunt-coffeelint": "~0.0.6", "grunt-npm": "~0.0.1", "grunt-bump": "~0.0.10", "grunt-conventional-changelog": "~1.0.0", "grunt-auto-release": "~0.0.3", "mocks": "~0.0.10", "which": "~1.0", "sinon-chai": "~2.3", "chai": "~1.5", "mocha": "~1.8", "sinon": "~1.6", "timer-shim": "~0.2", "chai-as-promised": "~3.2", "qq": "~0.3", "karma-jasmine": "*", "karma-mocha": "*", "karma-qunit": "*", "karma-coverage": "*", "karma-requirejs": "*", "karma-growl-reporter": "*", "karma-junit-reporter": "*", "karma-chrome-launcher": "*", "karma-firefox-launcher": "*", "karma-sauce-launcher": "*", "karma-phantomjs-launcher": "*", "karma-ng-scenario": "*", "karma-coffee-preprocessor": "*", "karma-html2js-preprocessor": "*", "karma-browserstack-launcher": "git://github.com/karma-runner/karma-browserstack-launcher.git", "semver": "~1.1.4", "grunt-contrib-watch": "~0.5.0" }, "main": "./lib/index", "bin": { "karma": "./bin/karma" }, "engines": { "node": "~0.8 || ~0.10" }, "version": "0.10.6", "readme": "# Karma [![Build Status](https://secure.travis-ci.org/karma-runner/karma.png?branch=master)](http://travis-ci.org/karma-runner/karma)\n\nA simple tool that allows you to execute JavaScript code in multiple\n_real_ browsers, powered by [Node.js] and [Socket.io].\n\n> The main purpose of Karma is to make your TDD development easy,\n> fast, and fun.\n\n## When should I use Karma?\n\n* You want to test code in *real* browsers.\n* You want to test code in multiple browsers (desktop, mobile,\n tablets, etc.).\n* You want to execute your tests locally during development.\n* You want to execute your tests on a continuous integration server.\n* You want to execute your tests on every save.\n* You love your terminal.\n* You don't want your (testing) life to suck.\n* You want to use [Istanbul] to automagically generate coverage\n reports.\n* You want to use [RequireJS] for your source files.\n\n\n## But I still want to use \\_insert testing library\\_\n\nKarma is not a testing framework, neither an assertion library,\nso for that you can use pretty much anything you like. Right now out\nof the box there is support for\n\n* [Mocha]\n* [Jasmine]\n* [QUnit]\n* \\_anything else\\_ Write your own adapter. It's not that hard. And we\n are here to help.\n\n\n## Which Browsers can I use?\n\nAll the major browsers are supported, if you want to know more see the\n[Browsers] page.\n\n\n## I want to use it. Where do I sign?\n\nYou don't need to sign anything but here are some resources to help\nyou to get started. And if you need even more infos have a look at our\ngreat [website].\n\n### Obligatory Screencast.\n\nEvery serious project has a screencast, so here is ours. Just click\n[here] and let the show begin.\n\n### NPM Installation.\n\nIf you have [Node.js] installed, it's as simple as\n\n```bash\n$ npm install -g karma\n```\n\nThis will give you the latest stable version available on npm. If you\nwant to live life on the edge you can do so by\n\n```bash\n$ npm install -g karma@canary\n```\n\nThe curious can have a look at the documentation articles for\n[Getting Started] and [Versioning].\n\n### Using it.\n\nGo into your project and create a Karma configuration. That is\njust a simple JavaScript or CoffeeScript file that tells Karma\nwhere all the awesomeness of your project are.\n\nYou can find a simple example in\n[test/client/karma.conf.js](https://github.com/karma-runner/karma/blob/master/test/client/karma.conf.js)\nwhich contains most of the options.\n\nTo create your own from scratch there is the `init` command, which\nwill be named `karma.conf.js` by default:\n\n```bash\n$ karma init\n```\nThis will ask you many questions and if you answered them all correct\nyou will be allowed to use Karma.\n\nFor more information on the configuration options see\n[Configuration File Overview].\n\nNow that you have your configuration all that is left to do is to\nstart Karma:\n```bash\n$ karma start\n```\n\nIf you want to run tests manually (without auto watching file changes), you can:\n```bash\n$ karma run\n```\nBut only if you have started the Karma server before.\n\n\n## Why did you create this?\n\nThroughout the development of [AngularJS], we've been using [JSTD] for\ntesting. I really think that JSTD is a great idea. Unfortunately, we\nhad many problems with JSTD, so we decided to write our own test\nrunner based on the same idea. We wanted a simple tool just for\nexecuting JavaScript tests that is both stable and fast. That's why we\nuse the awesome [Socket.io] library and [Node.js].\n\n\n## I still don't get it. Where can I get help?\n\n* [Docs]\n* [Mailing List]\n* [Issuetracker]\n* [@JsKarma] on Twitter\n\n## This is so great. I want to help.\n\nSee\n[Contributing.md](https://github.com/karma-runner/karma/blob/master/CONTRIBUTING.md)\nor the [docs] for more information.\n\n\n## My boss wants a license. So where is it?\n\n### The MIT License\n\n> Copyright (C) 2011-2013 Vojta Jína.\n>\n> Permission is hereby granted, free of charge, to any person\n> obtaining a copy of this software and associated documentation files\n> (the \"Software\"), to deal in the Software without restriction,\n> including without limitation the rights to use, copy, modify, merge,\n> publish, distribute, sublicense, and/or sell copies of the Software,\n> and to permit persons to whom the Software is furnished to do so,\n> subject to the following conditions:\n>\n> The above copyright notice and this permission notice shall be\n> included in all copies or substantial portions of the Software.\n>\n> THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n> BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n> ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n> CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n> SOFTWARE.\n\n\n\n[AngularJS]: http://angularjs.org/\n[JSTD]: http://code.google.com/p/js-test-driver/\n[Socket.io]: http://socket.io/\n[Node.js]: http://nodejs.org/\n[Jasmine]: http://pivotal.github.io/jasmine/\n[Mocha]: http://visionmedia.github.io/mocha/\n[QUnit]: http://qunitjs.com/\n[here]: http://www.youtube.com/watch?v=MVw8N3hTfCI\n[Mailing List]: https://groups.google.com/forum/#!forum/karma-users\n[Issuetracker]: https://github.com/karma-runner/karma/issues\n[@JsKarma]: http://twitter.com/JsKarma\n[RequireJS]: http://requirejs.org/\n[Istanbul]: https://github.com/gotwarlost/istanbul\n\n[Browsers]: http://karma-runner.github.io/0.8/config/browsers.html\n[Versioning]: http://karma-runner.github.io/0.8/about/versioning.html\n[Configuration File Overview]: http://karma-runner.github.io/0.8/config/configuration-file.html\n[docs]: http://karma-runner.github.io\n[Docs]: http://karma-runner.github.io\n[website]: http://karma-runner.github.io\n", "readmeFilename": "README.md", "_id": "karma@0.10.6", "_from": "karma@>=0.9" }