blob: 238d2e4e6436b353404369d9a59fda5f1f980657 [file] [log] [blame]
ybt02e716d2025-04-15 17:19:32 +08001import js from '@eslint/js'
2import globals from 'globals'
3import react from 'eslint-plugin-react'
4import reactHooks from 'eslint-plugin-react-hooks'
5import reactRefresh from 'eslint-plugin-react-refresh'
6
7export default [
8 { ignores: ['dist'] },
9 {
10 files: ['**/*.{js,jsx}'],
11 languageOptions: {
12 ecmaVersion: 2020,
13 globals: globals.browser,
14 parserOptions: {
15 ecmaVersion: 'latest',
16 ecmaFeatures: { jsx: true },
17 sourceType: 'module',
18 },
19 },
20 settings: { react: { version: '18.3' } },
21 plugins: {
22 react,
23 'react-hooks': reactHooks,
24 'react-refresh': reactRefresh,
25 },
26 rules: {
27 ...js.configs.recommended.rules,
28 ...react.configs.recommended.rules,
29 ...react.configs['jsx-runtime'].rules,
30 ...reactHooks.configs.recommended.rules,
31 'react/jsx-no-target-blank': 'off',
32 'react-refresh/only-export-components': [
33 'warn',
34 { allowConstantExport: true },
35 ],
36 },
37 },
38]