.eslintrc 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. {
  2. "parser": "babel-eslint",
  3. "extends": "airbnb",
  4. "plugins": ["compat"],
  5. "env": {
  6. "browser": true,
  7. "node": true,
  8. "es6": true,
  9. "mocha": true,
  10. "jest": true,
  11. "jasmine": true
  12. },
  13. "rules": {
  14. "linebreak-style": [0, "windows"],
  15. "class-methods-use-this": [0, { "exceptMethods": [<...exceptions>] }],
  16. "default-case": [0, { "commentPattern": "^skip\\sdefault" }],
  17. "quotes": [0, "double"],
  18. "no-plusplus": [0, { "allowForLoopAfterthoughts": true }],
  19. "no-console": [0, { allow: ["warn", "error"] }],
  20. "no-useless-constructor": [0],
  21. "no-unused-vars": [0, { "vars": "all", "args": "after-used", "ignoreRestSiblings": false }],
  22. "arrow-parens": [0, "always"],
  23. "eqeqeq": [0, "always"],
  24. "import/newline-after-import": [0, { "count": 2 }],
  25. "react/self-closing-comp": [0, {
  26. "component": true,
  27. "html": true
  28. }],
  29. "jsx-a11y/anchor-has-content": [0, {
  30. "components": [ "Anchor" ],
  31. }],
  32. "wrap-iife": [0],
  33. "no-sequences": [0],
  34. "space-before-function-paren": [0],
  35. "func-names": [0],
  36. "no-var": [0],
  37. "no-continue": [0],
  38. "vars-on-top": [0],
  39. "one-var": [0],
  40. "no-shadow": [0],
  41. "one-var-declaration-per-line": [0],
  42. "no-underscore-dangle": [0],
  43. "no-unused-expressions": [0],
  44. "no-multi-spaces": [0],
  45. "radix": [0],
  46. "react/jsx-indent": [0],
  47. "object-shorthand": [0],
  48. "react/no-unescaped-entities": [0],
  49. "no-undef": [0],
  50. "no-unneeded-ternary": [0],
  51. "guard-for-in": [0],
  52. "prefer-destructuring": [0, {"object": true, "array": false}],
  53. "dot-notation": [0],
  54. "no-confusing-arrow": [0],
  55. "no-return-assign": [0],
  56. "no-param-reassign": [0],
  57. "no-dupe-keys": [0],
  58. "no-mixed-operators": [0],
  59. "max-len": [0, { "code": 80 }],
  60. "no-debugger": [0],
  61. "no-case-declarations": [0],
  62. "indent": [0],
  63. "generator-star-spacing": [0],
  64. "consistent-return": [0],
  65. "react/forbid-prop-types": [0],
  66. "react/jsx-filename-extension": [1, { "extensions": [".js"] }],
  67. "global-require": [1],
  68. "import/prefer-default-export": [0],
  69. "react/jsx-no-bind": [0],
  70. "react/prop-types": [0],
  71. "react/prefer-stateless-function": [0],
  72. "no-else-return": [0],
  73. "no-restricted-syntax": [0],
  74. "import/no-extraneous-dependencies": [0],
  75. "no-use-before-define": [0],
  76. "jsx-a11y/no-static-element-interactions": [0],
  77. "jsx-a11y/no-noninteractive-element-interactions": [0],
  78. "jsx-a11y/click-events-have-key-events": [0],
  79. "jsx-a11y/anchor-is-valid": [0],
  80. "no-nested-ternary": [0],
  81. "arrow-body-style": [0],
  82. "import/extensions": [0],
  83. "no-bitwise": [0],
  84. "no-cond-assign": [0],
  85. "import/no-unresolved": [0],
  86. "import/first": [0],
  87. "comma-dangle": [0, {
  88. "arrays": "always-multiline",
  89. "objects": "always-multiline",
  90. "imports": "always-multiline",
  91. "exports": "always-multiline",
  92. "functions": "ignore"
  93. }],
  94. "object-curly-newline": [0],
  95. "function-paren-newline": [0],
  96. "no-restricted-globals": [0],
  97. "require-yield": [1],
  98. "lines-between-class-members": [0],
  99. "implicit-arrow-linebreak": [1],
  100. "react/destructuring-assignment": [1],
  101. "react/jsx-one-expression-per-line": [1],
  102. "react/jsx-props-no-multi-spaces": [1],
  103. "operator-linebreak": [1],
  104. "import/order": [1],
  105. "react/jsx-tag-spacing": [1],
  106. "react/no-access-state-in-setstate": [1],
  107. "no-extra-boolean-cast": [1],
  108. "no-lonely-if": [0],
  109. "prefer-template": [1]
  110. },
  111. "parserOptions": {
  112. "ecmaFeatures": {
  113. "experimentalObjectRestSpread": true
  114. }
  115. },
  116. "settings": {
  117. "polyfills": ["fetch"]
  118. }
  119. }