1
0
Fork 0

Add typescript (and angular2) linter

This commit is contained in:
Chocobozzz 2016-04-08 20:58:07 +02:00
parent 0dde91ff15
commit 44124980c5
9 changed files with 69 additions and 21 deletions

View file

@ -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)
) );
} }
} }

View file

@ -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 {

View file

@ -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())

View file

@ -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;

View file

@ -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)
) );
} }
} }

View file

@ -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 {

View file

@ -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
View 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
}
}

View file

@ -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": {