diff --git a/.changeset/serious-toys-repeat.md b/.changeset/serious-toys-repeat.md deleted file mode 100644 index bcb2b71609a8..000000000000 --- a/.changeset/serious-toys-repeat.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"wrangler": minor ---- - -Reintroduces some internal refactorings of wrangler dev servers (including `wrangler dev`, `wrangler dev --remote`, and `unstable_dev()`). - -These changes were released in 3.13.0 and reverted in 3.13.1 -- we believe the changes are now more stable and ready for release again. - -There are no changes required for developers to opt-in. Improvements include: - -- fewer 'address in use' errors upon reloads -- upon config/source file changes, requests are buffered to guarantee the response is from the new version of the Worker diff --git a/fixtures/dev-env/.gitignore b/fixtures/dev-env/.gitignore deleted file mode 100644 index 1521c8b7652b..000000000000 --- a/fixtures/dev-env/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dist diff --git a/fixtures/dev-env/package.json b/fixtures/dev-env/package.json deleted file mode 100644 index 11103f0de5a0..000000000000 --- a/fixtures/dev-env/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "dev-env", - "version": "1.0.1", - "private": true, - "description": "", - "license": "ISC", - "author": "", - "main": "src/index.js", - "scripts": { - "test": "npx vitest run", - "test:ci": "npx vitest run", - "test:watch": "npx vitest", - "type:tests": "tsc -p ./tests/tsconfig.json" - }, - "devDependencies": { - "@types/ws": "^8.5.7", - "@cloudflare/workers-tsconfig": "workspace:^", - "get-port": "^7.0.0", - "miniflare": "3.20231025.1", - "undici": "^5.23.0", - "wrangler": "workspace:*", - "ws": "^8.14.2" - }, - "dependencies": {} -} diff --git a/fixtures/dev-env/tests/index.test.ts b/fixtures/dev-env/tests/index.test.ts deleted file mode 100644 index a30da78cbade..000000000000 --- a/fixtures/dev-env/tests/index.test.ts +++ /dev/null @@ -1,556 +0,0 @@ -import assert from "node:assert"; -import getPort from "get-port"; -import { - Miniflare, - type Response as MiniflareResponse, - type MiniflareOptions, - Log, -} from "miniflare"; -import * as undici from "undici"; -import { WebSocket } from "ws"; -import { beforeEach, afterEach, describe, test, expect, vi } from "vitest"; -import { unstable_DevEnv as DevEnv } from "wrangler"; -import type { ProxyData } from "wrangler/src/api"; -import type { StartDevWorkerOptions } from "wrangler/src/api/startDevWorker/types"; -import type { EsbuildBundle } from "wrangler/src/dev/use-esbuild"; - -const fakeBundle = {} as EsbuildBundle; - -let devEnv: DevEnv; -let mf: Miniflare | undefined; -let res: MiniflareResponse | undici.Response; -let ws: WebSocket | undefined; -let fireAndForgetPromises: Promise[] = []; - -type OptionalKeys = Omit & Partial>; - -beforeEach(() => { - devEnv = new DevEnv(); - mf = undefined; - res = undefined as any; - ws = undefined; -}); -afterEach(async () => { - await Promise.allSettled(fireAndForgetPromises); - await devEnv?.teardown(); - await mf?.dispose(); - await ws?.close(); - - vi.resetAllMocks(); -}); - -async function fakeStartUserWorker(options: { - script: string; - name?: string; - mfOpts?: Partial; - config?: OptionalKeys; -}) { - const config: StartDevWorkerOptions = { - ...options.config, - name: options.name ?? "test-worker", - script: { contents: options.script }, - }; - const mfOpts: MiniflareOptions = Object.assign( - { - port: undefined, - inspectorPort: 0, - modules: true, - compatibilityDate: "2023-08-01", - name: config.name, - script: options.script, - log: Object.assign(new Log(), { error() {} }), // TODO: remove when this bug is fixed https://jira.cfdata.org/browse/DEVX-983 - }, - options.mfOpts - ); - - assert("script" in mfOpts); - - fakeConfigUpdate(config); - fakeReloadStart(config); - - const worker = devEnv.startWorker(config); - const { proxyWorker } = await devEnv.proxy.ready.promise; - const proxyWorkerUrl = await proxyWorker.ready; - const inspectorProxyWorkerUrl = await proxyWorker.unsafeGetDirectURL( - "InspectorProxyWorker" - ); - - mf = new Miniflare(mfOpts); - - const userWorkerUrl = await mf.ready; - const userWorkerInspectorUrl = await mf.getInspectorURL(); - fakeReloadComplete(config, mfOpts, userWorkerUrl, userWorkerInspectorUrl); - - return { - worker, - mf, - mfOpts, - config, - userWorkerUrl, - userWorkerInspectorUrl, - proxyWorkerUrl, - inspectorProxyWorkerUrl, - }; -} - -async function fakeUserWorkerChanges({ - script, - mfOpts, - config, -}: { - script?: string; - mfOpts: MiniflareOptions; - config: StartDevWorkerOptions; -}) { - assert(mf); - assert("script" in mfOpts); - - config = { - ...config, - script: { - ...config.script, - ...(script ? { contents: script } : undefined), - }, - }; - mfOpts = { - ...mfOpts, - script: script ?? mfOpts.script, - }; - - fakeReloadStart(config); - - await mf.setOptions(mfOpts); - - const userWorkerUrl = await mf.ready; - const userWorkerInspectorUrl = await mf.getInspectorURL(); - fakeReloadComplete( - config, - mfOpts, - userWorkerUrl, - userWorkerInspectorUrl, - 1000 - ); - - return { mfOpts, config, mf, userWorkerUrl, userWorkerInspectorUrl }; -} - -function fireAndForgetFakeUserWorkerChanges( - ...args: Parameters -) { - // fire and forget the reload -- this let's us test request buffering - const promise = fakeUserWorkerChanges(...args); - fireAndForgetPromises.push(promise); -} - -function fakeConfigUpdate(config: StartDevWorkerOptions) { - devEnv.proxy.onConfigUpdate({ - type: "configUpdate", - config, - }); - - return config; // convenience to allow calling and defining new config inline but also store the new object -} -function fakeReloadStart(config: StartDevWorkerOptions) { - devEnv.proxy.onReloadStart({ - type: "reloadStart", - config, - bundle: fakeBundle, - }); - - return config; -} -function fakeReloadComplete( - config: StartDevWorkerOptions, - mfOpts: MiniflareOptions, - userWorkerUrl: URL, - userWorkerInspectorUrl: URL, - delay = 100 -) { - const proxyData: ProxyData = { - userWorkerUrl: { - protocol: userWorkerUrl.protocol, - hostname: userWorkerUrl.hostname, - port: userWorkerUrl.port, - }, - userWorkerInspectorUrl: { - protocol: userWorkerInspectorUrl.protocol, - hostname: userWorkerInspectorUrl.hostname, - port: userWorkerInspectorUrl.port, - pathname: `/core:user:${config.name}`, - }, - userWorkerInnerUrlOverrides: { - protocol: config?.dev?.urlOverrides?.secure ? "https:" : "http:", - hostname: config?.dev?.urlOverrides?.hostname, - }, - headers: {}, - liveReload: config.dev?.liveReload, - }; - - setTimeout(() => { - devEnv.proxy.onReloadComplete({ - type: "reloadComplete", - config, - bundle: fakeBundle, - proxyData, - }); - }, delay); - - return { config, mfOpts }; // convenience to allow calling and defining new config/mfOpts inline but also store the new objects -} - -describe("startDevWorker: ProxyController", () => { - test("ProxyWorker buffers requests while runtime reloads", async () => { - const run = await fakeStartUserWorker({ - script: ` - export default { - fetch() { - return new Response("body:1"); - } - } - `, - }); - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("body:1"); - - fireAndForgetFakeUserWorkerChanges({ - mfOpts: run.mfOpts, - config: run.config, - script: run.mfOpts.script.replace("1", "2"), - }); - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("body:2"); - }); - - test("InspectorProxyWorker discovery endpoints + devtools websocket connection", async () => { - const run = await fakeStartUserWorker({ - script: ` - export default { - fetch() { - console.log('Inside mock user worker'); - - return new Response("body:1"); - } - } - `, - }); - - await devEnv.proxy.ready; - res = await undici.fetch(`http://${run.inspectorProxyWorkerUrl.host}/json`); - - await expect(res.json()).resolves.toBeInstanceOf(Array); - - ws = new WebSocket( - `ws://${run.inspectorProxyWorkerUrl.host}/core:user:${run.config.name}` - ); - const openPromise = new Promise((resolve) => { - ws?.addEventListener("open", resolve); - }); - const consoleAPICalledPromise = new Promise((resolve) => { - ws?.addEventListener("message", (event) => { - assert(typeof event.data === "string"); - if (event.data.includes("Runtime.consoleAPICalled")) { - resolve(JSON.parse(event.data)); - } - }); - }); - const executionContextCreatedPromise = new Promise((resolve) => { - ws?.addEventListener("message", (event) => { - assert(typeof event.data === "string"); - if (event.data.includes("Runtime.executionContextCreated")) { - resolve(JSON.parse(event.data)); - } - }); - }); - - await openPromise; - await run.worker.fetch("http://localhost"); - - await expect(consoleAPICalledPromise).resolves.toMatchObject({ - method: "Runtime.consoleAPICalled", - params: { - args: expect.arrayContaining([ - { type: "string", value: "Inside mock user worker" }, - ]), - }, - }); - await expect(executionContextCreatedPromise).resolves.toMatchObject({ - method: "Runtime.executionContextCreated", - params: { - context: { id: expect.any(Number) }, - }, - }); - }); - - test("User worker exception", async () => { - const consoleErrorSpy = vi.spyOn(console, "error"); - - const run = await fakeStartUserWorker({ - script: ` - export default { - fetch() { - throw new Error('Boom!'); - - return new Response("body:1"); - } - } - `, - }); - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("Error: Boom!"); - - await new Promise((r) => setTimeout(r, 100)); // allow some time for the error to be logged (TODO: replace with retry/waitUntil helper) - expect(consoleErrorSpy).toBeCalledWith( - expect.stringContaining("Error: Boom!") - ); - - // test changes causing a new error cause the new error to propogate - fireAndForgetFakeUserWorkerChanges({ - script: ` - export default { - fetch() { - throw new Error('Boom 2!'); - - return new Response("body:2"); - } - } - `, - mfOpts: run.mfOpts, - config: run.config, - }); - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("Error: Boom 2!"); - - await new Promise((r) => setTimeout(r, 100)); // allow some time for the error to be logged (TODO: replace with retry/waitUntil helper) - expect(consoleErrorSpy).toBeCalledWith( - expect.stringContaining("Error: Boom 2!") - ); - - // test eyeball requests receive the pretty error page - fireAndForgetFakeUserWorkerChanges({ - script: ` - export default { - fetch() { - const e = new Error('Boom 3!'); - - // this is how errors are serialised after they are caught by wrangler/miniflare3 middlewares - const error = { name: e.name, message: e.message, stack: e.stack }; - return Response.json(error, { - status: 500, - headers: { "MF-Experimental-Error-Stack": "true" }, - }); - } - } - `, - mfOpts: run.mfOpts, - config: run.config, - }); - - const proxyWorkerUrl = await devEnv.proxy.proxyWorker?.ready; - assert(proxyWorkerUrl); - res = await undici.fetch(proxyWorkerUrl, { - headers: { Accept: "text/html" }, - }); - await expect(res.text()).resolves.toEqual( - expect.stringContaining(`

Boom 3!

`) // pretty error page html snippet - ); - - // test further changes that fix the code - fireAndForgetFakeUserWorkerChanges({ - script: ` - export default { - fetch() { - return new Response("body:3"); - } - } - `, - mfOpts: run.mfOpts, - config: run.config, - }); - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("body:3"); - - consoleErrorSpy.mockReset(); - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("body:3"); - - await new Promise((r) => setTimeout(r, 100)); // allow some time for the error to be logged (TODO: replace with retry/waitUntil helper) - expect(consoleErrorSpy).not.toHaveBeenCalled(); - }); - - test("config.dev.{server,inspector} changes, restart the server instance", async () => { - const run = await fakeStartUserWorker({ - script: ` - export default { - fetch() { - return new Response("body:1"); - } - } - `, - config: { - dev: { - server: { port: await getPort() }, - inspector: { port: await getPort() }, - }, - }, - }); - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("body:1"); - - const oldPort = run.config.dev?.server?.port; - res = await undici.fetch(`http://127.0.0.1:${oldPort}`); - await expect(res.text()).resolves.toBe("body:1"); - - const config2 = fakeConfigUpdate({ - ...run.config, - dev: { - server: { port: await getPort() }, - inspector: { port: await getPort() }, - }, - }); - fakeReloadStart(config2); - fakeReloadComplete( - config2, - run.mfOpts, - run.userWorkerUrl, - run.userWorkerInspectorUrl - ); - - const newPort = config2.dev?.server?.port; - - res = await run.worker.fetch("http://dummy"); - await expect(res.text()).resolves.toBe("body:1"); - - res = await undici.fetch(`http://127.0.0.1:${newPort}`); - await expect(res.text()).resolves.toBe("body:1"); - - await expect( - undici.fetch(`http://127.0.0.1:${oldPort}`).then((r) => r.text()) - ).rejects.toMatchInlineSnapshot("[TypeError: fetch failed]"); - }); - - test("liveReload", async () => { - let resText: string; - const scriptRegex = / - `, - { html: true } - ); - } - }, - }); - - return htmlRewriter.transform(response); -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3779289b6998..97381ccef272 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -106,30 +106,6 @@ importers: specifier: workspace:* version: link:../../packages/wrangler - fixtures/dev-env: - devDependencies: - '@cloudflare/workers-tsconfig': - specifier: workspace:^ - version: link:../../packages/workers-tsconfig - '@types/ws': - specifier: ^8.5.7 - version: 8.5.9 - get-port: - specifier: ^7.0.0 - version: 7.0.0 - miniflare: - specifier: 3.20231025.1 - version: link:../../packages/miniflare - undici: - specifier: ^5.23.0 - version: 5.23.0 - wrangler: - specifier: workspace:* - version: link:../../packages/wrangler - ws: - specifier: ^8.14.2 - version: 8.14.2 - fixtures/durable-objects-app: devDependencies: '@cloudflare/workers-tsconfig': @@ -655,7 +631,7 @@ importers: version: 8.4.0 pnpm: specifier: ^8.10.0 - version: 8.10.2 + version: 8.10.0 recast: specifier: ^0.22.0 version: 0.22.0 @@ -721,7 +697,7 @@ importers: version: 8.49.0 eslint-config-turbo: specifier: latest - version: 1.10.16(eslint@8.49.0) + version: 1.10.14(eslint@8.49.0) eslint-plugin-import: specifier: 2.26.x version: 2.26.0(@typescript-eslint/parser@6.7.2)(eslint@8.49.0) @@ -796,7 +772,7 @@ importers: version: 1.20231030.0 ws: specifier: ^8.11.0 - version: 8.14.2 + version: 8.13.0 youch: specifier: ^3.2.2 version: 3.2.3 @@ -815,7 +791,7 @@ importers: version: 4.20231025.0 '@microsoft/api-extractor': specifier: ^7.36.3 - version: 7.38.2(@types/node@18.16.10) + version: 7.38.1(@types/node@18.16.10) '@types/debug': specifier: ^4.1.7 version: 4.1.7 @@ -839,19 +815,19 @@ importers: version: 0.5.7 '@types/stoppable': specifier: ^1.1.1 - version: 1.1.3 + version: 1.1.2 '@types/which': specifier: ^2.0.1 version: 2.0.2 '@types/ws': specifier: ^8.5.3 - version: 8.5.9 + version: 8.5.3 '@typescript-eslint/eslint-plugin': specifier: ^6.9.0 - version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.49.0)(typescript@5.0.4) + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.49.0)(typescript@5.0.4) '@typescript-eslint/parser': specifier: ^6.9.0 - version: 6.10.0(eslint@8.49.0)(typescript@5.0.4) + version: 6.9.1(eslint@8.49.0)(typescript@5.0.4) ava: specifier: ^5.2.0 version: 5.3.1(@ava/typescript@4.1.0) @@ -878,7 +854,7 @@ importers: version: 4.1.0(eslint@8.49.0) eslint-plugin-import: specifier: 2.26.x - version: 2.26.0(@typescript-eslint/parser@6.10.0)(eslint@8.49.0) + version: 2.26.0(@typescript-eslint/parser@6.9.1)(eslint@8.49.0) eslint-plugin-prettier: specifier: ^5.0.1 version: 5.0.1(eslint-config-prettier@9.0.0)(eslint@8.49.0)(prettier@3.0.3) @@ -961,7 +937,7 @@ importers: version: 5.23.0 wrangler: specifier: ^3.5.1 - version: link:../wrangler + version: 3.16.0 packages/prerelease-registry: dependencies: @@ -1523,7 +1499,7 @@ importers: version: 6.5.1 wrangler: specifier: ^3.0.0 - version: link:../wrangler + version: 3.16.0 packages: @@ -3558,7 +3534,6 @@ packages: resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==} dependencies: mime: 3.0.0 - dev: false /@cloudflare/kv-asset-handler@0.3.0: resolution: {integrity: sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==} @@ -3666,7 +3641,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false optional: true /@cloudflare/workerd-darwin-arm64@1.20231030.0: @@ -3675,7 +3649,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@cloudflare/workerd-linux-64@1.20231030.0: @@ -3684,7 +3657,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@cloudflare/workerd-linux-arm64@1.20231030.0: @@ -3693,7 +3665,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@cloudflare/workerd-windows-64@1.20231030.0: @@ -3702,7 +3673,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false optional: true /@cloudflare/workers-types@3.18.0: @@ -3774,7 +3744,6 @@ packages: esbuild: '*' dependencies: esbuild: 0.17.19 - dev: false /@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19): resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==} @@ -3784,7 +3753,6 @@ packages: esbuild: 0.17.19 escape-string-regexp: 4.0.0 rollup-plugin-node-polyfills: 0.2.1 - dev: false /@esbuild/android-arm64@0.16.17: resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} @@ -4789,7 +4757,7 @@ packages: debug: 4.3.4(supports-color@9.2.2) espree: 9.5.2 globals: 13.20.0 - ignore: 5.2.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -4806,7 +4774,7 @@ packages: debug: 4.3.4(supports-color@9.2.2) espree: 9.6.1 globals: 13.20.0 - ignore: 5.2.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -5258,8 +5226,8 @@ packages: typescript: 4.6.4 dev: true - /@microsoft/api-extractor@7.38.2(@types/node@18.16.10): - resolution: {integrity: sha512-JOARuhTwOcOMIU0O2czscoJy3ddVzIRhSA9/7T1ALuZSNphgWsPk+Bv4E7AnBDmTV4pP4lBNLtCxEHjjpWaytQ==} + /@microsoft/api-extractor@7.38.1(@types/node@18.16.10): + resolution: {integrity: sha512-Hxu/RrVpItQ4dzeMyfwlk4lGQFsXMoMS7bYU9YUrpW16hH04PXLRiTXJz77WhBiSGNtTuufz2xh6hWyXhC9JuQ==} hasBin: true dependencies: '@microsoft/api-extractor-model': 7.28.2(@types/node@18.16.10) @@ -5267,7 +5235,7 @@ packages: '@microsoft/tsdoc-config': 0.16.1 '@rushstack/node-core-library': 3.61.0(@types/node@18.16.10) '@rushstack/rig-package': 0.5.1 - '@rushstack/ts-command-line': 4.17.1 + '@rushstack/ts-command-line': 4.17.0 colors: 1.2.5 lodash: 4.17.21 resolve: 1.22.2 @@ -5795,8 +5763,8 @@ packages: string-argv: 0.3.1 dev: true - /@rushstack/ts-command-line@4.17.1: - resolution: {integrity: sha512-2jweO1O57BYP5qdBGl6apJLB+aRIn5ccIRTPDyULh0KMwVzFqWtw6IZWt1qtUoZD/pD2RNkIOosH6Cq45rIYeg==} + /@rushstack/ts-command-line@4.17.0: + resolution: {integrity: sha512-1S0sXuEpZlzKTfvUqNs7Rg4leVkeLJc4Dn9cm+pSIn35a0Ztp5GxPN2gabD2G4RrQoQcJLLyVu+twzrJl1C0eA==} dependencies: '@types/argparse': 1.0.38 argparse: 1.0.10 @@ -6457,8 +6425,8 @@ packages: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true - /@types/stoppable@1.1.3: - resolution: {integrity: sha512-7wGKIBJGE4ZxFjk9NkjAxZMLlIXroETqP1FJCdoSvKmEznwmBxQFmTB1dsCkAvVcNemuSZM5qkkd9HE/NL2JTw==} + /@types/stoppable@1.1.2: + resolution: {integrity: sha512-zRBGFTIdkCAdM4VDeFvka5NbD6JVfz7yEYzggKrXQ03ZplrZp5vqQPWHTw0wk81wer61dwi44Tp6FDDXoPBW5A==} dependencies: '@types/node': 18.16.10 dev: true @@ -6507,12 +6475,6 @@ packages: '@types/node': 18.16.10 dev: true - /@types/ws@8.5.9: - resolution: {integrity: sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==} - dependencies: - '@types/node': 18.16.10 - dev: true - /@types/yargs-parser@20.2.1: resolution: {integrity: sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==} dev: true @@ -6582,7 +6544,7 @@ packages: graphemer: 1.4.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 - semver: 7.5.1 + semver: 7.5.4 tsutils: 3.21.0(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: @@ -6638,15 +6600,15 @@ packages: graphemer: 1.4.0 ignore: 5.2.0 natural-compare-lite: 1.4.0 - semver: 7.5.1 + semver: 7.5.4 tsutils: 3.21.0(typescript@5.0.3) typescript: 5.0.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.49.0)(typescript@5.0.4): - resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} + /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -6656,26 +6618,26 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.8.1 - '@typescript-eslint/parser': 6.10.0(eslint@8.49.0)(typescript@5.0.4) - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/type-utils': 6.10.0(eslint@8.49.0)(typescript@5.0.4) - '@typescript-eslint/utils': 6.10.0(eslint@8.49.0)(typescript@5.0.4) - '@typescript-eslint/visitor-keys': 6.10.0 + '@eslint-community/regexpp': 4.5.1 + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/type-utils': 6.7.2(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4(supports-color@9.2.2) eslint: 8.49.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.0.4) - typescript: 5.0.4 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@typescript-eslint/eslint-plugin@6.7.2(@typescript-eslint/parser@6.7.2)(eslint@8.49.0)(typescript@4.9.5): - resolution: {integrity: sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==} + /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.49.0)(typescript@5.0.4): + resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -6685,23 +6647,23 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@4.9.5) - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/type-utils': 6.7.2(eslint@8.49.0)(typescript@4.9.5) - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.7.2 + '@eslint-community/regexpp': 4.8.1 + '@typescript-eslint/parser': 6.9.1(eslint@8.49.0)(typescript@5.0.4) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1(eslint@8.49.0)(typescript@5.0.4) + '@typescript-eslint/utils': 6.9.1(eslint@8.49.0)(typescript@5.0.4) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@9.2.2) eslint: 8.49.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@4.9.5) - typescript: 4.9.5 + ts-api-utils: 1.0.3(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color - dev: false + dev: true /@typescript-eslint/parser@5.59.9(eslint@8.49.0)(typescript@5.0.3): resolution: {integrity: sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==} @@ -6783,8 +6745,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.10.0(eslint@8.49.0)(typescript@5.0.4): - resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} + /@typescript-eslint/parser@6.7.2(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6793,19 +6755,19 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.0.4) - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/typescript-estree': 6.7.2(typescript@4.9.5) + '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4(supports-color@9.2.2) eslint: 8.49.0 - typescript: 5.0.4 + typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@typescript-eslint/parser@6.7.2(eslint@8.49.0)(typescript@4.9.5): - resolution: {integrity: sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==} + /@typescript-eslint/parser@6.9.1(eslint@8.49.0)(typescript@5.0.4): + resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6814,16 +6776,16 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/typescript-estree': 6.7.2(typescript@4.9.5) - '@typescript-eslint/visitor-keys': 6.7.2 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.0.4) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@9.2.2) eslint: 8.49.0 - typescript: 4.9.5 + typescript: 5.0.4 transitivePeerDependencies: - supports-color - dev: false + dev: true /@typescript-eslint/scope-manager@5.59.9: resolution: {integrity: sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==} @@ -6841,14 +6803,6 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.10.0: - resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 - dev: true - /@typescript-eslint/scope-manager@6.7.2: resolution: {integrity: sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -6857,6 +6811,14 @@ packages: '@typescript-eslint/visitor-keys': 6.7.2 dev: false + /@typescript-eslint/scope-manager@6.9.1: + resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 + dev: true + /@typescript-eslint/type-utils@5.59.9(eslint@8.49.0)(typescript@5.0.3): resolution: {integrity: sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6937,8 +6899,8 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.10.0(eslint@8.49.0)(typescript@5.0.4): - resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} + /@typescript-eslint/type-utils@6.7.2(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6947,18 +6909,18 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.0.4) - '@typescript-eslint/utils': 6.10.0(eslint@8.49.0)(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 6.7.2(typescript@4.9.5) + '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@4.9.5) debug: 4.3.4(supports-color@9.2.2) eslint: 8.49.0 - ts-api-utils: 1.0.3(typescript@5.0.4) - typescript: 5.0.4 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@typescript-eslint/type-utils@6.7.2(eslint@8.49.0)(typescript@4.9.5): - resolution: {integrity: sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==} + /@typescript-eslint/type-utils@6.9.1(eslint@8.49.0)(typescript@5.0.4): + resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -6967,15 +6929,15 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.7.2(typescript@4.9.5) - '@typescript-eslint/utils': 6.7.2(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.0.4) + '@typescript-eslint/utils': 6.9.1(eslint@8.49.0)(typescript@5.0.4) debug: 4.3.4(supports-color@9.2.2) eslint: 8.49.0 - ts-api-utils: 1.0.3(typescript@4.9.5) - typescript: 4.9.5 + ts-api-utils: 1.0.3(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color - dev: false + dev: true /@typescript-eslint/types@5.59.9: resolution: {integrity: sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==} @@ -6987,16 +6949,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.10.0: - resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/types@6.7.2: resolution: {integrity: sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==} engines: {node: ^16.0.0 || >=18.0.0} dev: false + /@typescript-eslint/types@6.9.1: + resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@5.59.9(typescript@4.9.5): resolution: {integrity: sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7081,8 +7043,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.10.0(typescript@5.0.4): - resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} + /@typescript-eslint/typescript-estree@6.7.2(typescript@4.9.5): + resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -7090,20 +7052,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/visitor-keys': 6.10.0 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/visitor-keys': 6.7.2 debug: 4.3.4(supports-color@9.2.2) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.0.4) - typescript: 5.0.4 + ts-api-utils: 1.0.3(typescript@4.9.5) + typescript: 4.9.5 transitivePeerDependencies: - supports-color - dev: true + dev: false - /@typescript-eslint/typescript-estree@6.7.2(typescript@4.9.5): - resolution: {integrity: sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==} + /@typescript-eslint/typescript-estree@6.9.1(typescript@5.0.4): + resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -7111,17 +7073,17 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/visitor-keys': 6.7.2 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4(supports-color@9.2.2) globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@4.9.5) - typescript: 4.9.5 + ts-api-utils: 1.0.3(typescript@5.0.4) + typescript: 5.0.4 transitivePeerDependencies: - supports-color - dev: false + dev: true /@typescript-eslint/utils@5.59.9(eslint@8.42.0)(typescript@4.9.5): resolution: {integrity: sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==} @@ -7137,7 +7099,7 @@ packages: '@typescript-eslint/typescript-estree': 5.59.9(typescript@4.9.5) eslint: 8.42.0 eslint-scope: 5.1.1 - semver: 7.5.1 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript @@ -7157,7 +7119,7 @@ packages: '@typescript-eslint/typescript-estree': 5.59.9(typescript@5.0.3) eslint: 8.49.0 eslint-scope: 5.1.1 - semver: 7.5.1 + semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript @@ -7223,8 +7185,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.10.0(eslint@8.49.0)(typescript@5.0.4): - resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} + /@typescript-eslint/utils@6.7.2(eslint@8.49.0)(typescript@4.9.5): + resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -7232,18 +7194,18 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.1 - '@typescript-eslint/scope-manager': 6.10.0 - '@typescript-eslint/types': 6.10.0 - '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.0.4) + '@typescript-eslint/scope-manager': 6.7.2 + '@typescript-eslint/types': 6.7.2 + '@typescript-eslint/typescript-estree': 6.7.2(typescript@4.9.5) eslint: 8.49.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - dev: true + dev: false - /@typescript-eslint/utils@6.7.2(eslint@8.49.0)(typescript@4.9.5): - resolution: {integrity: sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==} + /@typescript-eslint/utils@6.9.1(eslint@8.49.0)(typescript@5.0.4): + resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -7251,15 +7213,15 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.49.0) '@types/json-schema': 7.0.13 '@types/semver': 7.5.1 - '@typescript-eslint/scope-manager': 6.7.2 - '@typescript-eslint/types': 6.7.2 - '@typescript-eslint/typescript-estree': 6.7.2(typescript@4.9.5) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.0.4) eslint: 8.49.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript - dev: false + dev: true /@typescript-eslint/visitor-keys@5.59.9: resolution: {integrity: sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==} @@ -7277,14 +7239,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.10.0: - resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.10.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@6.7.2: resolution: {integrity: sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -7293,6 +7247,14 @@ packages: eslint-visitor-keys: 3.4.1 dev: false + /@typescript-eslint/visitor-keys@6.9.1: + resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.9.1 + eslint-visitor-keys: 3.4.3 + dev: true + /@vanilla-extract/babel-plugin-debug-ids@1.0.3: resolution: {integrity: sha512-vm4jYu1xhSa6ofQ9AhIpR3DkAp4c+eoR1Rpm8/TQI4DmWbmGbOjYRcqV0aWsfaIlNhN4kFuxFMKBNN9oG6iRzA==} dependencies: @@ -7665,7 +7627,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.1 es-array-method-boxes-properly: 1.0.0 get-intrinsic: 1.2.1 @@ -7687,7 +7649,7 @@ packages: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 get-intrinsic: 1.2.1 is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 @@ -7711,7 +7673,6 @@ packages: resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} dependencies: printable-characters: 1.0.42 - dev: false /assert@2.0.0: resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} @@ -8069,7 +8030,6 @@ packages: /blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} - dev: false /blueimp-md5@2.19.0: resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} @@ -8340,7 +8300,6 @@ packages: tslib: 2.5.3 transitivePeerDependencies: - supports-color - dev: false patched: true /capnpc-ts@0.7.0: @@ -8764,7 +8723,7 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.5.1 + semver: 7.5.4 well-known-symbols: 2.0.0 dev: true @@ -9053,7 +9012,6 @@ packages: /data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - dev: false /data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} @@ -9245,7 +9203,6 @@ packages: get-intrinsic: 1.2.1 gopd: 1.0.1 has-property-descriptors: 1.0.0 - dev: false /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} @@ -9271,7 +9228,6 @@ packages: define-data-property: 1.1.0 has-property-descriptors: 1.0.0 object-keys: 1.1.1 - dev: false /define-property@0.2.5: resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} @@ -9914,13 +9870,13 @@ packages: eslint: 8.49.0 dev: true - /eslint-config-turbo@1.10.16(eslint@8.49.0): - resolution: {integrity: sha512-O3NQI72bQHV7FvSC6lWj66EGx8drJJjuT1kuInn6nbMLOHdMBhSUX/8uhTAlHRQdlxZk2j9HtgFCIzSc93w42g==} + /eslint-config-turbo@1.10.14(eslint@8.49.0): + resolution: {integrity: sha512-ZeB+IcuFXy1OICkLuAplVa0euoYbhK+bMEQd0nH9+Lns18lgZRm33mVz/iSoH9VdUzl/1ZmFmoK+RpZc+8R80A==} peerDependencies: eslint: '>6.6.0' dependencies: eslint: 8.49.0 - eslint-plugin-turbo: 1.10.16(eslint@8.49.0) + eslint-plugin-turbo: 1.10.14(eslint@8.49.0) dev: false /eslint-import-resolver-node@0.3.7: @@ -9986,7 +9942,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -10007,15 +9963,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.49.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@4.9.5) debug: 3.2.7 eslint: 8.49.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color - dev: true + dev: false - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -10036,13 +9992,13 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.9.1(eslint@8.49.0)(typescript@5.0.4) debug: 3.2.7 eslint: 8.49.0 eslint-import-resolver-node: 0.3.7 transitivePeerDependencies: - supports-color - dev: false + dev: true /eslint-plugin-es@3.0.1(eslint@8.42.0): resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} @@ -10066,7 +10022,7 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.26.0(@typescript-eslint/parser@6.10.0)(eslint@8.49.0): + /eslint-plugin-import@2.26.0(@typescript-eslint/parser@6.7.2)(eslint@8.49.0): resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -10076,14 +10032,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.10.0(eslint@8.49.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@4.9.5) array-includes: 3.1.6 array.prototype.flat: 1.3.1 debug: 2.6.9(supports-color@9.2.2) doctrine: 2.1.0 eslint: 8.49.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -10095,9 +10051,9 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true + dev: false - /eslint-plugin-import@2.26.0(@typescript-eslint/parser@6.7.2)(eslint@8.49.0): + /eslint-plugin-import@2.26.0(@typescript-eslint/parser@6.9.1)(eslint@8.49.0): resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -10107,14 +10063,14 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.7.2(eslint@8.49.0)(typescript@4.9.5) + '@typescript-eslint/parser': 6.9.1(eslint@8.49.0)(typescript@5.0.4) array-includes: 3.1.6 array.prototype.flat: 1.3.1 debug: 2.6.9(supports-color@9.2.2) doctrine: 2.1.0 eslint: 8.49.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.7.2)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.7)(eslint@8.49.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 @@ -10126,7 +10082,7 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: false + dev: true /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.42.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} @@ -10347,8 +10303,8 @@ packages: - typescript dev: true - /eslint-plugin-turbo@1.10.16(eslint@8.49.0): - resolution: {integrity: sha512-ZjrR88MTN64PNGufSEcM0tf+V1xFYVbeiMeuIqr0aiABGomxFLo4DBkQ7WI4WzkZtWQSIA2sP+yxqSboEfL9MQ==} + /eslint-plugin-turbo@1.10.14(eslint@8.49.0): + resolution: {integrity: sha512-sBdBDnYr9AjT1g4lR3PBkZDonTrMnR4TvuGv5W0OiF7z9az1rI68yj2UHJZvjkwwcGu5mazWA1AfB0oaagpmfg==} peerDependencies: eslint: '>6.6.0' dependencies: @@ -10598,7 +10554,6 @@ packages: /estree-walker@0.6.1: resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: false /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -11216,7 +11171,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.1 functions-have-names: 1.2.3 @@ -11265,17 +11220,11 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /get-port@7.0.0: - resolution: {integrity: sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==} - engines: {node: '>=16'} - dev: true - /get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} dependencies: data-uri-to-buffer: 2.0.2 source-map: 0.6.1 - dev: false /get-stream@4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} @@ -12001,7 +11950,7 @@ packages: mute-stream: 0.0.8 ora: 5.4.1 run-async: 2.4.1 - rxjs: 7.8.1 + rxjs: 7.8.0 string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 @@ -13565,7 +13514,6 @@ packages: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 - dev: false /magic-string@0.30.3: resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} @@ -14172,6 +14120,29 @@ packages: engines: {node: '>=4'} dev: false + /miniflare@3.20231030.0: + resolution: {integrity: sha512-iCg1dNauUG+kNp7jizcNmV/1XFItuTDvD/6xIC34PrszgKxYCbBO2R72y5NEDJTwaqr5ohQI/320wuJ8GEe7nQ==} + engines: {node: '>=16.13'} + hasBin: true + dependencies: + acorn: 8.10.0 + acorn-walk: 8.2.0 + capnp-ts: 0.7.0(patch_hash=l4yimnxyvkiyj6alnps2ec3sii) + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + source-map-support: 0.5.21 + stoppable: 1.1.0 + undici: 5.23.0 + workerd: 1.20231030.0 + ws: 8.13.0 + youch: 3.2.3 + zod: 3.22.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -14453,7 +14424,6 @@ packages: /node-forge@1.3.0: resolution: {integrity: sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA==} engines: {node: '>= 6.13.0'} - dev: false /node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -15210,8 +15180,8 @@ packages: irregular-plurals: 3.5.0 dev: true - /pnpm@8.10.2: - resolution: {integrity: sha512-B4IJPVumx62UYggbwe8HdQFqS0EJ7KHh/tzqbxEBQ69fUJk9s2xCfU+oxivjkgoyJNsS2nGdJGyhndnxgEjDPA==} + /pnpm@8.10.0: + resolution: {integrity: sha512-nCy4Pyts9qJdjFgwC/mRl8fvO+hM8+dm8pBUtAuDtC+Kq6b8wxSp7PJ8APfOgKdXu0xgiADnrb4tKdxccFb1vg==} engines: {node: '>=16.14'} hasBin: true dev: true @@ -15427,7 +15397,6 @@ packages: /printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} - dev: false /prism-react-renderer@1.3.5(react@18.2.0): resolution: {integrity: sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==} @@ -16288,19 +16257,16 @@ packages: estree-walker: 0.6.1 magic-string: 0.25.9 rollup-pluginutils: 2.8.2 - dev: false /rollup-plugin-node-polyfills@0.2.1: resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==} dependencies: rollup-plugin-inject: 3.0.2 - dev: false /rollup-pluginutils@2.8.2: resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} dependencies: estree-walker: 0.6.1 - dev: false /rollup@3.25.1: resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==} @@ -16435,7 +16401,6 @@ packages: engines: {node: '>=10'} dependencies: node-forge: 1.3.0 - dev: false /semiver@1.1.0: resolution: {integrity: sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==} @@ -16468,6 +16433,7 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 + dev: true /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -16819,7 +16785,6 @@ packages: /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead - dev: false /space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -16898,7 +16863,6 @@ packages: dependencies: as-table: 1.0.55 get-source: 2.0.12 - dev: false /standard-as-callback@2.1.0: resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} @@ -16924,7 +16888,6 @@ packages: /stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} - dev: false /stream-shift@1.0.1: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} @@ -17010,21 +16973,21 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.1 /string.prototype.trimend@1.0.6: resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.1 /string.prototype.trimstart@1.0.6: resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} dependencies: call-bind: 1.0.2 - define-properties: 1.2.0 + define-properties: 1.2.1 es-abstract: 1.22.1 /string_decoder@0.10.31: @@ -18459,7 +18422,33 @@ packages: '@cloudflare/workerd-linux-64': 1.20231030.0 '@cloudflare/workerd-linux-arm64': 1.20231030.0 '@cloudflare/workerd-windows-64': 1.20231030.0 - dev: false + + /wrangler@3.16.0: + resolution: {integrity: sha512-MIx35sSdFKE3hnfWB6xWUnrt3OiyKK+PQnc9kFLjksLESX0tLmEk1gdvThYHliY90kkelS+nbH48SUGTFAI5BA==} + engines: {node: '>=16.17.0'} + hasBin: true + dependencies: + '@cloudflare/kv-asset-handler': 0.2.0 + '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19) + '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19) + blake3-wasm: 2.1.5 + chokidar: 3.5.3 + esbuild: 0.17.19 + miniflare: 3.20231030.0 + nanoid: 3.3.6 + path-to-regexp: 6.2.0 + resolve.exports: 2.0.2 + selfsigned: 2.1.1 + source-map: 0.6.1 + source-map-support: 0.5.21 + xxhash-wasm: 1.0.1 + optionalDependencies: + fsevents: 2.3.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true /wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -18539,8 +18528,8 @@ packages: optional: true dev: true - /ws@8.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -18610,7 +18599,6 @@ packages: /xxhash-wasm@1.0.1: resolution: {integrity: sha512-Lc9CTvDrH2vRoiaUzz25q7lRaviMhz90pkx6YxR9EPYtF99yOJnv2cB+CQ0hp/TLoqrUsk8z/W2EN31T568Azw==} - dev: false /y18n@4.0.3: resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} @@ -18730,7 +18718,6 @@ packages: cookie: 0.5.0 mustache: 4.2.0 stacktracey: 2.1.8 - dev: false /z-schema@5.0.3: resolution: {integrity: sha512-sGvEcBOTNum68x9jCpCVGPFJ6mWnkD0YxOcddDlJHRx3tKdB2q8pCHExMVZo/AV/6geuVJXG7hljDaWG8+5GDw==}