eslint.config.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import js from '@eslint/js';
  2. import tseslint from '@typescript-eslint/eslint-plugin';
  3. import tsparser from '@typescript-eslint/parser';
  4. import reactPlugin from 'eslint-plugin-react';
  5. import reactHooks from 'eslint-plugin-react-hooks';
  6. export default [
  7. {
  8. files: ['**/*.{ts,tsx}'],
  9. languageOptions: {
  10. parser: tsparser,
  11. ecmaVersion: 'latest',
  12. sourceType: 'module',
  13. parserOptions: {
  14. ecmaFeatures: {
  15. jsx: true
  16. }
  17. }
  18. },
  19. plugins: {
  20. '@typescript-eslint': tseslint,
  21. 'react': reactPlugin,
  22. 'react-hooks': reactHooks
  23. },
  24. rules: {
  25. ...js.configs.recommended.rules,
  26. ...tseslint.configs.recommended.rules,
  27. ...reactPlugin.configs.recommended.rules,
  28. ...reactHooks.configs.recommended.rules,
  29. 'react/react-in-jsx-scope': 'off',
  30. '@typescript-eslint/no-unused-vars': 'error',
  31. '@typescript-eslint/explicit-function-return-type': 'off',
  32. '@typescript-eslint/explicit-module-boundary-types': 'off',
  33. '@typescript-eslint/no-explicit-any': 'warn'
  34. },
  35. settings: {
  36. react: {
  37. version: 'detect'
  38. }
  39. }
  40. }
  41. ];