Upgrade TypeScript to v5.5.2 (#67113)

This commit is contained in:
Jiwon Choi 2024-07-04 17:03:46 +09:00 committed by GitHub
parent 5c92390337
commit ce9670ff2e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 75 additions and 117 deletions

View file

@ -236,7 +236,7 @@
"tree-kill": "1.2.2",
"tsec": "0.2.1",
"turbo": "2.0.6-canary.0",
"typescript": "5.4.5",
"typescript": "5.5.2",
"unfetch": "4.2.0",
"wait-port": "0.2.2",
"webpack": "5.90.0",

View file

@ -1,4 +1,5 @@
/// <reference types="./types/global" />
/// <reference types="./types/compiled" />
/// <reference path="./dist/styled-jsx/types/index.d.ts" />
/// <reference path="./amp.d.ts" />
/// <reference path="./app.d.ts" />

View file

@ -321,7 +321,7 @@
"util": "0.12.4",
"vm-browserify": "1.1.2",
"watchpack": "2.4.0",
"web-vitals": "3.0.0",
"web-vitals": "4.2.1",
"webpack": "5.90.0",
"webpack-sources1": "npm:webpack-sources@1.4.3",
"webpack-sources3": "npm:webpack-sources@3.2.3",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -182,7 +182,7 @@ async function createForwardedActionResponse(
const fetchUrl = new URL(`${origin}${basePath}${workerPathname}`)
try {
let body: BodyInit | AsyncIterable<any> | undefined
let body: BodyInit | ReadableStream<Uint8Array> | undefined
if (
// The type check here ensures that `req` is correctly typed, and the
// environment variable check provides dead code elimination.

View file

@ -87,9 +87,8 @@ export async function streamToBuffer(
): Promise<Buffer> {
const buffers: Buffer[] = []
// @ts-expect-error TypeScript gets this wrong (https://nodejs.org/api/webstreams.html#async-iteration)
for await (const chunk of stream) {
buffers.push(chunk)
buffers.push(Buffer.from(chunk))
}
return Buffer.concat(buffers)
@ -101,7 +100,6 @@ export async function streamToString(
const decoder = new TextDecoder('utf-8', { fatal: true })
let string = ''
// @ts-expect-error TypeScript gets this wrong (https://nodejs.org/api/webstreams.html#async-iteration)
for await (const chunk of stream) {
string += decoder.decode(chunk, { stream: true })
}

View file

@ -1,8 +1,8 @@
/// <reference types="node" />
/// <reference types="react" />
/// <reference types="react/experimental" />
/// <reference types="react-dom" />
/// <reference types="react-dom/experimental" />
/// <reference types="node" preserve="true" />
/// <reference types="react" preserve="true" />
/// <reference types="react/experimental" preserve="true" />
/// <reference types="react-dom" preserve="true" />
/// <reference types="react-dom/experimental" preserve="true" />
import type { Agent as HttpAgent } from 'http'
import type { Agent as HttpsAgent } from 'https'

View file

@ -2589,10 +2589,7 @@ export async function diagnostics(task, opts) {
}
export async function build(task, opts) {
await task.serial(
['precompile', 'compile', 'generate_types', 'rewrite_compiled_references'],
opts
)
await task.serial(['precompile', 'compile', 'generate_types'], opts)
}
export async function generate_types(task, opts) {
@ -2601,37 +2598,6 @@ export async function generate_types(task, opts) {
})
}
/**
* TypeScript will emit references to the compiled types used to type the implementation.
* The declarations however don't need such detailed types.
* We rewrite the references to reference a more lightweight solution instead.
* @param {import('taskr').Task} task
*/
export async function rewrite_compiled_references(task, opts) {
const declarationDirectory = join(__dirname, 'dist')
const declarationFiles = glob.sync('**/*.d.ts', { cwd: declarationDirectory })
for (const declarationFile of declarationFiles) {
const content = await fs.readFile(
join(declarationDirectory, declarationFile),
'utf8'
)
// Rewrite
// /// <reference path="../../../../types/$$compiled.internal.d.ts" />
// to
// /// <reference path="../../../../types/compiled.d.ts" />
if (content.indexOf('/types/$$compiled.internal.d.ts" />') !== -1) {
await fs.writeFile(
join(declarationDirectory, declarationFile),
content.replace(
/\/types\/\$\$compiled\.internal\.d\.ts" \/>/g,
'/types/compiled.d.ts" />'
)
)
}
}
}
export default async function (task) {
const opts = { dev: true }
await task.clear('dist')

View file

@ -2,13 +2,13 @@
"extends": "../../tsconfig-tsec.json",
"compilerOptions": {
"strict": true,
"module": "esnext",
"target": "ES2017",
"esModuleInterop": true,
"moduleResolution": "node",
"jsx": "react-jsx",
"stripInternal": true,
"verbatimModuleSyntax": true
"esModuleInterop": true,
"verbatimModuleSyntax": true,
"jsx": "react-jsx",
"module": "ESNext",
"target": "ES2018",
"moduleResolution": "node"
},
"exclude": [
"dist",

View file

@ -1,9 +1,2 @@
// Triple slash directives are copied from src/types.ts.
// TypeScript currently does not preserve the tripple-slash directives.
// Once https://github.com/microsoft/TypeScript/pull/57681 is released, we can remove the triple slash directives here.
/// <reference types="react" />
/// <reference types="react/experimental" />
/// <reference types="react-dom" />
/// <reference types="react-dom/experimental" />
export * from './dist/types'
export { default } from './dist/types'

View file

@ -187,10 +187,10 @@ importers:
version: 2.0.3
'@typescript-eslint/eslint-plugin':
specifier: 6.14.0
version: 6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5)
version: 6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(typescript@5.5.2)
'@typescript-eslint/parser':
specifier: 6.14.0
version: 6.14.0(eslint@8.56.0)(typescript@5.4.5)
version: 6.14.0(eslint@8.56.0)(typescript@5.5.2)
'@vercel/devlow-bench':
specifier: 0.3.1
version: 0.3.1(encoding@0.1.13)
@ -268,10 +268,10 @@ importers:
version: 5.2.1(eslint@8.56.0)
eslint-plugin-import:
specifier: 2.29.1
version: 2.29.1(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)
version: 2.29.1(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)
eslint-plugin-jest:
specifier: 27.6.3
version: 27.6.3(@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(jest@29.7.0(@types/node@20.12.3)(babel-plugin-macros@3.1.0))(typescript@5.4.5)
version: 27.6.3(@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(jest@29.7.0(@types/node@20.12.3)(babel-plugin-macros@3.1.0))(typescript@5.5.2)
eslint-plugin-jsdoc:
specifier: 48.0.4
version: 48.0.4(eslint@8.56.0)
@ -550,13 +550,13 @@ importers:
version: 1.2.2
tsec:
specifier: 0.2.1
version: 0.2.1(@bazel/bazelisk@1.19.0)(typescript@5.4.5)
version: 0.2.1(@bazel/bazelisk@1.19.0)(typescript@5.5.2)
turbo:
specifier: 2.0.6-canary.0
version: 2.0.6-canary.0
typescript:
specifier: 5.4.5
version: 5.4.5
specifier: 5.5.2
version: 5.5.2
unfetch:
specifier: 4.2.0
version: 4.2.0
@ -1459,8 +1459,8 @@ importers:
specifier: 2.4.0
version: 2.4.0
web-vitals:
specifier: 3.0.0
version: 3.0.0
specifier: 4.2.1
version: 4.2.1
webpack:
specifier: 5.90.0
version: 5.90.0(@swc/core@1.6.6(@swc/helpers@0.5.11))
@ -14131,8 +14131,8 @@ packages:
engines: {node: '>=4.2.0'}
hasBin: true
typescript@5.4.5:
resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
typescript@5.5.2:
resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==}
engines: {node: '>=14.17'}
hasBin: true
@ -14566,8 +14566,8 @@ packages:
web-namespaces@1.1.4:
resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==}
web-vitals@3.0.0:
resolution: {integrity: sha512-3Gh6rH5aetFYqfkl9V59KCvjj9vp9U2Tkaep9MO+xpAVg+JULmQfi5zEkcPLkE6iU8pNYVwdjHvIU8RFAchYyQ==}
web-vitals@4.2.1:
resolution: {integrity: sha512-U6bAxeudnhDqcXNl50JC4hLlqox9DZnngxfISZm3DMZnonW35xtJOVUc091L+DOY+6hVZVpKXoiCP0RiT6339Q==}
web-worker@1.3.0:
resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==}
@ -19407,13 +19407,13 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.0
'@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5)':
'@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(typescript@5.5.2)':
dependencies:
'@eslint-community/regexpp': 4.5.1
'@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.5.2)
'@typescript-eslint/scope-manager': 6.14.0
'@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@5.5.2)
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.5.2)
'@typescript-eslint/visitor-keys': 6.14.0
debug: 4.3.4
eslint: 8.56.0
@ -19421,9 +19421,9 @@ snapshots:
ignore: 5.2.4
natural-compare: 1.4.0
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.4.5)
ts-api-utils: 1.0.1(typescript@5.5.2)
optionalDependencies:
typescript: 5.4.5
typescript: 5.5.2
transitivePeerDependencies:
- supports-color
@ -19447,16 +19447,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5)':
'@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2)':
dependencies:
'@typescript-eslint/scope-manager': 6.14.0
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.4.5)
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.5.2)
'@typescript-eslint/visitor-keys': 6.14.0
debug: 4.3.4
eslint: 8.56.0
optionalDependencies:
typescript: 5.4.5
typescript: 5.5.2
transitivePeerDependencies:
- supports-color
@ -19483,15 +19483,15 @@ snapshots:
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/visitor-keys': 6.14.0
'@typescript-eslint/type-utils@6.14.0(eslint@8.56.0)(typescript@5.4.5)':
'@typescript-eslint/type-utils@6.14.0(eslint@8.56.0)(typescript@5.5.2)':
dependencies:
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.4.5)
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.5.2)
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.5.2)
debug: 4.3.4
eslint: 8.56.0
ts-api-utils: 1.0.1(typescript@5.4.5)
ts-api-utils: 1.0.1(typescript@5.5.2)
optionalDependencies:
typescript: 5.4.5
typescript: 5.5.2
transitivePeerDependencies:
- supports-color
@ -19511,7 +19511,7 @@ snapshots:
'@typescript-eslint/types@6.14.0': {}
'@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)':
'@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.2)':
dependencies:
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/visitor-keys': 5.62.0
@ -19519,13 +19519,13 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.3.7
tsutils: 3.21.0(typescript@5.4.5)
tsutils: 3.21.0(typescript@5.5.2)
optionalDependencies:
typescript: 5.4.5
typescript: 5.5.2
transitivePeerDependencies:
- supports-color
'@typescript-eslint/typescript-estree@6.14.0(typescript@5.4.5)':
'@typescript-eslint/typescript-estree@6.14.0(typescript@5.5.2)':
dependencies:
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/visitor-keys': 6.14.0
@ -19533,9 +19533,9 @@ snapshots:
globby: 11.1.0
is-glob: 4.0.3
semver: 7.6.2
ts-api-utils: 1.0.1(typescript@5.4.5)
ts-api-utils: 1.0.1(typescript@5.5.2)
optionalDependencies:
typescript: 5.4.5
typescript: 5.5.2
transitivePeerDependencies:
- supports-color
@ -19553,14 +19553,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.4.5)':
'@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.5.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.6
'@typescript-eslint/scope-manager': 5.62.0
'@typescript-eslint/types': 5.62.0
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5)
'@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2)
eslint: 8.56.0
eslint-scope: 5.1.1
semver: 7.3.7
@ -19568,14 +19568,14 @@ snapshots:
- supports-color
- typescript
'@typescript-eslint/utils@6.14.0(eslint@8.56.0)(typescript@5.4.5)':
'@typescript-eslint/utils@6.14.0(eslint@8.56.0)(typescript@5.5.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.6
'@typescript-eslint/scope-manager': 6.14.0
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.4.5)
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.5.2)
eslint: 8.56.0
semver: 7.6.2
transitivePeerDependencies:
@ -22520,11 +22520,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.8.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
eslint-module-utils@2.8.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint@8.56.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.5.2)
eslint: 8.56.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
@ -22574,7 +22574,7 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0):
eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0):
dependencies:
array-includes: 3.1.7
array.prototype.findlastindex: 1.2.3
@ -22584,7 +22584,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.56.0
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint@8.56.0)
hasown: 2.0.0
is-core-module: 2.13.1
is-glob: 4.0.3
@ -22595,18 +22595,18 @@ snapshots:
semver: 6.3.1
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/parser': 6.14.0(eslint@8.56.0)(typescript@5.5.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-jest@27.6.3(@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(jest@29.7.0(@types/node@20.12.3)(babel-plugin-macros@3.1.0))(typescript@5.4.5):
eslint-plugin-jest@27.6.3(@typescript-eslint/eslint-plugin@6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(jest@29.7.0(@types/node@20.12.3)(babel-plugin-macros@3.1.0))(typescript@5.5.2):
dependencies:
'@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.5.2)
eslint: 8.56.0
optionalDependencies:
'@typescript-eslint/eslint-plugin': 6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5)
'@typescript-eslint/eslint-plugin': 6.14.0(@typescript-eslint/parser@6.14.0(eslint@8.56.0)(typescript@5.5.2))(eslint@8.56.0)(typescript@5.5.2)
jest: 29.7.0(@types/node@20.12.3)(babel-plugin-macros@3.1.0)
transitivePeerDependencies:
- supports-color
@ -30572,9 +30572,9 @@ snapshots:
trough@2.1.0: {}
ts-api-utils@1.0.1(typescript@5.4.5):
ts-api-utils@1.0.1(typescript@5.5.2):
dependencies:
typescript: 5.4.5
typescript: 5.5.2
ts-api-utils@1.0.1(typescript@5.5.3):
dependencies:
@ -30596,12 +30596,12 @@ snapshots:
minimist: 1.2.6
strip-bom: 3.0.0
tsec@0.2.1(@bazel/bazelisk@1.19.0)(typescript@5.4.5):
tsec@0.2.1(@bazel/bazelisk@1.19.0)(typescript@5.5.2):
dependencies:
'@bazel/bazelisk': 1.19.0
glob: 7.1.7
minimatch: 3.1.2
typescript: 5.4.5
typescript: 5.5.2
tslib@1.11.1: {}
@ -30617,10 +30617,10 @@ snapshots:
tslib@2.6.2: {}
tsutils@3.21.0(typescript@5.4.5):
tsutils@3.21.0(typescript@5.5.2):
dependencies:
tslib: 1.14.1
typescript: 5.4.5
typescript: 5.5.2
tty-browserify@0.0.1: {}
@ -30739,7 +30739,7 @@ snapshots:
typescript@4.8.2: {}
typescript@5.4.5: {}
typescript@5.5.2: {}
typescript@5.5.3: {}
@ -31227,7 +31227,7 @@ snapshots:
web-namespaces@1.1.4: {}
web-vitals@3.0.0: {}
web-vitals@4.2.1: {}
web-worker@1.3.0: {}

View file

@ -1,13 +1,13 @@
{
"compilerOptions": {
"strict": false,
"noEmit": true,
"strict": false,
"allowJs": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"jsx": "react-jsx",
"module": "esnext",
"module": "ESNext",
"target": "ESNext",
"esModuleInterop": true,
"moduleResolution": "node",
"types": ["react", "jest", "node", "trusted-types", "jest-extended"],
"paths": {