UNPKG

1.83 kBJavaScriptView Raw
1/* eslint sort-keys: ["error", "asc"], quote-props: ["error", "consistent"] */
2/* eslint-disable sort-keys */
3
4module.exports = {
5 parser: "babel-eslint",
6 plugins: [
7 "flowtype"
8 ],
9 extends: ["plugin:flowtype/recommended"],
10 settings: {
11 flowtype: {
12 onlyFilesWithFlowAnnotation: false,
13 },
14 },
15 rules: {
16 /* eslint-enable sort-keys */
17 "flowtype/boolean-style": ["warn", "boolean"],
18 "flowtype/define-flow-type": "warn",
19 "flowtype/delimiter-dangle": ["warn", "never"],
20 "flowtype/generic-spacing": ["warn", "never"],
21 "flowtype/no-primitive-constructor-types": "warn",
22 "flowtype/no-weak-types": "warn",
23 "flowtype/object-type-delimiter": ["warn", "comma"],
24 // If we don't enforce return type annotation, we don't need to enforce param types
25 // See below for reasoning
26 "flowtype/require-parameter-type": "off",
27 // Annotating curried functions is pretty overkill
28 // Also pure lambda functions don't need a return type
29 "flowtype/require-return-type": "off",
30 "flowtype/require-valid-file-annotation": [
31 "warn",
32 "always",
33 {
34 annotationStyle: "line",
35 },
36 ],
37 // It's ok to not declare types inside functions
38 "flowtype/require-variable-type": "off",
39 "flowtype/semi": ["warn", "always"],
40 "flowtype/sort-keys": "off",
41 "flowtype/space-after-type-colon": ["warn", "always"],
42 "flowtype/space-before-generic-bracket": ["warn", "never"],
43 "flowtype/space-before-type-colon": ["warn", "never"],
44 "flowtype/type-id-match": "off",
45 "flowtype/union-intersection-spacing": ["warn", "always"],
46 "flowtype/use-flow-type": "warn",
47 },
48};