api-ape 0.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +261 -0
  2. package/client/README.md +69 -0
  3. package/client/browser.js +17 -0
  4. package/client/connectSocket.js +260 -0
  5. package/dist/ape.js +454 -0
  6. package/example/ExpressJs/README.md +97 -0
  7. package/example/ExpressJs/api/message.js +11 -0
  8. package/example/ExpressJs/backend.js +37 -0
  9. package/example/ExpressJs/index.html +88 -0
  10. package/example/ExpressJs/package-lock.json +834 -0
  11. package/example/ExpressJs/package.json +10 -0
  12. package/example/ExpressJs/styles.css +128 -0
  13. package/example/NextJs/.dockerignore +29 -0
  14. package/example/NextJs/Dockerfile +52 -0
  15. package/example/NextJs/Dockerfile.dev +27 -0
  16. package/example/NextJs/README.md +113 -0
  17. package/example/NextJs/ape/client.js +66 -0
  18. package/example/NextJs/ape/embed.js +12 -0
  19. package/example/NextJs/ape/index.js +23 -0
  20. package/example/NextJs/ape/logic/chat.js +62 -0
  21. package/example/NextJs/ape/onConnect.js +69 -0
  22. package/example/NextJs/ape/onDisconnect.js +13 -0
  23. package/example/NextJs/ape/onError.js +9 -0
  24. package/example/NextJs/ape/onReceive.js +15 -0
  25. package/example/NextJs/ape/onSend.js +15 -0
  26. package/example/NextJs/api/message.js +44 -0
  27. package/example/NextJs/docker-compose.yml +22 -0
  28. package/example/NextJs/next-env.d.ts +5 -0
  29. package/example/NextJs/next.config.js +8 -0
  30. package/example/NextJs/package-lock.json +5107 -0
  31. package/example/NextJs/package.json +25 -0
  32. package/example/NextJs/pages/_app.tsx +6 -0
  33. package/example/NextJs/pages/index.tsx +182 -0
  34. package/example/NextJs/public/favicon.ico +0 -0
  35. package/example/NextJs/public/vercel.svg +4 -0
  36. package/example/NextJs/server.js +40 -0
  37. package/example/NextJs/styles/Chat.module.css +194 -0
  38. package/example/NextJs/styles/Home.module.css +129 -0
  39. package/example/NextJs/styles/globals.css +26 -0
  40. package/example/NextJs/tsconfig.json +20 -0
  41. package/example/README.md +66 -0
  42. package/index.d.ts +179 -0
  43. package/index.js +11 -0
  44. package/package.json +11 -4
  45. package/server/README.md +93 -0
  46. package/server/index.js +6 -0
  47. package/server/lib/broadcast.js +63 -0
  48. package/server/lib/loader.js +10 -0
  49. package/server/lib/main.js +23 -0
  50. package/server/lib/wiring.js +94 -0
  51. package/server/security/extractRootDomain.js +21 -0
  52. package/server/security/origin.js +13 -0
  53. package/server/security/reply.js +21 -0
  54. package/server/socket/open.js +10 -0
  55. package/server/socket/receive.js +66 -0
  56. package/server/socket/send.js +55 -0
  57. package/server/utils/deepRequire.js +45 -0
  58. package/server/utils/genId.js +24 -0
  59. package/todo.md +85 -0
  60. package/utils/jss.js +273 -0
  61. package/utils/jss.test.js +261 -0
  62. package/utils/messageHash.js +43 -0
  63. package/utils/messageHash.test.js +56 -0
