Skip to content

New features in 2.x

Tyler Henkel edited this page Jun 30, 2014 · 5 revisions

Modular Client and Server

Now using Googles AngularJS app structure recommendations. This new structure makes maintaining large apps much easier, and allows for more code reuse.

In addition to the client, the structure of the server has gotten an overhaul, getting a similar modular structure, and taking advantage of the Express 4 modular routing system.

Better Authentication

Major improvements to the authentication in the generated app. Switched from session based authentication to JWT. Added support for role based authentication. And added support for social auths with facebook, twitter, and google.

Endpoint generator

Endpoint generator for building API endpoints. Generates model, route, controller, test, and socket.

More options

Support for uiRouter as an alternative to ngRoute, optional socketIO integration, and support for the Less CSS preprocessor.

Smarter build process

Use ng-templates to concatenate all the html/jade views into a single javascript payload, a big optimization for angularJS apps.

Adjust build process to allow tests being kept alongside code.

Generator Improvements

Rewrite of generator. Took all the client side sub-generators and moved them into generator-ng-component. Use composition to allow you to continue to use those generators. Added useful tests to the generator and started using travis ci.

Save user configurations in a .yo-rc file to make it easier to re-scaffold app, and keep track of settings for sub-generators.

Other improvements

Built in support for protractor tests. Just run npm run update-webdriver and you can start running protractor tests with the grunt test:e2e task.

Automatic injection of new scripts and styles with grunt, which allows you to delete modules without having to hunt down references to it in your index file or elsewhere.

Added config file, ignored by git, for starting server with environment variables, api keys, secrets.. etc

Faster grunt tasks by replacing grunt-contrib-compass with grunt-contrib-sass, and using jit-grunt to avoid grunt re-registering all tasks each time a watch is triggered.