Coder Social home page Coder Social logo

patrickjs / patrickjs-starter Goto Github PK

View Code? Open in Web Editor NEW
10.3K 10.3K 4.9K 3.72 MB

MFE Starter

License: MIT License

HTML 3.39% JavaScript 57.27% TypeScript 37.35% CSS 0.19% Dockerfile 1.32% SCSS 0.48%
angular mfe microfrontend microfrontends typescript webpack

patrickjs-starter's Introduction

Please use the Angular CLI if you want an angular app

taylor swift volkswagen status Build Status GitHub version Dependency Status Stack Share

Angular Starter

Angular Webpack Starter Join the chat at https://gitter.im/angularclass/angular2-webpack-starter

An Angular starter kit featuring Angular 6, Ahead of Time Compile, Router, Forms, Http, Services, Tests, E2E), Karma, Protractor, Jasmine, Istanbul, TypeScript, @types, TsLint, Codelyzer, Hot Module Replacement, and Webpack.

If you're looking for Angular 1.x please use NG6-starter If you're looking to learn about Webpack and ES6 Build Tools check out ES6-build-tools If you're looking to learn TypeScript see TypeStrong/learn-typescript If you're looking for something easier to get started with then see the angular-seed that I also maintain gdi2290/angular-seed

This seed repo serves as an Angular starter for anyone looking to get up and running with Angular and TypeScript fast. Using a Webpack 4 for building our files and assisting with boilerplate. We're also using Protractor for our end-to-end story and Karma for our unit tests.

  • Best practices in file and application organization for Angular.
  • Ready to go build system using Webpack for working with TypeScript.
  • Angular examples that are ready to go when experimenting with Angular.
  • A great Angular seed repo for anyone who wants to start their project.
  • Ahead of Time (AoT) compile for rapid page loads of your production builds.
  • Tree shaking to automatically remove unused code from your production bundle.
  • Testing Angular code with Jasmine and Karma.
  • Coverage with Istanbul and Karma
  • End-to-end Angular app testing using Protractor.
  • Type manager with @types
  • Hot Module Replacement with Webpack and @gdi2290/hmr and @gdi2290/hmr-loader

Quick start

Make sure you have Node version >= 8.0 and (NPM >= 5 or Yarn )

Clone/Download the repo then edit app.component.ts inside /src/app/app.component.ts

# clone our repo
# --depth 1 removes all but one .git commit history
git clone --depth 1 https://github.com/gdi2290/angular-starter.git

# change directory to our repo
cd angular-starter

# install the repo with npm
npm install

# start the server
npm start

# use Hot Module Replacement
npm run server:dev:hmr

# if you're in China use cnpm
# https://github.com/cnpm/cnpm

go to http://0.0.0.0:3000 or http://localhost:3000 in your browser

Table of Contents

File Structure

We use the component approach in our starter. This is the new standard for developing Angular apps and a great way to ensure maintainable code by encapsulation of our behavior logic. A component is basically a self contained app usually in a single file or a folder with each concern as a file: style, template, specs, e2e, and component class. Here's how it looks:

angular-starter/
 ├──config/                        * our configuration
 |   ├──build-utils.js             * common config and shared functions for prod and dev
 |   ├──config.common.json         * config for both environments prod and dev such title and description of index.html
 |   ├──config.dev.json            * config for development environment
 |   ├──config.prod.json           * config for production environment 
 │   │                              (note: you can load your own config file, just set the evn ANGULAR_CONF_FILE with the path of your own file)
 |   ├──helpers.js                 * helper functions for our configuration files
 |   ├──spec-bundle.js             * ignore this magic that sets up our Angular testing environment
 |   ├──karma.conf.js              * karma config for our unit tests
 |   ├──protractor.conf.js         * protractor config for our end-to-end tests
 │   ├──webpack.common.js          * common tasks for webpack build process shared for dev and prod
 │   ├──webpack.dev.js             * our development webpack config
 │   ├──webpack.prod.js            * our production webpack config
 │   └──webpack.test.js            * our testing webpack config
 │
 ├──src/                           * our source files that will be compiled to javascript
 |   ├──main.browser.ts            * our entry file for our browser environment
 │   │
 |   ├──index.html                 * Index.html: where we generate our index page
 │   │
 |   ├──polyfills.ts               * our polyfills file
 │   │
 │   ├──app/                       * WebApp: folder
 │   │   ├──app.component.spec.ts  * a simple test of components in app.component.ts
 │   │   ├──app.e2e.ts             * a simple end-to-end test for /
 │   │   └──app.component.ts       * a simple version of our App component components
 │   │
 │   └──assets/                    * static assets are served here
 │       ├──icon/                  * our list of icons from www.favicon-generator.org
 │       ├──service-worker.js      * ignore this. Web App service worker that's not complete yet
 │       ├──robots.txt             * for search engines to crawl your website
 │       └──humans.txt             * for humans to know who the developers are
 │
 │
 ├──tslint.json                    * typescript lint config
 ├──typedoc.json                   * typescript documentation generator
 ├──tsconfig.json                  * typescript config used outside webpack
 ├──tsconfig.webpack.json          * config that webpack uses for typescript
 ├──package.json                   * what npm uses to manage its dependencies
 └──webpack.config.js              * webpack main configuration file

Getting Started

Dependencies

What you need to run this app:

  • node and npm (brew install node)
  • Ensure you're running the latest versions Node v8.x.x+ (or v9.x.x) and NPM 5.x.x+

If you have nvm installed, which is highly recommended (brew install nvm) you can do a nvm install --lts && nvm use in $ to run with the latest Node LTS. You can also have this zsh done for you automatically

Once you have those, you should install these globals with npm install --global:

  • webpack (npm install --global webpack)
  • webpack-dev-server (npm install --global webpack-dev-server)
  • karma (npm install --global karma-cli)
  • protractor (npm install --global protractor)
  • typescript (npm install --global typescript)
  • tslint (npm install --global [email protected])

Installing

  • fork this repo
  • clone your fork
  • npm install webpack-dev-server rimraf webpack -g to install required global dependencies
  • npm install to install all dependencies or yarn
  • npm run server to start the dev server in another tab

Running the app

After you have installed all dependencies you can now run the app. Run npm run server to start a local server using webpack-dev-server which will watch, build (in-memory), and reload for you. The port will be displayed to you as http://0.0.0.0:3000 (or if you prefer IPv6, if you're using express server, then it's http://[::1]:3000/).

server

# development
npm run server
# production
npm run build:prod
npm run server:prod

Other commands

the following commands with npm can be used with yarn as well

build files

# development
npm run build:dev
# production (jit)
npm run build:prod
# AoT
npm run build:aot

hot module replacement

npm run server:dev:hmr

watch and build files

npm run watch

run unit tests

npm run test

watch and run our tests

npm run watch:test

run end-to-end tests

# update Webdriver (optional, done automatically by postinstall script)
npm run webdriver:update
# this will start a test server and launch Protractor
npm run e2e

continuous integration (run unit tests and e2e tests together)

# this will test both your JIT and AoT builds
npm run ci

run Protractor's elementExplorer (for end-to-end)

npm run e2e:live

build Docker

npm run build:docker

Configuration

Configuration files live in config/ we are currently using webpack, karma, and protractor for different stages of your application

AoT Don'ts

The following are some things that will make AoT compile fail.

  • Don’t use require statements for your templates or styles, use styleUrls and templateUrls, the angular2-template-loader plugin will change it to require at build time.
  • Don’t use default exports.
  • Don’t use form.controls.controlName, use form.get(‘controlName’)
  • Don’t use control.errors?.someError, use control.hasError(‘someError’)
  • Don’t use functions in your providers, routes or declarations, export a function and then reference that function name
  • @Inputs, @Outputs, View or Content Child(ren), Hostbindings, and any field you use from the template or annotate for Angular should be public

For more detailed guide on AoT's Do's and Don'ts refer to https://github.com/rangle/angular-2-aot-sandbox

External Stylesheets

Any stylesheets (Sass or CSS) placed in the src/styles directory and imported into your project will automatically be compiled into an external .css and embedded in your production builds.

