Files
Q-Assets/eslint.config.js
2025-11-22 12:35:29 -08:00

51 lines
1.3 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 prettierPlugin from 'eslint-plugin-prettier';
import prettierConfig from 'eslint-config-prettier';
export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
prettier: prettierPlugin,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': 'off',
'react-hooks/exhaustive-deps': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'prefer-const': 'off',
'prettier/prettier': 'off',
},
},
{
// This disables ESLint rules that would conflict with Prettier
name: 'prettier-config',
plugins: {
prettier: prettierPlugin,
},
rules: {
...prettierConfig.rules,
'prettier/prettier': [
'warn',
{
singleQuote: true,
semi: true,
trailingComma: 'es5',
},
],
},
}
);