zhang-wei-jian commited on
Commit
73d0f5b
1 Parent(s): 34d866e
Files changed (6) hide show
  1. .dockerignore +5 -0
  2. Dockerfile +22 -0
  3. app.js +9 -0
  4. package-lock.json +791 -0
  5. package.json +19 -0
  6. pnpm-lock.yaml +500 -0
.dockerignore ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ node_modules
2
+ Dockerfile
3
+ .dockerignore
4
+ .git
5
+ .gitignore
Dockerfile ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 设置基础镜像
2
+ # FROM node:18-alpine
3
+ FROM node:20-alpine3.16
4
+
5
+ # 设置工作目录
6
+ WORKDIR /app
7
+
8
+ # 复制 package.json 和 package-lock.json 文件
9
+ COPY package*.json ./
10
+
11
+
12
+ # 安装依赖
13
+ RUN npm install
14
+
15
+ # 复制源代码
16
+ COPY . .
17
+
18
+ # 暴露应用端口, 迷惑行为,只是提示项目里面启动的端口
19
+ EXPOSE 8888
20
+
21
+ # 运行应用
22
+ CMD [ "npm", "run", "dev" ]
app.js ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ const koa = require('koa')
2
+ const app = new koa()
3
+
4
+ app.use(async (ctx, next) => {
5
+ ctx.body = 'Hello World'
6
+ })
7
+ app.listen(8888, () => {
8
+ console.log('server is running at http://localhost:8888')
9
+ })
package-lock.json ADDED
@@ -0,0 +1,791 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "dockertest",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "dockertest",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "koa": "^2.14.2"
13
+ },
14
+ "devDependencies": {
15
+ "nodemon": "^2.0.22"
16
+ }
17
+ },
18
+ "node_modules/abbrev": {
19
+ "version": "1.1.1",
20
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
21
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
22
+ "dev": true
23
+ },
24
+ "node_modules/accepts": {
25
+ "version": "1.3.8",
26
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
27
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
28
+ "dependencies": {
29
+ "mime-types": "~2.1.34",
30
+ "negotiator": "0.6.3"
31
+ },
32
+ "engines": {
33
+ "node": ">= 0.6"
34
+ }
35
+ },
36
+ "node_modules/anymatch": {
37
+ "version": "3.1.3",
38
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
39
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
40
+ "dev": true,
41
+ "dependencies": {
42
+ "normalize-path": "^3.0.0",
43
+ "picomatch": "^2.0.4"
44
+ },
45
+ "engines": {
46
+ "node": ">= 8"
47
+ }
48
+ },
49
+ "node_modules/balanced-match": {
50
+ "version": "1.0.2",
51
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
52
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
53
+ "dev": true
54
+ },
55
+ "node_modules/binary-extensions": {
56
+ "version": "2.2.0",
57
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
58
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
59
+ "dev": true,
60
+ "engines": {
61
+ "node": ">=8"
62
+ }
63
+ },
64
+ "node_modules/brace-expansion": {
65
+ "version": "1.1.11",
66
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
67
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
68
+ "dev": true,
69
+ "dependencies": {
70
+ "balanced-match": "^1.0.0",
71
+ "concat-map": "0.0.1"
72
+ }
73
+ },
74
+ "node_modules/braces": {
75
+ "version": "3.0.2",
76
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
77
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
78
+ "dev": true,
79
+ "dependencies": {
80
+ "fill-range": "^7.0.1"
81
+ },
82
+ "engines": {
83
+ "node": ">=8"
84
+ }
85
+ },
86
+ "node_modules/cache-content-type": {
87
+ "version": "1.0.1",
88
+ "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
89
+ "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
90
+ "dependencies": {
91
+ "mime-types": "^2.1.18",
92
+ "ylru": "^1.2.0"
93
+ },
94
+ "engines": {
95
+ "node": ">= 6.0.0"
96
+ }
97
+ },
98
+ "node_modules/chokidar": {
99
+ "version": "3.5.3",
100
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
101
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
102
+ "dev": true,
103
+ "funding": [
104
+ {
105
+ "type": "individual",
106
+ "url": "https://paulmillr.com/funding/"
107
+ }
108
+ ],
109
+ "dependencies": {
110
+ "anymatch": "~3.1.2",
111
+ "braces": "~3.0.2",
112
+ "glob-parent": "~5.1.2",
113
+ "is-binary-path": "~2.1.0",
114
+ "is-glob": "~4.0.1",
115
+ "normalize-path": "~3.0.0",
116
+ "readdirp": "~3.6.0"
117
+ },
118
+ "engines": {
119
+ "node": ">= 8.10.0"
120
+ },
121
+ "optionalDependencies": {
122
+ "fsevents": "~2.3.2"
123
+ }
124
+ },
125
+ "node_modules/co": {
126
+ "version": "4.6.0",
127
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
128
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
129
+ "engines": {
130
+ "iojs": ">= 1.0.0",
131
+ "node": ">= 0.12.0"
132
+ }
133
+ },
134
+ "node_modules/concat-map": {
135
+ "version": "0.0.1",
136
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
137
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
138
+ "dev": true
139
+ },
140
+ "node_modules/content-disposition": {
141
+ "version": "0.5.4",
142
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
143
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
144
+ "dependencies": {
145
+ "safe-buffer": "5.2.1"
146
+ },
147
+ "engines": {
148
+ "node": ">= 0.6"
149
+ }
150
+ },
151
+ "node_modules/content-type": {
152
+ "version": "1.0.5",
153
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
154
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
155
+ "engines": {
156
+ "node": ">= 0.6"
157
+ }
158
+ },
159
+ "node_modules/cookies": {
160
+ "version": "0.8.0",
161
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
162
+ "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
163
+ "dependencies": {
164
+ "depd": "~2.0.0",
165
+ "keygrip": "~1.1.0"
166
+ },
167
+ "engines": {
168
+ "node": ">= 0.8"
169
+ }
170
+ },
171
+ "node_modules/debug": {
172
+ "version": "4.3.4",
173
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
174
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
175
+ "dependencies": {
176
+ "ms": "2.1.2"
177
+ },
178
+ "engines": {
179
+ "node": ">=6.0"
180
+ },
181
+ "peerDependenciesMeta": {
182
+ "supports-color": {
183
+ "optional": true
184
+ }
185
+ }
186
+ },
187
+ "node_modules/deep-equal": {
188
+ "version": "1.0.1",
189
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
190
+ "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw=="
191
+ },
192
+ "node_modules/delegates": {
193
+ "version": "1.0.0",
194
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
195
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ=="
196
+ },
197
+ "node_modules/depd": {
198
+ "version": "2.0.0",
199
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
200
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
201
+ "engines": {
202
+ "node": ">= 0.8"
203
+ }
204
+ },
205
+ "node_modules/destroy": {
206
+ "version": "1.2.0",
207
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
208
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
209
+ "engines": {
210
+ "node": ">= 0.8",
211
+ "npm": "1.2.8000 || >= 1.4.16"
212
+ }
213
+ },
214
+ "node_modules/ee-first": {
215
+ "version": "1.1.1",
216
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
217
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
218
+ },
219
+ "node_modules/encodeurl": {
220
+ "version": "1.0.2",
221
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
222
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
223
+ "engines": {
224
+ "node": ">= 0.8"
225
+ }
226
+ },
227
+ "node_modules/escape-html": {
228
+ "version": "1.0.3",
229
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
230
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
231
+ },
232
+ "node_modules/fill-range": {
233
+ "version": "7.0.1",
234
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
235
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
236
+ "dev": true,
237
+ "dependencies": {
238
+ "to-regex-range": "^5.0.1"
239
+ },
240
+ "engines": {
241
+ "node": ">=8"
242
+ }
243
+ },
244
+ "node_modules/fresh": {
245
+ "version": "0.5.2",
246
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
247
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
248
+ "engines": {
249
+ "node": ">= 0.6"
250
+ }
251
+ },
252
+ "node_modules/fsevents": {
253
+ "version": "2.3.2",
254
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
255
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
256
+ "dev": true,
257
+ "hasInstallScript": true,
258
+ "optional": true,
259
+ "os": [
260
+ "darwin"
261
+ ],
262
+ "engines": {
263
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
264
+ }
265
+ },
266
+ "node_modules/glob-parent": {
267
+ "version": "5.1.2",
268
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
269
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
270
+ "dev": true,
271
+ "dependencies": {
272
+ "is-glob": "^4.0.1"
273
+ },
274
+ "engines": {
275
+ "node": ">= 6"
276
+ }
277
+ },
278
+ "node_modules/has-flag": {
279
+ "version": "3.0.0",
280
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
281
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
282
+ "dev": true,
283
+ "engines": {
284
+ "node": ">=4"
285
+ }
286
+ },
287
+ "node_modules/has-symbols": {
288
+ "version": "1.0.3",
289
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
290
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
291
+ "engines": {
292
+ "node": ">= 0.4"
293
+ },
294
+ "funding": {
295
+ "url": "https://github.com/sponsors/ljharb"
296
+ }
297
+ },
298
+ "node_modules/has-tostringtag": {
299
+ "version": "1.0.0",
300
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
301
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
302
+ "dependencies": {
303
+ "has-symbols": "^1.0.2"
304
+ },
305
+ "engines": {
306
+ "node": ">= 0.4"
307
+ },
308
+ "funding": {
309
+ "url": "https://github.com/sponsors/ljharb"
310
+ }
311
+ },
312
+ "node_modules/http-assert": {
313
+ "version": "1.5.0",
314
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
315
+ "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
316
+ "dependencies": {
317
+ "deep-equal": "~1.0.1",
318
+ "http-errors": "~1.8.0"
319
+ },
320
+ "engines": {
321
+ "node": ">= 0.8"
322
+ }
323
+ },
324
+ "node_modules/http-errors": {
325
+ "version": "1.8.1",
326
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
327
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
328
+ "dependencies": {
329
+ "depd": "~1.1.2",
330
+ "inherits": "2.0.4",
331
+ "setprototypeof": "1.2.0",
332
+ "statuses": ">= 1.5.0 < 2",
333
+ "toidentifier": "1.0.1"
334
+ },
335
+ "engines": {
336
+ "node": ">= 0.6"
337
+ }
338
+ },
339
+ "node_modules/http-errors/node_modules/depd": {
340
+ "version": "1.1.2",
341
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
342
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
343
+ "engines": {
344
+ "node": ">= 0.6"
345
+ }
346
+ },
347
+ "node_modules/ignore-by-default": {
348
+ "version": "1.0.1",
349
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
350
+ "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==",
351
+ "dev": true
352
+ },
353
+ "node_modules/inherits": {
354
+ "version": "2.0.4",
355
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
356
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
357
+ },
358
+ "node_modules/is-binary-path": {
359
+ "version": "2.1.0",
360
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
361
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
362
+ "dev": true,
363
+ "dependencies": {
364
+ "binary-extensions": "^2.0.0"
365
+ },
366
+ "engines": {
367
+ "node": ">=8"
368
+ }
369
+ },
370
+ "node_modules/is-extglob": {
371
+ "version": "2.1.1",
372
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
373
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
374
+ "dev": true,
375
+ "engines": {
376
+ "node": ">=0.10.0"
377
+ }
378
+ },
379
+ "node_modules/is-generator-function": {
380
+ "version": "1.0.10",
381
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
382
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
383
+ "dependencies": {
384
+ "has-tostringtag": "^1.0.0"
385
+ },
386
+ "engines": {
387
+ "node": ">= 0.4"
388
+ },
389
+ "funding": {
390
+ "url": "https://github.com/sponsors/ljharb"
391
+ }
392
+ },
393
+ "node_modules/is-glob": {
394
+ "version": "4.0.3",
395
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
396
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
397
+ "dev": true,
398
+ "dependencies": {
399
+ "is-extglob": "^2.1.1"
400
+ },
401
+ "engines": {
402
+ "node": ">=0.10.0"
403
+ }
404
+ },
405
+ "node_modules/is-number": {
406
+ "version": "7.0.0",
407
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
408
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
409
+ "dev": true,
410
+ "engines": {
411
+ "node": ">=0.12.0"
412
+ }
413
+ },
414
+ "node_modules/keygrip": {
415
+ "version": "1.1.0",
416
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
417
+ "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
418
+ "dependencies": {
419
+ "tsscmp": "1.0.6"
420
+ },
421
+ "engines": {
422
+ "node": ">= 0.6"
423
+ }
424
+ },
425
+ "node_modules/koa": {
426
+ "version": "2.14.2",
427
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.14.2.tgz",
428
+ "integrity": "sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==",
429
+ "dependencies": {
430
+ "accepts": "^1.3.5",
431
+ "cache-content-type": "^1.0.0",
432
+ "content-disposition": "~0.5.2",
433
+ "content-type": "^1.0.4",
434
+ "cookies": "~0.8.0",
435
+ "debug": "^4.3.2",
436
+ "delegates": "^1.0.0",
437
+ "depd": "^2.0.0",
438
+ "destroy": "^1.0.4",
439
+ "encodeurl": "^1.0.2",
440
+ "escape-html": "^1.0.3",
441
+ "fresh": "~0.5.2",
442
+ "http-assert": "^1.3.0",
443
+ "http-errors": "^1.6.3",
444
+ "is-generator-function": "^1.0.7",
445
+ "koa-compose": "^4.1.0",
446
+ "koa-convert": "^2.0.0",
447
+ "on-finished": "^2.3.0",
448
+ "only": "~0.0.2",
449
+ "parseurl": "^1.3.2",
450
+ "statuses": "^1.5.0",
451
+ "type-is": "^1.6.16",
452
+ "vary": "^1.1.2"
453
+ },
454
+ "engines": {
455
+ "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
456
+ }
457
+ },
458
+ "node_modules/koa-compose": {
459
+ "version": "4.1.0",
460
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
461
+ "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw=="
462
+ },
463
+ "node_modules/koa-convert": {
464
+ "version": "2.0.0",
465
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
466
+ "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
467
+ "dependencies": {
468
+ "co": "^4.6.0",
469
+ "koa-compose": "^4.1.0"
470
+ },
471
+ "engines": {
472
+ "node": ">= 10"
473
+ }
474
+ },
475
+ "node_modules/media-typer": {
476
+ "version": "0.3.0",
477
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
478
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
479
+ "engines": {
480
+ "node": ">= 0.6"
481
+ }
482
+ },
483
+ "node_modules/mime-db": {
484
+ "version": "1.52.0",
485
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
486
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
487
+ "engines": {
488
+ "node": ">= 0.6"
489
+ }
490
+ },
491
+ "node_modules/mime-types": {
492
+ "version": "2.1.35",
493
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
494
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
495
+ "dependencies": {
496
+ "mime-db": "1.52.0"
497
+ },
498
+ "engines": {
499
+ "node": ">= 0.6"
500
+ }
501
+ },
502
+ "node_modules/minimatch": {
503
+ "version": "3.1.2",
504
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
505
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
506
+ "dev": true,
507
+ "dependencies": {
508
+ "brace-expansion": "^1.1.7"
509
+ },
510
+ "engines": {
511
+ "node": "*"
512
+ }
513
+ },
514
+ "node_modules/ms": {
515
+ "version": "2.1.2",
516
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
517
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
518
+ },
519
+ "node_modules/negotiator": {
520
+ "version": "0.6.3",
521
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
522
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
523
+ "engines": {
524
+ "node": ">= 0.6"
525
+ }
526
+ },
527
+ "node_modules/nodemon": {
528
+ "version": "2.0.22",
529
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz",
530
+ "integrity": "sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==",
531
+ "dev": true,
532
+ "dependencies": {
533
+ "chokidar": "^3.5.2",
534
+ "debug": "^3.2.7",
535
+ "ignore-by-default": "^1.0.1",
536
+ "minimatch": "^3.1.2",
537
+ "pstree.remy": "^1.1.8",
538
+ "semver": "^5.7.1",
539
+ "simple-update-notifier": "^1.0.7",
540
+ "supports-color": "^5.5.0",
541
+ "touch": "^3.1.0",
542
+ "undefsafe": "^2.0.5"
543
+ },
544
+ "bin": {
545
+ "nodemon": "bin/nodemon.js"
546
+ },
547
+ "engines": {
548
+ "node": ">=8.10.0"
549
+ },
550
+ "funding": {
551
+ "type": "opencollective",
552
+ "url": "https://opencollective.com/nodemon"
553
+ }
554
+ },
555
+ "node_modules/nodemon/node_modules/debug": {
556
+ "version": "3.2.7",
557
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
558
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
559
+ "dev": true,
560
+ "dependencies": {
561
+ "ms": "^2.1.1"
562
+ }
563
+ },
564
+ "node_modules/nopt": {
565
+ "version": "1.0.10",
566
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
567
+ "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
568
+ "dev": true,
569
+ "dependencies": {
570
+ "abbrev": "1"
571
+ },
572
+ "bin": {
573
+ "nopt": "bin/nopt.js"
574
+ },
575
+ "engines": {
576
+ "node": "*"
577
+ }
578
+ },
579
+ "node_modules/normalize-path": {
580
+ "version": "3.0.0",
581
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
582
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
583
+ "dev": true,
584
+ "engines": {
585
+ "node": ">=0.10.0"
586
+ }
587
+ },
588
+ "node_modules/on-finished": {
589
+ "version": "2.4.1",
590
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
591
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
592
+ "dependencies": {
593
+ "ee-first": "1.1.1"
594
+ },
595
+ "engines": {
596
+ "node": ">= 0.8"
597
+ }
598
+ },
599
+ "node_modules/only": {
600
+ "version": "0.0.2",
601
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
602
+ "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ=="
603
+ },
604
+ "node_modules/parseurl": {
605
+ "version": "1.3.3",
606
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
607
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
608
+ "engines": {
609
+ "node": ">= 0.8"
610
+ }
611
+ },
612
+ "node_modules/picomatch": {
613
+ "version": "2.3.1",
614
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
615
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
616
+ "dev": true,
617
+ "engines": {
618
+ "node": ">=8.6"
619
+ },
620
+ "funding": {
621
+ "url": "https://github.com/sponsors/jonschlinkert"
622
+ }
623
+ },
624
+ "node_modules/pstree.remy": {
625
+ "version": "1.1.8",
626
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
627
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
628
+ "dev": true
629
+ },
630
+ "node_modules/readdirp": {
631
+ "version": "3.6.0",
632
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
633
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
634
+ "dev": true,
635
+ "dependencies": {
636
+ "picomatch": "^2.2.1"
637
+ },
638
+ "engines": {
639
+ "node": ">=8.10.0"
640
+ }
641
+ },
642
+ "node_modules/safe-buffer": {
643
+ "version": "5.2.1",
644
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
645
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
646
+ "funding": [
647
+ {
648
+ "type": "github",
649
+ "url": "https://github.com/sponsors/feross"
650
+ },
651
+ {
652
+ "type": "patreon",
653
+ "url": "https://www.patreon.com/feross"
654
+ },
655
+ {
656
+ "type": "consulting",
657
+ "url": "https://feross.org/support"
658
+ }
659
+ ]
660
+ },
661
+ "node_modules/semver": {
662
+ "version": "5.7.1",
663
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
664
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
665
+ "dev": true,
666
+ "bin": {
667
+ "semver": "bin/semver"
668
+ }
669
+ },
670
+ "node_modules/setprototypeof": {
671
+ "version": "1.2.0",
672
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
673
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
674
+ },
675
+ "node_modules/simple-update-notifier": {
676
+ "version": "1.1.0",
677
+ "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz",
678
+ "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==",
679
+ "dev": true,
680
+ "dependencies": {
681
+ "semver": "~7.0.0"
682
+ },
683
+ "engines": {
684
+ "node": ">=8.10.0"
685
+ }
686
+ },
687
+ "node_modules/simple-update-notifier/node_modules/semver": {
688
+ "version": "7.0.0",
689
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
690
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
691
+ "dev": true,
692
+ "bin": {
693
+ "semver": "bin/semver.js"
694
+ }
695
+ },
696
+ "node_modules/statuses": {
697
+ "version": "1.5.0",
698
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
699
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
700
+ "engines": {
701
+ "node": ">= 0.6"
702
+ }
703
+ },
704
+ "node_modules/supports-color": {
705
+ "version": "5.5.0",
706
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
707
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
708
+ "dev": true,
709
+ "dependencies": {
710
+ "has-flag": "^3.0.0"
711
+ },
712
+ "engines": {
713
+ "node": ">=4"
714
+ }
715
+ },
716
+ "node_modules/to-regex-range": {
717
+ "version": "5.0.1",
718
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
719
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
720
+ "dev": true,
721
+ "dependencies": {
722
+ "is-number": "^7.0.0"
723
+ },
724
+ "engines": {
725
+ "node": ">=8.0"
726
+ }
727
+ },
728
+ "node_modules/toidentifier": {
729
+ "version": "1.0.1",
730
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
731
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
732
+ "engines": {
733
+ "node": ">=0.6"
734
+ }
735
+ },
736
+ "node_modules/touch": {
737
+ "version": "3.1.0",
738
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
739
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
740
+ "dev": true,
741
+ "dependencies": {
742
+ "nopt": "~1.0.10"
743
+ },
744
+ "bin": {
745
+ "nodetouch": "bin/nodetouch.js"
746
+ }
747
+ },
748
+ "node_modules/tsscmp": {
749
+ "version": "1.0.6",
750
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
751
+ "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
752
+ "engines": {
753
+ "node": ">=0.6.x"
754
+ }
755
+ },
756
+ "node_modules/type-is": {
757
+ "version": "1.6.18",
758
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
759
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
760
+ "dependencies": {
761
+ "media-typer": "0.3.0",
762
+ "mime-types": "~2.1.24"
763
+ },
764
+ "engines": {
765
+ "node": ">= 0.6"
766
+ }
767
+ },
768
+ "node_modules/undefsafe": {
769
+ "version": "2.0.5",
770
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz",
771
+ "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==",
772
+ "dev": true
773
+ },
774
+ "node_modules/vary": {
775
+ "version": "1.1.2",
776
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
777
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
778
+ "engines": {
779
+ "node": ">= 0.8"
780
+ }
781
+ },
782
+ "node_modules/ylru": {
783
+ "version": "1.3.2",
784
+ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
785
+ "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==",
786
+ "engines": {
787
+ "node": ">= 4.0.0"
788
+ }
789
+ }
790
+ }
791
+ }
package.json ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "dockertest",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "app.js",
6
+ "scripts": {
7
+ "dev": "nodemon app.js",
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "keywords": [],
11
+ "author": "",
12
+ "license": "ISC",
13
+ "dependencies": {
14
+ "koa": "^2.14.2"
15
+ },
16
+ "devDependencies": {
17
+ "nodemon": "^2.0.22"
18
+ }
19
+ }
pnpm-lock.yaml ADDED
@@ -0,0 +1,500 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ lockfileVersion: '6.0'
2
+
3
+ dependencies:
4
+ koa:
5
+ specifier: ^2.14.2
6
+ version: 2.14.2
7
+
8
+ devDependencies:
9
+ nodemon:
10
+ specifier: ^2.0.22
11
+ version: 2.0.22
12
+
13
+ packages:
14
+
15
+ /abbrev@1.1.1:
16
+ resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==}
17
+ dev: true
18
+
19
+ /accepts@1.3.8:
20
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
21
+ engines: {node: '>= 0.6'}
22
+ dependencies:
23
+ mime-types: 2.1.35
24
+ negotiator: 0.6.3
25
+ dev: false
26
+
27
+ /anymatch@3.1.3:
28
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
29
+ engines: {node: '>= 8'}
30
+ dependencies:
31
+ normalize-path: 3.0.0
32
+ picomatch: 2.3.1
33
+ dev: true
34
+
35
+ /balanced-match@1.0.2:
36
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
37
+ dev: true
38
+
39
+ /binary-extensions@2.2.0:
40
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
41
+ engines: {node: '>=8'}
42
+ dev: true
43
+
44
+ /brace-expansion@1.1.11:
45
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
46
+ dependencies:
47
+ balanced-match: 1.0.2
48
+ concat-map: 0.0.1
49
+ dev: true
50
+
51
+ /braces@3.0.2:
52
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
53
+ engines: {node: '>=8'}
54
+ dependencies:
55
+ fill-range: 7.0.1
56
+ dev: true
57
+
58
+ /cache-content-type@1.0.1:
59
+ resolution: {integrity: sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==}
60
+ engines: {node: '>= 6.0.0'}
61
+ dependencies:
62
+ mime-types: 2.1.35
63
+ ylru: 1.3.2
64
+ dev: false
65
+
66
+ /chokidar@3.5.3:
67
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
68
+ engines: {node: '>= 8.10.0'}
69
+ dependencies:
70
+ anymatch: 3.1.3
71
+ braces: 3.0.2
72
+ glob-parent: 5.1.2
73
+ is-binary-path: 2.1.0
74
+ is-glob: 4.0.3
75
+ normalize-path: 3.0.0
76
+ readdirp: 3.6.0
77
+ optionalDependencies:
78
+ fsevents: 2.3.2
79
+ dev: true
80
+
81
+ /co@4.6.0:
82
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
83
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
84
+ dev: false
85
+
86
+ /concat-map@0.0.1:
87
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
88
+ dev: true
89
+
90
+ /content-disposition@0.5.4:
91
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
92
+ engines: {node: '>= 0.6'}
93
+ dependencies:
94
+ safe-buffer: 5.2.1
95
+ dev: false
96
+
97
+ /content-type@1.0.5:
98
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
99
+ engines: {node: '>= 0.6'}
100
+ dev: false
101
+
102
+ /cookies@0.8.0:
103
+ resolution: {integrity: sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==}
104
+ engines: {node: '>= 0.8'}
105
+ dependencies:
106
+ depd: 2.0.0
107
+ keygrip: 1.1.0
108
+ dev: false
109
+
110
+ /debug@3.2.7(supports-color@5.5.0):
111
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
112
+ peerDependencies:
113
+ supports-color: '*'
114
+ peerDependenciesMeta:
115
+ supports-color:
116
+ optional: true
117
+ dependencies:
118
+ ms: 2.1.3
119
+ supports-color: 5.5.0
120
+ dev: true
121
+
122
+ /debug@4.3.4:
123
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
124
+ engines: {node: '>=6.0'}
125
+ peerDependencies:
126
+ supports-color: '*'
127
+ peerDependenciesMeta:
128
+ supports-color:
129
+ optional: true
130
+ dependencies:
131
+ ms: 2.1.2
132
+ dev: false
133
+
134
+ /deep-equal@1.0.1:
135
+ resolution: {integrity: sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==}
136
+ dev: false
137
+
138
+ /delegates@1.0.0:
139
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
140
+ dev: false
141
+
142
+ /depd@1.1.2:
143
+ resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
144
+ engines: {node: '>= 0.6'}
145
+ dev: false
146
+
147
+ /depd@2.0.0:
148
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
149
+ engines: {node: '>= 0.8'}
150
+ dev: false
151
+
152
+ /destroy@1.2.0:
153
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
154
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
155
+ dev: false
156
+
157
+ /ee-first@1.1.1:
158
+ resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
159
+ dev: false
160
+
161
+ /encodeurl@1.0.2:
162
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
163
+ engines: {node: '>= 0.8'}
164
+ dev: false
165
+
166
+ /escape-html@1.0.3:
167
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
168
+ dev: false
169
+
170
+ /fill-range@7.0.1:
171
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
172
+ engines: {node: '>=8'}
173
+ dependencies:
174
+ to-regex-range: 5.0.1
175
+ dev: true
176
+
177
+ /fresh@0.5.2:
178
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
179
+ engines: {node: '>= 0.6'}
180
+ dev: false
181
+
182
+ /fsevents@2.3.2:
183
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
184
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
185
+ os: [darwin]
186
+ requiresBuild: true
187
+ dev: true
188
+ optional: true
189
+
190
+ /glob-parent@5.1.2:
191
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
192
+ engines: {node: '>= 6'}
193
+ dependencies:
194
+ is-glob: 4.0.3
195
+ dev: true
196
+
197
+ /has-flag@3.0.0:
198
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
199
+ engines: {node: '>=4'}
200
+ dev: true
201
+
202
+ /has-symbols@1.0.3:
203
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
204
+ engines: {node: '>= 0.4'}
205
+ dev: false
206
+
207
+ /has-tostringtag@1.0.0:
208
+ resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
209
+ engines: {node: '>= 0.4'}
210
+ dependencies:
211
+ has-symbols: 1.0.3
212
+ dev: false
213
+
214
+ /http-assert@1.5.0:
215
+ resolution: {integrity: sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==}
216
+ engines: {node: '>= 0.8'}
217
+ dependencies:
218
+ deep-equal: 1.0.1
219
+ http-errors: 1.8.1
220
+ dev: false
221
+
222
+ /http-errors@1.8.1:
223
+ resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
224
+ engines: {node: '>= 0.6'}
225
+ dependencies:
226
+ depd: 1.1.2
227
+ inherits: 2.0.4
228
+ setprototypeof: 1.2.0
229
+ statuses: 1.5.0
230
+ toidentifier: 1.0.1
231
+ dev: false
232
+
233
+ /ignore-by-default@1.0.1:
234
+ resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}
235
+ dev: true
236
+
237
+ /inherits@2.0.4:
238
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
239
+ dev: false
240
+
241
+ /is-binary-path@2.1.0:
242
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
243
+ engines: {node: '>=8'}
244
+ dependencies:
245
+ binary-extensions: 2.2.0
246
+ dev: true
247
+
248
+ /is-extglob@2.1.1:
249
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
250
+ engines: {node: '>=0.10.0'}
251
+ dev: true
252
+
253
+ /is-generator-function@1.0.10:
254
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
255
+ engines: {node: '>= 0.4'}
256
+ dependencies:
257
+ has-tostringtag: 1.0.0
258
+ dev: false
259
+
260
+ /is-glob@4.0.3:
261
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
262
+ engines: {node: '>=0.10.0'}
263
+ dependencies:
264
+ is-extglob: 2.1.1
265
+ dev: true
266
+
267
+ /is-number@7.0.0:
268
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
269
+ engines: {node: '>=0.12.0'}
270
+ dev: true
271
+
272
+ /keygrip@1.1.0:
273
+ resolution: {integrity: sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==}
274
+ engines: {node: '>= 0.6'}
275
+ dependencies:
276
+ tsscmp: 1.0.6
277
+ dev: false
278
+
279
+ /koa-compose@4.1.0:
280
+ resolution: {integrity: sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==}
281
+ dev: false
282
+
283
+ /koa-convert@2.0.0:
284
+ resolution: {integrity: sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==}
285
+ engines: {node: '>= 10'}
286
+ dependencies:
287
+ co: 4.6.0
288
+ koa-compose: 4.1.0
289
+ dev: false
290
+
291
+ /koa@2.14.2:
292
+ resolution: {integrity: sha512-VFI2bpJaodz6P7x2uyLiX6RLYpZmOJqNmoCst/Yyd7hQlszyPwG/I9CQJ63nOtKSxpt5M7NH67V6nJL2BwCl7g==}
293
+ engines: {node: ^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4}
294
+ dependencies:
295
+ accepts: 1.3.8
296
+ cache-content-type: 1.0.1
297
+ content-disposition: 0.5.4
298
+ content-type: 1.0.5
299
+ cookies: 0.8.0
300
+ debug: 4.3.4
301
+ delegates: 1.0.0
302
+ depd: 2.0.0
303
+ destroy: 1.2.0
304
+ encodeurl: 1.0.2
305
+ escape-html: 1.0.3
306
+ fresh: 0.5.2
307
+ http-assert: 1.5.0
308
+ http-errors: 1.8.1
309
+ is-generator-function: 1.0.10
310
+ koa-compose: 4.1.0
311
+ koa-convert: 2.0.0
312
+ on-finished: 2.4.1
313
+ only: 0.0.2
314
+ parseurl: 1.3.3
315
+ statuses: 1.5.0
316
+ type-is: 1.6.18
317
+ vary: 1.1.2
318
+ transitivePeerDependencies:
319
+ - supports-color
320
+ dev: false
321
+
322
+ /media-typer@0.3.0:
323
+ resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
324
+ engines: {node: '>= 0.6'}
325
+ dev: false
326
+
327
+ /mime-db@1.52.0:
328
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
329
+ engines: {node: '>= 0.6'}
330
+ dev: false
331
+
332
+ /mime-types@2.1.35:
333
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
334
+ engines: {node: '>= 0.6'}
335
+ dependencies:
336
+ mime-db: 1.52.0
337
+ dev: false
338
+
339
+ /minimatch@3.1.2:
340
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
341
+ dependencies:
342
+ brace-expansion: 1.1.11
343
+ dev: true
344
+
345
+ /ms@2.1.2:
346
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
347
+ dev: false
348
+
349
+ /ms@2.1.3:
350
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
351
+ dev: true
352
+
353
+ /negotiator@0.6.3:
354
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
355
+ engines: {node: '>= 0.6'}
356
+ dev: false
357
+
358
+ /nodemon@2.0.22:
359
+ resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==}
360
+ engines: {node: '>=8.10.0'}
361
+ hasBin: true
362
+ dependencies:
363
+ chokidar: 3.5.3
364
+ debug: 3.2.7(supports-color@5.5.0)
365
+ ignore-by-default: 1.0.1
366
+ minimatch: 3.1.2
367
+ pstree.remy: 1.1.8
368
+ semver: 5.7.1
369
+ simple-update-notifier: 1.1.0
370
+ supports-color: 5.5.0
371
+ touch: 3.1.0
372
+ undefsafe: 2.0.5
373
+ dev: true
374
+
375
+ /nopt@1.0.10:
376
+ resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==}
377
+ hasBin: true
378
+ dependencies:
379
+ abbrev: 1.1.1
380
+ dev: true
381
+
382
+ /normalize-path@3.0.0:
383
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
384
+ engines: {node: '>=0.10.0'}
385
+ dev: true
386
+
387
+ /on-finished@2.4.1:
388
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
389
+ engines: {node: '>= 0.8'}
390
+ dependencies:
391
+ ee-first: 1.1.1
392
+ dev: false
393
+
394
+ /only@0.0.2:
395
+ resolution: {integrity: sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==}
396
+ dev: false
397
+
398
+ /parseurl@1.3.3:
399
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
400
+ engines: {node: '>= 0.8'}
401
+ dev: false
402
+
403
+ /picomatch@2.3.1:
404
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
405
+ engines: {node: '>=8.6'}
406
+ dev: true
407
+
408
+ /pstree.remy@1.1.8:
409
+ resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==}
410
+ dev: true
411
+
412
+ /readdirp@3.6.0:
413
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
414
+ engines: {node: '>=8.10.0'}
415
+ dependencies:
416
+ picomatch: 2.3.1
417
+ dev: true
418
+
419
+ /safe-buffer@5.2.1:
420
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
421
+ dev: false
422
+
423
+ /semver@5.7.1:
424
+ resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
425
+ hasBin: true
426
+ dev: true
427
+
428
+ /semver@7.0.0:
429
+ resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
430
+ hasBin: true
431
+ dev: true
432
+
433
+ /setprototypeof@1.2.0:
434
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
435
+ dev: false
436
+
437
+ /simple-update-notifier@1.1.0:
438
+ resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==}
439
+ engines: {node: '>=8.10.0'}
440
+ dependencies:
441
+ semver: 7.0.0
442
+ dev: true
443
+
444
+ /statuses@1.5.0:
445
+ resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
446
+ engines: {node: '>= 0.6'}
447
+ dev: false
448
+
449
+ /supports-color@5.5.0:
450
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
451
+ engines: {node: '>=4'}
452
+ dependencies:
453
+ has-flag: 3.0.0
454
+ dev: true
455
+
456
+ /to-regex-range@5.0.1:
457
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
458
+ engines: {node: '>=8.0'}
459
+ dependencies:
460
+ is-number: 7.0.0
461
+ dev: true
462
+
463
+ /toidentifier@1.0.1:
464
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
465
+ engines: {node: '>=0.6'}
466
+ dev: false
467
+
468
+ /touch@3.1.0:
469
+ resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==}
470
+ hasBin: true
471
+ dependencies:
472
+ nopt: 1.0.10
473
+ dev: true
474
+
475
+ /tsscmp@1.0.6:
476
+ resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==}
477
+ engines: {node: '>=0.6.x'}
478
+ dev: false
479
+
480
+ /type-is@1.6.18:
481
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
482
+ engines: {node: '>= 0.6'}
483
+ dependencies:
484
+ media-typer: 0.3.0
485
+ mime-types: 2.1.35
486
+ dev: false
487
+
488
+ /undefsafe@2.0.5:
489
+ resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
490
+ dev: true
491
+
492
+ /vary@1.1.2:
493
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
494
+ engines: {node: '>= 0.8'}
495
+ dev: false
496
+
497
+ /ylru@1.3.2:
498
+ resolution: {integrity: sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==}
499
+ engines: {node: '>= 4.0.0'}
500
+ dev: false