diff --git a/packages/compiler-cli/src/ngtsc/routing/src/lazy.ts b/packages/compiler-cli/src/ngtsc/routing/src/lazy.ts index c5cd9dfe3b..62caeed917 100644 --- a/packages/compiler-cli/src/ngtsc/routing/src/lazy.ts +++ b/packages/compiler-cli/src/ngtsc/routing/src/lazy.ts @@ -111,7 +111,7 @@ function scanForLazyRoutes(routes: ResolvedValue[]): string[] { } else if (route.has('children')) { const children = route.get('children'); if (Array.isArray(children)) { - recursivelyScanRoutes(routes); + recursivelyScanRoutes(children); } } } diff --git a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts index 2f46985930..acc6ca55e1 100644 --- a/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts +++ b/packages/compiler-cli/test/ngtsc/ngtsc_spec.ts @@ -2065,6 +2065,54 @@ describe('ngtsc behavioral tests', () => { expect(routes[0].module.filePath.endsWith('/test.ts')).toBe(true); expect(routes[0].referencedModule.filePath.endsWith('/lazy.ts')).toBe(true); }); + + it('should detect lazy routes in simple children routes', () => { + env.tsconfig(); + env.write('test.ts', ` + import {NgModule} from '@angular/core'; + import {RouterModule} from '@angular/router'; + + @Component({ + selector: 'foo', + template: '