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
- Ultra Fast - Uses Gulp instead of Grunt
- Live Reload pre-configured
- BrowserSync pre-configured
- Development and Production code are separated
- AngularUI included (optional)
- JSHint pre-configured
- Protractor (E2E tests) pre-configured
- FontFace - Add @fontface on fly
- Constants and Values will be added in app.js (No new file will be created)
- Adding Routes will also create and link the css and controller in their respective folders.
- Adding Views is also allowed
- Adding Styles is also allowed
- Use
gulp build
for dev mode andgulp build:prod
for production. - 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!
- You first need to install all the node modules required by boom
npm install
- After that you need to download all the libraries using bower
bower install
- 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 aboom
.
The avilable sub-generators are
- boom:controller
- boom:directive
- boom:filter
- boom:route
- boom:service
- boom:provider
- boom:factory
- boom:value
- boom:constant
- boom:font
- boom:style
- boom:view
- boom:test
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.