generator-firestarter
v1.1.2
Published
A Yeoman generator to help kickstart Angular SPA with a Gulp build script.
Readme
Firestarter has 3 parts:
- A Yeoman Generator for generating a default Angular SPA app structure.
- An awesome
gulpbuild script for optimization things just like I like them for new Angular SPAs. - (Coming Eventually...!) A (Yeoman) tool for generating additional templated views and controllers, etc to remove the need to write a lot of boilerplate code. These templates are fully customizable.
Yeoman Firestarter Generator
As a pre-requisite, yeoman is required and if you don't already, install it globally:
npm install -g yoIf you'd like to get to know Yeoman better and meet some of his friends, Gulp and Bower, check out the complete Getting Started Guide.
Installation
To install the firestarter generator, from your terminal, run:
npm install -g generator-firestarterIf you're wanting to contribute to development of this package, you can alternatively install it like so:
git clone https://github.com/CWSpear/firestarter.git firestarter
cd firestarter
npm linknpm link will link this local package to your global npm packages.
Finally, initiate the generator:
yo firestarterFirestarter Gulp Build
Quick start:
npm install
bower install
gulpGulp commands:
Production Build
gulp production
# aliases for the same thing
gulp build
gulp prodDevelopment Build
gulp
# aliases for the same thing
gulp dev
gulp developmentWatch for changes
# just add the --watch flag to any command
gulp [production] --watchLocal development server for Angular SPA
gulp serve [--port="port"] # just serves the app
# or
gulp --serve[="port"] # runs dev task + serves (define optional port)
# (--port flag overrides --serve flag)What does it do?
This particular project was built with an AngularJS Single Page Application (SPA), and these tasks are built with that goal in mind:
- Cleans dest directory before running other tasks
- Compile
scss→css(minifies if using production task) - Runs
autoprefixeron compiledcss - Converts es6 to es5 via
babeljs - Automatically links
jsand revisions files (for cachebusting) - concat + minify (if using production task)
- Automatically link
bowercomponents (bothjsandcss) (resolving dependencies to determine order) - Automatically orders Angular files in order based on module dependencies
- Copies other static files and images to dest folder
- Watches all files and runs appropriate tasks and reloads page/injects CSS
- Uses
gulp-plumberto make surewatchdoesn't break everything
Firestarter Template Builder
Coming Eventually...
Changelog
- v1.1.2 (2015-04-21) - Fix URLs in routes for demo JS files.
- v1.1.1 (2015-04-21) - Fix some typos. I just really wanted to use v.1.1.1.
- v1.1.0 (2015-04-21) - Add support for using es6 via
babeljs, as well as clean up various little things. (Removed undocumented, rarely used--installflag support.) - v1.0.4 (2014-12-04) - Add
gulp-angular-filesorterto make it automatically resolve Angular module order instead of relying on knowing exactly where module definitions are. This fixed a bug where you'd sometimes get errors about trying to access undefined modules because Firestarter wasn't looking for app.js (or other files that define modules) in the correct place.
License
MIT
