.eslintrc.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. module.exports = {
  2. env: {
  3. browser: true,
  4. es2021: true,
  5. },
  6. extends: [
  7. 'plugin:react/recommended',
  8. 'airbnb',
  9. 'eslint:recommended',
  10. ],
  11. parserOptions: {
  12. ecmaFeatures: {
  13. jsx: true,
  14. },
  15. ecmaVersion: 12,
  16. sourceType: 'module',
  17. },
  18. ignorePatterns: ['node_modules/'],
  19. plugins: [
  20. 'react',
  21. ],
  22. rules: {
  23. 'react/jsx-no-useless-fragment': 'off',
  24. 'react/require-default-props': 'off',
  25. 'react/jsx-props-no-spreading': 'off',
  26. 'react/jsx-tag-spacing': 'off',
  27. 'react/prop-types': 'off',
  28. 'react/function-component-definition': 'off',
  29. 'react/jsx-filename-extension': [1, { extensions: ['.jsx', '.js'] }],
  30. 'react/button-has-type': 'off',
  31. 'default-param-last': 'off',
  32. 'object-curly-spacing': 'off',
  33. 'no-underscore-dangle': 'off',
  34. 'no-case-declarations': 'off',
  35. 'import/no-cycle': 'off',
  36. 'no-unused-expressions': 'off',
  37. 'eslint-disable-next-line': 'off',
  38. 'no-restricted-globals ': 'off',
  39. 'no-confusing-arrow': 'off',
  40. 'no-use-before-define': 'off',
  41. 'no-return-await': 'off',
  42. 'no-shadow': 'off',
  43. 'no-static-element-interactions': 'off',
  44. 'no-unused-vars': 'off',
  45. 'no-plusplus': 'off',
  46. 'no-nested-ternary': 'off',
  47. 'arrow-parens': 'off',
  48. 'max-len': 'off',
  49. 'quote-props': 'off',
  50. 'eslint quote-props': 'off',
  51. 'react/no-unescaped-entities': 'off',
  52. 'react/no-array-index-key': 'off',
  53. 'import/extensions': 'off',
  54. 'import/no-unresolved': 'off',
  55. 'import/prefer-default-export': 'off',
  56. 'jsx-a11y/no-static-element-interactions': 'off',
  57. 'jsx-a11y/click-events-have-key-events': 'off',
  58. 'jsx-a11y/label-has-associated-control': 'off',
  59. 'jsx-a11y/anchor-is-valid': 'off',
  60. },
  61. };