For example to use Bootstrap as an external stylesheet:

  1. Create a styles.scss file (name doesn't matter) in the src/styles directory.
  2. npm install the version of Bootstrap you want.
  3. In styles.scss add @import '~bootstrap/scss/bootstrap.scss';
  4. In src/app/app.module.ts add underneath the other import statements: import '../styles/styles.scss';

Contributing

You can include more examples as components but they must introduce a new concept such as Home component (separate folders), and Todo (services). I'll accept pretty much everything so feel free to open a Pull-Request

TypeScript

To take full advantage of TypeScript with autocomplete you would have to install it globally and use an editor with the correct TypeScript plugins.

Use latest TypeScript compiler

TypeScript 2.7.x includes everything you need. Make sure to upgrade, even if you installed TypeScript previously.

npm install --global typescript

Use a TypeScript-aware editor

We have good experience using these editors:

Visual Studio Code + Debugger for Chrome

Install Debugger for Chrome and see docs for instructions to launch Chrome

The included .vscode automatically connects to the webpack development server on port 3000.

Types

When you include a module that doesn't include Type Definitions inside of the module you can include external Type Definitions with @types

i.e, to have youtube api support, run this command in terminal:

npm i @types/youtube @types/gapi @types/gapi.youtube

In some cases where your code editor doesn't support Typescript 2 yet or these types weren't listed in tsconfig.json, add these to "src/custom-typings.d.ts" to make peace with the compile check:

import '@types/gapi.youtube';
import '@types/gapi';
import '@types/youtube';

Custom Type Definitions

When including 3rd party modules you also need to include the type definition for the module if they don't provide one within the module. You can try to install it with @types

npm install @types/node
npm install @types/lodash

If you can't find the type definition in the registry we can make an ambient definition in this file for now. For example

declare module "my-module" {
  export function doesSomething(value: string): string;
}

If you're prototyping and you will fix the types later you can also declare it as type any

declare var assert: any;
declare var _: any;
declare var $: any;

If you're importing a module that uses Node.js modules which are CommonJS you need to import as

import * as _ from 'lodash';

Frequently asked questions

  • What's the current browser support for Angular?
  • Why is my service, aka provider, is not injecting parameter correctly?
    • Please use @Injectable() for your service for typescript to correctly attach the metadata (this is a TypeScript problem)
  • Where do I write my tests?
  • How do I start the app when I get EACCES and EADDRINUSE errors?
    • The EADDRINUSE error means the port 3000 is currently being used and EACCES is lack of permission for webpack to build files to ./dist/
  • How to use sass for css?
  • How do I test a Service?
  • How do I add vscode-chrome-debug support?
    • The VS Code chrome debug extension support can be done via launch.json see issue #144
  • How do I make the repo work in a virtual machine?
    • You need to use 0.0.0.0 so revert these changes #205
  • What are the naming conventions for Angular?
  • How do I include bootstrap or jQuery?
  • How do I async load a component?
  • Error: Cannot find module 'tapable'
    • Remove node_modules/ and run npm cache clean then npm install
  • How do I turn on Hot Module Replacement
    • Run npm run server:dev:hmr
  • RangeError: Maximum call stack size exceeded
    • This is a problem with minifying Angular and it's recent JIT templates. If you set mangle to false then you should be good.
  • Why is the size of my app larger in development?
    • We are using inline source-maps and hot module replacement which will increase the bundle size.
  • If you're in China
  • node-pre-gyp ERR in npm install (Windows)
    • often happens when you're behind proxy and proxy wasn't configured in the npm as it tries to download binary package from the github and if it fails to do so, it will try to compile node-sass from the source codes
    • install Python3 x86
  • Error:Error: Parse tsconfig error [{"messageText":"Unknown compiler option 'lib'.","category":1,"code":5023},{"messageText":"Unknown compiler option 'strictNullChecks'.","category":1,"code":5023},{"messageText":"Unknown compiler option 'baseUrl'.","category":1,"code":5023},{"messageText":"Unknown compiler option 'paths'.","category":1,"code":5023},{"messageText":"Unknown compiler option 'types'.","category":1,"code":5023}]
    • remove node_modules/typescript and run npm install typescript@beta. This repo now uses ts 2.0
  • "There are multiple modules with names that only differ in casing"

Support, Questions, or Feedback

Contact us anytime for anything about this repo or Angular

@PatrickJS__ on twitter

Deployment

Docker

To run project you only need host machine with operating system with installed git (to clone this repo) and docker and thats all - any other software is not needed (other software like node.js etc. will be automatically downloaded and installed inside docker container during build step based on dockerfile).

Install docker

MacOS:

brew cask install docker

And run docker by Mac bottom menu> launchpad > docker (on first run docker will ask you about password)

Ubuntu:

sudo apt-get update
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
sudo apt-get update
apt-cache policy docker-engine
sudo apt-get install -y docker-engine
sudo systemctl status docker  # test: should be ‘active’

And add your user to docker group (to avoid sudo before using docker command in future):

sudo usermod -aG docker $(whoami)

and logout and login again.

Build image

Because node.js is big memory consumer you need 1-2GB RAM or virtual memory to build docker image (it was successfully tested on machine with 512MB RAM + 2GB virtual memory - building process take 7min)

Go to main project folder. To build image type:

docker build -t angular-starter .

The angular-starter name used in above commands is only example image name. To remove intermediate images created by docker on build process, type:

docker rmi -f $(docker images -f "dangling=true" -q)

Run image

To run created docker image on localhost:8080 type (parameter -p 8080:80 is host:container port mapping)

docker run --name angular-starter -p 8080:80 angular-starter &

And that's all, you can open browser and go to localhost:8080.

Build and Run image using docker-compose

To create and run docker image on localhost:8080 as part of large project you may use docker-compose. Type

docker-compose up

And that's all, you can open browser and go to localhost:8080.

Run image on sub-domain

If you want to run image as virtual-host on sub-domain you must setup proxy. You should install proxy and set sub-domain in this way:

docker run -d -p 80:80 --name nginx-proxy -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy:alpine

And in your /etc/hosts file (linux) add line: 127.0.0.1 angular-starter.your-domain.com or in yor hosting add following DNS record (wildchar * is handy because when you add new sub-domain in future, you don't need to touch/add any DNS record)

Type: CNAME
Hostname: *.your-domain.com
Direct to: your-domain.com
TTL(sec): 43200

And now you are ready to run image on subdomain by:

docker run -e VIRTUAL_HOST=angular-starter.your-domain.com --name angular-starter angular-starter &

Login into docker container

docker exec -t -i angular-starter /bin/bash

Netlify

You can quickly create a free site to get started using this starter kit in production on Netlify:

Deploy to Netlify

Optional Integration with SonarQube (for continous code quality)

Assuming you have SonarQube 5.5.6 (LTS) installed

npm install --global sonar-scanner
npm install karma-sonarqube-unit-reporter --save-dev
  • Sonar Host URL configuration: Update sonar-project.properties file for the property sonar.host.url to point to your SonarQube server. By default this assumes that the SonarQube server is running locally using the default port
sonar.host.url=<Sonar Host URL and Port>
  • Run the unit tests with sonar reporter enabled
npm run test:sonar
  • The test results collected in the results folder in the sonar compatible format
  • Push results to SonarCube
sonar-scanner
sonarQubeUnitReporter: {
  sonarQubeVersion: '6.x',
}

enjoy — PatrickJS


License

MIT

patrickjs-starter's People

Contributors

almothafar avatar asgerjensen avatar chriscurnow avatar colinskow avatar danielkucal avatar dotcs avatar elhigu avatar foxandxss avatar greenkeeperio-bot avatar hendrixer avatar jennyraj avatar jhuntoo avatar jimthedev avatar joshwiens avatar kamil-kielczewski avatar katallaxie avatar ktong avatar lanovoy avatar ocombe avatar opporancisis avatar patrickjs avatar samvloeberghs avatar sekibomazic avatar shlomiassaf avatar spittal avatar stefh avatar tamascsaba avatar tsukhu avatar valorkin avatar vsfedorenko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

patrickjs-starter's Issues

Cannot build - no appropriate loader to handle this file type

ERROR in ./src/app/bootstrap.ts
Module parse failed: /home/michal/WebstormProjects/angular2-webpack-starter/src/app/bootstrap.ts Line 4: Unexpected token
You may need an appropriate loader to handle this file type.
| 
| // Angular 2
| import {bootstrap} from 'angular2/angular2';
| /*
|  * Bindings provided by Angular
 @ multi app

I'm trying to get project up and running but I come across with no appropriate loader error after very first npm start. I have all global dependencies installed. I've tried with node v0.12.5 and v4.1.0 on Ubuntu 14.04 LTS. Have you got any idea what might be the problem? webpack.config.js looks fine (didn't change it).

Unable to add Express REST API

Hi,

I just started playing with this starter kit. I ran the sample using the following command to make use of the express-server-example.js file:

node server/express-server-example

It starts the server on the port 8080 and I am able to browse the sample. Then I added the following REST endpoint to the file express-server-example.js:

app.get('/api/sample', function(request, response) {
response.send({name:"Ravi"});
});

Now when I hit this endpoint, I get the following view instead of getting JSON response from the endpoint:

image

I tried to fix this and ended with no luck as of now. Is this a bug in the starter kit? Otherwise, can someone help me in resolving this?

Run type type information loss

Hi,

I'm not sure if this belongs here, or in angular2 proper, but I noticed that the types that are placed on stuff isn't used at runtime, which can lead to some pretty confusing situations.

Example:

/// <reference path="../../../../typings/_custom.d.ts" />

/*
 * Angular 2
 */
import {Component, View, Directive, FormBuilder, Inject, Attribute}  from 'angular2/angular2';

/*
 * Directives
 * angularDirectives: Angular's core/form/router directives
 * appDirectives: Our collection of directives from /directives
*/

import {APP_DIRECTIVES} from '../../../directives/directives';


@Component({
  selector: 'productlist-filter',

})
@View({
  directives: [ APP_DIRECTIVES ],
  template : `<select (change)="onChange($event.target.value)">
                     <option value="4">4</option>
                     <option value="8">8</option>
            </select>`,
})
export class Example1 {
  private _value : number;
  constructor(  )
  {
      this._value = 4;
      let tmpValue : number = this._value + 5;
      console.log("Test 1, ", (tmpValue )); // writes "Test 1, 9" in the log
  }

  onChange(newValue : number) {
      this._value = newValue;
      let tmpValue : number = this._value + 5;
      console.log("Test 2 ", (tmpValue )); // writes "Test 2, 85" in the log because this._value is suddenly a string

  }

}

test fail

Hello guys I checkout your example but I've problems to run the test because it fail.

WARNING in ./test .spec.ts
Module not found: Error: Cannot resolve module 'typescript-simple' in /Users/daniele/Downloads/angular2-webpack-starter-master/test
@ ./test .spec.ts
23 10 2015 18:28:13.784:INFO [karma]: Karma v0.13.14 server started at http://localhost:9876/
23 10 2015 18:28:13.813:INFO [launcher]: Starting browser PhantomJS
23 10 2015 18:28:14.803:INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket Jbp1N5JS0CH3jpb1AAAA with id 35251485
PhantomJS 1.9.8 (Mac OS X 0.0.0): Executed 0 of 0 ERROR (0.001 secs / 0 secs)
npm ERR! Test failed. See above for more details.

Lots of warnings?

I did a fresh clone and npm start, and there are tons of warnings everywhere. For example:

WARNING in ./app.ts
(6,58): Cannot find module 'angular2/angular2'. (2307)

WARNING in ./app.ts
(7,9): Module '"angular2/router"' has no exported member 'RouteConfig'. (2305)

WARNING in ./app.ts
(14,48): Cannot find module 'angular2/angular2'. (2307)

WARNING in ./bootstrap.ts
(4,25): Cannot find module 'angular2/angular2'. (2307)

WARNING in ./bootstrap.ts
(11,29): Cannot find module 'angular2/angular2'. (2307)

WARNING in ../typings/ng2.d.ts
(34,32): Cannot find name 'List'. (2304)

WARNING in ../typings/ng2.d.ts
(329,33): Cannot find name 'List'. (2304)

WARNING in ../typings/ng2.d.ts
(358,33): Cannot find name 'List'. (2304)

I'm guessing this has to do with forgetting to include some typescript files somewhere, but I'm not sure.

webpack-dev-server won't run

I'm getting the following when I run npm run server
I couldn't find any open issues with webpack or webpack-dev-server. Also, nothing is jumping out at me in the webpack config.

Dans-MBP:angular2-webpack-starter dan$ npm run server

> [email protected] server /Users/dan/Projects/js/angular2-webpack-starter
> webpack-dev-server --inline --colors --display-error-details --display-cached 

/Users/dan/Projects/js/angular2-webpack-starter/node_modules/webpack/node_modules/tapable/lib/Tapable.js:164
        arguments[i].apply(this);
                    ^
TypeError: Cannot read property 'apply' of undefined
    at Tapable.apply (/Users/dan/Projects/js/angular2-webpack-starter/node_modules/webpack/node_modules/tapable/lib/Tapable.js:164:15)
    at OptionsApply.WebpackOptionsApply.process (/Users/dan/Projects/js/angular2-webpack-starter/node_modules/webpack/lib/WebpackOptionsApply.js:62:18)
    at webpack (/Users/dan/Projects/js/angular2-webpack-starter/node_modules/webpack/lib/webpack.js:22:48)
    at Object.<anonymous> (/Users/dan/Projects/js/angular2-webpack-starter/node_modules/webpack-dev-server/bin/webpack-dev-server.js:133:12)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)

npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "run" "server"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] server: `webpack-dev-server --inline --colors --display-error-details --display-cached `
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] server script 'webpack-dev-server --inline --colors --display-error-details --display-cached '.
npm ERR! This is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     webpack-dev-server --inline --colors --display-error-details --display-cached 
npm ERR! You can get their info via:
npm ERR!     npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/dan/Projects/js/angular2-webpack-starter/npm-debug.log

problem with todo api

I have followed the instructions in Dependencies section. I have node v0.12.3 and npm v2.13.2
I see this in my chrome console GET http://localhost:8080/api/todos 404 (Not Found). As the app suggests I have installed these module as well, but still no luck
npm install express connect-history-api-fallback morgan body-parser

Any clues?

Documentation Generator Enhancement

Authentication

Hi,
I think a starter pack should provide a way to know if a user is logged in or not.
Thought the authentication process could just mock the calls to a server.
There is not an real word application that doesn't need to know if the user can or not do the action.

A clean way to handle login and permissions with the best practice of how to handle such middleware will make it a perfect starter pack.
Just adding : https://github.com/auth0/angular2-authentication-sample
is not enough since the code is not generic enough.

File reference in autosuggest example has wrong case

This is just a small thing, but it breaks the build:

WARNING in ./components/rxjs-examples/autosuggest/Search.ts
(7,27): Cannot find module './Autosuggest'. (2307)

ERROR in ./src/app/components/rxjs-examples/autosuggest/Search.ts
Module not found: Error: Cannot resolve 'file' or 'directory' ./Autosuggest in /home/anders/Dropbox/dev/itembox/code/t_angular2-webpack-starter/src/app/components/rxjs-examples/autosuggest
 @ ./src/app/components/rxjs-examples/autosuggest/Search.ts 15:20-44

