Files
US-Entry-Coach/usentrycoach.client/eslint.config.js
2025-05-23 13:56:34 +02:00

59 lines
1.8 KiB
JavaScript

import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'
import stylistic from '@stylistic/eslint-plugin'
export default tseslint.config(
{ignores: ['dist']},
{
extends: [
js.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
...tseslint.configs.stylisticTypeChecked,
],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
//'stylistic/js': stylisticJs
stylistic
},
rules: {
...reactHooks.configs.recommended.rules,
//'brace-style': ['error', 'allman'],
'react-refresh/only-export-components': [
'warn',
{allowConstantExport: true},
],
"@typescript-eslint/no-unused-vars": ["warn", {
"vars": "all",
"args": "all",
"caughtErrors": "all",
"ignoreRestSiblings": false,
"reportUsedIgnorePattern": false
}],
"prefer-const": ["warn", {
"destructuring": "any",
"ignoreReadBeforeAssign": false
}],
// Formatting:
"stylistic/brace-style": [
'error',
'allman',
{ allowSingleLine: false }
]
},
},
)