diff --git a/packages/language-service/src/language_service.ts b/packages/language-service/src/language_service.ts index 00706c69ad..d12c163d11 100644 --- a/packages/language-service/src/language_service.ts +++ b/packages/language-service/src/language_service.ts @@ -28,11 +28,6 @@ export function createLanguageService(host: TypeScriptServiceHost): LanguageServ class LanguageServiceImpl implements LanguageService { constructor(private readonly host: TypeScriptServiceHost) {} - getTemplateReferences(): string[] { - this.host.getAnalyzedModules(); // same role as 'synchronizeHostData' - return this.host.getTemplateReferences(); - } - getDiagnostics(fileName: string): tss.Diagnostic[] { const analyzedModules = this.host.getAnalyzedModules(); // same role as 'synchronizeHostData' const results: Diagnostic[] = []; diff --git a/packages/language-service/src/ts_plugin.ts b/packages/language-service/src/ts_plugin.ts index f0261636c9..34f416c983 100644 --- a/packages/language-service/src/ts_plugin.ts +++ b/packages/language-service/src/ts_plugin.ts @@ -44,7 +44,6 @@ export function getExternalFiles(project: tss.server.Project): string[] { // Without an Angular host there is no way to get template references. return []; } - ngLSHost.getAnalyzedModules(); const templates = ngLSHost.getTemplateReferences(); const logger = project.projectService.logger; if (logger.hasLevel(tss.server.LogLevel.verbose)) { diff --git a/packages/language-service/src/types.ts b/packages/language-service/src/types.ts index 3b66681f51..88699d43e5 100644 --- a/packages/language-service/src/types.ts +++ b/packages/language-service/src/types.ts @@ -394,11 +394,6 @@ export interface Hover { * @publicApi */ export interface LanguageService { - /** - * Returns a list of all the external templates referenced by the project. - */ - getTemplateReferences(): string[]; - /** * Returns a list of all error for all templates in the given file. */ diff --git a/packages/language-service/src/typescript_host.ts b/packages/language-service/src/typescript_host.ts index e646c97268..87f51c4dff 100644 --- a/packages/language-service/src/typescript_host.ts +++ b/packages/language-service/src/typescript_host.ts @@ -144,7 +144,10 @@ export class TypeScriptServiceHost implements LanguageServiceHost { return this.resolver.getReflector() as StaticReflector; } - getTemplateReferences(): string[] { return [...this.templateReferences]; } + getTemplateReferences(): string[] { + this.getAnalyzedModules(); + return [...this.templateReferences]; + } /** * Checks whether the program has changed and returns all analyzed modules. diff --git a/packages/language-service/test/language_service_spec.ts b/packages/language-service/test/language_service_spec.ts index 66bc5b9634..2c7a87b3dc 100644 --- a/packages/language-service/test/language_service_spec.ts +++ b/packages/language-service/test/language_service_spec.ts @@ -14,7 +14,7 @@ import {TypeScriptServiceHost} from '../src/typescript_host'; import {MockTypescriptHost} from './test_utils'; describe('service without angular', () => { - const mockHost = new MockTypescriptHost(['/app/main.ts', '/app/parsing-cases.ts']); + const mockHost = new MockTypescriptHost(['/app/main.ts']); const service = ts.createLanguageService(mockHost); const ngHost = new TypeScriptServiceHost(mockHost, service); const ngService = createLanguageService(ngHost); @@ -23,8 +23,6 @@ describe('service without angular', () => { beforeEach(() => { mockHost.reset(); }); - it('should not crash a get template references', - () => { expect(() => ngService.getTemplateReferences()).not.toThrow(); }); it('should not crash a get diagnostics', () => { expect(() => ngService.getDiagnostics(fileName)).not.toThrow(); }); diff --git a/packages/language-service/test/template_references_spec.ts b/packages/language-service/test/template_references_spec.ts index 4740bd671d..6e49ca44b4 100644 --- a/packages/language-service/test/template_references_spec.ts +++ b/packages/language-service/test/template_references_spec.ts @@ -8,8 +8,6 @@ import * as ts from 'typescript'; -import {createLanguageService} from '../src/language_service'; -import {LanguageService} from '../src/types'; import {TypeScriptServiceHost} from '../src/typescript_host'; import {MockTypescriptHost} from './test_utils'; @@ -18,15 +16,13 @@ describe('references', () => { const mockHost = new MockTypescriptHost(['/app/main.ts']); const service = ts.createLanguageService(mockHost); const ngHost = new TypeScriptServiceHost(mockHost, service); - const ngService = createLanguageService(ngHost); beforeEach(() => { mockHost.reset(); }); - it('should be able to get template references', - () => { expect(() => ngService.getTemplateReferences()).not.toThrow(); }); - - it('should be able to determine that test.ng is a template reference', - () => { expect(ngService.getTemplateReferences()).toContain('/app/test.ng'); }); + it('should be able to determine that test.ng is a template reference', () => { + const templates = ngHost.getTemplateReferences(); + expect(templates).toEqual(['/app/test.ng']); + }); it('should be able to get template references for an invalid project', () => { const moduleCode = ` @@ -42,7 +38,8 @@ describe('references', () => { `; mockHost.addScript('/app/test.module.ts', moduleCode); mockHost.addScript('/app/test.component.ts', classCode); - expect(() => { ngService.getTemplateReferences(); }).not.toThrow(); + const templates = ngHost.getTemplateReferences(); + expect(templates).toEqual(['/app/test.ng']); }); });