Skip to content

Commit e6a0fdd

Browse files
chore: Migrate to ESLint flat config (#7636)
* chore: Migrate to ESLint flat config * Migrate more packages * angular and solid * svelte packages * Hopefully more fixes * react packages * vue packages * Fix typescript errors * Update Nx config
1 parent 8d75aaa commit e6a0fdd

File tree

98 files changed

+1210
-835
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+1210
-835
lines changed

.eslintrc.cjs

Lines changed: 0 additions & 142 deletions
This file was deleted.

eslint.config.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// @ts-check
2+
3+
// @ts-ignore
4+
import { rootConfig } from '@tanstack/config/eslint'
5+
// @ts-ignore
6+
import cspellConfigs from '@cspell/eslint-plugin/configs'
7+
8+
export default [
9+
...rootConfig,
10+
cspellConfigs.recommended,
11+
{
12+
name: 'tanstack/temp',
13+
rules: {
14+
'@cspell/spellchecker': [
15+
'error',
16+
{
17+
cspell: {
18+
words: [
19+
'codemod', // We support our codemod
20+
'extralight', // Our public interface
21+
'jscodeshift',
22+
'Promisable', // Our public interface
23+
'retryer', // Our public interface
24+
'solidjs', // Our target framework
25+
'tabular-nums', // https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-numeric
26+
'tanstack', // Our package scope
27+
'todos', // Too general word to be caught as error
28+
'TSES', // @typescript-eslint package's interface
29+
'tsqd', // Our public interface (TanStack Query Devtools shorthand)
30+
'tsup', // We use tsup as builder
31+
'typecheck', // Field of vite.config.ts
32+
'vue-demi', // dependency of @tanstack/vue-query
33+
],
34+
},
35+
},
36+
],
37+
'@typescript-eslint/no-empty-function': 'off',
38+
'no-case-declarations': 'off',
39+
'no-prototype-builtins': 'off',
40+
},
41+
},
42+
]

nx.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
"parallel": 5,
77
"namedInputs": {
88
"sharedGlobals": [
9-
"{workspaceRoot}/.eslintrc.cjs",
109
"{workspaceRoot}/.nvmrc",
10+
"{workspaceRoot}/eslint.config.js",
1111
"{workspaceRoot}/package.json",
1212
"{workspaceRoot}/scripts/getTsupConfig.js",
1313
"{workspaceRoot}/tsconfig.json"
@@ -21,8 +21,7 @@
2121
"default",
2222
"{projectRoot}/build",
2323
"{projectRoot}/dist",
24-
"!{projectRoot}/.eslintrc.cjs",
25-
"!{projectRoot}/tsconfig.eslint.json"
24+
"!{projectRoot}/eslint.config.js"
2625
]
2726
},
2827
"targetDefaults": {

package.json

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,18 @@
4444
"devDependencies": {
4545
"@arethetypeswrong/cli": "^0.15.3",
4646
"@cspell/eslint-plugin": "^8.9.1",
47+
"@eslint-react/eslint-plugin": "^1.5.16",
4748
"@solidjs/testing-library": "^0.8.8",
48-
"@tanstack/config": "^0.7.11",
49+
"@tanstack/config": "^0.8.1",
4950
"@testing-library/jest-dom": "^6.4.5",
5051
"@testing-library/react": "^15.0.7",
51-
"@types/eslint": "^8.56.10",
5252
"@types/node": "^20.12.12",
5353
"@types/react": "npm:types-react@rc",
5454
"@types/react-dom": "npm:types-react-dom@rc",
55-
"@typescript-eslint/eslint-plugin": "^7.13.1",
56-
"@typescript-eslint/parser": "^7.13.1",
5755
"@vitest/coverage-istanbul": "^1.6.0",
5856
"cpy-cli": "^5.0.0",
5957
"esbuild-plugin-file-path-extensions": "^2.1.0",
6058
"eslint": "^8.57.0",
61-
"eslint-config-prettier": "^9.1.0",
62-
"eslint-import-resolver-typescript": "^3.6.1",
63-
"eslint-plugin-import": "^2.29.1",
64-
"eslint-plugin-react": "^7.34.3",
6559
"eslint-plugin-react-hooks": "^4.6.2",
6660
"husky": "^9.0.11",
6761
"jsdom": "^24.0.0",
@@ -78,6 +72,7 @@
7872
"solid-js": "^1.8.17",
7973
"tsup": "^8.0.2",
8074
"typescript": "5.3.3",
75+
"typescript-eslint": "^7.14.1",
8176
"typescript47": "npm:typescript@4.7",
8277
"typescript48": "npm:typescript@4.8",
8378
"typescript49": "npm:typescript@4.9",
@@ -89,11 +84,9 @@
8984
},
9085
"pnpm": {
9186
"overrides": {
92-
"@typescript-eslint/eslint-plugin": "$@typescript-eslint/eslint-plugin",
93-
"@typescript-eslint/parser": "$@typescript-eslint/parser",
94-
"eslint": "$eslint",
9587
"@types/react": "npm:types-react@rc",
96-
"@types/react-dom": "npm:types-react-dom@rc"
88+
"@types/react-dom": "npm:types-react-dom@rc",
89+
"eslint": "$eslint"
9790
}
9891
}
9992
}

packages/angular-query-devtools-experimental/.eslintrc.cjs

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// @ts-check
2+
3+
import pluginJsdoc from 'eslint-plugin-jsdoc'
4+
import rootConfig from '../../eslint.config.js'
5+
6+
export default [
7+
...rootConfig,
8+
pluginJsdoc.configs['flat/recommended-typescript'],
9+
{
10+
rules: {
11+
'jsdoc/require-hyphen-before-param-description': 1,
12+
'jsdoc/sort-tags': 1,
13+
'jsdoc/require-throws': 1,
14+
'jsdoc/check-tag-names': ['warn'],
15+
},
16+
},
17+
]

packages/angular-query-devtools-experimental/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
],
2222
"scripts": {
2323
"clean": "rimraf ./build && rimraf ./coverage",
24-
"test:eslint": "eslint --ext .ts,.tsx ./src",
24+
"test:eslint": "eslint ./src",
2525
"test:types": "pnpm run \"/^test:types:ts[0-9]{2}$/\"",
2626
"test:types:ts51": "node ../../node_modules/typescript51/lib/tsc.js",
2727
"test:types:ts52": "node ../../node_modules/typescript52/lib/tsc.js",

packages/angular-query-devtools-experimental/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
"useDefineForClassFields": false,
1212
"target": "ES2022"
1313
},
14-
"include": ["src", ".eslintrc.cjs", "vite.config.ts"]
14+
"include": ["src", "eslint.config.js", "vite.config.ts"]
1515
}

packages/angular-query-experimental/.eslintrc.cjs

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// @ts-check
2+
3+
import pluginJsdoc from 'eslint-plugin-jsdoc'
4+
import rootConfig from '../../eslint.config.js'
5+
6+
export default [
7+
...rootConfig,
8+
pluginJsdoc.configs['flat/recommended-typescript'],
9+
{
10+
rules: {
11+
'jsdoc/require-hyphen-before-param-description': 1,
12+
'jsdoc/sort-tags': 1,
13+
'jsdoc/require-throws': 1,
14+
'jsdoc/check-tag-names': [
15+
'warn',
16+
{
17+
// Not compatible with Api Extractor @public
18+
typed: false,
19+
},
20+
],
21+
},
22+
},
23+
]

0 commit comments

Comments
 (0)