Skip to content
This repository was archived by the owner on Apr 17, 2020. It is now read-only.

Commit 26dd83c

Browse files
committed
reactive patterns course
0 parents  commit 26dd83c

27 files changed

+5772
-0
lines changed

.editorconfig

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Editor configuration, see http://editorconfig.org
2+
root = true
3+
4+
[*]
5+
charset = utf-8
6+
indent_style = space
7+
indent_size = 2
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
max_line_length = off
13+
trim_trailing_whitespace = false

.gitignore

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# See http://help.github.com/ignore-files/ for more about ignoring files.
2+
3+
# compiled output
4+
/dist
5+
/tmp
6+
7+
# dependencies
8+
/node_modules
9+
10+
# IDEs and editors
11+
/.idea
12+
.project
13+
.classpath
14+
.c9/
15+
*.launch
16+
.settings/
17+
18+
# IDE - VSCode
19+
.vscode/*
20+
!.vscode/settings.json
21+
!.vscode/tasks.json
22+
!.vscode/launch.json
23+
!.vscode/extensions.json
24+
25+
# misc
26+
/.sass-cache
27+
/connect.lock
28+
/coverage/*
29+
/libpeerconnection.log
30+
npm-debug.log
31+
testem.log
32+
/typings
33+
34+
# e2e
35+
/e2e/*.js
36+
/e2e/*.map
37+
38+
#System Files
39+
.DS_Store
40+
Thumbs.db

README.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# ReactivePatternsCourse
2+
3+
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 1.0.0-beta.31.
4+
5+
## Development server
6+
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
7+
8+
## Code scaffolding
9+
10+
Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive/pipe/service/class/module`.
11+
12+
## Build
13+
14+
Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.
15+
16+
## Running unit tests
17+
18+
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
19+
20+
## Running end-to-end tests
21+
22+
Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
23+
Before running the tests make sure you are serving the app via `ng serve`.
24+
25+
## Further help
26+
27+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).

angular-cli.json

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3+
"project": {
4+
"version": "1.0.0-beta.31",
5+
"name": "reactive-patterns-course"
6+
},
7+
"apps": [
8+
{
9+
"root": "src",
10+
"outDir": "dist",
11+
"assets": [
12+
"assets",
13+
"favicon.ico"
14+
],
15+
"index": "index.html",
16+
"main": "main.ts",
17+
"polyfills": "polyfills.ts",
18+
"test": "test.ts",
19+
"tsconfig": "tsconfig.json",
20+
"prefix": "app",
21+
"styles": [
22+
"styles.css"
23+
],
24+
"scripts": [],
25+
"environments": {
26+
"source": "environments/environment.ts",
27+
"dev": "environments/environment.ts",
28+
"prod": "environments/environment.prod.ts"
29+
}
30+
}
31+
],
32+
"e2e": {
33+
"protractor": {
34+
"config": "./protractor.conf.js"
35+
}
36+
},
37+
"lint": [
38+
{
39+
"files": "src/**/*.ts",
40+
"project": "src/tsconfig.json"
41+
},
42+
{
43+
"files": "e2e/**/*.ts",
44+
"project": "e2e/tsconfig.json"
45+
}
46+
],
47+
"test": {
48+
"karma": {
49+
"config": "./karma.conf.js"
50+
}
51+
},
52+
"defaults": {
53+
"styleExt": "css",
54+
"prefixInterfaces": false,
55+
"inline": {
56+
"style": false,
57+
"template": false
58+
},
59+
"spec": {
60+
"class": false,
61+
"component": true,
62+
"directive": true,
63+
"module": false,
64+
"pipe": true,
65+
"service": true
66+
}
67+
}
68+
}

e2e/app.e2e-spec.ts

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { ReactivePatternsCoursePage } from './app.po';
2+
3+
describe('reactive-patterns-course App', function() {
4+
let page: ReactivePatternsCoursePage;
5+
6+
beforeEach(() => {
7+
page = new ReactivePatternsCoursePage();
8+
});
9+
10+
it('should display message saying app works', () => {
11+
page.navigateTo();
12+
expect(page.getParagraphText()).toEqual('app works!');
13+
});
14+
});

