refactor(core): add top 10 runtime error codes (#39188)

adds RuntimeError and code enum to improve debugging experience
refactor ExpressionChangedAfterItHasBeenCheckedError to code NG0100
refactor CyclicDependency to code NG0200
refactor No Provider to code NG0201
refactor MultipleComponentsMatch to code NG0300
refactor ExportNotFound to code NG0301
refactor PipeNotFound to code NG0302
refactor BindingNotKnown to code NG0303
refactor NotKnownElement to code NG0304

PR Close #39188
This commit is contained in:
twerske
2020-10-26 15:45:31 -07:00
committed by Alex Rickabaugh
parent 0723331b2a
commit e6ca3d3841
17 changed files with 101 additions and 26 deletions
@@ -7,6 +7,7 @@
*/
import {forwardRef, Injectable, InjectionToken, Injector, NgModule, ɵcreateInjector as createInjector} from '@angular/core';
import {ivyEnabled} from '@angular/private/testing';
import {AOT_TOKEN, AotModule, AotService} from 'app_built/src/module';
describe('Ivy NgModule', () => {
@@ -61,9 +62,10 @@ describe('Ivy NgModule', () => {
class BModule {
}
const errorCode = ivyEnabled ? 'NG0200: ' : '';
expect(() => createInjector(AModule))
.toThrowError(
'Circular dependency in DI detected for AModule. Dependency path: AModule > BModule > AModule');
.toThrowError(`${
errorCode}Circular dependency in DI detected for AModule. Dependency path: AModule > BModule > AModule`);
});
it('merges imports and exports', () => {