generator-boom

An Angular.js generator for Yeoman

Boom Angular.js Generator!


This project is a Yeoman Generator, using which we can speed up our WebApp development. The command name is $ yo boom. Boom because its indeed a BOOM.

You can also check the NPM Repository


  1. Ultra Fast - Uses Gulp instead of Grunt
  2. Live Reload pre-configured
  3. BrowserSync pre-configured
  4. Development and Production code are separated
  5. AngularUI included (optional)
  6. JSHint pre-configured
  7. Protractor (E2E tests) pre-configured
  8. FontFace - Add @fontface on fly
  9. Constants and Values will be added in app.js (No new file will be created)
  10. Adding Routes will also create and link the css and controller in their respective folders.
  11. Adding Views is also allowed
  12. Adding Styles is also allowed
  13. Use gulp buildfor dev mode and gulp build:prod for production.
  14. Share code with client using command gulp zip (Will create the .zip file of build folder)

First of all you need to have Node.js and Yeoman npm install -g yo installed.

Install the Boom Generator

    npm install -g generator-boom

Make a new Directory for the project and cd into it

    mkdir my-new-project && cd $_

Then execute the boom command

    yo boom [app-name]

Answer few question on the command prompt and Thats it!


  1. You first need to install all the node modules required by boom npm install
  2. After that you need to download all the libraries using bower bower install
  3. Finally to start the server gulp

 - app/
    |- css/
        |- application.scss
        |- fonts.css
    |- fonts/
    |- img/
    |- js/
        |- controllers/
        |- directives/
        |- factories/
        |- filters/
        |- libs/
        |- providers/
        |- services/
        |- app.js
    |- templates/
    |- index.html
    |- bower.json
    |- package.json
    |- gulpfile.js

Lets quick walk through the boom commands.And understand how quickly we can Setup the entire project with a boom.

The avilable sub-generators are


BrowserSync

On the terminal just type gulp bs. It will automatically open a new tab in the browser. Copy the URL to other devices. Thats it !

Production Build

In order to generate the production code for deployment use $ gulp --type production or in case you are too lazy then type $ gulp prod.


  • Using main-bower-files instead of gulp-bower-files
  • Boom Tool crosses 1.4K downloads
  • List all your tasks using gulp tasks
  • gulp-connect is now used instead of connect (Thanks to Gokul)
  • Grunt has been permanently removed (Thanks to Jascha Dachtera)
  • Bower CSS support has been added
  • Deprecated method gulp.run is removed

I would like to thank following for creating awesome stuff

  • AngularJS - MV* Framework for WebApps
  • Grunt - A JavaScript task runner
  • Gulp - The streaming build system
  • Bower - Front End Package Manager
  • jQuery - DOM Manipulation Library
  • Yeoman - Worlflow for modern WebApps
  • Generator - Yeoman Angular Generator
  • BrowserSync - Keep multiple browsers & devices in sync when building websites

The MIT License Copyright (c) 2014 Aamir Shah (www.shahaamir.com).

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.