From 8fe025f5149d7eb460e784a5a17bb467f85b9080 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 3 Apr 2026 09:13:26 +0200 Subject: [PATCH] feat(core): drop support for TypeScript 5.9 Drops support for TypeScript 5.9. BREAKING CHANGE: * TypeScript versions older than 6.0 are no longer supported. --- integration/typings_test_ts59/BUILD.bazel | 5 - integration/typings_test_ts59/include-all.ts | 69 ------------- integration/typings_test_ts59/package.json | 30 ------ integration/typings_test_ts59/pnpm-lock.yaml | 97 ------------------- .../typings_test_ts59/pnpm-workspace.yaml | 11 --- integration/typings_test_ts59/tsconfig.json | 17 ---- packages/compiler-cli/package.json | 2 +- .../compiler-cli/src/typescript_support.ts | 2 +- 8 files changed, 2 insertions(+), 231 deletions(-) delete mode 100644 integration/typings_test_ts59/BUILD.bazel delete mode 100644 integration/typings_test_ts59/include-all.ts delete mode 100644 integration/typings_test_ts59/package.json delete mode 100644 integration/typings_test_ts59/pnpm-lock.yaml delete mode 100644 integration/typings_test_ts59/pnpm-workspace.yaml delete mode 100644 integration/typings_test_ts59/tsconfig.json diff --git a/integration/typings_test_ts59/BUILD.bazel b/integration/typings_test_ts59/BUILD.bazel deleted file mode 100644 index 33afcf1a1b0..00000000000 --- a/integration/typings_test_ts59/BUILD.bazel +++ /dev/null @@ -1,5 +0,0 @@ -load("//integration:index.bzl", "ng_integration_test") - -ng_integration_test( - name = "test", -) diff --git a/integration/typings_test_ts59/include-all.ts b/integration/typings_test_ts59/include-all.ts deleted file mode 100644 index eaf2e914d50..00000000000 --- a/integration/typings_test_ts59/include-all.ts +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.dev/license - */ - -import * as animations from '@angular/animations'; -import * as animationsBrowser from '@angular/animations/browser'; -import * as animationsBrowserTesting from '@angular/animations/browser/testing'; -import * as common from '@angular/common'; -import * as commonHttp from '@angular/common/http'; -import * as commonTesting from '@angular/common/testing'; -import * as commonHttpTesting from '@angular/common/http/testing'; -import * as compiler from '@angular/compiler'; -import * as core from '@angular/core'; -import * as coreTesting from '@angular/core/testing'; -import * as elements from '@angular/elements'; -import * as forms from '@angular/forms'; -import * as formsSignals from '@angular/forms/signals'; -import * as localize from '@angular/localize'; -import * as platformBrowser from '@angular/platform-browser'; -import * as platformBrowserDynamic from '@angular/platform-browser-dynamic'; -import * as platformBrowserDynamicTesting from '@angular/platform-browser-dynamic/testing'; -import * as platformBrowserAnimations from '@angular/platform-browser/animations'; -import * as platformBrowserTesting from '@angular/platform-browser/testing'; -import * as platformServer from '@angular/platform-server'; -import * as platformServerInit from '@angular/platform-server/init'; -import * as platformServerTesting from '@angular/platform-server/testing'; -import * as router from '@angular/router'; -import * as routerTesting from '@angular/router/testing'; -import * as routerUpgrade from '@angular/router/upgrade'; -import * as serviceWorker from '@angular/service-worker'; -import * as upgrade from '@angular/upgrade'; -import * as upgradeStatic from '@angular/upgrade/static'; -import * as upgradeTesting from '@angular/upgrade/static/testing'; - -export default { - animations, - animationsBrowser, - animationsBrowserTesting, - common, - commonTesting, - commonHttp, - commonHttpTesting, - compiler, - core, - coreTesting, - elements, - forms, - formsSignals, - localize, - platformBrowser, - platformBrowserTesting, - platformBrowserDynamic, - platformBrowserDynamicTesting, - platformBrowserAnimations, - platformServer, - platformServerInit, - platformServerTesting, - router, - routerTesting, - routerUpgrade, - serviceWorker, - upgrade, - upgradeStatic, - upgradeTesting, -}; diff --git a/integration/typings_test_ts59/package.json b/integration/typings_test_ts59/package.json deleted file mode 100644 index ea5283349f8..00000000000 --- a/integration/typings_test_ts59/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "angular-integration", - "description": "Assert that users with TypeScript 5.9 can type-check an Angular application", - "version": "0.0.0", - "license": "MIT", - "dependencies": { - "@angular/animations": "link:./in-existing-linked-by-bazel", - "@angular/common": "link:./in-existing-linked-by-bazel", - "@angular/compiler": "link:./in-existing-linked-by-bazel", - "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", - "@angular/core": "link:./in-existing-linked-by-bazel", - "@angular/elements": "link:./in-existing-linked-by-bazel", - "@angular/forms": "link:./in-existing-linked-by-bazel", - "@angular/localize": "link:./in-existing-linked-by-bazel", - "@angular/platform-browser": "link:./in-existing-linked-by-bazel", - "@angular/platform-browser-dynamic": "link:./in-existing-linked-by-bazel", - "@angular/platform-server": "link:./in-existing-linked-by-bazel", - "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/service-worker": "link:./in-existing-linked-by-bazel", - "@angular/upgrade": "link:./in-existing-linked-by-bazel", - "@types/jasmine": "^6.0.0", - "rxjs": "^7.0.0", - "typescript": "6.0.2", - "zone.js": "0.16.1" - }, - "scripts": { - "test": "tsc" - }, - "packageManager": "pnpm@10.33.0" -} diff --git a/integration/typings_test_ts59/pnpm-lock.yaml b/integration/typings_test_ts59/pnpm-lock.yaml deleted file mode 100644 index 59e457dc916..00000000000 --- a/integration/typings_test_ts59/pnpm-lock.yaml +++ /dev/null @@ -1,97 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@angular/animations': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/common': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/compiler': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/compiler-cli': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/core': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/elements': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/forms': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/localize': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/platform-browser': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/platform-browser-dynamic': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/platform-server': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/router': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/service-worker': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@angular/upgrade': - specifier: link:./in-existing-linked-by-bazel - version: link:in-existing-linked-by-bazel - '@types/jasmine': - specifier: ^6.0.0 - version: 6.0.0 - rxjs: - specifier: ^7.0.0 - version: 7.8.2 - typescript: - specifier: 6.0.2 - version: 6.0.2 - zone.js: - specifier: 0.16.1 - version: 0.16.1 - -packages: - - '@types/jasmine@6.0.0': - resolution: {integrity: sha512-18lgGsLmEh3VJk9eZ5wAjTISxdqzl6YOwu8UdMpolajN57QOCNbl+AbHUd+Yu9ItrsFdB+c8LSZSGNg8nHaguw==} - - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - - typescript@6.0.2: - resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==} - engines: {node: '>=14.17'} - hasBin: true - - zone.js@0.16.1: - resolution: {integrity: sha512-dpvY17vxYIW3+bNrP0ClUlaiY0CiIRK3tnoLaGoQsQcY9/I/NpzIWQ7tQNhbV7LacQMpCII6wVzuL3tuWOyfuA==} - -snapshots: - - '@types/jasmine@6.0.0': {} - - rxjs@7.8.2: - dependencies: - tslib: 2.8.1 - - tslib@2.8.1: {} - - typescript@6.0.2: {} - - zone.js@0.16.1: {} diff --git a/integration/typings_test_ts59/pnpm-workspace.yaml b/integration/typings_test_ts59/pnpm-workspace.yaml deleted file mode 100644 index 7f08a60050d..00000000000 --- a/integration/typings_test_ts59/pnpm-workspace.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# The minimum age of a release to be considered for dependency installation. -# The value is in minutes (1440 minutes = 1 day). -minimumReleaseAge: 1440 -# List of packages to exclude from the minimum release age check. -minimumReleaseAgeExclude: - - '@angular-devkit/*' - - '@angular/*' - - '@ngtools/webpack' - - '@schematics/*' - - 'ng-packagr' - - 'zone.js' diff --git a/integration/typings_test_ts59/tsconfig.json b/integration/typings_test_ts59/tsconfig.json deleted file mode 100644 index 1a9903d1d0e..00000000000 --- a/integration/typings_test_ts59/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "experimentalDecorators": true, - "module": "es2022", - "moduleResolution": "bundler", - "outDir": "./dist/out-tsc", - "rootDir": ".", - "target": "ES2020", - "lib": ["ES2020", "dom"], - "types": [] - }, - "files": ["include-all.ts", "node_modules/@types/jasmine/index.d.ts"] -} diff --git a/packages/compiler-cli/package.json b/packages/compiler-cli/package.json index 297c56a9dfe..a909cddf019 100644 --- a/packages/compiler-cli/package.json +++ b/packages/compiler-cli/package.json @@ -44,7 +44,7 @@ }, "peerDependencies": { "@angular/compiler": "0.0.0-PLACEHOLDER", - "typescript": ">=5.9 <6.1" + "typescript": ">=6.0 <6.1" }, "peerDependenciesMeta": { "typescript": { diff --git a/packages/compiler-cli/src/typescript_support.ts b/packages/compiler-cli/src/typescript_support.ts index 35de229ea71..837d9762231 100644 --- a/packages/compiler-cli/src/typescript_support.ts +++ b/packages/compiler-cli/src/typescript_support.ts @@ -16,7 +16,7 @@ import {compareVersions} from './version_helpers'; * Note: this check is disabled in g3, search for * `angularCompilerOptions.disableTypeScriptVersionCheck` config param value in g3. */ -const MIN_TS_VERSION = '5.9.0'; +const MIN_TS_VERSION = '6.0.0'; /** * Supremum of supported TypeScript versions