From 4749ea918488e04c86c1621c496954a32e3e6dc4 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 6 Mar 2024 12:50:51 -0600 Subject: [PATCH 1/9] Bump TypeScript to 5.4 --- package.json | 2 +- packages/toolkit/package.json | 2 +- yarn.lock | 24 ++++++++++++++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index e9402ec5e..b3816b12c 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "release-it": "^14.12.5", "serve": "^14.2.0", "ts-node": "^10.9.2", - "typescript": "^5.2.2" + "typescript": "^5.4.2" }, "resolutions": { "@babel/core": "7.19.3", diff --git a/packages/toolkit/package.json b/packages/toolkit/package.json index 39c67a041..11e6f1720 100644 --- a/packages/toolkit/package.json +++ b/packages/toolkit/package.json @@ -90,7 +90,7 @@ "tslib": "^1.10.0", "tsup": "^7.2.0", "tsx": "^3.12.2", - "typescript": "^5.3.3", + "typescript": "^5.4.2", "vite-tsconfig-paths": "^4.3.1", "vitest": "^1.1.3", "yargs": "^15.3.1" diff --git a/yarn.lock b/yarn.lock index 5ddd8f505..2103f8054 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7372,7 +7372,7 @@ __metadata: tslib: "npm:^1.10.0" tsup: "npm:^7.2.0" tsx: "npm:^3.12.2" - typescript: "npm:^5.3.3" + typescript: "npm:^5.4.2" vite-tsconfig-paths: "npm:^4.3.1" vitest: "npm:^1.1.3" yargs: "npm:^15.3.1" @@ -25525,7 +25525,7 @@ __metadata: release-it: "npm:^14.12.5" serve: "npm:^14.2.0" ts-node: "npm:^10.9.2" - typescript: "npm:^5.2.2" + typescript: "npm:^5.4.2" languageName: unknown linkType: soft @@ -28061,6 +28061,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.4.2": + version: 5.4.2 + resolution: "typescript@npm:5.4.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/f8cfdc630ab1672f004e9561eb2916935b2d267792d07ce93e97fc601c7a65191af32033d5e9c0169b7dc37da7db9bf320f7432bc84527cb7697effaa4e4559d + languageName: node + linkType: hard + "typescript@npm:~4.2.4": version: 4.2.4 resolution: "typescript@npm:4.2.4" @@ -28111,6 +28121,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.4.2#optional!builtin": + version: 5.4.2 + resolution: "typescript@patch:typescript@npm%3A5.4.2#optional!builtin::version=5.4.2&hash=d69c25" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/ef4fc2994cc0219dc9ada94c92106ba8d44cbfd7a0328ed6f8d730311caf66e114cdfa07fbc6f369bfc0fc182d9493851b3bf1644c06fc5818690b19ee960d72 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A~4.2.4#optional!builtin": version: 4.2.4 resolution: "typescript@patch:typescript@npm%3A4.2.4#optional!builtin::version=4.2.4&hash=334f98" From 6f3900de29fb9bda81fd76db8394bf9712e25925 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 6 Mar 2024 12:52:14 -0600 Subject: [PATCH 2/9] Add TypeScript 5.4 to TS versions to test against during CI --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f2e39efe5..e21885f3f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -105,7 +105,7 @@ jobs: fail-fast: false matrix: node: ['20.x'] - ts: ['4.7', '4.8', '4.9', '5.0', '5.1', '5.2', '5.3'] + ts: ['4.7', '4.8', '4.9', '5.0', '5.1', '5.2', '5.3', '5.4'] steps: - name: Checkout repo uses: actions/checkout@v4 From ae4fc547640961ed740bdd56aff966a3c060c9e8 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 6 Mar 2024 13:28:49 -0600 Subject: [PATCH 3/9] Fix TS 5.4 issue related to `dispatch` --- packages/toolkit/src/createAsyncThunk.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/toolkit/src/createAsyncThunk.ts b/packages/toolkit/src/createAsyncThunk.ts index f384ab9af..392cbb46c 100644 --- a/packages/toolkit/src/createAsyncThunk.ts +++ b/packages/toolkit/src/createAsyncThunk.ts @@ -617,7 +617,7 @@ export const createAsyncThunk = /* @__PURE__ */ (() => { } abortController.signal.addEventListener('abort', abortHandler) }) - dispatch( + ;(dispatch as ThunkDispatch)( pending( requestId, arg, @@ -679,7 +679,9 @@ export const createAsyncThunk = /* @__PURE__ */ (() => { (finalAction as any).meta.condition if (!skipDispatch) { - dispatch(finalAction as any) + ;(dispatch as ThunkDispatch)( + finalAction as any, + ) } return finalAction })() From b5dd9efc052566b920a07ff1acf9e396a4b50f34 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Wed, 6 Mar 2024 13:29:28 -0600 Subject: [PATCH 4/9] Fix TS 5.4 issue in type tests related to `builder.addCase` --- packages/toolkit/src/tests/createReducer.test-d.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/toolkit/src/tests/createReducer.test-d.ts b/packages/toolkit/src/tests/createReducer.test-d.ts index 535710a25..cfc0c899f 100644 --- a/packages/toolkit/src/tests/createReducer.test-d.ts +++ b/packages/toolkit/src/tests/createReducer.test-d.ts @@ -43,10 +43,13 @@ describe('type tests', () => { // @ts-expect-error createReducer(0 as number, (builder) => { - // @ts-expect-error - builder - .addCase('increment', incrementHandler) - .addCase('decrement', decrementHandler) + expectTypeOf(builder.addCase) + .parameter(1) + .not.toMatchTypeOf(incrementHandler) + + expectTypeOf(builder.addCase) + .parameter(1) + .not.toMatchTypeOf(decrementHandler) }) }) From 7f1ef6bc9d1cbb1a0befa264a3add8cee02ecbdb Mon Sep 17 00:00:00 2001 From: EskiMojo14 Date: Wed, 13 Mar 2024 00:00:41 +0000 Subject: [PATCH 5/9] require dispatch type to extend thunkdispatch --- packages/toolkit/src/createAsyncThunk.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/toolkit/src/createAsyncThunk.ts b/packages/toolkit/src/createAsyncThunk.ts index 392cbb46c..a965a5165 100644 --- a/packages/toolkit/src/createAsyncThunk.ts +++ b/packages/toolkit/src/createAsyncThunk.ts @@ -116,7 +116,7 @@ export const miniSerializeError = (value: any): SerializedError => { export type AsyncThunkConfig = { state?: unknown - dispatch?: Dispatch + dispatch?: ThunkDispatch extra?: unknown rejectValue?: unknown serializedErrorType?: unknown @@ -577,7 +577,7 @@ export const createAsyncThunk = /* @__PURE__ */ (() => { function actionCreator( arg: ThunkArg, - ): AsyncThunkAction { + ): AsyncThunkAction> { return (dispatch, getState, extra) => { const requestId = options?.idGenerator ? options.idGenerator(arg) @@ -617,7 +617,7 @@ export const createAsyncThunk = /* @__PURE__ */ (() => { } abortController.signal.addEventListener('abort', abortHandler) }) - ;(dispatch as ThunkDispatch)( + dispatch( pending( requestId, arg, @@ -679,9 +679,7 @@ export const createAsyncThunk = /* @__PURE__ */ (() => { (finalAction as any).meta.condition if (!skipDispatch) { - ;(dispatch as ThunkDispatch)( - finalAction as any, - ) + dispatch(finalAction as any) } return finalAction })() From 17bf9ed8f7314df4593845034846526a6888c3a0 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Tue, 12 Mar 2024 19:39:26 -0500 Subject: [PATCH 6/9] Fix `dispatch` type in `AsyncThunkAction` to be `NonNullable` - This was done so that the type tests for TypeScript v4.7 and v4.8 pass. --- packages/toolkit/src/createAsyncThunk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/toolkit/src/createAsyncThunk.ts b/packages/toolkit/src/createAsyncThunk.ts index a965a5165..e7ee39a05 100644 --- a/packages/toolkit/src/createAsyncThunk.ts +++ b/packages/toolkit/src/createAsyncThunk.ts @@ -240,7 +240,7 @@ export type AsyncThunkAction< ThunkArg, ThunkApiConfig extends AsyncThunkConfig, > = ( - dispatch: GetDispatch, + dispatch: NonNullable>, getState: () => GetState, extra: GetExtra, ) => SafePromise< From a376837f75b40fbd0c1184b52616d9bc025c75d1 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Thu, 21 Mar 2024 11:56:22 -0500 Subject: [PATCH 7/9] Bump TypeScript to 5.4.3 --- package.json | 2 +- packages/toolkit/package.json | 2 +- yarn.lock | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index b3816b12c..0245728ec 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "release-it": "^14.12.5", "serve": "^14.2.0", "ts-node": "^10.9.2", - "typescript": "^5.4.2" + "typescript": "^5.4.3" }, "resolutions": { "@babel/core": "7.19.3", diff --git a/packages/toolkit/package.json b/packages/toolkit/package.json index 60f5a7ea1..8175f3fb1 100644 --- a/packages/toolkit/package.json +++ b/packages/toolkit/package.json @@ -90,7 +90,7 @@ "tslib": "^1.10.0", "tsup": "^7.2.0", "tsx": "^3.12.2", - "typescript": "^5.4.2", + "typescript": "^5.4.3", "vite-tsconfig-paths": "^4.3.1", "vitest": "^1.1.3", "yargs": "^15.3.1" diff --git a/yarn.lock b/yarn.lock index 2103f8054..79eaf17e4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7372,7 +7372,7 @@ __metadata: tslib: "npm:^1.10.0" tsup: "npm:^7.2.0" tsx: "npm:^3.12.2" - typescript: "npm:^5.4.2" + typescript: "npm:^5.4.3" vite-tsconfig-paths: "npm:^4.3.1" vitest: "npm:^1.1.3" yargs: "npm:^15.3.1" @@ -25525,7 +25525,7 @@ __metadata: release-it: "npm:^14.12.5" serve: "npm:^14.2.0" ts-node: "npm:^10.9.2" - typescript: "npm:^5.4.2" + typescript: "npm:^5.4.3" languageName: unknown linkType: soft @@ -28061,13 +28061,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.4.2": - version: 5.4.2 - resolution: "typescript@npm:5.4.2" +"typescript@npm:^5.4.3": + version: 5.4.3 + resolution: "typescript@npm:5.4.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/f8cfdc630ab1672f004e9561eb2916935b2d267792d07ce93e97fc601c7a65191af32033d5e9c0169b7dc37da7db9bf320f7432bc84527cb7697effaa4e4559d + checksum: 10/de4c69f49a7ad4b1ea66a6dcc8b055ac34eb56af059a069d8988dd811c5e649be07e042e5bf573e8d0ac3ec2f30e6c999aa651cd09f6e9cbc6113749e8b6be20 languageName: node linkType: hard @@ -28121,13 +28121,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.4.2#optional!builtin": - version: 5.4.2 - resolution: "typescript@patch:typescript@npm%3A5.4.2#optional!builtin::version=5.4.2&hash=d69c25" +"typescript@patch:typescript@npm%3A^5.4.3#optional!builtin": + version: 5.4.3 + resolution: "typescript@patch:typescript@npm%3A5.4.3#optional!builtin::version=5.4.3&hash=d69c25" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/ef4fc2994cc0219dc9ada94c92106ba8d44cbfd7a0328ed6f8d730311caf66e114cdfa07fbc6f369bfc0fc182d9493851b3bf1644c06fc5818690b19ee960d72 + checksum: 10/3abea475798fdf7ee46e75dafc50c85f30fd1e7061559ec2af61646f23d16c91742703f04f0ac55be52f58ca05c02f77404b7b94bbad16278c9a54c9eeb4f4ea languageName: node linkType: hard From 2a9461e25932d8ad1a3d85f2fd88b5cb9ef7a2b2 Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Fri, 5 Apr 2024 04:21:24 -0500 Subject: [PATCH 8/9] Bump TypeScript version to 5.4.4 --- packages/toolkit/package.json | 2 +- yarn.lock | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/toolkit/package.json b/packages/toolkit/package.json index 0e8e63e0e..6b301578a 100644 --- a/packages/toolkit/package.json +++ b/packages/toolkit/package.json @@ -90,7 +90,7 @@ "tslib": "^1.10.0", "tsup": "^7.2.0", "tsx": "^3.12.2", - "typescript": "^5.4.3", + "typescript": "^5.4.4", "vite-tsconfig-paths": "^4.3.1", "vitest": "^1.1.3", "yargs": "^15.3.1" diff --git a/yarn.lock b/yarn.lock index 8973e4e4b..50a48a9d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7372,7 +7372,7 @@ __metadata: tslib: "npm:^1.10.0" tsup: "npm:^7.2.0" tsx: "npm:^3.12.2" - typescript: "npm:^5.4.3" + typescript: "npm:^5.4.4" vite-tsconfig-paths: "npm:^4.3.1" vitest: "npm:^1.1.3" yargs: "npm:^15.3.1" @@ -28051,6 +28051,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.4.4": + version: 5.4.4 + resolution: "typescript@npm:5.4.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/bade322d88fd93c8179e262aca9ba7f7b4417c09117879819c87946578c782ab123e3acb4733046a6e38714c47ef927360045a1f9292a1bff3a05a6577d27ca2 + languageName: node + linkType: hard + "typescript@npm:~4.2.4": version: 4.2.4 resolution: "typescript@npm:4.2.4" @@ -28111,6 +28121,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin": + version: 5.4.4 + resolution: "typescript@patch:typescript@npm%3A5.4.4#optional!builtin::version=5.4.4&hash=d69c25" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/65e8bff94e2588cd45f6349fed214863840ead79f2206be185ff9ed3e880ce9e1ef51390ab65c16506a5b1e9e65a1eb566278afb158e7b6c5ceb651a30f17ece + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A~4.2.4#optional!builtin": version: 4.2.4 resolution: "typescript@patch:typescript@npm%3A4.2.4#optional!builtin::version=4.2.4&hash=334f98" From d45f4e7b09e6532388c3583876e31b300043af1a Mon Sep 17 00:00:00 2001 From: Arya Emami Date: Thu, 11 Apr 2024 22:44:28 -0500 Subject: [PATCH 9/9] Bump TypeScript version to 5.4.5 --- packages/toolkit/package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/toolkit/package.json b/packages/toolkit/package.json index 6b301578a..5431583ef 100644 --- a/packages/toolkit/package.json +++ b/packages/toolkit/package.json @@ -90,7 +90,7 @@ "tslib": "^1.10.0", "tsup": "^7.2.0", "tsx": "^3.12.2", - "typescript": "^5.4.4", + "typescript": "^5.4.5", "vite-tsconfig-paths": "^4.3.1", "vitest": "^1.1.3", "yargs": "^15.3.1" diff --git a/yarn.lock b/yarn.lock index 50a48a9d2..1baa5fe30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7372,7 +7372,7 @@ __metadata: tslib: "npm:^1.10.0" tsup: "npm:^7.2.0" tsx: "npm:^3.12.2" - typescript: "npm:^5.4.4" + typescript: "npm:^5.4.5" vite-tsconfig-paths: "npm:^4.3.1" vitest: "npm:^1.1.3" yargs: "npm:^15.3.1" @@ -28051,13 +28051,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.4.4": - version: 5.4.4 - resolution: "typescript@npm:5.4.4" +"typescript@npm:^5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/bade322d88fd93c8179e262aca9ba7f7b4417c09117879819c87946578c782ab123e3acb4733046a6e38714c47ef927360045a1f9292a1bff3a05a6577d27ca2 + checksum: 10/d04a9e27e6d83861f2126665aa8d84847e8ebabcea9125b9ebc30370b98cb38b5dff2508d74e2326a744938191a83a69aa9fddab41f193ffa43eabfdf3f190a5 languageName: node linkType: hard @@ -28121,13 +28121,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.4.4#optional!builtin": - version: 5.4.4 - resolution: "typescript@patch:typescript@npm%3A5.4.4#optional!builtin::version=5.4.4&hash=d69c25" +"typescript@patch:typescript@npm%3A^5.4.5#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=d69c25" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/65e8bff94e2588cd45f6349fed214863840ead79f2206be185ff9ed3e880ce9e1ef51390ab65c16506a5b1e9e65a1eb566278afb158e7b6c5ceb651a30f17ece + checksum: 10/584be8bac7112ad49a9eb9992f71d542b1ff2fafb5bb315e1c196145e8feab589f1d7223cfb2d5df6770789582e6918f8287d1f2f89911b38eb80e29c560ad00 languageName: node linkType: hard