build(bazel): Turning on strictPropertyInitialization for Angular. (#24572)

All errors for existing fields have been detected and suppressed with a
`!` assertion.

Issue/24571 is tracking proper clean up of those instances.

One-line change required in ivy/compilation.ts, because it appears that
the new syntax causes tsickle emitted node to no longer track their
original sourceFiles.

PR Close #24572
This commit is contained in:
Rado Kirov
2018-06-18 16:38:33 -07:00
committed by Miško Hevery
parent 39c7769c9e
commit c95437f15d
189 changed files with 1273 additions and 632 deletions

View File

@ -92,14 +92,21 @@ import {UrlTree} from '../url_tree';
*/
@Directive({selector: ':not(a)[routerLink]'})
export class RouterLink {
@Input() queryParams: {[k: string]: any};
@Input() fragment: string;
@Input() queryParamsHandling: QueryParamsHandling;
@Input() preserveFragment: boolean;
@Input() skipLocationChange: boolean;
@Input() replaceUrl: boolean;
// TODO(issue/24571): remove '!'.
@Input() queryParams !: {[k: string]: any};
// TODO(issue/24571): remove '!'.
@Input() fragment !: string;
// TODO(issue/24571): remove '!'.
@Input() queryParamsHandling !: QueryParamsHandling;
// TODO(issue/24571): remove '!'.
@Input() preserveFragment !: boolean;
// TODO(issue/24571): remove '!'.
@Input() skipLocationChange !: boolean;
// TODO(issue/24571): remove '!'.
@Input() replaceUrl !: boolean;
private commands: any[] = [];
private preserve: boolean;
// TODO(issue/24571): remove '!'.
private preserve !: boolean;
constructor(
private router: Router, private route: ActivatedRoute,
@ -164,19 +171,28 @@ export class RouterLink {
*/
@Directive({selector: 'a[routerLink]'})
export class RouterLinkWithHref implements OnChanges, OnDestroy {
@HostBinding('attr.target') @Input() target: string;
@Input() queryParams: {[k: string]: any};
@Input() fragment: string;
@Input() queryParamsHandling: QueryParamsHandling;
@Input() preserveFragment: boolean;
@Input() skipLocationChange: boolean;
@Input() replaceUrl: boolean;
// TODO(issue/24571): remove '!'.
@HostBinding('attr.target') @Input() target !: string;
// TODO(issue/24571): remove '!'.
@Input() queryParams !: {[k: string]: any};
// TODO(issue/24571): remove '!'.
@Input() fragment !: string;
// TODO(issue/24571): remove '!'.
@Input() queryParamsHandling !: QueryParamsHandling;
// TODO(issue/24571): remove '!'.
@Input() preserveFragment !: boolean;
// TODO(issue/24571): remove '!'.
@Input() skipLocationChange !: boolean;
// TODO(issue/24571): remove '!'.
@Input() replaceUrl !: boolean;
private commands: any[] = [];
private subscription: Subscription;
private preserve: boolean;
// TODO(issue/24571): remove '!'.
private preserve !: boolean;
// the url displayed on the anchor element.
@HostBinding() href: string;
// TODO(issue/24571): remove '!'.
@HostBinding() href !: string;
constructor(
private router: Router, private route: ActivatedRoute,

View File

@ -78,9 +78,12 @@ import {RouterLink, RouterLinkWithHref} from './router_link';
})
export class RouterLinkActive implements OnChanges,
OnDestroy, AfterContentInit {
@ContentChildren(RouterLink, {descendants: true}) links: QueryList<RouterLink>;
// TODO(issue/24571): remove '!'.
@ContentChildren(RouterLink, {descendants: true})
links !: QueryList<RouterLink>;
// TODO(issue/24571): remove '!'.
@ContentChildren(RouterLinkWithHref, {descendants: true})
linksWithHrefs: QueryList<RouterLinkWithHref>;
linksWithHrefs !: QueryList<RouterLinkWithHref>;
private classes: string[] = [];
private subscription: Subscription;