From 0b0bd8e12c4a3440d21cee706b7e9e63edd3acdb Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 30 Sep 2025 09:52:05 -0700 Subject: [PATCH] refactor(language-service): remove some old ivy/pre-apf things (#64157) This removes the pre_apf test project, which is far out of support as well as some references to ivy PR Close #64157 --- .bazelignore | 1 - MODULE.bazel | 1 - pnpm-lock.yaml | 21 +------------------ pnpm-workspace.yaml | 1 - renovate.json | 1 - .../integration/e2e/completion_spec.ts | 2 +- .../integration/e2e/definition_spec.ts | 2 +- .../integration/e2e/hover_spec.ts | 2 +- .../integration/e2e/index.ts | 10 +++------ .../integration/lsp/ivy_spec.ts | 6 +----- .../integration/lsp/test_utils.ts | 4 ---- .../integration/pre_apf_project/BUILD.bazel | 12 ----------- .../pre_apf_project/app/app.component.ts | 11 ---------- .../pre_apf_project/app/app.module.ts | 12 ----------- .../pre_apf_project/app/foo.component.html | 4 ---- .../pre_apf_project/app/foo.component.ts | 8 ------- .../integration/pre_apf_project/package.json | 12 ----------- .../integration/pre_apf_project/tsconfig.json | 15 ------------- .../integration/test_constants.ts | 7 ++----- vscode-ng-language-service/package.json | 2 +- .../server/src/tests/BUILD.bazel | 3 --- 21 files changed, 11 insertions(+), 126 deletions(-) delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/BUILD.bazel delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/app/app.component.ts delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/app/app.module.ts delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/app/foo.component.html delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/app/foo.component.ts delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/package.json delete mode 100644 vscode-ng-language-service/integration/pre_apf_project/tsconfig.json diff --git a/.bazelignore b/.bazelignore index bee6750b169..ba422b0bff1 100644 --- a/.bazelignore +++ b/.bazelignore @@ -74,5 +74,4 @@ vscode-ng-language-service/node_modules vscode-ng-language-service/server/node_modules vscode-ng-language-service/integration/pre_standalone_project/node_modules vscode-ng-language-service/integration/workspace/node_modules -vscode-ng-language-service/integration/pre_apf_project/node_modules vscode-ng-language-service/integration/project/node_modules diff --git a/MODULE.bazel b/MODULE.bazel index 819d8bee555..6fa2180dcef 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -96,7 +96,6 @@ npm.npm_translate_lock( "//packages/service-worker:package.json", "//packages/upgrade:package.json", "//tools/bazel/rules_angular_store:package.json", - "//vscode-ng-language-service/integration/pre_apf_project:package.json", "//vscode-ng-language-service/integration/pre_standalone_project:package.json", "//vscode-ng-language-service/integration/project:package.json", "//vscode-ng-language-service/integration/workspace:package.json", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51b5de60de3..0188e4aea89 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1366,26 +1366,7 @@ importers: specifier: 3.1.0 version: 3.1.0 - vscode-ng-language-service/integration/pre_apf_project: - dependencies: - '@angular/common': - specifier: 12.2.16 - version: 12.2.16(@angular/core@12.2.16(rxjs@6.6.7)(zone.js@0.11.5))(rxjs@6.6.7) - '@angular/compiler': - specifier: 12.2.16 - version: 12.2.16 - '@angular/compiler-cli': - specifier: 12.2.16 - version: 12.2.16(@angular/compiler@12.2.16) - '@angular/core': - specifier: 12.2.16 - version: 12.2.16(rxjs@6.6.7)(zone.js@0.11.5) - rxjs: - specifier: 6.6.7 - version: 6.6.7 - zone.js: - specifier: 0.11.5 - version: 0.11.5 + vscode-ng-language-service/integration/pre_standalone_project: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 18969522b70..31233341e1c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -30,7 +30,6 @@ packages: - vscode-ng-language-service/server - vscode-ng-language-service/integration/pre_standalone_project - vscode-ng-language-service/integration/workspace - - vscode-ng-language-service/integration/pre_apf_project - vscode-ng-language-service/integration/project allowedDeprecatedVersions: diff --git a/renovate.json b/renovate.json index 1cad835e268..cac0e58a5b2 100644 --- a/renovate.json +++ b/renovate.json @@ -24,7 +24,6 @@ { "matchFileNames": [ "modules/ssr-benchmarks/package.json", - "vscode-ng-language-service/integration/pre_apf_project/package.json", "vscode-ng-language-service/integration/pre_standalone_project/package.json" ], "enabled": false diff --git a/vscode-ng-language-service/integration/e2e/completion_spec.ts b/vscode-ng-language-service/integration/e2e/completion_spec.ts index 8d365ec3028..87472b9ddec 100644 --- a/vscode-ng-language-service/integration/e2e/completion_spec.ts +++ b/vscode-ng-language-service/integration/e2e/completion_spec.ts @@ -2,7 +2,7 @@ import * as vscode from 'vscode'; import {activate, COMPLETION_COMMAND, FOO_TEMPLATE_URI} from './helper'; -describe('Angular Ivy LS completions', () => { +describe('Angular LS completions', () => { beforeAll(async () => { await activate(FOO_TEMPLATE_URI); }); diff --git a/vscode-ng-language-service/integration/e2e/definition_spec.ts b/vscode-ng-language-service/integration/e2e/definition_spec.ts index a3bc492c5a5..44c40ce9093 100644 --- a/vscode-ng-language-service/integration/e2e/definition_spec.ts +++ b/vscode-ng-language-service/integration/e2e/definition_spec.ts @@ -7,7 +7,7 @@ import {activate} from './helper'; const DEFINITION_COMMAND = 'vscode.executeDefinitionProvider'; const APP_COMPONENT_URI = vscode.Uri.file(APP_COMPONENT); -describe('Angular Ivy LS', () => { +describe('Angular LS', () => { beforeAll(async () => { await activate(APP_COMPONENT_URI); }, 25000 /* 25 seconds */); diff --git a/vscode-ng-language-service/integration/e2e/hover_spec.ts b/vscode-ng-language-service/integration/e2e/hover_spec.ts index a8c3c23ad38..4740b6aff14 100644 --- a/vscode-ng-language-service/integration/e2e/hover_spec.ts +++ b/vscode-ng-language-service/integration/e2e/hover_spec.ts @@ -4,7 +4,7 @@ import {activate, FOO_TEMPLATE_URI, HOVER_COMMAND} from './helper'; // This hover tests appear to be the only flaky ones in the suite. Disable until they can // consistently pass. -xdescribe('Angular Ivy LS quick info', () => { +xdescribe('Angular LS quick info', () => { beforeAll(async () => { await activate(FOO_TEMPLATE_URI); }); diff --git a/vscode-ng-language-service/integration/e2e/index.ts b/vscode-ng-language-service/integration/e2e/index.ts index 71374287a5a..a45019c75c6 100644 --- a/vscode-ng-language-service/integration/e2e/index.ts +++ b/vscode-ng-language-service/integration/e2e/index.ts @@ -1,15 +1,11 @@ import {join} from 'path'; import {runTests} from 'vscode-test'; -import {IS_BAZEL, PACKAGE_ROOT, PROJECT_PATH} from '../test_constants'; +import {PACKAGE_ROOT, PROJECT_PATH} from '../test_constants'; async function main() { - const EXT_DEVELOPMENT_PATH = IS_BAZEL - ? join(PACKAGE_ROOT, 'npm') - : join(PACKAGE_ROOT, 'dist', 'npm'); - const EXT_TESTS_PATH = IS_BAZEL - ? join(PACKAGE_ROOT, 'integration', 'e2e', 'jasmine') - : join(PACKAGE_ROOT, 'dist', 'integration', 'e2e', 'jasmine'); + const EXT_DEVELOPMENT_PATH = join(PACKAGE_ROOT, 'npm'); + const EXT_TESTS_PATH = join(PACKAGE_ROOT, 'integration', 'e2e', 'jasmine'); try { await runTests({ diff --git a/vscode-ng-language-service/integration/lsp/ivy_spec.ts b/vscode-ng-language-service/integration/lsp/ivy_spec.ts index 5b9a4c90ea4..838b559d190 100644 --- a/vscode-ng-language-service/integration/lsp/ivy_spec.ts +++ b/vscode-ng-language-service/integration/lsp/ivy_spec.ts @@ -45,7 +45,7 @@ import { ServerOptions, } from './test_utils'; -describe('Angular Ivy language server', () => { +describe('Angular language server', () => { jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; /* 10 seconds */ let client: MessageConnection; @@ -60,7 +60,6 @@ describe('Angular Ivy language server', () => { async function initServer(options: Partial) { client = createConnection({ - ivy: true, ...options, }); // If debugging, set to @@ -720,7 +719,6 @@ describe('auto-apply optional chaining', () => { let client: MessageConnection; beforeEach(async () => { client = createConnection({ - ivy: true, includeAutomaticOptionalChainCompletions: true, }); // If debugging, set to @@ -781,7 +779,6 @@ describe('insert snippet text', () => { let client: MessageConnection; beforeEach(async () => { client = createConnection({ - ivy: true, includeCompletionsWithSnippetText: true, }); // If debugging, set to @@ -831,7 +828,6 @@ describe('code fixes', () => { let client: MessageConnection; beforeEach(async () => { client = createConnection({ - ivy: true, includeCompletionsWithSnippetText: true, }); // If debugging, set to diff --git a/vscode-ng-language-service/integration/lsp/test_utils.ts b/vscode-ng-language-service/integration/lsp/test_utils.ts index 53a1ac6b823..d35e4c559e9 100644 --- a/vscode-ng-language-service/integration/lsp/test_utils.ts +++ b/vscode-ng-language-service/integration/lsp/test_utils.ts @@ -20,7 +20,6 @@ import {URI} from 'vscode-uri'; import {PROJECT_PATH, SERVER_PATH} from '../test_constants'; export interface ServerOptions { - ivy: boolean; includeAutomaticOptionalChainCompletions?: boolean; includeCompletionsWithSnippetText?: boolean; angularCoreVersion?: string; @@ -34,9 +33,6 @@ export function createConnection(serverOptions: ServerOptions): MessageConnectio '--ngProbeLocations', [SERVER_PATH, PROJECT_PATH].join(','), ]; - if (!serverOptions.ivy) { - argv.push('--viewEngine'); - } if (serverOptions.includeAutomaticOptionalChainCompletions) { argv.push('--includeAutomaticOptionalChainCompletions'); } diff --git a/vscode-ng-language-service/integration/pre_apf_project/BUILD.bazel b/vscode-ng-language-service/integration/pre_apf_project/BUILD.bazel deleted file mode 100644 index 7e8979d367e..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/BUILD.bazel +++ /dev/null @@ -1,12 +0,0 @@ -load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") -load("@npm//:defs.bzl", "npm_link_all_packages") - -npm_link_all_packages(name = "node_modules") - -copy_to_bin( - name = "pre_apf_project", - srcs = glob(["**"]), - visibility = [ - "//vscode-ng-language-service/server/src/tests:__pkg__", - ], -) diff --git a/vscode-ng-language-service/integration/pre_apf_project/app/app.component.ts b/vscode-ng-language-service/integration/pre_apf_project/app/app.component.ts deleted file mode 100644 index 582265a2f36..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/app/app.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import {Component, EventEmitter, Input, Output} from '@angular/core'; - -@Component({ - selector: 'my-app', - template: `

Hello {{name}}

`, -}) -export class AppComponent { - name = 'Angular'; - @Input() appInput = ''; - @Output() appOutput = new EventEmitter(); -} diff --git a/vscode-ng-language-service/integration/pre_apf_project/app/app.module.ts b/vscode-ng-language-service/integration/pre_apf_project/app/app.module.ts deleted file mode 100644 index 11c89f19b14..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/app/app.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import {CommonModule} from '@angular/common'; -import {NgModule} from '@angular/core'; - -import {AppComponent} from './app.component'; -import {FooComponent} from './foo.component'; - -@NgModule({ - imports: [CommonModule], - declarations: [AppComponent, FooComponent], - bootstrap: [AppComponent], -}) -export class AppModule {} diff --git a/vscode-ng-language-service/integration/pre_apf_project/app/foo.component.html b/vscode-ng-language-service/integration/pre_apf_project/app/foo.component.html deleted file mode 100644 index e7c655511e3..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/app/foo.component.html +++ /dev/null @@ -1,4 +0,0 @@ -{{title | uppercase}} - - subtitle - \ No newline at end of file diff --git a/vscode-ng-language-service/integration/pre_apf_project/app/foo.component.ts b/vscode-ng-language-service/integration/pre_apf_project/app/foo.component.ts deleted file mode 100644 index 0a6a2a7dd8b..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/app/foo.component.ts +++ /dev/null @@ -1,8 +0,0 @@ -import {Component} from '@angular/core'; - -@Component({ - templateUrl: 'foo.component.html', -}) -export class FooComponent { - title = 'Foo Component'; -} diff --git a/vscode-ng-language-service/integration/pre_apf_project/package.json b/vscode-ng-language-service/integration/pre_apf_project/package.json deleted file mode 100644 index 19924c08ed9..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "angular-ls-integration-test-project", - "private": true, - "dependencies": { - "@angular/common": "12.2.16", - "@angular/compiler": "12.2.16", - "@angular/compiler-cli": "12.2.16", - "@angular/core": "12.2.16", - "rxjs": "6.6.7", - "zone.js": "0.11.5" - } -} diff --git a/vscode-ng-language-service/integration/pre_apf_project/tsconfig.json b/vscode-ng-language-service/integration/pre_apf_project/tsconfig.json deleted file mode 100644 index 3e9457d1876..00000000000 --- a/vscode-ng-language-service/integration/pre_apf_project/tsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "compilerOptions": { - "moduleResolution": "node", - "experimentalDecorators": true, - "target": "es2015", - "strict": true, - "typeRoots": [ - "node_modules/@types" - ] - }, - "angularCompilerOptions": { - "strictTemplates": true, - "strictInjectionParameters": true - } -} diff --git a/vscode-ng-language-service/integration/test_constants.ts b/vscode-ng-language-service/integration/test_constants.ts index cfdef3d78cb..1b9ece67d6f 100644 --- a/vscode-ng-language-service/integration/test_constants.ts +++ b/vscode-ng-language-service/integration/test_constants.ts @@ -8,11 +8,8 @@ export function makeTempDir(): string { return mkdtempSync(tmpDir); } -export const IS_BAZEL = !!process.env['TEST_TARGET']; -export const PACKAGE_ROOT = IS_BAZEL ? resolve(__dirname, '..') : resolve(__dirname, '../..'); -export const SERVER_PATH = IS_BAZEL - ? join(PACKAGE_ROOT, 'server', 'index.js') - : join(PACKAGE_ROOT, 'dist', 'npm', 'server', 'index.js'); +export const PACKAGE_ROOT = resolve(__dirname, '..'); +export const SERVER_PATH = join(PACKAGE_ROOT, 'server', 'index.js'); export const PROJECT_PATH = join(PACKAGE_ROOT, 'integration', 'project'); export const PRE_STANDALONE_PROJECT_PATH = join( PACKAGE_ROOT, diff --git a/vscode-ng-language-service/package.json b/vscode-ng-language-service/package.json index 6b6ff2eb3b9..3fdc9224885 100644 --- a/vscode-ng-language-service/package.json +++ b/vscode-ng-language-service/package.json @@ -115,7 +115,7 @@ "angular.enable-strict-mode-prompt": { "type": "boolean", "default": true, - "markdownDescription": "Prompt to enable the [strictTemplates](https://angular.dev/reference/configs/angular-compiler-options#stricttemplates) flag in [angularCompilerOptions](https://angular.dev/reference/configs/angular-compiler-options). Note that strict mode is only available when using Ivy." + "markdownDescription": "Prompt to enable the [strictTemplates](https://angular.dev/reference/configs/angular-compiler-options#stricttemplates) flag in [angularCompilerOptions](https://angular.dev/reference/configs/angular-compiler-options)." }, "angular.trace.server": { "type": "string", diff --git a/vscode-ng-language-service/server/src/tests/BUILD.bazel b/vscode-ng-language-service/server/src/tests/BUILD.bazel index b3471f31164..eccc6f1173e 100644 --- a/vscode-ng-language-service/server/src/tests/BUILD.bazel +++ b/vscode-ng-language-service/server/src/tests/BUILD.bazel @@ -28,9 +28,6 @@ jasmine_test( chdir = package_name(), data = [ ":tests", - "//vscode-ng-language-service/integration/pre_apf_project", - "//vscode-ng-language-service/integration/pre_apf_project:node_modules/@angular/compiler", - "//vscode-ng-language-service/integration/pre_apf_project:node_modules/@angular/compiler-cli", "//vscode-ng-language-service/integration/workspace", "//vscode-ng-language-service/integration/workspace:node_modules/@angular/compiler", "//vscode-ng-language-service/integration/workspace:node_modules/@angular/compiler-cli",