app/eslint.config.js
2025-07-11 13:21:49 +00:00

53 lines
1.2 KiB
JavaScript

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import tsParser from '@typescript-eslint/parser';
import reactPlugin from 'eslint-plugin-react';
import reactHooksPlugin from 'eslint-plugin-react-hooks';
import importPlugin from 'eslint-plugin-import';
export default [
{
languageOptions: {
globals: {
...globals.browser,
...globals.es2021,
...globals.node,
...globals.serviceworker
},
parser: tsParser,
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
ecmaFeatures: {
jsx: true
}
}
},
plugins: {
import: importPlugin
}
},
pluginJs.configs.recommended,
{
files: ['**/*.ts', '**/*.tsx'],
plugins: {
'@typescript-eslint': tseslint
},
rules: {
...tseslint.configs.recommended.rules
}
},
{
plugins: {
react: reactPlugin,
'react-hooks': reactHooksPlugin
},
rules: {
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn',
'react/react-in-jsx-scope': 'off'
}
}
];