| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import globals from 'globals'
- import js from '@eslint/js'
- import pluginQuery from '@tanstack/eslint-plugin-query'
- import reactHooks from 'eslint-plugin-react-hooks'
- import reactRefresh from 'eslint-plugin-react-refresh'
- import { defineConfig } from 'eslint/config'
- import tseslint from 'typescript-eslint'
- export default defineConfig(
- { ignores: ['dist', 'src/components/ui'] },
- {
- extends: [
- js.configs.recommended,
- ...tseslint.configs.recommended,
- ...pluginQuery.configs['flat/recommended'],
- ],
- files: ['**/*.{ts,tsx}'],
- languageOptions: {
- ecmaVersion: 2020,
- globals: globals.browser,
- },
- plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- 'react-hooks/incompatible-library': 'off',
- 'react-refresh/only-export-components': [
- 'warn',
- { allowConstantExport: true },
- ],
- 'no-console': 'error',
- 'no-unused-vars': 'off',
- '@typescript-eslint/no-unused-vars': [
- 'error',
- {
- args: 'all',
- argsIgnorePattern: '^_',
- caughtErrors: 'all',
- caughtErrorsIgnorePattern: '^_',
- destructuredArrayIgnorePattern: '^_',
- varsIgnorePattern: '^_',
- ignoreRestSiblings: true,
- },
- ],
- '@typescript-eslint/consistent-type-imports': [
- 'error',
- {
- prefer: 'type-imports',
- fixStyle: 'inline-type-imports',
- disallowTypeAnnotations: false,
- },
- ],
- 'no-duplicate-imports': 'error',
- },
- },
- {
- files: ['src/routes/**/*.{ts,tsx}'],
- plugins: {
- 'react-refresh': reactRefresh,
- },
- rules: {
- 'react-refresh/only-export-components': 'off',
- },
- }
- )
|