From 6b1bac4033589afe6478f78981c1f49f9765051b Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Thu, 1 Oct 2026 10:35:06 +0900 Subject: [PATCH 1/2] chore(*): replace 'typescript-eslint' with '@typescript-eslint/parser' in preact packages and remove redundant eslint options --- .../preact-query-devtools/eslint.config.js | 12 +--- packages/preact-query-devtools/package.json | 4 +- .../eslint.config.js | 12 +--- .../preact-query-persist-client/package.json | 4 +- packages/preact-query/eslint.config.js | 12 +--- packages/preact-query/package.json | 4 +- pnpm-lock.yaml | 60 +++---------------- pnpm-workspace.yaml | 1 - 8 files changed, 21 insertions(+), 88 deletions(-) diff --git a/packages/preact-query-devtools/eslint.config.js b/packages/preact-query-devtools/eslint.config.js index 4e7c7b4c7bb..54a4406e18d 100644 --- a/packages/preact-query-devtools/eslint.config.js +++ b/packages/preact-query-devtools/eslint.config.js @@ -1,8 +1,7 @@ // @ts-check // @ts-ignore: no types for eslint-config-preact import preact from 'eslint-config-preact' -// eslint-config-preact uses typescript-eslint under the hood -import tseslint from 'typescript-eslint' +import tsParser from '@typescript-eslint/parser' import rootConfig from './root.eslint.config.js' @@ -10,15 +9,8 @@ export default [ ...rootConfig, ...preact, { - files: ['**/*.{ts,tsx}'], languageOptions: { - parser: tseslint.parser, - parserOptions: { - project: true, - }, - }, - plugins: { - 'typescript-eslint': tseslint.plugin, + parser: tsParser, }, rules: { // Disable base rule to prevent overload false positives diff --git a/packages/preact-query-devtools/package.json b/packages/preact-query-devtools/package.json index e7dc1055f63..5187af3800c 100644 --- a/packages/preact-query-devtools/package.json +++ b/packages/preact-query-devtools/package.json @@ -82,10 +82,10 @@ "@preact/preset-vite": "catalog:", "@tanstack/preact-query": "workspace:*", "@testing-library/preact": "catalog:", + "@typescript-eslint/parser": "catalog:", "eslint-config-preact": "catalog:", "preact": "catalog:", - "typescript": "catalog:", - "typescript-eslint": "catalog:" + "typescript": "catalog:" }, "peerDependencies": { "@tanstack/preact-query": "workspace:^", diff --git a/packages/preact-query-persist-client/eslint.config.js b/packages/preact-query-persist-client/eslint.config.js index 4e7c7b4c7bb..54a4406e18d 100644 --- a/packages/preact-query-persist-client/eslint.config.js +++ b/packages/preact-query-persist-client/eslint.config.js @@ -1,8 +1,7 @@ // @ts-check // @ts-ignore: no types for eslint-config-preact import preact from 'eslint-config-preact' -// eslint-config-preact uses typescript-eslint under the hood -import tseslint from 'typescript-eslint' +import tsParser from '@typescript-eslint/parser' import rootConfig from './root.eslint.config.js' @@ -10,15 +9,8 @@ export default [ ...rootConfig, ...preact, { - files: ['**/*.{ts,tsx}'], languageOptions: { - parser: tseslint.parser, - parserOptions: { - project: true, - }, - }, - plugins: { - 'typescript-eslint': tseslint.plugin, + parser: tsParser, }, rules: { // Disable base rule to prevent overload false positives diff --git a/packages/preact-query-persist-client/package.json b/packages/preact-query-persist-client/package.json index 08b6c0b9d1b..f75e8407fed 100644 --- a/packages/preact-query-persist-client/package.json +++ b/packages/preact-query-persist-client/package.json @@ -62,10 +62,10 @@ "@tanstack/preact-query": "workspace:*", "@tanstack/query-test-utils": "workspace:*", "@testing-library/preact": "catalog:", + "@typescript-eslint/parser": "catalog:", "eslint-config-preact": "catalog:", "preact": "catalog:", - "typescript": "catalog:", - "typescript-eslint": "catalog:" + "typescript": "catalog:" }, "peerDependencies": { "@tanstack/preact-query": "workspace:^", diff --git a/packages/preact-query/eslint.config.js b/packages/preact-query/eslint.config.js index 4e7c7b4c7bb..54a4406e18d 100644 --- a/packages/preact-query/eslint.config.js +++ b/packages/preact-query/eslint.config.js @@ -1,8 +1,7 @@ // @ts-check // @ts-ignore: no types for eslint-config-preact import preact from 'eslint-config-preact' -// eslint-config-preact uses typescript-eslint under the hood -import tseslint from 'typescript-eslint' +import tsParser from '@typescript-eslint/parser' import rootConfig from './root.eslint.config.js' @@ -10,15 +9,8 @@ export default [ ...rootConfig, ...preact, { - files: ['**/*.{ts,tsx}'], languageOptions: { - parser: tseslint.parser, - parserOptions: { - project: true, - }, - }, - plugins: { - 'typescript-eslint': tseslint.plugin, + parser: tsParser, }, rules: { // Disable base rule to prevent overload false positives diff --git a/packages/preact-query/package.json b/packages/preact-query/package.json index 23a7ec91563..4f8df7b2d9d 100644 --- a/packages/preact-query/package.json +++ b/packages/preact-query/package.json @@ -68,11 +68,11 @@ "@tanstack/query-persist-client-core": "workspace:*", "@tanstack/query-test-utils": "workspace:*", "@testing-library/preact": "catalog:", + "@typescript-eslint/parser": "catalog:", "eslint-config-preact": "catalog:", "preact": "catalog:", "preact-render-to-string": "^6.6.4", - "typescript": "catalog:", - "typescript-eslint": "catalog:" + "typescript": "catalog:" }, "peerDependencies": { "preact": "^10.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9048e6a3d1d..8e74cc035ea 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -248,9 +248,6 @@ catalogs: typescript: specifier: 6.0.3 version: 6.0.3 - typescript-eslint: - specifier: ^8.70.1 - version: 8.70.1 unplugin-solid: specifier: ^2.0.0 version: 2.0.0 @@ -2834,6 +2831,9 @@ importers: '@testing-library/preact': specifier: 'catalog:' version: 3.2.4(preact@10.29.8) + '@typescript-eslint/parser': + specifier: 'catalog:' + version: 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) eslint-config-preact: specifier: 'catalog:' version: 2.0.0(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) @@ -2846,9 +2846,6 @@ importers: typescript: specifier: 'catalog:' version: 6.0.3 - typescript-eslint: - specifier: 'catalog:' - version: 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) packages/preact-query-devtools: dependencies: @@ -2865,6 +2862,9 @@ importers: '@testing-library/preact': specifier: 'catalog:' version: 3.2.4(preact@10.29.8) + '@typescript-eslint/parser': + specifier: 'catalog:' + version: 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) eslint-config-preact: specifier: 'catalog:' version: 2.0.0(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) @@ -2874,9 +2874,6 @@ importers: typescript: specifier: 'catalog:' version: 6.0.3 - typescript-eslint: - specifier: 'catalog:' - version: 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) packages/preact-query-persist-client: dependencies: @@ -2896,6 +2893,9 @@ importers: '@testing-library/preact': specifier: 'catalog:' version: 3.2.4(preact@10.29.8) + '@typescript-eslint/parser': + specifier: 'catalog:' + version: 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) eslint-config-preact: specifier: 'catalog:' version: 2.0.0(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2) @@ -2905,9 +2905,6 @@ importers: typescript: specifier: 'catalog:' version: 6.0.3 - typescript-eslint: - specifier: 'catalog:' - version: 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) packages/query-async-storage-persister: dependencies: @@ -22910,22 +22907,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@8.70.1(@typescript-eslint/parser@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.70.1 - '@typescript-eslint/type-utils': 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/utils': 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.70.1 - eslint: 9.39.4(jiti@2.7.0)(supports-color@10.2.2) - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.70.1(@typescript-eslint/parser@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -23101,18 +23082,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)': - dependencies: - '@typescript-eslint/types': 8.70.1 - '@typescript-eslint/typescript-estree': 8.70.1(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/utils': 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - debug: 4.4.3(supports-color@10.2.2) - eslint: 9.39.4(jiti@2.7.0)(supports-color@10.2.2) - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/type-utils@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 8.70.1 @@ -32799,17 +32768,6 @@ snapshots: transitivePeerDependencies: - supports-color - typescript-eslint@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.70.1(@typescript-eslint/parser@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/parser': 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.70.1(supports-color@10.2.2)(typescript@6.0.3) - '@typescript-eslint/utils': 8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3) - eslint: 9.39.4(jiti@2.7.0)(supports-color@10.2.2) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - typescript-eslint@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): dependencies: '@typescript-eslint/eslint-plugin': 8.70.1(@typescript-eslint/parser@8.70.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 26719fd72b1..41cb38799ad 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -16,7 +16,6 @@ catalog: typescript: 6.0.3 '@typescript-eslint/parser': ^8.70.1 eslint: ^9.36.0 - typescript-eslint: ^8.70.1 # react '@eslint-react/eslint-plugin': ^5.21.0 From 1922e96d1ba38d4acbaca0a8a83d94cb121bf0bc Mon Sep 17 00:00:00 2001 From: Wonsuk Choi Date: Thu, 1 Oct 2026 10:41:20 +0900 Subject: [PATCH 2/2] style(*): add a blank line after '@ts-check' and remove the blank line between imports in preact eslint configs --- packages/preact-query-devtools/eslint.config.js | 2 +- packages/preact-query-persist-client/eslint.config.js | 2 +- packages/preact-query/eslint.config.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/preact-query-devtools/eslint.config.js b/packages/preact-query-devtools/eslint.config.js index 54a4406e18d..0ae1b665cfe 100644 --- a/packages/preact-query-devtools/eslint.config.js +++ b/packages/preact-query-devtools/eslint.config.js @@ -1,8 +1,8 @@ // @ts-check + // @ts-ignore: no types for eslint-config-preact import preact from 'eslint-config-preact' import tsParser from '@typescript-eslint/parser' - import rootConfig from './root.eslint.config.js' export default [ diff --git a/packages/preact-query-persist-client/eslint.config.js b/packages/preact-query-persist-client/eslint.config.js index 54a4406e18d..0ae1b665cfe 100644 --- a/packages/preact-query-persist-client/eslint.config.js +++ b/packages/preact-query-persist-client/eslint.config.js @@ -1,8 +1,8 @@ // @ts-check + // @ts-ignore: no types for eslint-config-preact import preact from 'eslint-config-preact' import tsParser from '@typescript-eslint/parser' - import rootConfig from './root.eslint.config.js' export default [ diff --git a/packages/preact-query/eslint.config.js b/packages/preact-query/eslint.config.js index 54a4406e18d..0ae1b665cfe 100644 --- a/packages/preact-query/eslint.config.js +++ b/packages/preact-query/eslint.config.js @@ -1,8 +1,8 @@ // @ts-check + // @ts-ignore: no types for eslint-config-preact import preact from 'eslint-config-preact' import tsParser from '@typescript-eslint/parser' - import rootConfig from './root.eslint.config.js' export default [