index.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. module.exports = {
  2. extends: [
  3. 'next/core-web-vitals',
  4. 'eslint:recommended',
  5. 'plugin:@typescript-eslint/recommended',
  6. 'plugin:@typescript-eslint/recommended-requiring-type-checking',
  7. 'prettier',
  8. ],
  9. parserOptions: {
  10. project: './tsconfig.json',
  11. },
  12. plugins: ['@typescript-eslint'],
  13. rules: {
  14. indent: 'off',
  15. 'class-methods-use-this': 'off',
  16. 'react/prop-types': 'off',
  17. 'react/display-name': 'off',
  18. 'react/no-unescaped-entities': 'off',
  19. 'no-unused-vars': 'off',
  20. '@typescript-eslint/no-unused-vars': ['error'],
  21. 'require-jsdoc': 'off',
  22. 'valid-jsdoc': 'off',
  23. 'max-len': 'off',
  24. 'new-cap': 'off',
  25. 'no-invalid-this': 'off',
  26. eqeqeq: 'error',
  27. 'object-curly-spacing': ['error', 'always'],
  28. 'space-before-function-paren': 'off',
  29. 'operator-linebreak': [
  30. 'error',
  31. 'after',
  32. { overrides: { '?': 'before', ':': 'before' } },
  33. ],
  34. 'import/no-anonymous-default-export': [
  35. 'error',
  36. {
  37. allowNew: true,
  38. },
  39. ],
  40. '@typescript-eslint/no-unsafe-member-access': 'off',
  41. '@typescript-eslint/no-unsafe-return': 'off',
  42. '@typescript-eslint/no-unsafe-assignment': 'off',
  43. '@typescript-eslint/no-inferrable-types': 'off',
  44. '@typescript-eslint/restrict-template-expressions': 'off',
  45. '@typescript-eslint/ban-types': 'off',
  46. '@typescript-eslint/no-floating-promises': 'off',
  47. '@typescript-eslint/no-unsafe-call': 'off',
  48. '@typescript-eslint/require-await': 'off',
  49. '@typescript-eslint/restrict-plus-operands': 'off',
  50. '@typescript-eslint/no-var-requires': 'off',
  51. '@typescript-eslint/no-empty-interface': 'off',
  52. '@typescript-eslint/no-misused-promises': 'off',
  53. '@typescript-eslint/no-empty-function': 'off',
  54. '@typescript-eslint/explicit-module-boundary-types': 'off',
  55. '@typescript-eslint/no-explicit-any': 'off',
  56. '@typescript-eslint/no-unnecessary-type-assertion': 'off',
  57. 'react-hooks/rules-of-hooks': 'off',
  58. 'react-hooks/exhaustive-deps': 'off',
  59. '@next/next/no-img-element': 'off',
  60. '@typescript-eslint/no-unsafe-argument': 'off',
  61. 'jsx-a11y/alt-text': 'off',
  62. },
  63. };