eslintrc.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. module.exports = {
  2. parser: '@typescript-eslint/parser', // 定义ESLint的解析器
  3. extends: ['plugin:prettier/recommended'], //定义文件继承的子规范
  4. plugins: ['@typescript-eslint', 'react-hooks', 'eslint-plugin-react'], //定义了该eslint文件所依赖的插件
  5. env: {
  6. //指定代码的运行环境
  7. browser: true,
  8. node: true
  9. },
  10. settings: {
  11. //自动发现React的版本,从而进行规范react代码
  12. react: {
  13. pragma: 'React',
  14. version: 'detect'
  15. }
  16. },
  17. parserOptions: {
  18. //指定ESLint可以解析JSX语法
  19. ecmaVersion: 2019,
  20. sourceType: 'module',
  21. ecmaFeatures: {
  22. jsx: true
  23. }
  24. },
  25. rules: {
  26. // 自定义的一些规则
  27. 'prettier/prettier': 'error',
  28. 'linebreak-style': ['error', 'unix'],
  29. 'react-hooks/rules-of-hooks': 'error',
  30. 'react-hooks/exhaustive-deps': 'warn',
  31. 'react/jsx-uses-react': 'error',
  32. 'react/jsx-uses-vars': 'error',
  33. 'react/react-in-jsx-scope': 'error',
  34. 'valid-typeof': [
  35. 'warn',
  36. {
  37. requireStringLiterals: false
  38. }
  39. ]
  40. }
  41. };