Commit a96cb2509cc3c233c884156061e8afd05cec68ef

Authored by Vben
1 parent 8b6e07b7

refactor(test-server): improve test service code

Too many changes to show.

To preserve performance only 27 of 29 files are displayed.

.env.development
@@ -6,7 +6,7 @@ VITE_PUBLIC_PATH = / @@ -6,7 +6,7 @@ VITE_PUBLIC_PATH = /
6 6
7 # Cross-domain proxy, you can configure multiple 7 # Cross-domain proxy, you can configure multiple
8 # Please note that no line breaks 8 # Please note that no line breaks
9 -VITE_PROXY = [["/basic-api","http://localhost:3000"],["/upload","http://localhost:3001/upload"]] 9 +VITE_PROXY = [["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
10 # VITE_PROXY=[["/api","https://vvbin.cn/test"]] 10 # VITE_PROXY=[["/api","https://vvbin.cn/test"]]
11 11
12 # Delete console 12 # Delete console
.gitignore
@@ -4,7 +4,7 @@ dist @@ -4,7 +4,7 @@ dist
4 .npmrc 4 .npmrc
5 .cache 5 .cache
6 6
7 -test/upload-server/static 7 +test/server/static
8 8
9 .local 9 .local
10 # local env files 10 # local env files
.vscode/settings.json
1 { 1 {
  2 + "cSpell.words": ["vben", "windi"],
2 "typescript.tsdk": "./node_modules/typescript/lib", 3 "typescript.tsdk": "./node_modules/typescript/lib",
3 "volar.tsPlugin": true, 4 "volar.tsPlugin": true,
4 "volar.tsPluginStatus": false, 5 "volar.tsPluginStatus": false,
@@ -26,6 +27,7 @@ @@ -26,6 +27,7 @@
26 "files.trimTrailingWhitespace": true, 27 "files.trimTrailingWhitespace": true,
27 "files.insertFinalNewline": true, 28 "files.insertFinalNewline": true,
28 "files.trimFinalNewlines": true, 29 "files.trimFinalNewlines": true,
  30 + "files.eol": "\n",
29 "search.exclude": { 31 "search.exclude": {
30 "**/node_modules": true, 32 "**/node_modules": true,
31 "**/*.log": true, 33 "**/*.log": true,
package.json
@@ -121,7 +121,7 @@ @@ -121,7 +121,7 @@
121 "vite-plugin-style-import": "^0.10.1", 121 "vite-plugin-style-import": "^0.10.1",
122 "vite-plugin-svg-icons": "^0.7.0", 122 "vite-plugin-svg-icons": "^0.7.0",
123 "vite-plugin-theme": "^0.8.1", 123 "vite-plugin-theme": "^0.8.1",
124 - "vite-plugin-windicss": "^0.17.0", 124 + "vite-plugin-windicss": "^1.0.1",
125 "vue-eslint-parser": "^7.6.0", 125 "vue-eslint-parser": "^7.6.0",
126 "vue-tsc": "^0.1.7" 126 "vue-tsc": "^0.1.7"
127 }, 127 },
src/components/Scrollbar/src/bar.ts
@@ -35,6 +35,7 @@ export default defineComponent({ @@ -35,6 +35,7 @@ export default defineComponent({
35 if (e.ctrlKey || e.button === 2) { 35 if (e.ctrlKey || e.button === 2) {
36 return; 36 return;
37 } 37 }
  38 + window.getSelection()?.removeAllRanges();
38 startDrag(e); 39 startDrag(e);
39 barStore.value[bar.value.axis] = 40 barStore.value[bar.value.axis] =
40 e.currentTarget[bar.value.offset] - 41 e.currentTarget[bar.value.offset] -
src/views/demo/feat/ws/index.vue
@@ -70,7 +70,7 @@ @@ -70,7 +70,7 @@
70 }, 70 },
71 setup() { 71 setup() {
72 const state = reactive({ 72 const state = reactive({
73 - server: 'ws://localhost:3380/test', 73 + server: 'ws://localhost:3300/test',
74 sendValue: '', 74 sendValue: '',
75 recordList: [] as { id: number; time: number; res: string }[], 75 recordList: [] as { id: number; time: number; res: string }[],
76 }); 76 });
test/server/README.md 0 → 100644
  1 +# Test Server
  2 +
  3 +It is used to start the test interface service, which can test the upload, websocket, login and other interfaces.
  4 +
  5 +## Usage
  6 +
  7 +```bash
  8 +
  9 +cd ./test/server
  10 +
  11 +yarn
  12 +
  13 +yarn start
  14 +
  15 +```
test/server/api/app.js deleted 100644 → 0
1 -const Koa = require('koa');  
2 -const router = require('koa-router')();  
3 -const cors = require('koa2-cors');  
4 -const bodyParser = require('koa-bodyparser');  
5 -const app = new Koa();  
6 -  
7 -app.use(cors());  
8 -app.use(bodyParser());  
9 -  
10 -router.get('/getTest', (ctx) => {  
11 - ctx.body = {  
12 - name: 'test',  
13 - };  
14 -});  
15 -  
16 -router.post('/login', (ctx) => {  
17 - ctx.body = {  
18 - code: 0,  
19 - success: true,  
20 - result: {  
21 - userId: '1',  
22 - username: 'vben',  
23 - realName: 'Vben Admin',  
24 - desc: 'manager',  
25 - password: '123456',  
26 - token: 'fakeToken1',  
27 - roles: [  
28 - {  
29 - roleName: 'Super Admin',  
30 - value: 'super',  
31 - },  
32 - ],  
33 - },  
34 - };  
35 -});  
36 -  
37 -router.get('/getUserInfoById', (ctx) => {  
38 - ctx.body = {  
39 - code: 0,  
40 - success: true,  
41 - result: {  
42 - userId: '1',  
43 - username: 'vben',  
44 - realName: 'Vben Admin',  
45 - desc: 'manager',  
46 - password: '123456',  
47 - token: 'fakeToken1',  
48 - roles: [  
49 - {  
50 - roleName: 'Super Admin',  
51 - value: 'super',  
52 - },  
53 - ],  
54 - },  
55 - };  
56 -});  
57 -  
58 -app.use(router.routes()).use(router.allowedMethods());  
59 -  
60 -app.listen(3002, () => {  
61 - console.log('server is listen in 3002');  
62 -});  
test/server/api/package.json deleted 100644 → 0
1 -{  
2 - "name": "upload-server",  
3 - "version": "1.0.0",  
4 - "main": "app.js",  
5 - "license": "MIT",  
6 - "scripts": {  
7 - "start": "node app.js"  
8 - },  
9 - "dependencies": {  
10 - "fs-extra": "^9.1.0",  
11 - "koa": "^2.13.1",  
12 - "koa-body": "^4.2.0",  
13 - "koa-bodyparser": "^4.3.0",  
14 - "koa-router": "^10.0.0",  
15 - "koa-static": "^5.0.0",  
16 - "koa2-cors": "^2.0.6"  
17 - }  
18 -}  
test/server/api/yarn.lock deleted 100644 → 0
1 -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.  
2 -# yarn lockfile v1  
3 -  
4 -  
5 -"@types/formidable@^1.0.31":  
6 - version "1.0.32"  
7 - resolved "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.32.tgz#d9a7eefbaa995a4486ec4e3960e9552e68b3f33c"  
8 - integrity sha512-jOAB5+GFW+C+2xdvUcpd/CnYg2rD5xCyagJLBJU+9PB4a/DKmsAqS9yZI3j/Q9zwvM7ztPHaAIH1ijzp4cezdQ==  
9 - dependencies:  
10 - "@types/node" "*"  
11 -  
12 -"@types/node@*":  
13 - version "14.14.35"  
14 - resolved "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313"  
15 - integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==  
16 -  
17 -accepts@^1.3.5:  
18 - version "1.3.7"  
19 - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"  
20 - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==  
21 - dependencies:  
22 - mime-types "~2.1.24"  
23 - negotiator "0.6.2"  
24 -  
25 -any-promise@^1.1.0:  
26 - version "1.3.0"  
27 - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"  
28 - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=  
29 -  
30 -at-least-node@^1.0.0:  
31 - version "1.0.0"  
32 - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"  
33 - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==  
34 -  
35 -bytes@3.1.0:  
36 - version "3.1.0"  
37 - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"  
38 - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==  
39 -  
40 -cache-content-type@^1.0.0:  
41 - version "1.0.1"  
42 - resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c"  
43 - integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==  
44 - dependencies:  
45 - mime-types "^2.1.18"  
46 - ylru "^1.2.0"  
47 -  
48 -call-bind@^1.0.0:  
49 - version "1.0.2"  
50 - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"  
51 - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==  
52 - dependencies:  
53 - function-bind "^1.1.1"  
54 - get-intrinsic "^1.0.2"  
55 -  
56 -co-body@^5.1.1:  
57 - version "5.2.0"  
58 - resolved "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124"  
59 - integrity sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==  
60 - dependencies:  
61 - inflation "^2.0.0"  
62 - qs "^6.4.0"  
63 - raw-body "^2.2.0"  
64 - type-is "^1.6.14"  
65 -  
66 -co-body@^6.0.0:  
67 - version "6.1.0"  
68 - resolved "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz#d87a8efc3564f9bfe3aced8ef5cd04c7a8766547"  
69 - integrity sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==  
70 - dependencies:  
71 - inflation "^2.0.0"  
72 - qs "^6.5.2"  
73 - raw-body "^2.3.3"  
74 - type-is "^1.6.16"  
75 -  
76 -co@^4.6.0:  
77 - version "4.6.0"  
78 - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"  
79 - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=  
80 -  
81 -content-disposition@~0.5.2:  
82 - version "0.5.3"  
83 - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"  
84 - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==  
85 - dependencies:  
86 - safe-buffer "5.1.2"  
87 -  
88 -content-type@^1.0.4:  
89 - version "1.0.4"  
90 - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"  
91 - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==  
92 -  
93 -cookies@~0.8.0:  
94 - version "0.8.0"  
95 - resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90"  
96 - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==  
97 - dependencies:  
98 - depd "~2.0.0"  
99 - keygrip "~1.1.0"  
100 -  
101 -copy-to@^2.0.1:  
102 - version "2.0.1"  
103 - resolved "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz#2680fbb8068a48d08656b6098092bdafc906f4a5"  
104 - integrity sha1-JoD7uAaKSNCGVrYJgJK9r8kG9KU=  
105 -  
106 -debug@^3.1.0:  
107 - version "3.2.7"  
108 - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"  
109 - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==  
110 - dependencies:  
111 - ms "^2.1.1"  
112 -  
113 -debug@^4.1.1:  
114 - version "4.3.1"  
115 - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"  
116 - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==  
117 - dependencies:  
118 - ms "2.1.2"  
119 -  
120 -debug@~3.1.0:  
121 - version "3.1.0"  
122 - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"  
123 - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==  
124 - dependencies:  
125 - ms "2.0.0"  
126 -  
127 -deep-equal@~1.0.1:  
128 - version "1.0.1"  
129 - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"  
130 - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=  
131 -  
132 -delegates@^1.0.0:  
133 - version "1.0.0"  
134 - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"  
135 - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=  
136 -  
137 -depd@^2.0.0, depd@~2.0.0:  
138 - version "2.0.0"  
139 - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"  
140 - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==  
141 -  
142 -depd@~1.1.2:  
143 - version "1.1.2"  
144 - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"  
145 - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=  
146 -  
147 -destroy@^1.0.4:  
148 - version "1.0.4"  
149 - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"  
150 - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=  
151 -  
152 -ee-first@1.1.1:  
153 - version "1.1.1"  
154 - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"  
155 - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=  
156 -  
157 -encodeurl@^1.0.2:  
158 - version "1.0.2"  
159 - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"  
160 - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=  
161 -  
162 -escape-html@^1.0.3:  
163 - version "1.0.3"  
164 - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"  
165 - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=  
166 -  
167 -formidable@^1.1.1:  
168 - version "1.2.2"  
169 - resolved "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9"  
170 - integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==  
171 -  
172 -fresh@~0.5.2:  
173 - version "0.5.2"  
174 - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"  
175 - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=  
176 -  
177 -fs-extra@^9.1.0:  
178 - version "9.1.0"  
179 - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"  
180 - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==  
181 - dependencies:  
182 - at-least-node "^1.0.0"  
183 - graceful-fs "^4.2.0"  
184 - jsonfile "^6.0.1"  
185 - universalify "^2.0.0"  
186 -  
187 -function-bind@^1.1.1:  
188 - version "1.1.1"  
189 - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"  
190 - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==  
191 -  
192 -get-intrinsic@^1.0.2:  
193 - version "1.1.1"  
194 - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"  
195 - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==  
196 - dependencies:  
197 - function-bind "^1.1.1"  
198 - has "^1.0.3"  
199 - has-symbols "^1.0.1"  
200 -  
201 -graceful-fs@^4.1.6, graceful-fs@^4.2.0:  
202 - version "4.2.6"  
203 - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"  
204 - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==  
205 -  
206 -has-symbols@^1.0.1:  
207 - version "1.0.2"  
208 - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"  
209 - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==  
210 -  
211 -has@^1.0.3:  
212 - version "1.0.3"  
213 - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"  
214 - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==  
215 - dependencies:  
216 - function-bind "^1.1.1"  
217 -  
218 -http-assert@^1.3.0:  
219 - version "1.4.1"  
220 - resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878"  
221 - integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==  
222 - dependencies:  
223 - deep-equal "~1.0.1"  
224 - http-errors "~1.7.2"  
225 -  
226 -http-errors@1.7.3, http-errors@~1.7.2:  
227 - version "1.7.3"  
228 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"  
229 - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==  
230 - dependencies:  
231 - depd "~1.1.2"  
232 - inherits "2.0.4"  
233 - setprototypeof "1.1.1"  
234 - statuses ">= 1.5.0 < 2"  
235 - toidentifier "1.0.0"  
236 -  
237 -http-errors@^1.6.3, http-errors@^1.7.3:  
238 - version "1.8.0"  
239 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"  
240 - integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==  
241 - dependencies:  
242 - depd "~1.1.2"  
243 - inherits "2.0.4"  
244 - setprototypeof "1.2.0"  
245 - statuses ">= 1.5.0 < 2"  
246 - toidentifier "1.0.0"  
247 -  
248 -http-errors@~1.6.2:  
249 - version "1.6.3"  
250 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"  
251 - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=  
252 - dependencies:  
253 - depd "~1.1.2"  
254 - inherits "2.0.3"  
255 - setprototypeof "1.1.0"  
256 - statuses ">= 1.4.0 < 2"  
257 -  
258 -iconv-lite@0.4.24:  
259 - version "0.4.24"  
260 - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"  
261 - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==  
262 - dependencies:  
263 - safer-buffer ">= 2.1.2 < 3"  
264 -  
265 -inflation@^2.0.0:  
266 - version "2.0.0"  
267 - resolved "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f"  
268 - integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=  
269 -  
270 -inherits@2.0.3:  
271 - version "2.0.3"  
272 - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"  
273 - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=  
274 -  
275 -inherits@2.0.4:  
276 - version "2.0.4"  
277 - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"  
278 - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==  
279 -  
280 -is-generator-function@^1.0.7:  
281 - version "1.0.8"  
282 - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b"  
283 - integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==  
284 -  
285 -jsonfile@^6.0.1:  
286 - version "6.1.0"  
287 - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"  
288 - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==  
289 - dependencies:  
290 - universalify "^2.0.0"  
291 - optionalDependencies:  
292 - graceful-fs "^4.1.6"  
293 -  
294 -keygrip@~1.1.0:  
295 - version "1.1.0"  
296 - resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"  
297 - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==  
298 - dependencies:  
299 - tsscmp "1.0.6"  
300 -  
301 -koa-body@^4.2.0:  
302 - version "4.2.0"  
303 - resolved "https://registry.npmjs.org/koa-body/-/koa-body-4.2.0.tgz#37229208b820761aca5822d14c5fc55cee31b26f"  
304 - integrity sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA==  
305 - dependencies:  
306 - "@types/formidable" "^1.0.31"  
307 - co-body "^5.1.1"  
308 - formidable "^1.1.1"  
309 -  
310 -koa-bodyparser@^4.3.0:  
311 - version "4.3.0"  
312 - resolved "https://registry.npmjs.org/koa-bodyparser/-/koa-bodyparser-4.3.0.tgz#274c778555ff48fa221ee7f36a9fbdbace22759a"  
313 - integrity sha512-uyV8G29KAGwZc4q/0WUAjH+Tsmuv9ImfBUF2oZVyZtaeo0husInagyn/JH85xMSxM0hEk/mbCII5ubLDuqW/Rw==  
314 - dependencies:  
315 - co-body "^6.0.0"  
316 - copy-to "^2.0.1"  
317 -  
318 -koa-compose@^3.0.0:  
319 - version "3.2.1"  
320 - resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7"  
321 - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=  
322 - dependencies:  
323 - any-promise "^1.1.0"  
324 -  
325 -koa-compose@^4.1.0:  
326 - version "4.1.0"  
327 - resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877"  
328 - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==  
329 -  
330 -koa-convert@^1.2.0:  
331 - version "1.2.0"  
332 - resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0"  
333 - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=  
334 - dependencies:  
335 - co "^4.6.0"  
336 - koa-compose "^3.0.0"  
337 -  
338 -koa-router@^10.0.0:  
339 - version "10.0.0"  
340 - resolved "https://registry.npmjs.org/koa-router/-/koa-router-10.0.0.tgz#7bc76a031085731e61fc92c1683687b2f44de6a4"  
341 - integrity sha512-gAE5J1gBQTvfR8rMMtMUkE26+1MbO3DGpGmvfmM2pR9Z7w2VIb2Ecqeal98yVO7+4ltffby7gWOzpCmdNOQe0w==  
342 - dependencies:  
343 - debug "^4.1.1"  
344 - http-errors "^1.7.3"  
345 - koa-compose "^4.1.0"  
346 - methods "^1.1.2"  
347 - path-to-regexp "^6.1.0"  
348 -  
349 -koa-send@^5.0.0:  
350 - version "5.0.1"  
351 - resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79"  
352 - integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==  
353 - dependencies:  
354 - debug "^4.1.1"  
355 - http-errors "^1.7.3"  
356 - resolve-path "^1.4.0"  
357 -  
358 -koa-static@^5.0.0:  
359 - version "5.0.0"  
360 - resolved "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943"  
361 - integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==  
362 - dependencies:  
363 - debug "^3.1.0"  
364 - koa-send "^5.0.0"  
365 -  
366 -koa2-cors@^2.0.6:  
367 - version "2.0.6"  
368 - resolved "https://registry.npmjs.org/koa2-cors/-/koa2-cors-2.0.6.tgz#9ad23df3a0b9bb84530b46f5944f3fb576086554"  
369 - integrity sha512-JRCcSM4lamM+8kvKGDKlesYk2ASrmSTczDtGUnIadqMgnHU4Ct5Gw7Bxt3w3m6d6dy3WN0PU4oMP43HbddDEWg==  
370 -  
371 -koa@^2.13.1:  
372 - version "2.13.1"  
373 - resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051"  
374 - integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==  
375 - dependencies:  
376 - accepts "^1.3.5"  
377 - cache-content-type "^1.0.0"  
378 - content-disposition "~0.5.2"  
379 - content-type "^1.0.4"  
380 - cookies "~0.8.0"  
381 - debug "~3.1.0"  
382 - delegates "^1.0.0"  
383 - depd "^2.0.0"  
384 - destroy "^1.0.4"  
385 - encodeurl "^1.0.2"  
386 - escape-html "^1.0.3"  
387 - fresh "~0.5.2"  
388 - http-assert "^1.3.0"  
389 - http-errors "^1.6.3"  
390 - is-generator-function "^1.0.7"  
391 - koa-compose "^4.1.0"  
392 - koa-convert "^1.2.0"  
393 - on-finished "^2.3.0"  
394 - only "~0.0.2"  
395 - parseurl "^1.3.2"  
396 - statuses "^1.5.0"  
397 - type-is "^1.6.16"  
398 - vary "^1.1.2"  
399 -  
400 -media-typer@0.3.0:  
401 - version "0.3.0"  
402 - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"  
403 - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=  
404 -  
405 -methods@^1.1.2:  
406 - version "1.1.2"  
407 - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"  
408 - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=  
409 -  
410 -mime-db@1.46.0:  
411 - version "1.46.0"  
412 - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee"  
413 - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==  
414 -  
415 -mime-types@^2.1.18, mime-types@~2.1.24:  
416 - version "2.1.29"  
417 - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2"  
418 - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==  
419 - dependencies:  
420 - mime-db "1.46.0"  
421 -  
422 -ms@2.0.0:  
423 - version "2.0.0"  
424 - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"  
425 - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=  
426 -  
427 -ms@2.1.2:  
428 - version "2.1.2"  
429 - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"  
430 - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==  
431 -  
432 -ms@^2.1.1:  
433 - version "2.1.3"  
434 - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"  
435 - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==  
436 -  
437 -negotiator@0.6.2:  
438 - version "0.6.2"  
439 - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"  
440 - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==  
441 -  
442 -object-inspect@^1.9.0:  
443 - version "1.9.0"  
444 - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"  
445 - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==  
446 -  
447 -on-finished@^2.3.0:  
448 - version "2.3.0"  
449 - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"  
450 - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=  
451 - dependencies:  
452 - ee-first "1.1.1"  
453 -  
454 -only@~0.0.2:  
455 - version "0.0.2"  
456 - resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"  
457 - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=  
458 -  
459 -parseurl@^1.3.2:  
460 - version "1.3.3"  
461 - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"  
462 - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==  
463 -  
464 -path-is-absolute@1.0.1:  
465 - version "1.0.1"  
466 - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"  
467 - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=  
468 -  
469 -path-to-regexp@^6.1.0:  
470 - version "6.2.0"  
471 - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38"  
472 - integrity sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==  
473 -  
474 -qs@^6.4.0, qs@^6.5.2:  
475 - version "6.10.0"  
476 - resolved "https://registry.npmjs.org/qs/-/qs-6.10.0.tgz#8b6519121ab291c316a3e4d49cecf6d13d8c7fe5"  
477 - integrity sha512-yjACOWijC6L/kmPZZAsVBNY2zfHSIbpdpL977quseu56/8BZ2LoF5axK2bGhbzhVKt7V9xgWTtpyLbxwIoER0Q==  
478 - dependencies:  
479 - side-channel "^1.0.4"  
480 -  
481 -raw-body@^2.2.0, raw-body@^2.3.3:  
482 - version "2.4.1"  
483 - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c"  
484 - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==  
485 - dependencies:  
486 - bytes "3.1.0"  
487 - http-errors "1.7.3"  
488 - iconv-lite "0.4.24"  
489 - unpipe "1.0.0"  
490 -  
491 -resolve-path@^1.4.0:  
492 - version "1.4.0"  
493 - resolved "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7"  
494 - integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=  
495 - dependencies:  
496 - http-errors "~1.6.2"  
497 - path-is-absolute "1.0.1"  
498 -  
499 -safe-buffer@5.1.2:  
500 - version "5.1.2"  
501 - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"  
502 - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==  
503 -  
504 -"safer-buffer@>= 2.1.2 < 3":  
505 - version "2.1.2"  
506 - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"  
507 - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==  
508 -  
509 -setprototypeof@1.1.0:  
510 - version "1.1.0"  
511 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"  
512 - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==  
513 -  
514 -setprototypeof@1.1.1:  
515 - version "1.1.1"  
516 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"  
517 - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==  
518 -  
519 -setprototypeof@1.2.0:  
520 - version "1.2.0"  
521 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"  
522 - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==  
523 -  
524 -side-channel@^1.0.4:  
525 - version "1.0.4"  
526 - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"  
527 - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==  
528 - dependencies:  
529 - call-bind "^1.0.0"  
530 - get-intrinsic "^1.0.2"  
531 - object-inspect "^1.9.0"  
532 -  
533 -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0:  
534 - version "1.5.0"  
535 - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"  
536 - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=  
537 -  
538 -toidentifier@1.0.0:  
539 - version "1.0.0"  
540 - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"  
541 - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==  
542 -  
543 -tsscmp@1.0.6:  
544 - version "1.0.6"  
545 - resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"  
546 - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==  
547 -  
548 -type-is@^1.6.14, type-is@^1.6.16:  
549 - version "1.6.18"  
550 - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"  
551 - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==  
552 - dependencies:  
553 - media-typer "0.3.0"  
554 - mime-types "~2.1.24"  
555 -  
556 -universalify@^2.0.0:  
557 - version "2.0.0"  
558 - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"  
559 - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==  
560 -  
561 -unpipe@1.0.0:  
562 - version "1.0.0"  
563 - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"  
564 - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=  
565 -  
566 -vary@^1.1.2:  
567 - version "1.1.2"  
568 - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"  
569 - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=  
570 -  
571 -ylru@^1.2.0:  
572 - version "1.2.1"  
573 - resolved "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"  
574 - integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==  
test/server/controller/FileController.ts 0 → 100644
  1 +import FileService from '../service/FileService';
  2 +
  3 +class FileController {
  4 + private service: FileService = new FileService();
  5 +
  6 + upload = async (ctx) => {
  7 + const files = ctx.request.files.file;
  8 + console.log(files);
  9 +
  10 + if (files.length === undefined) {
  11 + this.service.upload(ctx, files, false);
  12 + } else {
  13 + this.service.upload(ctx, files, true);
  14 + }
  15 + };
  16 +}
  17 +
  18 +export default new FileController();
test/server/controller/UserController.ts 0 → 100644
  1 +import UserService from '../service/UserService';
  2 +
  3 +class UserController {
  4 + private service: UserService = new UserService();
  5 +
  6 + login = async (ctx) => {
  7 + ctx.body = await this.service.login();
  8 + };
  9 +
  10 + getUserInfoById = async (ctx) => {
  11 + ctx.body = await this.service.getUserInfoById();
  12 + };
  13 +}
  14 +
  15 +export default new UserController();
test/server/ecosystem.config.js 0 → 100644
  1 +const { name } = require('./package.json');
  2 +const path = require('path');
  3 +
  4 +module.exports = {
  5 + apps: [
  6 + {
  7 + name,
  8 + script: path.resolve(__dirname, './dist/index.js'),
  9 + instances: require('os').cpus().length,
  10 + autorestart: true,
  11 + watch: true,
  12 + env_production: {
  13 + NODE_ENV: 'production',
  14 + PORT: 8080,
  15 + },
  16 + },
  17 + ],
  18 +};
test/server/websocket/app.js renamed to test/server/index.ts
1 -const Koa = require('koa');  
2 -const route = require('koa-route');  
3 -const websockify = require('koa-websocket'); 1 +import Koa from 'koa';
  2 +import path from 'path';
  3 +import Router from 'koa-router';
  4 +import body from 'koa-body';
  5 +import cors from 'koa2-cors';
  6 +import koaStatic from 'koa-static';
  7 +import websockify from 'koa-websocket';
  8 +import route from 'koa-route';
  9 +
  10 +import AppRoutes from './routes';
  11 +
  12 +const PORT = 3300;
4 13
5 const app = websockify(new Koa()); 14 const app = websockify(new Koa());
6 15
@@ -16,7 +25,7 @@ app.ws.use( @@ -16,7 +25,7 @@ app.ws.use(
16 // do something with the message from client 25 // do something with the message from client
17 26
18 if (message !== 'ping') { 27 if (message !== 'ping') {
19 - let data = JSON.stringify({ 28 + const data = JSON.stringify({
20 id: Math.ceil(Math.random() * 1000), 29 id: Math.ceil(Math.random() * 1000),
21 time: new Date().getTime(), 30 time: new Date().getTime(),
22 res: `${message}`, 31 res: `${message}`,
@@ -28,6 +37,27 @@ app.ws.use( @@ -28,6 +37,27 @@ app.ws.use(
28 }) 37 })
29 ); 38 );
30 39
31 -app.listen(3380, () => {  
32 - console.log('websocket server is listen in: ' + 3380); 40 +const router = new Router();
  41 +
  42 +// router
  43 +AppRoutes.forEach((route) => router[route.method](route.path, route.action));
  44 +
  45 +app.use(cors());
  46 +app.use(
  47 + body({
  48 + encoding: 'gzip',
  49 + multipart: true,
  50 + formidable: {
  51 + // uploadDir: path.join(__dirname, '/upload/'), // 设置文件上传目录
  52 + keepExtensions: true,
  53 + maxFieldsSize: 20 * 1024 * 1024,
  54 + },
  55 + })
  56 +);
  57 +app.use(router.routes());
  58 +app.use(router.allowedMethods());
  59 +app.use(koaStatic(path.join(__dirname)));
  60 +
  61 +app.listen(PORT, () => {
  62 + console.log(`Application started successfully: http://localhost:${PORT}`);
33 }); 63 });
test/server/nodemon.json 0 → 100644
  1 +{
  2 + "watch": ["src"],
  3 + "ext": "ts",
  4 + "exec": "ts-node -r tsconfig-paths/register index.ts",
  5 + "events": {
  6 + "restart": "clear"
  7 + }
  8 +}
test/server/package.json 0 → 100644
  1 +{
  2 + "name": "server",
  3 + "version": "1.0.0",
  4 + "license": "MIT",
  5 + "scripts": {
  6 + "start": "nodemon",
  7 + "build": "rimraf ./dist && tsup ./index.ts --dts --format cjs,esm ",
  8 + "prod": "npx pm2 start ecosystem.config.js --env production",
  9 + "restart": "pm2 restart ecosystem.config.js --env production",
  10 + "stop": "npx pm2 stop ecosystem.config.js"
  11 + },
  12 + "dependencies": {
  13 + "fs-extra": "^10.0.0",
  14 + "koa": "^2.7.0",
  15 + "koa-body": "^4.2.0",
  16 + "koa-bodyparser": "^4.2.1",
  17 + "koa-route": "^3.2.0",
  18 + "koa-router": "^10.0.0",
  19 + "koa-static": "^5.0.0",
  20 + "koa-websocket": "^6.0.0",
  21 + "koa2-cors": "^2.0.6"
  22 + },
  23 + "devDependencies": {
  24 + "@types/koa": "^2.0.48",
  25 + "@types/koa-bodyparser": "^4.2.2",
  26 + "@types/koa-router": "^7.0.40",
  27 + "@types/node": "^15.12.1",
  28 + "nodemon": "^2.0.7",
  29 + "pm2": "^4.5.6",
  30 + "rimraf": "^3.0.2",
  31 + "ts-node": "^10.0.0",
  32 + "tsconfig-paths": "^3.8.0",
  33 + "tsup": "^4.11.2",
  34 + "typescript": "^4.2.5"
  35 + }
  36 +}
test/server/routes.ts 0 → 100644
  1 +import UserController from './controller/UserController';
  2 +import FileController from './controller/FileController';
  3 +
  4 +export default [
  5 + // user
  6 + {
  7 + path: '/login',
  8 + method: 'post',
  9 + action: UserController.login,
  10 + },
  11 + {
  12 + path: '/getUserInfoById',
  13 + method: 'get',
  14 + action: UserController.getUserInfoById,
  15 + },
  16 +
  17 + // file
  18 + {
  19 + path: '/upload',
  20 + method: 'post',
  21 + action: FileController.upload,
  22 + },
  23 +];
test/server/upload/app.js renamed to test/server/service/FileService.ts
1 -const Koa = require('koa');  
2 -const path = require('path');  
3 -const router = require('koa-router')();  
4 -const koaBody = require('koa-body');  
5 -const static = require('koa-static');  
6 -const cors = require('koa2-cors');  
7 -const fs = require('fs-extra');  
8 -const app = new Koa();  
9 -  
10 -const uploadUrl = 'http://localhost:3001/static/upload';  
11 -  
12 -fs.ensureDir(path.join(__dirname, 'static/upload'));  
13 -  
14 -app.use(cors());  
15 -  
16 -app.use(  
17 - koaBody({  
18 - multipart: true,  
19 - formidable: {  
20 - maxFieldsSize: 20 * 1024 * 1024,  
21 - multipart: true,  
22 - },  
23 - })  
24 -);  
25 -  
26 -router.get('/', (ctx) => {  
27 - ctx.type = 'html';  
28 - const pathUrl = path.join(__dirname, '/static/upload.html');  
29 - ctx.body = fs.createReadStream(pathUrl);  
30 -});  
31 -  
32 -const uploadFilePublic = function (ctx, files, flag) {  
33 - const filePath = path.join(__dirname, '/static/upload/');  
34 - let fileReader, fileResource, writeStream;  
35 -  
36 - const fileFunc = function (file) {  
37 - fileReader = fs.createReadStream(file.path);  
38 - fileResource = filePath + `/${file.name}`; 1 +import path from 'path';
  2 +import fs from 'fs-extra';
  3 +
  4 +const uploadUrl = 'http://localhost:3300/static/upload';
  5 +const filePath = path.join(__dirname, '../static/upload/');
  6 +
  7 +fs.ensureDir(filePath);
  8 +export default class UserService {
  9 + async upload(ctx, files, isMultiple) {
  10 + let fileReader, fileResource, writeStream;
  11 +
  12 + const fileFunc = function (file) {
  13 + console.log(file);
  14 +
  15 + fileReader = fs.createReadStream(file.path);
  16 + fileResource = filePath + `/${file.name}`;
  17 + console.log(fileResource);
  18 +
  19 + writeStream = fs.createWriteStream(fileResource);
  20 + fileReader.pipe(writeStream);
  21 + };
  22 +
  23 + const returnFunc = function (flag) {
  24 + if (flag) {
  25 + let url = '';
  26 + for (let i = 0; i < files.length; i++) {
  27 + url += uploadUrl + `/${files[i].name},`;
  28 + }
  29 + url = url.replace(/,$/gi, '');
  30 + ctx.body = {
  31 + url: url,
  32 + code: 0,
  33 + message: 'upload Success!',
  34 + };
  35 + } else {
  36 + ctx.body = {
  37 + url: uploadUrl + `/${files.name}`,
  38 + code: 0,
  39 + message: 'upload Success!',
  40 + };
  41 + }
  42 + };
  43 + console.log(isMultiple, files.length);
39 44
40 - writeStream = fs.createWriteStream(fileResource);  
41 - fileReader.pipe(writeStream);  
42 - };  
43 - const returnFunc = function (flag) {  
44 - console.log(flag);  
45 - console.log(files);  
46 - if (flag) {  
47 - let url = ''; 45 + if (isMultiple) {
48 for (let i = 0; i < files.length; i++) { 46 for (let i = 0; i < files.length; i++) {
49 - url += uploadUrl + `/${files[i].name},`; 47 + const f1 = files[i];
  48 + fileFunc(f1);
50 } 49 }
51 - url = url.replace(/,$/gi, '');  
52 - ctx.body = {  
53 - url: url,  
54 - code: 0,  
55 - message: 'upload Success!',  
56 - };  
57 } else { 50 } else {
58 - ctx.body = {  
59 - url: uploadUrl + `/${files.name}`,  
60 - code: 0,  
61 - message: 'upload Success!',  
62 - };  
63 - }  
64 - };  
65 - if (flag) {  
66 - for (let i = 0; i < files.length; i++) {  
67 - const f1 = files[i];  
68 - fileFunc(f1); 51 + fileFunc(files);
69 } 52 }
70 - } else {  
71 - fileFunc(files); 53 + fs.ensureDir(filePath);
  54 + returnFunc(isMultiple);
72 } 55 }
73 -  
74 - if (!fs.existsSync(filePath)) {  
75 - fs.mkdir(filePath, (err) => {  
76 - if (err) {  
77 - throw new Error(err);  
78 - } else {  
79 - returnFunc(flag);  
80 - }  
81 - });  
82 - } else {  
83 - returnFunc(flag);  
84 - }  
85 -};  
86 -  
87 -router.post('/upload', (ctx) => {  
88 - let files = ctx.request.files.file;  
89 - if (files.length === undefined) {  
90 - uploadFilePublic(ctx, files, false);  
91 - } else {  
92 - uploadFilePublic(ctx, files, true);  
93 - }  
94 -});  
95 -  
96 -app.use(static(path.join(__dirname)));  
97 -  
98 -app.use(router.routes()).use(router.allowedMethods());  
99 -  
100 -app.listen(3001, () => {  
101 - console.log('server is listen in 3001');  
102 -}); 56 +}
test/server/service/UserService.ts 0 → 100644
  1 +import { Result } from '../utils';
  2 +
  3 +const fakeUserInfo = {
  4 + userId: '1',
  5 + username: 'vben',
  6 + realName: 'Vben Admin',
  7 + desc: 'manager',
  8 + password: '123456',
  9 + token: 'fakeToken1',
  10 + roles: [
  11 + {
  12 + roleName: 'Super Admin',
  13 + value: 'super',
  14 + },
  15 + ],
  16 +};
  17 +export default class UserService {
  18 + async login() {
  19 + return Result.success(fakeUserInfo);
  20 + }
  21 +
  22 + async getUserInfoById() {
  23 + return Result.success(fakeUserInfo);
  24 + }
  25 +}
test/server/tsconfig.json 0 → 100644
  1 +{
  2 + "compilerOptions": {
  3 + "module": "commonjs",
  4 + "declaration": false,
  5 + "removeComments": true,
  6 + "emitDecoratorMetadata": true,
  7 + "experimentalDecorators": true,
  8 + "target": "es6",
  9 + "sourceMap": false,
  10 + "esModuleInterop": true,
  11 + "outDir": "./dist",
  12 + "baseUrl": "./"
  13 + },
  14 + "exclude": ["node_modules"]
  15 +}
test/server/upload/README.md deleted 100644 → 0
1 -# Upload Server  
2 -  
3 -Simple file upload service for testing file upload components.  
4 -  
5 -## Usage  
6 -  
7 -```js  
8 -  
9 -cd ./test/upload-server  
10 -  
11 -yarn install  
12 -  
13 -yarn start  
14 -  
15 -```  
test/server/upload/package.json deleted 100644 → 0
1 -{  
2 - "name": "upload-server",  
3 - "version": "1.0.0",  
4 - "main": "app.js",  
5 - "license": "MIT",  
6 - "scripts": {  
7 - "start": "node app.js"  
8 - },  
9 - "dependencies": {  
10 - "fs-extra": "^9.1.0",  
11 - "koa": "^2.13.1",  
12 - "koa-body": "^4.2.0",  
13 - "koa-router": "^10.0.0",  
14 - "koa-static": "^5.0.0",  
15 - "koa2-cors": "^2.0.6"  
16 - }  
17 -}  
test/server/upload/yarn.lock deleted 100644 → 0
1 -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.  
2 -# yarn lockfile v1  
3 -  
4 -  
5 -"@types/formidable@^1.0.31":  
6 - version "1.0.32"  
7 - resolved "https://registry.npmjs.org/@types/formidable/-/formidable-1.0.32.tgz#d9a7eefbaa995a4486ec4e3960e9552e68b3f33c"  
8 - integrity sha512-jOAB5+GFW+C+2xdvUcpd/CnYg2rD5xCyagJLBJU+9PB4a/DKmsAqS9yZI3j/Q9zwvM7ztPHaAIH1ijzp4cezdQ==  
9 - dependencies:  
10 - "@types/node" "*"  
11 -  
12 -"@types/node@*":  
13 - version "14.14.20"  
14 - resolved "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340"  
15 - integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==  
16 -  
17 -accepts@^1.3.5:  
18 - version "1.3.7"  
19 - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"  
20 - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==  
21 - dependencies:  
22 - mime-types "~2.1.24"  
23 - negotiator "0.6.2"  
24 -  
25 -any-promise@^1.1.0:  
26 - version "1.3.0"  
27 - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"  
28 - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=  
29 -  
30 -at-least-node@^1.0.0:  
31 - version "1.0.0"  
32 - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"  
33 - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==  
34 -  
35 -bytes@3.1.0:  
36 - version "3.1.0"  
37 - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"  
38 - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==  
39 -  
40 -cache-content-type@^1.0.0:  
41 - version "1.0.1"  
42 - resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c"  
43 - integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==  
44 - dependencies:  
45 - mime-types "^2.1.18"  
46 - ylru "^1.2.0"  
47 -  
48 -co-body@^5.1.1:  
49 - version "5.2.0"  
50 - resolved "https://registry.npmjs.org/co-body/-/co-body-5.2.0.tgz#5a0a658c46029131e0e3a306f67647302f71c124"  
51 - integrity sha512-sX/LQ7LqUhgyaxzbe7IqwPeTr2yfpfUIQ/dgpKo6ZI4y4lpQA0YxAomWIY+7I7rHWcG02PG+OuPREzMW/5tszQ==  
52 - dependencies:  
53 - inflation "^2.0.0"  
54 - qs "^6.4.0"  
55 - raw-body "^2.2.0"  
56 - type-is "^1.6.14"  
57 -  
58 -co@^4.6.0:  
59 - version "4.6.0"  
60 - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"  
61 - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=  
62 -  
63 -content-disposition@~0.5.2:  
64 - version "0.5.3"  
65 - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"  
66 - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==  
67 - dependencies:  
68 - safe-buffer "5.1.2"  
69 -  
70 -content-type@^1.0.4:  
71 - version "1.0.4"  
72 - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"  
73 - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==  
74 -  
75 -cookies@~0.8.0:  
76 - version "0.8.0"  
77 - resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90"  
78 - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==  
79 - dependencies:  
80 - depd "~2.0.0"  
81 - keygrip "~1.1.0"  
82 -  
83 -debug@^3.1.0:  
84 - version "3.2.7"  
85 - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"  
86 - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==  
87 - dependencies:  
88 - ms "^2.1.1"  
89 -  
90 -debug@^4.1.1:  
91 - version "4.3.1"  
92 - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"  
93 - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==  
94 - dependencies:  
95 - ms "2.1.2"  
96 -  
97 -debug@~3.1.0:  
98 - version "3.1.0"  
99 - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"  
100 - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==  
101 - dependencies:  
102 - ms "2.0.0"  
103 -  
104 -deep-equal@~1.0.1:  
105 - version "1.0.1"  
106 - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"  
107 - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=  
108 -  
109 -delegates@^1.0.0:  
110 - version "1.0.0"  
111 - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"  
112 - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=  
113 -  
114 -depd@^2.0.0, depd@~2.0.0:  
115 - version "2.0.0"  
116 - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"  
117 - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==  
118 -  
119 -depd@~1.1.2:  
120 - version "1.1.2"  
121 - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"  
122 - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=  
123 -  
124 -destroy@^1.0.4:  
125 - version "1.0.4"  
126 - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"  
127 - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=  
128 -  
129 -ee-first@1.1.1:  
130 - version "1.1.1"  
131 - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"  
132 - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=  
133 -  
134 -encodeurl@^1.0.2:  
135 - version "1.0.2"  
136 - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"  
137 - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=  
138 -  
139 -escape-html@^1.0.3:  
140 - version "1.0.3"  
141 - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"  
142 - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=  
143 -  
144 -formidable@^1.1.1:  
145 - version "1.2.2"  
146 - resolved "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9"  
147 - integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==  
148 -  
149 -fresh@~0.5.2:  
150 - version "0.5.2"  
151 - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"  
152 - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=  
153 -  
154 -fs-extra@^9.1.0:  
155 - version "9.1.0"  
156 - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"  
157 - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==  
158 - dependencies:  
159 - at-least-node "^1.0.0"  
160 - graceful-fs "^4.2.0"  
161 - jsonfile "^6.0.1"  
162 - universalify "^2.0.0"  
163 -  
164 -graceful-fs@^4.1.6, graceful-fs@^4.2.0:  
165 - version "4.2.6"  
166 - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"  
167 - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==  
168 -  
169 -http-assert@^1.3.0:  
170 - version "1.4.1"  
171 - resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878"  
172 - integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==  
173 - dependencies:  
174 - deep-equal "~1.0.1"  
175 - http-errors "~1.7.2"  
176 -  
177 -http-errors@1.7.3, http-errors@~1.7.2:  
178 - version "1.7.3"  
179 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"  
180 - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==  
181 - dependencies:  
182 - depd "~1.1.2"  
183 - inherits "2.0.4"  
184 - setprototypeof "1.1.1"  
185 - statuses ">= 1.5.0 < 2"  
186 - toidentifier "1.0.0"  
187 -  
188 -http-errors@^1.6.3, http-errors@^1.7.3:  
189 - version "1.8.0"  
190 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"  
191 - integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==  
192 - dependencies:  
193 - depd "~1.1.2"  
194 - inherits "2.0.4"  
195 - setprototypeof "1.2.0"  
196 - statuses ">= 1.5.0 < 2"  
197 - toidentifier "1.0.0"  
198 -  
199 -http-errors@~1.6.2:  
200 - version "1.6.3"  
201 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"  
202 - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=  
203 - dependencies:  
204 - depd "~1.1.2"  
205 - inherits "2.0.3"  
206 - setprototypeof "1.1.0"  
207 - statuses ">= 1.4.0 < 2"  
208 -  
209 -iconv-lite@0.4.24:  
210 - version "0.4.24"  
211 - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"  
212 - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==  
213 - dependencies:  
214 - safer-buffer ">= 2.1.2 < 3"  
215 -  
216 -inflation@^2.0.0:  
217 - version "2.0.0"  
218 - resolved "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz#8b417e47c28f925a45133d914ca1fd389107f30f"  
219 - integrity sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=  
220 -  
221 -inherits@2.0.3:  
222 - version "2.0.3"  
223 - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"  
224 - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=  
225 -  
226 -inherits@2.0.4:  
227 - version "2.0.4"  
228 - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"  
229 - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==  
230 -  
231 -is-generator-function@^1.0.7:  
232 - version "1.0.8"  
233 - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b"  
234 - integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==  
235 -  
236 -jsonfile@^6.0.1:  
237 - version "6.1.0"  
238 - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"  
239 - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==  
240 - dependencies:  
241 - universalify "^2.0.0"  
242 - optionalDependencies:  
243 - graceful-fs "^4.1.6"  
244 -  
245 -keygrip@~1.1.0:  
246 - version "1.1.0"  
247 - resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"  
248 - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==  
249 - dependencies:  
250 - tsscmp "1.0.6"  
251 -  
252 -koa-body@^4.2.0:  
253 - version "4.2.0"  
254 - resolved "https://registry.npmjs.org/koa-body/-/koa-body-4.2.0.tgz#37229208b820761aca5822d14c5fc55cee31b26f"  
255 - integrity sha512-wdGu7b9amk4Fnk/ytH8GuWwfs4fsB5iNkY8kZPpgQVb04QZSv85T0M8reb+cJmvLE8cjPYvBzRikD3s6qz8OoA==  
256 - dependencies:  
257 - "@types/formidable" "^1.0.31"  
258 - co-body "^5.1.1"  
259 - formidable "^1.1.1"  
260 -  
261 -koa-compose@^3.0.0:  
262 - version "3.2.1"  
263 - resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7"  
264 - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=  
265 - dependencies:  
266 - any-promise "^1.1.0"  
267 -  
268 -koa-compose@^4.1.0:  
269 - version "4.1.0"  
270 - resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877"  
271 - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==  
272 -  
273 -koa-convert@^1.2.0:  
274 - version "1.2.0"  
275 - resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0"  
276 - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=  
277 - dependencies:  
278 - co "^4.6.0"  
279 - koa-compose "^3.0.0"  
280 -  
281 -koa-router@^10.0.0:  
282 - version "10.0.0"  
283 - resolved "https://registry.npmjs.org/koa-router/-/koa-router-10.0.0.tgz#7bc76a031085731e61fc92c1683687b2f44de6a4"  
284 - integrity sha512-gAE5J1gBQTvfR8rMMtMUkE26+1MbO3DGpGmvfmM2pR9Z7w2VIb2Ecqeal98yVO7+4ltffby7gWOzpCmdNOQe0w==  
285 - dependencies:  
286 - debug "^4.1.1"  
287 - http-errors "^1.7.3"  
288 - koa-compose "^4.1.0"  
289 - methods "^1.1.2"  
290 - path-to-regexp "^6.1.0"  
291 -  
292 -koa-send@^5.0.0:  
293 - version "5.0.1"  
294 - resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79"  
295 - integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==  
296 - dependencies:  
297 - debug "^4.1.1"  
298 - http-errors "^1.7.3"  
299 - resolve-path "^1.4.0"  
300 -  
301 -koa-static@^5.0.0:  
302 - version "5.0.0"  
303 - resolved "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943"  
304 - integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==  
305 - dependencies:  
306 - debug "^3.1.0"  
307 - koa-send "^5.0.0"  
308 -  
309 -koa2-cors@^2.0.6:  
310 - version "2.0.6"  
311 - resolved "https://registry.npmjs.org/koa2-cors/-/koa2-cors-2.0.6.tgz#9ad23df3a0b9bb84530b46f5944f3fb576086554"  
312 - integrity sha512-JRCcSM4lamM+8kvKGDKlesYk2ASrmSTczDtGUnIadqMgnHU4Ct5Gw7Bxt3w3m6d6dy3WN0PU4oMP43HbddDEWg==  
313 -  
314 -koa@^2.13.1:  
315 - version "2.13.1"  
316 - resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051"  
317 - integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==  
318 - dependencies:  
319 - accepts "^1.3.5"  
320 - cache-content-type "^1.0.0"  
321 - content-disposition "~0.5.2"  
322 - content-type "^1.0.4"  
323 - cookies "~0.8.0"  
324 - debug "~3.1.0"  
325 - delegates "^1.0.0"  
326 - depd "^2.0.0"  
327 - destroy "^1.0.4"  
328 - encodeurl "^1.0.2"  
329 - escape-html "^1.0.3"  
330 - fresh "~0.5.2"  
331 - http-assert "^1.3.0"  
332 - http-errors "^1.6.3"  
333 - is-generator-function "^1.0.7"  
334 - koa-compose "^4.1.0"  
335 - koa-convert "^1.2.0"  
336 - on-finished "^2.3.0"  
337 - only "~0.0.2"  
338 - parseurl "^1.3.2"  
339 - statuses "^1.5.0"  
340 - type-is "^1.6.16"  
341 - vary "^1.1.2"  
342 -  
343 -media-typer@0.3.0:  
344 - version "0.3.0"  
345 - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"  
346 - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=  
347 -  
348 -methods@^1.1.2:  
349 - version "1.1.2"  
350 - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"  
351 - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=  
352 -  
353 -mime-db@1.45.0:  
354 - version "1.45.0"  
355 - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"  
356 - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==  
357 -  
358 -mime-types@^2.1.18, mime-types@~2.1.24:  
359 - version "2.1.28"  
360 - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"  
361 - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==  
362 - dependencies:  
363 - mime-db "1.45.0"  
364 -  
365 -ms@2.0.0:  
366 - version "2.0.0"  
367 - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"  
368 - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=  
369 -  
370 -ms@2.1.2:  
371 - version "2.1.2"  
372 - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"  
373 - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==  
374 -  
375 -ms@^2.1.1:  
376 - version "2.1.3"  
377 - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"  
378 - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==  
379 -  
380 -negotiator@0.6.2:  
381 - version "0.6.2"  
382 - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"  
383 - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==  
384 -  
385 -on-finished@^2.3.0:  
386 - version "2.3.0"  
387 - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"  
388 - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=  
389 - dependencies:  
390 - ee-first "1.1.1"  
391 -  
392 -only@~0.0.2:  
393 - version "0.0.2"  
394 - resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"  
395 - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=  
396 -  
397 -parseurl@^1.3.2:  
398 - version "1.3.3"  
399 - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"  
400 - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==  
401 -  
402 -path-is-absolute@1.0.1:  
403 - version "1.0.1"  
404 - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"  
405 - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=  
406 -  
407 -path-to-regexp@^6.1.0:  
408 - version "6.2.0"  
409 - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38"  
410 - integrity sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==  
411 -  
412 -qs@^6.4.0:  
413 - version "6.9.4"  
414 - resolved "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687"  
415 - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==  
416 -  
417 -raw-body@^2.2.0:  
418 - version "2.4.1"  
419 - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c"  
420 - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==  
421 - dependencies:  
422 - bytes "3.1.0"  
423 - http-errors "1.7.3"  
424 - iconv-lite "0.4.24"  
425 - unpipe "1.0.0"  
426 -  
427 -resolve-path@^1.4.0:  
428 - version "1.4.0"  
429 - resolved "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7"  
430 - integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=  
431 - dependencies:  
432 - http-errors "~1.6.2"  
433 - path-is-absolute "1.0.1"  
434 -  
435 -safe-buffer@5.1.2:  
436 - version "5.1.2"  
437 - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"  
438 - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==  
439 -  
440 -"safer-buffer@>= 2.1.2 < 3":  
441 - version "2.1.2"  
442 - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"  
443 - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==  
444 -  
445 -setprototypeof@1.1.0:  
446 - version "1.1.0"  
447 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"  
448 - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==  
449 -  
450 -setprototypeof@1.1.1:  
451 - version "1.1.1"  
452 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"  
453 - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==  
454 -  
455 -setprototypeof@1.2.0:  
456 - version "1.2.0"  
457 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"  
458 - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==  
459 -  
460 -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0:  
461 - version "1.5.0"  
462 - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"  
463 - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=  
464 -  
465 -toidentifier@1.0.0:  
466 - version "1.0.0"  
467 - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"  
468 - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==  
469 -  
470 -tsscmp@1.0.6:  
471 - version "1.0.6"  
472 - resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"  
473 - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==  
474 -  
475 -type-is@^1.6.14, type-is@^1.6.16:  
476 - version "1.6.18"  
477 - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"  
478 - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==  
479 - dependencies:  
480 - media-typer "0.3.0"  
481 - mime-types "~2.1.24"  
482 -  
483 -universalify@^2.0.0:  
484 - version "2.0.0"  
485 - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"  
486 - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==  
487 -  
488 -unpipe@1.0.0:  
489 - version "1.0.0"  
490 - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"  
491 - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=  
492 -  
493 -vary@^1.1.2:  
494 - version "1.1.2"  
495 - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"  
496 - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=  
497 -  
498 -ylru@^1.2.0:  
499 - version "1.2.1"  
500 - resolved "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"  
501 - integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==  
test/server/utils.ts 0 → 100644
  1 +export class Result {
  2 + static success(data: any) {
  3 + return {
  4 + code: 0,
  5 + success: true,
  6 + result: data,
  7 + };
  8 + }
  9 +}
test/server/websocket/README.md deleted 100644 → 0
1 -# Websocket Server  
2 -  
3 -Simple background for testing ws interface  
4 -  
5 -## Usage  
6 -  
7 -```js  
8 -  
9 -cd ./test/websocket-server  
10 -  
11 -yarn install  
12 -  
13 -yarn start  
14 -  
15 -```  
test/server/websocket/package.json deleted 100644 → 0
1 -{  
2 - "name": "websocket-server",  
3 - "version": "1.0.0",  
4 - "main": "app.js",  
5 - "license": "MIT",  
6 - "scripts": {  
7 - "start": "node app.js"  
8 - },  
9 - "dependencies": {  
10 - "fs-extra": "^9.1.0",  
11 - "koa": "^2.13.1",  
12 - "koa-route": "^3.2.0",  
13 - "koa-websocket": "^6.0.0"  
14 - }  
15 -}  
test/server/websocket/yarn.lock deleted 100644 → 0
1 -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.  
2 -# yarn lockfile v1  
3 -  
4 -  
5 -accepts@^1.3.5:  
6 - version "1.3.7"  
7 - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"  
8 - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==  
9 - dependencies:  
10 - mime-types "~2.1.24"  
11 - negotiator "0.6.2"  
12 -  
13 -any-promise@^1.1.0:  
14 - version "1.3.0"  
15 - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"  
16 - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8=  
17 -  
18 -at-least-node@^1.0.0:  
19 - version "1.0.0"  
20 - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"  
21 - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==  
22 -  
23 -cache-content-type@^1.0.0:  
24 - version "1.0.1"  
25 - resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c"  
26 - integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==  
27 - dependencies:  
28 - mime-types "^2.1.18"  
29 - ylru "^1.2.0"  
30 -  
31 -co@^4.4.0, co@^4.6.0:  
32 - version "4.6.0"  
33 - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"  
34 - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=  
35 -  
36 -content-disposition@~0.5.2:  
37 - version "0.5.3"  
38 - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"  
39 - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==  
40 - dependencies:  
41 - safe-buffer "5.1.2"  
42 -  
43 -content-type@^1.0.4:  
44 - version "1.0.4"  
45 - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"  
46 - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==  
47 -  
48 -cookies@~0.8.0:  
49 - version "0.8.0"  
50 - resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90"  
51 - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==  
52 - dependencies:  
53 - depd "~2.0.0"  
54 - keygrip "~1.1.0"  
55 -  
56 -debug@*, debug@^4.0.1:  
57 - version "4.3.1"  
58 - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"  
59 - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==  
60 - dependencies:  
61 - ms "2.1.2"  
62 -  
63 -debug@~3.1.0:  
64 - version "3.1.0"  
65 - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"  
66 - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==  
67 - dependencies:  
68 - ms "2.0.0"  
69 -  
70 -deep-equal@~1.0.1:  
71 - version "1.0.1"  
72 - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"  
73 - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=  
74 -  
75 -delegates@^1.0.0:  
76 - version "1.0.0"  
77 - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"  
78 - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=  
79 -  
80 -depd@^2.0.0, depd@~2.0.0:  
81 - version "2.0.0"  
82 - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"  
83 - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==  
84 -  
85 -depd@~1.1.2:  
86 - version "1.1.2"  
87 - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"  
88 - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=  
89 -  
90 -destroy@^1.0.4:  
91 - version "1.0.4"  
92 - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"  
93 - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=  
94 -  
95 -ee-first@1.1.1:  
96 - version "1.1.1"  
97 - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"  
98 - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=  
99 -  
100 -encodeurl@^1.0.2:  
101 - version "1.0.2"  
102 - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"  
103 - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=  
104 -  
105 -escape-html@^1.0.3:  
106 - version "1.0.3"  
107 - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"  
108 - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=  
109 -  
110 -fresh@~0.5.2:  
111 - version "0.5.2"  
112 - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"  
113 - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=  
114 -  
115 -fs-extra@^9.1.0:  
116 - version "9.1.0"  
117 - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"  
118 - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==  
119 - dependencies:  
120 - at-least-node "^1.0.0"  
121 - graceful-fs "^4.2.0"  
122 - jsonfile "^6.0.1"  
123 - universalify "^2.0.0"  
124 -  
125 -graceful-fs@^4.1.6, graceful-fs@^4.2.0:  
126 - version "4.2.6"  
127 - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"  
128 - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==  
129 -  
130 -http-assert@^1.3.0:  
131 - version "1.4.1"  
132 - resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878"  
133 - integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==  
134 - dependencies:  
135 - deep-equal "~1.0.1"  
136 - http-errors "~1.7.2"  
137 -  
138 -http-errors@^1.6.3:  
139 - version "1.8.0"  
140 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507"  
141 - integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==  
142 - dependencies:  
143 - depd "~1.1.2"  
144 - inherits "2.0.4"  
145 - setprototypeof "1.2.0"  
146 - statuses ">= 1.5.0 < 2"  
147 - toidentifier "1.0.0"  
148 -  
149 -http-errors@~1.7.2:  
150 - version "1.7.3"  
151 - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"  
152 - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==  
153 - dependencies:  
154 - depd "~1.1.2"  
155 - inherits "2.0.4"  
156 - setprototypeof "1.1.1"  
157 - statuses ">= 1.5.0 < 2"  
158 - toidentifier "1.0.0"  
159 -  
160 -inherits@2.0.4:  
161 - version "2.0.4"  
162 - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"  
163 - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==  
164 -  
165 -is-generator-function@^1.0.7:  
166 - version "1.0.8"  
167 - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b"  
168 - integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==  
169 -  
170 -isarray@0.0.1:  
171 - version "0.0.1"  
172 - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"  
173 - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=  
174 -  
175 -jsonfile@^6.0.1:  
176 - version "6.1.0"  
177 - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"  
178 - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==  
179 - dependencies:  
180 - universalify "^2.0.0"  
181 - optionalDependencies:  
182 - graceful-fs "^4.1.6"  
183 -  
184 -keygrip@~1.1.0:  
185 - version "1.1.0"  
186 - resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"  
187 - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==  
188 - dependencies:  
189 - tsscmp "1.0.6"  
190 -  
191 -koa-compose@^3.0.0:  
192 - version "3.2.1"  
193 - resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7"  
194 - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=  
195 - dependencies:  
196 - any-promise "^1.1.0"  
197 -  
198 -koa-compose@^4.1.0:  
199 - version "4.1.0"  
200 - resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877"  
201 - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==  
202 -  
203 -koa-convert@^1.2.0:  
204 - version "1.2.0"  
205 - resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0"  
206 - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=  
207 - dependencies:  
208 - co "^4.6.0"  
209 - koa-compose "^3.0.0"  
210 -  
211 -koa-route@^3.2.0:  
212 - version "3.2.0"  
213 - resolved "https://registry.npmjs.org/koa-route/-/koa-route-3.2.0.tgz#76298b99a6bcfa9e38cab6fe5c79a8733e758bce"  
214 - integrity sha1-dimLmaa8+p44yrb+XHmocz51i84=  
215 - dependencies:  
216 - debug "*"  
217 - methods "~1.1.0"  
218 - path-to-regexp "^1.2.0"  
219 -  
220 -koa-websocket@^6.0.0:  
221 - version "6.0.0"  
222 - resolved "https://registry.npmjs.org/koa-websocket/-/koa-websocket-6.0.0.tgz#7fb7698a7004c07aac663b15e84bf4bc99901352"  
223 - integrity sha512-pGTaB+aXILD/q+bQNh+Ejrg8zSxf6QRpiUQoh2TFQSmUZo2hrt6KGk4qlyxfHxFH40bVtyKeo4x1u0kKgJDOWA==  
224 - dependencies:  
225 - co "^4.4.0"  
226 - debug "^4.0.1"  
227 - koa-compose "^4.1.0"  
228 - ws "^7.0.1"  
229 -  
230 -koa@^2.13.1:  
231 - version "2.13.1"  
232 - resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051"  
233 - integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==  
234 - dependencies:  
235 - accepts "^1.3.5"  
236 - cache-content-type "^1.0.0"  
237 - content-disposition "~0.5.2"  
238 - content-type "^1.0.4"  
239 - cookies "~0.8.0"  
240 - debug "~3.1.0"  
241 - delegates "^1.0.0"  
242 - depd "^2.0.0"  
243 - destroy "^1.0.4"  
244 - encodeurl "^1.0.2"  
245 - escape-html "^1.0.3"  
246 - fresh "~0.5.2"  
247 - http-assert "^1.3.0"  
248 - http-errors "^1.6.3"  
249 - is-generator-function "^1.0.7"  
250 - koa-compose "^4.1.0"  
251 - koa-convert "^1.2.0"  
252 - on-finished "^2.3.0"  
253 - only "~0.0.2"  
254 - parseurl "^1.3.2"  
255 - statuses "^1.5.0"  
256 - type-is "^1.6.16"  
257 - vary "^1.1.2"  
258 -  
259 -media-typer@0.3.0:  
260 - version "0.3.0"  
261 - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"  
262 - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=  
263 -  
264 -methods@~1.1.0:  
265 - version "1.1.2"  
266 - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"  
267 - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=  
268 -  
269 -mime-db@1.46.0:  
270 - version "1.46.0"  
271 - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee"  
272 - integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==  
273 -  
274 -mime-types@^2.1.18, mime-types@~2.1.24:  
275 - version "2.1.29"  
276 - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2"  
277 - integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==  
278 - dependencies:  
279 - mime-db "1.46.0"  
280 -  
281 -ms@2.0.0:  
282 - version "2.0.0"  
283 - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"  
284 - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=  
285 -  
286 -ms@2.1.2:  
287 - version "2.1.2"  
288 - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"  
289 - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==  
290 -  
291 -negotiator@0.6.2:  
292 - version "0.6.2"  
293 - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"  
294 - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==  
295 -  
296 -on-finished@^2.3.0:  
297 - version "2.3.0"  
298 - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"  
299 - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=  
300 - dependencies:  
301 - ee-first "1.1.1"  
302 -  
303 -only@~0.0.2:  
304 - version "0.0.2"  
305 - resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4"  
306 - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=  
307 -  
308 -parseurl@^1.3.2:  
309 - version "1.3.3"  
310 - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"  
311 - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==  
312 -  
313 -path-to-regexp@^1.2.0:  
314 - version "1.8.0"  
315 - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a"  
316 - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==  
317 - dependencies:  
318 - isarray "0.0.1"  
319 -  
320 -safe-buffer@5.1.2:  
321 - version "5.1.2"  
322 - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"  
323 - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==  
324 -  
325 -setprototypeof@1.1.1:  
326 - version "1.1.1"  
327 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"  
328 - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==  
329 -  
330 -setprototypeof@1.2.0:  
331 - version "1.2.0"  
332 - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"  
333 - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==  
334 -  
335 -"statuses@>= 1.5.0 < 2", statuses@^1.5.0:  
336 - version "1.5.0"  
337 - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"  
338 - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=  
339 -  
340 -toidentifier@1.0.0:  
341 - version "1.0.0"  
342 - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"  
343 - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==  
344 -  
345 -tsscmp@1.0.6:  
346 - version "1.0.6"  
347 - resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"  
348 - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==  
349 -  
350 -type-is@^1.6.16:  
351 - version "1.6.18"  
352 - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"  
353 - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==  
354 - dependencies:  
355 - media-typer "0.3.0"  
356 - mime-types "~2.1.24"  
357 -  
358 -universalify@^2.0.0:  
359 - version "2.0.0"  
360 - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"  
361 - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==  
362 -  
363 -vary@^1.1.2:  
364 - version "1.1.2"  
365 - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"  
366 - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=  
367 -  
368 -ws@^7.0.1:  
369 - version "7.4.3"  
370 - resolved "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd"  
371 - integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==  
372 -  
373 -ylru@^1.2.0:  
374 - version "1.2.1"  
375 - resolved "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"  
376 - integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==