Awesome
Angular Starter
Live Production Build Demo
Angular Webpack Starter is out! Featuring AoT compilation, Lazy loaded module, Tree-shaking with Webpack 2
Introduction
Welcome to Angular Starter! This starter contains almost everything you need to start developing Angular 2.
Why choose this starter?
- Extensible via ngstarter extensions
- Complete workflow from serve, lint, unit test, e2e test, to bundling
- Support file-based and strong-typed Environment Variables
- 100% code coverage
- 100% CI/CD pipeline ready
- No global package installation
- No module bundler coupling
What's included?
- npm for package manager
- TypeScript for the base language
- with Typings for TypeScript definition manager
- Gulp for workflow (from serve, watch, compile, test to build)
- Browsersync for development server & reload capability
- SystemJS for module loader
- Codelyzer for static code analyzer
- Karma for test-runner
- Jasmine for test framework
- Istanbul for test coverage
- with Remap Istanbul for remapping Javascript to TypeScript coverage
- SystemJS Builder or Webpack for module bundling in production
Please visit the wiki for more details.
Prerequisites
You need to have Node.js and npm
- Support Node v6.9 - latest
- Support npm v3 - latest
Global Gulp CLI is not required, since you can map them to npm scripts, but a nice to have for development purpose.
Installation
Download the starter from releases page
Go to the starter directory and install the packages:
npm install
Start
Let's start up the server, run:
npm start
and done! The browser will popup and you can start trying Angular! 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
npm 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.
E2E testing
Firstly start the server:
npm start
To begin testing, run:
npm run e2e
and it'll compile all E2E spec files in /src/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.
For more details, visit Continuous Integration wiki
You can create production build by running:
npm run build
or you can create production build and then serve it using Browsersync by running:
npm run serve-build
The starter defaults to bundle using SystemJS Builder extension. There is Webpack extension available too, feel free to swap it as you like.
Extension
You can extend this starter with many extensions built by the community. Browse the extensions here
Contributing
Feel free to submit a PR if there are any issues or new features, please read this before
Special thanks
- For all contributors who have helped this starter improvement
- John Papa for his awesome angular-styleguide and Tour of Heroes
- Julie Ralph for her ng2-test-seed which helped me a lot to get started with testing feature
- Minko Gechev for his angular2-seed and angular2-ngc-rollup-build which helped a lot
License
MIT