Search.ts references /.Autosuggest https://github.com/angular-class/angular2-webpack-starter/blob/master/src/app/components/rxjs-examples/autosuggest/Search.ts#L7 , but the actual file is spelled with lower case /.autosuggest, so it's an easy fix: either change the file name or the reference.

It looks like the repo uses lowercase for all files in src except the ones in /autosuggest and /timeflies where the naming is a little inconsistent.

Compile error with alpha-44, angular2/http does not export HTTP_PROVIDERS

Clean checkout, npm install, npm start
gives
quad:angular2-webpack-starter akj$ npm start

[email protected] start /Users/akj/Documents/angular2/p3/angular2-webpack-starter
npm run server

[email protected] server /Users/akj/Documents/angular2/p3/angular2-webpack-starter
webpack-dev-server --inline --colors --display-error-details --display-cached --port 3000

http://localhost:3000/
webpack result is served from /build
content is served from src/public
404s will fallback to /index.html
ts-loader: Using [email protected] and /Users/akj/Documents/angular2/p3/angular2-webpack-starter/tsconfig.json
Hash: 735aec834c18a5d341da
Version: webpack 1.12.2
Time: 8074ms
Asset Size Chunks Chunk Names
common.js 4.96 kB 0 [emitted] common
angular2.js 2.16 MB 1, 0 [emitted] angular2
app.js 4.56 kB 2, 0 [emitted] app
common.js.map 4.42 kB 0 [emitted] common
angular2.js.map 2.6 MB 1, 0 [emitted] angular2
app.js.map 7.17 kB 2, 0 [emitted] app
chunk {0} common.js, common.js.map (common) 0 bytes [rendered]
chunk {1} angular2.js, angular2.js.map (angular2) 2.08 MB {0} [rendered]
[0] multi angular2 112 bytes {1} [built]
[1] .//angular2/src/core/facade/lang.js 13.2 kB {1} [built]
[2] ./
/angular2/src/core/facade/collection.js 11.7 kB {1} [built]
[3] .//angular2/src/core/di.js 2.1 kB {1} [built]
[4] ./
/angular2/src/core/facade/exceptions.js 3.06 kB {1} [built]
[5] .//@reactivex/rxjs/dist/cjs/Subscriber.js 5.46 kB {1} [built]
[6] ./
/@reactivex/rxjs/dist/cjs/util/errorObject.js 105 bytes {1} [built]
[7] .//@reactivex/rxjs/dist/cjs/util/tryCatch.js 461 bytes {1} [built]
[8] ./
/@reactivex/rxjs/dist/cjs/Observable.js 5.54 kB {1} [built]
[9] .//angular2/src/core/metadata.js 29.3 kB {1} [built]
[10] ./
/angular2/src/core/facade/async.js 4.43 kB {1} [built]
[11] .//angular2/angular2.js 288 bytes {1} [built]
[12] ./
/angular2/src/core/dom/dom_adapter.js 524 bytes {1} [built]
[13] .//@reactivex/rxjs/dist/cjs/Subscription.js 3.12 kB {1} [built]
[14] ./
/@reactivex/rxjs/dist/cjs/Subject.js 7.27 kB {1} [built]
[15] .//angular2/src/core/reflection/reflection.js 410 bytes {1} [built]
[16] ./
/@reactivex/rxjs/dist/cjs/schedulers/immediate.js 371 bytes {1} [built]
[17] .//@reactivex/rxjs/dist/cjs/OuterSubscriber.js 1.67 kB {1} [built]
[18] ./
/@reactivex/rxjs/dist/cjs/schedulers/nextTick.js 366 bytes {1} [built]
[19] .//@reactivex/rxjs/dist/cjs/util/subscribeToResult.js 3.29 kB {1} [built]
[20] ./
/angular2/src/core/change_detection/change_detection.js 3.68 kB {1} [built]
[21] .//angular2/src/core/forms/directives/shared.js 3.72 kB {1} [built]
[22] ./
/angular2/src/core/linker.js 1.3 kB {1} [built]
[23] .//@reactivex/rxjs/dist/cjs/observables/ArrayObservable.js 3.62 kB {1} [built]
[24] ./
/@reactivex/rxjs/dist/cjs/util/bindCallback.js 858 bytes {1} [built]
[25] .//angular2/src/core/compiler/util.js 3.68 kB {1} [built]
[26] ./
/angular2/src/core/linker/view_ref.js 5.63 kB {1} [built]
[27] .//angular2/src/core/render.js 429 bytes {1} [built]
[28] ./
/angular2/src/http/enums.js 1.93 kB {1} [built]
[29] .//zone.js/lib/utils.js 6.57 kB {1} [built]
[30] ./
/@reactivex/rxjs/dist/cjs/util/root.js 661 bytes {1} [built]
[31] .//angular2/src/core/change_detection/constants.js 2.37 kB {1} [built]
[32] ./
/angular2/src/core/forms/directives/control_value_accessor.js 253 bytes {1} [built]
[33] .//angular2/src/core/forms/validators.js 3.31 kB {1} [built]
[34] ./
/angular2/src/core/metadata/view.js 3.8 kB {1} [built]
[35] .//angular2/src/router/instruction.js 8.38 kB {1} [built]
[36] ./
/@reactivex/rxjs/dist/cjs/Notification.js 2.74 kB {1} [built]
[37] .//angular2/src/core/change_detection.js 810 bytes {1} [built]
[38] ./
/angular2/src/core/di/metadata.js 9.13 kB {1} [built]
[39] .//angular2/src/core/forms/directives/ng_control.js 1.53 kB {1} [built]
[40] ./
/angular2/src/core/linker/compiler.js 3.65 kB {1} [built]
[41] .//angular2/src/core/pipes/invalid_pipe_argument_exception.js 812 bytes {1} [built]
[42] ./
/angular2/src/core/profile/profile.js 2.86 kB {1} [built]
[43] .//angular2/src/core/render/api.js 4.15 kB {1} [built]
44-dev-server/
/socket.io-client//component-emitter/index.js 3 kB {1} [built]
45-dev-server/
/socket.io-client//engine.io-client//engine.io-parser/lib/browser.js 14.4 kB {1} [built]
[46] .//@reactivex/rxjs/dist/cjs/observables/EmptyObservable.js 1.86 kB {1} [built]
[47] ./
/@reactivex/rxjs/dist/cjs/operators/multicast.js 525 bytes {1} [built]
[48] .//@reactivex/rxjs/dist/cjs/util/EmptyError.js 428 bytes {1} [built]
[49] ./
/angular2/src/core/change_detection/change_detection_util.js 9.27 kB {1} [built]
[50] .//angular2/src/core/compiler/source_module.js 2.2 kB {1} [built]
[51] ./
/angular2/src/core/forms/directives/control_container.js 1.17 kB {1} [built]
[52] .//angular2/src/core/linker/interfaces.js 1.11 kB {1} [built]
[53] ./
/angular2/src/core/linker/view_manager.js 16.5 kB {1} [built]
[54] .//angular2/src/core/metadata/directives.js 31.6 kB {1} [built]
[55] ./
/angular2/src/core/util/decorators.js 8.53 kB {1} [built]
[56] .//angular2/src/router/location_strategy.js 1.07 kB {1} [built]
57-dev-server/
/socket.io-client//debug/debug.js 2.46 kB {1} [built]
[58] ./
/zone.js/lib/keys.js 544 bytes {1} [built]
[59] .//@reactivex/rxjs/dist/cjs/observables/ErrorObservable.js 2.02 kB {1} [built]
[60] ./
/@reactivex/rxjs/dist/cjs/observables/PromiseObservable.js 4.35 kB {1} [built]
[61] .//@reactivex/rxjs/dist/cjs/schedulers/ImmediateAction.js 2.28 kB {1} [built]
[62] ./
/@reactivex/rxjs/dist/cjs/util/Symbol_iterator.js 919 bytes {1} [built]
[63] .//angular2/src/core/application_tokens.js 1.67 kB {1} [built]
[64] ./
/angular2/src/core/change_detection/proto_record.js 2.87 kB {1} [built]
[65] .//angular2/src/core/compiler/directive_metadata.js 10.1 kB {1} [built]
[66] ./
/angular2/src/core/compiler/url_resolver.js 10.6 kB {1} [built]
[67] .//angular2/src/core/compiler/xhr.js 201 bytes {1} [built]
[68] ./
/angular2/src/core/di/provider.js 19.6 kB {1} [built]
[69] .//angular2/src/core/forms/directives/checkbox_value_accessor.js 2.88 kB {1} [built]
[70] ./
/angular2/src/core/forms/directives/default_value_accessor.js 3 kB {1} [built]
[71] .//angular2/src/core/forms/directives/select_control_value_accessor.js 4.04 kB {1} [built]
[72] ./
/angular2/src/core/forms/model.js 15.6 kB {1} [built]
[73] .//angular2/src/core/linker/directive_resolver.js 6.36 kB {1} [built]
[74] ./
/angular2/src/core/linker/dynamic_component_loader.js 6.41 kB {1} [built]
[75] .//angular2/src/core/linker/proto_view_factory.js 15.3 kB {1} [built]
[76] ./
/angular2/src/core/linker/template_commands.js 8.31 kB {1} [built]
[77] .//angular2/src/core/render/dom/events/event_manager.js 5.27 kB {1} [built]
[78] ./
/angular2/src/core/zone/ng_zone.js 13.2 kB {1} [built]
[79] .//angular2/src/http/base_response_options.js 6.71 kB {1} [built]
[80] ./
/angular2/src/http/headers.js 3.95 kB {1} [built]
[81] .//angular2/src/router/route_config_impl.js 6.08 kB {1} [built]
[82] ./
/angular2/src/router/router.js 20.9 kB {1} [built]
83-dev-server//socket.io-client//engine.io-client//component-inherit/index.js 146 bytes {1} [built]
84-dev-server/
/socket.io-client//engine.io-client//debug/browser.js 3.28 kB {1} [built]
[85] .//@reactivex/rxjs/dist/cjs/Rx.js 20.9 kB {1} [built]
[86] ./
/@reactivex/rxjs/dist/cjs/observables/ConnectableObservable.js 4.58 kB {1} [built]
[87] .//@reactivex/rxjs/dist/cjs/observables/ScalarObservable.js 4.9 kB {1} [built]
[88] ./
/@reactivex/rxjs/dist/cjs/operators/combineLatest-support.js 4.09 kB {1} [built]
[89] .//@reactivex/rxjs/dist/cjs/operators/concat-static.js 1.44 kB {1} [built]
[90] ./
/@reactivex/rxjs/dist/cjs/operators/distinctUntilChanged.js 3.04 kB {1} [built]
[91] .//@reactivex/rxjs/dist/cjs/operators/filter.js 2.98 kB {1} [built]
[92] ./
/@reactivex/rxjs/dist/cjs/operators/merge-static.js 1.43 kB {1} [built]
[93] .//@reactivex/rxjs/dist/cjs/operators/mergeAll-support.js 3 kB {1} [built]
[94] ./
/@reactivex/rxjs/dist/cjs/operators/mergeMapTo-support.js 4.79 kB {1} [built]
[95] .//@reactivex/rxjs/dist/cjs/operators/publish.js 551 bytes {1} [built]
[96] ./
/@reactivex/rxjs/dist/cjs/operators/publishReplay.js 825 bytes {1} [built]
[97] .//@reactivex/rxjs/dist/cjs/operators/zip-static.js 827 bytes {1} [built]
[98] ./
/@reactivex/rxjs/dist/cjs/subjects/BehaviorSubject.js 1.73 kB {1} [built]
[99] .//@reactivex/rxjs/dist/cjs/subjects/ReplaySubject.js 3.47 kB {1} [built]
[100] ./
/@reactivex/rxjs/dist/cjs/util/ArgumentOutOfRangeError.js 491 bytes {1} [built]
[101] .//@reactivex/rxjs/dist/cjs/util/Symbol_observable.js 468 bytes {1} [built]
[102] ./
/angular2/http.js 11.3 kB {1} [built]
[103] .//angular2/router.js 5.69 kB {1} [built]
[104] ./
/angular2/src/core/change_detection/directive_record.js 1.98 kB {1} [built]
[105] .//angular2/src/core/change_detection/interfaces.js 1.48 kB {1} [built]
[106] ./
/angular2/src/core/change_detection/parser/ast.js 15.9 kB {1} [built]
[107] .//angular2/src/core/compiler/app_root_url.js 1.44 kB {1} [built]
[108] ./
/angular2/src/core/compiler/command_compiler.js 18.9 kB {1} [built]
[109] .//angular2/src/core/compiler/html_ast.js 1.61 kB {1} [built]
[110] ./
/angular2/src/core/compiler/html_parser.js 5.45 kB {1} [built]
[111] .//angular2/src/core/compiler/schema/element_schema_registry.js 450 bytes {1} [built]
[112] ./
/angular2/src/core/compiler/style_compiler.js 7.67 kB {1} [built]
[113] .//angular2/src/core/compiler/style_url_resolver.js 1.83 kB {1} [built]
[114] ./
/angular2/src/core/compiler/template_ast.js 7.05 kB {1} [built]
[115] .//angular2/src/core/compiler/template_compiler.js 14.1 kB {1} [built]
[116] ./
/angular2/src/core/di/decorators.js 972 bytes {1} [built]
[117] .//angular2/src/core/di/exceptions.js 10.3 kB {1} [built]
[118] ./
/angular2/src/core/di/forward_ref.js 1.92 kB {1} [built]
[119] .//angular2/src/core/di/key.js 2.85 kB {1} [built]
[120] ./
/angular2/src/core/forms/directives/abstract_control_directive.js 2.21 kB {1} [built]
[121] .//angular2/src/core/forms/directives/ng_control_group.js 4.57 kB {1} [built]
[122] ./
/angular2/src/core/forms/directives/ng_control_name.js 6.36 kB {1} [built]
[123] .//angular2/src/core/forms/directives/ng_control_status.js 3.64 kB {1} [built]
[124] ./
/angular2/src/core/forms/directives/ng_form.js 7.45 kB {1} [built]
[125] .//angular2/src/core/forms/directives/ng_form_control.js 5.51 kB {1} [built]
[126] ./
/angular2/src/core/forms/directives/ng_form_model.js 6.36 kB {1} [built]
[127] .//angular2/src/core/forms/directives/ng_model.js 4.71 kB {1} [built]
[128] ./
/angular2/src/core/forms/directives/validators.js 3.79 kB {1} [built]
[129] .//angular2/src/core/linker/element_ref.js 3.32 kB {1} [built]
[130] ./
/angular2/src/core/linker/template_ref.js 2.24 kB {1} [built]
[131] .//angular2/src/core/linker/view.js 14.9 kB {1} [built]
[132] ./
/angular2/src/core/linker/view_container_ref.js 5.21 kB {1} [built]
[133] .//angular2/src/core/linker/view_listener.js 1.36 kB {1} [built]
[134] ./
/angular2/src/core/linker/view_resolver.js 5.12 kB {1} [built]
[135] .//angular2/src/core/metadata/di.js 14 kB {1} [built]
[136] ./
/angular2/src/core/pipes.js 1.17 kB {1} [built]
[137] .//angular2/src/core/render/dom/dom_tokens.js 524 bytes {1} [built]
[138] ./
/angular2/src/core/render/dom/shared_styles_host.js 3.88 kB {1} [built]
[139] .//angular2/src/core/render/dom/util.js 612 bytes {1} [built]
[140] ./
/angular2/src/core/testability/testability.js 6.11 kB {1} [built]
[141] .//angular2/src/http/backends/browser_xhr.js 1.29 kB {1} [built]
[142] ./
/angular2/src/http/base_request_options.js 6.96 kB {1} [built]
[143] .//angular2/src/http/http_utils.js 843 bytes {1} [built]
[144] ./
/angular2/src/http/interfaces.js 613 bytes {1} [built]
[145] .//angular2/src/http/static_request.js 3.15 kB {1} [built]
[146] ./
/angular2/src/http/static_response.js 2.41 kB {1} [built]
[147] .//angular2/src/router/lifecycle_annotations_impl.js 1.94 kB {1} [built]
[148] ./
/angular2/src/router/location.js 7.07 kB {1} [built]
[149] .//angular2/src/router/url_parser.js 7.84 kB {1} [built]
150-dev-server/
/socket.io-client//engine.io-client/lib/transport.js 2.74 kB {1} [built]
151-dev-server/
/socket.io-client//engine.io-client/lib/xmlhttprequest.js 1.16 kB {1} [built]
152-dev-server/
/socket.io-client//engine.io-client//parseqs/index.js 708 bytes {1} [built]
153-dev-server//socket.io-client//socket.io-parser/index.js 7.63 kB {1} [built]
154/buildin/module.js 251 bytes {1} [built]
155//node-libs-browser//timers-browserify/main.js 2.1 kB {1} [built]
[156] .//@reactivex/rxjs/dist/cjs/observables/DeferObservable.js 1.95 kB {1} [built]
[157] ./
/@reactivex/rxjs/dist/cjs/observables/ForkJoinObservable.js 3.06 kB {1} [built]
[158] .//@reactivex/rxjs/dist/cjs/observables/FromEventObservable.js 3.92 kB {1} [built]
[159] ./
/@reactivex/rxjs/dist/cjs/observables/FromEventPatternObservable.js 2.89 kB {1} [built]
[160] .//@reactivex/rxjs/dist/cjs/observables/FromObservable.js 3.68 kB {1} [built]
[161] ./
/@reactivex/rxjs/dist/cjs/observables/InfiniteObservable.js 1.45 kB {1} [built]
[162] .//@reactivex/rxjs/dist/cjs/observables/IntervalObservable.js 3.07 kB {1} [built]
[163] ./
/@reactivex/rxjs/dist/cjs/observables/RangeObservable.js 2.81 kB {1} [built]
[164] .//@reactivex/rxjs/dist/cjs/observables/TimerObservable.js 3.37 kB {1} [built]
[165] ./
/@reactivex/rxjs/dist/cjs/operators/buffer.js 3.58 kB {1} [built]
[166] .//@reactivex/rxjs/dist/cjs/operators/bufferCount.js 4.21 kB {1} [built]
[167] ./
/@reactivex/rxjs/dist/cjs/operators/bufferTime.js 5.91 kB {1} [built]
[168] .//@reactivex/rxjs/dist/cjs/operators/bufferToggle.js 6.38 kB {1} [built]
[169] ./
/@reactivex/rxjs/dist/cjs/operators/bufferWhen.js 4.48 kB {1} [built]
[170] .//@reactivex/rxjs/dist/cjs/operators/catch.js 2.96 kB {1} [built]
[171] ./
/@reactivex/rxjs/dist/cjs/operators/combineAll.js 1.31 kB {1} [built]
[172] .//@reactivex/rxjs/dist/cjs/operators/combineLatest-static.js 1.9 kB {1} [built]
[173] ./
/@reactivex/rxjs/dist/cjs/operators/combineLatest.js 1.82 kB {1} [built]
[174] .//@reactivex/rxjs/dist/cjs/operators/concat.js 1.28 kB {1} [built]
[175] ./
/@reactivex/rxjs/dist/cjs/operators/concatAll.js 848 bytes {1} [built]
[176] .//@reactivex/rxjs/dist/cjs/operators/concatMap.js 1.57 kB {1} [built]
[177] ./
/@reactivex/rxjs/dist/cjs/operators/concatMapTo.js 1.15 kB {1} [built]
[178] .//@reactivex/rxjs/dist/cjs/operators/count.js 3.85 kB {1} [built]
[179] ./
/@reactivex/rxjs/dist/cjs/operators/debounce.js 5.49 kB {1} [built]
[180] .//@reactivex/rxjs/dist/cjs/operators/debounceTime.js 3.32 kB {1} [built]
[181] ./
/@reactivex/rxjs/dist/cjs/operators/defaultIfEmpty.js 2.34 kB {1} [built]
[182] .//@reactivex/rxjs/dist/cjs/operators/delay.js 4.36 kB {1} [built]
[183] ./
/@reactivex/rxjs/dist/cjs/operators/dematerialize.js 1.82 kB {1} [built]
[184] .//@reactivex/rxjs/dist/cjs/operators/do.js 3.43 kB {1} [built]
[185] ./
/@reactivex/rxjs/dist/cjs/operators/every.js 4.7 kB {1} [built]
[186] .//@reactivex/rxjs/dist/cjs/operators/expand.js 384 bytes {1} [built]
[187] ./
/@reactivex/rxjs/dist/cjs/operators/extended/find-support.js 3.36 kB {1} [built]
[188] .//@reactivex/rxjs/dist/cjs/operators/finally.js 2.14 kB {1} [built]
[189] ./
/@reactivex/rxjs/dist/cjs/operators/first.js 3.89 kB {1} [built]
[190] .//@reactivex/rxjs/dist/cjs/operators/groupBy.js 6.74 kB {1} [built]
[191] ./
/@reactivex/rxjs/dist/cjs/operators/ignoreElements.js 1.78 kB {1} [built]
[192] .//@reactivex/rxjs/dist/cjs/operators/last.js 4 kB {1} [built]
[193] ./
/@reactivex/rxjs/dist/cjs/operators/map.js 2.78 kB {1} [built]
[194] .//@reactivex/rxjs/dist/cjs/operators/mapTo.js 2.01 kB {1} [built]
[195] ./
/@reactivex/rxjs/dist/cjs/operators/materialize.js 2.39 kB {1} [built]
[196] .//@reactivex/rxjs/dist/cjs/operators/merge.js 577 bytes {1} [built]
[197] ./
/@reactivex/rxjs/dist/cjs/operators/mergeAll.js 380 bytes {1} [built]
[198] .//@reactivex/rxjs/dist/cjs/operators/mergeMap-support.js 4.64 kB {1} [built]
[199] ./
/@reactivex/rxjs/dist/cjs/operators/mergeMap.js 428 bytes {1} [built]
[200] .//@reactivex/rxjs/dist/cjs/operators/mergeMapTo.js 446 bytes {1} [built]
[201] ./
/@reactivex/rxjs/dist/cjs/operators/observeOn-support.js 3.21 kB {1} [built]
[202] .//@reactivex/rxjs/dist/cjs/operators/observeOn.js 373 bytes {1} [built]
[203] ./
/@reactivex/rxjs/dist/cjs/operators/partition.js 560 bytes {1} [built]
[204] .//@reactivex/rxjs/dist/cjs/operators/publishBehavior.js 636 bytes {1} [built]
[205] ./
/@reactivex/rxjs/dist/cjs/operators/reduce.js 2.76 kB {1} [built]
[206] .//@reactivex/rxjs/dist/cjs/operators/repeat.js 2.18 kB {1} [built]
[207] ./
/@reactivex/rxjs/dist/cjs/operators/retry.js 2.28 kB {1} [built]
[208] .//@reactivex/rxjs/dist/cjs/operators/retryWhen.js 3.73 kB {1} [built]
[209] ./
/@reactivex/rxjs/dist/cjs/operators/sample.js 2.83 kB {1} [built]
[210] .//@reactivex/rxjs/dist/cjs/operators/sampleTime.js 2.75 kB {1} [built]
[211] ./
/@reactivex/rxjs/dist/cjs/operators/scan.js 2.77 kB {1} [built]
[212] .//@reactivex/rxjs/dist/cjs/operators/share.js 374 bytes {1} [built]
[213] ./
/@reactivex/rxjs/dist/cjs/operators/shareReplay.js 629 bytes {1} [built]
[214] .//@reactivex/rxjs/dist/cjs/operators/single.js 3.72 kB {1} [built]
[215] ./
/@reactivex/rxjs/dist/cjs/operators/skip.js 1.85 kB {1} [built]
[216] .//@reactivex/rxjs/dist/cjs/operators/skipUntil.js 3.14 kB {1} [built]
[217] ./
/@reactivex/rxjs/dist/cjs/operators/startWith.js 1.59 kB {1} [built]
[218] .//@reactivex/rxjs/dist/cjs/operators/subscribeOn.js 615 bytes {1} [built]
[219] ./
/@reactivex/rxjs/dist/cjs/operators/switch.js 3.09 kB {1} [built]
[220] .//@reactivex/rxjs/dist/cjs/operators/switchMap.js 4.41 kB {1} [built]
[221] ./
/@reactivex/rxjs/dist/cjs/operators/switchMapTo.js 1.84 kB {1} [built]
[222] .//@reactivex/rxjs/dist/cjs/operators/take.js 1.98 kB {1} [built]
[223] ./
/@reactivex/rxjs/dist/cjs/operators/takeUntil.js 2.48 kB {1} [built]
[224] .//@reactivex/rxjs/dist/cjs/operators/throttle.js 2.87 kB {1} [built]
[225] ./
/@reactivex/rxjs/dist/cjs/operators/timeout.js 4.94 kB {1} [built]
[226] .//@reactivex/rxjs/dist/cjs/operators/timeoutWith.js 5.55 kB {1} [built]
[227] ./
/@reactivex/rxjs/dist/cjs/operators/toArray.js 1.9 kB {1} [built]
[228] .//@reactivex/rxjs/dist/cjs/operators/toPromise.js 881 bytes {1} [built]
[229] ./
/@reactivex/rxjs/dist/cjs/operators/window.js 3.44 kB {1} [built]
[230] .//@reactivex/rxjs/dist/cjs/operators/windowCount.js 3.49 kB {1} [built]
[231] ./
/@reactivex/rxjs/dist/cjs/operators/windowTime.js 5.87 kB {1} [built]
[232] .//@reactivex/rxjs/dist/cjs/operators/windowToggle.js 5.91 kB {1} [built]
[233] ./
/@reactivex/rxjs/dist/cjs/operators/windowWhen.js 4.33 kB {1} [built]
[234] .//@reactivex/rxjs/dist/cjs/operators/withLatestFrom.js 5.04 kB {1} [built]
[235] ./
/@reactivex/rxjs/dist/cjs/operators/zip-support.js 8.71 kB {1} [built]
[236] .//@reactivex/rxjs/dist/cjs/operators/zip.js 573 bytes {1} [built]
[237] ./
/@reactivex/rxjs/dist/cjs/operators/zipAll.js 243 bytes {1} [built]
[238] .//@reactivex/rxjs/dist/cjs/schedulers/ImmediateScheduler.js 1.89 kB {1} [built]
[239] ./
/@reactivex/rxjs/dist/cjs/schedulers/VirtualTimeScheduler.js 4.77 kB {1} [built]
[240] .//@reactivex/rxjs/dist/cjs/testing/SubscriptionLog.js 603 bytes {1} [built]
[241] ./
/@reactivex/rxjs/dist/cjs/testing/SubscriptionLoggable.js 1.28 kB {1} [built]
[242] .//@reactivex/rxjs/dist/cjs/util/applyMixins.js 531 bytes {1} [built]
[243] ./
/@reactivex/rxjs/dist/cjs/util/isDate.js 188 bytes {1} [built]
[244] .//@reactivex/rxjs/dist/cjs/util/isNumeric.js 506 bytes {1} [built]
[245] ./
/@reactivex/rxjs/dist/cjs/util/noop.js 126 bytes {1} [built]
[246] .//angular2/core.js 909 bytes {1} [built]
[247] ./
/angular2/src/animate/animation_builder.js 1.69 kB {1} [built]
[248] .//angular2/src/animate/browser_details.js 3.42 kB {1} [built]
[249] ./
/angular2/src/core/application.js 1.36 kB {1} [built]
[250] .//angular2/src/core/application_common.js 9.52 kB {1} [built]
[251] ./
/angular2/src/core/application_ref.js 14.2 kB {1} [built]
[252] .//angular2/src/core/bootstrap.js 291 bytes {1} [built]
[253] ./
/angular2/src/core/change_detection/abstract_change_detector.js 14.1 kB {1} [built]
[254] .//angular2/src/core/change_detection/binding_record.js 6.39 kB {1} [built]
[255] ./
/angular2/src/core/change_detection/change_detection_jit_generator.js 18.2 kB {1} [built]
[256] .//angular2/src/core/change_detection/change_detector_ref.js 1.32 kB {1} [built]
[257] ./
/angular2/src/core/change_detection/codegen_facade.js 658 bytes {1} [built]
[258] .//angular2/src/core/change_detection/differs/iterable_differs.js 3.94 kB {1} [built]
[259] ./
/angular2/src/core/change_detection/differs/keyvalue_differs.js 3.92 kB {1} [built]
[260] .//angular2/src/core/change_detection/dynamic_change_detector.js 19.1 kB {1} [built]
[261] ./
/angular2/src/core/change_detection/exceptions.js 3.57 kB {1} [built]
[262] .//angular2/src/core/change_detection/parser/lexer.js 16.9 kB {1} [built]
[263] ./
/angular2/src/core/change_detection/proto_change_detector.js 19.6 kB {1} [built]
[264] .//angular2/src/core/compiler/change_detector_compiler.js 5.15 kB {1} [built]
[265] ./
/angular2/src/core/compiler/runtime_compiler.js 2.68 kB {1} [built]
[266] .//angular2/src/core/compiler/runtime_metadata.js 6.27 kB {1} [built]
[267] ./
/angular2/src/core/compiler/selector.js 15.7 kB {1} [built]
[268] .//angular2/src/core/compiler/template_normalizer.js 6.5 kB {1} [built]
[269] ./
/angular2/src/core/compiler/template_parser.js 32 kB {1} [built]
[270] .//angular2/src/core/compiler/template_preparser.js 2.78 kB {1} [built]
[271] ./
/angular2/src/core/compiler/xhr_impl.js 2.05 kB {1} [built]
[272] .//angular2/src/core/debug/debug_element.js 9.25 kB {1} [built]
[273] ./
/angular2/src/core/di/injector.js 37.2 kB {1} [built]
[274] .//angular2/src/core/di/type_literal.js 525 bytes {1} [built]
[275] ./
/angular2/src/core/directives/ng_class.js 7.57 kB {1} [built]
[276] .//angular2/src/core/directives/ng_for.js 6.73 kB {1} [built]
[277] ./
/angular2/src/core/directives/ng_if.js 2.84 kB {1} [built]
[278] .//angular2/src/core/directives/ng_style.js 4.55 kB {1} [built]
[279] ./
/angular2/src/core/directives/ng_switch.js 8.57 kB {1} [built]
[280] .//angular2/src/core/facade/exception_handler.js 5.6 kB {1} [built]
[281] ./
/angular2/src/core/facade/intl.js 3.96 kB {1} [built]
[282] .//angular2/src/core/facade/math.js 172 bytes {1} [built]
[283] ./
/angular2/src/core/facade/promise.js 1.58 kB {1} [built]
[284] .//angular2/src/core/forms.js 3.62 kB {1} [built]
[285] ./
/angular2/src/core/forms/directives/number_value_accessor.js 3.02 kB {1} [built]
[286] .//angular2/src/core/forms/form_builder.js 5.4 kB {1} [built]
[287] ./
/angular2/src/core/life_cycle/life_cycle.js 4.16 kB {1} [built]
[288] .//angular2/src/core/linker/directive_lifecycle_reflector.js 1.23 kB {1} [built]
[289] ./
/angular2/src/core/linker/element_injector.js 46.8 kB {1} [built]
[290] .//angular2/src/core/linker/pipe_resolver.js 2.21 kB {1} [built]
[291] ./
/angular2/src/core/linker/query_list.js 3.13 kB {1} [built]
[292] .//angular2/src/core/linker/view_manager_utils.js 14.3 kB {1} [built]
[293] ./
/angular2/src/core/linker/view_pool.js 2.61 kB {1} [built]
[294] .//angular2/src/core/pipes/async_pipe.js 5.7 kB {1} [built]
[295] ./
/angular2/src/core/pipes/date_pipe.js 6.05 kB {1} [built]
[296] .//angular2/src/core/pipes/json_pipe.js 1.83 kB {1} [built]
[297] ./
/angular2/src/core/pipes/lowercase_pipe.js 2.15 kB {1} [built]
[298] .//angular2/src/core/pipes/number_pipe.js 7.68 kB {1} [built]
[299] ./
/angular2/src/core/pipes/pipe_provider.js 1.11 kB {1} [built]
[300] .//angular2/src/core/pipes/pipes.js 1.81 kB {1} [built]
[301] ./
/angular2/src/core/pipes/slice_pipe.js 4.49 kB {1} [built]
[302] .//angular2/src/core/pipes/uppercase_pipe.js 2.15 kB {1} [built]
[303] ./
/angular2/src/core/reflection/reflector.js 5.88 kB {1} [built]
[304] .//angular2/src/core/render/render.js 415 bytes {1} [built]
[305] ./
/angular2/src/core/render/view.js 3.42 kB {1} [built]
[306] .//angular2/src/http/backends/browser_jsonp.js 2.66 kB {1} [built]
[307] ./
/angular2/src/http/backends/jsonp_backend.js 6.45 kB {1} [built]
[308] .//angular2/src/http/backends/xhr_backend.js 5.91 kB {1} [built]
[309] ./
/angular2/src/http/http.js 9.07 kB {1} [built]
[310] .//angular2/src/http/url_search_params.js 5.25 kB {1} [built]
[311] ./
/angular2/src/router/lifecycle_annotations.js 2.13 kB {1} [built]
[312] .//angular2/src/router/path_location_strategy.js 4.05 kB {1} [built]
[313] ./
/angular2/src/router/route_config_decorator.js 529 bytes {1} [built]
[314] .//angular2/src/router/route_data.js 237 bytes {1} [built]
[315] ./
/angular2/src/router/route_lifecycle_reflector.js 862 bytes {1} [built]
[316] .//angular2/src/router/route_registry.js 13.5 kB {1} [built]
[317] ./
/angular2/src/router/router_link.js 3.72 kB {1} [built]
[318] .//angular2/src/router/router_outlet.js 8.07 kB {1} [built]
319-dev-server/client?http://localhost:3000 2.14 kB {1} [built]
320-dev-server/
/socket.io-client/lib/manager.js 11 kB {1} [built]
321-dev-server//socket.io-client/lib/on.js 370 bytes {1} [built]
322-dev-server/
/socket.io-client/lib/socket.js 6.99 kB {1} [built]
323-dev-server//socket.io-client/lib/url.js 1.53 kB {1} [built]
324-dev-server/
/socket.io-client//component-bind/index.js 474 bytes {1} [built]
325-dev-server/
/socket.io-client//engine.io-client/lib/transports/index.js 1.08 kB {1} [built]
326-dev-server/
/socket.io-client//engine.io-client/lib/transports/polling.js 4.85 kB {1} [built]
327-dev-server/
/socket.io-client//has-binary/index.js 1.08 kB {1} [built]
328-dev-server/
/socket.io-client//indexof/index.js 199 bytes {1} [built]
329-dev-server/
/socket.io-client//socket.io-parser/is-buffer.js 252 bytes {1} [built]
330-dev-server/
/socket.io-client//socket.io-parser//isarray/index.js 120 bytes {1} [built]
[331] .//zone.js/lib/patch/define-property.js 1.93 kB {1} [built]
[332] ./
/zone.js/lib/patch/promise.js 2.82 kB {1} [built]
[333] .//zone.js/lib/patch/websocket.js 1.09 kB {1} [built]
[334] ./
/@reactivex/rxjs/dist/cjs/InnerSubscriber.js 1.82 kB {1} [built]
[335] .//@reactivex/rxjs/dist/cjs/Rx.KitchenSink.js 22.8 kB {1} [built]
[336] ./
/@reactivex/rxjs/dist/cjs/observables/IteratorObservable.js 7.47 kB {1} [built]
[337] .//@reactivex/rxjs/dist/cjs/observables/SubscribeOnObservable.js 2.63 kB {1} [built]
[338] ./
/@reactivex/rxjs/dist/cjs/operators/expand-support.js 4 kB {1} [built]
[339] .//@reactivex/rxjs/dist/cjs/operators/extended/distinctUntilKeyChanged.js 634 bytes {1} [built]
[340] ./
/@reactivex/rxjs/dist/cjs/operators/extended/elementAt.js 2.8 kB {1} [built]
[341] .//@reactivex/rxjs/dist/cjs/operators/extended/find.js 283 bytes {1} [built]
[342] ./
/@reactivex/rxjs/dist/cjs/operators/extended/findIndex.js 292 bytes {1} [built]
[343] .//@reactivex/rxjs/dist/cjs/operators/extended/isEmpty.js 2.04 kB {1} [built]
[344] ./
/@reactivex/rxjs/dist/cjs/operators/extended/timeInterval.js 2.55 kB {1} [built]
[345] .//@reactivex/rxjs/dist/cjs/operators/groupBy-support.js 3.79 kB {1} [built]
[346] ./
/@reactivex/rxjs/dist/cjs/schedulers/FutureAction.js 2.29 kB {1} [built]
[347] .//@reactivex/rxjs/dist/cjs/schedulers/NextTickAction.js 2.41 kB {1} [built]
[348] ./
/@reactivex/rxjs/dist/cjs/schedulers/NextTickScheduler.js 1.8 kB {1} [built]
[349] .//@reactivex/rxjs/dist/cjs/subjects/SubjectSubscription.js 2.18 kB {1} [built]
[350] ./
/@reactivex/rxjs/dist/cjs/testing/ColdObservable.js 2.72 kB {1} [built]
[351] .//@reactivex/rxjs/dist/cjs/testing/HotObservable.js 2.63 kB {1} [built]
[352] ./
/@reactivex/rxjs/dist/cjs/testing/TestScheduler.js 10.7 kB {1} [built]
[353] .//@reactivex/rxjs/dist/cjs/util/FastMap.js 1.14 kB {1} [built]
[354] ./
/@reactivex/rxjs/dist/cjs/util/Immediate.js 7.4 kB {1} [built]
[355] .//@reactivex/rxjs/dist/cjs/util/Map.js 1.18 kB {1} [built]
[356] ./
/@reactivex/rxjs/dist/cjs/util/not.js 309 bytes {1} [built]
[357] .//@reactivex/rxjs/dist/cjs/util/throwError.js 151 bytes {1} [built]
[358] ./
/@reactivex/rxjs/dist/cjs/util/tryOrOnError.js 365 bytes {1} [built]
[359] .//@reactivex/rxjs/index.js 55 bytes {1} [built]
[360] ./
/angular2/bootstrap.js 286 bytes {1} [built]
[361] .//angular2/lifecycle_hooks.js 214 bytes {1} [built]
[362] ./
/angular2/profile.js 308 bytes {1} [built]
[363] .//angular2/render.js 380 bytes {1} [built]
[364] ./
/angular2/src/animate/animation.js 7.72 kB {1} [built]
[365] .//angular2/src/animate/css_animation_builder.js 2.86 kB {1} [built]
[366] ./
/angular2/src/animate/css_animation_options.js 523 bytes {1} [built]
[367] .//angular2/src/core/change_detection/coalesce.js 3.34 kB {1} [built]
[368] ./
/angular2/src/core/change_detection/codegen_logic_util.js 9.51 kB {1} [built]
[369] .//angular2/src/core/change_detection/codegen_name_util.js 8.34 kB {1} [built]
[370] ./
/angular2/src/core/change_detection/differs/default_iterable_differ.js 24.6 kB {1} [built]
[371] .//angular2/src/core/change_detection/differs/default_keyvalue_differ.js 14.6 kB {1} [built]
[372] ./
/angular2/src/core/change_detection/event_binding.js 373 bytes {1} [built]
[373] .//angular2/src/core/change_detection/jit_proto_change_detector.js 884 bytes {1} [built]
[374] ./
/angular2/src/core/change_detection/observable_facade.js 150 bytes {1} [built]
[375] .//angular2/src/core/change_detection/parser/locals.js 1.63 kB {1} [built]
[376] ./
/angular2/src/core/change_detection/parser/parser.js 27.7 kB {1} [built]
[377] .//angular2/src/core/change_detection/pipe_lifecycle_reflector.js 208 bytes {1} [built]
[378] ./
/angular2/src/core/change_detection/pipes.js 254 bytes {1} [built]
[379] .//angular2/src/core/compiler/anchor_based_app_root_url.js 2.09 kB {1} [built]
[380] ./
/angular2/src/core/compiler/change_definition_factory.js 9.37 kB {1} [built]
[381] .//angular2/src/core/compiler/compiler.js 3.65 kB {1} [built]
[382] ./
/angular2/src/core/compiler/schema/dom_element_schema_registry.js 3.03 kB {1} [built]
[383] .//angular2/src/core/compiler/shadow_css.js 21.3 kB {1} [built]
[384] ./
/angular2/src/core/debug.js 698 bytes {1} [built]
[385] .//angular2/src/core/debug/debug_element_view_listener.js 3.79 kB {1} [built]
[386] ./
/angular2/src/core/di/opaque_token.js 1.96 kB {1} [built]
[387] .//angular2/src/core/directives.js 2.52 kB {1} [built]
[388] ./
/angular2/src/core/directives/observable_list_diff.js 94 bytes {1} [built]
[389] .//angular2/src/core/dom/browser_adapter.js 19 kB {1} [built]
[390] ./
/angular2/src/core/dom/generic_browser_adapter.js 4.61 kB {1} [built]
[391] .//angular2/src/core/facade.js 383 bytes {1} [built]
[392] ./
/angular2/src/core/forms/directives.js 3.68 kB {1} [built]
[393] .//angular2/src/core/lifecycle.js 180 bytes {1} [built]
[394] ./
/angular2/src/core/linker/element_binder.js 819 bytes {1} [built]
[395] .//angular2/src/core/linker/event_config.js 1.24 kB {1} [built]
[396] ./
/angular2/src/core/pipes/default_pipes.js 1.03 kB {1} [built]
[397] .//angular2/src/core/platform_bindings.js 481 bytes {1} [built]
[398] ./
/angular2/src/core/profile/wtf_impl.js 940 bytes {1} [built]
[399] .//angular2/src/core/profile/wtf_init.js 172 bytes {1} [built]
[400] ./
/angular2/src/core/reflection/reflection_capabilities.js 9 kB {1} [built]
[401] .//angular2/src/core/render/dom/dom_renderer.js 14.4 kB {1} [built]
[402] ./
/angular2/src/core/render/dom/events/hammer_common.js 1.74 kB {1} [built]
[403] .//angular2/src/core/render/dom/events/hammer_gestures.js 2.73 kB {1} [built]
[404] ./
/angular2/src/core/render/dom/events/key_events.js 5.43 kB {1} [built]
[405] .//angular2/src/core/render/view_factory.js 10 kB {1} [built]
[406] ./
/angular2/src/core/services.js 417 bytes {1} [built]
[407] .//angular2/src/core/services/title.js 996 bytes {1} [built]
[408] ./
/angular2/src/core/testability/browser_testability.js 1.99 kB {1} [built]
[409] .//angular2/src/core/util.js 156 bytes {1} [built]
[410] ./
/angular2/src/core/zone.js 149 bytes {1} [built]
[411] .//angular2/src/http/backends/mock_backend.js 6.7 kB {1} [built]
[412] ./
/angular2/src/router/async_route_handler.js 831 bytes {1} [built]
[413] .//angular2/src/router/hash_location_strategy.js 3.98 kB {1} [built]
[414] ./
/angular2/src/router/path_recognizer.js 11.3 kB {1} [built]
[415] .//angular2/src/router/route_config_nomalizer.js 2.53 kB {1} [built]
[416] ./
/angular2/src/router/route_definition.js 57 bytes {1} [built]
[417] .//angular2/src/router/route_recognizer.js 6.03 kB {1} [built]
[418] ./
/angular2/src/router/sync_route_handler.js 625 bytes {1} [built]
[419] .//angular2/src/transform/template_compiler/change_detector_codegen.js 662 bytes {1} [built]
[420] ./
/reflect-metadata/Reflect.js 37.7 kB {1} [built]
423-dev-server//socket.io-client/index.js 37 bytes {1} [built]
424-dev-server/
/socket.io-client/lib/index.js 1.5 kB {1} [built]
425-dev-server//socket.io-client//backo2/index.js 1.4 kB {1} [built]
426-dev-server//socket.io-client//engine.io-client/index.js 38 bytes {1} [built]
427-dev-server//socket.io-client//engine.io-client/lib/index.js 140 bytes {1} [built]
428-dev-server//socket.io-client//engine.io-client/lib/socket.js 16.9 kB {1} [built]
429-dev-server//socket.io-client//engine.io-client/lib/transports/polling-jsonp.js 4.82 kB {1} [built]
430-dev-server//socket.io-client//engine.io-client/lib/transports/polling-xhr.js 7.92 kB {1} [built]
431-dev-server//socket.io-client//engine.io-client/lib/transports/websocket.js 4.57 kB {1} [built]
432-dev-server//socket.io-client//engine.io-client//debug/debug.js 4.1 kB {1} [built]
433-dev-server/
/socket.io-client//engine.io-client//debug//ms/index.js 2.02 kB {1} [built]
434-dev-server/
/socket.io-client//engine.io-client//engine.io-parser/lib/keys.js 297 bytes {1} [built]
435-dev-server//socket.io-client//engine.io-client//engine.io-parser//after/index.js 685 bytes {1} [built]
436-dev-server//socket.io-client//engine.io-client//engine.io-parser//arraybuffer.slice/index.js 725 bytes {1} [built]
437-dev-server//socket.io-client//engine.io-client//engine.io-parser//base64-arraybuffer/lib/base64-arraybuffer.js 1.7 kB {1} [built]
438-dev-server//socket.io-client//engine.io-client//engine.io-parser//blob/index.js 2.2 kB {1} [built]
439-dev-server//socket.io-client//engine.io-client//engine.io-parser//utf8/utf8.js 6.38 kB {1} [built]
440-dev-server//socket.io-client//engine.io-client//has-cors/index.js 458 bytes {1} [built]
441-dev-server/
/socket.io-client//engine.io-client//has-cors//global/index.js 257 bytes {1} [built]
442-dev-server/
/socket.io-client//engine.io-client//parsejson/index.js 842 bytes {1} [built]
443-dev-server//socket.io-client//engine.io-client//parseuri/index.js 1.19 kB {1} [built]
444-dev-server/
/socket.io-client//engine.io-client//ws/lib/browser.js 831 bytes {1} [built]
445-dev-server//socket.io-client//has-binary//isarray/index.js 120 bytes {1} [built]
446-dev-server/
/socket.io-client//object-component/index.js 1.18 kB {1} [built]
447-dev-server/
/socket.io-client//parseuri/index.js 690 bytes {1} [built]
448-dev-server/
/socket.io-client//socket.io-parser/binary.js 3.84 kB {1} [built]
449-dev-server/
/socket.io-client//socket.io-parser//json3/lib/json3.js 40.1 kB {1} [built]
450-dev-server//socket.io-client//to-array/index.js 216 bytes {1} [built]
451-dev-server//strip-ansi/index.js 161 bytes {1} [built]
452-dev-server/
/strip-ansi//ansi-regex/index.js 135 bytes {1} [built]
453/buildin/amd-options.js 43 bytes {1} [built]
454/
/node-libs-browser//process/browser.js 2.06 kB {1} [built]
455/
/node-libs-browser//punycode/punycode.js 14.6 kB {1} [built]
456/
/node-libs-browser//url//querystring/decode.js 2.4 kB {1} [built]
457//node-libs-browser//url//querystring/encode.js 2.09 kB {1} [built]
458/
/node-libs-browser//url//querystring/index.js 127 bytes {1} [built]
459//node-libs-browser//url/url.js 22.3 kB {1} [built]
[460] .//zone.js/lib/core.js 3.77 kB {1} [built]
[461] ./
/zone.js/lib/patch/browser.js 1.23 kB {1} [built]
[462] .//zone.js/lib/patch/event-target.js 1.51 kB {1} [built]
[463] ./
/zone.js/lib/patch/file-reader.js 141 bytes {1} [built]
[464] .//zone.js/lib/patch/functions.js 3 kB {1} [built]
[465] ./
/zone.js/lib/patch/geolocation.js 284 bytes {1} [built]
[466] .//zone.js/lib/patch/mutation-observer.js 2.08 kB {1} [built]
[467] ./
/zone.js/lib/patch/property-descriptor.js 2.98 kB {1} [built]
[468] .//zone.js/lib/patch/register-element.js 1.24 kB {1} [built]
[469] ./
/zone.js/lib/zone.js 210 bytes {1} [built]
chunk {2} app.js, app.js.map (app) 4.17 kB {1} [rendered]
[0] multi app 40 bytes {2} [built]
[421] ./src/app/app.ts 3.76 kB {2} [built] [1 error]
[422] ./src/app/bootstrap.ts 374 bytes {2} [built] [1 error]

