Skip to content

Commit 94096c6

Browse files
crisbetothePunderWoman
authored andcommitted
feat(core): support TypeScript 5.3 (#52572)
Updates the repo to support TypeScript 5.3 and resolve any issues. Fixes include: * Updating usages of TS compiler APIs to match their new signatures. * In TS 5.3 negative numbers are represented as `PrefixUnaryExpression` instead of `NumericExpression`. These changes update all usages to account for it since passing a negative number into the old APIs results in a runtime error. PR Close #52572
1 parent beb18fb commit 94096c6

File tree

23 files changed

+1007
-11
lines changed

23 files changed

+1007
-11
lines changed

goldens/public-api/localize/tools/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
55
```ts
66

7+
/// <reference types="@angular/compiler-cli/private/babel" />
8+
/// <reference types="@types/babel__core" />
9+
/// <reference types="@types/babel__traverse" />
10+
711
import { AbsoluteFsPath } from '@angular/compiler-cli/private/localize';
812
import { Element as Element_2 } from '@angular/compiler';
913
import { Logger } from '@angular/compiler-cli/private/localize';
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
load("//integration:index.bzl", "ng_integration_test")
2+
3+
ng_integration_test(
4+
name = "test",
5+
# Special case for `typings_test_ts53` test as we want to pin
6+
# `typescript` at version 5.3.x for that test and not link to the
7+
# root @npm//typescript package.
8+
pinned_npm_packages = ["typescript"],
9+
)
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/**
2+
* @license
3+
* Copyright Google LLC All Rights Reserved.
4+
*
5+
* Use of this source code is governed by an MIT-style license that can be
6+
* found in the LICENSE file at https://angular.io/license
7+
*/
8+
9+
10+
11+
import * as animations from '@angular/animations';
12+
import * as animationsBrowser from '@angular/animations/browser';
13+
import * as animationsBrowserTesting from '@angular/animations/browser/testing';
14+
import * as common from '@angular/common';
15+
import * as commonHttp from '@angular/common/http';
16+
import * as commonTesting from '@angular/common/testing';
17+
import * as commonHttpTesting from '@angular/common/http/testing';
18+
import * as compiler from '@angular/compiler';
19+
import * as core from '@angular/core';
20+
import * as coreTesting from '@angular/core/testing';
21+
import * as elements from '@angular/elements';
22+
import * as forms from '@angular/forms';
23+
import * as localize from '@angular/localize';
24+
import * as platformBrowser from '@angular/platform-browser';
25+
import * as platformBrowserDynamic from '@angular/platform-browser-dynamic';
26+
import * as platformBrowserDynamicTesting from '@angular/platform-browser-dynamic/testing';
27+
import * as platformBrowserAnimations from '@angular/platform-browser/animations';
28+
import * as platformBrowserTesting from '@angular/platform-browser/testing';
29+
import * as platformServer from '@angular/platform-server';
30+
import * as platformServerInit from '@angular/platform-server/init';
31+
import * as platformServerTesting from '@angular/platform-server/testing';
32+
import * as router from '@angular/router';
33+
import * as routerTesting from '@angular/router/testing';
34+
import * as routerUpgrade from '@angular/router/upgrade';
35+
import * as serviceWorker from '@angular/service-worker';
36+
import * as upgrade from '@angular/upgrade';
37+
import * as upgradeStatic from '@angular/upgrade/static';
38+
import * as upgradeTesting from '@angular/upgrade/static/testing';
39+
40+
export default {
41+
animations,
42+
animationsBrowser,
43+
animationsBrowserTesting,
44+
common,
45+
commonTesting,
46+
commonHttp,
47+
commonHttpTesting,
48+
compiler,
49+
core,
50+
coreTesting,
51+
elements,
52+
forms,
53+
localize,
54+
platformBrowser,
55+
platformBrowserTesting,
56+
platformBrowserDynamic,
57+
platformBrowserDynamicTesting,
58+
platformBrowserAnimations,
59+
platformServer,
60+
platformServerInit,
61+
platformServerTesting,
62+
router,
63+
routerTesting,
64+
routerUpgrade,
65+
serviceWorker,
66+
upgrade,
67+
upgradeStatic,
68+
upgradeTesting,
69+
};
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "angular-integration",
3+
"description": "Assert that users with TypeScript 5.3 can type-check an Angular application",
4+
"version": "0.0.0",
5+
"license": "MIT",
6+
"dependencies": {
7+
"@angular/animations": "file:../../dist/packages-dist/animations",
8+
"@angular/common": "file:../../dist/packages-dist/common",
9+
"@angular/compiler": "file:../../dist/packages-dist/compiler",
10+
"@angular/compiler-cli": "file:../../dist/packages-dist/compiler-cli",
11+
"@angular/core": "file:../../dist/packages-dist/core",
12+
"@angular/elements": "file:../../dist/packages-dist/elements",
13+
"@angular/forms": "file:../../dist/packages-dist/forms",
14+
"@angular/localize": "file:../../dist/packages-dist/localize",
15+
"@angular/platform-browser": "file:../../dist/packages-dist/platform-browser",
16+
"@angular/platform-browser-dynamic": "file:../../dist/packages-dist/platform-browser-dynamic",
17+
"@angular/platform-server": "file:../../dist/packages-dist/platform-server",
18+
"@angular/router": "file:../../dist/packages-dist/router",
19+
"@angular/service-worker": "file:../../dist/packages-dist/service-worker",
20+
"@angular/upgrade": "file:../../dist/packages-dist/upgrade",
21+
"@types/jasmine": "file:../../node_modules/@types/jasmine",
22+
"rxjs": "file:../../node_modules/rxjs",
23+
"typescript": "5.3.1-rc",
24+
"zone.js": "file:../../dist/zone.js-dist/archive/zone.js.tgz"
25+
},
26+
"scripts": {
27+
"test": "tsc"
28+
}
29+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"compilerOptions": {
3+
"forceConsistentCasingInFileNames": true,
4+
"strict": true,
5+
"noImplicitReturns": true,
6+
"noFallthroughCasesInSwitch": true,
7+
"experimentalDecorators": true,
8+
"module": "commonjs",
9+
"moduleResolution": "node",
10+
"outDir": "./dist/out-tsc",
11+
"rootDir": ".",
12+
"target": "es5",
13+
"lib": [
14+
"es5",
15+
"dom",
16+
"es2015.collection",
17+
"es2015.iterable",
18+
"es2015.promise"
19+
],
20+
"types": [],
21+
},
22+
"files": [
23+
"include-all.ts",
24+
"node_modules/@types/jasmine/index.d.ts"
25+
]
26+
}

0 commit comments

Comments
 (0)