eslint.config.mjs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // eslint.config.mjs
  2. import eslint from '@eslint/js';
  3. import tseslint from 'typescript-eslint';
  4. import prettier from 'eslint-plugin-prettier';
  5. import prettierConfig from 'eslint-config-prettier';
  6. import globals from "globals";
  7. export default tseslint.config(
  8. // 基础 ESLint 推荐规则
  9. eslint.configs.recommended,
  10. // TypeScript 推荐规则
  11. ...tseslint.configs.recommended,
  12. // TypeScript 风格规则(可选)
  13. ...tseslint.configs.stylistic,
  14. // Prettier 配置
  15. prettierConfig,
  16. {
  17. ignores: ['babel.config.js', 'node_modules/', 'postcss.config.js', 'tailwind.config.js','**/app.config.ts'],
  18. },
  19. {
  20. files: ['**/*.ts', '**/*.tsx'],
  21. plugins: {
  22. prettier,
  23. '@typescript-eslint': tseslint.plugin, // 使用 tseslint.plugin
  24. },
  25. languageOptions: {
  26. parser: tseslint.parser, // 使用 TypeScript 解析器
  27. parserOptions: {
  28. ecmaVersion: 2021,
  29. sourceType: 'module',
  30. project: ['./tsconfig.json'], // 指向 tsconfig.json(如果需要类型感知)
  31. tsconfigRootDir: import.meta.dirname,
  32. },
  33. globals: {
  34. ...globals.browser,
  35. ...globals.node,
  36. "React": "readonly",
  37. "module": "readonly",
  38. "definePageConfig": "readonly",
  39. }
  40. },
  41. rules: {
  42. 'prettier/prettier': 'error',
  43. 'no-unused-vars': 'off',
  44. '@typescript-eslint/no-unused-vars': ['error'],
  45. '@typescript-eslint/explicit-function-return-type': 'warn',
  46. }
  47. }
  48. );