node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Flight package generator

Build Status

Get up and running with everything you need to create a standalone component using Twitter's lightweight, JavaScript framework, Flight.

This is a Flight generator for Yeoman.

Recommended setup

Install Node.js (which comes with npm). It's best to have npm version 1.2.x or above installed.

Next, globally install the Flight package generator.

npm install -g generator-flight-package

Make a new directory, and cd into it:

mkdir flight-packagename && cd $_

You're now ready to generate a package!

The generator

To generate a standalone Flight component as a package:

yo flight-package <package-name>

N.B. All your Node and client-side dependencies will be installed automatically unless you include the --skip-install option.


Flight makes it easy to create, share, and depend on standalone Flight components, e.g., flight-storage. This generator is designed to setup everything you need to create a Flight component suitable for registration with the Bower package manager.


yo flight-package foo

Produces a package named flight-foo with the following output:

├── bower_components
├── lib
│   └── foo.js
├── node_modules
├── test
│   ├── spec
│   │   └── foo.spec.js
│   └── test-main.js
├── .gitattributes
├── .gitignore
├── .jshintrc
├── .travis.yml
├── bower.json
├── package.json
├── karma.conf.js
└── Gruntfile.js

Locally installed software

Automatically installs all the Flight framework dependencies, and sets up a Node-based toolchain for your development workflow.

via Bower

via npm

Running your package's tests

The generated package uses a local installation of Karma to run the unit tests. Karma makes it easy to run and automatically re-run your unit tests in real browsers:

karma start

This is the recommended approach because the moment your unit tests start failing, you'll be notified in the terminal.

To run your unit tests just once in PhantomJS (for CI), you must install PhantomJS and then run:

npm test

For further information about configuring Karma, please refer to the Karma website.

Releasing new versions of your package

The generated package uses Grunt to help automate the process of incrementing version numbers in package manifests, commiting the changes, tagging a new release, and pushing the changes and tags to your remote repository. This can all be done with the following command (remember to update your CHANGELOG first):

grunt bump:<patch|minor|major>

Alternatively, you can use the following command to bump the versions and do nothing else:

grunt bump-only:<patch|minor|major>

Contributing to this project

Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.