npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

generator-karma-require

v1.1.0

Published

Yeoman generator for Karma using RequireJS

Downloads

84

Readme

RequireJS-based Karma generator Build Status

See the Karma documentation for more info.

Why Karma?

Karma runs the tests in the browser, but reports them in the CLI. This greatly improves your workflow by giving you constant, accurate feedback on the status of your tests.

PhantomJS is a great option too, but it has the one drawback that it won't expose browser inconsistencies.

## Why generator-karma-require?

I needed Karma configuration that plays nicely with RequireJS, that I could spin up automatically after running another RequireJS-based generator. This is designed to address that problem.

Usage

Install it globally npm install -g generator-karma-require.

Running yo karma will generate a config file for your project: karma.conf.js. It will then install the npm dependencies.

By default, running yo karma will generate a pretty boring (and almost useless) config file. The real power is using the options to specify almost every part of the config file.

Note that you'll need to update your Gruntfile.js if you don't specify the --gruntfile-path option

Options

There are a lot of options going on here. None of them are required and most are probably only useful when used with other generators calling this one.

Options are specified after yo karma. Example:

yo karma --skip-install --frameworks=jasmine --app-files='app/**/*.js,public/**/*.js'

The full list:

  • --skip-install Type: Boolean, Default: false

Skips the automatic execution of npm after scaffolding has finished.

  • --coffee Type: Boolean, Default: false

Use CoffeeScript instead of JavaScript.

  • --frameworks Type: String, Default: 'jasmine'

Specifies which testing frameworks to use (CSV list). Example --frameworks=mocha,chai,requirejs,sinon

  • --browsers Type: String, Default: 'PhantomJS'

What browsers to test in (CSV list).

  • --app-files Type: String, Default: ''

List of application files (CSV list). There are purely the files you edit that make up your test.

  • --test-files Type: String, Default: ''

List of test files (CSV list), including spec and mock files.

  • --files-comments Type: String, Default: ''

List of comments to add to files properties. It can be used to support bower dependencies wiring using wiredep.

  • --exclude-files Type: String, Default: ''

List of files to exclude (CSV list). Files you don't want tested.

  • --plugins Type: String, Default: ''

Specify Karma plugins (npm modules). Use the full name like karma-junit-reporter.

  • --bower-components Type: String, Default: ''

Optional components to use for testing (CSV list of components).

  • --bower-components-path Type: String, Default: 'bower_components'

Directory where Bower components are installed, if not in the default location.

  • --travis Type: Boolean, Default: false

Enable Travis CI config generation by adding a .travis.yaml file.

  • --gruntfile-path Type: String, Default: ''

Path to a Gruntfile to edit. This is relative to your generators root directory. In other words, relative to this.destinationRoot() path.

  • --base-path Type: String, Default: ''

Will be used to resolve files and exclude in the karma.conf.js file.

  • --web-port Type: Number, Default: 8080

Web server port to run Karma from.

  • --template-path Type: String, Default: '../templates'

If you would like to specify a different template to use, give the path to that folder.

  • --config-file Type: String, Default: ''

The config file name to write to. Useful if you want a different name like karma-e2e.conf.js.

  • --config-path Type: String, Default: './test'

Path where the config files should be written to. This is where the karma.conf.js file will be placed.

Configuration

Karma can be configured by editing karma.conf.js. See the documentation page on the config file for an exhaustive list of options.

Contribute

See the contributing docs

License

BSD license

Bitdeli Badge