e2e/app.po.ts

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { browser, element, by } from 'protractor';
2+
3+
export class ReactivePatternsCoursePage {
4+
navigateTo() {
5+
return browser.get('/');
6+
}
7+
8+
getParagraphText() {
9+
return element(by.css('app-root h1')).getText();
10+
}
11+
}

e2e/tsconfig.json

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"compileOnSave": false,
3+
"compilerOptions": {
4+
"declaration": false,
5+
"emitDecoratorMetadata": true,
6+
"experimentalDecorators": true,
7+
"lib": [
8+
"es2016"
9+
],
10+
"module": "commonjs",
11+
"moduleResolution": "node",
12+
"outDir": "../dist/out-tsc-e2e",
13+
"sourceMap": true,
14+
"target": "es6",
15+
"typeRoots": [
16+
"../node_modules/@types"
17+
]
18+
}
19+
}

karma.conf.js

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Karma configuration file, see link for more information
2+
// https://karma-runner.github.io/0.13/config/configuration-file.html
3+
4+
module.exports = function (config) {
5+
config.set({
6+
basePath: '',
7+
frameworks: ['jasmine', '@angular/cli'],
8+
plugins: [
9+
require('karma-jasmine'),
10+
require('karma-chrome-launcher'),
11+
require('karma-coverage-istanbul-reporter'),
12+
require('@angular/cli/plugins/karma')
13+
],
14+
files: [
15+
{ pattern: './src/test.ts', watched: false }
16+
],
17+
preprocessors: {
18+
'./src/test.ts': ['@angular/cli']
19+
},
20+
mime: {
21+
'text/x-typescript': ['ts','tsx']
22+
},
23+
coverageIstanbulReporter: {
24+
reports: [ 'html', 'lcovonly' ],
25+
fixWebpackSourcePaths: true
26+
},
27+
angularCli: {
28+
config: './angular-cli.json',
29+
environment: 'dev'
30+
},
31+
reporters: config.angularCli && config.angularCli.codeCoverage
32+
? ['progress', 'coverage-istanbul']
33+
: ['progress'],
34+
port: 9876,
35+
colors: true,
36+
logLevel: config.LOG_INFO,
37+
autoWatch: true,
38+
browsers: ['Chrome'],
39+
singleRun: false
40+
});
41+
};

package.json

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"name": "reactive-patterns-course",
3+
"version": "0.0.0",
4+
"license": "MIT",
5+
"angular-cli": {},
6+
"scripts": {
7+
"ng": "ng",
8+
"start": "ng serve",
9+
"test": "ng test",
10+
"lint": "ng lint",
11+
"e2e": "ng e2e"
12+
},
13+
"private": true,
14+
"dependencies": {
15+
"@angular/common": "^2.4.0",
16+
"@angular/compiler": "^2.4.0",
17+
"@angular/core": "^2.4.0",
18+
"@angular/forms": "^2.4.0",
19+
"@angular/http": "^2.4.0",
20+
"@angular/platform-browser": "^2.4.0",
21+
"@angular/platform-browser-dynamic": "^2.4.0",
22+
"@angular/router": "^3.4.0",
23+
"core-js": "^2.4.1",
24+
"rxjs": "^5.0.1",
25+
"ts-helpers": "^1.1.1",
26+
"zone.js": "^0.7.2"
27+
},
28+
"devDependencies": {
29+
"@angular/cli": "1.0.0-beta.31",
30+
"@angular/compiler-cli": "^2.4.0",
31+
"@types/jasmine": "2.5.38",
32+
"@types/node": "^6.0.42",
33+
"codelyzer": "~2.0.0-beta.1",
34+
"jasmine-core": "2.5.2",
35+
"jasmine-spec-reporter": "2.5.0",
36+
"karma": "1.2.0",
37+
"karma-chrome-launcher": "^2.0.0",
38+
"karma-cli": "^1.0.1",
39+
"karma-jasmine": "^1.0.2",
40+
"karma-coverage-istanbul-reporter": "^0.2.0",
41+
"protractor": "~5.1.0",
42+
"ts-node": "1.2.1",
43+
"tslint": "^4.3.0",
44+
"typescript": "~2.0.0"
45+
}
46+
}

