AngularJS salsa for web/mobile apps and browser extensions.
npm install generator-salsa
> Mixes a tasteful AngularJS salsa for web/mobile apps and browser extensions using JS/Coffee, Jade/HTML5, Node.js, Express and MongoDB.
  
Salsa type:
- Single-page web/mobile applications based on AngularJS, Grunt and Bower,
- RESTful web/mobile applications with backend based on MEAN stack:
+ client:
AngularJS,
RestAngular,
UI-Bootstrap/Twitter Bootstrap,
+ server:
Node.js,
Express,
Passport,
MonGoose,
mongoDB,
- Google Chrome AngularJS extensions.
Available spices:
- CoffeeScript/CS2/ECMAScript 3/ES5-shim/ES5/ES6/Traceur,
- Jade/HTML,
LESS,
UI-Bootstrap/Twitter Bootstrap,
UI-Router,
- Karma,
Jasmine/Mocha+Chai+as-promised+Sinon,
Istanbul,
- Browserify,
ngmin.
Inspired by AngularJS generator, ngBoilerplate, and MEAN stack generator. Served by Yeoman.
Install yeoman and generator-salsa:
```
npm install -g yo generator-salsa
Make a new directory, and cd into it:`
`
mkdir my-new-project && cd $_
Run yo salsa, optionally passing any options, and/or an app name:`
`
yo salsa [options] [app-name]
`shell
--spa Generate a single page Angular application.
--mean Generate a browser/server Mongo+Angular+Express+Node application.
--chrome Generate a Google Chrome Angular extension.
--coffee Compile CoffeeScript.
--coffee2 Compile CoffeeScript 2 (beta).
--es3 Use ECMA Script 3 (legacy).
--es5shim Add shim to emulate ECMA Script 5 methods on ES3.
May be combined with --coffee, or --coffee2.
--es5 Use ECMA Script 5 (IE9+, FF4+, Sf5.1+, Ch7+, Op12+).
--es6 Use ECMA Script 6 (upcoming).
--es6to5 Compile ES6 code to ES5 using Traceur (experimental).
--jade Compile Jade to HTML.
--html Use HTML.
--browserify
Concatenate scripts with Browserify (--no-concat to disable).
--(no-)concat
Concatenate scripts with Grunt concat task.
--(no-)minsafe
Prepare scripts for safe minification with ngmin.
--(no-)release
Bump versions and generate changelog with Grunt release task.
--(no-)ui-router
Use UI Router to handle client-side routing.
--(no-)demo
Create demo application files (yo salsa:demo).
--quiet Do not prompt for options, use passed ones and defaults.
`
Default options:
`shell`
--spa --coffee --jade --browserify --ui-router --minsafe --release
Welcome to the project. Choose a way that suits you. You'll need a GitHub account.
* Search existing issues to avoid duplicities.
* Submit an issue with label bug, or enhancement.
* For a bug, include any relevant information, e.g. task output, installed OS/Node.js/Grunt/generator-salsa versions, and steps to reproduce.
* Fork the repository (help) and checkout new branch with prefix in name, where type may be feature, fix, docs, or chore.grunt
* Use the popular JavaScript style convention and winning JavaScript style with exception of 100 characters per line. In short, use 2 spaces indent, camelCase names, trailing comma, single quotes, semicolons, sparse spacing, and no trailing whitespace.
* For bugfix, write a test that exposes the bug and fails without the fix. Submit the test alongside.
* For a new feature, add tests that cover the feature.
* Lint and test your code with , or grunt watch to watch sources and run tests on any change.
* Use commit messages that follow Karma/Angular commit message convention (docs). In short, use
* Create a pull request to generator-salsa master branch (help).
- Base:
+ Add the yeoman generator option parser and .salsarc
+ Add bump/npm/changelog/release tasks
+ Add reliable concurrent(watch-notest, karma:watch)
+ Add concat/minify/sourcemaps/filerev/userev
- Demo application and tests:
+ Add demo application
+ Add Karma tests
+ Add Protractor tests
+ Add best practices and componentization guide
- Spices:
+ Add Browserify support and demo
+ Add UI-Router support and demo
+ Add UI-Bootstrap support and demo
+ Add CoffeeScript2 beta support
- Subgenerators:
+ Add subgenerator for feature,
including route, controller and template
+ Add subgenerator for feature/common filter
+ Add subgenerator for feature/common service
+ Add subgenerator for feature/common directive
- Google Chrome extensions:
+ Add Google Chrome extension support
+ Extend demo application to Google Chrome extension
- ECMAScript 5/6 targets:
+ Add ES5-shim support
+ Add ES5 support
+ Add ES6 Harmony support
+ Add Traceur (ES6 draft -> ES5 compiler) support
#### Features
* generator: create basic MEAN stack generator (1290e5d7)
Copyright 2013 Salsita Software. Licensed under the MIT License.