| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- 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';
- /** @type {import('eslint').Linter.Config[]} */
- export default [
- {
- ignores: ['**/node_modules/', '**/dist/', '**/build/', '**/coverage/'],
- },
- js.configs.recommended,
- ...tseslint.configs.recommended,
- {
- files: ['**/*.{js,jsx,ts,tsx}'],
- languageOptions: {
- ecmaVersion: 2022,
- globals: {
- ...globals.browser,
- ...globals.node,
- },
- parserOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- ecmaFeatures: {
- jsx: true,
- },
- },
- },
- plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
- },
- rules: {
- ...reactHooks.configs.recommended.rules,
- 'react-refresh/only-export-components': [
- 'warn',
- { allowConstantExport: true },
- ],
- '@typescript-eslint/no-unused-vars': 'error',
- '@typescript-eslint/no-explicit-any': 'warn',
- 'prefer-const': 'error',
- 'no-var': 'error',
- },
- },
- ];
|