greatly reduced distribution node_modules size
Massimo Melina committed
Jan 4, 2022 at 11:02 UTC
dae0abb8d93a11971dd2d9c9bd2a1ddca60956e8
6 files changed
+1371
-64
package-lock.json
+1343
-45
@@ -1,12 +1,12 @@
1
{
2
"name": "hfs",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
"lockfileVersion": 2,
5
"requires": true,
6
"packages": {
7
"": {
8
"name": "hfs",
9
- "version": "0.4.0",
9
+ "version": "0.4.1",
10
"license": "GPL-3.0",
11
"dependencies": {
12
"@koa/router": "^10.1.1",
@@ -14,7 +14,6 @@
14
"buffer-crc32": "https://github.com/rejetto/buffer-crc32.git",
15
"fast-glob": "^3.2.7",
16
"koa": "^2.13.4",
17
- "koa-accesslog": "^1.0.0",
17
"koa-better-http-proxy": "^0.2.9",
18
"koa-bodyparser": "^4.3.0",
19
"koa-compress": "^5.1.0",
@@ -44,11 +43,87 @@
43
"@types/node": "^16.11.12",
44
"axios": "^0.24.0",
45
"mocha": "^9.1.3",
46
+ "nm-prune": "^5.0.0",
47
"nodemon": "^2.0.15",
48
- "ts-node": "^10.4.0",
49
- "typescript": "^4.5.2"
48
+ "ts-node": "^10.4.0"
49
+ }
50
+ },
51
+ "node_modules/@babel/code-frame": {
52
+ "version": "7.16.7",
53
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
54
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
55
+ "dev": true,
56
+ "dependencies": {
57
+ "@babel/highlight": "^7.16.7"
58
+ },
59
+ "engines": {
60
+ "node": ">=6.9.0"
61
+ }
62
+ },
63
+ "node_modules/@babel/helper-validator-identifier": {
64
+ "version": "7.16.7",
65
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
66
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
67
+ "dev": true,
68
+ "engines": {
69
+ "node": ">=6.9.0"
70
+ }
71
+ },
72
+ "node_modules/@babel/highlight": {
73
+ "version": "7.16.7",
74
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
75
+ "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
76
+ "dev": true,
77
+ "dependencies": {
78
+ "@babel/helper-validator-identifier": "^7.16.7",
79
+ "chalk": "^2.0.0",
80
+ "js-tokens": "^4.0.0"
81
+ },
82
+ "engines": {
83
+ "node": ">=6.9.0"
84
+ }
85
+ },
86
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
87
+ "version": "3.2.1",
88
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
89
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
90
+ "dev": true,
91
+ "dependencies": {
92
+ "color-convert": "^1.9.0"
93
+ },
94
+ "engines": {
95
+ "node": ">=4"
96
+ }
97
+ },
98
+ "node_modules/@babel/highlight/node_modules/chalk": {
99
+ "version": "2.4.2",
100
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
101
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
102
+ "dev": true,
103
+ "dependencies": {
104
+ "ansi-styles": "^3.2.1",
105
+ "escape-string-regexp": "^1.0.5",
106
+ "supports-color": "^5.3.0"
107
+ },
108
+ "engines": {
109
+ "node": ">=4"
110
}
111
},
112
+ "node_modules/@babel/highlight/node_modules/color-convert": {
113
+ "version": "1.9.3",
114
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
115
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
116
+ "dev": true,
117
+ "dependencies": {
118
+ "color-name": "1.1.3"
119
+ }
120
+ },
121
+ "node_modules/@babel/highlight/node_modules/color-name": {
122
+ "version": "1.1.3",
123
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
124
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
125
+ "dev": true
126
+ },
127
"node_modules/@cspotcode/source-map-consumer": {
128
"version": "0.8.0",
129
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
@@ -629,6 +704,12 @@
704
"integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==",
705
"dev": true
706
},
707
+ "node_modules/@types/normalize-package-data": {
708
+ "version": "2.4.1",
709
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
710
+ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
711
+ "dev": true
712
+ },
713
"node_modules/@types/qs": {
714
"version": "6.9.7",
715
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
@@ -757,6 +838,15 @@
838
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
839
"dev": true
840
},
841
+ "node_modules/arrify": {
842
+ "version": "1.0.1",
843
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
844
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
845
+ "dev": true,
846
+ "engines": {
847
+ "node": ">=0.10.0"
848
+ }
849
+ },
850
"node_modules/async": {
851
"version": "1.0.0",
852
"resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
@@ -971,6 +1061,32 @@
1061
"url": "https://github.com/sponsors/sindresorhus"
1062
}
1063
},
1064
+ "node_modules/camelcase-keys": {
1065
+ "version": "6.2.2",
1066
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
1067
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
1068
+ "dev": true,
1069
+ "dependencies": {
1070
+ "camelcase": "^5.3.1",
1071
+ "map-obj": "^4.0.0",
1072
+ "quick-lru": "^4.0.1"
1073
+ },
1074
+ "engines": {
1075
+ "node": ">=8"
1076
+ },
1077
+ "funding": {
1078
+ "url": "https://github.com/sponsors/sindresorhus"
1079
+ }
1080
+ },
1081
+ "node_modules/camelcase-keys/node_modules/camelcase": {
1082
+ "version": "5.3.1",
1083
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
1084
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
1085
+ "dev": true,
1086
+ "engines": {
1087
+ "node": ">=6"
1088
+ }
1089
+ },
1090
"node_modules/chalk": {
1091
"version": "4.1.2",
1092
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -1247,6 +1363,37 @@
1363
"url": "https://github.com/sponsors/sindresorhus"
1364
}
1365
},
1366
+ "node_modules/decamelize-keys": {
1367
+ "version": "1.1.0",
1368
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
1369
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
1370
+ "dev": true,
1371
+ "dependencies": {
1372
+ "decamelize": "^1.1.0",
1373
+ "map-obj": "^1.0.0"
1374
+ },
1375
+ "engines": {
1376
+ "node": ">=0.10.0"
1377
+ }
1378
+ },
1379
+ "node_modules/decamelize-keys/node_modules/decamelize": {
1380
+ "version": "1.2.0",
1381
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
1382
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
1383
+ "dev": true,
1384
+ "engines": {
1385
+ "node": ">=0.10.0"
1386
+ }
1387
+ },
1388
+ "node_modules/decamelize-keys/node_modules/map-obj": {
1389
+ "version": "1.0.1",
1390
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
1391
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
1392
+ "dev": true,
1393
+ "engines": {
1394
+ "node": ">=0.10.0"
1395
+ }
1396
+ },
1397
"node_modules/decompress-response": {
1398
"version": "3.3.0",
1399
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
@@ -1324,6 +1471,12 @@
1471
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
1472
"dev": true
1473
},
1474
+ "node_modules/each-limit": {
1475
+ "version": "1.0.0",
1476
+ "resolved": "https://registry.npmjs.org/each-limit/-/each-limit-1.0.0.tgz",
1477
+ "integrity": "sha1-OAFACDNnqK9kKZvKwV/dWxqXcZY=",
1478
+ "dev": true
1479
+ },
1480
"node_modules/ee-first": {
1481
"version": "1.1.1",
1482
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -1352,6 +1505,27 @@
1505
"once": "^1.4.0"
1506
}
1507
},
1508
+ "node_modules/enquirer": {
1509
+ "version": "2.3.6",
1510
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
1511
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
1512
+ "dev": true,
1513
+ "dependencies": {
1514
+ "ansi-colors": "^4.1.1"
1515
+ },
1516
+ "engines": {
1517
+ "node": ">=8.6"
1518
+ }
1519
+ },
1520
+ "node_modules/error-ex": {
1521
+ "version": "1.3.2",
1522
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
1523
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
1524
+ "dev": true,
1525
+ "dependencies": {
1526
+ "is-arrayish": "^0.2.1"
1527
+ }
1528
+ },
1529
"node_modules/es6-promise": {
1530
"version": "3.3.1",
1531
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
@@ -1380,6 +1554,15 @@
1554
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1555
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
1556
},
1557
+ "node_modules/escape-string-regexp": {
1558
+ "version": "1.0.5",
1559
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1560
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1561
+ "dev": true,
1562
+ "engines": {
1563
+ "node": ">=0.8.0"
1564
+ }
1565
+ },
1566
"node_modules/eyes": {
1567
"version": "0.1.8",
1568
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
@@ -1422,6 +1605,25 @@
1605
"node": ">=8"
1606
}
1607
},
1608
+ "node_modules/find-root": {
1609
+ "version": "1.1.0",
1610
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
1611
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
1612
+ "dev": true
1613
+ },
1614
+ "node_modules/find-up": {
1615
+ "version": "4.1.0",
1616
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
1617
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
1618
+ "dev": true,
1619
+ "dependencies": {
1620
+ "locate-path": "^5.0.0",
1621
+ "path-exists": "^4.0.0"
1622
+ },
1623
+ "engines": {
1624
+ "node": ">=8"
1625
+ }
1626
+ },
1627
"node_modules/flat": {
1628
"version": "5.0.2",
1629
"resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
@@ -1459,6 +1661,17 @@
1661
"node": ">= 0.6"
1662
}
1663
},
1664
+ "node_modules/fs-extra": {
1665
+ "version": "4.0.3",
1666
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
1667
+ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
1668
+ "dev": true,
1669
+ "dependencies": {
1670
+ "graceful-fs": "^4.1.2",
1671
+ "jsonfile": "^4.0.0",
1672
+ "universalify": "^0.1.0"
1673
+ }
1674
+ },
1675
"node_modules/fs.realpath": {
1676
"version": "1.0.0",
1677
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1581,6 +1794,15 @@
1794
"node": ">=4.x"
1795
}
1796
},
1797
+ "node_modules/hard-rejection": {
1798
+ "version": "2.1.0",
1799
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
1800
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
1801
+ "dev": true,
1802
+ "engines": {
1803
+ "node": ">=6"
1804
+ }
1805
+ },
1806
"node_modules/has": {
1807
"version": "1.0.3",
1808
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -1644,6 +1866,18 @@
1866
"he": "bin/he"
1867
}
1868
},
1869
+ "node_modules/hosted-git-info": {
1870
+ "version": "4.0.2",
1871
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
1872
+ "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
1873
+ "dev": true,
1874
+ "dependencies": {
1875
+ "lru-cache": "^6.0.0"
1876
+ },
1877
+ "engines": {
1878
+ "node": ">=10"
1879
+ }
1880
+ },
1881
"node_modules/http-assert": {
1882
"version": "1.5.0",
1883
"resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
@@ -1739,6 +1973,15 @@
1973
"node": ">=0.8.19"
1974
}
1975
},
1976
+ "node_modules/indent-string": {
1977
+ "version": "4.0.0",
1978
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
1979
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
1980
+ "dev": true,
1981
+ "engines": {
1982
+ "node": ">=8"
1983
+ }
1984
+ },
1985
"node_modules/inflation": {
1986
"version": "2.0.0",
1987
"resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
@@ -1771,6 +2014,12 @@
2014
"node": ">=10"
2015
}
2016
},
2017
+ "node_modules/is-arrayish": {
2018
+ "version": "0.2.1",
2019
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
2020
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
2021
+ "dev": true
2022
+ },
2023
"node_modules/is-binary-path": {
2024
"version": "2.1.0",
2025
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -1800,6 +2049,18 @@
2049
"resolved": "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz",
2050
"integrity": "sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ=="
2051
},
2052
+ "node_modules/is-core-module": {
2053
+ "version": "2.8.0",
2054
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
2055
+ "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
2056
+ "dev": true,
2057
+ "dependencies": {
2058
+ "has": "^1.0.3"
2059
+ },
2060
+ "funding": {
2061
+ "url": "https://github.com/sponsors/ljharb"
2062
+ }
2063
+ },
2064
"node_modules/is-extglob": {
2065
"version": "2.1.1",
2066
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -1950,12 +2211,33 @@
2211
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
2212
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
2213
},
2214
+ "node_modules/js-tokens": {
2215
+ "version": "4.0.0",
2216
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
2217
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
2218
+ "dev": true
2219
+ },
2220
"node_modules/json-buffer": {
2221
"version": "3.0.0",
2222
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
2223
"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
2224
"dev": true
2225
},
2226
+ "node_modules/json-parse-even-better-errors": {
2227
+ "version": "2.3.1",
2228
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
2229
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
2230
+ "dev": true
2231
+ },
2232
+ "node_modules/jsonfile": {
2233
+ "version": "4.0.0",
2234
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
2235
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
2236
+ "dev": true,
2237
+ "optionalDependencies": {
2238
+ "graceful-fs": "^4.1.6"
2239
+ }
2240
+ },
2241
"node_modules/keygrip": {
2242
"version": "1.1.0",
2243
"resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
@@ -1976,6 +2258,15 @@
2258
"json-buffer": "3.0.0"
2259
}
2260
},
2261
+ "node_modules/kind-of": {
2262
+ "version": "6.0.3",
2263
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
2264
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
2265
+ "dev": true,
2266
+ "engines": {
2267
+ "node": ">=0.10.0"
2268
+ }
2269
+ },
2270
"node_modules/koa": {
2271
"version": "2.13.4",
2272
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz",
@@ -2009,17 +2300,6 @@
2300
"node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
2301
}
2302
},
2012
- "node_modules/koa-accesslog": {
2013
- "version": "1.0.0",
2014
- "resolved": "https://registry.npmjs.org/koa-accesslog/-/koa-accesslog-1.0.0.tgz",
2015
- "integrity": "sha512-drpakus6DsxCW7mh05O8zmwTTUMGe63o1PMPrz4+6ytypt0UCLRjgpj4AapxxXPWV1nOpcz1YtNP57QbKLfY0w==",
2016
- "dependencies": {
2017
- "moment": "^2.26.0"
2018
- },
2019
- "engines": {
2020
- "node": ">= 10"
2021
- }
2022
- },
2303
"node_modules/koa-better-http-proxy": {
2304
"version": "0.2.9",
2305
"resolved": "https://registry.npmjs.org/koa-better-http-proxy/-/koa-better-http-proxy-0.2.9.tgz",
@@ -2136,11 +2416,47 @@
2416
"node": ">=8"
2417
}
2418
},
2419
+ "node_modules/lines-and-columns": {
2420
+ "version": "1.2.4",
2421
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
2422
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
2423
+ "dev": true
2424
+ },
2425
+ "node_modules/locate-path": {
2426
+ "version": "5.0.0",
2427
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
2428
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
2429
+ "dev": true,
2430
+ "dependencies": {
2431
+ "p-locate": "^4.1.0"
2432
+ },
2433
+ "engines": {
2434
+ "node": ">=8"
2435
+ }
2436
+ },
2437
"node_modules/lodash": {
2438
"version": "4.17.21",
2439
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
2440
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
2441
},
2442
+ "node_modules/lodash.assign": {
2443
+ "version": "4.2.0",
2444
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
2445
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
2446
+ "dev": true
2447
+ },
2448
+ "node_modules/lodash.isobject": {
2449
+ "version": "3.0.2",
2450
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
2451
+ "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
2452
+ "dev": true
2453
+ },
2454
+ "node_modules/lodash.isundefined": {
2455
+ "version": "3.0.1",
2456
+ "resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz",
2457
+ "integrity": "sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g=",
2458
+ "dev": true
2459
+ },
2460
"node_modules/log-symbols": {
2461
"version": "4.1.0",
2462
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -2208,6 +2524,18 @@
2524
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
2525
"dev": true
2526
},
2527
+ "node_modules/map-obj": {
2528
+ "version": "4.3.0",
2529
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
2530
+ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
2531
+ "dev": true,
2532
+ "engines": {
2533
+ "node": ">=8"
2534
+ },
2535
+ "funding": {
2536
+ "url": "https://github.com/sponsors/sindresorhus"
2537
+ }
2538
+ },
2539
"node_modules/media-typer": {
2540
"version": "0.3.0",
2541
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -2216,6 +2544,53 @@
2544
"node": ">= 0.6"
2545
}
2546
},
2547
+ "node_modules/meow": {
2548
+ "version": "9.0.0",
2549
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
2550
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
2551
+ "dev": true,
2552
+ "dependencies": {
2553
+ "@types/minimist": "^1.2.0",
2554
+ "camelcase-keys": "^6.2.2",
2555
+ "decamelize": "^1.2.0",
2556
+ "decamelize-keys": "^1.1.0",
2557
+ "hard-rejection": "^2.1.0",
2558
+ "minimist-options": "4.1.0",
2559
+ "normalize-package-data": "^3.0.0",
2560
+ "read-pkg-up": "^7.0.1",
2561
+ "redent": "^3.0.0",
2562
+ "trim-newlines": "^3.0.0",
2563
+ "type-fest": "^0.18.0",
2564
+ "yargs-parser": "^20.2.3"
2565
+ },
2566
+ "engines": {
2567
+ "node": ">=10"
2568
+ },
2569
+ "funding": {
2570
+ "url": "https://github.com/sponsors/sindresorhus"
2571
+ }
2572
+ },
2573
+ "node_modules/meow/node_modules/decamelize": {
2574
+ "version": "1.2.0",
2575
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
2576
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
2577
+ "dev": true,
2578
+ "engines": {
2579
+ "node": ">=0.10.0"
2580
+ }
2581
+ },
2582
+ "node_modules/meow/node_modules/type-fest": {
2583
+ "version": "0.18.1",
2584
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
2585
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
2586
+ "dev": true,
2587
+ "engines": {
2588
+ "node": ">=10"
2589
+ },
2590
+ "funding": {
2591
+ "url": "https://github.com/sponsors/sindresorhus"
2592
+ }
2593
+ },
2594
"node_modules/merge2": {
2595
"version": "1.4.1",
2596
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -2272,6 +2647,15 @@
2647
"node": ">=4"
2648
}
2649
},
2650
+ "node_modules/min-indent": {
2651
+ "version": "1.0.1",
2652
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
2653
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
2654
+ "dev": true,
2655
+ "engines": {
2656
+ "node": ">=4"
2657
+ }
2658
+ },
2659
"node_modules/minimatch": {
2660
"version": "3.0.4",
2661
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -2289,6 +2673,29 @@
2673
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
2674
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
2675
},
2676
+ "node_modules/minimist-options": {
2677
+ "version": "4.1.0",
2678
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
2679
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
2680
+ "dev": true,
2681
+ "dependencies": {
2682
+ "arrify": "^1.0.1",
2683
+ "is-plain-obj": "^1.1.0",
2684
+ "kind-of": "^6.0.3"
2685
+ },
2686
+ "engines": {
2687
+ "node": ">= 6"
2688
+ }
2689
+ },
2690
+ "node_modules/minimist-options/node_modules/is-plain-obj": {
2691
+ "version": "1.1.0",
2692
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
2693
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
2694
+ "dev": true,
2695
+ "engines": {
2696
+ "node": ">=0.10.0"
2697
+ }
2698
+ },
2699
"node_modules/mocha": {
2700
"version": "9.1.3",
2701
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
@@ -2526,14 +2933,6 @@
2933
"node": ">=10"
2934
}
2935
},
2529
- "node_modules/moment": {
2530
- "version": "2.29.1",
2531
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
2532
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==",
2533
- "engines": {
2534
- "node": "*"
2535
- }
2536
- },
2936
"node_modules/ms": {
2937
"version": "2.1.2",
2938
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -2559,15 +2958,35 @@
2958
"node": ">= 0.6"
2959
}
2960
},
2562
- "node_modules/nodemon": {
2563
- "version": "2.0.15",
2564
- "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
2565
- "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==",
2961
+ "node_modules/nm-prune": {
2962
+ "version": "5.0.0",
2963
+ "resolved": "https://registry.npmjs.org/nm-prune/-/nm-prune-5.0.0.tgz",
2964
+ "integrity": "sha512-DjLCuKmAP5OEPOn7H/UyigDSj0DeUO6qcrrSo2Y5jPTYbdKXqNpLafEFGoNNhH9v+ChBLlmc5CRN1YVvZIQsOQ==",
2965
"dev": true,
2567
- "hasInstallScript": true,
2966
"dependencies": {
2569
- "chokidar": "^3.5.2",
2570
- "debug": "^3.2.7",
2967
+ "enquirer": "^2.3.6",
2968
+ "find-root": "^1.1.0",
2969
+ "fs-extra": "^4.0.2",
2970
+ "meow": "^9.0.0",
2971
+ "pretty-bytes": "^4.0.2",
2972
+ "walk-filtered": "^0.9.3"
2973
+ },
2974
+ "bin": {
2975
+ "nm-prune": "cli.js"
2976
+ },
2977
+ "engines": {
2978
+ "node": ">=10"
2979
+ }
2980
+ },
2981
+ "node_modules/nodemon": {
2982
+ "version": "2.0.15",
2983
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
2984
+ "integrity": "sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA==",
2985
+ "dev": true,
2986
+ "hasInstallScript": true,
2987
+ "dependencies": {
2988
+ "chokidar": "^3.5.2",
2989
+ "debug": "^3.2.7",
2990
"ignore-by-default": "^1.0.1",
2991
"minimatch": "^3.0.4",
2992
"pstree.remy": "^1.1.8",
@@ -2612,6 +3031,36 @@
3031
"node": "*"
3032
}
3033
},
3034
+ "node_modules/normalize-package-data": {
3035
+ "version": "3.0.3",
3036
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
3037
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
3038
+ "dev": true,
3039
+ "dependencies": {
3040
+ "hosted-git-info": "^4.0.1",
3041
+ "is-core-module": "^2.5.0",
3042
+ "semver": "^7.3.4",
3043
+ "validate-npm-package-license": "^3.0.1"
3044
+ },
3045
+ "engines": {
3046
+ "node": ">=10"
3047
+ }
3048
+ },
3049
+ "node_modules/normalize-package-data/node_modules/semver": {
3050
+ "version": "7.3.5",
3051
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
3052
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
3053
+ "dev": true,
3054
+ "dependencies": {
3055
+ "lru-cache": "^6.0.0"
3056
+ },
3057
+ "bin": {
3058
+ "semver": "bin/semver.js"
3059
+ },
3060
+ "engines": {
3061
+ "node": ">=10"
3062
+ }
3063
+ },
3064
"node_modules/normalize-path": {
3065
"version": "3.0.0",
3066
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -2672,6 +3121,42 @@
3121
"node": ">=6"
3122
}
3123
},
3124
+ "node_modules/p-limit": {
3125
+ "version": "2.3.0",
3126
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
3127
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
3128
+ "dev": true,
3129
+ "dependencies": {
3130
+ "p-try": "^2.0.0"
3131
+ },
3132
+ "engines": {
3133
+ "node": ">=6"
3134
+ },
3135
+ "funding": {
3136
+ "url": "https://github.com/sponsors/sindresorhus"
3137
+ }
3138
+ },
3139
+ "node_modules/p-locate": {
3140
+ "version": "4.1.0",
3141
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
3142
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
3143
+ "dev": true,
3144
+ "dependencies": {
3145
+ "p-limit": "^2.2.0"
3146
+ },
3147
+ "engines": {
3148
+ "node": ">=8"
3149
+ }
3150
+ },
3151
+ "node_modules/p-try": {
3152
+ "version": "2.2.0",
3153
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
3154
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
3155
+ "dev": true,
3156
+ "engines": {
3157
+ "node": ">=6"
3158
+ }
3159
+ },
3160
"node_modules/package-json": {
3161
"version": "6.5.0",
3162
"resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
@@ -2696,6 +3181,24 @@
3181
"semver": "bin/semver.js"
3182
}
3183
},
3184
+ "node_modules/parse-json": {
3185
+ "version": "5.2.0",
3186
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
3187
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
3188
+ "dev": true,
3189
+ "dependencies": {
3190
+ "@babel/code-frame": "^7.0.0",
3191
+ "error-ex": "^1.3.1",
3192
+ "json-parse-even-better-errors": "^2.3.0",
3193
+ "lines-and-columns": "^1.1.6"
3194
+ },
3195
+ "engines": {
3196
+ "node": ">=8"
3197
+ },
3198
+ "funding": {
3199
+ "url": "https://github.com/sponsors/sindresorhus"
3200
+ }
3201
+ },
3202
"node_modules/parseurl": {
3203
"version": "1.3.3",
3204
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -2722,6 +3225,12 @@
3225
"node": ">=0.10.0"
3226
}
3227
},
3228
+ "node_modules/path-parse": {
3229
+ "version": "1.0.7",
3230
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
3231
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
3232
+ "dev": true
3233
+ },
3234
"node_modules/path-to-regexp": {
3235
"version": "6.2.0",
3236
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz",
@@ -2747,6 +3256,15 @@
3256
"node": ">=4"
3257
}
3258
},
3259
+ "node_modules/pretty-bytes": {
3260
+ "version": "4.0.2",
3261
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
3262
+ "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
3263
+ "dev": true,
3264
+ "engines": {
3265
+ "node": ">=4"
3266
+ }
3267
+ },
3268
"node_modules/pstree.remy": {
3269
"version": "1.1.8",
3270
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
@@ -2808,6 +3326,15 @@
3326
}
3327
]
3328
},
3329
+ "node_modules/quick-lru": {
3330
+ "version": "4.0.1",
3331
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
3332
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
3333
+ "dev": true,
3334
+ "engines": {
3335
+ "node": ">=8"
3336
+ }
3337
+ },
3338
"node_modules/randombytes": {
3339
"version": "2.1.0",
3340
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -2852,6 +3379,74 @@
3379
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
3380
"dev": true
3381
},
3382
+ "node_modules/read-pkg": {
3383
+ "version": "5.2.0",
3384
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
3385
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
3386
+ "dev": true,
3387
+ "dependencies": {
3388
+ "@types/normalize-package-data": "^2.4.0",
3389
+ "normalize-package-data": "^2.5.0",
3390
+ "parse-json": "^5.0.0",
3391
+ "type-fest": "^0.6.0"
3392
+ },
3393
+ "engines": {
3394
+ "node": ">=8"
3395
+ }
3396
+ },
3397
+ "node_modules/read-pkg-up": {
3398
+ "version": "7.0.1",
3399
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
3400
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
3401
+ "dev": true,
3402
+ "dependencies": {
3403
+ "find-up": "^4.1.0",
3404
+ "read-pkg": "^5.2.0",
3405
+ "type-fest": "^0.8.1"
3406
+ },
3407
+ "engines": {
3408
+ "node": ">=8"
3409
+ },
3410
+ "funding": {
3411
+ "url": "https://github.com/sponsors/sindresorhus"
3412
+ }
3413
+ },
3414
+ "node_modules/read-pkg-up/node_modules/type-fest": {
3415
+ "version": "0.8.1",
3416
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
3417
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
3418
+ "dev": true,
3419
+ "engines": {
3420
+ "node": ">=8"
3421
+ }
3422
+ },
3423
+ "node_modules/read-pkg/node_modules/hosted-git-info": {
3424
+ "version": "2.8.9",
3425
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
3426
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
3427
+ "dev": true
3428
+ },
3429
+ "node_modules/read-pkg/node_modules/normalize-package-data": {
3430
+ "version": "2.5.0",
3431
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
3432
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
3433
+ "dev": true,
3434
+ "dependencies": {
3435
+ "hosted-git-info": "^2.1.4",
3436
+ "resolve": "^1.10.0",
3437
+ "semver": "2 || 3 || 4 || 5",
3438
+ "validate-npm-package-license": "^3.0.1"
3439
+ }
3440
+ },
3441
+ "node_modules/read-pkg/node_modules/type-fest": {
3442
+ "version": "0.6.0",
3443
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
3444
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
3445
+ "dev": true,
3446
+ "engines": {
3447
+ "node": ">=8"
3448
+ }
3449
+ },
3450
"node_modules/readdirp": {
3451
"version": "3.6.0",
3452
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -2864,6 +3459,19 @@
3459
"node": ">=8.10.0"
3460
}
3461
},
3462
+ "node_modules/redent": {
3463
+ "version": "3.0.0",
3464
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
3465
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
3466
+ "dev": true,
3467
+ "dependencies": {
3468
+ "indent-string": "^4.0.0",
3469
+ "strip-indent": "^3.0.0"
3470
+ },
3471
+ "engines": {
3472
+ "node": ">=8"
3473
+ }
3474
+ },
3475
"node_modules/registry-auth-token": {
3476
"version": "4.2.1",
3477
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
@@ -2897,6 +3505,23 @@
3505
"node": ">=0.10.0"
3506
}
3507
},
3508
+ "node_modules/resolve": {
3509
+ "version": "1.21.0",
3510
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
3511
+ "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
3512
+ "dev": true,
3513
+ "dependencies": {
3514
+ "is-core-module": "^2.8.0",
3515
+ "path-parse": "^1.0.7",
3516
+ "supports-preserve-symlinks-flag": "^1.0.0"
3517
+ },
3518
+ "bin": {
3519
+ "resolve": "bin/resolve"
3520
+ },
3521
+ "funding": {
3522
+ "url": "https://github.com/sponsors/ljharb"
3523
+ }
3524
+ },
3525
"node_modules/responselike": {
3526
"version": "1.0.2",
3527
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
@@ -3010,6 +3635,38 @@
3635
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
3636
"dev": true
3637
},
3638
+ "node_modules/spdx-correct": {
3639
+ "version": "3.1.1",
3640
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
3641
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
3642
+ "dev": true,
3643
+ "dependencies": {
3644
+ "spdx-expression-parse": "^3.0.0",
3645
+ "spdx-license-ids": "^3.0.0"
3646
+ }
3647
+ },
3648
+ "node_modules/spdx-exceptions": {
3649
+ "version": "2.3.0",
3650
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
3651
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
3652
+ "dev": true
3653
+ },
3654
+ "node_modules/spdx-expression-parse": {
3655
+ "version": "3.0.1",
3656
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
3657
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
3658
+ "dev": true,
3659
+ "dependencies": {
3660
+ "spdx-exceptions": "^2.1.0",
3661
+ "spdx-license-ids": "^3.0.0"
3662
+ }
3663
+ },
3664
+ "node_modules/spdx-license-ids": {
3665
+ "version": "3.0.11",
3666
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
3667
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
3668
+ "dev": true
3669
+ },
3670
"node_modules/stack-trace": {
3671
"version": "0.0.10",
3672
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -3052,6 +3709,18 @@
3709
"node": ">=8"
3710
}
3711
},
3712
+ "node_modules/strip-indent": {
3713
+ "version": "3.0.0",
3714
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
3715
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
3716
+ "dev": true,
3717
+ "dependencies": {
3718
+ "min-indent": "^1.0.0"
3719
+ },
3720
+ "engines": {
3721
+ "node": ">=8"
3722
+ }
3723
+ },
3724
"node_modules/strip-json-comments": {
3725
"version": "2.0.1",
3726
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
@@ -3073,6 +3742,18 @@
3742
"node": ">=4"
3743
}
3744
},
3745
+ "node_modules/supports-preserve-symlinks-flag": {
3746
+ "version": "1.0.0",
3747
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
3748
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
3749
+ "dev": true,
3750
+ "engines": {
3751
+ "node": ">= 0.4"
3752
+ },
3753
+ "funding": {
3754
+ "url": "https://github.com/sponsors/ljharb"
3755
+ }
3756
+ },
3757
"node_modules/to-readable-stream": {
3758
"version": "1.0.0",
3759
"resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
@@ -3113,6 +3794,15 @@
3794
"nodetouch": "bin/nodetouch.js"
3795
}
3796
},
3797
+ "node_modules/trim-newlines": {
3798
+ "version": "3.0.1",
3799
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
3800
+ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
3801
+ "dev": true,
3802
+ "engines": {
3803
+ "node": ">=8"
3804
+ }
3805
+ },
3806
"node_modules/ts-node": {
3807
"version": "10.4.0",
3808
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz",
@@ -3200,6 +3890,7 @@
3890
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
3891
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
3892
"dev": true,
3893
+ "peer": true,
3894
"bin": {
3895
"tsc": "bin/tsc",
3896
"tsserver": "bin/tsserver"
@@ -3226,6 +3917,15 @@
3917
"node": ">=8"
3918
}
3919
},
3920
+ "node_modules/universalify": {
3921
+ "version": "0.1.2",
3922
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
3923
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
3924
+ "dev": true,
3925
+ "engines": {
3926
+ "node": ">= 4.0.0"
3927
+ }
3928
+ },
3929
"node_modules/unpipe": {
3930
"version": "1.0.0",
3931
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -3298,6 +3998,16 @@
3998
"uuid": "bin/uuid"
3999
}
4000
},
4001
+ "node_modules/validate-npm-package-license": {
4002
+ "version": "3.0.4",
4003
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
4004
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
4005
+ "dev": true,
4006
+ "dependencies": {
4007
+ "spdx-correct": "^3.0.0",
4008
+ "spdx-expression-parse": "^3.0.0"
4009
+ }
4010
+ },
4011
"node_modules/vary": {
4012
"version": "1.1.2",
4013
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -3306,6 +4016,19 @@
4016
"node": ">= 0.8"
4017
}
4018
},
4019
+ "node_modules/walk-filtered": {
4020
+ "version": "0.9.3",
4021
+ "resolved": "https://registry.npmjs.org/walk-filtered/-/walk-filtered-0.9.3.tgz",
4022
+ "integrity": "sha1-bypivUO29e8sARnFVKf7AKo7lYg=",
4023
+ "dev": true,
4024
+ "dependencies": {
4025
+ "each-limit": "^1.0.0",
4026
+ "graceful-fs": "^4.1.2",
4027
+ "lodash.assign": "^4.0.0",
4028
+ "lodash.isobject": "^3.0.2",
4029
+ "lodash.isundefined": "^3.0.1"
4030
+ }
4031
+ },
4032
"node_modules/which": {
4033
"version": "2.0.2",
4034
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -3495,6 +4218,69 @@
4218
}
4219
},
4220
"dependencies": {
4221
+ "@babel/code-frame": {
4222
+ "version": "7.16.7",
4223
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
4224
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
4225
+ "dev": true,
4226
+ "requires": {
4227
+ "@babel/highlight": "^7.16.7"
4228
+ }
4229
+ },
4230
+ "@babel/helper-validator-identifier": {
4231
+ "version": "7.16.7",
4232
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
4233
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
4234
+ "dev": true
4235
+ },
4236
+ "@babel/highlight": {
4237
+ "version": "7.16.7",
4238
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
4239
+ "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
4240
+ "dev": true,
4241
+ "requires": {
4242
+ "@babel/helper-validator-identifier": "^7.16.7",
4243
+ "chalk": "^2.0.0",
4244
+ "js-tokens": "^4.0.0"
4245
+ },
4246
+ "dependencies": {
4247
+ "ansi-styles": {
4248
+ "version": "3.2.1",
4249
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
4250
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
4251
+ "dev": true,
4252
+ "requires": {
4253
+ "color-convert": "^1.9.0"
4254
+ }
4255
+ },
4256
+ "chalk": {
4257
+ "version": "2.4.2",
4258
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
4259
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
4260
+ "dev": true,
4261
+ "requires": {
4262
+ "ansi-styles": "^3.2.1",
4263
+ "escape-string-regexp": "^1.0.5",
4264
+ "supports-color": "^5.3.0"
4265
+ }
4266
+ },
4267
+ "color-convert": {
4268
+ "version": "1.9.3",
4269
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
4270
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
4271
+ "dev": true,
4272
+ "requires": {
4273
+ "color-name": "1.1.3"
4274
+ }
4275
+ },
4276
+ "color-name": {
4277
+ "version": "1.1.3",
4278
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
4279
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
4280
+ "dev": true
4281
+ }
4282
+ }
4283
+ },
4284
"@cspotcode/source-map-consumer": {
4285
"version": "0.8.0",
4286
"resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
@@ -3926,6 +4712,12 @@
4712
"integrity": "sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==",
4713
"dev": true
4714
},
4715
+ "@types/normalize-package-data": {
4716
+ "version": "2.4.1",
4717
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
4718
+ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
4719
+ "dev": true
4720
+ },
4721
"@types/qs": {
4722
"version": "6.9.7",
4723
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
@@ -4027,6 +4819,12 @@
4819
"integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
4820
"dev": true
4821
},
4822
+ "arrify": {
4823
+ "version": "1.0.1",
4824
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
4825
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
4826
+ "dev": true
4827
+ },
4828
"async": {
4829
"version": "1.0.0",
4830
"resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
@@ -4172,6 +4970,25 @@
4970
"integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
4971
"dev": true
4972
},
4973
+ "camelcase-keys": {
4974
+ "version": "6.2.2",
4975
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
4976
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
4977
+ "dev": true,
4978
+ "requires": {
4979
+ "camelcase": "^5.3.1",
4980
+ "map-obj": "^4.0.0",
4981
+ "quick-lru": "^4.0.1"
4982
+ },
4983
+ "dependencies": {
4984
+ "camelcase": {
4985
+ "version": "5.3.1",
4986
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
4987
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
4988
+ "dev": true
4989
+ }
4990
+ }
4991
+ },
4992
"chalk": {
4993
"version": "4.1.2",
4994
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -4382,6 +5199,30 @@
5199
"integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
5200
"dev": true
5201
},
5202
+ "decamelize-keys": {
5203
+ "version": "1.1.0",
5204
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
5205
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
5206
+ "dev": true,
5207
+ "requires": {
5208
+ "decamelize": "^1.1.0",
5209
+ "map-obj": "^1.0.0"
5210
+ },
5211
+ "dependencies": {
5212
+ "decamelize": {
5213
+ "version": "1.2.0",
5214
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
5215
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
5216
+ "dev": true
5217
+ },
5218
+ "map-obj": {
5219
+ "version": "1.0.1",
5220
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
5221
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
5222
+ "dev": true
5223
+ }
5224
+ }
5225
+ },
5226
"decompress-response": {
5227
"version": "3.3.0",
5228
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
@@ -4444,6 +5285,12 @@
5285
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
5286
"dev": true
5287
},
5288
+ "each-limit": {
5289
+ "version": "1.0.0",
5290
+ "resolved": "https://registry.npmjs.org/each-limit/-/each-limit-1.0.0.tgz",
5291
+ "integrity": "sha1-OAFACDNnqK9kKZvKwV/dWxqXcZY=",
5292
+ "dev": true
5293
+ },
5294
"ee-first": {
5295
"version": "1.1.1",
5296
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -4469,6 +5316,24 @@
5316
"once": "^1.4.0"
5317
}
5318
},
5319
+ "enquirer": {
5320
+ "version": "2.3.6",
5321
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
5322
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
5323
+ "dev": true,
5324
+ "requires": {
5325
+ "ansi-colors": "^4.1.1"
5326
+ }
5327
+ },
5328
+ "error-ex": {
5329
+ "version": "1.3.2",
5330
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
5331
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
5332
+ "dev": true,
5333
+ "requires": {
5334
+ "is-arrayish": "^0.2.1"
5335
+ }
5336
+ },
5337
"es6-promise": {
5338
"version": "3.3.1",
5339
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
@@ -4491,6 +5356,12 @@
5356
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
5357
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
5358
},
5359
+ "escape-string-regexp": {
5360
+ "version": "1.0.5",
5361
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
5362
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
5363
+ "dev": true
5364
+ },
5365
"eyes": {
5366
"version": "0.1.8",
5367
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
@@ -4524,6 +5395,22 @@
5395
"to-regex-range": "^5.0.1"
5396
}
5397
},
5398
+ "find-root": {
5399
+ "version": "1.1.0",
5400
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
5401
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
5402
+ "dev": true
5403
+ },
5404
+ "find-up": {
5405
+ "version": "4.1.0",
5406
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
5407
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
5408
+ "dev": true,
5409
+ "requires": {
5410
+ "locate-path": "^5.0.0",
5411
+ "path-exists": "^4.0.0"
5412
+ }
5413
+ },
5414
"flat": {
5415
"version": "5.0.2",
5416
"resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
@@ -4541,6 +5428,17 @@
5428
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
5429
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
5430
},
5431
+ "fs-extra": {
5432
+ "version": "4.0.3",
5433
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
5434
+ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
5435
+ "dev": true,
5436
+ "requires": {
5437
+ "graceful-fs": "^4.1.2",
5438
+ "jsonfile": "^4.0.0",
5439
+ "universalify": "^0.1.0"
5440
+ }
5441
+ },
5442
"fs.realpath": {
5443
"version": "1.0.0",
5444
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -4632,6 +5530,12 @@
5530
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
5531
"dev": true
5532
},
5533
+ "hard-rejection": {
5534
+ "version": "2.1.0",
5535
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
5536
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
5537
+ "dev": true
5538
+ },
5539
"has": {
5540
"version": "1.0.3",
5541
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -4671,6 +5575,15 @@
5575
"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
5576
"dev": true
5577
},
5578
+ "hosted-git-info": {
5579
+ "version": "4.0.2",
5580
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
5581
+ "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
5582
+ "dev": true,
5583
+ "requires": {
5584
+ "lru-cache": "^6.0.0"
5585
+ }
5586
+ },
5587
"http-assert": {
5588
"version": "1.5.0",
5589
"resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
@@ -4736,6 +5649,12 @@
5649
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
5650
"dev": true
5651
},
5652
+ "indent-string": {
5653
+ "version": "4.0.0",
5654
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
5655
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
5656
+ "dev": true
5657
+ },
5658
"inflation": {
5659
"version": "2.0.0",
5660
"resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz",
@@ -4762,6 +5681,12 @@
5681
"integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==",
5682
"dev": true
5683
},
5684
+ "is-arrayish": {
5685
+ "version": "0.2.1",
5686
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
5687
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
5688
+ "dev": true
5689
+ },
5690
"is-binary-path": {
5691
"version": "2.1.0",
5692
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -4785,6 +5710,15 @@
5710
"resolved": "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz",
5711
"integrity": "sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ=="
5712
},
5713
+ "is-core-module": {
5714
+ "version": "2.8.0",
5715
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
5716
+ "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
5717
+ "dev": true,
5718
+ "requires": {
5719
+ "has": "^1.0.3"
5720
+ }
5721
+ },
5722
"is-extglob": {
5723
"version": "2.1.1",
5724
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@@ -4890,12 +5824,33 @@
5824
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
5825
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
5826
},
5827
+ "js-tokens": {
5828
+ "version": "4.0.0",
5829
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
5830
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
5831
+ "dev": true
5832
+ },
5833
"json-buffer": {
5834
"version": "3.0.0",
5835
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
5836
"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
5837
"dev": true
5838
},
5839
+ "json-parse-even-better-errors": {
5840
+ "version": "2.3.1",
5841
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
5842
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
5843
+ "dev": true
5844
+ },
5845
+ "jsonfile": {
5846
+ "version": "4.0.0",
5847
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
5848
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
5849
+ "dev": true,
5850
+ "requires": {
5851
+ "graceful-fs": "^4.1.6"
5852
+ }
5853
+ },
5854
"keygrip": {
5855
"version": "1.1.0",
5856
"resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
@@ -4913,6 +5868,12 @@
5868
"json-buffer": "3.0.0"
5869
}
5870
},
5871
+ "kind-of": {
5872
+ "version": "6.0.3",
5873
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
5874
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
5875
+ "dev": true
5876
+ },
5877
"koa": {
5878
"version": "2.13.4",
5879
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz",
@@ -4943,14 +5904,6 @@
5904
"vary": "^1.1.2"
5905
}
5906
},
4946
- "koa-accesslog": {
4947
- "version": "1.0.0",
4948
- "resolved": "https://registry.npmjs.org/koa-accesslog/-/koa-accesslog-1.0.0.tgz",
4949
- "integrity": "sha512-drpakus6DsxCW7mh05O8zmwTTUMGe63o1PMPrz4+6ytypt0UCLRjgpj4AapxxXPWV1nOpcz1YtNP57QbKLfY0w==",
4950
- "requires": {
4951
- "moment": "^2.26.0"
4952
- }
4953
- },
5907
"koa-better-http-proxy": {
5908
"version": "0.2.9",
5909
"resolved": "https://registry.npmjs.org/koa-better-http-proxy/-/koa-better-http-proxy-0.2.9.tgz",
@@ -5047,11 +6000,44 @@
6000
"package-json": "^6.3.0"
6001
}
6002
},
6003
+ "lines-and-columns": {
6004
+ "version": "1.2.4",
6005
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
6006
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
6007
+ "dev": true
6008
+ },
6009
+ "locate-path": {
6010
+ "version": "5.0.0",
6011
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
6012
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
6013
+ "dev": true,
6014
+ "requires": {
6015
+ "p-locate": "^4.1.0"
6016
+ }
6017
+ },
6018
"lodash": {
6019
"version": "4.17.21",
6020
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
6021
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
6022
},
6023
+ "lodash.assign": {
6024
+ "version": "4.2.0",
6025
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
6026
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
6027
+ "dev": true
6028
+ },
6029
+ "lodash.isobject": {
6030
+ "version": "3.0.2",
6031
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
6032
+ "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
6033
+ "dev": true
6034
+ },
6035
+ "lodash.isundefined": {
6036
+ "version": "3.0.1",
6037
+ "resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz",
6038
+ "integrity": "sha1-I+89lTVWUgOmbO/VuDD4SJEa+0g=",
6039
+ "dev": true
6040
+ },
6041
"log-symbols": {
6042
"version": "4.1.0",
6043
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -5100,11 +6086,51 @@
6086
"integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
6087
"dev": true
6088
},
6089
+ "map-obj": {
6090
+ "version": "4.3.0",
6091
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz",
6092
+ "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
6093
+ "dev": true
6094
+ },
6095
"media-typer": {
6096
"version": "0.3.0",
6097
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
6098
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
6099
},
6100
+ "meow": {
6101
+ "version": "9.0.0",
6102
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
6103
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
6104
+ "dev": true,
6105
+ "requires": {
6106
+ "@types/minimist": "^1.2.0",
6107
+ "camelcase-keys": "^6.2.2",
6108
+ "decamelize": "^1.2.0",
6109
+ "decamelize-keys": "^1.1.0",
6110
+ "hard-rejection": "^2.1.0",
6111
+ "minimist-options": "4.1.0",
6112
+ "normalize-package-data": "^3.0.0",
6113
+ "read-pkg-up": "^7.0.1",
6114
+ "redent": "^3.0.0",
6115
+ "trim-newlines": "^3.0.0",
6116
+ "type-fest": "^0.18.0",
6117
+ "yargs-parser": "^20.2.3"
6118
+ },
6119
+ "dependencies": {
6120
+ "decamelize": {
6121
+ "version": "1.2.0",
6122
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
6123
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
6124
+ "dev": true
6125
+ },
6126
+ "type-fest": {
6127
+ "version": "0.18.1",
6128
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
6129
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
6130
+ "dev": true
6131
+ }
6132
+ }
6133
+ },
6134
"merge2": {
6135
"version": "1.4.1",
6136
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -5143,6 +6169,12 @@
6169
"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
6170
"dev": true
6171
},
6172
+ "min-indent": {
6173
+ "version": "1.0.1",
6174
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
6175
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
6176
+ "dev": true
6177
+ },
6178
"minimatch": {
6179
"version": "3.0.4",
6180
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -5157,6 +6189,25 @@
6189
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
6190
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
6191
},
6192
+ "minimist-options": {
6193
+ "version": "4.1.0",
6194
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
6195
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
6196
+ "dev": true,
6197
+ "requires": {
6198
+ "arrify": "^1.0.1",
6199
+ "is-plain-obj": "^1.1.0",
6200
+ "kind-of": "^6.0.3"
6201
+ },
6202
+ "dependencies": {
6203
+ "is-plain-obj": {
6204
+ "version": "1.1.0",
6205
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
6206
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
6207
+ "dev": true
6208
+ }
6209
+ }
6210
+ },
6211
"mocha": {
6212
"version": "9.1.3",
6213
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
@@ -5319,11 +6370,6 @@
6370
}
6371
}
6372
},
5322
- "moment": {
5323
- "version": "2.29.1",
5324
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
5325
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
5326
- },
6373
"ms": {
6374
"version": "2.1.2",
6375
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5340,6 +6386,20 @@
6386
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
6387
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
6388
},
6389
+ "nm-prune": {
6390
+ "version": "5.0.0",
6391
+ "resolved": "https://registry.npmjs.org/nm-prune/-/nm-prune-5.0.0.tgz",
6392
+ "integrity": "sha512-DjLCuKmAP5OEPOn7H/UyigDSj0DeUO6qcrrSo2Y5jPTYbdKXqNpLafEFGoNNhH9v+ChBLlmc5CRN1YVvZIQsOQ==",
6393
+ "dev": true,
6394
+ "requires": {
6395
+ "enquirer": "^2.3.6",
6396
+ "find-root": "^1.1.0",
6397
+ "fs-extra": "^4.0.2",
6398
+ "meow": "^9.0.0",
6399
+ "pretty-bytes": "^4.0.2",
6400
+ "walk-filtered": "^0.9.3"
6401
+ }
6402
+ },
6403
"nodemon": {
6404
"version": "2.0.15",
6405
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.15.tgz",
@@ -5378,6 +6438,29 @@
6438
"abbrev": "1"
6439
}
6440
},
6441
+ "normalize-package-data": {
6442
+ "version": "3.0.3",
6443
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
6444
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
6445
+ "dev": true,
6446
+ "requires": {
6447
+ "hosted-git-info": "^4.0.1",
6448
+ "is-core-module": "^2.5.0",
6449
+ "semver": "^7.3.4",
6450
+ "validate-npm-package-license": "^3.0.1"
6451
+ },
6452
+ "dependencies": {
6453
+ "semver": {
6454
+ "version": "7.3.5",
6455
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
6456
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
6457
+ "dev": true,
6458
+ "requires": {
6459
+ "lru-cache": "^6.0.0"
6460
+ }
6461
+ }
6462
+ }
6463
+ },
6464
"normalize-path": {
6465
"version": "3.0.0",
6466
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -5423,6 +6506,30 @@
6506
"integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
6507
"dev": true
6508
},
6509
+ "p-limit": {
6510
+ "version": "2.3.0",
6511
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
6512
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
6513
+ "dev": true,
6514
+ "requires": {
6515
+ "p-try": "^2.0.0"
6516
+ }
6517
+ },
6518
+ "p-locate": {
6519
+ "version": "4.1.0",
6520
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
6521
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
6522
+ "dev": true,
6523
+ "requires": {
6524
+ "p-limit": "^2.2.0"
6525
+ }
6526
+ },
6527
+ "p-try": {
6528
+ "version": "2.2.0",
6529
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
6530
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
6531
+ "dev": true
6532
+ },
6533
"package-json": {
6534
"version": "6.5.0",
6535
"resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
@@ -5443,6 +6550,18 @@
6550
}
6551
}
6552
},
6553
+ "parse-json": {
6554
+ "version": "5.2.0",
6555
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
6556
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
6557
+ "dev": true,
6558
+ "requires": {
6559
+ "@babel/code-frame": "^7.0.0",
6560
+ "error-ex": "^1.3.1",
6561
+ "json-parse-even-better-errors": "^2.3.0",
6562
+ "lines-and-columns": "^1.1.6"
6563
+ }
6564
+ },
6565
"parseurl": {
6566
"version": "1.3.3",
6567
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -5460,6 +6579,12 @@
6579
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
6580
"dev": true
6581
},
6582
+ "path-parse": {
6583
+ "version": "1.0.7",
6584
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
6585
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
6586
+ "dev": true
6587
+ },
6588
"path-to-regexp": {
6589
"version": "6.2.0",
6590
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz",
@@ -5476,6 +6601,12 @@
6601
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
6602
"dev": true
6603
},
6604
+ "pretty-bytes": {
6605
+ "version": "4.0.2",
6606
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
6607
+ "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
6608
+ "dev": true
6609
+ },
6610
"pstree.remy": {
6611
"version": "1.1.8",
6612
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
@@ -5514,6 +6645,12 @@
6645
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
6646
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
6647
},
6648
+ "quick-lru": {
6649
+ "version": "4.0.1",
6650
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
6651
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
6652
+ "dev": true
6653
+ },
6654
"randombytes": {
6655
"version": "2.1.0",
6656
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@@ -5554,6 +6691,63 @@
6691
}
6692
}
6693
},
6694
+ "read-pkg": {
6695
+ "version": "5.2.0",
6696
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
6697
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
6698
+ "dev": true,
6699
+ "requires": {
6700
+ "@types/normalize-package-data": "^2.4.0",
6701
+ "normalize-package-data": "^2.5.0",
6702
+ "parse-json": "^5.0.0",
6703
+ "type-fest": "^0.6.0"
6704
+ },
6705
+ "dependencies": {
6706
+ "hosted-git-info": {
6707
+ "version": "2.8.9",
6708
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
6709
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
6710
+ "dev": true
6711
+ },
6712
+ "normalize-package-data": {
6713
+ "version": "2.5.0",
6714
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
6715
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
6716
+ "dev": true,
6717
+ "requires": {
6718
+ "hosted-git-info": "^2.1.4",
6719
+ "resolve": "^1.10.0",
6720
+ "semver": "2 || 3 || 4 || 5",
6721
+ "validate-npm-package-license": "^3.0.1"
6722
+ }
6723
+ },
6724
+ "type-fest": {
6725
+ "version": "0.6.0",
6726
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
6727
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
6728
+ "dev": true
6729
+ }
6730
+ }
6731
+ },
6732
+ "read-pkg-up": {
6733
+ "version": "7.0.1",
6734
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
6735
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
6736
+ "dev": true,
6737
+ "requires": {
6738
+ "find-up": "^4.1.0",
6739
+ "read-pkg": "^5.2.0",
6740
+ "type-fest": "^0.8.1"
6741
+ },
6742
+ "dependencies": {
6743
+ "type-fest": {
6744
+ "version": "0.8.1",
6745
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
6746
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
6747
+ "dev": true
6748
+ }
6749
+ }
6750
+ },
6751
"readdirp": {
6752
"version": "3.6.0",
6753
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -5563,6 +6757,16 @@
6757
"picomatch": "^2.2.1"
6758
}
6759
},
6760
+ "redent": {
6761
+ "version": "3.0.0",
6762
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
6763
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
6764
+ "dev": true,
6765
+ "requires": {
6766
+ "indent-string": "^4.0.0",
6767
+ "strip-indent": "^3.0.0"
6768
+ }
6769
+ },
6770
"registry-auth-token": {
6771
"version": "4.2.1",
6772
"resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
@@ -5587,6 +6791,17 @@
6791
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
6792
"dev": true
6793
},
6794
+ "resolve": {
6795
+ "version": "1.21.0",
6796
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
6797
+ "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
6798
+ "dev": true,
6799
+ "requires": {
6800
+ "is-core-module": "^2.8.0",
6801
+ "path-parse": "^1.0.7",
6802
+ "supports-preserve-symlinks-flag": "^1.0.0"
6803
+ }
6804
+ },
6805
"responselike": {
6806
"version": "1.0.2",
6807
"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
@@ -5672,6 +6887,38 @@
6887
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==",
6888
"dev": true
6889
},
6890
+ "spdx-correct": {
6891
+ "version": "3.1.1",
6892
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
6893
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
6894
+ "dev": true,
6895
+ "requires": {
6896
+ "spdx-expression-parse": "^3.0.0",
6897
+ "spdx-license-ids": "^3.0.0"
6898
+ }
6899
+ },
6900
+ "spdx-exceptions": {
6901
+ "version": "2.3.0",
6902
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
6903
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
6904
+ "dev": true
6905
+ },
6906
+ "spdx-expression-parse": {
6907
+ "version": "3.0.1",
6908
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
6909
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
6910
+ "dev": true,
6911
+ "requires": {
6912
+ "spdx-exceptions": "^2.1.0",
6913
+ "spdx-license-ids": "^3.0.0"
6914
+ }
6915
+ },
6916
+ "spdx-license-ids": {
6917
+ "version": "3.0.11",
6918
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
6919
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
6920
+ "dev": true
6921
+ },
6922
"stack-trace": {
6923
"version": "0.0.10",
6924
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
@@ -5702,6 +6949,15 @@
6949
"ansi-regex": "^5.0.1"
6950
}
6951
},
6952
+ "strip-indent": {
6953
+ "version": "3.0.0",
6954
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
6955
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
6956
+ "dev": true,
6957
+ "requires": {
6958
+ "min-indent": "^1.0.0"
6959
+ }
6960
+ },
6961
"strip-json-comments": {
6962
"version": "2.0.1",
6963
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
@@ -5717,6 +6973,12 @@
6973
"has-flag": "^3.0.0"
6974
}
6975
},
6976
+ "supports-preserve-symlinks-flag": {
6977
+ "version": "1.0.0",
6978
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
6979
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
6980
+ "dev": true
6981
+ },
6982
"to-readable-stream": {
6983
"version": "1.0.0",
6984
"resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
@@ -5745,6 +7007,12 @@
7007
"nopt": "~1.0.10"
7008
}
7009
},
7010
+ "trim-newlines": {
7011
+ "version": "3.0.1",
7012
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
7013
+ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
7014
+ "dev": true
7015
+ },
7016
"ts-node": {
7017
"version": "10.4.0",
7018
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz",
@@ -5798,7 +7066,8 @@
7066
"version": "4.5.2",
7067
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
7068
"integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
5801
- "dev": true
7069
+ "dev": true,
7070
+ "peer": true
7071
},
7072
"undefsafe": {
7073
"version": "2.0.5",
@@ -5815,6 +7084,12 @@
7084
"crypto-random-string": "^2.0.0"
7085
}
7086
},
7087
+ "universalify": {
7088
+ "version": "0.1.2",
7089
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
7090
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
7091
+ "dev": true
7092
+ },
7093
"unpipe": {
7094
"version": "1.0.0",
7095
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -5867,11 +7142,34 @@
7142
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
7143
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
7144
},
7145
+ "validate-npm-package-license": {
7146
+ "version": "3.0.4",
7147
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
7148
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
7149
+ "dev": true,
7150
+ "requires": {
7151
+ "spdx-correct": "^3.0.0",
7152
+ "spdx-expression-parse": "^3.0.0"
7153
+ }
7154
+ },
7155
"vary": {
7156
"version": "1.1.2",
7157
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
7158
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
7159
},
7160
+ "walk-filtered": {
7161
+ "version": "0.9.3",
7162
+ "resolved": "https://registry.npmjs.org/walk-filtered/-/walk-filtered-0.9.3.tgz",
7163
+ "integrity": "sha1-bypivUO29e8sARnFVKf7AKo7lYg=",
7164
+ "dev": true,
7165
+ "requires": {
7166
+ "each-limit": "^1.0.0",
7167
+ "graceful-fs": "^4.1.2",
7168
+ "lodash.assign": "^4.0.0",
7169
+ "lodash.isobject": "^3.0.2",
7170
+ "lodash.isundefined": "^3.0.1"
7171
+ }
7172
+ },
7173
"which": {
7174
"version": "2.0.2",
7175
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
package.json
+5
-5
@@ -1,6 +1,6 @@
1
{
2
"name": "hfs",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
"description": "HTTP File Server",
5
"keywords": [
6
"file server",
@@ -13,7 +13,8 @@
13
"watch-server": "nodemon --ignore tests/ --watch src -e ts,tsx --exec ts-node src/index.ts",
14
"start-frontend": "cd frontend && npm run start",
15
"start": "node dist",
16
- "build": "npm install && node timestamp && tsc --target es2018 && cp package*.json *.yaml dist && cd dist && npm ci --production",
16
+ "build": "npm install && node timestamp && tsc --target es2018 && cp package*.json *.yaml dist && cd dist && npm ci --production && cd .. && npm run build-prune",
17
+ "build-prune": "cd dist && nm-prune --force && cd node_modules && rm -rf yaml/browser && mkdir lodash2 && cp lodash/lodash.min.js lodash2/lodash.js && cp lodash/package.json lodash2 && rm -rf lodash && mv lodash2 lodash",
18
"build-all": "npm run build && cd frontend && npm install && npm run build && cd ..",
19
"test": "mocha -r ts-node/register 'tests/**/*.ts'",
20
"make-exe-after-build": "pkg . -C brotli"
@@ -33,7 +34,6 @@
34
"buffer-crc32": "https://github.com/rejetto/buffer-crc32.git",
35
"fast-glob": "^3.2.7",
36
"koa": "^2.13.4",
36
- "koa-accesslog": "^1.0.0",
37
"koa-better-http-proxy": "^0.2.9",
38
"koa-bodyparser": "^4.3.0",
39
"koa-compress": "^5.1.0",
@@ -60,8 +60,8 @@
60
"@types/node": "^16.11.12",
61
"axios": "^0.24.0",
62
"mocha": "^9.1.3",
63
+ "nm-prune": "^5.0.0",
64
"nodemon": "^2.0.15",
64
- "ts-node": "^10.4.0",
65
- "typescript": "^4.5.2"
65
+ "ts-node": "^10.4.0"
66
}
67
}
src/config.ts
+1
-1
@@ -6,7 +6,7 @@ const PATH = 'config.yaml'
6
7
let state:Record<string,any> = {}
8
const emitter = new EventEmitter()
9
-watchLoad(PATH, data => {
9
+watchLoad(argv.config || process.env.hfs_config || PATH, data => {
10
for (const k in data)
11
check(k)
12
for (const k in { ...state, ...configProps })
src/index.ts
-2
@@ -9,8 +9,6 @@ import { vfs } from './vfs'
9
import { isDirectory } from './misc'
10
import proxy from 'koa-better-http-proxy'
11
import compress from 'koa-compress'
12
-// @ts-ignore
13
-import accesslog from 'koa-accesslog'
12
import { Server } from 'http'
13
import { subscribeConfig } from './config'
14
import session from 'koa-session'
src/log.ts
+22
-9
@@ -2,29 +2,42 @@ import Koa from 'koa'
2
import { Writable } from 'stream'
3
import { subscribeConfig } from './config'
4
import { createWriteStream } from 'fs'
5
-// @ts-ignore
6
-import accesslog from 'koa-accesslog'
5
+import * as util from 'util'
6
7
class Logger {
9
- mw?: Koa.Middleware
8
stream?: Writable
9
+
10
setPath(path: string) {
11
this.stream?.end()
12
if (!path)
14
- return this.mw = this.stream = undefined
13
+ return this.stream = undefined
14
this.stream = createWriteStream(path, { flags: 'a' })
16
- this.mw = accesslog(this.stream)
15
}
16
}
17
+
18
const accessLogger = new Logger()
19
21
-subscribeConfig({ k:'log', defaultValue:'access.log' }, path => {
20
+subscribeConfig({ k: 'log', defaultValue: 'access.log' }, path => {
21
console.debug('log file: ' + (path || 'disabled'))
22
accessLogger.setPath(path)
23
})
24
25
export function log(): Koa.Middleware {
27
- return (ctx, next) => // wrapping in a function will make it use current 'mw' value
28
- accessLogger.mw?.(ctx, next)
29
- || next()
26
+ return async (ctx, next) => { // wrapping in a function will make it use current 'mw' value
27
+ await next()
28
+ const st = accessLogger.stream
29
+ if (!st) return
30
+ const format = '%s - - [%s] "%s %s HTTP/%s" %d %s\n';
31
+ const a = new Date().toString().split(' ')
32
+ const date = a[2]+'/'+a[1]+'/'+a[3]+':'+a[4]+' '+a[5].slice(3)
33
+ st.write(util.format( format,
34
+ ctx.ip,
35
+ date,
36
+ ctx.method,
37
+ ctx.path,
38
+ ctx.req.httpVersion,
39
+ ctx.status,
40
+ ctx.length ? ctx.length.toString() : '-',
41
+ ))
42
+ }
43
}
todo.md
-2
@@ -14,8 +14,6 @@
14
- archive only selected files
15
- https
16
- frontend: light/dark theme
17
-- frontend: load custom css
18
-- frontend: custom css should be able to access resource files
17
- webdav?
18
- vfs: ability to remove/hide/rename files deep in a source
19
- administration interface