forked from reearth/reearth-web
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eslintrc.yml
143 lines (143 loc) · 3.34 KB
/
.eslintrc.yml
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
env:
es6: true
node: true
extends:
- eslint:recommended
- plugin:prettier/recommended
- plugin:import/recommended
- plugin:import/typescript
- plugin:import/warnings
parserOptions:
ecmaVersion: 2020
plugins:
- prettier
root: true
rules:
import/first: warn
import/newline-after-import: warn
import/no-named-as-default: 'off'
import/order:
- warn
- pathGroups:
- pattern: '@reearth/**'
group: external
position: after
pathGroupsExcludedImportTypes: ["builtin"]
newlines-between: always
alphabetize:
order: asc
caseInsensitive: true
prettier/prettier: warn
overrides:
- files:
- '*.ts'
- '*.tsx'
parser: '@typescript-eslint/parser'
parserOptions:
sourceType: module
env:
browser: true
commonjs: true
node: false
plugins:
- react
- react-hooks
- '@typescript-eslint'
extends:
- plugin:react/recommended
- plugin:@typescript-eslint/recommended
rules:
'@typescript-eslint/explicit-function-return-type': 'off'
'@typescript-eslint/explicit-module-boundary-types': 'off'
'@typescript-eslint/interface-name-prefix': 'off'
'@typescript-eslint/no-empty-function': 'off'
'@typescript-eslint/no-explicit-any': 'off'
'@typescript-eslint/no-unused-vars':
- 'error'
- argsIgnorePattern: '^_'
varsIgnorePattern: '^_'
'@typescript-eslint/no-use-before-define': 'off'
'@typescript-eslint/prefer-optional-chain': warn
'@typescript-eslint/ban-types': [
'error',
{
'extendDefaults': true,
'types': {
'{}': false
}
}
]
import/no-unresolved: 'off'
no-undef: 'off'
react/prop-types: 'off'
react-hooks/rules-of-hooks: error
react-hooks/exhaustive-deps: warn
settings:
react:
version: detect
- files:
- '*.test.ts'
plugins:
- testing-library
extends:
- plugin:testing-library/dom
- files:
- '*.test.tsx'
plugins:
- testing-library
extends:
- plugin:testing-library/react
- files:
- '*.js'
extends:
- plugin:node/recommended
plugins:
- node
rules:
node/no-unpublished-require: 'off'
node/no-unpublished-import: 'off'
- files:
- src/**/queries.ts
- src/gql/fragments/*.ts
plugins:
- graphql
rules:
graphql/capitalized-type-name:
- error
- env: apollo
graphql/no-deprecated-fields:
- error
- env: apollo
graphql/required-fields:
- error
- env: apollo
requiredFields:
- id
# TODO: I want to apply Prettier to GraphQL documents
- files:
- src/**/*.graphql
plugins:
- graphql
rules:
graphql/template-strings:
- error
- env: literal
graphql/capitalized-type-name:
- error
- env: literal
graphql/no-deprecated-fields:
- error
- env: literal
graphql/required-fields:
- error
- env: literal
requiredFields:
- id
- files:
- cypress/**/*
parserOptions:
sourceType: module
extends:
- plugin:cypress/recommended
rules:
node/no-unsupported-features/es-syntax: [error, { ignores: [modules] }]