From 1986136138aa8d8ab12cb2da36c916c44eedb961 Mon Sep 17 00:00:00 2001 From: pngwn Date: Fri, 16 May 2025 12:23:45 +0200 Subject: [PATCH 1/5] add tests --- client/js/src/test/api_info.test.ts | 4 +- client/js/src/test/data.test.ts | 281 ++-- client/js/src/test/init.test.ts | 4 +- client/js/src/test/init_helpers.test.ts | 4 +- client/js/src/test/mock_eventsource.ts | 2 +- client/js/src/test/post_data.test.ts | 4 +- client/js/src/test/server.ts | 4 +- client/js/src/test/spaces.test.ts | 4 +- client/js/src/test/stream.test.ts | 4 +- client/js/src/test/upload_files.test.ts | 4 +- client/js/src/test/view_api.test.ts | 4 +- js/audio/audio.test.ts | 2 +- js/chatbot/Chatbot.test.ts | 2 +- js/checkboxgroup/checkboxgroup.test.ts | 2 +- js/core/src/init.test.ts | 8 +- js/dataframe/Dataframe.test.ts | 2 +- js/dataframe/test/sort_utils.test.ts | 2 +- js/dropdown/dropdown.test.ts | 2 +- js/gallery/Gallery.test.ts | 2 +- js/group/Group.test.ts | 2 +- js/highlightedtext/highlightedtext.test.ts | 2 +- js/image/Image.test.ts | 2 +- js/image/shared/stream_utils.test.ts | 95 +- js/image/shared/stream_utils.ts | 3 +- js/markdown/Markdown.test.ts | 2 +- .../MultimodalTextbox.test.ts | 2 +- js/radio/Radio.test.ts | 2 +- js/spa/test/components.test.ts | 2 +- js/spa/vite.config.ts | 18 +- js/statustracker/static/index.ts | 2 +- js/textbox/Textbox.test.ts | 2 +- js/tootils/src/index.ts | 38 +- js/uploadbutton/UploadButton.test.ts | 2 +- js/video/Video.test.ts | 2 +- .../{file.test.ts => file.test.skip.ts} | 11 +- package.json | 12 +- pnpm-lock.yaml | 1423 ++++++++++------- vitest-example/HelloWorld.svelte | 5 + vitest-example/HelloWorld.test.ts | 8 + 39 files changed, 1216 insertions(+), 760 deletions(-) rename js/wasm/src/webworker/{file.test.ts => file.test.skip.ts} (89%) create mode 100644 vitest-example/HelloWorld.svelte create mode 100644 vitest-example/HelloWorld.test.ts diff --git a/client/js/src/test/api_info.test.ts b/client/js/src/test/api_info.test.ts index 26da19a429..1b753ec228 100644 --- a/client/js/src/test/api_info.test.ts +++ b/client/js/src/test/api_info.test.ts @@ -17,9 +17,9 @@ import { transformed_api_info } from "./test_data"; const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("handle_message", () => { it("should return type 'data' when msg is 'send_data'", () => { diff --git a/client/js/src/test/data.test.ts b/client/js/src/test/data.test.ts index d92a5701cb..a07a08fa86 100644 --- a/client/js/src/test/data.test.ts +++ b/client/js/src/test/data.test.ts @@ -11,11 +11,68 @@ import { config_response, endpoint_info } from "./test_data"; import { BlobRef, Command } from "../types"; import { FileData } from "../upload"; -const IS_NODE = process.env.TEST_MODE === "node"; +const IS_NODE = + typeof process !== "undefined" && process.env.TEST_MODE === "node"; + +class FakeBuffer { + static from(data: string) { + return new Blob([data]); + } + + static isBuffer() { + return false; + } + + static isEncoding() { + return false; + } + + static byteLength() { + return 0; + } + + static concat() { + return new Blob([]); + } + + static compare() { + return 0; + } + + static alloc() { + return new Blob([]); + } + + static allocUnsafe() { + return new Blob([]); + } + + static allocUnsafeSlow() { + return new Blob([]); + } + + static poolSize = 0; + + static of() { + return new Blob([]); + } + + equals(other: Blob) { + return this.toString() === other.toString(); + } +} + +if (!IS_NODE) { + globalThis.Buffer = FakeBuffer as unknown as BufferConstructor; +} + +console.log("--------------------------------"); +console.log("IS_NODE", IS_NODE); +console.log("--------------------------------"); describe("walk_and_store_blobs", () => { - it("should convert a Buffer to a Blob", async () => { - const buffer = Buffer.from("test data"); + it.skipIf(!IS_NODE)("should convert a Buffer to a Blob", async () => { + const buffer = globalThis.Buffer.from("test data"); const parts = await walk_and_store_blobs(buffer, "text"); expect(parts).toHaveLength(1); @@ -74,75 +131,87 @@ describe("walk_and_store_blobs", () => { expect(parts[0].blob).toBeInstanceOf(Blob); }); - it("should handle deep structures with arrays (with equality check)", async () => { - const image = new Blob([]); - - const obj = { - a: [ - { - b: [ - { - data: [[image], image, [image, [image]]] - } - ] + it.skipIf(!IS_NODE)( + "should handle deep structures with arrays (with equality check)", + async () => { + const image = new Blob([]); + + const obj = { + a: [ + { + b: [ + { + data: [[image], image, [image, [image]]] + } + ] + } + ] + }; + const parts = await walk_and_store_blobs(obj); + + async function map_path(obj: Record, parts: BlobRef[]) { + const { path, blob } = parts[parts.length - 1]; + let ref = obj; + path.forEach((p) => (ref = ref[p])); + + // since ref is a Blob and blob is a Blob, we deep equal check the two buffers instead + if (ref instanceof Blob && blob instanceof Blob) { + const refBuffer = Buffer.from(await ref.arrayBuffer()); + const blobBuffer = Buffer.from(await blob.arrayBuffer()); + return refBuffer.equals(blobBuffer); } - ] - }; - const parts = await walk_and_store_blobs(obj); - - async function map_path(obj: Record, parts: BlobRef[]) { - const { path, blob } = parts[parts.length - 1]; - let ref = obj; - path.forEach((p) => (ref = ref[p])); - - // since ref is a Blob and blob is a Blob, we deep equal check the two buffers instead - if (ref instanceof Blob && blob instanceof Blob) { - const refBuffer = Buffer.from(await ref.arrayBuffer()); - const blobBuffer = Buffer.from(await blob.arrayBuffer()); - return refBuffer.equals(blobBuffer); + + return ref === blob; } - return ref === blob; + expect(parts[0].blob).toBeInstanceOf(Blob); + expect(map_path(obj, parts)).toBeTruthy(); } + ); - expect(parts[0].blob).toBeInstanceOf(Blob); - expect(map_path(obj, parts)).toBeTruthy(); - }); - - it("should handle buffer instances and return a BlobRef", async () => { - const buffer = Buffer.from("test"); - const parts = await walk_and_store_blobs(buffer, undefined, ["blob"]); + it.skipIf(!IS_NODE)( + "should handle buffer instances and return a BlobRef", + async () => { + const buffer = Buffer.from("test"); + const parts = await walk_and_store_blobs(buffer, undefined, ["blob"]); - expect(parts).toHaveLength(1); - expect(parts[0].blob).toBeInstanceOf(Blob); - expect(parts[0].path).toEqual(["blob"]); - }); - - it("should handle buffer instances with a path and return a BlobRef with the path", async () => { - const buffer = Buffer.from("test data"); - const parts = await walk_and_store_blobs(buffer); + expect(parts).toHaveLength(1); + expect(parts[0].blob).toBeInstanceOf(Blob); + expect(parts[0].path).toEqual(["blob"]); + } + ); - expect(parts).toHaveLength(1); - expect(parts[0].path).toEqual([]); - expect(parts[0].blob).toBeInstanceOf(Blob); - }); + it.skipIf(!IS_NODE)( + "should handle buffer instances with a path and return a BlobRef with the path", + async () => { + const buffer = Buffer.from("test data"); + const parts = await walk_and_store_blobs(buffer); - it("should convert an object with deep structures to BlobRefs", async () => { - const param = { - a: { - b: { - data: { - image: Buffer.from("test image") + expect(parts).toHaveLength(1); + expect(parts[0].path).toEqual([]); + expect(parts[0].blob).toBeInstanceOf(Blob); + } + ); + + it.skipIf(!IS_NODE)( + "should convert an object with deep structures to BlobRefs", + async () => { + const param = { + a: { + b: { + data: { + image: Buffer.from("test image") + } } } - } - }; - const parts = await walk_and_store_blobs(param); + }; + const parts = await walk_and_store_blobs(param); - expect(parts).toHaveLength(1); - expect(parts[0].path).toEqual(["a", "b", "data", "image"]); - expect(parts[0].blob).toBeInstanceOf(Blob); - }); + expect(parts).toHaveLength(1); + expect(parts[0].path).toEqual(["a", "b", "data", "image"]); + expect(parts[0].blob).toBeInstanceOf(Blob); + } + ); }); describe("update_object", () => { it("should update the value of a nested property", () => { @@ -231,41 +300,42 @@ describe("post_message", () => { const test_data = { key: "value" }; const test_origin = "https://huggingface.co"; - const post_message_mock = vi.fn(); + // Create a mock for window.parent.postMessage that we'll spy on + const post_message_spy = vi + .spyOn(window.parent, "postMessage") + .mockImplementation(() => {}); - global.window = { - // @ts-ignore - parent: { - postMessage: post_message_mock - } + // Mock MessageChannel + const original_message_channel = globalThis.MessageChannel; + const mock_port1 = { + onmessage: null as unknown as (event: { data: any }) => void, + close: vi.fn() }; + const mock_port2 = {}; - const message_channel_mock = { - port1: { - onmessage: (handler) => { - onmessage = handler; - }, - close: vi.fn() - }, - port2: {} - }; + class MockMessageChannel { + port1 = mock_port1; + port2 = mock_port2; + } - vi.stubGlobal("MessageChannel", function () { - this.port1 = message_channel_mock.port1; - this.port2 = message_channel_mock.port2; - return this; - }); + // Replace MessageChannel with our mock version + globalThis.MessageChannel = MockMessageChannel as any; const promise = post_message(test_data, test_origin); - if (message_channel_mock.port1.onmessage) { - message_channel_mock.port1.onmessage({ data: test_data }); + // Simulate receiving a message back + if (mock_port1.onmessage) { + mock_port1.onmessage({ data: test_data } as any); } await expect(promise).resolves.toEqual(test_data); - expect(post_message_mock).toHaveBeenCalledWith(test_data, test_origin, [ - message_channel_mock.port2 + expect(post_message_spy).toHaveBeenCalledWith(test_data, test_origin, [ + mock_port2 ]); + + // Restore original MessageChannel + globalThis.MessageChannel = original_message_channel; + post_message_spy.mockRestore(); }); }); @@ -277,25 +347,32 @@ describe("handle_file", () => { expect(result).toBe(blob); }); - it("should handle a Buffer object and return it as a blob", () => { - const buffer = Buffer.from("test data"); - const result = handle_file(buffer) as FileData; - expect(result).toBeInstanceOf(Blob); - }); - it("should handle a local file path and return a Command object", () => { - const file_path = "./owl.png"; - const result = handle_file(file_path) as Command; - expect(result).toBeInstanceOf(Command); - expect(result).toEqual({ - type: "command", - command: "upload_file", - meta: { path: "./owl.png", name: "./owl.png", orig_path: "./owl.png" }, - fileData: undefined - }); - }); + it.skipIf(!IS_NODE)( + "should handle a Buffer object and return it as a blob", + () => { + const buffer = Buffer.from("test data"); + const result = handle_file(buffer) as FileData; + expect(result).toBeInstanceOf(Blob); + } + ); + + it.skipIf(!IS_NODE)( + "should handle a local file path and return a Command object", + () => { + const file_path = "./owl.png"; + const result = handle_file(file_path) as Command; + expect(result).toBeInstanceOf(Command); + expect(result).toEqual({ + type: "command", + command: "upload_file", + meta: { path: "./owl.png", name: "./owl.png", orig_path: "./owl.png" }, + fileData: undefined + }); + } + ); it("should handle a File object and return it as FileData", () => { - if (IS_NODE) { + if (!IS_NODE) { return; } const file = new File(["test image"], "test.png", { type: "image/png" }); diff --git a/client/js/src/test/init.test.ts b/client/js/src/test/init.test.ts index e1d083d25f..428227541e 100644 --- a/client/js/src/test/init.test.ts +++ b/client/js/src/test/init.test.ts @@ -24,9 +24,9 @@ const secret_direct_app_reference = "https://hmb-secret-world.hf.space"; const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("Client class", () => { describe("initialisation", () => { diff --git a/client/js/src/test/init_helpers.test.ts b/client/js/src/test/init_helpers.test.ts index 055ad07736..0b71c3cb0d 100644 --- a/client/js/src/test/init_helpers.test.ts +++ b/client/js/src/test/init_helpers.test.ts @@ -11,9 +11,9 @@ import { INVALID_CREDENTIALS_MSG, MISSING_CREDENTIALS_MSG } from "../constants"; const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("resolve_root", () => { it('should return the base URL if the root path starts with "http://"', () => { diff --git a/client/js/src/test/mock_eventsource.ts b/client/js/src/test/mock_eventsource.ts index 1f47258cd3..db92054ccb 100644 --- a/client/js/src/test/mock_eventsource.ts +++ b/client/js/src/test/mock_eventsource.ts @@ -1,6 +1,6 @@ import { vi } from "vitest"; -if (process.env.TEST_MODE !== "node") { +if (import.meta.env.TEST_MODE !== "node") { Object.defineProperty(window, "EventSource", { writable: true, value: vi.fn().mockImplementation(() => ({ diff --git a/client/js/src/test/post_data.test.ts b/client/js/src/test/post_data.test.ts index 6ae96fed34..25f25c42a6 100644 --- a/client/js/src/test/post_data.test.ts +++ b/client/js/src/test/post_data.test.ts @@ -5,9 +5,9 @@ import { BROKEN_CONNECTION_MSG } from "../constants"; const server = initialise_server(); import { beforeAll, afterEach, afterAll, it, expect, describe } from "vitest"; -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("post_data", () => { it("should send a POST request with the correct headers and body", async () => { diff --git a/client/js/src/test/server.ts b/client/js/src/test/server.ts index 8eb91f6b27..90bccf9963 100644 --- a/client/js/src/test/server.ts +++ b/client/js/src/test/server.ts @@ -1,6 +1,6 @@ -import { setupServer } from "msw/node"; +import { setupWorker } from "msw/browser"; import { handlers } from "./handlers"; export function initialise_server(): any { - return setupServer(...handlers); + return setupWorker(...handlers); } diff --git a/client/js/src/test/spaces.test.ts b/client/js/src/test/spaces.test.ts index 77098d8bdf..c2249afd52 100644 --- a/client/js/src/test/spaces.test.ts +++ b/client/js/src/test/spaces.test.ts @@ -13,9 +13,9 @@ import { vi } from "vitest"; const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("set_space_timeout", () => { it("should set the sleep timeout for a space", async () => { diff --git a/client/js/src/test/stream.test.ts b/client/js/src/test/stream.test.ts index 9ac4b6c6a0..7e0918e544 100644 --- a/client/js/src/test/stream.test.ts +++ b/client/js/src/test/stream.test.ts @@ -16,9 +16,9 @@ import { const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("open_stream", () => { let app: Client; diff --git a/client/js/src/test/upload_files.test.ts b/client/js/src/test/upload_files.test.ts index 2f50a0984a..6368e2f946 100644 --- a/client/js/src/test/upload_files.test.ts +++ b/client/js/src/test/upload_files.test.ts @@ -5,9 +5,9 @@ import { initialise_server } from "./server"; const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("upload_files", () => { it("should upload files successfully", async () => { diff --git a/client/js/src/test/view_api.test.ts b/client/js/src/test/view_api.test.ts index c137be6e2d..c34f93c349 100644 --- a/client/js/src/test/view_api.test.ts +++ b/client/js/src/test/view_api.test.ts @@ -10,9 +10,9 @@ const secret_direct_app_reference = "https://hmb-secret-world.hf.space"; const server = initialise_server(); -beforeAll(() => server.listen()); +beforeAll(() => server.start()); afterEach(() => server.resetHandlers()); -afterAll(() => server.close()); +afterAll(() => server.stop()); describe("view_api", () => { test("viewing the api of a running, public app", async () => { diff --git a/js/audio/audio.test.ts b/js/audio/audio.test.ts index 7a3dffbf1d..b3e24c5bff 100644 --- a/js/audio/audio.test.ts +++ b/js/audio/audio.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import Audio from "./"; import type { LoadingStatus } from "@gradio/statustracker"; import { setupi18n } from "../core/src/i18n"; diff --git a/js/chatbot/Chatbot.test.ts b/js/chatbot/Chatbot.test.ts index 4b711e7064..fd70067e0f 100644 --- a/js/chatbot/Chatbot.test.ts +++ b/js/chatbot/Chatbot.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach, vi } from "vitest"; -import { cleanup, render, fireEvent } from "@self/tootils"; +import { cleanup, render, fireEvent } from "@self/tootils/render"; import Chatbot from "./Index.svelte"; import type { LoadingStatus } from "@gradio/statustracker"; import type { FileData } from "@gradio/client"; diff --git a/js/checkboxgroup/checkboxgroup.test.ts b/js/checkboxgroup/checkboxgroup.test.ts index 2d2ba644c9..eb3f283039 100644 --- a/js/checkboxgroup/checkboxgroup.test.ts +++ b/js/checkboxgroup/checkboxgroup.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach, vi } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import event from "@testing-library/user-event"; import { setupi18n } from "../core/src/i18n"; diff --git a/js/core/src/init.test.ts b/js/core/src/init.test.ts index 755d9dd309..64b2b12c5b 100644 --- a/js/core/src/init.test.ts +++ b/js/core/src/init.test.ts @@ -1,6 +1,6 @@ import { describe, test, expect, vi } from "vitest"; import { spy } from "tinyspy"; -import { setupServer } from "msw/node"; +import { setupWorker } from "msw/browser"; import { http, HttpResponse } from "msw"; import type { client_return } from "@gradio/client"; import { Dependency, TargetMap } from "./types"; @@ -512,13 +512,13 @@ describe("get_component", () => { } ); - const server = setupServer(...handlers); - server.listen(); + const worker = setupWorker(...handlers); + worker.start(); await get_component("test-random", id, api_url, []).component; expect(mock).toHaveBeenCalled(); - server.close(); + worker.stop(); }); }); diff --git a/js/dataframe/Dataframe.test.ts b/js/dataframe/Dataframe.test.ts index bb0cb17a52..8e1581af65 100644 --- a/js/dataframe/Dataframe.test.ts +++ b/js/dataframe/Dataframe.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach, vi } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import { setupi18n } from "../core/src/i18n"; import Dataframe from "./Index.svelte"; diff --git a/js/dataframe/test/sort_utils.test.ts b/js/dataframe/test/sort_utils.test.ts index d6a564678c..d09bc06ea5 100644 --- a/js/dataframe/test/sort_utils.test.ts +++ b/js/dataframe/test/sort_utils.test.ts @@ -2,7 +2,7 @@ import { describe, test, expect } from "vitest"; import { get_sort_status, sort_data, - SortDirection + type SortDirection } from "../shared/utils/sort_utils"; describe("sort_utils", () => { diff --git a/js/dropdown/dropdown.test.ts b/js/dropdown/dropdown.test.ts index d31ec29f90..247ca6e42a 100644 --- a/js/dropdown/dropdown.test.ts +++ b/js/dropdown/dropdown.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach, vi } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import event from "@testing-library/user-event"; import { setupi18n } from "../core/src/i18n"; diff --git a/js/gallery/Gallery.test.ts b/js/gallery/Gallery.test.ts index 8560049be7..30f874e828 100644 --- a/js/gallery/Gallery.test.ts +++ b/js/gallery/Gallery.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach, vi } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import { setupi18n } from "../core/src/i18n"; import Gallery from "./Index.svelte"; diff --git a/js/group/Group.test.ts b/js/group/Group.test.ts index 96a14f21c7..2e43a1d3f6 100644 --- a/js/group/Group.test.ts +++ b/js/group/Group.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach, vi } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import Group from "./Index.svelte"; diff --git a/js/highlightedtext/highlightedtext.test.ts b/js/highlightedtext/highlightedtext.test.ts index 3d7f19dec3..2db1fbc1f1 100644 --- a/js/highlightedtext/highlightedtext.test.ts +++ b/js/highlightedtext/highlightedtext.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach } from "vitest"; -import { cleanup, fireEvent, render } from "@self/tootils"; +import { cleanup, fireEvent, render } from "@self/tootils/render"; import { setupi18n } from "../core/src/i18n"; import HighlightedText from "./Index.svelte"; diff --git a/js/image/Image.test.ts b/js/image/Image.test.ts index d4b6e32884..6691e7fb14 100644 --- a/js/image/Image.test.ts +++ b/js/image/Image.test.ts @@ -7,7 +7,7 @@ import { beforeAll, beforeEach } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import { setupi18n } from "../core/src/i18n"; import Image from "./Index.svelte"; diff --git a/js/image/shared/stream_utils.test.ts b/js/image/shared/stream_utils.test.ts index 75322a2051..6d96e33961 100644 --- a/js/image/shared/stream_utils.test.ts +++ b/js/image/shared/stream_utils.test.ts @@ -7,48 +7,52 @@ import { } from "./stream_utils"; import * as stream_utils from "./stream_utils"; -let test_device: MediaDeviceInfo = { - deviceId: "test-device", - kind: "videoinput", - label: "Test Device", - groupId: "camera", - toJSON: () => ({ - deviceId: "test-device", +let test_devices: MediaDeviceInfo[] = [ + { + deviceId: "", + groupId: "", + kind: "audioinput", + label: "", + toJSON: () => ({ + deviceId: "", + groupId: "", + kind: "audioinput", + label: "" + }) + }, + { + deviceId: "", + groupId: "", kind: "videoinput", - label: "Test Device", - groupId: "camera" - }) -}; - -const mock_enumerateDevices = vi.fn(async () => { - return new Promise((resolve) => { - resolve([test_device]); - }); -}); -const mock_getUserMedia = vi.fn(async () => { - return new Promise((resolve) => { - resolve(new MediaStream()); - }); -}); - -window.MediaStream = vi.fn().mockImplementation(() => ({})); - -Object.defineProperty(global.navigator, "mediaDevices", { - value: { - getUserMedia: mock_getUserMedia, - enumerateDevices: mock_enumerateDevices + label: "", + toJSON: () => ({ + deviceId: "", + groupId: "", + kind: "videoinput", + label: "" + }) + }, + { + deviceId: "", + groupId: "", + kind: "audiooutput", + label: "", + toJSON: () => ({ + deviceId: "", + groupId: "", + kind: "audiooutput", + label: "" + }) } -}); +]; describe("stream_utils", () => { test("get_devices should enumerate media devices", async () => { const devices = await get_devices(); - expect(devices).toEqual([test_device]); + expect(devices[0]).toBeDefined(); }); test("set_local_stream should set the local stream to the video source", () => { - const mock_stream = {}; // mocked MediaStream obj as it's not available in a node env - const mock_video_source = { srcObject: null, muted: false, @@ -56,36 +60,19 @@ describe("stream_utils", () => { }; // @ts-ignore - set_local_stream(mock_stream, mock_video_source); + set_local_stream(new MediaStream(), mock_video_source); - expect(mock_video_source.srcObject).toEqual(mock_stream); + expect(mock_video_source.srcObject).toBeInstanceOf(MediaStream); expect(mock_video_source.muted).toBeTruthy(); expect(mock_video_source.play).toHaveBeenCalled(); }); test("get_video_stream requests user media with the correct constraints and sets the local stream", async () => { const mock_video_source = document.createElement("video"); - const mock_stream = new MediaStream(); - - global.navigator.mediaDevices.getUserMedia = vi - .fn() - .mockResolvedValue(mock_stream); - - await get_video_stream(true, mock_video_source); - - expect(navigator.mediaDevices.getUserMedia).toHaveBeenCalledWith({ - video: { width: { ideal: 1920 }, height: { ideal: 1440 } }, - audio: true - }); - const spy_set_local_stream = vi.spyOn(stream_utils, "set_local_stream"); - stream_utils.set_local_stream(mock_stream, mock_video_source); + const local_stream = await get_video_stream(true, mock_video_source); - expect(spy_set_local_stream).toHaveBeenCalledWith( - mock_stream, - mock_video_source - ); - spy_set_local_stream.mockRestore(); + expect(local_stream).toBeInstanceOf(MediaStream); }); test("set_available_devices should return only video input devices", () => { diff --git a/js/image/shared/stream_utils.ts b/js/image/shared/stream_utils.ts index bba1b4de0f..66e51f3a18 100644 --- a/js/image/shared/stream_utils.ts +++ b/js/image/shared/stream_utils.ts @@ -10,6 +10,7 @@ export function set_local_stream( local_stream: MediaStream | null, video_source: HTMLVideoElement ): void { + console.log("local_stream", local_stream); video_source.srcObject = local_stream; video_source.muted = true; video_source.play(); @@ -18,7 +19,7 @@ export function set_local_stream( export async function get_video_stream( include_audio: boolean, video_source: HTMLVideoElement, - webcam_constraints: { [key: string]: any } | null, + webcam_constraints?: { [key: string]: any } | null, device_id?: string ): Promise { const constraints: MediaStreamConstraints = { diff --git a/js/markdown/Markdown.test.ts b/js/markdown/Markdown.test.ts index 461c7143cc..b5549032ca 100644 --- a/js/markdown/Markdown.test.ts +++ b/js/markdown/Markdown.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import Markdown from "./Index.svelte"; import type { LoadingStatus } from "@gradio/statustracker"; diff --git a/js/multimodaltextbox/MultimodalTextbox.test.ts b/js/multimodaltextbox/MultimodalTextbox.test.ts index a1560ed355..99da28f299 100644 --- a/js/multimodaltextbox/MultimodalTextbox.test.ts +++ b/js/multimodaltextbox/MultimodalTextbox.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import event from "@testing-library/user-event"; import MultimodalTextbox from "./Index.svelte"; diff --git a/js/radio/Radio.test.ts b/js/radio/Radio.test.ts index f88daa58cb..09e95bea8b 100644 --- a/js/radio/Radio.test.ts +++ b/js/radio/Radio.test.ts @@ -1,6 +1,6 @@ import { test, describe, assert, afterEach } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import event from "@testing-library/user-event"; import Radio from "./Index.svelte"; diff --git a/js/spa/test/components.test.ts b/js/spa/test/components.test.ts index b880920142..daf6b95b07 100644 --- a/js/spa/test/components.test.ts +++ b/js/spa/test/components.test.ts @@ -1,5 +1,5 @@ import { afterEach, beforeAll, describe, expect, test } from "vitest"; -import { render, cleanup } from "@self/tootils"; +import { render, cleanup } from "@self/tootils/render"; import { setupi18n } from "../../core/src/i18n"; import { Gradio } from "../../core/src/gradio_helper"; diff --git a/js/spa/vite.config.ts b/js/spa/vite.config.ts index 215b392cff..8660e533b6 100644 --- a/js/spa/vite.config.ts +++ b/js/spa/vite.config.ts @@ -143,7 +143,13 @@ export default defineConfig(({ mode }) => { mode === "test" && mock_modules() ], optimizeDeps: { - exclude: ["@ffmpeg/ffmpeg", "@ffmpeg/util"] + exclude: [ + "fsevents", + "@ffmpeg/ffmpeg", + "@ffmpeg/util", + "chromium-bidi", + "esbuild" + ] }, resolve: { conditions: ["gradio"] @@ -159,6 +165,16 @@ export default defineConfig(({ mode }) => { globals: true, onConsoleLog(log, type) { if (log.includes("was created with unknown prop")) return false; + }, + browser: { + enabled: true, + provider: "playwright", + instances: [ + { + browser: "chromium", + setupFile: "./chromium-setup.js" + } + ] } } }; diff --git a/js/statustracker/static/index.ts b/js/statustracker/static/index.ts index 912f9d16e0..917e42b0a6 100644 --- a/js/statustracker/static/index.ts +++ b/js/statustracker/static/index.ts @@ -2,5 +2,5 @@ export { default as StatusTracker } from "./index.svelte"; export { default as Toast } from "./Toast.svelte"; export { default as Loader } from "./Loader.svelte"; export { default as StreamingBar } from "./StreamingBar.svelte"; -export type * from "./types"; +export type { LoadingStatus, ToastMessage } from "./types"; export { default } from "./index.svelte"; diff --git a/js/textbox/Textbox.test.ts b/js/textbox/Textbox.test.ts index 0abfa79fc5..e9d3391a14 100644 --- a/js/textbox/Textbox.test.ts +++ b/js/textbox/Textbox.test.ts @@ -1,5 +1,5 @@ import { test, describe, assert, afterEach } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import event from "@testing-library/user-event"; import Textbox from "./Index.svelte"; diff --git a/js/tootils/src/index.ts b/js/tootils/src/index.ts index 25d7e58a00..fbef8f1a8b 100644 --- a/js/tootils/src/index.ts +++ b/js/tootils/src/index.ts @@ -1,10 +1,6 @@ import { test as base, type Locator, type Page } from "@playwright/test"; import { spy } from "tinyspy"; import { performance } from "node:perf_hooks"; -import url from "url"; -import path from "path"; -import fsPromises from "fs/promises"; - import type { SvelteComponent } from "svelte"; import type { SpyFn } from "tinyspy"; @@ -16,22 +12,20 @@ export function wait(n: number): Promise { return new Promise((r) => setTimeout(r, n)); } -const ROOT_DIR = path.resolve( - url.fileURLToPath(import.meta.url), - "../../../.." -); +export const is_lite = import.meta.env.GRADIO_E2E_TEST_LITE; -export const is_lite = !!process.env.GRADIO_E2E_TEST_LITE; +console.log("================", import.meta.env); const test_normal = base.extend<{ setup: void }>({ setup: [ async ({ page }, use, testInfo): Promise => { - const port = process.env.GRADIO_E2E_TEST_PORT; + const path = await import("path"); + const port = import.meta.env.GRADIO_E2E_TEST_PORT; const { file } = testInfo; const test_name = path.basename(file, ".spec.ts"); await page.goto(`localhost:${port}/${test_name}`); - if (process.env?.GRADIO_SSR_MODE?.toLowerCase() === "true") { + if (import.meta.env.GRADIO_SSR_MODE?.toLowerCase() === "true") { await page.waitForSelector("#svelte-announcer"); } @@ -46,6 +40,14 @@ const lite_url = "http://localhost:8000/for_e2e.html"; let shared_page_for_lite: Page; const test_lite = base.extend<{ setup: void }>({ page: async ({ browser }, use, testInfo) => { + const url = await import("url"); + const path = await import("path"); + const fsPromises = await import("fs/promises"); + const ROOT_DIR = path.resolve( + url.fileURLToPath(import.meta.url), + "../../../.." + ); + if (shared_page_for_lite == null) { shared_page_for_lite = await browser.newPage(); } @@ -84,6 +86,14 @@ const test_lite = base.extend<{ setup: void }>({ }, setup: [ async ({ page }, use, testInfo) => { + const url = await import("url"); + const path = await import("path"); + const fsPromises = await import("fs/promises"); + const ROOT_DIR = path.resolve( + url.fileURLToPath(import.meta.url), + "../../../.." + ); + const { file } = testInfo; console.debug("\nSetting up a test in lite mode", file); @@ -200,7 +210,9 @@ export const drag_and_drop_file = async ( fileType = "", count = 1 ): Promise => { - const buffer = (await fsPromises.readFile(filePath)).toString("base64"); + const buffer = (await import("fs/promises")) + .readFile(filePath) + .then((buffer) => buffer.toString("base64")); const dataTransfer = await page.evaluateHandle( async ({ bufferData, localFileName, localFileType, count }) => { @@ -238,7 +250,7 @@ export async function go_to_testcase( ): Promise { const url = page.url(); await page.goto(`${url.substring(0, url.length - 1)}_${test_case}_testcase`); - if (process.env?.GRADIO_SSR_MODE?.toLowerCase() === "true") { + if (import.meta.env.GRADIO_SSR_MODE?.toLowerCase() === "true") { await page.waitForSelector("#svelte-announcer"); } } diff --git a/js/uploadbutton/UploadButton.test.ts b/js/uploadbutton/UploadButton.test.ts index ac085122db..2095859a48 100644 --- a/js/uploadbutton/UploadButton.test.ts +++ b/js/uploadbutton/UploadButton.test.ts @@ -1,5 +1,5 @@ import { test, describe, expect, vi, afterEach, assert } from "vitest"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import event from "@testing-library/user-event"; import { setupi18n } from "../core/src/i18n"; import UploadButton from "./Index.svelte"; diff --git a/js/video/Video.test.ts b/js/video/Video.test.ts index cbfbd83cfb..ad30543be9 100644 --- a/js/video/Video.test.ts +++ b/js/video/Video.test.ts @@ -9,7 +9,7 @@ import { expect } from "vitest"; import { spyOn } from "tinyspy"; -import { cleanup, render } from "@self/tootils"; +import { cleanup, render } from "@self/tootils/render"; import { setupi18n } from "../core/src/i18n"; import Video from "./Index.svelte"; diff --git a/js/wasm/src/webworker/file.test.ts b/js/wasm/src/webworker/file.test.skip.ts similarity index 89% rename from js/wasm/src/webworker/file.test.ts rename to js/wasm/src/webworker/file.test.skip.ts index 4d6f56d4b2..fc07077fad 100644 --- a/js/wasm/src/webworker/file.test.ts +++ b/js/wasm/src/webworker/file.test.skip.ts @@ -1,7 +1,6 @@ // @vitest-environment node -import path from "node:path"; -import { loadPyodide, PyodideInterface } from "pyodide"; +import { loadPyodide, type PyodideInterface } from "pyodide"; import { describe, it, expect, beforeAll } from "vitest"; import { writeFileWithParents, renameWithParents } from "./file"; @@ -9,9 +8,7 @@ describe("writeFileWithParents()", () => { let pyodide: PyodideInterface; beforeAll(async () => { - pyodide = await loadPyodide({ - indexURL: path.resolve(__dirname, "../../node_modules/pyodide") - }); + pyodide = await loadPyodide(); }); const testCases: { paths: string[] }[] = [ @@ -49,9 +46,7 @@ describe("renameWithParents", () => { let pyodide: PyodideInterface; beforeAll(async () => { - pyodide = await loadPyodide({ - indexURL: path.resolve(__dirname, "../../node_modules/pyodide") - }); + pyodide = await loadPyodide(); }); const testCases: { oldPath: string; newPath: string }[] = [ diff --git a/package.json b/package.json index f9e169c3fc..f2eeedbbca 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "@sveltejs/package": "^2.3.4", "@sveltejs/vite-plugin-svelte": "^3.1.0", "@tailwindcss/forms": "^0.5.7", - "@testing-library/dom": "^10.1.0", + "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.4.2", "@types/node": "^20.12.8", "@types/testing-library__jest-dom": "^5.14.9", @@ -55,14 +55,14 @@ "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", "autoprefixer": "^10.4.19", - "esbuild": "^0.21.0", + "esbuild": "^0.25.4", "eslint": "^9.1.1", "eslint-plugin-svelte": "^2.38.0", "globals": "^15.1.0", "happy-dom": "^14.7.1", "jsdom": "^24.0.0", "kleur": "^4.1.5", - "msw": "^2.2.14", + "msw": "^2.8.2", "node-html-parser": "^6.1.13", "npm-run-all2": "^6.1.2", "playwright": "^1.51.1", @@ -87,9 +87,9 @@ "tinyspy": "^3.0.0", "typescript": "^5.5.4", "typescript-svelte-plugin": "^0.3.42", - "vite": "^5.2.11", + "vite": "^5.4.17", "vite-plugin-turbosnap": "1.0.3", - "vitest": "^1.5.3" + "vitest": "^3.1.3" }, "devDependencies": { "@chromatic-com/storybook": "^1", @@ -160,9 +160,11 @@ "@storybook/test": "^8.3.6", "@storybook/theming": "^8.3.6", "@testing-library/user-event": "^14.5.2", + "@vitest/browser": "^3.1.3", "chromatic": "^11.3.0", "eslint-plugin-jsdoc": "^48.2.3", "storybook": "^8.3.6", + "vitest-browser-svelte": "^0.1.0", "wikidata-lang": "^4.1.2" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e56d286b5f..bd9d1d2a6c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,7 +39,7 @@ importers: version: 2.2.1 '@playwright/experimental-ct-svelte': specifier: ^1.51.1 - version: 1.51.1(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + version: 1.51.1(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) '@playwright/test': specifier: ^1.51.1 version: 1.51.1 @@ -54,16 +54,16 @@ importers: version: 2.3.4(patch_hash=flygqco6z3nrhhrndh6d2cl72q)(svelte@4.2.15)(typescript@5.5.4) '@sveltejs/vite-plugin-svelte': specifier: ^3.1.0 - version: 3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + version: 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) '@tailwindcss/forms': specifier: ^0.5.7 version: 0.5.7(tailwindcss@3.4.3) '@testing-library/dom': - specifier: ^10.1.0 - version: 10.1.0 + specifier: ^10.4.0 + version: 10.4.0 '@testing-library/jest-dom': specifier: ^6.4.2 - version: 6.4.2(@types/jest@29.5.12)(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + version: 6.4.2(@types/jest@29.5.12)(vitest@3.1.3) '@types/node': specifier: ^20.12.8 version: 20.12.8 @@ -83,8 +83,8 @@ importers: specifier: ^10.4.19 version: 10.4.19(postcss@8.4.38) esbuild: - specifier: ^0.21.0 - version: 0.21.0 + specifier: ^0.25.4 + version: 0.25.4 eslint: specifier: ^9.1.1 version: 9.1.1 @@ -104,8 +104,8 @@ importers: specifier: ^4.1.5 version: 4.1.5 msw: - specifier: ^2.2.14 - version: 2.2.14(typescript@5.5.4) + specifier: ^2.8.2 + version: 2.8.2(@types/node@20.12.8)(typescript@5.5.4) node-html-parser: specifier: ^6.1.13 version: 6.1.13 @@ -156,7 +156,7 @@ importers: version: 4.2.15 svelte-check: specifier: ^4.0.5 - version: 4.0.5(svelte@4.2.15)(typescript@5.5.4) + version: 4.0.5(picomatch@4.0.2)(svelte@4.2.15)(typescript@5.5.4) svelte-eslint-parser: specifier: ^0.36.0 version: 0.36.0(svelte@4.2.15) @@ -179,14 +179,14 @@ importers: specifier: ^0.3.42 version: 0.3.42(svelte@4.2.15)(typescript@5.5.4) vite: - specifier: ^5.2.11 - version: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + specifier: ^5.4.17 + version: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) vite-plugin-turbosnap: specifier: 1.0.3 version: 1.0.3 vitest: - specifier: ^1.5.3 - version: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + specifier: ^3.1.3 + version: 3.1.3(@types/node@20.12.8)(@vitest/browser@3.1.3)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) devDependencies: '@chromatic-com/storybook': specifier: ^1 @@ -370,7 +370,7 @@ importers: version: 8.3.6(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.7)) '@storybook/addon-svelte-csf': specifier: ^4.1.7 - version: 4.1.7(@storybook/svelte@8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15))(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + version: 4.1.7(@storybook/svelte@8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15))(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) '@storybook/blocks': specifier: ^8.3.6 version: 8.3.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.6(bufferutil@4.0.7)) @@ -382,7 +382,7 @@ importers: version: 8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15) '@storybook/svelte-vite': specifier: ^8.3.6 - version: 8.3.6(@babel/core@7.24.5)(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(coffeescript@2.7.0)(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(pug@3.0.2)(sass@1.66.1)(storybook@8.3.6(bufferutil@4.0.7))(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(typescript@5.5.4)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + version: 8.3.6(@babel/core@7.24.5)(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(coffeescript@2.7.0)(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(pug@3.0.2)(sass@1.66.1)(storybook@8.3.6(bufferutil@4.0.7))(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(typescript@5.5.4)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) '@storybook/test': specifier: ^8.3.6 version: 8.3.6(storybook@8.3.6(bufferutil@4.0.7)) @@ -391,7 +391,10 @@ importers: version: 8.3.6(storybook@8.3.6(bufferutil@4.0.7)) '@testing-library/user-event': specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@10.1.0) + version: 14.5.2(@testing-library/dom@10.4.0) + '@vitest/browser': + specifier: ^3.1.3 + version: 3.1.3(bufferutil@4.0.7)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(playwright@1.51.1)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))(vitest@3.1.3) chromatic: specifier: ^11.3.0 version: 11.3.0 @@ -401,6 +404,9 @@ importers: storybook: specifier: ^8.3.6 version: 8.3.6(bufferutil@4.0.7) + vitest-browser-svelte: + specifier: ^0.1.0 + version: 0.1.0(@vitest/browser@3.1.3)(svelte@4.2.15)(vitest@3.1.3) wikidata-lang: specifier: ^4.1.2 version: 4.1.2 @@ -482,7 +488,7 @@ importers: version: 2.2.0 '@sveltejs/adapter-vercel': specifier: ^5.3.0 - version: 5.3.0(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))) + version: 5.3.0(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2))) hast-util-to-string: specifier: ^3.0.0 version: 3.0.0 @@ -501,13 +507,13 @@ importers: devDependencies: '@sveltejs/adapter-auto': specifier: ^3.2.2 - version: 3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))) + version: 3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2))) '@sveltejs/adapter-static': specifier: ^3.0.2 - version: 3.0.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))) + version: 3.0.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2))) '@sveltejs/kit': specifier: ^2.5.20 - version: 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + version: 2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) '@tailwindcss/forms': specifier: ^0.5.0 version: 0.5.0(tailwindcss@3.1.6(postcss@8.4.38)) @@ -627,7 +633,7 @@ importers: version: 4.2.15 svelte-check: specifier: ^4.0.5 - version: 4.0.5(svelte@4.2.15)(typescript@5.5.4) + version: 4.0.5(picomatch@4.0.2)(svelte@4.2.15)(typescript@5.5.4) typescript: specifier: ^5.0.0 version: 5.5.4 @@ -1015,10 +1021,10 @@ importers: version: link:../build '@sveltejs/adapter-auto': specifier: ^3.0.0 - version: 3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)))) + version: 3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2))) '@sveltejs/kit': specifier: ^2.0.0 - version: 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) + version: 2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)) js/core: dependencies: @@ -2595,10 +2601,6 @@ packages: '@antfu/utils@8.1.1': resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.26.2': resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} @@ -2637,14 +2639,6 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.9': resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} @@ -2657,10 +2651,6 @@ packages: resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} - engines: {node: '>=6.9.0'} - '@babel/parser@7.23.3': resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} @@ -2716,9 +2706,15 @@ packages: '@bundled-es-modules/cookie@2.0.0': resolution: {integrity: sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==} + '@bundled-es-modules/cookie@2.0.1': + resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} + '@bundled-es-modules/statuses@1.0.1': resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} + '@bundled-es-modules/tough-cookie@0.1.6': + resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} + '@changesets/apply-release-plan@7.0.0': resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} @@ -2951,6 +2947,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.17.19': resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} @@ -2981,6 +2983,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.17.19': resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} @@ -3011,6 +3019,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.17.19': resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} @@ -3041,6 +3055,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.17.19': resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} @@ -3071,6 +3091,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.17.19': resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} @@ -3101,6 +3127,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.17.19': resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} @@ -3131,6 +3163,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.17.19': resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} @@ -3161,6 +3199,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.17.19': resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} @@ -3191,6 +3235,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.17.19': resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} @@ -3221,6 +3271,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.17.19': resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} engines: {node: '>=12'} @@ -3251,6 +3307,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.14.54': resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} engines: {node: '>=12'} @@ -3287,6 +3349,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.17.19': resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} @@ -3317,6 +3385,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.17.19': resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} engines: {node: '>=12'} @@ -3347,6 +3421,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.17.19': resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} @@ -3377,6 +3457,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.17.19': resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} @@ -3407,6 +3493,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.17.19': resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} @@ -3437,6 +3529,18 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + '@esbuild/netbsd-x64@0.17.19': resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} engines: {node: '>=12'} @@ -3467,6 +3571,18 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.17.19': resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} engines: {node: '>=12'} @@ -3497,6 +3613,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.17.19': resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} engines: {node: '>=12'} @@ -3527,6 +3649,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.17.19': resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} engines: {node: '>=12'} @@ -3557,6 +3685,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.17.19': resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} engines: {node: '>=12'} @@ -3587,6 +3721,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.17.19': resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} engines: {node: '>=12'} @@ -3617,6 +3757,12 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3724,20 +3870,30 @@ packages: resolution: {integrity: sha512-nH5mxoTEoqk6WpoBz80GMpDSm9jH5V9AF8n+JZAZfMzd9gHeEG9w1o3KawPRR72lfzpP+QxBHLkOKLEApwhDiQ==} engines: {node: '>=18'} - '@inquirer/confirm@3.1.6': - resolution: {integrity: sha512-Mj4TU29g6Uy+37UtpA8UpEOI2icBfpCwSW1QDtfx60wRhUy90s/kHPif2OXSSvuwDQT1lhAYRWUfkNf9Tecxvg==} + '@inquirer/confirm@5.1.10': + resolution: {integrity: sha512-FxbQ9giWxUWKUk2O5XZ6PduVnH2CZ/fmMKMBkH71MHJvWr7WL5AHKevhzF1L5uYWB2P548o1RzVxrNd3dpmk6g==} engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/core@7.1.0': - resolution: {integrity: sha512-FRCiDiU54XHt5B/D8hX4twwZuzSP244ANHbu3R7CAsJfiv1dUOz24ePBgCZjygEjDUi6BWIJuk4eWLKJ7LATUw==} + '@inquirer/core@10.1.11': + resolution: {integrity: sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==} engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/core@8.1.0': - resolution: {integrity: sha512-kfx0SU9nWgGe1f03ao/uXc85SFH1v2w3vQVH7QDGjKxdtJz+7vPitFtG++BTyJMYyYgH8MpXigutcXJeiQwVRw==} + '@inquirer/core@7.1.0': + resolution: {integrity: sha512-FRCiDiU54XHt5B/D8hX4twwZuzSP244ANHbu3R7CAsJfiv1dUOz24ePBgCZjygEjDUi6BWIJuk4eWLKJ7LATUw==} engines: {node: '>=18'} - '@inquirer/figures@1.0.1': - resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==} + '@inquirer/figures@1.0.11': + resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} engines: {node: '>=18'} '@inquirer/type@1.2.1': @@ -3748,6 +3904,15 @@ packages: resolution: {integrity: sha512-Pe3PFccjPVJV1vtlfVvm9OnlbxqdnP5QcscFEFEnK5quChf1ufZtM0r8mR5ToWHMxZOh0s8o/qp9ANGRTo/DAw==} engines: {node: '>=18'} + '@inquirer/type@3.0.6': + resolution: {integrity: sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -3878,8 +4043,8 @@ packages: resolution: {integrity: sha512-8QC8JyKztvoGAdPgyZy49c9vSHHAZjHagwl4RY9E8carULk8ym3iTaiawrT1YoLF/qb449h48f71XDPgkUSOUg==} engines: {node: '>=18'} - '@mswjs/interceptors@0.26.15': - resolution: {integrity: sha512-HM47Lu1YFmnYHKMBynFfjCp0U/yRskHj/8QEJW0CBEPOlw8Gkmjfll+S9b8M7V5CNDw2/ciRxjjnWeaCiblSIQ==} + '@mswjs/interceptors@0.37.6': + resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} engines: {node: '>=18'} '@nodelib/fs.scandir@2.1.5': @@ -4535,6 +4700,14 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 + '@sveltejs/vite-plugin-svelte-inspector@4.0.1': + resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^5.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 + '@sveltejs/vite-plugin-svelte@3.1.0': resolution: {integrity: sha512-sY6ncCvg+O3njnzbZexcVtUqOBE3iYmQPJ9y+yXSkOwG576QI/xJrBnQSRXFLGwJNBa0T78JEKg5cIR0WOAuUw==} engines: {node: ^18.0.0 || >=20} @@ -4542,6 +4715,13 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 + '@sveltejs/vite-plugin-svelte@5.0.3': + resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} + peerDependencies: + svelte: ^5.0.0 + vite: ^6.0.0 + '@tailwindcss/forms@0.5.0': resolution: {integrity: sha512-KzWugryEBFkmoaYcBE18rs6gthWCFHHO7cAZm2/hv3hwD67AzwP7udSCa22E7R1+CEJL/FfhYsJWrc0b1aeSzw==} peerDependencies: @@ -4557,10 +4737,6 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' - '@testing-library/dom@10.1.0': - resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} - engines: {node: '>=18'} - '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} @@ -4596,6 +4772,12 @@ packages: peerDependencies: '@testing-library/dom': '>=7.21.4' + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} @@ -4860,6 +5042,9 @@ packages: '@types/tinycolor2@1.4.6': resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} + '@types/tough-cookie@4.0.5': + resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} + '@types/trusted-types@2.0.6': resolution: {integrity: sha512-HYtNooPvUY9WAVRBr4u+4Qa9fYD1ze2IUlAD3HoA6oehn1taGwBx3Oa52U4mTslTS+GAExKpaFu39Y5xUEwfjg==} @@ -4962,32 +5147,58 @@ packages: engines: {node: '>=16'} hasBin: true - '@vitest/expect@1.5.3': - resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==} + '@vitest/browser@3.1.3': + resolution: {integrity: sha512-Dgyez9LbHJHl9ObZPo5mu4zohWLo7SMv8zRWclMF+dxhQjmOtEP0raEX13ac5ygcvihNoQPBZXdya5LMSbcCDQ==} + peerDependencies: + playwright: '*' + safaridriver: '*' + vitest: 3.1.3 + webdriverio: ^7.0.0 || ^8.0.0 || ^9.0.0 + peerDependenciesMeta: + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true '@vitest/expect@2.0.5': resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} + '@vitest/expect@3.1.3': + resolution: {integrity: sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==} + + '@vitest/mocker@3.1.3': + resolution: {integrity: sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + '@vitest/pretty-format@2.0.5': resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} '@vitest/pretty-format@2.1.3': resolution: {integrity: sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==} - '@vitest/runner@1.5.3': - resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==} + '@vitest/pretty-format@3.1.3': + resolution: {integrity: sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==} - '@vitest/snapshot@1.5.3': - resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==} + '@vitest/runner@3.1.3': + resolution: {integrity: sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==} - '@vitest/spy@1.5.3': - resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==} + '@vitest/snapshot@3.1.3': + resolution: {integrity: sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==} '@vitest/spy@2.0.5': resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} - '@vitest/utils@1.5.3': - resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==} + '@vitest/spy@3.1.3': + resolution: {integrity: sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==} '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} @@ -4995,6 +5206,9 @@ packages: '@vitest/utils@2.1.3': resolution: {integrity: sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==} + '@vitest/utils@3.1.3': + resolution: {integrity: sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==} + '@webgpu/types@0.1.54': resolution: {integrity: sha512-81oaalC8LFrXjhsczomEQ0u3jG+TqE6V9QHLA8GNZq/Rnot0KDugu3LhSYSlie8tSdooAN1Hov05asrUUp9qgg==} @@ -5159,9 +5373,6 @@ packages: assert-never@1.2.1: resolution: {integrity: sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==} - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -5314,14 +5525,14 @@ packages: resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} engines: {node: '>= 0.8.0'} - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - chai@5.1.1: resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} engines: {node: '>=12'} + chai@5.2.0: + resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} + engines: {node: '>=12'} + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -5340,9 +5551,6 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -5511,9 +5719,6 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} @@ -5552,6 +5757,10 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} + engines: {node: '>= 0.6'} + cose-base@1.0.3: resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} @@ -5879,10 +6088,6 @@ packages: babel-plugin-macros: optional: true - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} @@ -6087,6 +6292,9 @@ packages: es-module-lexer@1.5.3: resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -6278,6 +6486,11 @@ packages: engines: {node: '>=12'} hasBin: true + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -6427,14 +6640,14 @@ packages: resolution: {integrity: sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==} engines: {node: '>=12.0.0'} - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} + expect-type@1.2.1: + resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + engines: {node: '>=12.0.0'} + expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -6499,6 +6712,14 @@ packages: picomatch: optional: true + fdir@6.4.4: + resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fetch-event-stream@0.1.5: resolution: {integrity: sha512-V1PWovkspxQfssq/NnxoEyQo1DV+MRK/laPuPblIZmSjMN8P5u46OhlFQznSr9p/t0Sp8Uc6SbM3yCMfr0KU8g==} @@ -6638,9 +6859,6 @@ packages: get-css-data@2.1.1: resolution: {integrity: sha512-JpMa/f5P4mDXKg6l5/2cHL5xNY77Jap7tHyduMa6BF0E2a7bQ6Tvaz2BIMjeVYZYLcmOZ5w2Ro0yVJEI41tMbw==} - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} @@ -6655,10 +6873,6 @@ packages: get-source@2.0.12: resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -6869,10 +7083,6 @@ packages: human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -7057,10 +7267,6 @@ packages: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -7148,9 +7354,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -7404,10 +7607,6 @@ packages: resolution: {integrity: sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==} engines: {node: '>=6'} - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - local-pkg@1.1.1: resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} engines: {node: '>=14'} @@ -7445,12 +7644,12 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - loupe@3.1.2: resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + loupe@3.1.3: + resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -7485,6 +7684,9 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} @@ -7568,9 +7770,6 @@ packages: merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -7604,10 +7803,6 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -7668,9 +7863,6 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.7.0: - resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} - mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} @@ -7691,8 +7883,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.2.14: - resolution: {integrity: sha512-64i8rNCa1xzDK8ZYsTrVMli05D687jty8+Th+PU5VTbJ2/4P7fkQFVyDQ6ZFT5FrNR8z2BHhbY47fKNvfHrumA==} + msw@2.2.8: + resolution: {integrity: sha512-K2LvWq2Lgfo6lEvn4eXj9uOCXuXZdZdHtNzyx+UBZY+iaQ5fdBaev3TLmUyLOUY4N8p0pYf3Iy7RA8sDnQ1M1Q==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -7701,12 +7893,12 @@ packages: typescript: optional: true - msw@2.2.8: - resolution: {integrity: sha512-K2LvWq2Lgfo6lEvn4eXj9uOCXuXZdZdHtNzyx+UBZY+iaQ5fdBaev3TLmUyLOUY4N8p0pYf3Iy7RA8sDnQ1M1Q==} + msw@2.8.2: + resolution: {integrity: sha512-ugu8RBgUj6//RD0utqDDPdS+QIs36BKYkDAM6u59hcMVtFM4PM0vW4l3G1R+1uCWP2EWFUG8reT/gPXVEtx7/w==} engines: {node: '>=18'} hasBin: true peerDependencies: - typescript: '>= 4.7.x' + typescript: '>= 4.8.x' peerDependenciesMeta: typescript: optional: true @@ -7723,6 +7915,10 @@ packages: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -7800,10 +7996,6 @@ packages: engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} hasBin: true - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. @@ -7846,10 +8038,6 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -7868,6 +8056,9 @@ packages: outvariant@1.4.2: resolution: {integrity: sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==} + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -7880,10 +8071,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -7948,10 +8135,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -7972,6 +8155,9 @@ packages: path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -7982,9 +8168,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - pathval@2.0.0: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} @@ -8002,6 +8185,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} @@ -8031,9 +8218,6 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-types@1.1.0: - resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} - pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -8647,6 +8831,10 @@ packages: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} + sirv@3.0.1: + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + engines: {node: '>=18'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -8721,8 +8909,8 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} @@ -8772,10 +8960,6 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -8784,9 +8968,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - style-mod@4.1.0: resolution: {integrity: sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==} @@ -8967,8 +9148,8 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} @@ -8980,22 +9161,30 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} - engines: {node: '>=14.0.0'} + tinyglobby@0.2.13: + resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + engines: {node: '>=12.0.0'} + + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@1.2.0: resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} tinyspy@3.0.0: resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} engines: {node: '>=14.0.0'} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + tldts-core@6.1.52: resolution: {integrity: sha512-j4OxQI5rc1Ve/4m/9o2WhWSC4jGc4uVbCINdOEJRAraCi0YqTqgMcxUx7DbmuP0G3PCixoof/RZB0Q5Kh9tagw==} @@ -9084,10 +9273,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} @@ -9116,8 +9301,8 @@ packages: resolution: {integrity: sha512-nKO1N9IFeTec3jnNe/3nZlX+RzwZsvT3c4akWC3IlhYGQbRSPFMBe87vmoaymS3hW2l/rs+4ptDDTxzcbqAcmA==} engines: {node: '>=16'} - type-fest@4.18.1: - resolution: {integrity: sha512-qXhgeNsX15bM63h5aapNFcQid9jRF/l3ojDoDFmekDQEUufZ9U4ErVt6SjDxnHp48Ltrw616R8yNc3giJ3KvVQ==} + type-fest@4.41.0: + resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} type-is@1.6.18: @@ -9387,9 +9572,9 @@ packages: vfile-message@2.0.4: resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} - vite-node@1.5.3: - resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==} - engines: {node: ^18.0.0 || >=20.0.0} + vite-node@3.1.3: + resolution: {integrity: sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true vite-plugin-turbosnap@1.0.3: @@ -9482,33 +9667,92 @@ packages: terser: optional: true - vitefu@0.2.5: - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - vite: - optional: true - - vitest@1.5.3: - resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.3 - '@vitest/ui': 1.5.3 - happy-dom: '*' - jsdom: '*' + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: - '@edge-runtime/vm': - optional: true '@types/node': optional: true - '@vitest/browser': + jiti: optional: true - '@vitest/ui': + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitefu@0.2.5: + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + + vitefu@1.0.6: + resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + vite: + optional: true + + vitest-browser-svelte@0.1.0: + resolution: {integrity: sha512-YB6ZUZZQNqU1T9NzvTEDpwpPv35Ng1NZMPBh81zDrLEdOgROGE6nJb79NWb1Eu/a8VkHifqArpOZfJfALge6xQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + '@vitest/browser': ^2.1.0 || ^3.0.0-0 + svelte: '>3.0.0' + vitest: ^2.1.0 || ^3.0.0-0 + + vitest@3.1.3: + resolution: {integrity: sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.1.3 + '@vitest/ui': 3.1.3 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': optional: true happy-dom: optional: true @@ -9613,8 +9857,8 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true @@ -9701,6 +9945,18 @@ packages: utf-8-validate: optional: true + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} @@ -9760,9 +10016,9 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} yootils@0.3.1: resolution: {integrity: sha512-A7AMeJfGefk317I/3tBoUYRcDcNavKEkpiPN/nQsBz/viI2GvT7BtrqdPD6rGqBFN8Ax7v4obf+Cl32JF9DDVw==} @@ -9793,17 +10049,11 @@ snapshots: '@antfu/utils@8.1.1': {} - '@babel/code-frame@7.24.2': - dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 - '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 js-tokens: 4.0.0 picocolors: 1.1.1 - optional: true '@babel/compat-data@7.26.8': optional: true @@ -9870,12 +10120,7 @@ snapshots: '@babel/helper-string-parser@7.25.9': optional: true - '@babel/helper-validator-identifier@7.22.20': {} - - '@babel/helper-validator-identifier@7.24.5': {} - - '@babel/helper-validator-identifier@7.25.9': - optional: true + '@babel/helper-validator-identifier@7.25.9': {} '@babel/helper-validator-option@7.25.9': optional: true @@ -9886,13 +10131,6 @@ snapshots: '@babel/types': 7.27.0 optional: true - '@babel/highlight@7.24.5': - dependencies: - '@babel/helper-validator-identifier': 7.24.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - '@babel/parser@7.23.3': dependencies: '@babel/types': 7.23.3 @@ -9933,7 +10171,7 @@ snapshots: '@babel/types@7.23.3': dependencies: '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.25.9 to-fast-properties: 2.0.0 '@babel/types@7.27.0': @@ -9961,10 +10199,19 @@ snapshots: dependencies: cookie: 0.5.0 + '@bundled-es-modules/cookie@2.0.1': + dependencies: + cookie: 0.7.2 + '@bundled-es-modules/statuses@1.0.1': dependencies: statuses: 2.0.1 + '@bundled-es-modules/tough-cookie@0.1.6': + dependencies: + '@types/tough-cookie': 4.0.5 + tough-cookie: 4.1.4 + '@changesets/apply-release-plan@7.0.0': dependencies: '@babel/runtime': 7.24.5 @@ -10335,6 +10582,9 @@ snapshots: '@esbuild/aix-ppc64@0.21.5': optional: true + '@esbuild/aix-ppc64@0.25.4': + optional: true + '@esbuild/android-arm64@0.17.19': optional: true @@ -10350,6 +10600,9 @@ snapshots: '@esbuild/android-arm64@0.21.5': optional: true + '@esbuild/android-arm64@0.25.4': + optional: true + '@esbuild/android-arm@0.17.19': optional: true @@ -10365,6 +10618,9 @@ snapshots: '@esbuild/android-arm@0.21.5': optional: true + '@esbuild/android-arm@0.25.4': + optional: true + '@esbuild/android-x64@0.17.19': optional: true @@ -10380,6 +10636,9 @@ snapshots: '@esbuild/android-x64@0.21.5': optional: true + '@esbuild/android-x64@0.25.4': + optional: true + '@esbuild/darwin-arm64@0.17.19': optional: true @@ -10395,6 +10654,9 @@ snapshots: '@esbuild/darwin-arm64@0.21.5': optional: true + '@esbuild/darwin-arm64@0.25.4': + optional: true + '@esbuild/darwin-x64@0.17.19': optional: true @@ -10410,6 +10672,9 @@ snapshots: '@esbuild/darwin-x64@0.21.5': optional: true + '@esbuild/darwin-x64@0.25.4': + optional: true + '@esbuild/freebsd-arm64@0.17.19': optional: true @@ -10425,6 +10690,9 @@ snapshots: '@esbuild/freebsd-arm64@0.21.5': optional: true + '@esbuild/freebsd-arm64@0.25.4': + optional: true + '@esbuild/freebsd-x64@0.17.19': optional: true @@ -10440,6 +10708,9 @@ snapshots: '@esbuild/freebsd-x64@0.21.5': optional: true + '@esbuild/freebsd-x64@0.25.4': + optional: true + '@esbuild/linux-arm64@0.17.19': optional: true @@ -10455,6 +10726,9 @@ snapshots: '@esbuild/linux-arm64@0.21.5': optional: true + '@esbuild/linux-arm64@0.25.4': + optional: true + '@esbuild/linux-arm@0.17.19': optional: true @@ -10470,6 +10744,9 @@ snapshots: '@esbuild/linux-arm@0.21.5': optional: true + '@esbuild/linux-arm@0.25.4': + optional: true + '@esbuild/linux-ia32@0.17.19': optional: true @@ -10485,6 +10762,9 @@ snapshots: '@esbuild/linux-ia32@0.21.5': optional: true + '@esbuild/linux-ia32@0.25.4': + optional: true + '@esbuild/linux-loong64@0.14.54': optional: true @@ -10503,6 +10783,9 @@ snapshots: '@esbuild/linux-loong64@0.21.5': optional: true + '@esbuild/linux-loong64@0.25.4': + optional: true + '@esbuild/linux-mips64el@0.17.19': optional: true @@ -10518,6 +10801,9 @@ snapshots: '@esbuild/linux-mips64el@0.21.5': optional: true + '@esbuild/linux-mips64el@0.25.4': + optional: true + '@esbuild/linux-ppc64@0.17.19': optional: true @@ -10533,6 +10819,9 @@ snapshots: '@esbuild/linux-ppc64@0.21.5': optional: true + '@esbuild/linux-ppc64@0.25.4': + optional: true + '@esbuild/linux-riscv64@0.17.19': optional: true @@ -10548,6 +10837,9 @@ snapshots: '@esbuild/linux-riscv64@0.21.5': optional: true + '@esbuild/linux-riscv64@0.25.4': + optional: true + '@esbuild/linux-s390x@0.17.19': optional: true @@ -10563,6 +10855,9 @@ snapshots: '@esbuild/linux-s390x@0.21.5': optional: true + '@esbuild/linux-s390x@0.25.4': + optional: true + '@esbuild/linux-x64@0.17.19': optional: true @@ -10578,6 +10873,12 @@ snapshots: '@esbuild/linux-x64@0.21.5': optional: true + '@esbuild/linux-x64@0.25.4': + optional: true + + '@esbuild/netbsd-arm64@0.25.4': + optional: true + '@esbuild/netbsd-x64@0.17.19': optional: true @@ -10593,6 +10894,12 @@ snapshots: '@esbuild/netbsd-x64@0.21.5': optional: true + '@esbuild/netbsd-x64@0.25.4': + optional: true + + '@esbuild/openbsd-arm64@0.25.4': + optional: true + '@esbuild/openbsd-x64@0.17.19': optional: true @@ -10608,6 +10915,9 @@ snapshots: '@esbuild/openbsd-x64@0.21.5': optional: true + '@esbuild/openbsd-x64@0.25.4': + optional: true + '@esbuild/sunos-x64@0.17.19': optional: true @@ -10623,6 +10933,9 @@ snapshots: '@esbuild/sunos-x64@0.21.5': optional: true + '@esbuild/sunos-x64@0.25.4': + optional: true + '@esbuild/win32-arm64@0.17.19': optional: true @@ -10638,6 +10951,9 @@ snapshots: '@esbuild/win32-arm64@0.21.5': optional: true + '@esbuild/win32-arm64@0.25.4': + optional: true + '@esbuild/win32-ia32@0.17.19': optional: true @@ -10653,6 +10969,9 @@ snapshots: '@esbuild/win32-ia32@0.21.5': optional: true + '@esbuild/win32-ia32@0.25.4': + optional: true + '@esbuild/win32-x64@0.17.19': optional: true @@ -10668,6 +10987,9 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true + '@esbuild/win32-x64@0.25.4': + optional: true + '@eslint-community/eslint-utils@4.4.0(eslint@9.1.1)': dependencies: eslint: 9.1.1 @@ -10678,7 +11000,7 @@ snapshots: '@eslint/eslintrc@1.4.1': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.4.0 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -10692,7 +11014,7 @@ snapshots: '@eslint/eslintrc@3.0.2': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.4.0 espree: 10.0.1 globals: 14.0.0 ignore: 5.3.1 @@ -10768,7 +11090,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10776,7 +11098,7 @@ snapshots: '@humanwhocodes/config-array@0.9.5': dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -10809,31 +11131,28 @@ snapshots: '@inquirer/core': 7.1.0 '@inquirer/type': 1.2.1 - '@inquirer/confirm@3.1.6': + '@inquirer/confirm@5.1.10(@types/node@20.12.8)': dependencies: - '@inquirer/core': 8.1.0 - '@inquirer/type': 1.3.1 + '@inquirer/core': 10.1.11(@types/node@20.12.8) + '@inquirer/type': 3.0.6(@types/node@20.12.8) + optionalDependencies: + '@types/node': 20.12.8 - '@inquirer/core@7.1.0': + '@inquirer/core@10.1.11(@types/node@20.12.8)': dependencies: - '@inquirer/type': 1.3.1 - '@types/mute-stream': 0.0.4 - '@types/node': 20.12.8 - '@types/wrap-ansi': 3.0.0 + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.6(@types/node@20.12.8) ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-spinners: 2.9.2 cli-width: 4.1.0 - figures: 3.2.0 - mute-stream: 1.0.0 - run-async: 3.0.0 + mute-stream: 2.0.0 signal-exit: 4.1.0 - strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 20.12.8 - '@inquirer/core@8.1.0': + '@inquirer/core@7.1.0': dependencies: - '@inquirer/figures': 1.0.1 '@inquirer/type': 1.3.1 '@types/mute-stream': 0.0.4 '@types/node': 20.12.8 @@ -10842,17 +11161,23 @@ snapshots: chalk: 4.1.2 cli-spinners: 2.9.2 cli-width: 4.1.0 + figures: 3.2.0 mute-stream: 1.0.0 + run-async: 3.0.0 signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - '@inquirer/figures@1.0.1': {} + '@inquirer/figures@1.0.11': {} '@inquirer/type@1.2.1': {} '@inquirer/type@1.3.1': {} + '@inquirer/type@3.0.6(@types/node@20.12.8)': + optionalDependencies: + '@types/node': 20.12.8 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -11043,13 +11368,13 @@ snapshots: outvariant: 1.4.2 strict-event-emitter: 0.5.1 - '@mswjs/interceptors@0.26.15': + '@mswjs/interceptors@0.37.6': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 '@open-draft/until': 2.1.0 is-node-process: 1.2.0 - outvariant: 1.4.2 + outvariant: 1.4.3 strict-event-emitter: 0.5.1 '@nodelib/fs.scandir@2.1.5': @@ -11069,7 +11394,7 @@ snapshots: '@open-draft/logger@0.3.0': dependencies: is-node-process: 1.2.0 - outvariant: 1.4.2 + outvariant: 1.4.3 '@open-draft/until@2.1.0': {} @@ -11097,10 +11422,10 @@ snapshots: - sugarss - terser - '@playwright/experimental-ct-svelte@1.51.1(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@playwright/experimental-ct-svelte@1.51.1(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': dependencies: '@playwright/experimental-ct-core': 1.51.1(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) transitivePeerDependencies: - '@types/node' - less @@ -11138,7 +11463,7 @@ snapshots: estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 - magic-string: 0.30.10 + magic-string: 0.30.17 optionalDependencies: rollup: 4.17.2 @@ -11215,7 +11540,7 @@ snapshots: '@rollup/pluginutils@5.1.0(rollup@4.17.2)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.7 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: @@ -11483,7 +11808,7 @@ snapshots: storybook: 8.3.6(bufferutil@4.0.7) ts-dedent: 2.2.0 - '@storybook/addon-svelte-csf@4.1.7(@storybook/svelte@8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15))(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@storybook/addon-svelte-csf@4.1.7(@storybook/svelte@8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15))(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': dependencies: '@babel/runtime': 7.24.5 '@storybook/svelte': 8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15) @@ -11492,8 +11817,8 @@ snapshots: magic-string: 0.30.10 svelte: 4.2.15 optionalDependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) transitivePeerDependencies: - babel-plugin-macros - storybook @@ -11528,7 +11853,7 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-vite@8.3.6(storybook@8.3.6(bufferutil@4.0.7))(typescript@5.5.4)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@storybook/builder-vite@8.3.6(storybook@8.3.6(bufferutil@4.0.7))(typescript@5.5.4)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': dependencies: '@storybook/csf-plugin': 8.3.6(storybook@8.3.6(bufferutil@4.0.7)) '@types/find-cache-dir': 3.2.1 @@ -11540,7 +11865,7 @@ snapshots: magic-string: 0.30.10 storybook: 8.3.6(bufferutil@4.0.7) ts-dedent: 2.2.0 - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -11556,8 +11881,8 @@ snapshots: '@types/express': 4.17.21 better-opn: 3.0.2 browser-assert: 1.2.1 - esbuild: 0.21.0 - esbuild-register: 3.5.0(esbuild@0.21.0) + esbuild: 0.21.5 + esbuild-register: 3.5.0(esbuild@0.21.5) express: 4.19.2 jsdoc-type-pratt-parser: 4.0.0 process: 0.11.10 @@ -11607,18 +11932,18 @@ snapshots: react-dom: 18.3.1(react@18.3.1) storybook: 8.3.6(bufferutil@4.0.7) - '@storybook/svelte-vite@8.3.6(@babel/core@7.24.5)(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(coffeescript@2.7.0)(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(pug@3.0.2)(sass@1.66.1)(storybook@8.3.6(bufferutil@4.0.7))(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(typescript@5.5.4)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@storybook/svelte-vite@8.3.6(@babel/core@7.24.5)(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(coffeescript@2.7.0)(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(pug@3.0.2)(sass@1.66.1)(storybook@8.3.6(bufferutil@4.0.7))(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(typescript@5.5.4)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': dependencies: - '@storybook/builder-vite': 8.3.6(storybook@8.3.6(bufferutil@4.0.7))(typescript@5.5.4)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@storybook/builder-vite': 8.3.6(storybook@8.3.6(bufferutil@4.0.7))(typescript@5.5.4)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) '@storybook/svelte': 8.3.6(storybook@8.3.6(bufferutil@4.0.7))(svelte@4.2.15) - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) magic-string: 0.30.10 storybook: 8.3.6(bufferutil@4.0.7) svelte: 4.2.15 svelte-preprocess: 6.0.3(@babel/core@7.24.5)(coffeescript@2.7.0)(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(pug@3.0.2)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(svelte@4.2.15)(typescript@5.5.4) sveltedoc-parser: 4.2.1 ts-dedent: 2.2.0 - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) transitivePeerDependencies: - '@babel/core' - '@preact/preset-vite' @@ -11675,14 +12000,14 @@ snapshots: '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))': + '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))': dependencies: - '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))': + '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))': dependencies: - '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) + '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)) import-meta-resolve: 4.1.0 '@sveltejs/adapter-node@5.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))': @@ -11693,13 +12018,13 @@ snapshots: '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) rollup: 4.17.2 - '@sveltejs/adapter-static@3.0.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))': + '@sveltejs/adapter-static@3.0.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))': dependencies: - '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) - '@sveltejs/adapter-vercel@5.3.0(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))': + '@sveltejs/adapter-vercel@5.3.0(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))': dependencies: - '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) '@vercel/nft': 0.26.4 esbuild: 0.20.2 transitivePeerDependencies: @@ -11724,9 +12049,9 @@ snapshots: tiny-glob: 0.2.9 vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) - '@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -11740,11 +12065,11 @@ snapshots: sirv: 2.0.4 svelte: 4.2.15 tiny-glob: 0.2.9 - vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2) - '@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)))': + '@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -11758,7 +12083,7 @@ snapshots: sirv: 2.0.4 svelte: 4.2.15 tiny-glob: 0.2.9 - vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2) '@sveltejs/package@2.3.4(patch_hash=flygqco6z3nrhhrndh6d2cl72q)(svelte@4.2.15)(typescript@5.5.4)': dependencies: @@ -11771,19 +12096,10 @@ snapshots: transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': - dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) - debug: 4.3.4 - svelte: 4.2.15 - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) - transitivePeerDependencies: - - supports-color - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)))': dependencies: '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) - debug: 4.3.4 + debug: 4.4.0 svelte: 4.2.15 vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) transitivePeerDependencies: @@ -11792,7 +12108,7 @@ snapshots: '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.9(@types/node@20.12.8)(lightningcss@1.21.7)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.2.9(@types/node@20.12.8)(lightningcss@1.21.7)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)))': dependencies: '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.2.9(@types/node@20.12.8)(lightningcss@1.21.7)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) - debug: 4.3.4 + debug: 4.4.0 svelte: 4.2.15 vite: 5.2.9(@types/node@20.12.8)(lightningcss@1.21.7)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) transitivePeerDependencies: @@ -11801,32 +12117,27 @@ snapshots: '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': dependencies: '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) - debug: 4.3.4 + debug: 4.4.0 svelte: 4.2.15 vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) - debug: 4.3.4 + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) + debug: 4.4.0 svelte: 4.2.15 - vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))))(svelte@4.2.15)(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) - debug: 4.3.4 - deepmerge: 4.3.1 - kleur: 4.1.5 - magic-string: 0.30.10 + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)) + debug: 4.4.0 svelte: 4.2.15 - svelte-hmr: 0.16.0(svelte@4.2.15) - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) - vitefu: 0.2.5(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2) transitivePeerDependencies: - supports-color @@ -11872,17 +12183,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)))': + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.0(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))))(svelte@4.2.15)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) - debug: 4.3.4 + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) + debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.10 + magic-string: 0.30.17 svelte: 4.2.15 - svelte-hmr: 0.16.0(svelte@4.2.15) - vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) - vitefu: 0.2.5(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))) + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2) + vitefu: 1.0.6(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)) + transitivePeerDependencies: + - supports-color + + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2))': + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)))(svelte@4.2.15)(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)) + debug: 4.4.0 + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.17 + svelte: 4.2.15 + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2) + vitefu: 1.0.6(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)) transitivePeerDependencies: - supports-color @@ -11903,20 +12226,9 @@ snapshots: lodash.merge: 4.6.2 tailwindcss: 3.1.6(postcss@8.4.38) - '@testing-library/dom@10.1.0': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.24.5 - '@types/aria-query': 5.0.4 - aria-query: 5.3.0 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - '@testing-library/dom@10.4.0': dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.26.2 '@babel/runtime': 7.24.5 '@types/aria-query': 5.0.4 aria-query: 5.3.0 @@ -11925,7 +12237,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.2(@types/jest@29.5.12)(vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + '@testing-library/jest-dom@6.4.2(@types/jest@29.5.12)(vitest@3.1.3)': dependencies: '@adobe/css-tools': 4.3.3 '@babel/runtime': 7.24.5 @@ -11937,7 +12249,7 @@ snapshots: redent: 3.0.0 optionalDependencies: '@types/jest': 29.5.12 - vitest: 1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + vitest: 3.1.3(@types/node@20.12.8)(@vitest/browser@3.1.3)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) '@testing-library/jest-dom@6.5.0': dependencies: @@ -11949,11 +12261,11 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/user-event@14.5.2(@testing-library/dom@10.1.0)': + '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': dependencies: - '@testing-library/dom': 10.1.0 + '@testing-library/dom': 10.4.0 - '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': dependencies: '@testing-library/dom': 10.4.0 @@ -12240,6 +12552,8 @@ snapshots: '@types/tinycolor2@1.4.6': {} + '@types/tough-cookie@4.0.5': {} + '@types/trusted-types@2.0.6': {} '@types/trusted-types@2.0.7': {} @@ -12314,7 +12628,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.5.4) '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.5.4) - debug: 4.3.4 + debug: 4.4.0 eslint: 9.1.1 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: @@ -12328,7 +12642,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.8.0 '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 + debug: 4.4.0 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 @@ -12378,11 +12692,24 @@ snapshots: - encoding - supports-color - '@vitest/expect@1.5.3': + '@vitest/browser@3.1.3(bufferutil@4.0.7)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(playwright@1.51.1)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))(vitest@3.1.3)': dependencies: - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 - chai: 4.4.1 + '@testing-library/dom': 10.4.0 + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) + '@vitest/mocker': 3.1.3(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@vitest/utils': 3.1.3 + magic-string: 0.30.17 + sirv: 3.0.1 + tinyrainbow: 2.0.0 + vitest: 3.1.3(@types/node@20.12.8)(@vitest/browser@3.1.3)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + ws: 8.18.2(bufferutil@4.0.7) + optionalDependencies: + playwright: 1.51.1 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite '@vitest/expect@2.0.5': dependencies: @@ -12391,6 +12718,22 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 + '@vitest/expect@3.1.3': + dependencies: + '@vitest/spy': 3.1.3 + '@vitest/utils': 3.1.3 + chai: 5.2.0 + tinyrainbow: 2.0.0 + + '@vitest/mocker@3.1.3(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))': + dependencies: + '@vitest/spy': 3.1.3 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + msw: 2.8.2(@types/node@20.12.8)(typescript@5.5.4) + vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + '@vitest/pretty-format@2.0.5': dependencies: tinyrainbow: 1.2.0 @@ -12399,32 +12742,28 @@ snapshots: dependencies: tinyrainbow: 1.2.0 - '@vitest/runner@1.5.3': + '@vitest/pretty-format@3.1.3': dependencies: - '@vitest/utils': 1.5.3 - p-limit: 5.0.0 - pathe: 1.1.2 + tinyrainbow: 2.0.0 - '@vitest/snapshot@1.5.3': + '@vitest/runner@3.1.3': dependencies: - magic-string: 0.30.10 - pathe: 1.1.2 - pretty-format: 29.7.0 + '@vitest/utils': 3.1.3 + pathe: 2.0.3 - '@vitest/spy@1.5.3': + '@vitest/snapshot@3.1.3': dependencies: - tinyspy: 2.2.1 + '@vitest/pretty-format': 3.1.3 + magic-string: 0.30.17 + pathe: 2.0.3 '@vitest/spy@2.0.5': dependencies: tinyspy: 3.0.0 - '@vitest/utils@1.5.3': + '@vitest/spy@3.1.3': dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 + tinyspy: 3.0.2 '@vitest/utils@2.0.5': dependencies: @@ -12439,6 +12778,12 @@ snapshots: loupe: 3.1.2 tinyrainbow: 1.2.0 + '@vitest/utils@3.1.3': + dependencies: + '@vitest/pretty-format': 3.1.3 + loupe: 3.1.3 + tinyrainbow: 2.0.0 + '@webgpu/types@0.1.54': {} '@xmldom/xmldom@0.8.10': {} @@ -12480,13 +12825,13 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color agent-base@7.1.1: dependencies: - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -12586,8 +12931,6 @@ snapshots: assert-never@1.2.1: {} - assertion-error@1.1.0: {} - assertion-error@2.0.1: {} ast-types@0.16.1: @@ -12750,23 +13093,13 @@ snapshots: capnp-ts@0.7.0: dependencies: - debug: 4.3.4 + debug: 4.4.0 tslib: 2.6.2 transitivePeerDependencies: - supports-color case@1.6.3: {} - chai@4.4.1: - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - chai@5.1.1: dependencies: assertion-error: 2.0.1 @@ -12775,6 +13108,14 @@ snapshots: loupe: 3.1.2 pathval: 2.0.0 + chai@5.2.0: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.3 + pathval: 2.0.0 + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -12797,10 +13138,6 @@ snapshots: chardet@0.7.0: {} - check-error@1.0.3: - dependencies: - get-func-name: 2.0.2 - check-error@2.1.1: {} chevrotain-allstar@0.3.1(chevrotain@11.0.3): @@ -12964,8 +13301,6 @@ snapshots: concat-map@0.0.1: {} - confbox@0.1.7: {} - confbox@0.1.8: {} confbox@0.2.1: {} @@ -12994,6 +13329,8 @@ snapshots: cookie@0.6.0: {} + cookie@0.7.2: {} + cose-base@1.0.3: dependencies: layout-base: 1.0.2 @@ -13333,10 +13670,6 @@ snapshots: dedent@1.5.3: {} - deep-eql@4.1.3: - dependencies: - type-detect: 4.0.8 - deep-eql@5.0.2: {} deep-is@0.1.4: {} @@ -13556,6 +13889,8 @@ snapshots: es-module-lexer@1.5.3: {} + es-module-lexer@1.7.0: {} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -13660,10 +13995,10 @@ snapshots: esbuild-openbsd-64@0.14.54: optional: true - esbuild-register@3.5.0(esbuild@0.21.0): + esbuild-register@3.5.0(esbuild@0.21.5): dependencies: - debug: 4.3.4 - esbuild: 0.21.0 + debug: 4.4.0 + esbuild: 0.21.5 transitivePeerDependencies: - supports-color @@ -13832,10 +14167,37 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + esbuild@0.25.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.4 + '@esbuild/android-arm': 0.25.4 + '@esbuild/android-arm64': 0.25.4 + '@esbuild/android-x64': 0.25.4 + '@esbuild/darwin-arm64': 0.25.4 + '@esbuild/darwin-x64': 0.25.4 + '@esbuild/freebsd-arm64': 0.25.4 + '@esbuild/freebsd-x64': 0.25.4 + '@esbuild/linux-arm': 0.25.4 + '@esbuild/linux-arm64': 0.25.4 + '@esbuild/linux-ia32': 0.25.4 + '@esbuild/linux-loong64': 0.25.4 + '@esbuild/linux-mips64el': 0.25.4 + '@esbuild/linux-ppc64': 0.25.4 + '@esbuild/linux-riscv64': 0.25.4 + '@esbuild/linux-s390x': 0.25.4 + '@esbuild/linux-x64': 0.25.4 + '@esbuild/netbsd-arm64': 0.25.4 + '@esbuild/netbsd-x64': 0.25.4 + '@esbuild/openbsd-arm64': 0.25.4 + '@esbuild/openbsd-x64': 0.25.4 + '@esbuild/sunos-x64': 0.25.4 + '@esbuild/win32-arm64': 0.25.4 + '@esbuild/win32-ia32': 0.25.4 + '@esbuild/win32-x64': 0.25.4 + escalade@3.1.2: {} - escalade@3.2.0: - optional: true + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -13916,7 +14278,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.4.0 doctrine: 3.0.0 enquirer: 2.4.1 escape-string-regexp: 4.0.0 @@ -14051,20 +14413,10 @@ snapshots: eventsource@2.0.2: {} - execa@8.0.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - exit-hook@2.2.1: {} + expect-type@1.2.1: {} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -14119,14 +14471,14 @@ snapshots: extendable-media-recorder-wav-encoder-broker@7.0.91: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 broker-factory: 3.0.87 extendable-media-recorder-wav-encoder-worker: 8.0.88 tslib: 2.6.2 extendable-media-recorder-wav-encoder-worker@8.0.88: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 tslib: 2.6.2 worker-factory: 7.0.13 @@ -14178,7 +14530,13 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.4.2: {} + fdir@6.4.2(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + fdir@6.4.4(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 fetch-event-stream@0.1.5: {} @@ -14333,8 +14691,6 @@ snapshots: get-css-data@2.1.1: {} - get-func-name@2.0.2: {} - get-intrinsic@1.2.2: dependencies: function-bind: 1.1.2 @@ -14357,8 +14713,6 @@ snapshots: data-uri-to-buffer: 2.0.2 source-map: 0.6.1 - get-stream@8.0.1: {} - get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 @@ -14564,35 +14918,33 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color human-id@1.0.2: {} - human-signals@5.0.0: {} - iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -14756,8 +15108,6 @@ snapshots: dependencies: call-bind: 1.0.7 - is-stream@3.0.0: {} - is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -14835,7 +15185,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.26.2 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -14862,8 +15212,6 @@ snapshots: js-tokens@4.0.0: {} - js-tokens@9.0.0: {} - js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -15115,11 +15463,6 @@ snapshots: local-access@1.1.0: {} - local-pkg@0.5.0: - dependencies: - mlly: 1.7.0 - pkg-types: 1.1.0 - local-pkg@1.1.1: dependencies: mlly: 1.7.4 @@ -15152,12 +15495,10 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@2.3.7: - dependencies: - get-func-name: 2.0.2 - loupe@3.1.2: {} + loupe@3.1.3: {} + lower-case@2.0.2: dependencies: tslib: 2.6.2 @@ -15196,6 +15537,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + make-dir@3.1.0: dependencies: semver: 6.3.1 @@ -15252,7 +15597,7 @@ snapshots: media-encoder-host@8.0.102: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 media-encoder-host-broker: 7.0.92 media-encoder-host-worker: 9.1.14 tslib: 2.6.2 @@ -15292,8 +15637,6 @@ snapshots: merge-descriptors@1.0.1: {} - merge-stream@2.0.0: {} - merge2@1.4.1: {} mermaid@11.5.0: @@ -15338,8 +15681,6 @@ snapshots: mime@3.0.0: {} - mimic-fn@4.0.0: {} - min-indent@1.0.1: {} mini-svg-data-uri@1.4.4: {} @@ -15402,13 +15743,6 @@ snapshots: mkdirp@1.0.4: {} - mlly@1.7.0: - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.1.0 - ufo: 1.5.4 - mlly@1.7.4: dependencies: acorn: 8.14.1 @@ -15426,59 +15760,64 @@ snapshots: ms@2.1.3: {} - msw@2.2.14(typescript@5.5.4): + msw@2.2.8(typescript@5.4.3): dependencies: '@bundled-es-modules/cookie': 2.0.0 '@bundled-es-modules/statuses': 1.0.1 - '@inquirer/confirm': 3.1.6 + '@inquirer/confirm': 3.1.0 '@mswjs/cookies': 1.1.0 - '@mswjs/interceptors': 0.26.15 + '@mswjs/interceptors': 0.25.16 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.5 + '@types/statuses': 2.0.4 chalk: 4.1.2 graphql: 16.8.1 - headers-polyfill: 4.0.3 + headers-polyfill: 4.0.2 is-node-process: 1.2.0 outvariant: 1.4.2 - path-to-regexp: 6.2.2 + path-to-regexp: 6.2.1 strict-event-emitter: 0.5.1 - type-fest: 4.18.1 + type-fest: 4.13.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.5.4 + typescript: 5.4.3 - msw@2.2.8(typescript@5.4.3): + msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4): dependencies: - '@bundled-es-modules/cookie': 2.0.0 + '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 - '@inquirer/confirm': 3.1.0 - '@mswjs/cookies': 1.1.0 - '@mswjs/interceptors': 0.25.16 + '@bundled-es-modules/tough-cookie': 0.1.6 + '@inquirer/confirm': 5.1.10(@types/node@20.12.8) + '@mswjs/interceptors': 0.37.6 + '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 '@types/cookie': 0.6.0 - '@types/statuses': 2.0.4 - chalk: 4.1.2 + '@types/statuses': 2.0.5 graphql: 16.8.1 - headers-polyfill: 4.0.2 + headers-polyfill: 4.0.3 is-node-process: 1.2.0 - outvariant: 1.4.2 - path-to-regexp: 6.2.1 + outvariant: 1.4.3 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 strict-event-emitter: 0.5.1 - type-fest: 4.13.0 + type-fest: 4.41.0 yargs: 17.7.2 optionalDependencies: - typescript: 5.4.3 + typescript: 5.5.4 + transitivePeerDependencies: + - '@types/node' multi-buffer-data-view@5.0.11: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 tslib: 2.6.2 mustache@4.2.0: {} mute-stream@1.0.0: {} + mute-stream@2.0.0: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -15545,10 +15884,6 @@ snapshots: read-package-json-fast: 3.0.2 shell-quote: 1.8.1 - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 @@ -15589,10 +15924,6 @@ snapshots: dependencies: wrappy: 1.0.2 - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -15614,6 +15945,8 @@ snapshots: outvariant@1.4.2: {} + outvariant@1.4.3: {} + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -15626,10 +15959,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@5.0.0: - dependencies: - yocto-queue: 1.0.0 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -15654,7 +15983,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -15684,8 +16013,6 @@ snapshots: path-key@3.1.1: {} - path-key@4.0.0: {} - path-parse@1.0.7: {} path-scurry@1.10.2: @@ -15704,14 +16031,14 @@ snapshots: path-to-regexp@6.2.2: {} + path-to-regexp@6.3.0: {} + path-type@4.0.0: {} pathe@1.1.2: {} pathe@2.0.3: {} - pathval@1.1.1: {} - pathval@2.0.0: {} periscopic@3.1.0: @@ -15726,6 +16053,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@4.0.2: {} + pidtree@0.6.0: {} pify@2.3.0: {} @@ -15755,12 +16084,6 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-types@1.1.0: - dependencies: - confbox: 0.1.7 - mlly: 1.7.0 - pathe: 1.1.2 - pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -16156,7 +16479,7 @@ snapshots: recorder-audio-worklet@6.0.15: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 broker-factory: 3.0.87 fast-unique-numbers: 8.0.10 recorder-audio-worklet-processor: 5.0.10 @@ -16502,6 +16825,12 @@ snapshots: mrmime: 2.0.0 totalist: 3.0.1 + sirv@3.0.1: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + slash@3.0.0: {} smartwrap@2.0.2: @@ -16566,13 +16895,13 @@ snapshots: standardized-audio-context@25.3.58: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 automation-events: 6.0.11 tslib: 2.6.2 statuses@2.0.1: {} - std-env@3.7.0: {} + std-env@3.9.0: {} stoppable@1.1.0: {} @@ -16635,18 +16964,12 @@ snapshots: strip-bom@3.0.0: {} - strip-final-newline@3.0.0: {} - strip-indent@3.0.0: dependencies: min-indent: 1.0.1 strip-json-comments@3.1.1: {} - strip-literal@2.1.0: - dependencies: - js-tokens: 9.0.0 - style-mod@4.1.0: {} stylis@4.3.6: {} @@ -16663,7 +16986,7 @@ snapshots: subscribable-things@2.1.26: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.5 rxjs-interop: 2.0.0 tslib: 2.6.2 @@ -16706,11 +17029,11 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.0.5(svelte@4.2.15)(typescript@5.5.4): + svelte-check@4.0.5(picomatch@4.0.2)(svelte@4.2.15)(typescript@5.5.4): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.1 - fdir: 6.4.2 + fdir: 6.4.2(picomatch@4.0.2) picocolors: 1.0.0 sade: 1.8.1 svelte: 4.2.15 @@ -16924,7 +17247,7 @@ snapshots: tiny-invariant@1.3.3: {} - tinybench@2.8.0: {} + tinybench@2.9.0: {} tinycolor2@1.6.0: {} @@ -16932,14 +17255,21 @@ snapshots: tinyexec@0.3.2: {} - tinypool@0.8.4: {} + tinyglobby@0.2.13: + dependencies: + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + + tinypool@1.0.2: {} tinyrainbow@1.2.0: {} - tinyspy@2.2.1: {} + tinyrainbow@2.0.0: {} tinyspy@3.0.0: {} + tinyspy@3.0.2: {} + tldts-core@6.1.52: {} tldts@6.1.52: @@ -17017,8 +17347,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} - type-fest@0.13.1: {} type-fest@0.20.2: {} @@ -17033,7 +17361,7 @@ snapshots: type-fest@4.13.0: {} - type-fest@4.18.1: {} + type-fest@4.41.0: {} type-is@1.6.18: dependencies: @@ -17148,7 +17476,7 @@ snapshots: dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.1.1 update-browserslist-db@1.1.3(browserslist@4.24.4): dependencies: @@ -17549,18 +17877,19 @@ snapshots: '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 - vite-node@1.5.3(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)): + vite-node@3.1.3(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)): dependencies: cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + debug: 4.4.0 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -17568,19 +17897,6 @@ snapshots: vite-plugin-turbosnap@1.0.3: {} - vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)): - dependencies: - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.17.2 - optionalDependencies: - '@types/node': 20.12.8 - fsevents: 2.3.3 - lightningcss: 1.24.1 - sass: 1.66.1 - stylus: 0.63.0 - sugarss: 4.0.1(postcss@8.4.38) - vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)): dependencies: esbuild: 0.20.2 @@ -17620,22 +17936,41 @@ snapshots: stylus: 0.63.0 sugarss: 4.0.1(postcss@8.4.38) - vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)): + vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2): dependencies: - esbuild: 0.21.5 + esbuild: 0.25.4 + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 postcss: 8.5.3 rollup: 4.39.0 + tinyglobby: 0.2.13 optionalDependencies: '@types/node': 20.12.8 fsevents: 2.3.3 + jiti: 1.21.0 lightningcss: 1.24.1 sass: 1.66.1 stylus: 0.63.0 - sugarss: 4.0.1(postcss@8.5.3) + sugarss: 4.0.1(postcss@8.4.38) + yaml: 2.4.2 - vitefu@0.2.5(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))): + vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2): + dependencies: + esbuild: 0.25.4 + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.3 + rollup: 4.39.0 + tinyglobby: 0.2.13 optionalDependencies: - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + '@types/node': 20.12.8 + fsevents: 2.3.3 + jiti: 1.21.0 + lightningcss: 1.24.1 + sass: 1.66.1 + stylus: 0.63.0 + sugarss: 4.0.1(postcss@8.5.3) + yaml: 2.4.2 vitefu@0.2.5(vite@5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))): optionalDependencies: @@ -17649,40 +17984,54 @@ snapshots: optionalDependencies: vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) - vitefu@0.2.5(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))): + vitefu@1.0.6(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2)): + optionalDependencies: + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))(yaml@2.4.2) + + vitefu@1.0.6(vite@6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2)): optionalDependencies: - vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3)) + vite: 6.3.5(@types/node@20.12.8)(jiti@1.21.0)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.5.3))(yaml@2.4.2) - vitest@1.5.3(@types/node@20.12.8)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)): + vitest-browser-svelte@0.1.0(@vitest/browser@3.1.3)(svelte@4.2.15)(vitest@3.1.3): dependencies: - '@vitest/expect': 1.5.3 - '@vitest/runner': 1.5.3 - '@vitest/snapshot': 1.5.3 - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.10 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.8.0 - tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) - vite-node: 1.5.3(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) - why-is-node-running: 2.2.2 + '@vitest/browser': 3.1.3(bufferutil@4.0.7)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(playwright@1.51.1)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))(vitest@3.1.3) + svelte: 4.2.15 + vitest: 3.1.3(@types/node@20.12.8)(@vitest/browser@3.1.3)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + + vitest@3.1.3(@types/node@20.12.8)(@vitest/browser@3.1.3)(happy-dom@14.7.1)(jsdom@24.0.0(bufferutil@4.0.7))(lightningcss@1.24.1)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)): + dependencies: + '@vitest/expect': 3.1.3 + '@vitest/mocker': 3.1.3(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38))) + '@vitest/pretty-format': 3.1.3 + '@vitest/runner': 3.1.3 + '@vitest/snapshot': 3.1.3 + '@vitest/spy': 3.1.3 + '@vitest/utils': 3.1.3 + chai: 5.2.0 + debug: 4.4.0 + expect-type: 1.2.1 + magic-string: 0.30.17 + pathe: 2.0.3 + std-env: 3.9.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.13 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + vite-node: 3.1.3(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)) + why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.12.8 + '@vitest/browser': 3.1.3(bufferutil@4.0.7)(msw@2.8.2(@types/node@20.12.8)(typescript@5.5.4))(playwright@1.51.1)(vite@5.4.17(@types/node@20.12.8)(lightningcss@1.24.1)(sass@1.66.1)(stylus@0.63.0)(sugarss@4.0.1(postcss@8.4.38)))(vitest@3.1.3) happy-dom: 14.7.1 jsdom: 24.0.0(bufferutil@4.0.7) transitivePeerDependencies: - less - lightningcss + - msw - sass + - sass-embedded - stylus - sugarss - supports-color @@ -17780,7 +18129,7 @@ snapshots: dependencies: isexe: 3.1.1 - why-is-node-running@2.2.2: + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 @@ -17875,6 +18224,10 @@ snapshots: optionalDependencies: bufferutil: 4.0.7 + ws@8.18.2(bufferutil@4.0.7): + optionalDependencies: + bufferutil: 4.0.7 + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} @@ -17922,7 +18275,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -17931,7 +18284,7 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} + yoctocolors-cjs@2.1.2: {} yootils@0.3.1: {} diff --git a/vitest-example/HelloWorld.svelte b/vitest-example/HelloWorld.svelte new file mode 100644 index 0000000000..d8f8699ea9 --- /dev/null +++ b/vitest-example/HelloWorld.svelte @@ -0,0 +1,5 @@ + + +

Hello {name}!

diff --git a/vitest-example/HelloWorld.test.ts b/vitest-example/HelloWorld.test.ts new file mode 100644 index 0000000000..43f5b50582 --- /dev/null +++ b/vitest-example/HelloWorld.test.ts @@ -0,0 +1,8 @@ +import { expect, test } from 'vitest' +import { render } from 'vitest-browser-svelte' +import HelloWorld from './HelloWorld.svelte' + +test('renders name', async () => { + const { getByText } = render(HelloWorld, { name: 'Vitest' }) + await expect.element(getByText('Hello Vitest!')).toBeInTheDocument() +}) From 5fa2668aad7952eff8a73ae2b88816af2fbfd936 Mon Sep 17 00:00:00 2001 From: pngwn Date: Fri, 16 May 2025 12:25:50 +0200 Subject: [PATCH 2/5] format --- vitest-example/HelloWorld.svelte | 2 +- vitest-example/HelloWorld.test.ts | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vitest-example/HelloWorld.svelte b/vitest-example/HelloWorld.svelte index d8f8699ea9..33a7b1d517 100644 --- a/vitest-example/HelloWorld.svelte +++ b/vitest-example/HelloWorld.svelte @@ -1,5 +1,5 @@

Hello {name}!

diff --git a/vitest-example/HelloWorld.test.ts b/vitest-example/HelloWorld.test.ts index 43f5b50582..01a3c3819e 100644 --- a/vitest-example/HelloWorld.test.ts +++ b/vitest-example/HelloWorld.test.ts @@ -1,8 +1,8 @@ -import { expect, test } from 'vitest' -import { render } from 'vitest-browser-svelte' -import HelloWorld from './HelloWorld.svelte' +import { expect, test } from "vitest"; +import { render } from "vitest-browser-svelte"; +import HelloWorld from "./HelloWorld.svelte"; -test('renders name', async () => { - const { getByText } = render(HelloWorld, { name: 'Vitest' }) - await expect.element(getByText('Hello Vitest!')).toBeInTheDocument() -}) +test("renders name", async () => { + const { getByText } = render(HelloWorld, { name: "Vitest" }); + await expect.element(getByText("Hello Vitest!")).toBeInTheDocument(); +}); From ed178534dd8754574cc12db899695ee73295b669 Mon Sep 17 00:00:00 2001 From: gradio-pr-bot Date: Fri, 16 May 2025 10:26:08 +0000 Subject: [PATCH 3/5] add changeset --- .changeset/silly-worms-smoke.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .changeset/silly-worms-smoke.md diff --git a/.changeset/silly-worms-smoke.md b/.changeset/silly-worms-smoke.md new file mode 100644 index 0000000000..52cf30a8fd --- /dev/null +++ b/.changeset/silly-worms-smoke.md @@ -0,0 +1,10 @@ +--- +"@gradio/image": minor +"@gradio/statustracker": minor +"@gradio/wasm": minor +"@self/spa": minor +"@self/tootils": minor +"gradio": minor +--- + +feat:switch test runner From c2920dc5ae77967bf78134c8df5f341718be6eec Mon Sep 17 00:00:00 2001 From: gradio-pr-bot Date: Fri, 16 May 2025 10:42:37 +0000 Subject: [PATCH 4/5] add changeset --- .changeset/silly-worms-smoke.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/silly-worms-smoke.md b/.changeset/silly-worms-smoke.md index 52cf30a8fd..8031e874f5 100644 --- a/.changeset/silly-worms-smoke.md +++ b/.changeset/silly-worms-smoke.md @@ -7,4 +7,4 @@ "gradio": minor --- -feat:switch test runner +feat:use a real browser environment for unit tests From 4e7574602b302ce21022f0f7f8853816b8f3ad0d Mon Sep 17 00:00:00 2001 From: pngwn Date: Fri, 16 May 2025 16:30:34 +0200 Subject: [PATCH 5/5] ci --- .github/workflows/tests-js.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/tests-js.yml b/.github/workflows/tests-js.yml index 276bdeb1be..5dd661f62b 100644 --- a/.github/workflows/tests-js.yml +++ b/.github/workflows/tests-js.yml @@ -51,6 +51,8 @@ jobs: uses: "gradio-app/gradio/.github/actions/install-frontend-deps@main" with: skip_build: true + - name: install playwright + run: pnpm exec playwright install - name: build client run: pnpm --filter @gradio/client build - name: build the wasm module