generator-salsa
v0.0.4
Published
AngularJS salsa for web/mobile apps and browser extensions.
Downloads
115
Readme
AngularJS salsa
Mixes a tasteful AngularJS salsa for web/mobile apps and browser extensions using JS/Coffee, Jade/HTML5, Node.js, Express and MongoDB.
Features (coming soon)
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.
Getting Started
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]
Usage
Options (coming soon)
--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:
--spa --coffee --jade --browserify --ui-router --minsafe --release
Contributing
Welcome to the project. Choose a way that suits you. You'll need a GitHub account.
Submit a bug, or feature request
- Search existing issues to avoid duplicities.
- Submit an issue with label
bug
, orenhancement
. - For a bug, include any relevant information, e.g. task output, installed OS/Node.js/Grunt/generator-salsa versions, and steps to reproduce.
Submit a pull request
- Fork the repository (help) and checkout new branch with
<type>-
prefix in name, where type may be feature, fix, docs, or chore. - 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
grunt
, orgrunt watch
to watch sources and run tests on any change. - Use commit messages that follow Karma/Angular commit message convention (docs). In short, use
<type>(<scope>): <subject>
header in imperative present tense, message body describing motivation/differences, and footer referencing related issues and breaking changes. - Create a pull request to generator-salsa master branch (help).
Roadmap
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
Changelog
v0.0.1 (2013-11-21)
Features
- generator: create basic MEAN stack generator (1290e5d7)
License
Copyright 2013 Salsita Software. Licensed under the MIT License.