ERROR in ./src/app/bootstrap.ts
(8,9): error TS2305: Module '"angular2/http"' has no exported member 'HTTP_PROVIDERS'.

ERROR in ./src/app/app.ts
(98,26): error TS2346: Supplied parameters do not match any signature of call target.

npm list gives

quad:angular2-webpack-starter akj$ npm list
[email protected] /Users/akj/Documents/angular2/p3/angular2-webpack-starter
├── @reactivex/[email protected]
├─┬ [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
....

Help with establishing workflow: WebPack, TS, LESS, Mocks, config.json

@gdi2290 , with regards to our discussion on gitter, Can you help me establish the following workflow using this project structure?

Deployment

  • Deploy 1 or more bundles to CDN
  • Deploy index.html and config.json to server.

Bundles are packaged dependencies:

  • Typescript with classes and imports transpiled to ES5, minified and obfuscated.
  • LESS with @imports transpiled to CSS and minified
  • vendor minified js and css.
  • images (png,gif,jpg…) minified.
  • fonts and svg

Build conditional resources:

  • if(MOCKS) then load local mock service definitions (using E2E_Mock ) and json mock data files

Server configuration file (config.json)

  • Compile config.json file for target server
    • modify target service urls specific to deployment server.
      • Compile to a tmp folder for access during local testing.
      • copy to dist folder on production build.
    • how to load asynchronously outside of the bundle.

Dev Workflow:

  • compile config.json to temp folder
  • start webpack-dev-server
  • load app in browser
  • On change to ts or less files
    • Run lint on source file
    • re-transpile that file and reload into dev-server cache
    • include sourcemaps for debugging

Ready to commit:

  • Run karma tests against PhantomJS with code coverage ( Istanbul?
    • If failure use karma against chrome to debug using webstorm xdebug remote.
  • run plato reports with linting for ts and less.
  • Package for deployment
  • run protractor tests against dist bundles

Package for Deployment:

  • Build distribution bundle with cache busting and asset minification
  • copy index.html to dist folder
  • compile config.json for staging and production.
    • Deployment to server should use the same bundle but specific config.json.

Any chance you can update this to show how to include bootstrap and jquery from bower?

I am having a heck of a time modifying this example to loop in bootstrap.js, bootstrap.css, and jquery. I was trying to use the bower-webpack-plugin to get it going but I just can't seem to pull it all together for some reason.

Any help you can offer would be awesome. I'm not sure how to do the equivalent of:

require('bootstrap');
require('bootstrap.css');

Since this project is using ts instead of raw js.

npm install stuck

The installation stuck when I run npm install at:

webpack: bundle is now VALID.

What could be the cause? (I tried a few times)

Not compatibile with alpha29

Hy!

I use angular2 alpha 29 because child router fixed, but angular2-webpack-starter based on alpha26 and not compatibile with new changes.

eg:
BrowserLocation -> LocationStrategy

npm run e2e fails with wrong selenium version

Just cloned and installed this.

When I run 'npm run e2e', it fails with this error

Error: No selenium server jar found at the specified location ([DIR]/node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar). Check that the version number is up to date.

No router example working

Hello,
Before everything else, I thank you very much for providing a starter pack to what seem to me to be the future best angular 2 workflow when the final will be released.
I tried multiple examples and everything seem to work fine, except for the "large app" example, which is also the only one featuring a router.
I managed to correct all the errors, but the router is still not functional with the error "EXCEPTION: No provider for Token RouterPrimaryComponent! (RouterLink -> Router -> Token RouterPrimaryComponent)".

I also tried to wrap with webpack the angular 2 seed sample from the repo at https://github.com/mgechev/angular2-seed , but for whatever reason, vars in {{}} aren't interpreted in the about or home templates, as if some sort of $digest wasn't there (even if it doesn't exist anymore in angular 2).

Is there any way to see a working router example with multiple paths using webpack and angular 2 ?
Even a basic plunker would be ok :)

Explain the webpack setup

In the webpack.config.js you have "angular2" entry.

angular2': [
      'zone.js',
      'reflect-metadata',

      './src/common/BrowserDomAdapter',

      'angular2/angular2',
      'angular2/router',
      'angular2/di',
      'angular2/src/facade/browser'
],

