Skip to content

Commit 62825ff

Browse files
colinaaaoctogonz
andauthored
[api-extractor] Upgrade bundled TypeScript to 5.7 (#4815)
* WIP: [api-extractor] Upgrade bundled TypeScript to 5.5 1. Upgrade TypeScript to `5.5.2` 2. Upgrade @typescript-eslint/parser to `7.14.1` 3. Adopt breaking changes of typescript-eslint * rush change * Upgrade API Extractor's bundled TypeScript version to 5.7.2 * Update TypeScriptInternals.ts to reflect changes in TypeScript 5.7.2 NOTE: This is a type signature change that didn't affect the runtime contract; it should be fully backwards compatible * rush update * Fix a warning caused by TypeScript 5.7.2 strict checks complaining about resolve() signatures being inconsistent between @types/node/module.d.ts and lib.dom.d.ts: Warning: C:/Git/rushstack/common/temp/default/node_modules/.pnpm/@types[email protected]/node_modules/@types/node/module.d.ts:210:13 - (TS2386) Overload signatures must all be optional or required. * Temporarily suppress warning caused by TypeScript 5.7.2 being incompatible with @types/[email protected]: Warning: C:\Git\rushstack\common\temp\default\node_modules\.pnpm\@types[email protected]\node_modules\@types\node\ts3.2\globals.d.ts:10:11 - (TS2320) Interface 'Buffer' cannot simultaneously extend types 'Uint8Array<ArrayBuffer>' and 'Uint8Array<ArrayBufferLike>'. Named property 'buffer' of types 'Uint8Array<ArrayBuffer>' and 'Uint8Array<ArrayBufferLike>' are not identical. * rush change --------- Co-authored-by: Qingyu Wang <[email protected]> Co-authored-by: Pete Gonzalez <[email protected]>
1 parent d716cce commit 62825ff

File tree

24 files changed

+61
-42
lines changed

24 files changed

+61
-42
lines changed

apps/api-extractor/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"resolve": "~1.22.1",
5050
"semver": "~7.5.4",
5151
"source-map": "~0.6.1",
52-
"typescript": "5.4.2"
52+
"typescript": "5.7.2"
5353
},
5454
"devDependencies": {
5555
"@rushstack/heft-node-rig": "2.6.44",

apps/api-extractor/src/analyzer/TypeScriptInternals.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,12 @@ export class TypeScriptInternals {
101101
* Gets the mode required for module resolution required with the addition of Node16/nodenext
102102
*/
103103
public static getModeForUsageLocation(
104-
file: { impliedNodeFormat?: ts.SourceFile['impliedNodeFormat'] },
104+
file: ts.SourceFile,
105105
usage: ts.StringLiteralLike,
106106
compilerOptions: ts.CompilerOptions
107107
): ts.ModuleKind.CommonJS | ts.ModuleKind.ESNext | undefined {
108108
// Compiler internal:
109-
// https://github.com/microsoft/TypeScript/blob/v4.7.2/src/compiler/program.ts#L568
109+
// https://github.com/microsoft/TypeScript/blob/v5.7.2/src/compiler/program.ts#L940
110110

111111
return ts.getModeForUsageLocation?.(file, usage, compilerOptions);
112112
}

apps/api-extractor/src/generators/ApiModelGenerator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ export class ApiModelGenerator {
266266
}
267267

268268
private _tryFindFunctionDeclaration(astDeclaration: AstDeclaration): ts.FunctionDeclaration | undefined {
269-
const children: ts.Node[] = astDeclaration.declaration.getChildren(
269+
const children: readonly ts.Node[] = astDeclaration.declaration.getChildren(
270270
astDeclaration.declaration.getSourceFile()
271271
);
272272
return children.find(ts.isFunctionTypeNode) as ts.FunctionDeclaration | undefined;

build-tests/api-documenter-scenarios/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.ts"]

build-tests/api-extractor-d-cts-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.cts", "typings/tsd.d.ts"]

build-tests/api-extractor-d-mts-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.mts", "typings/tsd.d.ts"]

build-tests/api-extractor-lib1-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"sourceMap": true,
88
"experimentalDecorators": true,
99
"strictNullChecks": true,
10-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
10+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1111
"outDir": "lib"
1212
},
1313
"include": ["src/**/*.ts"]

build-tests/api-extractor-lib2-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-lib3-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-lib4-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-lib5-test/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
1111
"types": ["node", "jest"],
12-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
12+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1313
"outDir": "lib"
1414
},
1515
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-test-01/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"strictNullChecks": true,
1111
"esModuleInterop": true,
1212
"types": ["node", "jest"],
13-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
13+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1414
"outDir": "lib"
1515
},
1616
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-test-02/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"strictNullChecks": true,
1111
"esModuleInterop": true,
1212
"types": ["node"],
13-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
13+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1414
"outDir": "lib"
1515
},
1616
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-test-03/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"strictNullChecks": true,
1111
"esModuleInterop": true,
1212
"types": ["node", "jest"],
13-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
13+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1414
"outDir": "lib"
1515
},
1616
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-test-04/beta-consumer/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"declarationMap": true,
99
"experimentalDecorators": true,
1010
"strictNullChecks": true,
11-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
11+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1212
"outDir": "lib"
1313
},
1414
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/api-extractor-test-04/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"strictNullChecks": true,
1111
"esModuleInterop": true,
1212
"types": [],
13-
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable", "dom"],
13+
"lib": ["es5", "scripthost", "es2015.collection", "es2015.promise", "es2015.iterable"],
1414
"outDir": "lib"
1515
},
1616
"include": ["src/**/*.ts", "typings/tsd.d.ts"]

