diff --git a/index.js b/index.js deleted file mode 100644 index 78e6bf6..0000000 --- a/index.js +++ /dev/null @@ -1,273 +0,0 @@ -let secret - -addEventListener('fetch', (event) => { - event.respondWith(handleRequest(event)) -}) - -/** - * Respond to the request - * @param {Event} event - */ -async function handleRequest(event) { - const { request } = event - // Set this in your worker's environment. wrangler.toml or cloudflare dashboard - if (WORKERLINKS_SECRET === undefined) { - return new Response('Secret is not defined. Please add WORKERLINKS_SECRET.') - } else { - secret = WORKERLINKS_SECRET - } - - let path = new URL(request.url).pathname - // Trim trailing slash - let key = path !== '/' ? path.replace(/\/$/, '') : path - let shorturl = new URL(key, request.url).origin - - if (request.method == 'PUT') { - return await putLink( - request.headers.get('Authorization'), - shorturl, - key, - request.headers.get('URL'), - ) - } else if (request.method == 'POST') { - if (key != '/') { - return Response.json( - { - code: '405 Method Not Allowed', - message: 'POST not valid for individual keys. Did you mean PUT?', - }, - { - status: 405, - }, - ) - } - const body = await request.text() - - if (!body) { - key = '/' + Math.random().toString(36).slice(5) - shorturl = new URL(key, request.url) - return await putLink( - request.headers.get('Authorization'), - shorturl, - key, - request.headers.get('URL'), - ) - } else { - if (request.headers.get('Authorization') != secret) { - return Response.json( - { - code: '401 Unauthorized', - message: 'Unauthorized.', - }, - { - status: 401, - }, - ) - } - - let json - try { - json = JSON.parse(body) - } catch { - return Response.json( - { - code: '400 Bad Request', - message: 'Body must be valid JSON, or none at all.', - }, - { - status: 400, - }, - ) - } - - const valid = validateBulkBody(json) - if (!valid) { - return Response.json( - { - code: '400 Bad Request', - message: - 'Body must be a standard JSON object mapping keys to urls.', - example: { - '/short': 'https://example.com/really-really-really-long-1', - '/other': 'https://subdomain.example.com/and-some-long-path', - }, - }, - { status: 400 }, - ) - } - - for (const [key, url] of Object.entries(json)) { - await kv.put(key, url) - } - - return Response.json( - { - message: 'URLs created successfully', - entries: Object.entries(json).map(([key, longurl]) => ({ - key: key.slice(1), - shorturl: new URL(key, request.url), - longurl, - })), - }, - { status: 200 }, - ) - } - } else if (request.method == 'GET' || request.method == 'HEAD') { - let url = await kv.get(key) - if (url == null) { - return Response.json( - { - code: '404 Not Found', - message: 'Key does not exist or has not propagated.', - }, - { - status: 404, - }, - ) - } else { - // PLAUSIBLE_HOST should be the full URL to your Plausible Analytics instance - // e.g. https://plausible.io/ - if (typeof PLAUSIBLE_HOST !== 'undefined') { - const url = PLAUSIBLE_HOST + 'api/event' - const headers = new Headers() - headers.append('User-Agent', request.headers.get('User-Agent')) - headers.append( - 'X-Forwarded-For', - request.headers.get('X-Forwarded-For'), - ) - headers.append('Content-Type', 'application/json') - - const data = { - name: 'pageview', - url: request.url, - domain: new URL(request.url).hostname, - referrer: request.referrer, - } - event.waitUntil( - fetch(url, { method: 'POST', headers, body: JSON.stringify(data) }), - ) - } - - const searchParams = new URL(request.url).searchParams - url = new URL(url) - searchParams.forEach((value, key) => { - url.searchParams.append(key, value) - }) - - return new Response(null, { status: 302, headers: { Location: url } }) - } - } else if (request.method == 'DELETE') { - if (request.headers.get('Authorization') != secret) { - return Response.json( - { - code: '401 Unauthorized', - message: 'Unauthorized.', - }, - { - status: 401, - }, - ) - } - - shorturl = new URL(key, request.url) - let url = await kv.get(key) - if (url == null) { - return Response.json( - { - code: '404 Not Found', - message: 'Key does not exist or has not propagated.', - }, - { - status: 404, - }, - ) - } else { - await kv.delete(key) - return Response.json( - { - message: 'Short URL deleted succesfully.', - key: key.slice(1), - shorturl: shorturl, - longurl: url, - }, - { - status: 200, - }, - ) - } - } - - return Response.json( - { - code: '405 Method Not Allowed', - message: - 'Unsupported method. Please use one of GET, PUT, POST, DELETE, HEAD.', - }, - { - status: 405, - }, - ) -} - -function validateUrl(url) { - // quick and dirty validation - if (url == '') { - return false - } - try { - new URL(url) - } catch (TypeError) { - return false - } - return true -} - -// zod and other validation libs too -function validateBulkBody(body) { - // Starting `/` and no ending `/` - const keyRe = /^\/.*?[^\/]$/ - - if (!body || typeof body !== 'object' || Array.isArray(body)) return false - return Object.entries(body).every( - ([key, url]) => keyRe.test(key) && validateUrl(url), - ) -} - -async function putLink(givenSecret, shorturl, key, url) { - if (givenSecret != secret) { - return Response.json( - { - code: '401 Unauthorized', - message: 'Unauthorized.', - }, - { - status: 401, - }, - ) - } - - if (url == null || !validateUrl(url)) { - return Response.json( - { - code: '400 Bad Request', - message: "No valid URL given. Please set a 'URL' header.", - }, - { - status: 400, - }, - ) - } - - await kv.put(key, url) - return Response.json( - { - message: 'URL created succesfully.', - key: key.slice(1), - shorturl: shorturl, - longurl: url, - }, - { - status: 200, - }, - ) -} diff --git a/package.json b/package.json index 0278400..36dedcb 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,21 @@ { - "private": true, "name": "worker-links", - "version": "1.0.0", + "version": "2.0.0", "description": "Simple link shortener for Cloudflare Workers.", - "main": "index.js", - "scripts": { - "format": "prettier --write '**/*.{js,css,json,md}'", - "deploy": "wrangler publish", - "dev": "wrangler dev --local", - "addsecret": "wrangler secret put WORKERLINKS_SECRET" - }, "author": "Erisa A", "license": "MIT", + "scripts": { + "format": "prettier --write '**/*.{ts,js,css,json,md}'", + "deploy": "wrangler publish", + "dev": "wrangler dev", + "addsecret": "wrangler secret put WORKERLINKS_SECRET" + }, + "dependencies": { + "hono": "^3.0.2" + }, "devDependencies": { - "prettier": "^2.6.1", - "wrangler": "^2.6.2" + "@cloudflare/workers-types": "^4.20221111.1", + "prettier": "^2.8.4", + "wrangler": "^2.12.0" } -} +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..d54e4b0 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,270 @@ +import { Context, Hono } from "hono"; + +type Variables = { + path: string; + key: string; + shortUrl: string; +}; + +type Bindings = { + WORKERLINKS_SECRET: string; + KV: KVNamespace; + kv: KVNamespace; +}; + +type BulkUpload = { + [id: string]: string; +}; + +const app = new Hono<{ Variables: Variables; Bindings: Bindings }>(); + +// store the path, key and short url for reference in requeests +// e.g. c.get('key') +app.use("*", async (c, next) => { + const path = new URL(c.req.url).pathname; + let key = path !== "/" ? path.replace(/\/$/, "") : path; + let shortUrl = new URL(key, c.req.url).origin; + + c.set("path", path); + c.set("key", key); + c.set("shortUrl", shortUrl); + + // backwards compat + // i could have left env.kv alone, but i like them being CAPITALS. + // what can i say? + if (c.env.KV == undefined && c.env.kv !== undefined){ + c.env.KV = c.env.kv + console.warn('WARN: Please change your kv binding to be called KV.') + } + + await next(); +}); + +// handle auth +app.use("*", async (c, next) => { + if (c.env.WORKERLINKS_SECRET === undefined) { + return c.text("Secret is not defined. Please add WORKERLINKS_SECRET."); + } + + if ( + !["GET", "HEAD"].includes(c.req.method) && + c.req.headers.get("Authorization") !== c.env.WORKERLINKS_SECRET + ) { + return c.json({ code: "401 Unauthorized", message: "Unauthorized" }, 401); + } + + await next(); +}); + +// retrieve key +app.get("*", handleGetHead); + +// same but for HEAD +app.head("*", handleGetHead); + +// handle both GET and HEAD +async function handleGetHead(c: Context) { + // actual logic goes here + const urlResult = await c.env.KV.get(c.get("key")); + + if (urlResult == null) { + return c.json( + { code: "404 Not Found", message: " Key does not exist." }, + 404 + ); + } else { + const searchParams = new URL(c.req.url).searchParams; + const newUrl = new URL(urlResult); + searchParams.forEach((value, key) => { + newUrl.searchParams.append(key, value); + }); + + if (c.env.PLAUSIBLE_HOST !== undefined) { + c.executionCtx.waitUntil(sendToPlausible(c)); + } + + return c.redirect(newUrl.toString(), 302); + } +} + +// delete specific key +app.delete("*", async (c) => { + const urlResult = await c.env.KV.get(c.get("key")); + + if (urlResult == null) { + return c.json( + { code: "404 Not Found", message: " Key does not exist." }, + 404 + ); + } else { + await c.env.KV.delete(c.get("key")); + return c.json({ + message: "Short URL deleted succesfully.", + key: c.get("key").slice(1), + shorturl: c.get("shortUrl"), + longurl: urlResult, + }); + } +}); + +// add specific key +app.put("*", createLink); + +// add random key +app.post("/", async (c) => { + const body = await c.req.text(); + + if (!body) { + c.set("key", "/" + Math.random().toString(36).slice(5)); + c.set('shortUrl', new URL(c.get('key'), c.req.url)) + return await createLink(c); + } else { + // bulk upload from body + + // REMOVE THIS when bulk upload has been migrated + + return c.json({ + code: "501 Not Implemented", + message: "Bulk upload has not been reimplemented yet.", + }); + + // what type should this be??? + let json: any; + try { + json = JSON.parse(body); + } catch { + return c.json( + { + code: "400 Bad Request", + message: "Body must be valid JSON, or none at all.", + }, + 400 + ); + } + + // change this + const valid = true; //validateBulkBody(json); + if (!valid) { + return c.json( + { + code: "400 Bad Request", + message: "Body must be a standard JSON object mapping keys to urls.", + example: { + "/short": "https://example.com/really-really-really-long-1", + "/other": "https://subdomain.example.com/and-some-long-path", + }, + }, + 400 + ); + } + + for (const [key, url] of json.entries) { + await c.env.KV.put(key, url); + } + + return Response.json( + { + message: "URLs created successfully", + entries: Object.entries(json).map(([key, longurl]) => ({ + key: key.slice(1), + shorturl: new URL(key, c.req.url), + longurl, + })), + }, + { status: 200 } + ); + } +}); + +async function createLink(c: Context) { + const url = c.req.headers.get("URL"); + + if (url == null || !validateUrl(url)) { + return c.json( + { + code: "400 Bad Request", + message: "No valid URL given. Please set a 'URL' header.", + }, + 400 + ); + } + + await c.env.KV.put(c.get("key"), url); + return Response.json( + { + message: "URL created succesfully.", + key: c.get("key").slice(1), + shorturl: c.get("shortUrl"), + longurl: url, + }, + { + status: 200, + } + ); +} + +app.post("/*", async (c) => + c.json( + { + code: "405 Method Not Allowed", + message: "POST not valid for individual keys. Did you mean PUT?", + }, + 405 + ) +); + +app.all("*", (c) => + c.json( + { + code: "405 Method Not Allowed", + message: + "Unsupported method. Please use one of GET, PUT, POST, DELETE, HEAD.", + }, + 405 + ) +); + +export default app; + +// PLAUSIBLE_HOST should be the full URL to your Plausible Analytics instance +// e.g. https://plausible.io/ +async function sendToPlausible(c: Context) { + const url = c.env.PLAUSIBLE_HOST + "api/event"; + const headers = new Headers(); + headers.append("User-Agent", c.req.headers.get("User-Agent") || ""); + headers.append("X-Forwarded-For", c.req.headers.get("X-Forwarded-For") || ""); + headers.append("Content-Type", "application/json"); + + const data = { + name: "pageview", + url: c.req.url, + domain: new URL(c.req.url).hostname, + referrer: c.req.referrer, + }; + await fetch(url, { method: "POST", headers, body: JSON.stringify(data) }); +} + +function validateUrl(url: string) { + // quick and dirty validation + if (url == "") { + return false; + } + try { + new URL(url); + } catch (TypeError) { + return false; + } + return true; +} + +// zod and other validation libs too +// function validateBulkBody(body: Record) { +// // Starting `/` and no ending `/` +// const keyRe = /^\/.*?[^\/]$/; + +// if (!body || typeof body !== "object" || Array.isArray(body)) return false; +// return true; +// return body.map( +// ([key, url]) => keyRe.test(key) && validateUrl(url) +// ); +// } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..eab234a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "esModuleInterop": true, + "strict": true, + "lib": ["esnext"], + "types": ["@cloudflare/workers-types"], + "jsx": "react-jsx", + // "jsxFragmentFactory": "Fragment", + "jsxImportSource": "hono/jsx" + } +} diff --git a/wrangler.toml b/wrangler.toml index 05c60ab..ba93b5d 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,13 +1,12 @@ name = "worker-links" -main = "index.js" -no_bundle = true +main = "src/index.ts" # optional #logpush = true # Change these!! account_id = "ece1d09b06af2ced51407c97505ea0cc" -kv_namespaces = [ { binding = "kv", id = "1be44406edc142a084435e24dbf8ae1d", preview_id = "15cfb90ecd654b8f8a9ccd600832093f" }] +kv_namespaces = [ { binding = "KV", id = "1be44406edc142a084435e24dbf8ae1d", preview_id = "15cfb90ecd654b8f8a9ccd600832093f" }] compatibility_flags = [] compatibility_date = "2022-07-05" diff --git a/yarn.lock b/yarn.lock index cbcea81..815bef5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,214 +4,329 @@ "@cloudflare/kv-asset-handler@^0.2.0": version "0.2.0" - resolved "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz#c9959bbd7a1c40bd7c674adae98aa8c8d0e5ca68" integrity sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A== dependencies: mime "^3.0.0" +"@cloudflare/workers-types@^4.20221111.1": + version "4.20230228.0" + resolved "https://registry.yarnpkg.com/@cloudflare/workers-types/-/workers-types-4.20230228.0.tgz#f2311f4f8943f15d097426bcb9a0e7d3aa5b5c1d" + integrity sha512-tDaqH3DrKmDoe/YrCnzVSqjNH6GnUOOajv2Ztj2h7BPLFyYTb81iCkARgb+G4bpxhn7y4f1KxxDT2+Yp4rt7Hg== + "@esbuild-plugins/node-globals-polyfill@^0.1.1": version "0.1.1" - resolved "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.1.1.tgz#a313ab3efbb2c17c8ce376aa216c627c9b40f9d7" integrity sha512-MR0oAA+mlnJWrt1RQVQ+4VYuRJW/P2YmRTv1AsplObyvuBMnPHiizUF95HHYiSsMGLhyGtWufaq2XQg6+iurBg== "@esbuild-plugins/node-modules-polyfill@^0.1.4": version "0.1.4" - resolved "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.1.4.tgz#eb2f55da11967b2986c913f1a7957d1c868849c0" integrity sha512-uZbcXi0zbmKC/050p3gJnne5Qdzw8vkXIv+c2BW0Lsc1ji1SkrxbKPUy5Efr0blbTu1SL8w4eyfpnSdPg3G0Qg== dependencies: escape-string-regexp "^4.0.0" rollup-plugin-node-polyfills "^0.2.1" +"@esbuild/android-arm64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.3.tgz#6af6d16be6d534d776a51fc215bfd81a68906d2c" + integrity sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg== + +"@esbuild/android-arm@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.3.tgz#2a091222f3b1928e3246fb3c5202eaca88baab67" + integrity sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA== + +"@esbuild/android-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.3.tgz#a6d749c58b022d371dc40d50ac1bb4aebd1eb953" + integrity sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ== + +"@esbuild/darwin-arm64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.3.tgz#92d1826ed2f21dcac5830b70d7215c6afbb744e2" + integrity sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw== + +"@esbuild/darwin-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.3.tgz#7fc3570c2b16e9ff4fc178593a0a4adb1ae8ea57" + integrity sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ== + +"@esbuild/freebsd-arm64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.3.tgz#16735ce16f8c9a4e7289e9e259aa01a8d9874307" + integrity sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw== + +"@esbuild/freebsd-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.3.tgz#f4edd1464cb072799ed6b8ab5178478e71c13459" + integrity sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug== + +"@esbuild/linux-arm64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.3.tgz#4b7ae6fe3618d9a40d6ca39c6edc991ac1447203" + integrity sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ== + +"@esbuild/linux-arm@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.3.tgz#4b3e9f849822e16a76a70844c4db68075b259a58" + integrity sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ== + +"@esbuild/linux-ia32@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.3.tgz#2ff3936b91bfff62f9ecf7f6411ef399b29ed22d" + integrity sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA== + +"@esbuild/linux-loong64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.3.tgz#ff8aa59f49d9ccbc1ff952ba1f5cd01a534562df" + integrity sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw== + +"@esbuild/linux-mips64el@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.3.tgz#5dd5e118071c3912df69beedbfd11fb117f0fe5e" + integrity sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw== + +"@esbuild/linux-ppc64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.3.tgz#36c62e24eae7fa3f0d921506da8fc1e6098a1364" + integrity sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q== + +"@esbuild/linux-riscv64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.3.tgz#f0fec8e7affb5bcc817fefc61a21cbb95539e393" + integrity sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ== + +"@esbuild/linux-s390x@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.3.tgz#22e10edd6e91f53c2e1f60e46abd453d7794409b" + integrity sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ== + +"@esbuild/linux-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.3.tgz#38388b73fd9eebe45b073d7d8099b9c2e54f7139" + integrity sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w== + +"@esbuild/netbsd-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.3.tgz#e0270569567f1530b8dbe6d11d5b4930b9cc71ae" + integrity sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA== + +"@esbuild/openbsd-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.3.tgz#3b16642d443848bca605f33ee3978a1890911e6d" + integrity sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg== + +"@esbuild/sunos-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.3.tgz#a838f247867380f0ae25ce1936dc5ab6f57b7734" + integrity sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw== + +"@esbuild/win32-arm64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.3.tgz#bedd9bef5fb41f89ce2599f1761973cf6d6a67b6" + integrity sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg== + +"@esbuild/win32-ia32@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.3.tgz#49800aa812d8cc35ceef61e8d3b01224684cc0b1" + integrity sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ== + +"@esbuild/win32-x64@0.16.3": + version "0.16.3" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.3.tgz#94047dae921949cfb308117d993c4b941291ae10" + integrity sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow== + "@iarna/toml@^2.2.5": version "2.2.5" - resolved "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz" + resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== -"@miniflare/cache@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/cache/-/cache-2.10.0.tgz" - integrity sha512-nzEqFVPnD7Yf0HMDv7gCPpf4NSXfjhc+zg3gSwUS4Dad5bWV10B1ujTZW6HxQulW3CBHIg616mTjXIiaimVuEQ== +"@miniflare/cache@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/cache/-/cache-2.12.1.tgz#dbbd0e93282bc32df917161130178262ec7350b3" + integrity sha512-6Pj5avy53qULTa13gWxGTDBuwX0yAzr4Zkzb0ZBh40bcbHp4vRkOk7PvHBoxV0M76JxQDHotGaW+ik510z5Xrg== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" http-cache-semantics "^4.1.0" - undici "5.9.1" + undici "5.20.0" -"@miniflare/cli-parser@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.10.0.tgz" - integrity sha512-NAiCtqlHTUKCmV+Jl9af+ixGmMhiGhIyIfr/vCdbismNEBxEsrQGg3sQYTNfvCkdHtODurQqayQreFq21OuEow== +"@miniflare/cli-parser@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/cli-parser/-/cli-parser-2.12.1.tgz#c73d027ca01822511003b7e2b3caabe14282411c" + integrity sha512-iCh4wEyQow8Dha+zpKhjCCXEp6QWbsvE18H5CgeUFT1pX4B+akYIHzdn47Cr5zpuYyjenoL78bAz0IIHIeyeWw== dependencies: - "@miniflare/shared" "2.10.0" + "@miniflare/shared" "2.12.1" kleur "^4.1.4" -"@miniflare/core@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/core/-/core-2.10.0.tgz" - integrity sha512-Jx1M5oXQua0jzsJVdZSq07baVRmGC/6JkglrPQGAlZ7gQ1sunVZzq9fjxFqj0bqfEuYS0Wy6+lvK4rOAHISIjw== +"@miniflare/core@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/core/-/core-2.12.1.tgz#8fecd897c1e5b32af6a7a288bfbf407b233ebb61" + integrity sha512-729xXL6uoMgtja5J7B2WdWAjFfxb74Pk2QqM3VqkWqY3XNlKWI7+ofvb8S6kI6uFEPGj4ma263uYkEAgsvzBWg== dependencies: "@iarna/toml" "^2.2.5" - "@miniflare/queues" "2.10.0" - "@miniflare/shared" "2.10.0" - "@miniflare/watcher" "2.10.0" + "@miniflare/queues" "2.12.1" + "@miniflare/shared" "2.12.1" + "@miniflare/watcher" "2.12.1" busboy "^1.6.0" dotenv "^10.0.0" kleur "^4.1.4" set-cookie-parser "^2.4.8" - undici "5.9.1" + undici "5.20.0" urlpattern-polyfill "^4.0.3" -"@miniflare/d1@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/d1/-/d1-2.10.0.tgz" - integrity sha512-mOYZSmpTthH0tmFTQ+O9G0Q+iDAd7oiUtoIBianlKa9QiqYAoO7EBUPy6kUgDHXapOcN5Ri1u3J5UTpxXvw3qg== +"@miniflare/d1@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/d1/-/d1-2.12.1.tgz#2a65b540d4b2834ddc6b0603425627841803081d" + integrity sha512-2ldT7xEC7KxoaEJ7nCY9/AB/xwPjbm3mrmpiIspT0b5OgS640Pe9EU4c5bSmzGoUbLvwF+jb+LhLE1QaEbWkBw== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" -"@miniflare/durable-objects@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.10.0.tgz" - integrity sha512-gU45f52gveFtCasm0ixYnt0mHI1lHrPomtmF+89oZGKBzOqUfO5diDs6wmoRSnovOWZCwtmwQGRoorAQN7AmoA== +"@miniflare/durable-objects@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/durable-objects/-/durable-objects-2.12.1.tgz#8aa6416593db23dec0c493b2a3a6c81711163034" + integrity sha512-/n9WIxvHavVUgT+Nf280wNOcmJQBG+eZuqOlORWW9RmXXbAzqzS2Mk2lmRDCzbq3xTXAcsndx6cdarQLNRUzBg== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" - "@miniflare/storage-memory" "2.10.0" - undici "5.9.1" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" + "@miniflare/storage-memory" "2.12.1" + undici "5.20.0" -"@miniflare/html-rewriter@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.10.0.tgz" - integrity sha512-hCdG99L8+Ros4dn3B5H37PlQPBH0859EoRslzNTd4jzGIkwdiawpJvrvesL8056GjbUjeJN1zh7OPBRuMgyGLw== +"@miniflare/html-rewriter@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/html-rewriter/-/html-rewriter-2.12.1.tgz#dff885c14c590c6e0b8a438054de1ab2f05daa85" + integrity sha512-yezYzGRBxy7d/oomAUEftdnL4fq6YIek82LtQlXgzcdcbBDnkYADj8WqGV41tAI+V2+rjrFEc1RuCXx/I1yISw== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" html-rewriter-wasm "^0.4.1" - undici "5.9.1" + undici "5.20.0" -"@miniflare/http-server@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.10.0.tgz" - integrity sha512-cm6hwkONucll93yoY8dteMp//Knvmb7n6zAgeHrtuNYKn//lAL6bRY//VLTttrMmfWxZFi1C7WpOeCv8Mn6/ug== +"@miniflare/http-server@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/http-server/-/http-server-2.12.1.tgz#88bd62798d01459771d1b595cdc20811c3df00dc" + integrity sha512-nC6POgDKFHxnyXbKCdR9FGZSsu5frXQUETvSVcoETd5RP+Iws0xZ+XkzVMqiiIZk3ifUC9LzdGUOD0J2PlhHJw== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" - "@miniflare/web-sockets" "2.10.0" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" + "@miniflare/web-sockets" "2.12.1" kleur "^4.1.4" selfsigned "^2.0.0" - undici "5.9.1" + undici "5.20.0" ws "^8.2.2" youch "^2.2.2" -"@miniflare/kv@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/kv/-/kv-2.10.0.tgz" - integrity sha512-3+u1lO77FnlS0lQ6b1VgM1E/ZgQ/zy/FU+SdBG5LUOIiv3x522VYHOApeJLnSEo0KtZUB22Ni0fWQM6DgpaREg== +"@miniflare/kv@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/kv/-/kv-2.12.1.tgz#51e28ac5e478323bc482bf3d20e33de37b061f07" + integrity sha512-8h8wLDMEaWaKAqYTwrckOcNjAz52bzDyLmU4t/lh1/AQOE9eSg/T+H6xQCv0fPGrWPeHmG8iXaFI1JQ+CtkcHw== dependencies: - "@miniflare/shared" "2.10.0" + "@miniflare/shared" "2.12.1" -"@miniflare/queues@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/queues/-/queues-2.10.0.tgz" - integrity sha512-WKdO6qI9rfS96KlCjazzPFf+qj6DPov4vONyf18+jzbRjRJh/xwWSk1/1h5A+gDPwVNG8TsNRPh9DW5OKBGNjw== +"@miniflare/queues@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/queues/-/queues-2.12.1.tgz#b78ef4e4e1db6d3f4c1069f9de08ad1d2d90c713" + integrity sha512-L/YJkWWvg1RS3sCB5DLZOsf/kAmkwhvshpl+LmGQT7z/PYXlplbBmuhPwVBXaHqZdYE7063XfTzgAIhVPoo72Q== dependencies: - "@miniflare/shared" "2.10.0" + "@miniflare/shared" "2.12.1" -"@miniflare/r2@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/r2/-/r2-2.10.0.tgz" - integrity sha512-uC1CCWbwM1t8DdpZgrveg6+CkZLfTq+wUMqs20BC5rCT8u8UyRv6ZVRQ7pTPiswLyt1oYDTXsZJK7tjV0U0zew== +"@miniflare/r2@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/r2/-/r2-2.12.1.tgz#5a5e234484814e558da5fd0505bcd65e60b9c7c3" + integrity sha512-xp8fSSap6o5xSAWp9BtOGgZ4tuf5iHTqrfbAH66LF151j8y69eQtQJ5pxpSvrDJok/F1VOLGc4ihSLmUqxyXhw== dependencies: - "@miniflare/shared" "2.10.0" - undici "5.9.1" + "@miniflare/shared" "2.12.1" + undici "5.20.0" -"@miniflare/runner-vm@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.10.0.tgz" - integrity sha512-oTsHitQdQ1B1kT3G/6n9AEXsMd/sT1D8tLGzc7Xr79ZrxYxwRO0ATF3cdkxk4dUjUqg/RUqvOJV4YjJGyqvctg== +"@miniflare/runner-vm@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/runner-vm/-/runner-vm-2.12.1.tgz#b7c3dd7a5be749eda0945f751e688f98ed897ffb" + integrity sha512-pGY/aoQzbvyXOGR6/d3hv5/QsyUXGGbOxAyXdvjlz8h7ZiKOX4dBRS5TUAPS0kb/ofUWCyoYJi8dCVwRGdTYRw== dependencies: - "@miniflare/shared" "2.10.0" + "@miniflare/shared" "2.12.1" -"@miniflare/scheduler@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.10.0.tgz" - integrity sha512-eGt2cZFE/yo585nT8xINQwdbTotZfeRIh6FUWmZkbva1i5SW0zTiOojr5a95vAGBF3TzwWGsUuzJpLhBB69a/g== +"@miniflare/scheduler@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/scheduler/-/scheduler-2.12.1.tgz#89f2fddb9edc398736ff2286803cc0b0ae39dedb" + integrity sha512-AbOP8YpWNqR/t7zMuTmn6q27USCDBQaYaULRVaNNfCsxMTXAUjYfM85iFvnV9mshw+K0HIEU4zR4Xjd2FeJubg== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" cron-schedule "^3.0.4" -"@miniflare/shared@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/shared/-/shared-2.10.0.tgz" - integrity sha512-GDSweEhJ3nNtStGm6taZGUNytM0QTQ/sjZSedAKyF1/aHRaZUcD9cuKAMgIbSpKfvgGdLMNS7Bhd8jb249TO7g== +"@miniflare/shared@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/shared/-/shared-2.12.1.tgz#11f6c40bdc289662c4ac40feb1aba226c6fb45d4" + integrity sha512-N8sHNM5vcvjvO+znQ7Mbqf0FChRlWxy/svUpQf1GGpii9aTXzOTWB+WkFvJrJNx44SUReEGxUAzxpdeWnHahmA== dependencies: "@types/better-sqlite3" "^7.6.0" kleur "^4.1.4" - npx-import "^1.1.3" + npx-import "^1.1.4" picomatch "^2.3.1" -"@miniflare/sites@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/sites/-/sites-2.10.0.tgz" - integrity sha512-1NVAT6+JS2OubL+pOOR5E/6MMddxQHWMi/yIDSumyyfXmj7Sm7n5dE1FvNPetggMP4f8+AjoyT9AYvdd1wkspQ== +"@miniflare/sites@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/sites/-/sites-2.12.1.tgz#762252979f314fa8b6655e1fe92a1c259ece919b" + integrity sha512-LW4r82cfGJvmJFwoBdXfsRcdDggVf8ppjMZGU3zk7xo+u5yD1uHzO2Arf3XbKNiOp7f9WyC/mXxs4zxF605iLA== dependencies: - "@miniflare/kv" "2.10.0" - "@miniflare/shared" "2.10.0" - "@miniflare/storage-file" "2.10.0" + "@miniflare/kv" "2.12.1" + "@miniflare/shared" "2.12.1" + "@miniflare/storage-file" "2.12.1" -"@miniflare/storage-file@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.10.0.tgz" - integrity sha512-K/cRIWiTl4+Z+VO6tl4VfuYXA3NLJgvGPV+BCRYD7uTKuPYHqDMErtD1BI1I7nc3WJhwIXfzJrAR3XXhSKKWQQ== +"@miniflare/storage-file@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/storage-file/-/storage-file-2.12.1.tgz#7784654085fea0e06938ba2654491a256da2b0d8" + integrity sha512-eq5wzBwxQC5GVxBfji9svb9FRdSOlA8D8DTgzL29DDjuOYtG9j8ydOlo0J7/2MB/Gq0HYFUHYWHhrklzzwdKQQ== dependencies: - "@miniflare/shared" "2.10.0" - "@miniflare/storage-memory" "2.10.0" + "@miniflare/shared" "2.12.1" + "@miniflare/storage-memory" "2.12.1" -"@miniflare/storage-memory@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.10.0.tgz" - integrity sha512-ZATU+qZtJ9yG0umgTrOEUi9SU//YyDb8nYXMgqT4JHODYA3RTz1SyyiQSOOz589upJPdu1LN+0j8W24WGRwwxQ== +"@miniflare/storage-memory@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/storage-memory/-/storage-memory-2.12.1.tgz#1d24b010010d3035d454947a49752f1c3df579df" + integrity sha512-E9jbrX0L9N7YIHXj2G4td1EKboVLBdHkwh7RvKEZBwOhxDze5h+jMOou57NIbfC5kLOZPOC1fGXjzpp7xUUE6w== dependencies: - "@miniflare/shared" "2.10.0" + "@miniflare/shared" "2.12.1" -"@miniflare/watcher@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.10.0.tgz" - integrity sha512-X9CFYYyszfSYDzs07KhbWC2i08Dpyh3D60fPonYZcoZAfa5h9eATHUdRGvNCdax7awYp4b8bvU8upAI//OPlMg== +"@miniflare/watcher@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/watcher/-/watcher-2.12.1.tgz#703f9fdd6b9d4c1e0b4f35a4039784f1425b7885" + integrity sha512-3IG/6g38id5ppbZHB/gMfEvoIEFYdmTTLRsHaPNyWIk/r3LMhHLluVsMcs+Lr/fphkPk6Diou4cBLD2GeeoP7A== dependencies: - "@miniflare/shared" "2.10.0" + "@miniflare/shared" "2.12.1" -"@miniflare/web-sockets@2.10.0": - version "2.10.0" - resolved "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.10.0.tgz" - integrity sha512-W+PrapdQqNEEFeD+amENgPQWcETGDp7OEh6JAoSzCRhHA0OoMe8DG0xb5a5+2FjGW/J7FFKsv84wkURpmFT4dQ== +"@miniflare/web-sockets@2.12.1": + version "2.12.1" + resolved "https://registry.yarnpkg.com/@miniflare/web-sockets/-/web-sockets-2.12.1.tgz#c90f89e21e5d0b6d819874008933d47fe60f5704" + integrity sha512-Z+zqZqhVdrbmTQf+ETP5H1TPdXC2tUiYPiHRLWTHUks6VVkuwnUtIKxNPBEBXjCjKYYEm8VLclUAt+0yTucLWA== dependencies: - "@miniflare/core" "2.10.0" - "@miniflare/shared" "2.10.0" - undici "5.9.1" + "@miniflare/core" "2.12.1" + "@miniflare/shared" "2.12.1" + undici "5.20.0" ws "^8.2.2" "@types/better-sqlite3@^7.6.0": version "7.6.3" - resolved "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.3.tgz" + resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-7.6.3.tgz#117c3c182e300799b84d1b7e1781c27d8d536505" integrity sha512-YS64N9SNDT/NAvou3QNdzAu3E2om/W/0dhORimtPGLef+zSK5l1vDzfsWb4xgXOgfhtOI5ZDTRxnvRPb22AIVQ== dependencies: "@types/node" "*" "@types/node@*": - version "18.11.17" - resolved "https://registry.npmjs.org/@types/node/-/node-18.11.17.tgz" - integrity sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng== + version "18.14.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.6.tgz#ae1973dd2b1eeb1825695bb11ebfb746d27e3e93" + integrity sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA== "@types/stack-trace@0.0.29": version "0.0.29" - resolved "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.29.tgz" + resolved "https://registry.yarnpkg.com/@types/stack-trace/-/stack-trace-0.0.29.tgz#eb7a7c60098edb35630ed900742a5ecb20cfcb4d" integrity sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g== anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -219,43 +334,43 @@ anymatch@~3.1.2: binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== blake3-wasm@^2.1.5: version "2.1.5" - resolved "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/blake3-wasm/-/blake3-wasm-2.1.5.tgz#b22dbb84bc9419ed0159caa76af4b1b132e6ba52" integrity sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g== braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== builtins@^5.0.0: version "5.0.1" - resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== dependencies: semver "^7.0.0" busboy@^1.6.0: version "1.6.0" - resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== dependencies: streamsearch "^1.1.0" chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -270,17 +385,17 @@ chokidar@^3.5.3: cookie@^0.4.1: version "0.4.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== cron-schedule@^3.0.4: version "3.0.6" - resolved "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/cron-schedule/-/cron-schedule-3.0.6.tgz#7d0a3ad9154112fc3720fe43238a43d50e8465e7" integrity sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg== cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -289,148 +404,50 @@ cross-spawn@^7.0.3: dotenv@^10.0.0: version "10.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== -esbuild-android-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db" - integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ== - -esbuild-android-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151" - integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A== - -esbuild-darwin-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754" - integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA== - -esbuild-darwin-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a" - integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow== - -esbuild-freebsd-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38" - integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g== - -esbuild-freebsd-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec" - integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg== - -esbuild-linux-32@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9" - integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w== - -esbuild-linux-64@0.14.51: - version "0.14.51" - resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz" - integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA== - -esbuild-linux-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93" - integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw== - -esbuild-linux-arm@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106" - integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg== - -esbuild-linux-mips64le@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385" - integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A== - -esbuild-linux-ppc64le@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0" - integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ== - -esbuild-linux-riscv64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93" - integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA== - -esbuild-linux-s390x@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" - integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== - -esbuild-netbsd-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891" - integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A== - -esbuild-openbsd-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8" - integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA== - -esbuild-sunos-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891" - integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA== - -esbuild-windows-32@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17" - integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg== - -esbuild-windows-64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d" - integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA== - -esbuild-windows-arm64@0.14.51: - version "0.14.51" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" - integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== - -esbuild@0.14.51: - version "0.14.51" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz" - integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== +esbuild@0.16.3: + version "0.16.3" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.3.tgz#5868632fa23f7a8547f2a4ea359c44e946515c94" + integrity sha512-71f7EjPWTiSguen8X/kxEpkAS7BFHwtQKisCDDV3Y4GLGWBaoSCyD5uXkaUew6JDzA9FEN1W23mdnSwW9kqCeg== optionalDependencies: - esbuild-android-64 "0.14.51" - esbuild-android-arm64 "0.14.51" - esbuild-darwin-64 "0.14.51" - esbuild-darwin-arm64 "0.14.51" - esbuild-freebsd-64 "0.14.51" - esbuild-freebsd-arm64 "0.14.51" - esbuild-linux-32 "0.14.51" - esbuild-linux-64 "0.14.51" - esbuild-linux-arm "0.14.51" - esbuild-linux-arm64 "0.14.51" - esbuild-linux-mips64le "0.14.51" - esbuild-linux-ppc64le "0.14.51" - esbuild-linux-riscv64 "0.14.51" - esbuild-linux-s390x "0.14.51" - esbuild-netbsd-64 "0.14.51" - esbuild-openbsd-64 "0.14.51" - esbuild-sunos-64 "0.14.51" - esbuild-windows-32 "0.14.51" - esbuild-windows-64 "0.14.51" - esbuild-windows-arm64 "0.14.51" + "@esbuild/android-arm" "0.16.3" + "@esbuild/android-arm64" "0.16.3" + "@esbuild/android-x64" "0.16.3" + "@esbuild/darwin-arm64" "0.16.3" + "@esbuild/darwin-x64" "0.16.3" + "@esbuild/freebsd-arm64" "0.16.3" + "@esbuild/freebsd-x64" "0.16.3" + "@esbuild/linux-arm" "0.16.3" + "@esbuild/linux-arm64" "0.16.3" + "@esbuild/linux-ia32" "0.16.3" + "@esbuild/linux-loong64" "0.16.3" + "@esbuild/linux-mips64el" "0.16.3" + "@esbuild/linux-ppc64" "0.16.3" + "@esbuild/linux-riscv64" "0.16.3" + "@esbuild/linux-s390x" "0.16.3" + "@esbuild/linux-x64" "0.16.3" + "@esbuild/netbsd-x64" "0.16.3" + "@esbuild/openbsd-x64" "0.16.3" + "@esbuild/sunos-x64" "0.16.3" + "@esbuild/win32-arm64" "0.16.3" + "@esbuild/win32-ia32" "0.16.3" + "@esbuild/win32-x64" "0.16.3" escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== estree-walker@^0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== execa@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== dependencies: cross-spawn "^7.0.3" @@ -445,7 +462,7 @@ execa@^6.1.0: fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: to-regex-range "^5.0.1" @@ -457,156 +474,161 @@ fsevents@~2.3.2: get-stream@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +hono@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/hono/-/hono-3.0.3.tgz#26b62bece753941dd3d290d03ff3338f71535017" + integrity sha512-6Lb/TPH7Me1GAjFR7k/duzTcHS5y+rxFyL6Ky0kYQQlu92l99t53CFMVcdNUpHeStarPOs4Uzl413zIvxaI15A== + html-rewriter-wasm@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/html-rewriter-wasm/-/html-rewriter-wasm-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/html-rewriter-wasm/-/html-rewriter-wasm-0.4.1.tgz#235e3d96c1aa4bfd2182661ee13881e290ff5ff2" integrity sha512-lNovG8CMCCmcVB1Q7xggMSf7tqPCijZXaH4gL6iE8BFghdQCbaY5Met9i1x2Ex8m/cZHDUtXK9H6/znKamRP8Q== http-cache-semantics@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== human-signals@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-stream@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== kleur@^4.1.4: version "4.1.5" - resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" magic-string@^0.25.3: version "0.25.9" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== dependencies: sourcemap-codec "^1.4.8" merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== mime@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== mimic-fn@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -miniflare@2.10.0: - version "2.10.0" - resolved "https://registry.npmjs.org/miniflare/-/miniflare-2.10.0.tgz" - integrity sha512-WPveqChVDdmDGv+wFqXjFqEZlZ5/aBlAKX37h/e4TAjl2XsK5nPfQATP8jZXwNDEC5iE29bYZymOqeZkp+t7OA== +miniflare@2.12.1: + version "2.12.1" + resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-2.12.1.tgz#9f4927346b651a4b0883656a57257cb33b74bfba" + integrity sha512-pym6gzg8AQZ1NRChRV1hC4K55N49wndoaDEVRMvZPJrFsmGkNnXkWmlvmZ7SB3BN5UkP5MZwKhLqiJ49Ry8tFA== dependencies: - "@miniflare/cache" "2.10.0" - "@miniflare/cli-parser" "2.10.0" - "@miniflare/core" "2.10.0" - "@miniflare/d1" "2.10.0" - "@miniflare/durable-objects" "2.10.0" - "@miniflare/html-rewriter" "2.10.0" - "@miniflare/http-server" "2.10.0" - "@miniflare/kv" "2.10.0" - "@miniflare/queues" "2.10.0" - "@miniflare/r2" "2.10.0" - "@miniflare/runner-vm" "2.10.0" - "@miniflare/scheduler" "2.10.0" - "@miniflare/shared" "2.10.0" - "@miniflare/sites" "2.10.0" - "@miniflare/storage-file" "2.10.0" - "@miniflare/storage-memory" "2.10.0" - "@miniflare/web-sockets" "2.10.0" + "@miniflare/cache" "2.12.1" + "@miniflare/cli-parser" "2.12.1" + "@miniflare/core" "2.12.1" + "@miniflare/d1" "2.12.1" + "@miniflare/durable-objects" "2.12.1" + "@miniflare/html-rewriter" "2.12.1" + "@miniflare/http-server" "2.12.1" + "@miniflare/kv" "2.12.1" + "@miniflare/queues" "2.12.1" + "@miniflare/r2" "2.12.1" + "@miniflare/runner-vm" "2.12.1" + "@miniflare/scheduler" "2.12.1" + "@miniflare/shared" "2.12.1" + "@miniflare/sites" "2.12.1" + "@miniflare/storage-file" "2.12.1" + "@miniflare/storage-memory" "2.12.1" + "@miniflare/web-sockets" "2.12.1" kleur "^4.1.4" semiver "^1.1.0" source-map-support "^0.5.20" - undici "5.9.1" + undici "5.20.0" mustache@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== nanoid@^3.3.3: version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== node-forge@^1: version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== npm-run-path@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== dependencies: path-key "^4.0.0" -npx-import@^1.1.3: +npx-import@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/npx-import/-/npx-import-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/npx-import/-/npx-import-1.1.4.tgz#0ee9a27484c633255528f7ec2e4c2adeaa1fcda3" integrity sha512-3ShymTWOgqGyNlh5lMJAejLuIv3W1K3fbI5Ewc6YErZU3Sp0PqsNs8UIU1O8z5+KVl/Du5ag56Gza9vdorGEoA== dependencies: execa "^6.1.0" @@ -616,51 +638,51 @@ npx-import@^1.1.3: onetime@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: mimic-fn "^4.0.0" parse-package-name@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/parse-package-name/-/parse-package-name-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/parse-package-name/-/parse-package-name-1.0.0.tgz#1a108757e4ffc6889d5e78bcc4932a97c097a5a7" integrity sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg== path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-key@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-to-regexp@^6.2.0: version "6.2.1" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -prettier@^2.6.1: - version "2.7.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== +prettier@^2.8.4: + version "2.8.4" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" + integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" rollup-plugin-inject@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz#e4233855bfba6c0c12a312fd6649dff9a13ee9f4" integrity sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w== dependencies: estree-walker "^0.6.1" @@ -669,62 +691,62 @@ rollup-plugin-inject@^3.0.0: rollup-plugin-node-polyfills@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz#53092a2744837164d5b8a28812ba5f3ff61109fd" integrity sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA== dependencies: rollup-plugin-inject "^3.0.0" rollup-pluginutils@^2.8.1: version "2.8.2" - resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: estree-walker "^0.6.1" selfsigned@^2.0.0, selfsigned@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== dependencies: node-forge "^1" semiver@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/semiver/-/semiver-1.1.0.tgz#9c97fb02c21c7ce4fcf1b73e2c7a24324bdddd5f" integrity sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg== semver@^7.0.0, semver@^7.3.7: version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" set-cookie-parser@^2.4.8: version "2.5.1" - resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz" + resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz#ddd3e9a566b0e8e0862aca974a6ac0e01349430b" integrity sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ== shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== source-map-support@^0.5.20: version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" @@ -732,80 +754,82 @@ source-map-support@^0.5.20: source-map@^0.6.0: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.4: version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== sourcemap-codec@^1.4.8: version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== stack-trace@0.0.10: version "0.0.10" - resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== streamsearch@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== strip-final-newline@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" -undici@5.9.1: - version "5.9.1" - resolved "https://registry.npmjs.org/undici/-/undici-5.9.1.tgz" - integrity sha512-6fB3a+SNnWEm4CJbgo0/CWR8RGcOCQP68SF4X0mxtYTq2VNN8T88NYrWVBAeSX+zb7bny2dx2iYhP3XHi00omg== +undici@5.20.0: + version "5.20.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.20.0.tgz#6327462f5ce1d3646bcdac99da7317f455bcc263" + integrity sha512-J3j60dYzuo6Eevbawwp1sdg16k5Tf768bxYK4TUJRH7cBM4kFCbf3mOnM/0E3vQYXvpxITbbWmBafaDbxLDz3g== + dependencies: + busboy "^1.6.0" urlpattern-polyfill@^4.0.3: version "4.0.3" - resolved "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-4.0.3.tgz#c1fa7a73eb4e6c6a1ffb41b24cf31974f7392d3b" integrity sha512-DOE84vZT2fEcl9gqCUTcnAw5ZY5Id55ikUcziSUntuEFL3pRvavg5kwDmTEUJkeCHInTlV/HexFomgYnzO5kdQ== validate-npm-package-name@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== dependencies: builtins "^5.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wrangler@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/wrangler/-/wrangler-2.6.2.tgz" - integrity sha512-+in4oEQXDs6+vE+1c6niBd3IrW1DMRTbauR6G0u3TpD6UaXOLwLdBxRLEbN3m82dN+WNm7l1MbFZrKc/TnWjhw== +wrangler@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/wrangler/-/wrangler-2.12.0.tgz#b86d450a5fa6a345af96ce3d39244d0619845c9b" + integrity sha512-yAqv3JbJqkB1oaciI2CGEiEscQ98BXaFN+Z7VbWuepMqVL2UV2wUjA2mJLjWuoZOwSmC74MsDzZ+5hzDs/2Nkg== dependencies: "@cloudflare/kv-asset-handler" "^0.2.0" "@esbuild-plugins/node-globals-polyfill" "^0.1.1" "@esbuild-plugins/node-modules-polyfill" "^0.1.4" - "@miniflare/core" "2.10.0" - "@miniflare/d1" "2.10.0" - "@miniflare/durable-objects" "2.10.0" + "@miniflare/core" "2.12.1" + "@miniflare/d1" "2.12.1" + "@miniflare/durable-objects" "2.12.1" blake3-wasm "^2.1.5" chokidar "^3.5.3" - esbuild "0.14.51" - miniflare "2.10.0" + esbuild "0.16.3" + miniflare "2.12.1" nanoid "^3.3.3" path-to-regexp "^6.2.0" selfsigned "^2.0.1" @@ -815,23 +839,23 @@ wrangler@^2.6.2: fsevents "~2.3.2" ws@^8.2.2: - version "8.11.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + version "8.12.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" + integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== xxhash-wasm@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.1.tgz" - integrity sha512-Lc9CTvDrH2vRoiaUzz25q7lRaviMhz90pkx6YxR9EPYtF99yOJnv2cB+CQ0hp/TLoqrUsk8z/W2EN31T568Azw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz#ecc0f813219b727af4d5f3958ca6becee2f2f1ff" + integrity sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== youch@^2.2.2: version "2.2.2" - resolved "https://registry.npmjs.org/youch/-/youch-2.2.2.tgz" + resolved "https://registry.yarnpkg.com/youch/-/youch-2.2.2.tgz#cb87a359a5c524ebd35eb07ca3a1521dbc7e1a3e" integrity sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ== dependencies: "@types/stack-trace" "0.0.29"