@@ -0,0 +1,834 @@
1
+ {
2
+ "name": "chat-example",
3
+ "lockfileVersion": 3,
4
+ "requires": true,
5
+ "packages": {
6
+ "": {
7
+ "name": "chat-example",
8
+ "dependencies": {
9
+ "express": "^4.18.2",
10
+ "scribbles": "^1.5.0"
11
+ }
12
+ },
13
+ "node_modules/@ashleyw/cls-hooked": {
14
+ "version": "5.0.1",
15
+ "resolved": "https://registry.npmjs.org/@ashleyw/cls-hooked/-/cls-hooked-5.0.1.tgz",
16
+ "integrity": "sha512-iA29vqTCA8ezPyhR83rLI+2XwcqQJ5IAWEThTyg8pjgVr+IRNS2HBm5Q96ivBEWIFLTnd0BGLf4sfY7NuE4vRQ==",
17
+ "dependencies": {
18
+ "emitter-listener": "^1.0.1"
19
+ },
20
+ "engines": {
21
+ "node": "^4.7 || >=6.9 || >=7.3 || >=8.2.1"
22
+ }
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/array-flatten": {
37
+ "version": "1.1.1",
38
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
39
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
40
+ },
41
+ "node_modules/body-parser": {
42
+ "version": "1.20.4",
43
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
44
+ "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
45
+ "dependencies": {
46
+ "bytes": "~3.1.2",
47
+ "content-type": "~1.0.5",
48
+ "debug": "2.6.9",
49
+ "depd": "2.0.0",
50
+ "destroy": "~1.2.0",
51
+ "http-errors": "~2.0.1",
52
+ "iconv-lite": "~0.4.24",
53
+ "on-finished": "~2.4.1",
54
+ "qs": "~6.14.0",
55
+ "raw-body": "~2.5.3",
56
+ "type-is": "~1.6.18",
57
+ "unpipe": "~1.0.0"
58
+ },
59
+ "engines": {
60
+ "node": ">= 0.8",
61
+ "npm": "1.2.8000 || >= 1.4.16"
62
+ }
63
+ },
64
+ "node_modules/buffer-from": {
65
+ "version": "1.1.2",
66
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
67
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
68
+ },
69
+ "node_modules/bytes": {
70
+ "version": "3.1.2",
71
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
72
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
73
+ "engines": {
74
+ "node": ">= 0.8"
75
+ }
76
+ },
77
+ "node_modules/call-bind-apply-helpers": {
78
+ "version": "1.0.2",
79
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
80
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
81
+ "dependencies": {
82
+ "es-errors": "^1.3.0",
83
+ "function-bind": "^1.1.2"
84
+ },
85
+ "engines": {
86
+ "node": ">= 0.4"
87
+ }
88
+ },
89
+ "node_modules/call-bound": {
90
+ "version": "1.0.4",
91
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
92
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
93
+ "dependencies": {
94
+ "call-bind-apply-helpers": "^1.0.2",
95
+ "get-intrinsic": "^1.3.0"
96
+ },
97
+ "engines": {
98
+ "node": ">= 0.4"
99
+ },
100
+ "funding": {
101
+ "url": "https://github.com/sponsors/ljharb"
102
+ }
103
+ },
104
+ "node_modules/content-disposition": {
105
+ "version": "0.5.4",
106
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
107
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
108
+ "dependencies": {
109
+ "safe-buffer": "5.2.1"
110
+ },
111
+ "engines": {
112
+ "node": ">= 0.6"
113
+ }
114
+ },
115
+ "node_modules/content-type": {
116
+ "version": "1.0.5",
117
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
118
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
119
+ "engines": {
120
+ "node": ">= 0.6"
121
+ }
122
+ },
123
+ "node_modules/cookie": {
124
+ "version": "0.7.2",
125
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
126
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
127
+ "engines": {
128
+ "node": ">= 0.6"
129
+ }
130
+ },
131
+ "node_modules/cookie-signature": {
132
+ "version": "1.0.7",
133
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
134
+ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA=="
135
+ },
136
+ "node_modules/debug": {
137
+ "version": "2.6.9",
138
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
139
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
140
+ "dependencies": {
141
+ "ms": "2.0.0"
142
+ }
143
+ },
144
+ "node_modules/depd": {
145
+ "version": "2.0.0",
146
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
147
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
148
+ "engines": {
149
+ "node": ">= 0.8"
150
+ }
151
+ },
152
+ "node_modules/destroy": {
153
+ "version": "1.2.0",
154
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
155
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
156
+ "engines": {
157
+ "node": ">= 0.8",
158
+ "npm": "1.2.8000 || >= 1.4.16"
159
+ }
160
+ },
161
+ "node_modules/dunder-proto": {
162
+ "version": "1.0.1",
163
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
164
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
165
+ "dependencies": {
166
+ "call-bind-apply-helpers": "^1.0.1",
167
+ "es-errors": "^1.3.0",
168
+ "gopd": "^1.2.0"
169
+ },
170
+ "engines": {
171
+ "node": ">= 0.4"
172
+ }
173
+ },
174
+ "node_modules/ee-first": {
175
+ "version": "1.1.1",
176
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
177
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
178
+ },
179
+ "node_modules/emitter-listener": {
180
+ "version": "1.1.2",
181
+ "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz",
182
+ "integrity": "sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==",
183
+ "dependencies": {
184
+ "shimmer": "^1.2.0"
185
+ }
186
+ },
187
+ "node_modules/encodeurl": {
188
+ "version": "2.0.0",
189
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
190
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
191
+ "engines": {
192
+ "node": ">= 0.8"
193
+ }
194
+ },
195
+ "node_modules/es-define-property": {
196
+ "version": "1.0.1",
197
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
198
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
199
+ "engines": {
200
+ "node": ">= 0.4"
201
+ }
202
+ },
203
+ "node_modules/es-errors": {
204
+ "version": "1.3.0",
205
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
206
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
207
+ "engines": {
208
+ "node": ">= 0.4"
209
+ }
210
+ },
211
+ "node_modules/es-object-atoms": {
212
+ "version": "1.1.1",
213
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
214
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
215
+ "dependencies": {
216
+ "es-errors": "^1.3.0"
217
+ },
218
+ "engines": {
219
+ "node": ">= 0.4"
220
+ }
221
+ },
222
+ "node_modules/escape-html": {
223
+ "version": "1.0.3",
224
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
225
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
226
+ },
227
+ "node_modules/etag": {
228
+ "version": "1.8.1",
229
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
230
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
231
+ "engines": {
232
+ "node": ">= 0.6"
233
+ }
234
+ },
235
+ "node_modules/express": {
236
+ "version": "4.22.1",
237
+ "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
238
+ "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
239
+ "dependencies": {
240
+ "accepts": "~1.3.8",
241
+ "array-flatten": "1.1.1",
242
+ "body-parser": "~1.20.3",
243
+ "content-disposition": "~0.5.4",
244
+ "content-type": "~1.0.4",
245
+ "cookie": "~0.7.1",
246
+ "cookie-signature": "~1.0.6",
247
+ "debug": "2.6.9",
248
+ "depd": "2.0.0",
249
+ "encodeurl": "~2.0.0",
250
+ "escape-html": "~1.0.3",
251
+ "etag": "~1.8.1",
252
+ "finalhandler": "~1.3.1",
253
+ "fresh": "~0.5.2",
254
+ "http-errors": "~2.0.0",
255
+ "merge-descriptors": "1.0.3",
256
+ "methods": "~1.1.2",
257
+ "on-finished": "~2.4.1",
258
+ "parseurl": "~1.3.3",
259
+ "path-to-regexp": "~0.1.12",
260
+ "proxy-addr": "~2.0.7",
261
+ "qs": "~6.14.0",
262
+ "range-parser": "~1.2.1",
263
+ "safe-buffer": "5.2.1",
264
+ "send": "~0.19.0",
265
+ "serve-static": "~1.16.2",
266
+ "setprototypeof": "1.2.0",
267
+ "statuses": "~2.0.1",
268
+ "type-is": "~1.6.18",
269
+ "utils-merge": "1.0.1",
270
+ "vary": "~1.1.2"
271
+ },
272
+ "engines": {
273
+ "node": ">= 0.10.0"
274
+ },
275
+ "funding": {
276
+ "type": "opencollective",
277
+ "url": "https://opencollective.com/express"
278
+ }
279
+ },
280
+ "node_modules/finalhandler": {
281
+ "version": "1.3.2",
282
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
283
+ "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
284
+ "dependencies": {
285
+ "debug": "2.6.9",
286
+ "encodeurl": "~2.0.0",
287
+ "escape-html": "~1.0.3",
288
+ "on-finished": "~2.4.1",
289
+ "parseurl": "~1.3.3",
290
+ "statuses": "~2.0.2",
291
+ "unpipe": "~1.0.0"
292
+ },
293
+ "engines": {
294
+ "node": ">= 0.8"
295
+ }
296
+ },
297
+ "node_modules/forwarded": {
298
+ "version": "0.2.0",
299
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
300
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
301
+ "engines": {
302
+ "node": ">= 0.6"
303
+ }
304
+ },
305
+ "node_modules/fresh": {
306
+ "version": "0.5.2",
307
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
308
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
309
+ "engines": {
310
+ "node": ">= 0.6"
311
+ }
312
+ },
313
+ "node_modules/function-bind": {
314
+ "version": "1.1.2",
315
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
316
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
317
+ "funding": {
318
+ "url": "https://github.com/sponsors/ljharb"
319
+ }
320
+ },
321
+ "node_modules/get-intrinsic": {
322
+ "version": "1.3.0",
323
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
324
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
325
+ "dependencies": {
326
+ "call-bind-apply-helpers": "^1.0.2",
327
+ "es-define-property": "^1.0.1",
328
+ "es-errors": "^1.3.0",
329
+ "es-object-atoms": "^1.1.1",
330
+ "function-bind": "^1.1.2",
331
+ "get-proto": "^1.0.1",
332
+ "gopd": "^1.2.0",
333
+ "has-symbols": "^1.1.0",
334
+ "hasown": "^2.0.2",
335
+ "math-intrinsics": "^1.1.0"
336
+ },
337
+ "engines": {
338
+ "node": ">= 0.4"
339
+ },
340
+ "funding": {
341
+ "url": "https://github.com/sponsors/ljharb"
342
+ }
343
+ },
344
+ "node_modules/get-proto": {
345
+ "version": "1.0.1",
346
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
347
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
348
+ "dependencies": {
349
+ "dunder-proto": "^1.0.1",
350
+ "es-object-atoms": "^1.0.0"
351
+ },
352
+ "engines": {
353
+ "node": ">= 0.4"
354
+ }
355
+ },
356
+ "node_modules/gopd": {
357
+ "version": "1.2.0",
358
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
359
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
360
+ "engines": {
361
+ "node": ">= 0.4"
362
+ },
363
+ "funding": {
364
+ "url": "https://github.com/sponsors/ljharb"
365
+ }
366
+ },
367
+ "node_modules/has-symbols": {
368
+ "version": "1.1.0",
369
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
370
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
371
+ "engines": {
372
+ "node": ">= 0.4"
373
+ },
374
+ "funding": {
375
+ "url": "https://github.com/sponsors/ljharb"
376
+ }
377
+ },
378
+ "node_modules/hasown": {
379
+ "version": "2.0.2",
380
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
381
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
382
+ "dependencies": {
383
+ "function-bind": "^1.1.2"
384
+ },
385
+ "engines": {
386
+ "node": ">= 0.4"
387
+ }
388
+ },
389
+ "node_modules/http-errors": {
390
+ "version": "2.0.1",
391
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
392
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
393
+ "dependencies": {
394
+ "depd": "~2.0.0",
395
+ "inherits": "~2.0.4",
396
+ "setprototypeof": "~1.2.0",
397
+ "statuses": "~2.0.2",
398
+ "toidentifier": "~1.0.1"
399
+ },
400
+ "engines": {
401
+ "node": ">= 0.8"
402
+ },
403
+ "funding": {
404
+ "type": "opencollective",
405
+ "url": "https://opencollective.com/express"
406
+ }
407
+ },
408
+ "node_modules/iconv-lite": {
409
+ "version": "0.4.24",
410
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
411
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
412
+ "dependencies": {
413
+ "safer-buffer": ">= 2.1.2 < 3"
414
+ },
415
+ "engines": {
416
+ "node": ">=0.10.0"
417
+ }
418
+ },
419
+ "node_modules/inherits": {
420
+ "version": "2.0.4",
421
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
422
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
423
+ },
424
+ "node_modules/ipaddr.js": {
425
+ "version": "1.9.1",
426
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
427
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
428
+ "engines": {
429
+ "node": ">= 0.10"
430
+ }
431
+ },
432
+ "node_modules/math-intrinsics": {
433
+ "version": "1.1.0",
434
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
435
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
436
+ "engines": {
437
+ "node": ">= 0.4"
438
+ }
439
+ },
440
+ "node_modules/media-typer": {
441
+ "version": "0.3.0",
442
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
443
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
444
+ "engines": {
445
+ "node": ">= 0.6"
446
+ }
447
+ },
448
+ "node_modules/merge-descriptors": {
449
+ "version": "1.0.3",
450
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
451
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
452
+ "funding": {
453
+ "url": "https://github.com/sponsors/sindresorhus"
454
+ }
455
+ },
456
+ "node_modules/methods": {
457
+ "version": "1.1.2",
458
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
459
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
460
+ "engines": {
461
+ "node": ">= 0.6"
462
+ }
463
+ },
464
+ "node_modules/mime": {
465
+ "version": "1.6.0",
466
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
467
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
468
+ "bin": {
469
+ "mime": "cli.js"
470
+ },
471
+ "engines": {
472
+ "node": ">=4"
473
+ }
474
+ },
475
+ "node_modules/mime-db": {
476
+ "version": "1.52.0",
477
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
478
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
479
+ "engines": {
480
+ "node": ">= 0.6"
481
+ }
482
+ },
483
+ "node_modules/mime-types": {
484
+ "version": "2.1.35",
485
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
486
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
487
+ "dependencies": {
488
+ "mime-db": "1.52.0"
489
+ },
490
+ "engines": {
491
+ "node": ">= 0.6"
492
+ }
493
+ },
494
+ "node_modules/moment": {
495
+ "version": "2.30.1",
496
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
497
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
498
+ "engines": {
499
+ "node": "*"
500
+ }
501
+ },
502
+ "node_modules/ms": {
503
+ "version": "2.0.0",
504
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
505
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
506
+ },
507
+ "node_modules/negotiator": {
508
+ "version": "0.6.3",
509
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
510
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
511
+ "engines": {
512
+ "node": ">= 0.6"
513
+ }
514
+ },
515
+ "node_modules/node-hook": {
516
+ "version": "1.0.0",
517
+ "resolved": "https://registry.npmjs.org/node-hook/-/node-hook-1.0.0.tgz",
518
+ "integrity": "sha512-tBTIHwkzXvbesP0fY495VsqSWCOS5Ttt5+mAmeqUC1yglCiSYarNewfi2Q+HOL+M6pZYYqwGU6jIi5+gIHQbpg=="
519
+ },
520
+ "node_modules/object-inspect": {
521
+ "version": "1.13.4",
522
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
523
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
524
+ "engines": {
525
+ "node": ">= 0.4"
526
+ },
527
+ "funding": {
528
+ "url": "https://github.com/sponsors/ljharb"
529
+ }
530
+ },
531
+ "node_modules/on-finished": {
532
+ "version": "2.4.1",
533
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
534
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
535
+ "dependencies": {
536
+ "ee-first": "1.1.1"
537
+ },
538
+ "engines": {
539
+ "node": ">= 0.8"
540
+ }
541
+ },
542
+ "node_modules/parseurl": {
543
+ "version": "1.3.3",
544
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
545
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
546
+ "engines": {
547
+ "node": ">= 0.8"
548
+ }
549
+ },
550
+ "node_modules/path-to-regexp": {
551
+ "version": "0.1.12",
552
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
553
+ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="
554
+ },
555
+ "node_modules/proxy-addr": {
556
+ "version": "2.0.7",
557
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
558
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
559
+ "dependencies": {
560
+ "forwarded": "0.2.0",
561
+ "ipaddr.js": "1.9.1"
562
+ },
563
+ "engines": {
564
+ "node": ">= 0.10"
565
+ }
566
+ },
567
+ "node_modules/qs": {
568
+ "version": "6.14.1",
569
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
570
+ "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
571
+ "dependencies": {
572
+ "side-channel": "^1.1.0"
573
+ },
574
+ "engines": {
575
+ "node": ">=0.6"
576
+ },
577
+ "funding": {
578
+ "url": "https://github.com/sponsors/ljharb"
579
+ }
580
+ },
581
+ "node_modules/range-parser": {
582
+ "version": "1.2.1",
583
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
584
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
585
+ "engines": {
586
+ "node": ">= 0.6"
587
+ }
588
+ },
589
+ "node_modules/raw-body": {
590
+ "version": "2.5.3",
591
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
592
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
593
+ "dependencies": {
594
+ "bytes": "~3.1.2",
595
+ "http-errors": "~2.0.1",
596
+ "iconv-lite": "~0.4.24",
597
+ "unpipe": "~1.0.0"
598
+ },
599
+ "engines": {
600
+ "node": ">= 0.8"
601
+ }
602
+ },
603
+ "node_modules/safe-buffer": {
604
+ "version": "5.2.1",
605
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
606
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
607
+ "funding": [
608
+ {
609
+ "type": "github",
610
+ "url": "https://github.com/sponsors/feross"
611
+ },
612
+ {
613
+ "type": "patreon",
614
+ "url": "https://www.patreon.com/feross"
615
+ },
616
+ {
617
+ "type": "consulting",
618
+ "url": "https://feross.org/support"
619
+ }
620
+ ]
621
+ },
622
+ "node_modules/safer-buffer": {
623
+ "version": "2.1.2",
624
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
625
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
626
+ },
627
+ "node_modules/scribbles": {
628
+ "version": "1.6.0",
629
+ "resolved": "https://registry.npmjs.org/scribbles/-/scribbles-1.6.0.tgz",
630
+ "integrity": "sha512-FasByCJi/uyfFa6ZEZZEtyRZG1/nTz5kHxGFZyrQO/JjD0bGZd+n8B+oVmq4Qk870xY2nV81H6Rqbfg9G9Kt6g==",
631
+ "dependencies": {
632
+ "@ashleyw/cls-hooked": "^5.0.1",
633
+ "moment": "^2.24.0",
634
+ "node-hook": "^1.0.0",
635
+ "source-map-support": "^0.5.21",
636
+ "string-template": "^1.0.0"
637
+ }
638
+ },
639
+ "node_modules/send": {
640
+ "version": "0.19.2",
641
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
642
+ "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
643
+ "dependencies": {
644
+ "debug": "2.6.9",
645
+ "depd": "2.0.0",
646
+ "destroy": "1.2.0",
647
+ "encodeurl": "~2.0.0",
648
+ "escape-html": "~1.0.3",
649
+ "etag": "~1.8.1",
650
+ "fresh": "~0.5.2",
651
+ "http-errors": "~2.0.1",
652
+ "mime": "1.6.0",
653
+ "ms": "2.1.3",
654
+ "on-finished": "~2.4.1",
655
+ "range-parser": "~1.2.1",
656
+ "statuses": "~2.0.2"
657
+ },
658
+ "engines": {
659
+ "node": ">= 0.8.0"
660
+ }
661
+ },
662
+ "node_modules/send/node_modules/ms": {
663
+ "version": "2.1.3",
664
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
665
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
666
+ },
667
+ "node_modules/serve-static": {
668
+ "version": "1.16.3",
669
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
670
+ "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
671
+ "dependencies": {
672
+ "encodeurl": "~2.0.0",
673
+ "escape-html": "~1.0.3",
674
+ "parseurl": "~1.3.3",
675
+ "send": "~0.19.1"
676
+ },
677
+ "engines": {
678
+ "node": ">= 0.8.0"
679
+ }
680
+ },
681
+ "node_modules/setprototypeof": {
682
+ "version": "1.2.0",
683
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
684
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
685
+ },
686
+ "node_modules/shimmer": {
687
+ "version": "1.2.1",
688
+ "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz",
689
+ "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="
690
+ },
691
+ "node_modules/side-channel": {
692
+ "version": "1.1.0",
693
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
694
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
695
+ "dependencies": {
696
+ "es-errors": "^1.3.0",
697
+ "object-inspect": "^1.13.3",
698
+ "side-channel-list": "^1.0.0",
699
+ "side-channel-map": "^1.0.1",
700
+ "side-channel-weakmap": "^1.0.2"
701
+ },
702
+ "engines": {
703
+ "node": ">= 0.4"
704
+ },
705
+ "funding": {
706
+ "url": "https://github.com/sponsors/ljharb"
707
+ }
708
+ },
709
+ "node_modules/side-channel-list": {
710
+ "version": "1.0.0",
711
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
712
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
713
+ "dependencies": {
714
+ "es-errors": "^1.3.0",
715
+ "object-inspect": "^1.13.3"
716
+ },
717
+ "engines": {
718
+ "node": ">= 0.4"
719
+ },
720
+ "funding": {
721
+ "url": "https://github.com/sponsors/ljharb"
722
+ }
723
+ },
724
+ "node_modules/side-channel-map": {
725
+ "version": "1.0.1",
726
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
727
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
728
+ "dependencies": {
729
+ "call-bound": "^1.0.2",
730
+ "es-errors": "^1.3.0",
731
+ "get-intrinsic": "^1.2.5",
732
+ "object-inspect": "^1.13.3"
733
+ },
734
+ "engines": {
735
+ "node": ">= 0.4"
736
+ },
737
+ "funding": {
738
+ "url": "https://github.com/sponsors/ljharb"
739
+ }
740
+ },
741
+ "node_modules/side-channel-weakmap": {
742
+ "version": "1.0.2",
743
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
744
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
745
+ "dependencies": {
746
+ "call-bound": "^1.0.2",
747
+ "es-errors": "^1.3.0",
748
+ "get-intrinsic": "^1.2.5",
749
+ "object-inspect": "^1.13.3",
750
+ "side-channel-map": "^1.0.1"
751
+ },
752
+ "engines": {
753
+ "node": ">= 0.4"
754
+ },
755
+ "funding": {
756
+ "url": "https://github.com/sponsors/ljharb"
757
+ }
758
+ },
759
+ "node_modules/source-map": {
760
+ "version": "0.6.1",
761
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
762
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
763
+ "engines": {
764
+ "node": ">=0.10.0"
765
+ }
766
+ },
767
+ "node_modules/source-map-support": {
768
+ "version": "0.5.21",
769
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
770
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
771
+ "dependencies": {
772
+ "buffer-from": "^1.0.0",
773
+ "source-map": "^0.6.0"
774
+ }
775
+ },
776
+ "node_modules/statuses": {
777
+ "version": "2.0.2",
778
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
779
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
780
+ "engines": {
781
+ "node": ">= 0.8"
782
+ }
783
+ },
784
+ "node_modules/string-template": {
785
+ "version": "1.0.0",
786
+ "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz",
787
+ "integrity": "sha512-SLqR3GBUXuoPP5MmYtD7ompvXiG87QjT6lzOszyXjTM86Uu7At7vNnt2xgyTLq5o9T4IxTYFyGxcULqpsmsfdg=="
788
+ },
789
+ "node_modules/toidentifier": {
790
+ "version": "1.0.1",
791
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
792
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
793
+ "engines": {
794
+ "node": ">=0.6"
795
+ }
796
+ },
797
+ "node_modules/type-is": {
798
+ "version": "1.6.18",
799
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
800
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
801
+ "dependencies": {
802
+ "media-typer": "0.3.0",
803
+ "mime-types": "~2.1.24"
804
+ },
805
+ "engines": {
806
+ "node": ">= 0.6"
807
+ }
808
+ },
809
+ "node_modules/unpipe": {
810
+ "version": "1.0.0",
811
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
812
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
813
+ "engines": {
814
+ "node": ">= 0.8"
815
+ }
816
+ },
817
+ "node_modules/utils-merge": {
818
+ "version": "1.0.1",
819
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
820
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
821
+ "engines": {
822
+ "node": ">= 0.4.0"
823
+ }
824
+ },
825
+ "node_modules/vary": {
826
+ "version": "1.1.2",
827
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
828
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
829
+ "engines": {
830
+ "node": ">= 0.8"
831
+ }
832
+ }
833
+ }
834
+ }