51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
import { defineConfig } from 'eslint/config'
|
|
import tseslint from '@electron-toolkit/eslint-config-ts'
|
|
import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
|
|
import eslintPluginReact from 'eslint-plugin-react'
|
|
import eslintPluginReactHooks from 'eslint-plugin-react-hooks'
|
|
import eslintPluginReactRefresh from 'eslint-plugin-react-refresh'
|
|
|
|
export default defineConfig(
|
|
{
|
|
ignores: [
|
|
'**/node_modules',
|
|
'**/dist',
|
|
'**/out',
|
|
'scripts/**',
|
|
'src/main/tools/**',
|
|
'tests/manual/**'
|
|
]
|
|
},
|
|
tseslint.configs.recommended,
|
|
eslintPluginReact.configs.flat.recommended,
|
|
eslintPluginReact.configs.flat['jsx-runtime'],
|
|
{
|
|
settings: {
|
|
react: {
|
|
version: 'detect'
|
|
}
|
|
}
|
|
},
|
|
{
|
|
files: ['**/*.{js,ts,tsx}'],
|
|
plugins: {
|
|
'react-hooks': eslintPluginReactHooks,
|
|
'react-refresh': eslintPluginReactRefresh
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
...eslintPluginReactHooks.configs.recommended.rules,
|
|
'react-hooks/set-state-in-effect': 'off',
|
|
...eslintPluginReactRefresh.configs.vite.rules
|
|
}
|
|
},
|
|
{
|
|
files: ['tests/**/*.{ts,tsx}'],
|
|
rules: {
|
|
'@typescript-eslint/no-unused-vars': 'off'
|
|
}
|
|
},
|
|
eslintConfigPrettier
|
|
)
|