-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheslint.config.js
More file actions
38 lines (37 loc) · 1.29 KB
/
Copy patheslint.config.js
File metadata and controls
38 lines (37 loc) · 1.29 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
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'
import tseslint from 'typescript-eslint'
import { globalIgnores } from 'eslint/config'
export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
js.configs.recommended,
// Type-aware TypeScript ESLint rules
...tseslint.configs.recommendedTypeChecked,
// Optional: Use strict type checking for better code quality
// ...tseslint.configs.strictTypeChecked,
// Optional: Add stylistic type-aware rules
// ...tseslint.configs.stylisticTypeChecked,
reactHooks.configs['recommended-latest'],
reactRefresh.configs.vite,
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
project: ['frontend/tsconfig.node.json', 'frontend/tsconfig.app.json', 'backend/tsconfig.json'],
tsconfigRootDir: import.meta.dirname,
},
},
},
])