I do not understand whats the purpose of bundling together the following dependencies:

  • 'angular2/angular2'
  • 'angular2/router'
  • 'angular2/di'
  • 'angular2/src/facade/browser'

into a separate script, if you require these using ES6 imports in the script itself, when you use them, e.g. https://github.com/angular-class/angular2-webpack-starter/blob/master/src/app/bootstrap.ts#L4. The end result is that you have multiple declarations of "angular2/*" and those declared as the "angular2" webpack entry are never used.

What are you using './src/common/BrowserDomAdapter' for?

server refactor

Move server into another repo. The repo itself should be client only with the option to include our example REST server and also a Falcor/GraphAPI server

NoAnnotationError

I just did a fresh clone of your repo and an npm install, and I am seeing the exact same NoAnnotationError in the Chrome developer console. This is chrome version 44.0.2403.157 (64-bit) on osx.

I also see it in an up to date version of Google Chrome Canary.

Are you not seeing these?

How to import zone

I'm having a problem with ac-autosuggest.ts.

First off its got the same problem with rx which I know how to fix.

Second though is it tells me "zone" is unknown. I assume this means I need to import zone somehow.

Looking through the various components I can see there is an NgZone in Angular 2.

So I tried changing line 4 to read

import {Directive, View, EventEmitter, ElementRef, NgZone as zone} from 'angular2/angular2';

