You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.eslintrc 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. {
  2. "extends": [
  3. "eslint:recommended"
  4. ],
  5. "env": {
  6. "browser": true,
  7. "es6": true,
  8. "jest": true,
  9. "node": true
  10. },
  11. "globals": {
  12. "key": true,
  13. "baseUrl": true,
  14. "SyntheticInputEvent": true
  15. },
  16. "parser": "babel-eslint",
  17. "plugins": [
  18. "import",
  19. "jsx-a11y",
  20. "flowtype",
  21. "react"
  22. ],
  23. "rules": {
  24. "array-bracket-spacing": 2,
  25. "array-callback-return": 2,
  26. "arrow-parens": [2, "as-needed"],
  27. "arrow-spacing": 2,
  28. "block-scoped-var": 2,
  29. "block-spacing": 2,
  30. "brace-style": 2,
  31. "comma-dangle": 2,
  32. "comma-spacing": 2,
  33. "comma-style": 2,
  34. "computed-property-spacing": 2,
  35. "consistent-this": [2, "that"],
  36. "curly": 2,
  37. "dot-location": [2, "property"],
  38. "eol-last": 2,
  39. "eqeqeq": [2, "smart"],
  40. "func-call-spacing": 2,
  41. "func-name-matching": 2,
  42. "func-names": [2, "never"],
  43. "generator-star-spacing": 2,
  44. "jsx-quotes": 2,
  45. "key-spacing": 2,
  46. "keyword-spacing": 2,
  47. "max-len": [2, 120],
  48. "new-parens": 2,
  49. "no-lonely-if": 2,
  50. "no-multi-spaces": 2,
  51. "no-multiple-empty-lines": [2, { "max": 2 }],
  52. "no-self-compare": 2,
  53. "no-template-curly-in-string": 2,
  54. "no-trailing-spaces": 2,
  55. "no-unneeded-ternary": 2,
  56. "no-unsafe-negation": 2,
  57. "no-useless-computed-key": 2,
  58. "no-useless-rename": 2,
  59. "no-var": 2,
  60. "no-whitespace-before-property": 2,
  61. "object-curly-spacing": [2, "always"],
  62. "object-shorthand": 2,
  63. "one-var": [2, "never"],
  64. "operator-assignment": 2,
  65. "padded-blocks": [2, "never"],
  66. "prefer-arrow-callback": 2,
  67. "prefer-const": 2,
  68. "prefer-spread": 2,
  69. "quote-props": [2, "as-needed"],
  70. "quotes": [2, "single"],
  71. "rest-spread-spacing": 2,
  72. "semi": [2, "always"],
  73. "semi-spacing": 2,
  74. "space-before-blocks": 2,
  75. "space-before-function-paren": [2, "never"],
  76. "space-in-parens": 2,
  77. "space-unary-ops": 2,
  78. "template-curly-spacing": 2,
  79. "yield-star-spacing": 2,
  80. "flowtype/boolean-style": 2,
  81. "flowtype/generic-spacing": 2,
  82. "flowtype/no-dupe-keys": 2,
  83. "flowtype/no-primitive-constructor-types": 2,
  84. "flowtype/no-weak-types": [2, {
  85. "any": true,
  86. "Object": false,
  87. "Function": false
  88. }],
  89. "flowtype/object-type-delimiter": 2,
  90. "flowtype/semi": 2,
  91. "flowtype/space-after-type-colon": 2,
  92. "flowtype/space-before-generic-bracket": 2,
  93. "flowtype/space-before-type-colon": 2,
  94. "flowtype/union-intersection-spacing": 2,
  95. "import/no-unresolved": 2,
  96. "import/named": 2,
  97. "import/default": 2,
  98. "import/namespace": 2,
  99. "import/no-named-as-default": 2,
  100. "import/no-named-as-default-member": 2,
  101. "import/no-amd": 2,
  102. "import/first": 2,
  103. "import/no-duplicates": 2,
  104. "import/extensions": 2,
  105. "import/order": [2, {
  106. "groups": ["builtin", "external"],
  107. "newlines-between": "never"
  108. }],
  109. "import/newline-after-import": 2,
  110. "import/no-named-default": 2,
  111. "jsx-a11y/aria-props": 2,
  112. "jsx-a11y/aria-proptypes": 2,
  113. "jsx-a11y/aria-role": 2,
  114. "jsx-a11y/aria-unsupported-elements": 2,
  115. "jsx-a11y/heading-has-content": 2,
  116. "jsx-a11y/html-has-lang": 2,
  117. "jsx-a11y/img-has-alt": 2,
  118. "jsx-a11y/img-redundant-alt": 2,
  119. "jsx-a11y/lang": 2,
  120. "jsx-a11y/mouse-events-have-key-events": 2,
  121. "jsx-a11y/no-access-key": 2,
  122. "jsx-a11y/no-marquee": 2,
  123. "jsx-a11y/onclick-has-focus": 2,
  124. "jsx-a11y/onclick-has-role": 2,
  125. "jsx-a11y/role-has-required-aria-props": 2,
  126. "jsx-a11y/role-supports-aria-props": 2,
  127. "jsx-a11y/tabindex-no-positive": 2,
  128. "react/jsx-boolean-value": [2, "always"],
  129. "react/jsx-curly-spacing": [2, "never"],
  130. "react/jsx-equals-spacing": [2, "never"],
  131. "react/jsx-key": 2,
  132. "react/jsx-no-duplicate-props": 2,
  133. "react/jsx-no-undef": 2,
  134. "react/jsx-pascal-case": 2,
  135. "react/jsx-space-before-closing": 2,
  136. "react/jsx-tag-spacing": [2, {
  137. "closingSlash": "never",
  138. "beforeSelfClosing": "always",
  139. "afterOpening": "never"
  140. }],
  141. "react/jsx-uses-react": 2,
  142. "react/jsx-uses-vars": 2,
  143. "react/no-children-prop": 2,
  144. "react/no-danger-with-children": 2,
  145. "react/no-deprecated": 2,
  146. "react/no-direct-mutation-state": 2,
  147. "react/no-is-mounted": 2,
  148. "react/no-render-return-value": 2,
  149. "react/no-unescaped-entities": 2,
  150. "react/no-unknown-property": 2,
  151. "react/react-in-jsx-scope": 2,
  152. "react/require-render-return": 2,
  153. "react/self-closing-comp": 2
  154. },
  155. "settings": {
  156. "import/ignore": [
  157. "node_modules",
  158. "hbs$"
  159. ]
  160. }
  161. }