protractor.conf.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Protractor configuration file, see link for more information
2+
// https://github.com/angular/protractor/blob/master/lib/config.ts
3+
4+
/*global jasmine */
5+
var SpecReporter = require('jasmine-spec-reporter');
6+
7+
exports.config = {
8+
allScriptsTimeout: 11000,
9+
specs: [
10+
'./e2e/**/*.e2e-spec.ts'
11+
],
12+
capabilities: {
13+
'browserName': 'chrome'
14+
},
15+
directConnect: true,
16+
baseUrl: 'http://localhost:4200/',
17+
framework: 'jasmine',
18+
jasmineNodeOpts: {
19+
showColors: true,
20+
defaultTimeoutInterval: 30000,
21+
print: function() {}
22+
},
23+
useAllAngular2AppRoots: true,
24+
beforeLaunch: function() {
25+
require('ts-node').register({
26+
project: 'e2e'
27+
});
28+
},
29+
onPrepare: function() {
30+
jasmine.getEnv().addReporter(new SpecReporter());
31+
}
32+
};

src/app/app.component.css

Whitespace-only changes.

src/app/app.component.html

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<h1>
2+
{{title}}
3+
</h1>

src/app/app.component.spec.ts

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/* tslint:disable:no-unused-variable */
2+
3+
import { TestBed, async } from '@angular/core/testing';
4+
import { AppComponent } from './app.component';
5+
6+
describe('AppComponent', () => {
7+
beforeEach(() => {
8+
TestBed.configureTestingModule({
9+
declarations: [
10+
AppComponent
11+
],
12+
});
13+
TestBed.compileComponents();
14+
});
15+
16+
it('should create the app', async(() => {
17+
const fixture = TestBed.createComponent(AppComponent);
18+
const app = fixture.debugElement.componentInstance;
19+
expect(app).toBeTruthy();
20+
}));
21+
22+
it(`should have as title 'app works!'`, async(() => {
23+
const fixture = TestBed.createComponent(AppComponent);
24+
const app = fixture.debugElement.componentInstance;
25+
expect(app.title).toEqual('app works!');
26+
}));
27+
28+
it('should render title in a h1 tag', async(() => {
29+
const fixture = TestBed.createComponent(AppComponent);
30+
fixture.detectChanges();
31+
const compiled = fixture.debugElement.nativeElement;
32+
expect(compiled.querySelector('h1').textContent).toContain('app works!');
33+
}));
34+
});

src/app/app.component.ts

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { Component } from '@angular/core';
2+
3+
@Component({
4+
selector: 'app-root',
5+
templateUrl: './app.component.html',
6+
styleUrls: ['./app.component.css']
7+
})
8+
export class AppComponent {
9+
title = 'app works!';
10+
}

src/app/app.module.ts

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { BrowserModule } from '@angular/platform-browser';
2+
import { NgModule } from '@angular/core';
3+
import { FormsModule } from '@angular/forms';
4+
import { HttpModule } from '@angular/http';
5+
6+
import { AppComponent } from './app.component';
7+
8+
@NgModule({
9+
declarations: [
10+
AppComponent
11+
],
12+
imports: [
13+
BrowserModule,
14+
FormsModule,
15+
HttpModule
16+
],
17+
providers: [],
18+
bootstrap: [AppComponent]
19+
})
20+
export class AppModule { }

src/assets/.gitkeep

Whitespace-only changes.

src/environments/environment.prod.ts

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export const environment = {
2+
production: true
3+
};

0 commit comments

Comments
 (0)