├── .gitignore
├── README.md
├── app
└── app.ts
├── index.html
├── package.json
├── systemjs.config.js
├── tsconfig.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | /__build__
2 | /__server_build__
3 | /node_modules
4 | /typings
5 | /tsd_typings/
6 | npm-debug.log
7 | dist
8 | .idea
9 | .DS_Store
10 | tmp
11 | perf-logs
12 | v8.log
13 |
14 |
15 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Angular For Beginners - Blog Post Series
3 |
4 | Here is the Angular for Beginners blog post series, available at our blog:
5 |
6 | - [Angular For Beginners Guide - Getting Started (Setup Environment)](https://blog.angular-university.io/getting-started-with-angular-setup-a-development-environment-with-yarn-the-angular-cli-setup-an-ide/)
7 |
8 | - [Angular For Beginners Guide: Why Angular? The Top Benefits](https://blog.angular-university.io/why-angular-angular-vs-jquery-a-beginner-friendly-explanation-on-the-advantages-of-angular-and-mvc/)
9 |
10 | - [Angular For Beginners Guide - Components vs Directives](https://blog.angular-university.io/angular-components-and-directives-for-beginners/)
11 |
12 | - [Why a Single Page Application, What are the Benefits? What is a SPA?](https://blog.angular-university.io/why-a-single-page-application-what-are-the-benefits-what-is-a-spa/)
13 |
14 |
15 | # Angular For Beginners Playground
16 | A playground for Getting Started with the Angular framework.
17 |
18 | This course repository is updated to Angular 5, there is a Yarn lock file available.
19 |
20 | This playground provides a save-and-refresh-just-works development environment with minimal dependencies and no build running on the background, its ideally suited for beginners just starting with the framework.
21 |
22 |
23 | # Which Course are You Looking For?
24 |
25 | If you are looking for the code of the following courses, see further the installation instructions on this page:
26 |
27 | - [Angular For Beginners](https://angular-university.io/course/getting-started-with-angular2)
28 | - [Angular Services and HTTP](https://angular-university.io/course/angular2-http)
29 | - [Angular Router](https://angular-university.io/course/angular2-routing)
30 | - [Angular Forms](https://angular-university.io/course/angular2-forms)
31 |
32 | # Angular and Firebase - Build a Web Application Course
33 |
34 | If you are looking for the Angular and Firebase - Build a Web Application Course code, the repo with the full code can be found here:
35 |
36 | [Angular and Firebase - Build a Web Application](https://angular-university.io/course/build-an-application-with-angular2)
37 |
38 | [Github Repo For this course](https://github.com/angular-university/angular-firebase-app)
39 |
40 | 
41 |
42 |
43 | # Complete Typescript 2 Course - Build A REST API
44 |
45 | If you are looking for the Complete Typescript 2 Course - Build a REST API, the repo with the full code can be found here:
46 |
47 | [Complete Typescript 2 Course - Build A REST API](https://angular-university.io/course/typescript-2-tutorial)
48 |
49 | [Github Repo for this course](https://github.com/angular-university/complete-typescript-course)
50 |
51 | 
52 |
53 |
54 | # Angular Ngrx Reactive Extensions Architecture Course
55 |
56 | If you are looking for the Angular Ngrx Reactive Extensions Architecture Course code, the repo with the full code can be found here:
57 |
58 | [Angular Ngrx Reactive Extensions Architecture Course](https://angular-university.io/course/angular2-ngrx)
59 |
60 | [Github repo for this course](https://github.com/angular-university/ngrx-course)
61 |
62 | 
63 |
64 |
65 | # RxJs And Reactive Patterns Angular Architecture Course
66 |
67 | If you are looking for the RxJs And Reactive Patterns Angular Architecture Course code, the repo with the full code can be found here:
68 |
69 | [RxJs and Reactive Patterns Angular Architecture Course](https://angular-university.io/course/reactive-angular-architecture-course)
70 |
71 | [Github repo for this course](https://github.com/angular-university/reactive-patterns-course)
72 |
73 | 
74 |
75 |
76 |
77 |
78 | # Installation pre-requisites
79 |
80 | The playground has minimal dependencies, you only need node and npm installed on your machine.
81 | These are some tutorials to install node in different operating systems.
82 |
83 | *Make sure to install the latest version of Node*
84 |
85 | - [Install Node and NPM on Windows](https://www.youtube.com/watch?v=8ODS6RM6x7g)
86 | - [Install Node and NPM on Linux](https://www.youtube.com/watch?v=yUdHk-Dk_BY)
87 | - [Install Node and NPM on Mac](https://www.youtube.com/watch?v=Imj8PgG3bZU)
88 |
89 | # Installation Instructions
90 |
91 | First clone or download as a Zip file using the green "Clone Or Download" button on the top right of the document.
92 |
93 | Then on the command line go into the folder and do:
94 |
95 | npm install
96 |
97 | This should take a couple of minutes. If there are issues, please post the complete error message in the Questions section of the course, i'm there to help. If you have node 6 this should go smoothly.
98 |
99 | # Starting the development server
100 |
101 | To start the server, run the following command:
102 |
103 | npm start
104 |
105 | If you now go to [http://localhost:8080](http://localhost:8080), there should be a running application there. Again please do not hesitate to post a question in the comments section.
106 |
107 | # Making changes
108 |
109 | If you edit a Typescript file and refresh the browser, the changes will be applied.
110 |
111 |
112 |
113 |
114 |
115 |
--------------------------------------------------------------------------------
/app/app.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | import {Component} from "@angular/core";
5 | import {NgModule} from "@angular/core";
6 | import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";
7 | import {BrowserModule} from "@angular/platform-browser";
8 |
9 |
10 |
11 |
12 | @Component({
13 | selector:'my-app',
14 | template: `
Hello World ! `
15 | })
16 | export class HelloWorld {
17 |
18 |
19 | }
20 |
21 |
22 | @NgModule({
23 | declarations: [HelloWorld],
24 | imports: [BrowserModule],
25 | bootstrap: [HelloWorld]
26 | })
27 | export class AppModule {
28 |
29 | }
30 |
31 | platformBrowserDynamic().bootstrapModule(AppModule);
32 |
33 |
34 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Angular 2 For Beginners Playground
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
36 |
37 |
38 |
39 | Loading...
40 |
41 |
42 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-for-beginners-starter",
3 | "description": "Angular For Beginners Course",
4 | "version": "1.0.0",
5 | "main": "index.js",
6 | "scripts": {
7 | "start": "./node_modules/.bin/http-server -c-1 ."
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/jhades/angular-for-beginners-starter.git"
12 | },
13 | "author": "Angular University",
14 | "license": "MIT",
15 | "bugs": {
16 | "url": "https://github.com/jhades/angular-for-beginners-starter/issues"
17 | },
18 | "homepage": "https://github.com/jhades/angular-for-beginners-starter#readme",
19 | "devDependencies": {
20 | "http-server": "^0.9.0"
21 | },
22 | "dependencies": {
23 | "@angular/animations": "^5.0.0",
24 | "@angular/common": "^5.0.0",
25 | "@angular/compiler": "^5.0.0",
26 | "@angular/core": "^5.0.0",
27 | "@angular/forms": "^5.0.0",
28 | "@angular/http": "^5.0.0",
29 | "@angular/platform-browser": "^5.0.0",
30 | "@angular/platform-browser-dynamic": "^5.0.0",
31 | "@angular/router": "^5.0.0",
32 | "core-js": "^2.4.1",
33 | "rxjs": "^5.5.2",
34 | "zone.js": "^0.8.14",
35 | "body-parser": "1.15.1",
36 | "express": "4.13.4",
37 | "lodash": "4.13.1",
38 | "systemjs": "0.19.27",
39 | "ts-node": "3.0.2",
40 | "typescript": "2.2.0"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/systemjs.config.js:
--------------------------------------------------------------------------------
1 | (function (global) {
2 |
3 | //map tells the System loader where to look for things
4 | var map = {
5 |
6 | '@angular': 'node_modules/@angular', // sufficient if we didn't pin the version
7 | '@angular/router': 'node_modules/@angular/router' ,
8 | '@angular/forms': 'node_modules/@angular/forms',
9 | 'angular2-in-memory-web-api': 'https://npmcdn.com/angular2-in-memory-web-api', // get latest
10 | 'rxjs': 'https://npmcdn.com/rxjs@5.0.0-beta.6',
11 | 'ts': 'https://npmcdn.com/plugin-typescript@4.0.10/lib/plugin.js',
12 | 'typescript': 'https://npmcdn.com/typescript@1.9.0-dev.20160409/lib/typescript.js',
13 | };
14 |
15 | //packages tells the System loader how to load when no filename and/or no extension
16 | var packages = {
17 | 'rxjs': {defaultExtension: 'js'},
18 | 'angular2-in-memory-web-api': {main: 'index.js', defaultExtension: 'js'},
19 | };
20 |
21 | var ngPackageNames = [
22 | 'common',
23 | 'compiler',
24 | 'core',
25 | 'http',
26 | 'platform-browser',
27 | 'platform-browser-dynamic',
28 | 'router-deprecated',
29 | 'upgrade',
30 | ];
31 |
32 | // Add map entries for each angular package
33 | ngPackageNames.forEach(function (pkgName) {
34 | map['@angular/' + pkgName] = 'node_modules/@angular/' + pkgName;
35 | });
36 |
37 | // Add package entries for angular packages
38 | ngPackageNames.forEach(function (pkgName) {
39 |
40 | // Bundled (~40 requests):
41 | packages['@angular/' + pkgName] = {main: '/bundles/' + pkgName + '.umd.js', defaultExtension: 'js'};
42 |
43 | // Individual files (~300 requests):
44 | //packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' };
45 | });
46 |
47 | // No umd for router yet
48 | packages['@angular/router'] = {main: 'index.js', defaultExtension: 'js'};
49 |
50 | // Forms not on rc yet
51 | packages['@angular/forms'] = {main: 'index.js', defaultExtension: 'js'};
52 |
53 | var config = {
54 | // DEMO ONLY! REAL CODE SHOULD NOT TRANSPILE IN THE BROWSER
55 | transpiler: 'ts',
56 | typescriptOptions: {
57 | tsconfig: true
58 | },
59 | meta: {
60 | 'typescript': {
61 | "exports": "ts"
62 | }
63 | },
64 | map: map,
65 | packages: packages
66 | };
67 |
68 | document.SYSTEMJS_CONFIG = config;
69 |
70 | })(this);
71 |
72 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "moduleResolution": "node",
6 | "sourceMap": true,
7 | "emitDecoratorMetadata": true,
8 | "experimentalDecorators": true,
9 | "removeComments": false,
10 | "noImplicitAny": true,
11 | "suppressImplicitAnyIndexErrors": true
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@angular/animations@^5.0.0":
6 | version "5.0.0"
7 | resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-5.0.0.tgz#b5ad199c67f93f759544477effe6679e154991fb"
8 | dependencies:
9 | tslib "^1.7.1"
10 |
11 | "@angular/common@^5.0.0":
12 | version "5.0.0"
13 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-5.0.0.tgz#f96d66a517b995d1ba9b28309f15c2e359675825"
14 | dependencies:
15 | tslib "^1.7.1"
16 |
17 | "@angular/compiler@^5.0.0":
18 | version "5.0.0"
19 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-5.0.0.tgz#b9ffbf18c8a39d8b7dacec473193a90e24cc2bc9"
20 | dependencies:
21 | tslib "^1.7.1"
22 |
23 | "@angular/core@^5.0.0":
24 | version "5.0.0"
25 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-5.0.0.tgz#4f976a225f7dddf34992f2cad824c9543a46f4c8"
26 | dependencies:
27 | tslib "^1.7.1"
28 |
29 | "@angular/forms@^5.0.0":
30 | version "5.0.0"
31 | resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-5.0.0.tgz#c7fddfa35396759ae9852920a30cdda8c41ed1de"
32 | dependencies:
33 | tslib "^1.7.1"
34 |
35 | "@angular/http@^5.0.0":
36 | version "5.0.0"
37 | resolved "https://registry.yarnpkg.com/@angular/http/-/http-5.0.0.tgz#0728a2be0cfbb078727c5eb87d4c85d53fec9a51"
38 | dependencies:
39 | tslib "^1.7.1"
40 |
41 | "@angular/platform-browser-dynamic@^5.0.0":
42 | version "5.0.0"
43 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.0.tgz#887e106c8b103b0415cf6156a425da6d83f4c89d"
44 | dependencies:
45 | tslib "^1.7.1"
46 |
47 | "@angular/platform-browser@^5.0.0":
48 | version "5.0.0"
49 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-5.0.0.tgz#c7038f7cde80705b62014897231e182eec976fed"
50 | dependencies:
51 | tslib "^1.7.1"
52 |
53 | "@angular/router@^5.0.0":
54 | version "5.0.0"
55 | resolved "https://registry.yarnpkg.com/@angular/router/-/router-5.0.0.tgz#fe4b521a6738408bce30f93a53499140c93a4f76"
56 | dependencies:
57 | tslib "^1.7.1"
58 |
59 | accepts@~1.2.12:
60 | version "1.2.13"
61 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.2.13.tgz#e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea"
62 | dependencies:
63 | mime-types "~2.1.6"
64 | negotiator "0.5.3"
65 |
66 | ansi-regex@^2.0.0:
67 | version "2.1.1"
68 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
69 |
70 | ansi-styles@^2.2.1:
71 | version "2.2.1"
72 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
73 |
74 | array-flatten@1.1.1:
75 | version "1.1.1"
76 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
77 |
78 | arrify@^1.0.0:
79 | version "1.0.1"
80 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
81 |
82 | async@0.9.0:
83 | version "0.9.0"
84 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.0.tgz#ac3613b1da9bed1b47510bb4651b8931e47146c7"
85 |
86 | body-parser@1.15.1:
87 | version "1.15.1"
88 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.15.1.tgz#9bceef0669b8f8b943f0ad8ce5d95716bd740fd2"
89 | dependencies:
90 | bytes "2.3.0"
91 | content-type "~1.0.1"
92 | debug "~2.2.0"
93 | depd "~1.1.0"
94 | http-errors "~1.4.0"
95 | iconv-lite "0.4.13"
96 | on-finished "~2.3.0"
97 | qs "6.1.0"
98 | raw-body "~2.1.6"
99 | type-is "~1.6.12"
100 |
101 | bytes@2.3.0:
102 | version "2.3.0"
103 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"
104 |
105 | bytes@2.4.0:
106 | version "2.4.0"
107 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339"
108 |
109 | chalk@^1.1.1:
110 | version "1.1.3"
111 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
112 | dependencies:
113 | ansi-styles "^2.2.1"
114 | escape-string-regexp "^1.0.2"
115 | has-ansi "^2.0.0"
116 | strip-ansi "^3.0.0"
117 | supports-color "^2.0.0"
118 |
119 | colors@1.0.3:
120 | version "1.0.3"
121 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
122 |
123 | content-disposition@0.5.1:
124 | version "0.5.1"
125 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b"
126 |
127 | content-type@~1.0.1:
128 | version "1.0.4"
129 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
130 |
131 | cookie-signature@1.0.6:
132 | version "1.0.6"
133 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
134 |
135 | cookie@0.1.5:
136 | version "0.1.5"
137 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.1.5.tgz#6ab9948a4b1ae21952cd2588530a4722d4044d7c"
138 |
139 | core-js@^2.4.1:
140 | version "2.5.1"
141 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b"
142 |
143 | corser@~2.0.0:
144 | version "2.0.1"
145 | resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
146 |
147 | debug@~2.2.0:
148 | version "2.2.0"
149 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
150 | dependencies:
151 | ms "0.7.1"
152 |
153 | depd@~1.1.0:
154 | version "1.1.1"
155 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
156 |
157 | destroy@~1.0.4:
158 | version "1.0.4"
159 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
160 |
161 | diff@^3.1.0:
162 | version "3.4.0"
163 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
164 |
165 | ecstatic@^1.4.0:
166 | version "1.4.1"
167 | resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-1.4.1.tgz#32cb7b6fa2e290d58668674d115e8f0c3d567d6a"
168 | dependencies:
169 | he "^0.5.0"
170 | mime "^1.2.11"
171 | minimist "^1.1.0"
172 | url-join "^1.0.0"
173 |
174 | ee-first@1.1.1:
175 | version "1.1.1"
176 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
177 |
178 | escape-html@~1.0.3:
179 | version "1.0.3"
180 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
181 |
182 | escape-string-regexp@^1.0.2:
183 | version "1.0.5"
184 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
185 |
186 | etag@~1.7.0:
187 | version "1.7.0"
188 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
189 |
190 | eventemitter3@1.x.x:
191 | version "1.2.0"
192 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
193 |
194 | express@4.13.4:
195 | version "4.13.4"
196 | resolved "https://registry.yarnpkg.com/express/-/express-4.13.4.tgz#3c0b76f3c77590c8345739061ec0bd3ba067ec24"
197 | dependencies:
198 | accepts "~1.2.12"
199 | array-flatten "1.1.1"
200 | content-disposition "0.5.1"
201 | content-type "~1.0.1"
202 | cookie "0.1.5"
203 | cookie-signature "1.0.6"
204 | debug "~2.2.0"
205 | depd "~1.1.0"
206 | escape-html "~1.0.3"
207 | etag "~1.7.0"
208 | finalhandler "0.4.1"
209 | fresh "0.3.0"
210 | merge-descriptors "1.0.1"
211 | methods "~1.1.2"
212 | on-finished "~2.3.0"
213 | parseurl "~1.3.1"
214 | path-to-regexp "0.1.7"
215 | proxy-addr "~1.0.10"
216 | qs "4.0.0"
217 | range-parser "~1.0.3"
218 | send "0.13.1"
219 | serve-static "~1.10.2"
220 | type-is "~1.6.6"
221 | utils-merge "1.0.0"
222 | vary "~1.0.1"
223 |
224 | finalhandler@0.4.1:
225 | version "0.4.1"
226 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz#85a17c6c59a94717d262d61230d4b0ebe3d4a14d"
227 | dependencies:
228 | debug "~2.2.0"
229 | escape-html "~1.0.3"
230 | on-finished "~2.3.0"
231 | unpipe "~1.0.0"
232 |
233 | forwarded@~0.1.0:
234 | version "0.1.2"
235 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
236 |
237 | fresh@0.3.0:
238 | version "0.3.0"
239 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
240 |
241 | has-ansi@^2.0.0:
242 | version "2.0.0"
243 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
244 | dependencies:
245 | ansi-regex "^2.0.0"
246 |
247 | he@^0.5.0:
248 | version "0.5.0"
249 | resolved "https://registry.yarnpkg.com/he/-/he-0.5.0.tgz#2c05ffaef90b68e860f3fd2b54ef580989277ee2"
250 |
251 | http-errors@~1.3.1:
252 | version "1.3.1"
253 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942"
254 | dependencies:
255 | inherits "~2.0.1"
256 | statuses "1"
257 |
258 | http-errors@~1.4.0:
259 | version "1.4.0"
260 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.4.0.tgz#6c0242dea6b3df7afda153c71089b31c6e82aabf"
261 | dependencies:
262 | inherits "2.0.1"
263 | statuses ">= 1.2.1 < 2"
264 |
265 | http-proxy@^1.8.1:
266 | version "1.16.2"
267 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
268 | dependencies:
269 | eventemitter3 "1.x.x"
270 | requires-port "1.x.x"
271 |
272 | http-server@^0.9.0:
273 | version "0.9.0"
274 | resolved "https://registry.yarnpkg.com/http-server/-/http-server-0.9.0.tgz#8f1b06bdc733618d4dc42831c7ba1aff4e06001a"
275 | dependencies:
276 | colors "1.0.3"
277 | corser "~2.0.0"
278 | ecstatic "^1.4.0"
279 | http-proxy "^1.8.1"
280 | opener "~1.4.0"
281 | optimist "0.6.x"
282 | portfinder "0.4.x"
283 | union "~0.4.3"
284 |
285 | iconv-lite@0.4.13:
286 | version "0.4.13"
287 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
288 |
289 | inherits@2.0.1:
290 | version "2.0.1"
291 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
292 |
293 | inherits@~2.0.1:
294 | version "2.0.3"
295 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
296 |
297 | ipaddr.js@1.0.5:
298 | version "1.0.5"
299 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.0.5.tgz#5fa78cf301b825c78abc3042d812723049ea23c7"
300 |
301 | lodash@4.13.1:
302 | version "4.13.1"
303 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.13.1.tgz#83e4b10913f48496d4d16fec4a560af2ee744b68"
304 |
305 | make-error@^1.1.1:
306 | version "1.3.0"
307 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96"
308 |
309 | media-typer@0.3.0:
310 | version "0.3.0"
311 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
312 |
313 | merge-descriptors@1.0.1:
314 | version "1.0.1"
315 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
316 |
317 | methods@~1.1.2:
318 | version "1.1.2"
319 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
320 |
321 | mime-db@~1.30.0:
322 | version "1.30.0"
323 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
324 |
325 | mime-types@~2.1.15, mime-types@~2.1.6:
326 | version "2.1.17"
327 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
328 | dependencies:
329 | mime-db "~1.30.0"
330 |
331 | mime@1.3.4:
332 | version "1.3.4"
333 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
334 |
335 | mime@^1.2.11:
336 | version "1.4.1"
337 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
338 |
339 | minimist@0.0.8:
340 | version "0.0.8"
341 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
342 |
343 | minimist@^1.1.0, minimist@^1.2.0:
344 | version "1.2.0"
345 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
346 |
347 | minimist@~0.0.1:
348 | version "0.0.10"
349 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
350 |
351 | mkdirp@0.5.x, mkdirp@^0.5.1:
352 | version "0.5.1"
353 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
354 | dependencies:
355 | minimist "0.0.8"
356 |
357 | ms@0.7.1:
358 | version "0.7.1"
359 | resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
360 |
361 | negotiator@0.5.3:
362 | version "0.5.3"
363 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8"
364 |
365 | object-assign@^4.1.1:
366 | version "4.1.1"
367 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
368 |
369 | on-finished@~2.3.0:
370 | version "2.3.0"
371 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
372 | dependencies:
373 | ee-first "1.1.1"
374 |
375 | opener@~1.4.0:
376 | version "1.4.3"
377 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8"
378 |
379 | optimist@0.6.x:
380 | version "0.6.1"
381 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
382 | dependencies:
383 | minimist "~0.0.1"
384 | wordwrap "~0.0.2"
385 |
386 | parseurl@~1.3.1:
387 | version "1.3.2"
388 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
389 |
390 | path-to-regexp@0.1.7:
391 | version "0.1.7"
392 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
393 |
394 | portfinder@0.4.x:
395 | version "0.4.0"
396 | resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-0.4.0.tgz#a3ffadffafe4fb98e0601a85eda27c27ce84ca1e"
397 | dependencies:
398 | async "0.9.0"
399 | mkdirp "0.5.x"
400 |
401 | proxy-addr@~1.0.10:
402 | version "1.0.10"
403 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.0.10.tgz#0d40a82f801fc355567d2ecb65efe3f077f121c5"
404 | dependencies:
405 | forwarded "~0.1.0"
406 | ipaddr.js "1.0.5"
407 |
408 | qs@4.0.0:
409 | version "4.0.0"
410 | resolved "https://registry.yarnpkg.com/qs/-/qs-4.0.0.tgz#c31d9b74ec27df75e543a86c78728ed8d4623607"
411 |
412 | qs@6.1.0:
413 | version "6.1.0"
414 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.1.0.tgz#ec1d1626b24278d99f0fdf4549e524e24eceeb26"
415 |
416 | qs@~2.3.3:
417 | version "2.3.3"
418 | resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404"
419 |
420 | range-parser@~1.0.3:
421 | version "1.0.3"
422 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.0.3.tgz#6872823535c692e2c2a0103826afd82c2e0ff175"
423 |
424 | raw-body@~2.1.6:
425 | version "2.1.7"
426 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.1.7.tgz#adfeace2e4fb3098058014d08c072dcc59758774"
427 | dependencies:
428 | bytes "2.4.0"
429 | iconv-lite "0.4.13"
430 | unpipe "1.0.0"
431 |
432 | requires-port@1.x.x:
433 | version "1.0.0"
434 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
435 |
436 | rxjs@^5.5.2:
437 | version "5.5.2"
438 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.2.tgz#28d403f0071121967f18ad665563255d54236ac3"
439 | dependencies:
440 | symbol-observable "^1.0.1"
441 |
442 | send@0.13.1:
443 | version "0.13.1"
444 | resolved "https://registry.yarnpkg.com/send/-/send-0.13.1.tgz#a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7"
445 | dependencies:
446 | debug "~2.2.0"
447 | depd "~1.1.0"
448 | destroy "~1.0.4"
449 | escape-html "~1.0.3"
450 | etag "~1.7.0"
451 | fresh "0.3.0"
452 | http-errors "~1.3.1"
453 | mime "1.3.4"
454 | ms "0.7.1"
455 | on-finished "~2.3.0"
456 | range-parser "~1.0.3"
457 | statuses "~1.2.1"
458 |
459 | send@0.13.2:
460 | version "0.13.2"
461 | resolved "https://registry.yarnpkg.com/send/-/send-0.13.2.tgz#765e7607c8055452bba6f0b052595350986036de"
462 | dependencies:
463 | debug "~2.2.0"
464 | depd "~1.1.0"
465 | destroy "~1.0.4"
466 | escape-html "~1.0.3"
467 | etag "~1.7.0"
468 | fresh "0.3.0"
469 | http-errors "~1.3.1"
470 | mime "1.3.4"
471 | ms "0.7.1"
472 | on-finished "~2.3.0"
473 | range-parser "~1.0.3"
474 | statuses "~1.2.1"
475 |
476 | serve-static@~1.10.2:
477 | version "1.10.3"
478 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.10.3.tgz#ce5a6ecd3101fed5ec09827dac22a9c29bfb0535"
479 | dependencies:
480 | escape-html "~1.0.3"
481 | parseurl "~1.3.1"
482 | send "0.13.2"
483 |
484 | source-map-support@^0.4.0:
485 | version "0.4.18"
486 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
487 | dependencies:
488 | source-map "^0.5.6"
489 |
490 | source-map@^0.5.6:
491 | version "0.5.7"
492 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
493 |
494 | statuses@1, "statuses@>= 1.2.1 < 2":
495 | version "1.4.0"
496 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
497 |
498 | statuses@~1.2.1:
499 | version "1.2.1"
500 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.2.1.tgz#dded45cc18256d51ed40aec142489d5c61026d28"
501 |
502 | strip-ansi@^3.0.0:
503 | version "3.0.1"
504 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
505 | dependencies:
506 | ansi-regex "^2.0.0"
507 |
508 | strip-bom@^3.0.0:
509 | version "3.0.0"
510 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
511 |
512 | strip-json-comments@^2.0.0:
513 | version "2.0.1"
514 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
515 |
516 | supports-color@^2.0.0:
517 | version "2.0.0"
518 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
519 |
520 | symbol-observable@^1.0.1:
521 | version "1.0.4"
522 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
523 |
524 | systemjs@0.19.27:
525 | version "0.19.27"
526 | resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.19.27.tgz#f1740d565ce64371ac0de7072a4d1e5471ba7ba2"
527 | dependencies:
528 | when "^3.7.5"
529 |
530 | ts-node@3.0.2:
531 | version "3.0.2"
532 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.0.2.tgz#cfc9516c831b920d7efbe16005915062b1294f8c"
533 | dependencies:
534 | arrify "^1.0.0"
535 | chalk "^1.1.1"
536 | diff "^3.1.0"
537 | make-error "^1.1.1"
538 | minimist "^1.2.0"
539 | mkdirp "^0.5.1"
540 | source-map-support "^0.4.0"
541 | tsconfig "^6.0.0"
542 | v8flags "^2.0.11"
543 | yn "^1.2.0"
544 |
545 | tsconfig@^6.0.0:
546 | version "6.0.0"
547 | resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032"
548 | dependencies:
549 | strip-bom "^3.0.0"
550 | strip-json-comments "^2.0.0"
551 |
552 | tslib@^1.7.1:
553 | version "1.8.0"
554 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.8.0.tgz#dc604ebad64bcbf696d613da6c954aa0e7ea1eb6"
555 |
556 | type-is@~1.6.12, type-is@~1.6.6:
557 | version "1.6.15"
558 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
559 | dependencies:
560 | media-typer "0.3.0"
561 | mime-types "~2.1.15"
562 |
563 | typescript@2.2.0:
564 | version "2.2.0"
565 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.2.0.tgz#626f2fc70087d2480f21ebb12c1888288c8614e3"
566 |
567 | union@~0.4.3:
568 | version "0.4.6"
569 | resolved "https://registry.yarnpkg.com/union/-/union-0.4.6.tgz#198fbdaeba254e788b0efcb630bc11f24a2959e0"
570 | dependencies:
571 | qs "~2.3.3"
572 |
573 | unpipe@1.0.0, unpipe@~1.0.0:
574 | version "1.0.0"
575 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
576 |
577 | url-join@^1.0.0:
578 | version "1.1.0"
579 | resolved "https://registry.yarnpkg.com/url-join/-/url-join-1.1.0.tgz#741c6c2f4596c4830d6718460920d0c92202dc78"
580 |
581 | user-home@^1.1.1:
582 | version "1.1.1"
583 | resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
584 |
585 | utils-merge@1.0.0:
586 | version "1.0.0"
587 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
588 |
589 | v8flags@^2.0.11:
590 | version "2.1.1"
591 | resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
592 | dependencies:
593 | user-home "^1.1.1"
594 |
595 | vary@~1.0.1:
596 | version "1.0.1"
597 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.0.1.tgz#99e4981566a286118dfb2b817357df7993376d10"
598 |
599 | when@^3.7.5:
600 | version "3.7.8"
601 | resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82"
602 |
603 | wordwrap@~0.0.2:
604 | version "0.0.3"
605 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
606 |
607 | yn@^1.2.0:
608 | version "1.3.0"
609 | resolved "https://registry.yarnpkg.com/yn/-/yn-1.3.0.tgz#1b0812abb8d805d48966f8df385dc9dacc9a19d8"
610 | dependencies:
611 | object-assign "^4.1.1"
612 |
613 | zone.js@^0.8.14:
614 | version "0.8.18"
615 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.18.tgz#8cecb3977fcd1b3090562ff4570e2847e752b48d"
616 |
--------------------------------------------------------------------------------