However at runtime, I got into an infinite loop with zone.

I'm not sure where to go from here.

If you could give me a pointer, I'm happy to make the changes and submit a pull request.

e2e tests not run with PhantomJS

Workflow:

npm run webdriver-start &
npm run express &
npm run e2e

Console only show, tests does not run

Using the selenium server at http://localhost:4444/wd/hub
[launcher] Running 1 instances of WebDriver

I modifyed protractor.conf.js

exports.config = {
  baseUrl: 'http://localhost:8080/',
  capabilities: {
    'browserName': 'phantomjs',
    'phantomjs.binary.path': require('phantomjs').path,
    'phantomjs.ghostdriver.cli.args': ['--loglevel=INFO']
  },
  seleniumAddress: 'http://localhost:4444/wd/hub',
};

Unit test fail with PhantomJS

PhantomJS 1.9.8 (Linux 0.0.0) ERROR
  TYPE_MISMATCH_ERR: DOM Exception 17: The type of an object was incompatible with the expected type of the parameter associated to the object.
  at /home/dev/Github/angular2-webpack-starter/spec.bundle.js:2831:0 <- webpack:///~/node-libs-browser/~/crypto-browserify/rng.js:14:0

generate typescript source map with loader:'typescript-simple'

I wanted to debug with vscode, so I'll need to generate source map for the ts files. But the ts loader is using 'typescript-simple' which didn't support generate source map. Is there anyway I can generate source map for it instead of generate *.js.map files? Or can I change the loader to some other source map supported loaders? Thanks!