build-tests/heft-typescript-v2-test/tsconfig.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818

1919
"module": "commonjs",
2020
"target": "es2017",
21-
"lib": ["es2017"]
21+
"lib": ["es2017"],
22+
23+
// TODO: REVERT THIS AFTER WE UPGRADE heft-typescript-v2-test TO A NEWER VERSION
24+
"skipLibCheck": true
2225
},
2326
"include": ["src/**/*.ts", "src/**/*.tsx"],
2427
"exclude": ["node_modules", "lib"]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "@microsoft/api-extractor",
5+
"comment": "Upgrade the bundled compiler engine to TypeScript 5.7.2",
6+
"type": "minor"
7+
}
8+
],
9+
"packageName": "@microsoft/api-extractor"
10+
}

common/config/subspaces/build-tests-subspace/common-versions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
"~4.9.5",
9898

9999
// API Extractor bundles a specific TypeScript version because it calls internal APIs
100-
"5.4.2"
100+
"5.7.2"
101101
],
102102
"source-map": [
103103
"~0.6.1" // API Extractor is using an older version of source-map because newer versions are async

common/config/subspaces/build-tests-subspace/pnpm-lock.yaml

Lines changed: 17 additions & 17 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush.
22
{
3-
"pnpmShrinkwrapHash": "bd75fc59a5df40deec1cf3db51e99ab1a7eb35f6",
3+
"pnpmShrinkwrapHash": "cc2a213121844e88f739b521181daa5d860d33b2",
44
"preferredVersionsHash": "ce857ea0536b894ec8f346aaea08cfd85a5af648",
5-
"packageJsonInjectedDependenciesHash": "3f1f7f2e64fc15d64eef6c0311adc38dff344509"
5+
"packageJsonInjectedDependenciesHash": "7b4bb13bdb42ab5aada7a6f5ab8ec6694ea61721"
66
}

common/config/subspaces/default/common-versions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
"~4.9.5",
101101

102102
// API Extractor bundles a specific TypeScript version because it calls internal APIs
103-
"5.4.2"
103+
"5.7.2"
104104
],
105105
"source-map": [
106106
"~0.6.1" // API Extractor is using an older version of source-map because newer versions are async

common/config/subspaces/default/pnpm-lock.yaml

Lines changed: 8 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush.
22
{
3-
"pnpmShrinkwrapHash": "7b913e5ca364b30654436bba1a36ea570496f25c",
3+
"pnpmShrinkwrapHash": "77d6789469edc916cd005c6b493ab4d37d68ed64",
44
"preferredVersionsHash": "ce857ea0536b894ec8f346aaea08cfd85a5af648"
55
}

0 commit comments

Comments
 (0)