fix(compiler): remove outdated and invalid warning for unresolved DI parameters (#36985)
In past versions of the View Engine compiler, we added a warning that is printed whenever the compiler comes across an Angular declaration with a constructor that does not match suitable DI tokens. The warning mentioned that in `v6.x` it will turn into an actual error. This actually happened as expected for most cases. e.g. the constructor of `@NgModule`, `@Component`'s, `@Pipe`'s etc will be checked and an error will be reported if constructor is not DI compatible. The warning has never been removed though as it was still relevant for unprovided injectables, or injectables serialized into summaries of the Angular compiler. As of version 10, classes that use Angular features need an Angular decorator. This includes base classes of services that use the lifecycles Angular feature. Due to this being a common pattern now, we can remove the warning in View Engine. The warning is not correct, and also quite confusing as it mentions the planned removal in `v6.x`. Resolves FW-2147. PR Close #36985
This commit is contained in:

committed by
Alex Rickabaugh

parent
97d6d909e7
commit
d0280a0335
@ -989,8 +989,6 @@ export class CompileMetadataResolver {
|
||||
`Can't resolve all parameters for ${stringifyType(typeOrFunc)}: (${depsTokens}).`;
|
||||
if (throwOnUnknownDeps || this._config.strictInjectionParameters) {
|
||||
this._reportError(syntaxError(message), typeOrFunc);
|
||||
} else {
|
||||
this._console.warn(`Warning: ${message} This will become an error in Angular v6.x`);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user