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:
@ -112,10 +112,13 @@ export class UpgradeAdapter {
|
||||
*/
|
||||
private ng1ComponentsToBeUpgraded: {[name: string]: UpgradeNg1ComponentAdapterBuilder} = {};
|
||||
private upgradedProviders: StaticProvider[] = [];
|
||||
private ngZone: NgZone;
|
||||
private ng1Module: angular.IModule;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private ngZone !: NgZone;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private ng1Module !: angular.IModule;
|
||||
private moduleRef: NgModuleRef<any>|null = null;
|
||||
private ng2BootstrapDeferred: Deferred<angular.IInjectorService>;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private ng2BootstrapDeferred !: Deferred<angular.IInjectorService>;
|
||||
|
||||
constructor(private ng2AppModule: Type<any>, private compilerOptions?: CompilerOptions) {
|
||||
if (!ng2AppModule) {
|
||||
@ -608,7 +611,8 @@ export class UpgradeAdapter {
|
||||
* to preserve the synchronous nature of AngularJS's $compile.
|
||||
*/
|
||||
class ParentInjectorPromise {
|
||||
private injector: Injector;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private injector !: Injector;
|
||||
private callbacks: ((injector: Injector) => any)[] = [];
|
||||
|
||||
constructor(private element: angular.IAugmentedJQuery) {
|
||||
|
@ -22,7 +22,8 @@ const NOT_SUPPORTED: any = 'NOT_SUPPORTED';
|
||||
|
||||
|
||||
export class UpgradeNg1ComponentAdapterBuilder {
|
||||
type: Type<any>;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
type !: Type<any>;
|
||||
inputs: string[] = [];
|
||||
inputsRename: string[] = [];
|
||||
outputs: string[] = [];
|
||||
@ -31,7 +32,8 @@ export class UpgradeNg1ComponentAdapterBuilder {
|
||||
checkProperties: string[] = [];
|
||||
propertyMap: {[name: string]: string} = {};
|
||||
directive: angular.IDirective|null = null;
|
||||
template: string;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
template !: string;
|
||||
|
||||
constructor(public name: string) {
|
||||
const selector =
|
||||
@ -45,7 +47,8 @@ export class UpgradeNg1ComponentAdapterBuilder {
|
||||
|
||||
@Directive(directive)
|
||||
class MyClass {
|
||||
directive: angular.IDirective;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
directive !: angular.IDirective;
|
||||
constructor(
|
||||
@Inject($SCOPE) scope: angular.IScope, injector: Injector, elementRef: ElementRef) {
|
||||
const helper = new UpgradeHelper(injector, name, elementRef, this.directive);
|
||||
|
Reference in New Issue
Block a user