-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheslint.config.mjs
More file actions
45 lines (42 loc) 路 1.13 KB
/
Copy patheslint.config.mjs
File metadata and controls
45 lines (42 loc) 路 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import pluginQuery from '@tanstack/eslint-plugin-query';
import * as pluginImport from 'eslint-plugin-import';
import nextConfig from 'eslint-config-next/core-web-vitals.js';
export default [
...nextConfig,
{
files: ['**/*.{js,jsx,ts,tsx}'],
plugins: {
'@tanstack/query': pluginQuery,
'import': pluginImport,
},
rules: {
// React Query best practices
'@tanstack/query/exhaustive-deps': 'error',
'@tanstack/query/no-rest-destructuring': 'warn',
'@tanstack/query/stable-query-client': 'error',
// Import organization
'import/order': [
'error',
{
groups: [
'builtin',
'external',
'internal',
['parent', 'sibling'],
'index',
],
'newlines-between': 'always',
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
},
],
'import/no-duplicates': 'error',
// General best practices
'no-console': ['warn', { allow: ['warn', 'error'] }],
'prefer-const': 'error',
'no-var': 'error',
},
},
];