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
- Flight (and its dependencies: ES5 Shim, jQuery)
- Jasmine jQuery extensions
- Jasmine Flight extensions
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.