Skip to content

Commit 8b71b3e

Browse files
committed
Fix lint
1 parent 76ff249 commit 8b71b3e

File tree

10 files changed

+187
-78
lines changed

10 files changed

+187
-78
lines changed

.eslintrc

+157-63
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,34 @@
55
"es6": true,
66
"es2020": true
77
},
8-
98
"globals": {
109
"jsdom": true,
1110
"jsSDK": true
1211
},
13-
1412
"parser": "@babel/eslint-parser",
15-
1613
"parserOptions": {
1714
"ecmaFeatures": {
1815
"jsx": true
1916
}
2017
},
21-
2218
"plugins": [
2319
"react",
2420
"babel"
2521
],
26-
2722
"extends": [
2823
"eslint:recommended",
2924
"plugin:react/recommended"
3025
],
31-
3226
"settings": {
3327
"react": {
3428
"version": "16.14"
3529
}
3630
},
37-
3831
"rules": {
3932
// Possible Errors
4033
"no-misleading-character-class": "error",
4134
"no-template-curly-in-string": "error",
4235
"no-console": "warn",
43-
4436
// Best practices
4537
"array-callback-return": "error",
4638
"consistent-return": "error",
@@ -53,83 +45,188 @@
5345
"babel/no-unused-expressions": "error",
5446
"require-await": "error",
5547
"radix": "error",
56-
5748
// Variables
58-
"no-unused-vars": ["error", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_" }],
49+
"no-unused-vars": [
50+
"error",
51+
{
52+
"argsIgnorePattern": "^_",
53+
"varsIgnorePattern": "^_"
54+
}
55+
],
5956
"no-shadow-restricted-names": "error",
60-
6157
// Stylistic issues
6258
"array-bracket-spacing": "error",
63-
"block-spacing": ["error", "always"],
64-
"comma-dangle": ["error", {
65-
"arrays": "always-multiline",
66-
"objects": "always-multiline",
67-
"imports": "always-multiline",
68-
"exports": "always-multiline",
69-
"functions": "always-multiline"
70-
}],
71-
"comma-spacing": ["error", { "before": false, "after": true }],
72-
"comma-style": ["error", "last"],
73-
"computed-property-spacing": ["error", "never"],
74-
"eol-last": ["error", "always"],
75-
"indent": ["error", 2, { "SwitchCase": 1, "ignoredNodes": ["TemplateLiteral"] }],
76-
"jsx-quotes": ["error", "prefer-double"],
77-
"key-spacing": ["error", { "beforeColon": false }],
59+
"block-spacing": [
60+
"error",
61+
"always"
62+
],
63+
"comma-dangle": [
64+
"error",
65+
{
66+
"arrays": "always-multiline",
67+
"objects": "always-multiline",
68+
"imports": "always-multiline",
69+
"exports": "always-multiline",
70+
"functions": "always-multiline"
71+
}
72+
],
73+
"comma-spacing": [
74+
"error",
75+
{
76+
"before": false,
77+
"after": true
78+
}
79+
],
80+
"comma-style": [
81+
"error",
82+
"last"
83+
],
84+
"computed-property-spacing": [
85+
"error",
86+
"never"
87+
],
88+
"eol-last": [
89+
"error",
90+
"always"
91+
],
92+
"indent": [
93+
"error",
94+
2,
95+
{
96+
"SwitchCase": 1,
97+
"ignoredNodes": [
98+
"TemplateLiteral"
99+
]
100+
}
101+
],
102+
"jsx-quotes": [
103+
"error",
104+
"prefer-double"
105+
],
106+
"key-spacing": [
107+
"error",
108+
{
109+
"beforeColon": false
110+
}
111+
],
78112
"keyword-spacing": "error",
79-
"max-len": ["error", { "code": 140, "ignoreTemplateLiterals": true, "ignoreUrls": true, "ignoreStrings": true }],
113+
"max-len": [
114+
"error",
115+
{
116+
"code": 140,
117+
"ignoreTemplateLiterals": true,
118+
"ignoreUrls": true,
119+
"ignoreStrings": true
120+
}
121+
],
80122
"new-parens": "error",
81123
"no-mixed-operators": "error",
82-
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0 }],
124+
"no-multiple-empty-lines": [
125+
"error",
126+
{
127+
"max": 1,
128+
"maxEOF": 0
129+
}
130+
],
83131
"no-nested-ternary": "error",
84132
"no-trailing-spaces": "error",
85133
"no-tabs": "error",
86-
"object-curly-spacing": ["error", "always"],
134+
"object-curly-spacing": [
135+
"error",
136+
"always"
137+
],
87138
"prefer-object-spread": "error",
88-
"quotes": ["error", "double"],
89-
"semi": ["error", "always", { "omitLastInOneLineBlock": true }],
90-
"semi-spacing": ["error", { "before": false, "after": true }],
91-
"space-before-blocks": ["error", "always"],
92-
"space-before-function-paren": ["error", {
93-
"anonymous": "never",
94-
"named": "never",
95-
"asyncArrow": "always"
96-
}],
139+
"quotes": [
140+
"error",
141+
"double"
142+
],
143+
"semi": [
144+
"error",
145+
"always",
146+
{
147+
"omitLastInOneLineBlock": true
148+
}
149+
],
150+
"semi-spacing": [
151+
"error",
152+
{
153+
"before": false,
154+
"after": true
155+
}
156+
],
157+
"space-before-blocks": [
158+
"error",
159+
"always"
160+
],
161+
"space-before-function-paren": [
162+
"error",
163+
{
164+
"anonymous": "never",
165+
"named": "never",
166+
"asyncArrow": "always"
167+
}
168+
],
97169
"space-in-parens": "error",
98170
"space-infix-ops": "error",
99-
"space-unary-ops": ["error", {
100-
"words": true,
101-
"nonwords": false
102-
}],
103-
"spaced-comment": ["error", "always", { "exceptions": ["-"] }],
104-
"switch-colon-spacing": ["error", {
105-
"after": true,
106-
"before": false
107-
}],
108-
171+
"space-unary-ops": [
172+
"error",
173+
{
174+
"words": true,
175+
"nonwords": false
176+
}
177+
],
178+
"spaced-comment": [
179+
"error",
180+
"always",
181+
{
182+
"exceptions": [
183+
"-"
184+
]
185+
}
186+
],
187+
"switch-colon-spacing": [
188+
"error",
189+
{
190+
"after": true,
191+
"before": false
192+
}
193+
],
109194
// ECMAScript 6
110195
"arrow-spacing": "error",
111-
"arrow-body-style": ["error", "as-needed"],
112-
"arrow-parens": ["error", "always"],
196+
"arrow-body-style": [
197+
"error",
198+
"as-needed"
199+
],
200+
"arrow-parens": [
201+
"error",
202+
"always"
203+
],
113204
"no-duplicate-imports": "error",
114205
"no-var": "error",
115-
"prefer-const": ["error", { "destructuring": "all" }],
206+
"prefer-const": [
207+
"error",
208+
{
209+
"destructuring": "all"
210+
}
211+
],
116212
"prefer-template": "error",
117213
"template-curly-spacing": "off",
118-
119214
// React
120215
"react/prop-types": "off",
121216
"react/no-unescaped-entities": "off",
122-
123217
"no-import-assign": "warn"
124218
},
125-
126219
"overrides": [
127220
{
128-
"files": ["src/**/*.ts", "src/**/*.tsx"],
129-
"excludedFiles": ["src/components/ui/**/*.ts", "src/components/ui/**/*.tsx"],
130-
221+
"files": [
222+
"src/**/*.ts",
223+
"src/**/*.tsx"
224+
],
225+
"excludedFiles": [
226+
"src/components/ui/**/*.ts",
227+
"src/components/ui/**/*.tsx"
228+
],
131229
"parser": "@typescript-eslint/parser",
132-
133230
"parserOptions": {
134231
"ecmaFeatures": {
135232
"jsx": true,
@@ -139,30 +236,27 @@
139236
"project": "./tsconfig.json",
140237
"createDefaultProgram": true
141238
},
142-
143239
"plugins": [
144240
"@typescript-eslint",
145241
"react",
146242
"babel"
147243
],
148-
149244
"extends": [
150245
"eslint:recommended",
151246
"plugin:react/recommended",
152247
"plugin:@typescript-eslint/eslint-recommended",
153248
"plugin:@typescript-eslint/recommended",
154249
"plugin:@typescript-eslint/recommended-requiring-type-checking"
155250
],
156-
157251
"rules": {
158252
"@typescript-eslint/no-floating-promises": "warn",
159253
"@typescript-eslint/no-unsafe-assignment": "warn",
160254
"@typescript-eslint/no-unsafe-member-access": "warn",
161255
"@typescript-eslint/no-unsafe-call": "warn",
162256
"@typescript-eslint/no-misused-promises": "warn",
163-
164257
"@typescript-eslint/no-unused-vars": [
165-
"error", {
258+
"error",
259+
{
166260
"argsIgnorePattern": "^_",
167261
"varsIgnorePattern": "^_"
168262
}

.github/workflows/pull_request.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ jobs:
6565
run: yarn install --pure-lockfile
6666

6767
- name: Run linters
68-
run: yarn lint
68+
run: yarn lint:js

babel.config.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module.exports = {
2+
"presets": [
3+
["@babel/env", {
4+
"modules": false,
5+
"useBuiltIns": "entry",
6+
"forceAllTransforms": true,
7+
"corejs": "3",
8+
}],
9+
"@babel/react",
10+
"@babel/typescript",
11+
],
12+
};

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,10 @@
3838
"styled-components": "^5.3.5"
3939
},
4040
"devDependencies": {
41+
"@babel/core": "^7.18.6",
4142
"@babel/eslint-parser": "^7.18.2",
43+
"@babel/preset-react": "^7.18.6",
44+
"@babel/preset-typescript": "^7.18.6",
4245
"@types/node": "^17.0.45",
4346
"@types/react": "^18.0.14",
4447
"@types/react-dom": "^18.0.5",

src/components/ui/Button.tsx

+5-5
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ transform: scale(1);
2727
2828
:hover {
2929
${(props) =>
30-
!props.disabled &&
30+
!props.disabled &&
3131
!props.loading &&
3232
css`
3333
opacity: 0.8;
3434
`}
3535
}
3636
3737
${(props) =>
38-
props.alt === "true" &&
38+
props.alt === "true" &&
3939
css`
4040
background-color: var(--c-light-pink);
4141
box-shadow: 0px 3px 3px var(--c-pink);
@@ -49,19 +49,19 @@ ${(props) =>
4949
`}
5050
5151
${(props) =>
52-
props.height !== undefined &&
52+
props.height !== undefined &&
5353
css`
5454
height: ${props.height};
5555
`}
5656
5757
${(props) =>
58-
props.width !== undefined &&
58+
props.width !== undefined &&
5959
css`
6060
width: ${props.width};
6161
`}
6262
6363
${(props) =>
64-
props.disabled &&
64+
props.disabled &&
6565
css`
6666
opacity: 0.4;
6767
background-color: var(--c-red);

0 commit comments

Comments
 (0)