generator-flight-package

Generator for scaffolding out a Flight component

Flight package generator

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.

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!

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.

Example:

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
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── bower.json
├── package.json
├── karma.conf.js
└── Gruntfile.js

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

via Bower

via npm

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.

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>

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