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 { defineConfig, globalIgnores } from 'eslint/config' export default defineConfig([ globalIgnores(['dist']), { files: ['**/*.{ts,tsx}'], extends: [ js.configs.recommended, tseslint.configs.recommended, reactHooks.configs.flat.recommended, reactRefresh.configs.vite, ], languageOptions: { ecmaVersion: 2020, globals: globals.browser, }, rules: { // 生产禁 console.log(错误收口走 console.error / 上报钩子,见开发标准 08 章) 'no-console': ['warn', { allow: ['warn', 'error'] }], }, }, { // shadcn/ui 生成组件(buttonVariants 等具名导出是官方模式),放宽 fast-refresh 规则 files: ['src/components/ui/**'], rules: { 'react-refresh/only-export-components': 'off', }, }, ])