Add typescript (and angular2) linter
This commit is contained in:
parent
0dde91ff15
commit
44124980c5
9 changed files with 69 additions and 21 deletions
|
@ -53,8 +53,11 @@ export class AppComponent {
|
||||||
private _authService: AuthService,
|
private _authService: AuthService,
|
||||||
private _router: Router
|
private _router: Router
|
||||||
) {
|
) {
|
||||||
if (localStorage.getItem('access_token')) this.isLoggedIn = true;
|
if (localStorage.getItem('access_token')) {
|
||||||
else this.isLoggedIn = false;
|
this.isLoggedIn = true;
|
||||||
|
} else {
|
||||||
|
this.isLoggedIn = false;
|
||||||
|
}
|
||||||
|
|
||||||
this._authService.loginChanged$.subscribe(
|
this._authService.loginChanged$.subscribe(
|
||||||
status => {
|
status => {
|
||||||
|
@ -87,7 +90,7 @@ export class AppComponent {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error => alert(error)
|
error => alert(error)
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
quitFriends() {
|
quitFriends() {
|
||||||
|
@ -96,6 +99,6 @@ export class AppComponent {
|
||||||
alert('Quit friends!');
|
alert('Quit friends!');
|
||||||
},
|
},
|
||||||
error => alert(error)
|
error => alert(error)
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import {Injectable} from 'angular2/core';
|
import { Injectable } from 'angular2/core';
|
||||||
import {Http, Response, Headers, RequestOptions} from 'angular2/http';
|
import { Http, Response } from 'angular2/http';
|
||||||
import {Observable} from 'rxjs/Rx';
|
import { Observable } from 'rxjs/Rx';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class FriendsService {
|
export class FriendsService {
|
||||||
|
|
|
@ -2,19 +2,18 @@ import { Injectable } from 'angular2/core';
|
||||||
import { Http, Response, Headers, URLSearchParams } from 'angular2/http';
|
import { Http, Response, Headers, URLSearchParams } from 'angular2/http';
|
||||||
import { Observable, Subject } from 'rxjs/Rx';
|
import { Observable, Subject } from 'rxjs/Rx';
|
||||||
|
|
||||||
import { Token } from '../models/token';
|
|
||||||
import { AuthStatus } from '../models/authStatus';
|
import { AuthStatus } from '../models/authStatus';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AuthService {
|
export class AuthService {
|
||||||
|
loginChanged$ = this._loginChanged.asObservable();
|
||||||
|
|
||||||
private _loginChanged = new Subject<AuthStatus>();
|
private _loginChanged = new Subject<AuthStatus>();
|
||||||
|
|
||||||
private _baseLoginUrl = '/api/v1/users/token';
|
private _baseLoginUrl = '/api/v1/users/token';
|
||||||
private _clientId = '56f055587305d40b21904240';
|
private _clientId = '56f055587305d40b21904240';
|
||||||
private _clientSecret = 'megustalabanana';
|
private _clientSecret = 'megustalabanana';
|
||||||
|
|
||||||
loginChanged$ = this._loginChanged.asObservable();
|
|
||||||
|
|
||||||
constructor (private http: Http) {}
|
constructor (private http: Http) {}
|
||||||
|
|
||||||
login(username: string, password: string) {
|
login(username: string, password: string) {
|
||||||
|
@ -32,7 +31,7 @@ export class AuthService {
|
||||||
|
|
||||||
let options = {
|
let options = {
|
||||||
headers: headers
|
headers: headers
|
||||||
}
|
};
|
||||||
|
|
||||||
return this.http.post(this._baseLoginUrl, body.toString(), options)
|
return this.http.post(this._baseLoginUrl, body.toString(), options)
|
||||||
.map(res => res.json())
|
.map(res => res.json())
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
import { Component, ElementRef, Inject, OnInit } from 'angular2/core';
|
import { Component, ElementRef, OnInit } from 'angular2/core';
|
||||||
import { Router } from 'angular2/router';
|
import { Router } from 'angular2/router';
|
||||||
import { NgForm } from 'angular2/common';
|
|
||||||
|
|
||||||
import { Video } from '../../models/video';
|
|
||||||
|
|
||||||
// TODO: import it with systemjs
|
// TODO: import it with systemjs
|
||||||
declare var jQuery:any;
|
declare var jQuery:any;
|
||||||
|
|
|
@ -33,7 +33,7 @@ export class VideosListComponent implements OnInit {
|
||||||
if (this.search !== null) {
|
if (this.search !== null) {
|
||||||
observable = this._videosService.searchVideos(this.search);
|
observable = this._videosService.searchVideos(this.search);
|
||||||
} else {
|
} else {
|
||||||
observable = this._videosService.getVideos()
|
observable = this._videosService.getVideos();
|
||||||
}
|
}
|
||||||
|
|
||||||
observable.subscribe(
|
observable.subscribe(
|
||||||
|
@ -46,7 +46,7 @@ export class VideosListComponent implements OnInit {
|
||||||
this._videosService.removeVideo(id).subscribe(
|
this._videosService.removeVideo(id).subscribe(
|
||||||
status => this.getVideos(),
|
status => this.getVideos(),
|
||||||
error => alert(error)
|
error => alert(error)
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,8 +47,8 @@ export class VideosWatchComponent implements OnInit, CanDeactivate {
|
||||||
alert('Cannot append the file.');
|
alert('Cannot append the file.');
|
||||||
console.error(err);
|
console.error(err);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
routerCanDeactivate(next: ComponentInstruction, prev: ComponentInstruction) : any {
|
routerCanDeactivate(next: ComponentInstruction, prev: ComponentInstruction) : any {
|
||||||
|
|
|
@ -16,7 +16,8 @@
|
||||||
"tsc": "tsc",
|
"tsc": "tsc",
|
||||||
"tsc:w": "tsc -w",
|
"tsc:w": "tsc -w",
|
||||||
"typings": "typings",
|
"typings": "typings",
|
||||||
"postinstall": "typings install"
|
"postinstall": "typings install",
|
||||||
|
"test": "tslint -c ./tslint.json angular/**/*.ts angular/**/**/*.ts"
|
||||||
},
|
},
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -34,6 +35,8 @@
|
||||||
"zone.js": "0.5.15"
|
"zone.js": "0.5.15"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"codelyzer": "0.0.12",
|
||||||
|
"tslint": "^3.7.1",
|
||||||
"typescript": "^1.8.2",
|
"typescript": "^1.8.2",
|
||||||
"typings": "^0.6.8"
|
"typings": "^0.6.8"
|
||||||
}
|
}
|
||||||
|
|
46
client/tslint.json
Normal file
46
client/tslint.json
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
"rulesDirectory": ["./node_modules/codelyzer/dist/src"],
|
||||||
|
"rules": {
|
||||||
|
"class-name": true,
|
||||||
|
"curly": false,
|
||||||
|
"eofline": true,
|
||||||
|
"indent": ["spaces"],
|
||||||
|
"max-line-length": [true, 140],
|
||||||
|
"member-ordering": [true,
|
||||||
|
"public-before-private",
|
||||||
|
"static-before-instance",
|
||||||
|
"variables-before-functions"
|
||||||
|
],
|
||||||
|
"no-arg": true,
|
||||||
|
"no-construct": true,
|
||||||
|
"no-duplicate-key": true,
|
||||||
|
"no-duplicate-variable": true,
|
||||||
|
"no-empty": true,
|
||||||
|
"no-eval": true,
|
||||||
|
"no-trailing-whitespace": true,
|
||||||
|
"no-unused-expression": true,
|
||||||
|
"no-unused-variable": true,
|
||||||
|
"no-unreachable": true,
|
||||||
|
"no-use-before-declare": true,
|
||||||
|
"one-line": [true,
|
||||||
|
"check-open-brace",
|
||||||
|
"check-catch",
|
||||||
|
"check-else",
|
||||||
|
"check-whitespace"
|
||||||
|
],
|
||||||
|
"quotemark": [true, "single"],
|
||||||
|
"semicolon": true,
|
||||||
|
"trailing-comma": true,
|
||||||
|
"triple-equals": true,
|
||||||
|
"variable-name": false,
|
||||||
|
|
||||||
|
"component-selector-name": [true, "kebab-case"],
|
||||||
|
"component-selector-type": [true, "element"],
|
||||||
|
"host-parameter-decorator": true,
|
||||||
|
"input-parameter-decorator": true,
|
||||||
|
"output-parameter-decorator": true,
|
||||||
|
"attribute-parameter-decorator": true,
|
||||||
|
"input-property-directive": true,
|
||||||
|
"output-property-directive": true
|
||||||
|
}
|
||||||
|
}
|
|
@ -34,7 +34,7 @@
|
||||||
"dev": "npm run build && NODE_ENV=test concurrently \"npm run livereload\" \"npm run client:tsc:watch\" \"npm run client:sass:watch\" \"npm start\"",
|
"dev": "npm run build && NODE_ENV=test concurrently \"npm run livereload\" \"npm run client:tsc:watch\" \"npm run client:sass:watch\" \"npm start\"",
|
||||||
"livereload": "livereload ./client",
|
"livereload": "livereload ./client",
|
||||||
"start": "node server",
|
"start": "node server",
|
||||||
"test": "standard && mocha server/tests",
|
"test": "cd client && npm test && cd .. && standard && mocha server/tests",
|
||||||
"postinstall": "cd client && npm install"
|
"postinstall": "cd client && npm install"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
Loading…
Reference in a new issue