diff --git a/angular/package.json b/angular/package.json index c3b8f4fb5f..8de640ac64 100644 --- a/angular/package.json +++ b/angular/package.json @@ -50,34 +50,34 @@ "peerDependencies": { "@angular-devkit/core": "^7.1.2", "@angular-devkit/schematics": "^7.1.2", - "@angular/core": "^7.1.2", - "@angular/common": "^7.1.2", - "@angular/forms": "^7.1.2", - "@angular/router": "~7.1.2", - "@angular/compiler": "^7.1.2", - "@angular/compiler-cli": "^7.1.2", - "@angular/platform-browser": "^7.1.2", - "@angular/platform-browser-dynamic": "^7.1.2", + "@angular/core": "^7.1.3", + "@angular/common": "^7.1.3", + "@angular/forms": "^7.1.3", + "@angular/router": "~7.1.3", + "@angular/compiler": "^7.1.3", + "@angular/compiler-cli": "^7.1.3", + "@angular/platform-browser": "^7.1.3", + "@angular/platform-browser-dynamic": "^7.1.3", "rxjs": ">=6.2.0", "zone.js": "^0.8.26" }, "devDependencies": { "@angular-devkit/core": "^7.1.2", "@angular-devkit/schematics": "^7.1.2", - "@angular/core": "^7.1.2", - "@angular/common": "^7.1.2", - "@angular/forms": "^7.1.2", - "@angular/router": "^7.1.2", - "@angular/compiler": "^7.1.2", - "@angular/compiler-cli": "^7.1.2", - "@angular/platform-browser": "^7.1.2", - "@angular/platform-browser-dynamic": "^7.1.2", + "@angular/core": "^7.1.3", + "@angular/common": "^7.1.3", + "@angular/forms": "^7.1.3", + "@angular/router": "^7.1.3", + "@angular/compiler": "^7.1.3", + "@angular/compiler-cli": "^7.1.3", + "@angular/platform-browser": "^7.1.3", + "@angular/platform-browser-dynamic": "^7.1.3", "@types/node": "~10.12.0", "fs-extra": "^7.0.0", - "glob": "^7.1.2", + "glob": "^7.1.3", "rxjs": "^6.2.0", "tslint": "^5.10.0", - "tslint-ionic-rules": "0.0.17", + "tslint-ionic-rules": "0.0.21", "typescript": "3.1.6", "zone.js": "^0.8.26" }, diff --git a/angular/src/app-initialize.ts b/angular/src/app-initialize.ts index 99935c151a..1c2fcf846b 100644 --- a/angular/src/app-initialize.ts +++ b/angular/src/app-initialize.ts @@ -1,15 +1,12 @@ +import '@ionic/core/dist/ionic/svg'; import { defineCustomElements } from '@ionic/core/loader'; + import { Config } from './providers/config'; import { IonicWindow } from './types/interfaces'; -// Webpack import for ionicons -// @ts-ignore -// tslint:disable-next-line:no-import-side-effect -import '@ionic/core/dist/ionic/svg'; - export function appInitialize(config: Config) { return (): any => { - const win: IonicWindow = window as any; + const win: IonicWindow | undefined = window as any; if (typeof win !== 'undefined') { const Ionic = win.Ionic = win.Ionic || {}; diff --git a/angular/src/directives/control-value-accessors/numeric-value-accesssor.ts b/angular/src/directives/control-value-accessors/numeric-value-accesssor.ts index 19ea1241a3..11ae5fe1a4 100644 --- a/angular/src/directives/control-value-accessors/numeric-value-accesssor.ts +++ b/angular/src/directives/control-value-accessors/numeric-value-accesssor.ts @@ -1,5 +1,6 @@ import { Directive, ElementRef, HostListener } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; + import { ValueAccessor } from './value-accessor'; @Directive({ diff --git a/angular/src/directives/control-value-accessors/select-value-accessor.ts b/angular/src/directives/control-value-accessors/select-value-accessor.ts index 01ded19a73..6d9743f5e7 100644 --- a/angular/src/directives/control-value-accessors/select-value-accessor.ts +++ b/angular/src/directives/control-value-accessors/select-value-accessor.ts @@ -1,5 +1,6 @@ import { Directive, ElementRef, HostListener } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; + import { ValueAccessor } from './value-accessor'; @Directive({ diff --git a/angular/src/directives/control-value-accessors/text-value-accessor.ts b/angular/src/directives/control-value-accessors/text-value-accessor.ts index eca87a82e8..353a6fd438 100644 --- a/angular/src/directives/control-value-accessors/text-value-accessor.ts +++ b/angular/src/directives/control-value-accessors/text-value-accessor.ts @@ -1,5 +1,6 @@ import { Directive, ElementRef, HostListener } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; + import { ValueAccessor } from './value-accessor'; @Directive({ diff --git a/angular/src/directives/control-value-accessors/value-accessor.ts b/angular/src/directives/control-value-accessors/value-accessor.ts index fa4ff2f78a..dcd19e3a21 100644 --- a/angular/src/directives/control-value-accessors/value-accessor.ts +++ b/angular/src/directives/control-value-accessors/value-accessor.ts @@ -56,7 +56,7 @@ export function setIonicClasses(element: ElementRef) { for (let i = 0; i < classList.length; i++) { const item = classList.item(i); - if (item && startsWith(item, 'ng-')) { + if (item !== null && startsWith(item, 'ng-')) { classList.add(`ion-${item.substr(3)}`); } } diff --git a/angular/src/directives/navigation/ion-back-button.ts b/angular/src/directives/navigation/ion-back-button.ts index ac8b1c136c..b59ee89f6d 100644 --- a/angular/src/directives/navigation/ion-back-button.ts +++ b/angular/src/directives/navigation/ion-back-button.ts @@ -1,5 +1,7 @@ import { Directive, ElementRef, HostListener, Input, Optional } from '@angular/core'; + import { NavController } from '../../providers/nav-controller'; + import { IonRouterOutlet } from './ion-router-outlet'; @Directive({ @@ -8,10 +10,10 @@ import { IonRouterOutlet } from './ion-router-outlet'; export class IonBackButtonDelegate { @Input() - set defaultHref(value: string) { + set defaultHref(value: string | undefined | null) { this.elementRef.nativeElement.defaultHref = value; } - get defaultHref() { + get defaultHref(): string | undefined | null { return this.elementRef.nativeElement.defaultHref; } diff --git a/angular/src/directives/navigation/ion-router-outlet.ts b/angular/src/directives/navigation/ion-router-outlet.ts index d3677ab689..0ee3e2f38a 100644 --- a/angular/src/directives/navigation/ion-router-outlet.ts +++ b/angular/src/directives/navigation/ion-router-outlet.ts @@ -1,10 +1,12 @@ import { Attribute, ChangeDetectorRef, ComponentFactoryResolver, ComponentRef, Directive, ElementRef, EventEmitter, Injector, Input, NgZone, OnDestroy, OnInit, Optional, Output, ViewContainerRef } from '@angular/core'; import { ActivatedRoute, ChildrenOutletContexts, OutletContext, PRIMARY_OUTLET, Router } from '@angular/router'; -import { StackController } from './stack-controller'; -import { NavController } from '../../providers/nav-controller'; -import { bindLifecycleEvents } from '../../providers/angular-delegate'; -import { RouteView, getUrl } from './stack-utils'; + import { Config } from '../../providers'; +import { bindLifecycleEvents } from '../../providers/angular-delegate'; +import { NavController } from '../../providers/nav-controller'; + +import { StackController } from './stack-controller'; +import { RouteView, getUrl } from './stack-utils'; @Directive({ selector: 'ion-router-outlet', diff --git a/angular/src/directives/navigation/ion-tabs.ts b/angular/src/directives/navigation/ion-tabs.ts index 1dafcb938d..959d075bd5 100644 --- a/angular/src/directives/navigation/ion-tabs.ts +++ b/angular/src/directives/navigation/ion-tabs.ts @@ -1,8 +1,10 @@ import { Component, ContentChild, HostListener, ViewChild } from '@angular/core'; import { TabButtonClickDetail } from '@ionic/core'; -import { IonRouterOutlet } from './ion-router-outlet'; + import { NavController } from '../../providers'; import { IonTabBar } from '../proxies'; + +import { IonRouterOutlet } from './ion-router-outlet'; import { RouteView } from './stack-utils'; @Component({ diff --git a/angular/src/directives/navigation/nav-delegate.ts b/angular/src/directives/navigation/nav-delegate.ts index ac37043793..9c8439a999 100644 --- a/angular/src/directives/navigation/nav-delegate.ts +++ b/angular/src/directives/navigation/nav-delegate.ts @@ -1,4 +1,5 @@ import { ComponentFactoryResolver, Directive, ElementRef, Injector, ViewContainerRef } from '@angular/core'; + import { AngularDelegate } from '../../providers/angular-delegate'; @Directive({ diff --git a/angular/src/directives/navigation/router-link-delegate.ts b/angular/src/directives/navigation/router-link-delegate.ts index 756046a3d1..9a21280a1b 100644 --- a/angular/src/directives/navigation/router-link-delegate.ts +++ b/angular/src/directives/navigation/router-link-delegate.ts @@ -1,9 +1,9 @@ -import { Directive, ElementRef, HostListener, Input, Optional } from '@angular/core'; -import { NavController, NavDirection } from '../../providers/nav-controller'; -import { Router, RouterLink } from '@angular/router'; import { LocationStrategy } from '@angular/common'; +import { Directive, ElementRef, HostListener, Input, Optional } from '@angular/core'; +import { Router, RouterLink } from '@angular/router'; import { Subscription } from 'rxjs'; +import { NavController, NavDirection } from '../../providers/nav-controller'; @Directive({ selector: '[routerLink]', @@ -45,10 +45,7 @@ export class RouterLinkDelegate { @HostListener('click', ['$event']) onClick(ev: UIEvent) { - if (this.routerDirection) { - this.navCtrl.setDirection(this.routerDirection); - } + this.navCtrl.setDirection(this.routerDirection); ev.preventDefault(); } } - diff --git a/angular/src/directives/navigation/stack-controller.ts b/angular/src/directives/navigation/stack-controller.ts index 48f7c4f51e..b20bbf12fe 100644 --- a/angular/src/directives/navigation/stack-controller.ts +++ b/angular/src/directives/navigation/stack-controller.ts @@ -1,10 +1,10 @@ import { ComponentRef, NgZone } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; +import { RouterDirection } from '@ionic/core'; import { NavController, NavDirection } from '../../providers/nav-controller'; -import { RouterDirection } from '@ionic/core'; -import { RouteView, computeStackId, destroyView, getUrl, insertView, isTabSwitch, toSegments } from './stack-utils'; +import { RouteView, computeStackId, destroyView, getUrl, insertView, isTabSwitch, toSegments } from './stack-utils'; export class StackController { @@ -23,7 +23,7 @@ export class StackController { private navCtrl: NavController, private zone: NgZone, ) { - this.tabsPrefix = tabsPrefix ? toSegments(tabsPrefix) : undefined; + this.tabsPrefix = tabsPrefix !== undefined ? toSegments(tabsPrefix) : undefined; } createView(enteringRef: ComponentRef, activatedRoute: ActivatedRoute): RouteView { @@ -128,7 +128,7 @@ export class StackController { showGoBack: boolean, progressAnimation: boolean ) { - if (this.runningTransition) { + if (this.runningTransition !== undefined) { await this.runningTransition; this.runningTransition = undefined; } diff --git a/angular/src/directives/navigation/stack-utils.ts b/angular/src/directives/navigation/stack-utils.ts index 1a6e5cdfab..d965b0f696 100644 --- a/angular/src/directives/navigation/stack-utils.ts +++ b/angular/src/directives/navigation/stack-utils.ts @@ -37,7 +37,6 @@ function setBack(views: RouteView[], view: RouteView) { } } - export function getUrl(router: Router, activatedRoute: ActivatedRoute) { const urlTree = router.createUrlTree(['.'], { relativeTo: activatedRoute }); return router.serializeUrl(urlTree); @@ -73,7 +72,7 @@ export function toSegments(path: string): string[] { .filter(s => s !== ''); } -export function destroyView(view: RouteView) { +export function destroyView(view: RouteView | undefined) { if (view) { // TODO lifecycle event view.ref.destroy(); diff --git a/angular/src/directives/virtual-scroll/virtual-footer.ts b/angular/src/directives/virtual-scroll/virtual-footer.ts index 20ef4f3c31..3c42173754 100644 --- a/angular/src/directives/virtual-scroll/virtual-footer.ts +++ b/angular/src/directives/virtual-scroll/virtual-footer.ts @@ -1,4 +1,5 @@ import { Directive, TemplateRef } from '@angular/core'; + import { VirtualContext } from './virtual-utils'; /** diff --git a/angular/src/directives/virtual-scroll/virtual-header.ts b/angular/src/directives/virtual-scroll/virtual-header.ts index 8bb14dac30..a4f519efe7 100644 --- a/angular/src/directives/virtual-scroll/virtual-header.ts +++ b/angular/src/directives/virtual-scroll/virtual-header.ts @@ -1,4 +1,5 @@ import { Directive, TemplateRef } from '@angular/core'; + import { VirtualContext } from './virtual-utils'; /** diff --git a/angular/src/directives/virtual-scroll/virtual-item.ts b/angular/src/directives/virtual-scroll/virtual-item.ts index ea50625da3..93056d34ea 100644 --- a/angular/src/directives/virtual-scroll/virtual-item.ts +++ b/angular/src/directives/virtual-scroll/virtual-item.ts @@ -1,4 +1,5 @@ import { Directive, TemplateRef, ViewContainerRef } from '@angular/core'; + import { VirtualContext } from './virtual-utils'; /** diff --git a/angular/src/directives/virtual-scroll/virtual-scroll.ts b/angular/src/directives/virtual-scroll/virtual-scroll.ts index 3e7f6b2b08..15c6d0e297 100644 --- a/angular/src/directives/virtual-scroll/virtual-scroll.ts +++ b/angular/src/directives/virtual-scroll/virtual-scroll.ts @@ -1,10 +1,11 @@ import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EmbeddedViewRef } from '@angular/core'; -import { proxyInputs } from '../proxies'; -import { VirtualItem } from './virtual-item'; -import { VirtualHeader } from './virtual-header'; -import { VirtualFooter } from './virtual-footer'; -import { VirtualContext } from './virtual-utils'; +import { proxyInputs } from '../proxies'; + +import { VirtualFooter } from './virtual-footer'; +import { VirtualHeader } from './virtual-header'; +import { VirtualItem } from './virtual-item'; +import { VirtualContext } from './virtual-utils'; @Directive({ selector: 'ion-virtual-scroll', diff --git a/angular/src/ionic-module.ts b/angular/src/ionic-module.ts index 64d0ee8751..c8ef381222 100644 --- a/angular/src/ionic-module.ts +++ b/angular/src/ionic-module.ts @@ -1,13 +1,12 @@ +import { CommonModule } from '@angular/common'; import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'; import { IonicConfig } from '@ionic/core'; -import { CommonModule } from '@angular/common'; import { appInitialize } from './app-initialize'; -import { ConfigToken } from './providers/config'; import * as c from './directives'; import * as d from './directives/proxies'; import * as p from './providers'; - +import { ConfigToken } from './providers/config'; const DECLARATIONS = [ // proxies @@ -122,7 +121,6 @@ const PROVIDERS = [ p.DomController ]; - @NgModule({ declarations: DECLARATIONS, exports: DECLARATIONS, diff --git a/angular/src/providers/action-sheet-controller.ts b/angular/src/providers/action-sheet-controller.ts index 12eb565898..1475966da8 100644 --- a/angular/src/providers/action-sheet-controller.ts +++ b/angular/src/providers/action-sheet-controller.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { ActionSheetOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; @Injectable() diff --git a/angular/src/providers/alert-controller.ts b/angular/src/providers/alert-controller.ts index 0abdbd7190..05c6cd60bc 100644 --- a/angular/src/providers/alert-controller.ts +++ b/angular/src/providers/alert-controller.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { AlertOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; @Injectable() diff --git a/angular/src/providers/angular-delegate.ts b/angular/src/providers/angular-delegate.ts index d65dfb4786..386e7dfdf3 100644 --- a/angular/src/providers/angular-delegate.ts +++ b/angular/src/providers/angular-delegate.ts @@ -1,7 +1,7 @@ import { ApplicationRef, ComponentFactoryResolver, Injectable, InjectionToken, Injector, NgZone, ViewContainerRef } from '@angular/core'; import { FrameworkDelegate } from '@ionic/core'; -import { NavParams } from '../directives/navigation/nav-params'; +import { NavParams } from '../directives/navigation/nav-params'; @Injectable() export class AngularDelegate { @@ -20,7 +20,6 @@ export class AngularDelegate { } } - export class AngularFrameworkDelegate implements FrameworkDelegate { private elRefMap = new WeakMap(); @@ -133,7 +132,6 @@ export function bindLifecycleEvents(instance: any, element: HTMLElement) { const NavParamsToken = new InjectionToken('NavParamsToken'); - function getProviders(params: {[key: string]: any}) { return [ { diff --git a/angular/src/providers/config.ts b/angular/src/providers/config.ts index 2d4ec5b0a2..3e20685429 100644 --- a/angular/src/providers/config.ts +++ b/angular/src/providers/config.ts @@ -1,7 +1,7 @@ -import { Config as CoreConfig, IonicConfig } from '@ionic/core'; import { InjectionToken } from '@angular/core'; -import { IonicWindow } from '../types/interfaces'; +import { Config as CoreConfig, IonicConfig } from '@ionic/core'; +import { IonicWindow } from '../types/interfaces'; export class Config { @@ -40,7 +40,7 @@ export class Config { export const ConfigToken = new InjectionToken('USERCONFIG'); function getConfig(): CoreConfig | null { - const win: IonicWindow = window as any; + const win: IonicWindow | undefined = window as any; if (typeof win !== 'undefined') { const Ionic = win.Ionic; if (Ionic && Ionic.config) { diff --git a/angular/src/providers/events.ts b/angular/src/providers/events.ts index 184e47daed..8b8fd440e2 100644 --- a/angular/src/providers/events.ts +++ b/angular/src/providers/events.ts @@ -1,6 +1,5 @@ import { Injectable } from '@angular/core'; - export type EventHandler = (...args: any[]) => any; @Injectable() export class Events { @@ -74,7 +73,6 @@ export class Events { } } - export function setupEvents() { const events = new Events(); @@ -87,7 +85,6 @@ export function setupEvents() { return events; } - export function setupProvideEvents() { return () => { return setupEvents(); diff --git a/angular/src/providers/loading-controller.ts b/angular/src/providers/loading-controller.ts index 4130606dc8..614cf477ec 100644 --- a/angular/src/providers/loading-controller.ts +++ b/angular/src/providers/loading-controller.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { LoadingOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; @Injectable() diff --git a/angular/src/providers/menu-controller.ts b/angular/src/providers/menu-controller.ts index 6f68232c2c..4a49bf60bb 100644 --- a/angular/src/providers/menu-controller.ts +++ b/angular/src/providers/menu-controller.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; + import { proxyMethod } from '../util/util'; const CTRL = 'ion-menu-controller'; @@ -14,7 +15,6 @@ export class MenuController { return proxyMethod(CTRL, 'open', menuId); } - /** * Programmatically close the Menu. If no `menuId` is given as the first * argument then it'll close any menu which is open. If a `menuId` diff --git a/angular/src/providers/modal-controller.ts b/angular/src/providers/modal-controller.ts index 72dd13af64..223b547211 100644 --- a/angular/src/providers/modal-controller.ts +++ b/angular/src/providers/modal-controller.ts @@ -1,6 +1,8 @@ import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core'; import { ModalOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; + import { AngularDelegate } from './angular-delegate'; @Injectable() diff --git a/angular/src/providers/nav-controller.ts b/angular/src/providers/nav-controller.ts index c2c48b39c6..2d1cee2a75 100644 --- a/angular/src/providers/nav-controller.ts +++ b/angular/src/providers/nav-controller.ts @@ -1,9 +1,10 @@ -import { Injectable, Optional } from '@angular/core'; import { Location } from '@angular/common'; +import { Injectable, Optional } from '@angular/core'; import { NavigationExtras, NavigationStart, Router, UrlTree } from '@angular/router'; -import { Platform } from './platform'; import { RouterDirection } from '@ionic/core'; +import { Platform } from './platform'; + export type NavDirection = 'forward' | 'back' | 'root' | 'auto'; @Injectable() diff --git a/angular/src/providers/picker-controller.ts b/angular/src/providers/picker-controller.ts index 482a9bd9ac..a874e7504f 100644 --- a/angular/src/providers/picker-controller.ts +++ b/angular/src/providers/picker-controller.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { PickerOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; @Injectable() diff --git a/angular/src/providers/platform.ts b/angular/src/providers/platform.ts index 2a67391b96..69bb17d254 100644 --- a/angular/src/providers/platform.ts +++ b/angular/src/providers/platform.ts @@ -1,8 +1,8 @@ import { Injectable } from '@angular/core'; import { BackButtonDetail, Platforms, getPlatforms, isPlatform } from '@ionic/core'; -import { proxyEvent } from '../util/util'; import { Subject, Subscription } from 'rxjs'; +import { proxyEvent } from '../util/util'; export interface BackButtonEmitter extends Subject { subscribeWithPriority(priority: number, callback: () => Promise | void): Subscription; diff --git a/angular/src/providers/popover-controller.ts b/angular/src/providers/popover-controller.ts index 04c41c7cbf..be92b537fb 100644 --- a/angular/src/providers/popover-controller.ts +++ b/angular/src/providers/popover-controller.ts @@ -1,6 +1,8 @@ import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core'; import { PopoverOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; + import { AngularDelegate } from './angular-delegate'; @Injectable() diff --git a/angular/src/providers/toast-controller.ts b/angular/src/providers/toast-controller.ts index 50762e81fe..8fb7c2f614 100644 --- a/angular/src/providers/toast-controller.ts +++ b/angular/src/providers/toast-controller.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; import { ToastOptions } from '@ionic/core'; + import { OverlayBaseController } from '../util/overlay'; @Injectable() diff --git a/angular/src/util/util.ts b/angular/src/util/util.ts index c0993dfc79..dd5c95fe4f 100644 --- a/angular/src/util/util.ts +++ b/angular/src/util/util.ts @@ -10,8 +10,8 @@ export function inputs(instance: any, el: ElementRef, props: string[]) { } export function proxyEvent(emitter: Subject, el: EventTarget, eventName: string) { - el.addEventListener(eventName, (ev) => { - emitter.next(ev ? (ev as any).detail as T : undefined); + el.addEventListener(eventName, ev => { + emitter.next((ev as any).detail as T); }); } @@ -34,15 +34,14 @@ export function deepEqual(x: any, y: any) { if (x === y) { return true; } else if (typeof x === 'object' && x != null && (typeof y === 'object' && y != null)) { - if (Object.keys(x).length !== Object.keys(y).length) return false; + if (Object.keys(x).length !== Object.keys(y).length) { return false; } for (const prop in x) { if (y.hasOwnProperty(prop)) { - if (!deepEqual(x[prop], y[prop])) return false; - } else return false; + if (!deepEqual(x[prop], y[prop])) { return false; } + } else { return false; } } return true; - } else return false; + } else { return false; } } - diff --git a/angular/tslint.json b/angular/tslint.json index e22675d04b..973d007101 100644 --- a/angular/tslint.json +++ b/angular/tslint.json @@ -1,6 +1,24 @@ { - "extends": "tslint-ionic-rules", + "extends": ["tslint-ionic-rules/strict"], + "linterOptions": { + "exclude": [ + "**/*.spec.ts", + "**/*.spec.tsx" + ] + }, "rules": { - "no-non-null-assertion": false + "no-conditional-assignment": false, + "no-non-null-assertion": false, + "no-unnecessary-type-assertion": false, + "no-import-side-effect": false, + "trailing-comma": false, + "no-null-keyword": false, + "no-console": false, + "no-unbound-method": true, + "no-floating-promises": false, + "no-invalid-template-strings": true, + "ban-export-const-enum": true, + + "prefer-for-of": false } }