diff --git a/e2e/components/checkbox-e2e.spec.ts b/e2e/components/checkbox-e2e.spec.ts index c42c1abbacc..2256bf71204 100644 --- a/e2e/components/checkbox-e2e.spec.ts +++ b/e2e/components/checkbox-e2e.spec.ts @@ -10,7 +10,6 @@ describe('checkbox', () => { it('should be checked when clicked, and unchecked when clicked again', async () => { let checkboxEl = element(by.id('test-checkbox')); let inputEl = element(by.css('input[id=input-test-checkbox]')); - let checked: string; screenshot('start'); checkboxEl.click(); diff --git a/e2e/components/icon-e2e.spec.ts b/e2e/components/icon-e2e.spec.ts index 57fea20eabf..0c17ac1ff1f 100644 --- a/e2e/components/icon-e2e.spec.ts +++ b/e2e/components/icon-e2e.spec.ts @@ -1,5 +1,4 @@ import {browser, by, element} from 'protractor'; -import {screenshot} from '../screenshot'; describe('icon', () => { diff --git a/e2e/components/menu-e2e.spec.ts b/e2e/components/menu-e2e.spec.ts index 98af13ad918..4b57e5b9357 100644 --- a/e2e/components/menu-e2e.spec.ts +++ b/e2e/components/menu-e2e.spec.ts @@ -1,4 +1,4 @@ -import {Key, protractor, browser, by, element, ElementFinder} from 'protractor'; +import {Key, protractor, browser, by, element} from 'protractor'; import {screenshot} from '../screenshot'; import { expectToExist, diff --git a/src/cdk/a11y/activedescendant-key-manager.ts b/src/cdk/a11y/activedescendant-key-manager.ts index c0df3831339..ec5d19235cf 100644 --- a/src/cdk/a11y/activedescendant-key-manager.ts +++ b/src/cdk/a11y/activedescendant-key-manager.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import {QueryList} from '@angular/core'; import {ListKeyManager, CanDisable} from './list-key-manager'; /** diff --git a/src/cdk/bidi/index.ts b/src/cdk/bidi/index.ts index ffb605cbe7c..d42a66e628a 100644 --- a/src/cdk/bidi/index.ts +++ b/src/cdk/bidi/index.ts @@ -9,7 +9,7 @@ import {NgModule} from '@angular/core'; import {DOCUMENT} from '@angular/platform-browser'; import {Dir} from './dir'; -import {DIR_DOCUMENT, Directionality, DIRECTIONALITY_PROVIDER} from './directionality'; +import {DIR_DOCUMENT, Directionality} from './directionality'; export { Directionality, diff --git a/src/cdk/table/cell.ts b/src/cdk/table/cell.ts index 8061f7f7b74..36f319756f0 100644 --- a/src/cdk/table/cell.ts +++ b/src/cdk/table/cell.ts @@ -51,10 +51,8 @@ export class CdkColumnDef { }, }) export class CdkHeaderCell { - constructor(private columnDef: CdkColumnDef, - private elementRef: ElementRef, - private renderer: Renderer2) { - this.renderer.addClass(elementRef.nativeElement, `cdk-column-${columnDef.name}`); + constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) { + renderer.addClass(elementRef.nativeElement, `cdk-column-${columnDef.name}`); } } @@ -67,9 +65,7 @@ export class CdkHeaderCell { }, }) export class CdkCell { - constructor(private columnDef: CdkColumnDef, - private elementRef: ElementRef, - private renderer: Renderer2) { - this.renderer.addClass(elementRef.nativeElement, `cdk-column-${columnDef.name}`); + constructor(columnDef: CdkColumnDef, elementRef: ElementRef, renderer: Renderer2) { + renderer.addClass(elementRef.nativeElement, `cdk-column-${columnDef.name}`); } } diff --git a/src/demo-app/overlay/overlay-demo.ts b/src/demo-app/overlay/overlay-demo.ts index c4e61eba6d2..d084959cd9c 100644 --- a/src/demo-app/overlay/overlay-demo.ts +++ b/src/demo-app/overlay/overlay-demo.ts @@ -11,6 +11,9 @@ import { OverlayState, OverlayOrigin, ComponentPortal, + // This import is only used to define a generic type. The current TypeScript version incorrectly + // considers such imports as unused (https://github.com/Microsoft/TypeScript/issues/14953) + // tslint:disable-next-line:no-unused-variable Portal, TemplatePortalDirective, } from '@angular/material'; diff --git a/src/lib/autocomplete/autocomplete.spec.ts b/src/lib/autocomplete/autocomplete.spec.ts index 0cf4f8fd8c6..6ad3319b624 100644 --- a/src/lib/autocomplete/autocomplete.spec.ts +++ b/src/lib/autocomplete/autocomplete.spec.ts @@ -28,7 +28,7 @@ import {Observable} from 'rxjs/Observable'; import {Subject} from 'rxjs/Subject'; import {createKeyboardEvent, dispatchFakeEvent, typeInElement} from '@angular/cdk/testing'; import {ScrollDispatcher} from '../core/overlay/scroll/scroll-dispatcher'; -import {RxChain, map, startWith, filter} from '../core/rxjs/index'; +import {RxChain, map, startWith} from '../core/rxjs/index'; describe('MdAutocomplete', () => { diff --git a/src/lib/chips/chip-list.ts b/src/lib/chips/chip-list.ts index c3c1aaae429..74ec27dbd7f 100644 --- a/src/lib/chips/chip-list.ts +++ b/src/lib/chips/chip-list.ts @@ -19,9 +19,9 @@ import { import {MdChip} from './chip'; import {FocusKeyManager} from '../core/a11y/focus-key-manager'; -import {SPACE, LEFT_ARROW, RIGHT_ARROW, TAB} from '../core/keyboard/keycodes'; -import {coerceBooleanProperty} from '@angular/cdk'; +import {SPACE, LEFT_ARROW, RIGHT_ARROW} from '../core/keyboard/keycodes'; import {Subscription} from 'rxjs/Subscription'; +import {coerceBooleanProperty} from '@angular/cdk'; /** * A material design chips component (named ChipList for it's similarity to the List component). diff --git a/src/lib/core/a11y/activedescendant-key-manager.ts b/src/lib/core/a11y/activedescendant-key-manager.ts index c0df3831339..ec5d19235cf 100644 --- a/src/lib/core/a11y/activedescendant-key-manager.ts +++ b/src/lib/core/a11y/activedescendant-key-manager.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ -import {QueryList} from '@angular/core'; import {ListKeyManager, CanDisable} from './list-key-manager'; /** diff --git a/src/lib/core/bidi/index.ts b/src/lib/core/bidi/index.ts index 9a19368556d..98dd0cd9f39 100644 --- a/src/lib/core/bidi/index.ts +++ b/src/lib/core/bidi/index.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.io/license */ - export { Directionality, DIRECTIONALITY_PROVIDER, diff --git a/src/lib/core/datetime/native-date-adapter.spec.ts b/src/lib/core/datetime/native-date-adapter.spec.ts index 3269c9e6fa3..0e55b872aad 100644 --- a/src/lib/core/datetime/native-date-adapter.spec.ts +++ b/src/lib/core/datetime/native-date-adapter.spec.ts @@ -1,16 +1,9 @@ import {NativeDateAdapter} from './native-date-adapter'; import {Platform} from '../platform/index'; - +import {DEC, FEB, JAN, MAR} from '../testing/month-constants'; const SUPPORTS_INTL = typeof Intl != 'undefined'; - -// When constructing a Date, the month is zero-based. This can be confusing, since people are -// used to seeing them one-based. So we create these aliases to make reading the tests easier. -const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SEP = 8, OCT = 9, - NOV = 10, DEC = 11; - - describe('NativeDateAdapter', () => { let adapter; let platform; diff --git a/src/lib/core/error/error-options.ts b/src/lib/core/error/error-options.ts index ec1cd71e42e..e4d1bb4d16f 100644 --- a/src/lib/core/error/error-options.ts +++ b/src/lib/core/error/error-options.ts @@ -7,7 +7,7 @@ */ import {InjectionToken} from '@angular/core'; -import {FormControl, FormGroupDirective, Form, NgForm} from '@angular/forms'; +import {FormControl, FormGroupDirective, NgForm} from '@angular/forms'; /** Injection token that can be used to specify the global error options. */ export const MD_ERROR_GLOBAL_OPTIONS = new InjectionToken('md-error-global-options'); diff --git a/src/lib/core/option/optgroup.ts b/src/lib/core/option/optgroup.ts index fa063a4d91f..0ed6506c8a8 100644 --- a/src/lib/core/option/optgroup.ts +++ b/src/lib/core/option/optgroup.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {Component, ViewEncapsulation, ContentChildren, QueryList, Input} from '@angular/core'; +import {Component, ViewEncapsulation, Input} from '@angular/core'; import {mixinDisabled, CanDisable} from '../common-behaviors/disabled'; // Boilerplate for applying mixins to MdOptgroup. diff --git a/src/lib/core/option/option.ts b/src/lib/core/option/option.ts index 7e0ecf022c7..cb92fa27da8 100644 --- a/src/lib/core/option/option.ts +++ b/src/lib/core/option/option.ts @@ -12,7 +12,6 @@ import { EventEmitter, Input, Output, - NgModule, ViewEncapsulation, Inject, Optional, diff --git a/src/lib/core/overlay/overlay-directives.ts b/src/lib/core/overlay/overlay-directives.ts index 5700835186d..57ec25d30eb 100644 --- a/src/lib/core/overlay/overlay-directives.ts +++ b/src/lib/core/overlay/overlay-directives.ts @@ -26,11 +26,13 @@ import {TemplatePortal} from '../portal/portal'; import {OverlayState} from './overlay-state'; import { ConnectionPositionPair, + // This import is only used to define a generic type. The current TypeScript version incorrectly + // considers such imports as unused (https://github.com/Microsoft/TypeScript/issues/14953) + // tslint:disable-next-line:no-unused-variable ConnectedOverlayPositionChange } from './position/connected-position'; import {ConnectedPositionStrategy} from './position/connected-position-strategy'; import {Directionality, Direction} from '../bidi/index'; -import {Scrollable} from './scroll/scrollable'; import {ScrollStrategy} from './scroll/scroll-strategy'; import {coerceBooleanProperty} from '@angular/cdk'; import {ESCAPE} from '../keyboard/keycodes'; diff --git a/src/lib/core/overlay/overlay.spec.ts b/src/lib/core/overlay/overlay.spec.ts index a9100d91bc2..cc96eaa8146 100644 --- a/src/lib/core/overlay/overlay.spec.ts +++ b/src/lib/core/overlay/overlay.spec.ts @@ -9,9 +9,7 @@ import { OverlayContainer, Overlay, PositionStrategy, - ViewportRuler, ScrollStrategy, - ScrollDispatcher, } from './index'; @@ -336,7 +334,6 @@ describe('Overlay', () => { overlayRef.attach(componentPortal); viewContainerFixture.detectChanges(); - let backdrop = overlayContainerElement.querySelector('.cdk-overlay-backdrop') as HTMLElement; let completeHandler = jasmine.createSpy('backdrop complete handler'); overlayRef.backdropClick().subscribe(undefined, undefined, completeHandler); diff --git a/src/lib/core/overlay/scroll/scroll-strategy-options.ts b/src/lib/core/overlay/scroll/scroll-strategy-options.ts index be6a2dec0b8..2ecbf3cc72a 100644 --- a/src/lib/core/overlay/scroll/scroll-strategy-options.ts +++ b/src/lib/core/overlay/scroll/scroll-strategy-options.ts @@ -7,7 +7,6 @@ */ import {Injectable} from '@angular/core'; -import {ScrollStrategy} from './scroll-strategy'; import {CloseScrollStrategy} from './close-scroll-strategy'; import {NoopScrollStrategy} from './noop-scroll-strategy'; import {BlockScrollStrategy} from './block-scroll-strategy'; diff --git a/src/lib/core/testing/month-constants.ts b/src/lib/core/testing/month-constants.ts new file mode 100644 index 00000000000..5d8de9dd25e --- /dev/null +++ b/src/lib/core/testing/month-constants.ts @@ -0,0 +1,14 @@ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +/** + * When constructing a Date, the month is zero-based. This can be confusing, since people are + * used to seeing them one-based. So we create these aliases to make writing the tests easier. + */ +export const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SEP = 8, + OCT = 9, NOV = 10, DEC = 11; diff --git a/src/lib/datepicker/calendar.spec.ts b/src/lib/datepicker/calendar.spec.ts index 42fd8699ecb..c7e82c13d27 100644 --- a/src/lib/datepicker/calendar.spec.ts +++ b/src/lib/datepicker/calendar.spec.ts @@ -21,13 +21,7 @@ import {MdDatepickerIntl} from './datepicker-intl'; import {MdNativeDateModule} from '../core/datetime/index'; import {NoConflictStyleCompatibilityMode} from '../core'; import {MdButtonModule} from '../button/index'; - - -// When constructing a Date, the month is zero-based. This can be confusing, since people are -// used to seeing them one-based. So we create these aliases to make reading the tests easier. -const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SEP = 8, OCT = 9, - NOV = 10, DEC = 11; - +import {AUG, DEC, FEB, JAN, JUL, NOV, MAR, MAY, JUN, SEP} from '../core/testing/month-constants'; describe('MdCalendar', () => { beforeEach(async(() => { diff --git a/src/lib/datepicker/datepicker.spec.ts b/src/lib/datepicker/datepicker.spec.ts index 42a60c43e12..ea7f05288c3 100644 --- a/src/lib/datepicker/datepicker.spec.ts +++ b/src/lib/datepicker/datepicker.spec.ts @@ -10,13 +10,7 @@ import {MdInputModule} from '../input/index'; import {MdNativeDateModule, DateAdapter, NativeDateAdapter} from '../core/datetime/index'; import {ESCAPE} from '../core'; import {dispatchFakeEvent, dispatchMouseEvent, dispatchKeyboardEvent} from '@angular/cdk/testing'; - - -// When constructing a Date, the month is zero-based. This can be confusing, since people are -// used to seeing them one-based. So we create these aliases to make reading the tests easier. -const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SEP = 8, OCT = 9, - NOV = 10, DEC = 11; - +import {DEC, JAN} from '../core/testing/month-constants'; describe('MdDatepicker', () => { describe('with MdNativeDateModule', () => { diff --git a/src/lib/datepicker/datepicker.ts b/src/lib/datepicker/datepicker.ts index 6bcfc105011..7d4bedf51d4 100644 --- a/src/lib/datepicker/datepicker.ts +++ b/src/lib/datepicker/datepicker.ts @@ -33,7 +33,6 @@ import {MdDialogRef} from '../dialog/dialog-ref'; import {PositionStrategy} from '../core/overlay/position/position-strategy'; import {MdDatepickerInput} from './datepicker-input'; import {Subscription} from 'rxjs/Subscription'; -import {MdDialogConfig} from '../dialog/dialog-config'; import {DateAdapter} from '../core/datetime/index'; import {createMissingDateImplError} from './datepicker-errors'; import {ESCAPE} from '../core/keyboard/keycodes'; diff --git a/src/lib/datepicker/month-view.spec.ts b/src/lib/datepicker/month-view.spec.ts index 9220cd2a067..aae098c596d 100644 --- a/src/lib/datepicker/month-view.spec.ts +++ b/src/lib/datepicker/month-view.spec.ts @@ -4,13 +4,7 @@ import {By} from '@angular/platform-browser'; import {MdMonthView} from './month-view'; import {MdCalendarBody} from './calendar-body'; import {MdNativeDateModule, DateAdapter, NativeDateAdapter} from '../core/datetime/index'; - - -// When constructing a Date, the month is zero-based. This can be confusing, since people are -// used to seeing them one-based. So we create these aliases to make reading the tests easier. -const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SEP = 8, OCT = 9, - NOV = 10, DEC = 11; - +import {JAN, MAR} from '../core/testing/month-constants'; describe('MdMonthView', () => { beforeEach(async(() => { diff --git a/src/lib/datepicker/year-view.spec.ts b/src/lib/datepicker/year-view.spec.ts index 9c6b14523d8..d81a1978ce1 100644 --- a/src/lib/datepicker/year-view.spec.ts +++ b/src/lib/datepicker/year-view.spec.ts @@ -4,13 +4,7 @@ import {By} from '@angular/platform-browser'; import {MdYearView} from './year-view'; import {MdCalendarBody} from './calendar-body'; import {MdNativeDateModule, DateAdapter, NativeDateAdapter} from '../core/datetime/index'; - - -// When constructing a Date, the month is zero-based. This can be confusing, since people are -// used to seeing them one-based. So we create these aliases to make reading the tests easier. -const JAN = 0, FEB = 1, MAR = 2, APR = 3, MAY = 4, JUN = 5, JUL = 6, AUG = 7, SEP = 8, OCT = 9, - NOV = 10, DEC = 11; - +import {FEB, JAN, MAR} from '../core/testing/month-constants'; describe('MdYearView', () => { beforeEach(async(() => { diff --git a/src/lib/dialog/dialog-container.ts b/src/lib/dialog/dialog-container.ts index 9798875dfc5..5768c706e03 100644 --- a/src/lib/dialog/dialog-container.ts +++ b/src/lib/dialog/dialog-container.ts @@ -12,7 +12,6 @@ import { ViewChild, ViewEncapsulation, NgZone, - OnDestroy, ElementRef, EventEmitter, Inject, diff --git a/src/lib/dialog/dialog-injector.ts b/src/lib/dialog/dialog-injector.ts index a29299143a9..9dc99537d13 100644 --- a/src/lib/dialog/dialog-injector.ts +++ b/src/lib/dialog/dialog-injector.ts @@ -7,8 +7,6 @@ */ import {Injector} from '@angular/core'; -import {MdDialogRef} from './dialog-ref'; -import {MdDialogContainer} from './dialog-container'; /** Custom injector type specifically for instantiating components with a dialog. */ export class DialogInjector implements Injector { diff --git a/src/lib/dialog/dialog.spec.ts b/src/lib/dialog/dialog.spec.ts index 85f833f8399..fb347799cba 100644 --- a/src/lib/dialog/dialog.spec.ts +++ b/src/lib/dialog/dialog.spec.ts @@ -319,7 +319,7 @@ describe('MdDialog', () => { }); it('should allow setting the layout direction', () => { - let dialogRef = dialog.open(PizzaMsg, { direction: 'rtl' }); + dialog.open(PizzaMsg, { direction: 'rtl' }); viewContainerFixture.detectChanges(); diff --git a/src/lib/expansion/index.ts b/src/lib/expansion/index.ts index 63fafd75991..5defdbbc2b5 100644 --- a/src/lib/expansion/index.ts +++ b/src/lib/expansion/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.io/license */ -import {NgModule, ModuleWithProviders} from '@angular/core'; +import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {CompatibilityModule, UNIQUE_SELECTION_DISPATCHER_PROVIDER} from '../core'; import { diff --git a/src/lib/paginator/index.ts b/src/lib/paginator/index.ts index 70de22c7311..156d4527bde 100644 --- a/src/lib/paginator/index.ts +++ b/src/lib/paginator/index.ts @@ -9,7 +9,6 @@ import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {FormsModule} from '@angular/forms'; -import {MdCommonModule, OverlayModule} from '../core'; import {MdButtonModule} from '../button/index'; import {MdSelectModule} from '../select/index'; import {MdPaginator} from './paginator'; diff --git a/src/lib/paginator/paginator.spec.ts b/src/lib/paginator/paginator.spec.ts index 72af2fbc806..be69864e468 100644 --- a/src/lib/paginator/paginator.spec.ts +++ b/src/lib/paginator/paginator.spec.ts @@ -248,15 +248,6 @@ class MdPaginatorApp { } } -@Component({ - template: ` - - `, -}) -class MdPaginatorWithoutPageSizeOrOptionsApp { - @ViewChild(MdPaginator) mdPaginator: MdPaginator; -} - @Component({ template: ` diff --git a/src/lib/sidenav/sidenav.spec.ts b/src/lib/sidenav/sidenav.spec.ts index dcaad4e0086..659be958519 100644 --- a/src/lib/sidenav/sidenav.spec.ts +++ b/src/lib/sidenav/sidenav.spec.ts @@ -1,7 +1,7 @@ import {fakeAsync, async, tick, ComponentFixture, TestBed} from '@angular/core/testing'; import {Component, ElementRef, ViewChild} from '@angular/core'; import {By} from '@angular/platform-browser'; -import {MdSidenav, MdSidenavModule, MdSidenavToggleResult, MdSidenavContainer} from './index'; +import {MdSidenav, MdSidenavModule, MdSidenavContainer} from './index'; import {A11yModule} from '../core/a11y/index'; import {PlatformModule} from '../core/platform/index'; import {ESCAPE} from '../core/keyboard/keycodes'; diff --git a/src/lib/snack-bar/snack-bar-container.ts b/src/lib/snack-bar/snack-bar-container.ts index c3856a94603..a0db0cad104 100644 --- a/src/lib/snack-bar/snack-bar-container.ts +++ b/src/lib/snack-bar/snack-bar-container.ts @@ -27,7 +27,6 @@ import { import { BasePortalHost, ComponentPortal, - TemplatePortal, PortalHostDirective, } from '../core'; import {MdSnackBarConfig} from './snack-bar-config'; diff --git a/src/lib/tabs/tab-header.ts b/src/lib/tabs/tab-header.ts index 661ecb149ed..f7c323c857c 100644 --- a/src/lib/tabs/tab-header.ts +++ b/src/lib/tabs/tab-header.ts @@ -34,7 +34,6 @@ import { import {MdTabLabelWrapper} from './tab-label-wrapper'; import {MdInkBar} from './ink-bar'; import {Subscription} from 'rxjs/Subscription'; -import {applyCssTransform} from '../core/style/apply-transform'; import {auditTime, startWith} from '../core/rxjs/index'; import {of as observableOf} from 'rxjs/observable/of'; import {merge} from 'rxjs/observable/merge'; diff --git a/src/material-examples/table-filtering/table-filtering-example.ts b/src/material-examples/table-filtering/table-filtering-example.ts index ad5226f4fbb..b4def33bcbb 100644 --- a/src/material-examples/table-filtering/table-filtering-example.ts +++ b/src/material-examples/table-filtering/table-filtering-example.ts @@ -1,6 +1,5 @@ import {Component, ElementRef, ViewChild} from '@angular/core'; import {DataSource} from '@angular/cdk'; -import {MdSort} from '@angular/material'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; import {Observable} from 'rxjs/Observable'; import 'rxjs/add/operator/startWith'; diff --git a/src/tsconfig.json b/src/tsconfig.json deleted file mode 100644 index 16ab41cbf40..00000000000 --- a/src/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -// TypeScript config file that matches all source files in the project. This file is read by -// IDEs and ensures that `experimentalDecorator` warnings are not showing up. -{ - "compilerOptions": { - "experimentalDecorators": true, - "module": "es2015", - "moduleResolution": "node", - "noUnusedParameters": true, - "strictNullChecks": true, - "outDir": "../dist/packages/all", - "sourceMap": true, - "inlineSources": true, - "target": "es2015", - "lib": ["es2015", "dom"], - "types": ["jasmine"], - "baseUrl": ".", - "paths": { - "@angular/material": ["./lib/public_api.ts"], - "@angular/cdk": ["./cdk/public_api.ts"], - "@angular/cdk/testing": ["./cdk/testing"] - } - }, - "exclude": [ - // Exclude files that depend on Node APIs because those depend on the Node types and therefore - // cause ambiguous imports. For example `setTimeout()` will return a Timer instead of a number. - "universal-app/prerender.ts" - ] -} diff --git a/src/universal-app/kitchen-sink/kitchen-sink.ts b/src/universal-app/kitchen-sink/kitchen-sink.ts index 9320e7459e8..4002e7e89af 100644 --- a/src/universal-app/kitchen-sink/kitchen-sink.ts +++ b/src/universal-app/kitchen-sink/kitchen-sink.ts @@ -4,9 +4,7 @@ import {BrowserModule} from '@angular/platform-browser'; import { MdAutocompleteModule, MdButtonModule, - MdButtonToggleModule, MdCardModule, - MdCheckboxModule, MdChipsModule, MdDatepickerModule, MdDialogModule, diff --git a/tools/gulp/tasks/lint.ts b/tools/gulp/tasks/lint.ts index ed3d2e864b7..32a2acb07bb 100644 --- a/tools/gulp/tasks/lint.ts +++ b/tools/gulp/tasks/lint.ts @@ -7,9 +7,7 @@ import {buildConfig} from 'material2-build-tools'; const stylesGlob = '+(tools|src)/**/*.+(css|scss)'; /** List of flags that will passed to the different TSLint tasks. */ -const tsLintBaseFlags = [ - '-c', 'tslint.json', '+(src|e2e|tools)/**/*.ts', '--exclude', '**/node_modules/**/*' -]; +const tsLintBaseFlags = ['-c', 'tslint.json', '--project', './tsconfig.json']; /** Path to the output of the Material package. */ const materialOutPath = join(buildConfig.outputDir, 'packages', 'material'); diff --git a/tools/package-tools/build-bundles.ts b/tools/package-tools/build-bundles.ts index 8d3f1b93454..61c381fc13d 100644 --- a/tools/package-tools/build-bundles.ts +++ b/tools/package-tools/build-bundles.ts @@ -6,10 +6,6 @@ import {remapSourcemap} from './sourcemap-remap'; import {transpileFile} from './typescript-transpile'; import {buildConfig} from './build-config'; -// There are no type definitions available for these imports. -const uglify = require('uglify-js'); -const sorcery = require('sorcery'); - /** Directory where all bundles will be created in. */ const bundlesDir = join(buildConfig.outputDir, 'bundles'); diff --git a/tools/screenshot-test/functions/util/github.ts b/tools/screenshot-test/functions/util/github.ts index 405be48a45a..0d60343ff46 100644 --- a/tools/screenshot-test/functions/util/github.ts +++ b/tools/screenshot-test/functions/util/github.ts @@ -28,15 +28,13 @@ export function setGithubStatus(commitSHA: string, 'Content-Type': 'application/json' }; - return new Promise((resolve) => { + return new Promise((resolve, reject) => { request({ url: `https://api.github.com/repos/${repoSlug}/statuses/${commitSHA}`, method: 'POST', form: data, headers: headers - }, function (error: any, response: any) { - console.log(response.statusCode); - resolve(response.statusCode); - }); - }); + }, (error: any, response: any) => error ? reject(error) : resolve(response.statusCode)); + +}); } diff --git a/tools/screenshot-test/src/app/viewer/viewer.component.ts b/tools/screenshot-test/src/app/viewer/viewer.component.ts index 709b7c5675f..71ce327bd18 100644 --- a/tools/screenshot-test/src/app/viewer/viewer.component.ts +++ b/tools/screenshot-test/src/app/viewer/viewer.component.ts @@ -46,7 +46,7 @@ export class ViewerComponent { } approve() { - this._service.approvePullRequest().then((result) => { + this._service.approvePullRequest().then(() => { this.snackBar.open(`Approved`, '', this.messageDuration); }).catch((error) => { this.snackBar.open(`Error ${error}`, '', this.messageDuration); @@ -54,7 +54,7 @@ export class ViewerComponent { } updateGithubStatus() { - this._service.updatePullRequestResult().then((result) => { + this._service.updatePullRequestResult().then(() => { this.snackBar.open(`Approved`, '', this.messageDuration); }).catch((error) => { this.snackBar.open(error.message, '', this.messageDuration); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000000..cbbbcf6a8e3 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,36 @@ +// TypeScript config file that matches all source files in the project. This file is read by +// IDEs and TSLint. For IDEs it ensures that `experimentalDecorator` warnings are not showing up. +{ + "compilerOptions": { + "rootDir": ".", + "experimentalDecorators": true, + "module": "es2015", + "moduleResolution": "node", + "noUnusedParameters": true, + "strictNullChecks": true, + "skipLibCheck": true, + "outDir": "./dist/packages/all", + "target": "es2015", + "lib": ["es5", "es2015", "dom"], + "types": ["jasmine"], + "baseUrl": ".", + "paths": { + "@angular/material": ["./src/lib/public_api.ts"], + "@angular/cdk": ["./src/cdk/public_api.ts"], + "@angular/cdk/testing": ["./cdk/testing"] + } + }, + "include": [ + "src/**/*.ts", + "tools/**.ts" + ], + "exclude": [ + // Exclude files that depend on Node APIs because those depend on the Node types and therefore + // cause ambiguous imports. For example `setTimeout()` will return a Timer instead of a number. + "./src/universal-app/prerender.ts", + + // IDEs should not type-check the different node_modules directories of the different packages. + // This would cause the IDEs to be slower and also linters would check the node_modules. + "**/node_modules" + ] +} diff --git a/tslint.json b/tslint.json index 67023ce54be..2c9ee2c5518 100644 --- a/tslint.json +++ b/tslint.json @@ -29,6 +29,7 @@ "no-var-keyword": true, "no-exposed-todo": true, "no-debugger": true, + "no-unused-variable": [true, {"ignore-pattern": "^_"}], "no-rxjs-patch-imports": [ true, "src/lib",