/angular2-starter

:star: Angular 2 Starter for TypeScript with Gulp, Bower, SystemJS, SASS, Typings, TSLint, Karma, Jasmine, Istanbul, Protractor with Travis CI and Coveralls integration (Updated to Beta 7!)

Primary LanguageJavaScriptMIT LicenseMIT

Angular 2 Starter

Build Status Coverage Status Dependency Status devDependency Status

Angular 2 is still in Beta stage, please don't use this in production
Follow it here

Table of Content

Introduction

Welcome to Angular 2 Starter! This starter contains almost everything you need to start developing Angular 2:

  • TypeScript for the base language
    • with Typings for TypeScript definition manager
  • Gulp for workflow (from serve, watch, compile, test to build)
  • Bower for front-end package manager
  • NPM for angular2 & dev-tooling package manager
  • Live Server for development server & reload capability
  • SystemJS for module loader
  • Karma for test-runner
  • Jasmine for test framework
  • Istanbul for test coverage
  • SystemJS Builder for module bundling in production

Please visit the wiki for more details.

Installation

Firstly, you need to have Node.js

  • Support from v0.12.10 (LTS) or higher
  • For v4, please use v4.3.x (LTS) or higher (highly recommended)
  • For v5, please use v5.6.x or higher, here is why

You need v4.x or higher for Protractor

Then, install these packages globally:

npm install -g gulp bower

After that, just run:

npm install

and to install bower dependencies:

bower install

Start

Let's start up the server, run:
gulp or gulp serve-dev

and done! The browser will popup and you can start trying Angular 2!
Every changes to the file will refresh the browser automatically and it'll also compile your changed TypeScripts files to Javascript files.

Testing

This starter comes with testing gulp workflow

Unit testing

Just run

gulp test

and it'll compile all TypeScript files, start Karma, then remap Istanbul coverage so that it shows TypeScript coverage, not the transpiled Javascript coverage. Coverage result

E2E testing

Firstly start the server:

gulp serve-dev

To begin testing, run:

gulp e2e

and it'll compile all E2E spec files in /test/e2e/*.spec.ts, boot up Selenium server then launches Chrome browser.

Production

All build tasks will run the gulp test, the bundle will only be created if the test passed.

You can create production build by running:

gulp build

or you can create production build and then serve it using live-server by running:

gulp serve-build

It uses SystemJS Builder to bundle your application so it's ready for production use

Contributing

Feel free to submit a PR if there are any issues or new features, read this before

Special thanks

License

MIT