-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
66 lines (66 loc) · 1.85 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
module.exports = {
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
"eslint:recommended",
"plugin:react/recommended",
"plugin:@typescript-eslint/recommended",
"prettier", // uses `eslint-config-prettier`
],
parser: "@typescript-eslint/parser",
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 13,
sourceType: "module",
},
plugins: ["react", "@typescript-eslint", "no-secrets"],
rules: {
/**
* We don't require explicit return types as sometimes we want them
* derived from the function.
*/
"@typescript-eslint/explicit-module-boundary-types": "off",
/**
* Don't allow eslint to pass if there is a `FIXME:` in the code
*/
"no-warning-comments": ["error", { terms: ["FIXME:"] }],
/**
* Looks for potentially added an accidental secret to the git repo.
*/
"no-secrets/no-secrets": ["error", { tolerance: 4.6 }],
/**
* React being in Scope is not required in Next.js so we turn it off
*/
"react/react-in-jsx-scope": "off",
},
overrides: [
{
files: ["*.js"],
rules: {
/**
* Disable rejection of `require` in JavaScript files often used for
* configuration. This TypeScript rule is being erroneously applied to
* JavaScript files and this disables it. In the future, I presume
* this might be fixed so try removing this rule once in a while to
* see if they fixed the issue.
*/
"@typescript-eslint/no-var-requires": "off",
},
},
],
settings: {
react: {
/**
* Automatically detect which version of React. If we remove this, we get
* a warning. In the future, it says that this will default to "detect"
* in the future and then we can remove this.
*/
version: "detect",
},
},
}