1 | {
|
2 | "extends": "airbnb-base",
|
3 | "env": {
|
4 | "browser": true
|
5 | },
|
6 | "parserOptions": {
|
7 | "ecmaVersion": 2017,
|
8 | "sourceType": "module",
|
9 | "ecmaFeatures": {
|
10 | "modules": true
|
11 | }
|
12 | },
|
13 | "rules": {
|
14 | "max-len": "off", // just apply common-sense
|
15 | "import/no-unresolved": "off", // `bitsy` can't be resolved
|
16 | "no-param-reassign": "off", // necessary for most hacks
|
17 |
|
18 | // for dev accessibility
|
19 | // e.g. helpers from body called in hackOptions,
|
20 | // var declarations co-located with relevant functions,
|
21 | // etc.
|
22 | "no-console": "off",
|
23 | "no-unused-vars": ["error", {
|
24 | "vars": "all",
|
25 | "args": "none"
|
26 | }],
|
27 | "vars-on-top": "off",
|
28 | "no-use-before-define": "off",
|
29 |
|
30 | // tabs instead of spaces
|
31 | "no-tabs": "off",
|
32 | "indent": ["error", "tab"],
|
33 |
|
34 | // don't prefer fancy stuff to account for lack of babel
|
35 | "import/prefer-default-export": "off",
|
36 | "import/no-default-export": "error",
|
37 | "import/no-mutable-exports": "off",
|
38 | "prefer-rest-params": "off",
|
39 | "no-var": "off",
|
40 | "prefer-arrow-callback": "off",
|
41 | "func-names": "off",
|
42 | "prefer-destructuring": "off",
|
43 | "prefer-spread": "off",
|
44 | "prefer-object-spread": "off",
|
45 | "prefer-template": "off",
|
46 | "object-shorthand": "off",
|
47 |
|
48 | // i just like using these 🤷♀️
|
49 | "no-multi-assign": "off",
|
50 | "no-plusplus": "off",
|
51 | "no-continue": "off",
|
52 | },
|
53 | "overrides": [{
|
54 | "files": ["*.test.js", "test/*.js"],
|
55 | "env": {
|
56 | "jest": true,
|
57 | "es6": true
|
58 | },
|
59 | "parserOptions": {
|
60 | "ecmaVersion": 9,
|
61 | "sourceType": "module"
|
62 | }
|
63 | }]
|
64 | }
|