Unable to install dependency

Hi there, following the Readme installation section I get this error with npm install.

$ npm start

> [email protected] prestart /Users/ms/angular2-webpack-starter
> npm install

npm ERR! git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74: fatal: bad object 29fb1d801158f29cb0eb784edff69356705a7b74
npm ERR! git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74: 
npm ERR! git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74: fatal: bad object 29fb1d801158f29cb0eb784edff69356705a7b74
npm ERR! git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74: 
npm ERR! git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74: fatal: bad object 29fb1d801158f29cb0eb784edff69356705a7b74
npm ERR! git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74: 
npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.12.3
npm ERR! npm  v2.12.1
npm ERR! code 128

npm ERR! Command failed: git rev-list -n1 29fb1d801158f29cb0eb784edff69356705a7b74
npm ERR! fatal: bad object 29fb1d801158f29cb0eb784edff69356705a7b74

Any idea how can I fix?
I really appreciate any help you can provide.

Module parse failed

I get this error in the terminal after installing and running npm server start npm run server
I'm on ubuntu 15.04, node: v0.12.7, npm: v0.12.7 2.11.3
An earlier version of the repo didn't produce this error, som I guess it has something to do with recent changes. I'm too new to angular to find the root of the problem my self.

Error:

ERROR in ./src/app/bootstrap.ts
Module parse failed: /home/anders/Dropbox/dev/itembox/code/webpacktest/src/app/bootstrap.ts Line 4: Unexpected reserved word
You may need an appropriate loader to handle this file type.
| 
| // Angular 2
| import {bootstrap} from 'angular2/angular2';
| 
| 
 @ multi app

