Skip to content

Commit 5e05f45

Browse files
committed
chore: use lint-staged in pre-commit hook
Closes redpwn#25
1 parent 8ce5794 commit 5e05f45

File tree

3 files changed

+155
-11
lines changed

3 files changed

+155
-11
lines changed

.lintstagedrc.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const { CLIEngine } = require('eslint')
2+
3+
const cli = new CLIEngine({})
4+
5+
module.exports = {
6+
'*.{j,t}s?(x)': files =>
7+
'eslint --max-warnings=0 --fix ' +files.filter(file => !cli.isPathIgnored(file)).join(' '),
8+
'*.ts?(x)': () => 'tsc --noEmit'
9+
}

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
},
2323
"husky": {
2424
"hooks": {
25-
"pre-commit": "yarn lint"
25+
"pre-commit": "lint-staged"
2626
}
2727
},
2828
"dependencies": {
@@ -73,6 +73,7 @@
7373
"jss-nested": "6.0.1",
7474
"jss-vendor-prefixer": "8.0.1",
7575
"linkstate": "1.1.1",
76+
"lint-staged": "10.2.6",
7677
"loader-utils": "2.0.0",
7778
"nodemon": "2.0.4",
7879
"nyc": "15.0.1",

yarn.lock

+144-10
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,13 @@
987987
estree-walker "^1.0.1"
988988
picomatch "^2.2.2"
989989

990+
"@samverschueren/stream-to-observable@^0.3.0":
991+
version "0.3.0"
992+
resolved "https://registry.yarnpkg.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.0.tgz#ecdf48d532c58ea477acfcab80348424f8d0662f"
993+
integrity sha512-MI4Xx6LHs4Webyvi6EbspgyAb4D2Q2VtnCQ1blOJcoLS6mVa8lNN2rkIy1CVxfTUpoyIbCTkXES1rLXztFD1lg==
994+
dependencies:
995+
any-observable "^0.3.0"
996+
990997
"@sindresorhus/is@^0.14.0":
991998
version "0.14.0"
992999
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -1446,15 +1453,15 @@ ansi-colors@^1.0.1:
14461453
dependencies:
14471454
ansi-wrap "^0.1.0"
14481455

1449-
ansi-colors@^3.0.0:
1456+
ansi-colors@^3.0.0, ansi-colors@^3.2.1:
14501457
version "3.2.4"
14511458
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
14521459

14531460
ansi-escapes@^3.2.0:
14541461
version "3.2.0"
14551462
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
14561463

1457-
ansi-escapes@^4.2.1:
1464+
ansi-escapes@^4.2.1, ansi-escapes@^4.3.0:
14581465
version "4.3.1"
14591466
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
14601467
dependencies:
@@ -1501,6 +1508,11 @@ ansi-wrap@^0.1.0:
15011508
version "0.1.0"
15021509
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
15031510

1511+
any-observable@^0.3.0:
1512+
version "0.3.0"
1513+
resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
1514+
integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
1515+
15041516
anymatch@^2.0.0:
15051517
version "2.0.0"
15061518
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -2453,7 +2465,7 @@ cli-spinners@^2.2.0:
24532465
version "2.3.0"
24542466
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5"
24552467

2456-
cli-truncate@^2.1.0:
2468+
cli-truncate@2.1.0, cli-truncate@^2.1.0:
24572469
version "2.1.0"
24582470
resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
24592471
dependencies:
@@ -2563,7 +2575,7 @@ commander@^2.18.0, commander@^2.20.0:
25632575
version "2.20.3"
25642576
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
25652577

2566-
commander@^5.0.0:
2578+
commander@^5.0.0, commander@^5.1.0:
25672579
version "5.1.0"
25682580
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
25692581

@@ -3276,7 +3288,7 @@ decompress-response@^6.0.0:
32763288
dependencies:
32773289
mimic-response "^3.1.0"
32783290

3279-
3291+
[email protected], dedent@^0.7.0:
32803292
version "0.7.0"
32813293
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
32823294

@@ -3623,6 +3635,11 @@ electron-to-chromium@^1.3.413:
36233635
version "1.3.453"
36243636
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.453.tgz#758a8565a64b7889b27132a51d2abb8b135c9d01"
36253637

3638+
elegant-spinner@^2.0.0:
3639+
version "2.0.0"
3640+
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-2.0.0.tgz#f236378985ecd16da75488d166be4b688fd5af94"
3641+
integrity sha512-5YRYHhvhYzV/FC4AiMdeSIg3jAYGq9xFvbhZMpPlJoBsfYgrw2DSCYeXfat6tYBu45PWiyRr3+flaCPPmviPaA==
3642+
36263643
elliptic@^6.0.0, elliptic@^6.5.2:
36273644
version "6.5.2"
36283645
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
@@ -3684,6 +3701,13 @@ enhanced-resolve@^4.1.0:
36843701
memory-fs "^0.5.0"
36853702
tapable "^1.0.0"
36863703

3704+
enquirer@^2.3.5:
3705+
version "2.3.5"
3706+
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.5.tgz#3ab2b838df0a9d8ab9e7dff235b0e8712ef92381"
3707+
integrity sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==
3708+
dependencies:
3709+
ansi-colors "^3.2.1"
3710+
36873711
ent@^2.2.0:
36883712
version "2.2.0"
36893713
resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d"
@@ -4072,6 +4096,21 @@ execa@^1.0.0:
40724096
signal-exit "^3.0.0"
40734097
strip-eof "^1.0.0"
40744098

4099+
execa@^4.0.1:
4100+
version "4.0.2"
4101+
resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240"
4102+
integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==
4103+
dependencies:
4104+
cross-spawn "^7.0.0"
4105+
get-stream "^5.0.0"
4106+
human-signals "^1.1.1"
4107+
is-stream "^2.0.0"
4108+
merge-stream "^2.0.0"
4109+
npm-run-path "^4.0.0"
4110+
onetime "^5.1.0"
4111+
signal-exit "^3.0.2"
4112+
strip-final-newline "^2.0.0"
4113+
40754114
expand-brackets@^2.1.4:
40764115
version "2.1.4"
40774116
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
@@ -4591,7 +4630,7 @@ get-stream@^4.0.0, get-stream@^4.1.0:
45914630
dependencies:
45924631
pump "^3.0.0"
45934632

4594-
get-stream@^5.1.0:
4633+
get-stream@^5.0.0, get-stream@^5.1.0:
45954634
version "5.1.0"
45964635
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9"
45974636
dependencies:
@@ -5203,6 +5242,11 @@ https-proxy-agent@^5.0.0:
52035242
agent-base "6"
52045243
debug "4"
52055244

5245+
human-signals@^1.1.1:
5246+
version "1.1.1"
5247+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
5248+
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
5249+
52065250
52075251
version "4.2.5"
52085252
resolved "https://registry.yarnpkg.com/husky/-/husky-4.2.5.tgz#2b4f7622673a71579f901d9885ed448394b5fa36"
@@ -6089,6 +6133,46 @@ [email protected]:
60896133
resolved "https://registry.yarnpkg.com/linkstate/-/linkstate-1.1.1.tgz#cb9c29189baa7552295898f78f82b4055d6be108"
60906134
integrity sha512-5SICdxQG9FpWk44wSEoM2WOCUNuYfClp10t51XAIV5E7vUILF/dTYxf0vJw6bW2dUd2wcQon+LkNtRijpNLrig==
60916135

6136+
6137+
version "10.2.6"
6138+
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.6.tgz#7d9658bd89dee946a859cbfc6e09566a9fb50b53"
6139+
integrity sha512-2oEBWyPZHkdyjKcIv2U6ay80Q52ZMlZZrUnfsV0WTVcgzPlt3o2t5UFy2v8ETUTsIDZ0xSJVnffWCgD3LF6xTQ==
6140+
dependencies:
6141+
chalk "^4.0.0"
6142+
cli-truncate "2.1.0"
6143+
commander "^5.1.0"
6144+
cosmiconfig "^6.0.0"
6145+
debug "^4.1.1"
6146+
dedent "^0.7.0"
6147+
execa "^4.0.1"
6148+
listr2 "^2.0.2"
6149+
log-symbols "^4.0.0"
6150+
micromatch "^4.0.2"
6151+
normalize-path "^3.0.0"
6152+
please-upgrade-node "^3.2.0"
6153+
string-argv "0.3.1"
6154+
stringify-object "^3.3.0"
6155+
6156+
listr2@^2.0.2:
6157+
version "2.0.4"
6158+
resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.0.4.tgz#b39100b0a227ec5659dcf76ddc516211fc168d61"
6159+
integrity sha512-oJaAcplPsa72rKW0eg4P4LbEJjhH+UO2I8uqR/I2wzHrVg16ohSfUy0SlcHS21zfYXxtsUpL8YXGHjyfWMR0cg==
6160+
dependencies:
6161+
"@samverschueren/stream-to-observable" "^0.3.0"
6162+
chalk "^4.0.0"
6163+
cli-cursor "^3.1.0"
6164+
cli-truncate "^2.1.0"
6165+
elegant-spinner "^2.0.0"
6166+
enquirer "^2.3.5"
6167+
figures "^3.2.0"
6168+
indent-string "^4.0.0"
6169+
log-update "^4.0.0"
6170+
p-map "^4.0.0"
6171+
pad "^3.2.0"
6172+
rxjs "^6.5.5"
6173+
through "^2.3.8"
6174+
uuid "^7.0.2"
6175+
60926176
load-json-file@^2.0.0:
60936177
version "2.0.0"
60946178
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
@@ -6217,6 +6301,23 @@ log-symbols@^3.0.0:
62176301
dependencies:
62186302
chalk "^2.4.2"
62196303

6304+
log-symbols@^4.0.0:
6305+
version "4.0.0"
6306+
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
6307+
integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==
6308+
dependencies:
6309+
chalk "^4.0.0"
6310+
6311+
log-update@^4.0.0:
6312+
version "4.0.0"
6313+
resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
6314+
integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
6315+
dependencies:
6316+
ansi-escapes "^4.3.0"
6317+
cli-cursor "^3.1.0"
6318+
slice-ansi "^4.0.0"
6319+
wrap-ansi "^6.2.0"
6320+
62206321
loglevel@^1.6.8:
62216322
version "1.6.8"
62226323
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171"
@@ -6895,6 +6996,13 @@ npm-run-path@^2.0.0:
68956996
dependencies:
68966997
path-key "^2.0.0"
68976998

6999+
npm-run-path@^4.0.0:
7000+
version "4.0.1"
7001+
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
7002+
integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
7003+
dependencies:
7004+
path-key "^3.0.0"
7005+
68987006
nth-check@^1.0.2, nth-check@~1.0.1:
68997007
version "1.0.2"
69007008
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
@@ -7240,6 +7348,13 @@ [email protected]:
72407348
version "1.0.0"
72417349
resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74"
72427350

7351+
pad@^3.2.0:
7352+
version "3.2.0"
7353+
resolved "https://registry.yarnpkg.com/pad/-/pad-3.2.0.tgz#be7a1d1cb6757049b4ad5b70e71977158fea95d1"
7354+
integrity sha512-2u0TrjcGbOjBTJpyewEl4hBO3OeX5wWue7eIFPzQTg6wFSvoaHcBTTUY5m+n0hd04gmTCPuY0kCpVIVuw5etwg==
7355+
dependencies:
7356+
wcwidth "^1.0.1"
7357+
72437358
pako@~1.0.5:
72447359
version "1.0.11"
72457360
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
@@ -7357,7 +7472,7 @@ path-key@^2.0.0, path-key@^2.0.1:
73577472
version "2.0.1"
73587473
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
73597474

7360-
path-key@^3.1.0:
7475+
path-key@^3.0.0, path-key@^3.1.0:
73617476
version "3.1.1"
73627477
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
73637478

@@ -8755,7 +8870,7 @@ run-queue@^1.0.0, run-queue@^1.0.3:
87558870
dependencies:
87568871
aproba "^1.1.1"
87578872

8758-
rxjs@^6.4.0, rxjs@^6.5.2, rxjs@^6.5.3:
8873+
rxjs@^6.4.0, rxjs@^6.5.2, rxjs@^6.5.3, rxjs@^6.5.5:
87598874
version "6.5.5"
87608875
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"
87618876
dependencies:
@@ -9024,6 +9139,15 @@ slice-ansi@^3.0.0:
90249139
astral-regex "^2.0.0"
90259140
is-fullwidth-code-point "^3.0.0"
90269141

9142+
slice-ansi@^4.0.0:
9143+
version "4.0.0"
9144+
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
9145+
integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
9146+
dependencies:
9147+
ansi-styles "^4.0.0"
9148+
astral-regex "^2.0.0"
9149+
is-fullwidth-code-point "^3.0.0"
9150+
90279151
snakeize@^0.1.0:
90289152
version "0.1.0"
90299153
resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d"
@@ -9294,6 +9418,11 @@ strict-uri-encode@^1.0.0:
92949418
version "1.1.0"
92959419
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
92969420

9421+
9422+
version "0.3.1"
9423+
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
9424+
integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
9425+
92979426
string-width@^2.1.0:
92989427
version "2.1.1"
92999428
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
@@ -9421,6 +9550,11 @@ strip-eof@^1.0.0:
94219550
version "1.0.0"
94229551
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
94239552

9553+
strip-final-newline@^2.0.0:
9554+
version "2.0.0"
9555+
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
9556+
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
9557+
94249558
strip-indent@^3.0.0:
94259559
version "3.0.0"
94269560
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
@@ -9699,7 +9833,7 @@ through2@^2.0.0:
96999833
readable-stream "~2.3.6"
97009834
xtend "~4.0.1"
97019835

9702-
through@2, through@^2.3.6:
9836+
through@2, through@^2.3.6, through@^2.3.8:
97039837
version "2.3.8"
97049838
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
97059839

@@ -10117,7 +10251,7 @@ uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0:
1011710251
version "3.4.0"
1011810252
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
1011910253

10120-
uuid@^7.0.0:
10254+
uuid@^7.0.0, uuid@^7.0.2:
1012110255
version "7.0.3"
1012210256
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
1012310257

0 commit comments

Comments
 (0)