ERROR in ./src/app-simple/bootstrap.ts
Module parse failed: /home/anders/Dropbox/dev/itembox/code/webpacktest/src/app-simple/bootstrap.ts Line 4: Unexpected reserved word
You may need an appropriate loader to handle this file type.
| 
| // Angular 2
| import {bootstrap} from 'angular2/angular2';
| /*
|  * Angular Modules
 @ multi app-simple

build problem under windows

λ cnpm run build

> [email protected] build C:\Users\Administrator\git\angular2-webpack-starter
> npm run build:dev && npm run build:prod


> [email protected] build:dev C:\Users\Administrator\git\angular2-webpack-starter
>  npm run env:dev  npm run webpack --colors --display-error-details --display-cached


> [email protected] env:dev C:\Users\Administrator\git\angular2-webpack-starter
> NODE_ENV=development "npm" "run" "webpack"

'NODE_ENV' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "env:dev" "npm" "run" "webpack" "--colors" "--display-error-details" "--display-cached"
npm ERR! node v0.12.4
npm ERR! npm  v2.10.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] env:dev: `NODE_ENV=development "npm" "run" "webpack"`
npm ERR! Exit status 1

It looks like that the flow script cannot run as expected:

    "env:dev": "NODE_ENV=development",
    "env:prod": "NODE_ENV=production",

What is traceur's role?

Hello,
I'm curious as to the role that traceur plays in this setup? I've read that it is a ES6 transpiler. Beyond that i'm not sure why it is needed here. Is there some interplay with Typescript there?

Cache?

Is there a reason for cache: false? I think by turning the cache off, it makes webpack rebuild the entire project from scratch each time instead of using a cached version and doing interative builds. As an app grows, this could get pretty painful from a speed perspective. I remove that line and everything seems to be working just fine.

'rx' now '@reactiveX/js' ?

Just started working with this starter – which is really exciting.

However I am getting lots and lots of errors. Too many to document all of them. I'm wondering if this is a result of where angular2 is up to at the moment of if I have done something wrong.

Just for one many of the examples have the following:

import * as Rx from 'rx';

It appears that this should in fact be:

import * as Rx from '@reactiveX/rxjs';

Also, line 34 in ac_autosuggest.ts throws an error 'zone is unknown.

.do(zone.bind(() => this.loading.next(true)))

Is this because the zone module has not been loaded? If so, how do I load it?

Cannot run npm install

Hello,

I'm trying to install your version of starter but for some reason I cannot get through the npm install. Strange though that a version from Saturday or Sunday cannot recall worked for another mac os x system. I'm using the latest 4.2.1 node with 2.14.7 npm. I tried various node 4 versions without any luck. Here is my log. Thanks:

npm WARN engine [email protected]: wanted: {"node":">=0.10 <=0.12 || >=1 <=2"} (current: {"node":"4.2.1","npm":"2.14.7"})
npm WARN peerDependencies The peer dependency jasmine-core@* included from karma-jasmine will no
npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency 
npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/phantomjs
> node install.js

Download already available at /var/folders/vk/4lmt4k110b1d604d_x6xnc3h0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip
Extracting zip contents
Removing /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/phantomjs/lib/phantom
Copying extracted folder /var/folders/vk/4lmt4k110b1d604d_x6xnc3h0000gn/T/phantomjs/phantomjs-1.9.8-macosx.zip-extract-1444769333423/phantomjs-1.9.8-macosx -> /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/phantomjs/lib/phantom
Writing location.js file
Done. Phantomjs binary available at /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/phantomjs/lib/phantom/bin/phantomjs
npm WARN engine [email protected]: wanted: {"node":">= 0.10.0 <= 0.11.0"} (current: {"node":"4.2.1","npm":"2.14.7"})

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/webpack-dev-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/webpack-dev-server/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/webpack-dev-server/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/webpack-dev-server/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/karma/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/karma/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
  SOLINK_MODULE(target) Release/bufferutil.node

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

  CXX(target) Release/obj.target/validation/src/validation.o
  SOLINK_MODULE(target) Release/validation.node
|
> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/protractor/node_modules/selenium-webdriver/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild

  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../src/validation.cc:15:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no
      known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd
      argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:28:40: note: candidate function not viable:
      requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:36:40: note: candidate function not viable:
      requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/validation.cc:15:
../node_modules/nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor
      (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor
      (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:214:13: note: candidate template ignored: could not match
      'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:326:13: note: candidate template ignored: could not match
      'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/validation.cc:15:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/validation.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template specialization
      'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/validation.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template specialization
      'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/validation.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template specialization
      'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/validation.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template specialization
      'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/validation/src/validation.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/protractor/node_modules/selenium-webdriver/node_modules/ws/node_modules/utf-8-validate
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/protractor/node_modules/selenium-webdriver/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../src/bufferutil.cc:16:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: no
      known conversion from 'uint32_t' (aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:43:40: note: candidate function not viable: 2nd
      argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:28:40: note: candidate function not viable:
      requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/krigton/.node-gyp/4.2.1/include/node/node_buffer.h:36:40: note: candidate function not viable:
      requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/bufferutil.cc:16:
../node_modules/nan/nan.h:676:12: error: no viable conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor
      (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:210:7: note: candidate constructor
      (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object> &&' for 1st argument
class Local {
      ^
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:214:13: note: candidate template ignored: could not match
      'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:326:13: note: candidate template ignored: could not match
      'S *' against 'v8::MaybeLocal<v8::Object>'
  V8_INLINE Local(S* that)
            ^
In file included from ../src/bufferutil.cc:16:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
In file included from ../src/bufferutil.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Primitive *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template specialization
      'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Boolean *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template specialization
      'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Function *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template specialization
      'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:221:5: error: assigning to 'v8::Object *volatile' from
      incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/krigton/.node-gyp/4.2.1/include/node/v8.h:180:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template specialization
      'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
9 errors generated.
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/protractor/node_modules/selenium-webdriver/node_modules/ws/node_modules/bufferutil
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm WARN optional dep failed, continuing [email protected]

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/karma/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

[fsevents] Success: "/Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/karma/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-darwin-x64/fse.node" is installed via remote
npm WARN optional dep failed, continuing [email protected]

> [email protected] install /Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/webpack/node_modules/watchpack/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

[fsevents] Success: "/Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/webpack/node_modules/watchpack/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v46-darwin-x64/fse.node" is installed via remote

> [email protected] postinstall /Users/krigton/Documents/work/angular2/angular2-webpack-starter
> npm run tsd-update && tsd install && tsd link


> [email protected] tsd-update /Users/krigton/Documents/work/angular2/angular2-webpack-starter
> npm run remove-tsd-loader-typings && tsd reinstall --overwrite


> [email protected] remove-tsd-loader-typings /Users/krigton/Documents/work/angular2/angular2-webpack-starter
> rimraf node_modules/typescript-simple-loader/typescript-simple-loader.d.ts

[ERR!] cwd  : /Users/krigton/Documents/work/angular2/angular2-webpack-starter
[ERR!] os   : Darwin 15.0.0
[ERR!] argv : "/usr/local/bin/node" "/Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/.bin/tsd" "reinstall" "--overwrite"
[ERR!] node : v4.2.1
[ERR!] tsd  : 0.6.4
[ERR!] Error: EACCES: permission denied, open '/Users/krigton/.config/configstore/update-notifier-tsd.yml'
You don't have access to this file.

[ERR!] CODE : EACCES
[ERR!] Error: EACCES: permission denied, open '/Users/krigton/.config/configstore/update-notifier-tsd.yml'
You don't have access to this file.

[ERR!] 
Please try running this command again as root/Administrator.
[ERR!] .tsdrc could not be retrieved

[ERR!] Please include the following file with any support request:
    /Users/krigton/Documents/work/angular2/angular2-webpack-starter/tsd-debug.log


npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "tsd-update"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! [email protected] tsd-update: `npm run remove-tsd-loader-typings && tsd reinstall --overwrite`
npm ERR! Exit status 243
npm ERR! 
npm ERR! Failed at the [email protected] tsd-update script 'npm run remove-tsd-loader-typings && tsd reinstall --overwrite'.
npm ERR! This is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run remove-tsd-loader-typings && tsd reinstall --overwrite
npm ERR! You can get their info via:
npm ERR!     npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/krigton/Documents/work/angular2/angular2-webpack-starter/npm-debug.log

npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `npm run tsd-update && tsd install && tsd link`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'npm run tsd-update && tsd install && tsd link'.
npm ERR! This is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run tsd-update && tsd install && tsd link
npm ERR! You can get their info via:
npm ERR!     npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/krigton/Documents/work/angular2/angular2-webpack-starter/npm-debug.log
Csabas-MacBook-Pro:angular2-webpack-starter krigton$ npm update
Csabas-MacBook-Pro:angular2-webpack-starter krigton$ npm install

> [email protected] postinstall /Users/krigton/Documents/work/angular2/angular2-webpack-starter
> npm run tsd-update && tsd install && tsd link


> [email protected] tsd-update /Users/krigton/Documents/work/angular2/angular2-webpack-starter
> npm run remove-tsd-loader-typings && tsd reinstall --overwrite


> [email protected] remove-tsd-loader-typings /Users/krigton/Documents/work/angular2/angular2-webpack-starter
> rimraf node_modules/typescript-simple-loader/typescript-simple-loader.d.ts

[ERR!] cwd  : /Users/krigton/Documents/work/angular2/angular2-webpack-starter
[ERR!] os   : Darwin 15.0.0
[ERR!] argv : "/usr/local/bin/node" "/Users/krigton/Documents/work/angular2/angular2-webpack-starter/node_modules/.bin/tsd" "reinstall" "--overwrite"
[ERR!] node : v4.2.1
[ERR!] tsd  : 0.6.4
[ERR!] Error: EACCES: permission denied, open '/Users/krigton/.config/configstore/update-notifier-tsd.yml'
You don't have access to this file.

[ERR!] CODE : EACCES
[ERR!] Error: EACCES: permission denied, open '/Users/krigton/.config/configstore/update-notifier-tsd.yml'
You don't have access to this file.

[ERR!] 
Please try running this command again as root/Administrator.
[ERR!] .tsdrc could not be retrieved

[ERR!] Please include the following file with any support request:
    /Users/krigton/Documents/work/angular2/angular2-webpack-starter/tsd-debug.log


npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "tsd-update"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! [email protected] tsd-update: `npm run remove-tsd-loader-typings && tsd reinstall --overwrite`
npm ERR! Exit status 243
npm ERR! 
npm ERR! Failed at the [email protected] tsd-update script 'npm run remove-tsd-loader-typings && tsd reinstall --overwrite'.
npm ERR! This is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run remove-tsd-loader-typings && tsd reinstall --overwrite
npm ERR! You can get their info via:
npm ERR!     npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/krigton/Documents/work/angular2/angular2-webpack-starter/npm-debug.log

npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `npm run tsd-update && tsd install && tsd link`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'npm run tsd-update && tsd install && tsd link'.
npm ERR! This is most likely a problem with the angular2-webpack-starter package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run tsd-update && tsd install && tsd link
npm ERR! You can get their info via:
npm ERR!     npm owner ls angular2-webpack-starter
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:

refactor app to Examples

The repo is starting to become too opinionated which ends up discouraging new users as to why things are the way they are. Promoting app/ to an examples folder that's isolated from src/

Broken [email protected]+

Thanks again for this project. I think if the Angular community starts to see the usefulness of Webpack over SystemJS, it'll really take off.

I noticed Webpack-seed works with versions [email protected] through 18, but fails at 19+.

You might consider dropping the ^ (or higher) dependency on Angular.

 "dependencies": {
    "angular2": "2.0.0-alpha.18",
    "rtts_assert": "2.0.0-alpha.18",
    "zone.js": "^0.4.1"
  }

I'm not sure what causes the issue, but I hope to see a fix!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.