From 8aa3584768dfc1a9c25a5be951e71001f2d51294 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Thu, 10 Sep 2026 16:13:13 +0200 Subject: [PATCH 1/7] Replace Jest with Mocha for running tests, update ts to v7 --- package.json | 2 +- packages/app-web-docs/package.json | 2 +- packages/app-web/package.json | 4 +- packages/lib-cheatsheet-local/jest.config.ts | 17 - packages/lib-cheatsheet-local/package.json | 12 +- .../src/test/{app.spec.tsx => app.test.tsx} | 20 +- .../lib-cheatsheet-local/src/test/runTests.ts | 6 + .../src/test/styleMock.ts | 2 - .../src/test/tsconfig.json | 3 + .../lib-cheatsheet-local/tsconfig.jest.json | 9 - .../lib-cheatsheet-local/tsconfig.test.json | 12 + packages/lib-cheatsheet/jest.config.ts | 17 - packages/lib-cheatsheet/package.json | 13 +- ...heatsheet.spec.tsx => cheatsheet.test.tsx} | 14 +- ...tures.spec.tsx => formatCaptures.test.tsx} | 22 +- ...ec.ts => getDefaultCheatsheetInfo.test.ts} | 257 +- packages/lib-cheatsheet/src/test/runTests.ts | 6 + packages/lib-cheatsheet/src/test/styleMock.ts | 2 - .../lib-cheatsheet/src/test/tsconfig.json | 3 + packages/lib-cheatsheet/tsconfig.jest.json | 9 - packages/lib-cheatsheet/tsconfig.test.json | 12 + packages/lib-common/package.json | 4 +- packages/lib-common/src/tooling/jest.ts | 18 - packages/lib-common/src/tooling/mochaWeb.mjs | 57 + .../src/tooling/runMochaWebTests.ts | 30 + .../lib-vscode-tutorial-webview/package.json | 2 +- .../src/updatePackageJson.ts | 6 +- pnpm-lock.yaml | 2355 ++--------------- 28 files changed, 587 insertions(+), 2329 deletions(-) delete mode 100644 packages/lib-cheatsheet-local/jest.config.ts rename packages/lib-cheatsheet-local/src/test/{app.spec.tsx => app.test.tsx} (55%) create mode 100644 packages/lib-cheatsheet-local/src/test/runTests.ts delete mode 100644 packages/lib-cheatsheet-local/src/test/styleMock.ts create mode 100644 packages/lib-cheatsheet-local/src/test/tsconfig.json delete mode 100644 packages/lib-cheatsheet-local/tsconfig.jest.json create mode 100644 packages/lib-cheatsheet-local/tsconfig.test.json delete mode 100644 packages/lib-cheatsheet/jest.config.ts rename packages/lib-cheatsheet/src/test/{cheatsheet.spec.tsx => cheatsheet.test.tsx} (57%) rename packages/lib-cheatsheet/src/test/{formatCaptures.spec.tsx => formatCaptures.test.tsx} (50%) rename packages/lib-cheatsheet/src/test/{getDefaultCheatsheetInfo.spec.ts => getDefaultCheatsheetInfo.test.ts} (69%) create mode 100644 packages/lib-cheatsheet/src/test/runTests.ts delete mode 100644 packages/lib-cheatsheet/src/test/styleMock.ts create mode 100644 packages/lib-cheatsheet/src/test/tsconfig.json delete mode 100644 packages/lib-cheatsheet/tsconfig.jest.json create mode 100644 packages/lib-cheatsheet/tsconfig.test.json delete mode 100644 packages/lib-common/src/tooling/jest.ts create mode 100644 packages/lib-common/src/tooling/mochaWeb.mjs create mode 100644 packages/lib-common/src/tooling/runMochaWebTests.ts diff --git a/package.json b/package.json index c9839b9471..a49eb86a88 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "stylelint-config-standard-scss": "^17.0.0", "syncpack": "^15.3.3", "tsx": "^4.23.13", - "typescript": "^6.0.3" + "typescript": "^7.0.2" }, "pnpm": { "patchedDependencies": { diff --git a/packages/app-web-docs/package.json b/packages/app-web-docs/package.json index 7b0cda3893..88dcb64d35 100644 --- a/packages/app-web-docs/package.json +++ b/packages/app-web-docs/package.json @@ -52,7 +52,7 @@ "@types/node": "^24.13.4", "@types/react": "^19.3.0", "sass": "^1.104.0", - "typescript": "^6.0.3", + "typescript": "^7.0.2", "unified": "^11.0.5" } } diff --git a/packages/app-web/package.json b/packages/app-web/package.json index e1f9f025c4..b4c0a72a79 100644 --- a/packages/app-web/package.json +++ b/packages/app-web/package.json @@ -21,8 +21,8 @@ }, "devDependencies": { "@types/node": "^24.13.4", - "typescript": "^6.0.3", - "vite": "^8.2.2", + "typescript": "^7.0.2", + "vite": "^8.3.0", "vite-plugin-purgecss": "^0.2.13", "vite-plugin-svgr": "^5.2.0" } diff --git a/packages/lib-cheatsheet-local/jest.config.ts b/packages/lib-cheatsheet-local/jest.config.ts deleted file mode 100644 index 7cd495c91f..0000000000 --- a/packages/lib-cheatsheet-local/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Config } from "jest"; -import { preactModuleNameMapper } from "@cursorless/lib-common/jest"; - -const config: Config = { - preset: "ts-jest", - testEnvironment: "jsdom", - transform: { - "^.+\\.tsx?$": ["ts-jest", { tsconfig: "/tsconfig.jest.json" }], - }, - moduleNameMapper: { - ...preactModuleNameMapper, - "\\.(css|scss)$": "/src/test/styleMock.ts", - }, -}; - -// oxlint-disable-next-line import/no-default-export -export default config; diff --git a/packages/lib-cheatsheet-local/package.json b/packages/lib-cheatsheet-local/package.json index bc2c9d0dcc..051af627b3 100644 --- a/packages/lib-cheatsheet-local/package.json +++ b/packages/lib-cheatsheet-local/package.json @@ -6,9 +6,9 @@ "private": true, "type": "module", "scripts": { - "typecheck": "tsc", + "typecheck": "tsc && tsc -p tsconfig.test.json", "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo", - "test": "jest", + "test": "c-tsx --tsconfig=../../tsconfig.web.json --import=@cursorless/lib-common/mocha-web src/test/runTests.ts", "dev": "env NODE_OPTIONS=--import=tsx vite serve", "bundle:prod": "env NODE_OPTIONS=--import=tsx vite build", "bundle:dev": "env NODE_OPTIONS=--import=tsx vite build --mode development", @@ -21,11 +21,11 @@ "preact": "^10.29.8" }, "devDependencies": { - "@jest/globals": "^30.5.1", + "@types/mocha": "^10.0.10", "@types/node": "^24.13.4", - "jest": "^30.5.1", - "typescript": "^6.0.3", - "vite": "^8.2.2", + "mocha": "^12.0.0", + "typescript": "^7.0.2", + "vite": "^8.3.0", "vite-plugin-purgecss": "^0.2.13", "vite-plugin-singlefile": "^2.3.3" } diff --git a/packages/lib-cheatsheet-local/src/test/app.spec.tsx b/packages/lib-cheatsheet-local/src/test/app.test.tsx similarity index 55% rename from packages/lib-cheatsheet-local/src/test/app.spec.tsx rename to packages/lib-cheatsheet-local/src/test/app.test.tsx index 97c69a647f..154e3be437 100644 --- a/packages/lib-cheatsheet-local/src/test/app.spec.tsx +++ b/packages/lib-cheatsheet-local/src/test/app.test.tsx @@ -1,19 +1,23 @@ -import { afterEach, beforeEach, describe, expect, it } from "@jest/globals"; +import assert from "node:assert/strict"; +import { setup, suite, teardown, test } from "mocha"; import { render } from "preact"; import { act } from "preact/test-utils"; import { fakeCheatsheetInfo } from "@cursorless/lib-cheatsheet"; import { App } from "../app"; -describe("App", () => { - beforeEach(() => { +suite("App", () => { + setup(() => { document.cheatsheetInfo = fakeCheatsheetInfo; }); - afterEach(() => { + teardown(() => { + for (const container of document.body.children) { + render(null, container); + } document.body.innerHTML = ""; }); - it("should render successfully", async () => { + test("should render successfully", async () => { const container = document.createElement("div"); document.body.append(container); @@ -21,10 +25,10 @@ describe("App", () => { render(, container); }); - expect(container).toBeTruthy(); + assert.ok(container.childElementCount > 0); }); - it("should have a greeting as the title", async () => { + test("should have a greeting as the title", async () => { const container = document.createElement("div"); document.body.append(container); @@ -32,6 +36,6 @@ describe("App", () => { render(, container); }); - expect(container.textContent).toMatch(/Cursorless Cheatsheet/giu); + assert.match(container.textContent, /Cursorless Cheatsheet/giu); }); }); diff --git a/packages/lib-cheatsheet-local/src/test/runTests.ts b/packages/lib-cheatsheet-local/src/test/runTests.ts new file mode 100644 index 0000000000..1fd90c6b67 --- /dev/null +++ b/packages/lib-cheatsheet-local/src/test/runTests.ts @@ -0,0 +1,6 @@ +import process from "node:process"; +import Mocha from "mocha"; +import { runMochaWebTests } from "@cursorless/lib-common/mocha-web-runner"; + +const mocha = new Mocha({ ui: "tdd", color: true }); +process.exitCode = await runMochaWebTests(mocha); diff --git a/packages/lib-cheatsheet-local/src/test/styleMock.ts b/packages/lib-cheatsheet-local/src/test/styleMock.ts deleted file mode 100644 index dc3cdc07e5..0000000000 --- a/packages/lib-cheatsheet-local/src/test/styleMock.ts +++ /dev/null @@ -1,2 +0,0 @@ -// oxlint-disable-next-line import/no-anonymous-default-export, import/no-default-export -export default {}; diff --git a/packages/lib-cheatsheet-local/src/test/tsconfig.json b/packages/lib-cheatsheet-local/src/test/tsconfig.json new file mode 100644 index 0000000000..3678164521 --- /dev/null +++ b/packages/lib-cheatsheet-local/src/test/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.test.json" +} diff --git a/packages/lib-cheatsheet-local/tsconfig.jest.json b/packages/lib-cheatsheet-local/tsconfig.jest.json deleted file mode 100644 index 188d7a5b44..0000000000 --- a/packages/lib-cheatsheet-local/tsconfig.jest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "ignoreDeprecations": "6.0", - "module": "commonjs", - "moduleResolution": "bundler", - "types": ["node"] - } -} diff --git a/packages/lib-cheatsheet-local/tsconfig.test.json b/packages/lib-cheatsheet-local/tsconfig.test.json new file mode 100644 index 0000000000..398f4c18c5 --- /dev/null +++ b/packages/lib-cheatsheet-local/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node", "mocha"] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "../../resources/typings/**/*.d.ts" + ], + "exclude": [] +} diff --git a/packages/lib-cheatsheet/jest.config.ts b/packages/lib-cheatsheet/jest.config.ts deleted file mode 100644 index 7cd495c91f..0000000000 --- a/packages/lib-cheatsheet/jest.config.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { Config } from "jest"; -import { preactModuleNameMapper } from "@cursorless/lib-common/jest"; - -const config: Config = { - preset: "ts-jest", - testEnvironment: "jsdom", - transform: { - "^.+\\.tsx?$": ["ts-jest", { tsconfig: "/tsconfig.jest.json" }], - }, - moduleNameMapper: { - ...preactModuleNameMapper, - "\\.(css|scss)$": "/src/test/styleMock.ts", - }, -}; - -// oxlint-disable-next-line import/no-default-export -export default config; diff --git a/packages/lib-cheatsheet/package.json b/packages/lib-cheatsheet/package.json index 0afc00dfe7..811f5784ac 100644 --- a/packages/lib-cheatsheet/package.json +++ b/packages/lib-cheatsheet/package.json @@ -11,9 +11,9 @@ "*.css" ], "scripts": { - "typecheck": "tsc", + "typecheck": "tsc && tsc -p tsconfig.test.json", "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo", - "test": "jest" + "test": "c-tsx --tsconfig=../../tsconfig.web.json --import=@cursorless/lib-common/mocha-web src/test/runTests.ts" }, "dependencies": { "@cursorless/lib-common": "workspace:*", @@ -21,11 +21,10 @@ "react-bootstrap-icons": "^1.11.6" }, "devDependencies": { - "@jest/globals": "^30.5.1", + "@types/mocha": "^10.0.10", "@types/node": "^24.13.4", - "jest": "^30.5.1", - "jest-environment-jsdom": "^30.5.1", - "ts-jest": "^29.4.12", - "typescript": "^6.0.3" + "@types/react": "^19.3.0", + "mocha": "^12.0.0", + "typescript": "^7.0.2" } } diff --git a/packages/lib-cheatsheet/src/test/cheatsheet.spec.tsx b/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx similarity index 57% rename from packages/lib-cheatsheet/src/test/cheatsheet.spec.tsx rename to packages/lib-cheatsheet/src/test/cheatsheet.test.tsx index 0933f7a89f..013a783820 100644 --- a/packages/lib-cheatsheet/src/test/cheatsheet.spec.tsx +++ b/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx @@ -1,15 +1,19 @@ -import { afterEach, describe, expect, it } from "@jest/globals"; +import assert from "node:assert/strict"; +import { suite, teardown, test } from "mocha"; import { render } from "preact"; import { act } from "preact/test-utils"; import { Cheatsheet } from "../lib/Cheatsheet"; import { fakeCheatsheetInfo } from "../lib/utils/fakeCheatsheetInfo"; -describe("Cheatsheet", () => { - afterEach(() => { +suite("Cheatsheet", () => { + teardown(() => { + for (const container of document.body.children) { + render(null, container); + } document.body.innerHTML = ""; }); - it("should render successfully", async () => { + test("should render successfully", async () => { const container = document.createElement("div"); document.body.append(container); @@ -17,6 +21,6 @@ describe("Cheatsheet", () => { render(, container); }); - expect(container).toBeTruthy(); + assert.ok(container.childElementCount > 0); }); }); diff --git a/packages/lib-cheatsheet/src/test/formatCaptures.spec.tsx b/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx similarity index 50% rename from packages/lib-cheatsheet/src/test/formatCaptures.spec.tsx rename to packages/lib-cheatsheet/src/test/formatCaptures.test.tsx index f5f68d719d..8c45e90db2 100644 --- a/packages/lib-cheatsheet/src/test/formatCaptures.spec.tsx +++ b/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx @@ -1,14 +1,18 @@ -import { afterEach, describe, expect, it } from "@jest/globals"; +import assert from "node:assert/strict"; +import { suite, teardown, test } from "mocha"; import { render } from "preact"; import { act } from "preact/test-utils"; import { formatCaptures } from "../lib/utils/formatCaptures"; -describe("formatCaptures", () => { - afterEach(() => { +suite("formatCaptures", () => { + teardown(() => { + for (const container of document.body.children) { + render(null, container); + } document.body.innerHTML = ""; }); - it("formats capture placeholders", async () => { + test("formats capture placeholders", async () => { const container = document.createElement("div"); document.body.append(container); @@ -16,11 +20,11 @@ describe("formatCaptures", () => { render(
{formatCaptures("hello world")}
, container); }); - expect(container.textContent).toBe("hello [target] world"); - expect(container.querySelector('a[href="#legend"]')).not.toBeNull(); + assert.equal(container.textContent, "hello [target] world"); + assert.notEqual(container.querySelector('a[href="#legend"]'), null); }); - it("leaves malformed captures as plain text", async () => { + test("leaves malformed captures as plain text", async () => { const container = document.createElement("div"); document.body.append(container); const input = "<<=<=<="; @@ -29,7 +33,7 @@ describe("formatCaptures", () => { render(
{formatCaptures(input)}
, container); }); - expect(container.textContent).toBe(input); - expect(container.querySelector('a[href="#legend"]')).toBeNull(); + assert.equal(container.textContent, input); + assert.equal(container.querySelector('a[href="#legend"]'), null); }); }); diff --git a/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.spec.ts b/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts similarity index 69% rename from packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.spec.ts rename to packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts index c47eabee6d..9fa69bc713 100644 --- a/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.spec.ts +++ b/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts @@ -1,15 +1,16 @@ -import { describe, expect, test } from "@jest/globals"; +import assert from "node:assert/strict"; +import { suite, test } from "mocha"; import type { CheatsheetInfo } from "@cursorless/lib-common/cheatsheet"; import { getCheatsheetInfo, getDefaultCheatsheetInfo, } from "@cursorless/lib-common/cheatsheet"; -describe("getDefaultCheatsheetInfo", () => { +suite("getDefaultCheatsheetInfo", () => { const cheatsheetInfo = getDefaultCheatsheetInfo(); test("constructs action syntax from the reference definition", () => { - expect(getItem("actions", "swapTargets").variations).toEqual([ + assert.deepEqual(getItem("actions", "swapTargets").variations, [ { spokenForm: "swap with ", description: "Swap selection with ", @@ -22,14 +23,18 @@ describe("getDefaultCheatsheetInfo", () => { }); test("omits private and disabled-by-default references", () => { - expect(getSection("actions").items).not.toContainEqual( - expect.objectContaining({ id: "private.showParseTree" }), + assert.ok( + !getSection("actions").items.some( + ({ id }) => id === "private.showParseTree", + ), ); - expect(getSection("scopes").items).not.toContainEqual( - expect.objectContaining({ id: "private.fieldAccess" }), + assert.ok( + !getSection("scopes").items.some( + ({ id }) => id === "private.fieldAccess", + ), ); - expect(getSection("scopes").items).not.toContainEqual( - expect.objectContaining({ id: "sectionLevelOne" }), + assert.ok( + !getSection("scopes").items.some(({ id }) => id === "sectionLevelOne"), ); }); @@ -47,24 +52,26 @@ describe("getDefaultCheatsheetInfo", () => { }, ]); - expect( + assert.match( getItem("actions", "private.showParseTree", customCheatsheetInfo) - .variations[0]?.description, - ).toMatch(/\(PRIVATE\)$/u); - expect( + .variations[0]?.description ?? "", + /\(PRIVATE\)$/u, + ); + assert.match( getItem("scopes", "private.fieldAccess", customCheatsheetInfo) - .variations[0]?.description, - ).toMatch(/\(PRIVATE\)$/u); + .variations[0]?.description ?? "", + /\(PRIVATE\)$/u, + ); }); test("uses canonical reference ids", () => { - expect(getItem("modifiers", "everyScope")).toBeDefined(); - expect(getItem("scopes", "surroundingPair")).toBeDefined(); - expect(getItem("actions", "rewrapWithPairedDelimiter")).toBeDefined(); + assert.notEqual(getItem("modifiers", "everyScope"), undefined); + assert.notEqual(getItem("scopes", "surroundingPair"), undefined); + assert.notEqual(getItem("actions", "rewrapWithPairedDelimiter"), undefined); }); test("constructs default destinations", () => { - expect(getSection("destinations").items).toEqual([ + assert.deepEqual(getSection("destinations").items, [ { id: "destination_after", type: "destination", @@ -99,14 +106,11 @@ describe("getDefaultCheatsheetInfo", () => { }); test("includes only colors and shapes that are enabled by default", () => { - expect(getSection("colors").items.map(({ id }) => id)).toEqual([ - "blue", - "green", - "red", - "pink", - "yellow", - ]); - expect(getSection("shapes").items).toEqual([]); + assert.deepEqual( + getSection("colors").items.map(({ id }) => id), + ["blue", "green", "red", "pink", "yellow"], + ); + assert.deepEqual(getSection("shapes").items, []); }); test("applies Talon spoken-form entries to the current syntax", () => { @@ -156,54 +160,63 @@ describe("getDefaultCheatsheetInfo", () => { }, ]); - expect( + assert.deepEqual( getItem("actions", "editNewLineBefore", customCheatsheetInfo).variations, - ).toEqual([ - { spokenForm: "gulp ", description: "Edit new line before" }, - { - spokenForm: "gulp ", - description: "Edit new before", - }, - ]); - expect( + [ + { spokenForm: "gulp ", description: "Edit new line before" }, + { + spokenForm: "gulp ", + description: "Edit new before", + }, + ], + ); + assert.equal( getItem("modifiers", "interiorOnly", customCheatsheetInfo).variations[0] ?.spokenForm, - ).toBe("within"); - expect( + "within", + ); + assert.deepEqual( getItem("modifiers", "ancestor", customCheatsheetInfo).variations.map( ({ spokenForm }) => spokenForm, ), - ).toEqual(["parental "]); - expect( + ["parental "], + ); + assert.deepEqual( getItem("scopes", "token", customCheatsheetInfo).variations.map( ({ spokenForm }) => spokenForm, ), - ).toEqual(["word unit"]); - expect( + ["word unit"], + ); + assert.equal( getItem("scopes", "sectionLevelOne", customCheatsheetInfo).variations[0] ?.spokenForm, - ).toBe("one section"); - expect( + "one section", + ); + assert.equal( getItem("compoundTargets", "rangeExcludingStart", customCheatsheetInfo) .variations[0]?.spokenForm, - ).toBe(" from end "); - expect( + " from end ", + ); + assert.equal( getItem("actions", "swapTargets", customCheatsheetInfo).variations[0] ?.spokenForm, - ).toBe("swap versus "); - expect( + "swap versus ", + ); + assert.deepEqual( getItem("actions", "pasteFromClipboard", customCheatsheetInfo).variations, - ).toEqual([ - { - spokenForm: "paste ", - description: "Paste from clipboard at ", - }, - ]); - expect( + [ + { + spokenForm: "paste ", + description: "Paste from clipboard at ", + }, + ], + ); + assert.deepEqual( getItem("actions", "callAsFunction", customCheatsheetInfo).variations.map( ({ spokenForm }) => spokenForm, ), - ).toEqual(["call ", "call onto "]); + ["call ", "call onto "], + ); }); test("does not apply replacements to customized spoken forms", () => { @@ -217,10 +230,11 @@ describe("getDefaultCheatsheetInfo", () => { { type: "modifierExtra", id: "next", spokenForms: ["afterward"] }, ]); - expect( + assert.equal( getItem("actions", "swapTargets", customCheatsheetInfo).variations[0] ?.spokenForm, - ).toBe("swap next "); + "swap next ", + ); }); test("includes only the first spoken form for custom actions", () => { @@ -237,25 +251,28 @@ describe("getDefaultCheatsheetInfo", () => { }, ]); - expect( + assert.deepEqual( getItem( "actions", "editor.action.moveLinesDownAction", customCheatsheetInfo, ), - ).toEqual({ - id: "editor.action.moveLinesDownAction", - type: "action", - variations: [ - { - spokenForm: "push down ", - description: "Editor action move lines down action", - }, - ], - }); - expect( - getSection("actions", customCheatsheetInfo).items, - ).not.toContainEqual(expect.objectContaining({ id: "disabled.action" })); + { + id: "editor.action.moveLinesDownAction", + type: "action", + variations: [ + { + spokenForm: "push down ", + description: "Editor action move lines down action", + }, + ], + }, + ); + assert.ok( + !getSection("actions", customCheatsheetInfo).items.some( + ({ id }) => id === "disabled.action", + ), + ); }); test("includes custom regex scopes", () => { @@ -272,20 +289,23 @@ describe("getDefaultCheatsheetInfo", () => { }, ]); - expect( + assert.deepEqual( getItem("scopes", "customRegex.dotted", customCheatsheetInfo), - ).toEqual({ - id: "customRegex.dotted", - type: "scopeType", - variations: [ - { - spokenForm: "dotted", - description: String.raw`/[\w.]+/`, - }, - ], - }); - expect(getSection("scopes", customCheatsheetInfo).items).not.toContainEqual( - expect.objectContaining({ id: "customRegex.disabled" }), + { + id: "customRegex.dotted", + type: "scopeType", + variations: [ + { + spokenForm: "dotted", + description: String.raw`/[\w.]+/`, + }, + ], + }, + ); + assert.ok( + !getSection("scopes", customCheatsheetInfo).items.some( + ({ id }) => id === "customRegex.disabled", + ), ); }); @@ -300,12 +320,15 @@ describe("getDefaultCheatsheetInfo", () => { }, ]); - expect(getSection("scopes", customCheatsheetInfo).items).not.toContainEqual( - expect.objectContaining({ id: "token" }), + assert.ok( + !getSection("scopes", customCheatsheetInfo).items.some( + ({ id }) => id === "token", + ), ); - expect( + assert.notEqual( getItem("actions", "swapTargets", customCheatsheetInfo), - ).toBeDefined(); + undefined, + ); }); test("omits syntax examples whose spoken form is missing or disabled", () => { @@ -315,17 +338,20 @@ describe("getDefaultCheatsheetInfo", () => { { type: "connective", id: "swapConnective", spokenForms: [] }, ]); - expect( + assert.deepEqual( getItem("actions", "callAsFunction", customCheatsheetInfo).variations, - ).toEqual([ - { - spokenForm: "call ", - description: "Insert call to on selection", - }, - ]); - expect( - getSection("actions", customCheatsheetInfo).items, - ).not.toContainEqual(expect.objectContaining({ id: "swapTargets" })); + [ + { + spokenForm: "call ", + description: "Insert call to on selection", + }, + ], + ); + assert.ok( + !getSection("actions", customCheatsheetInfo).items.some( + ({ id }) => id === "swapTargets", + ), + ); }); test("constructs destinations only from enabled spoken forms", () => { @@ -338,7 +364,7 @@ describe("getDefaultCheatsheetInfo", () => { { type: "insertionMode", id: "to", spokenForms: ["toward"] }, ]); - expect(getSection("destinations", customCheatsheetInfo).items).toEqual([ + assert.deepEqual(getSection("destinations", customCheatsheetInfo).items, [ { id: "destination_before", type: "destination", @@ -381,23 +407,24 @@ describe("getDefaultCheatsheetInfo", () => { }, ]); - expect( + assert.deepEqual( getItem("scopeVisualizer", "show_scope_visualizer", customCheatsheetInfo) .variations, - ).toEqual([ - { - spokenForm: "inspect ", - description: "Visualize ", - }, - { - spokenForm: "inspect deletion", - description: "Visualize removal range", - }, - ]); - expect( - getSection("scopeVisualizer", customCheatsheetInfo).items, - ).not.toContainEqual( - expect.objectContaining({ id: "hideScopeVisualizer" }), + [ + { + spokenForm: "inspect ", + description: "Visualize ", + }, + { + spokenForm: "inspect deletion", + description: "Visualize removal range", + }, + ], + ); + assert.ok( + !getSection("scopeVisualizer", customCheatsheetInfo).items.some( + ({ id }) => id === "hideScopeVisualizer", + ), ); }); diff --git a/packages/lib-cheatsheet/src/test/runTests.ts b/packages/lib-cheatsheet/src/test/runTests.ts new file mode 100644 index 0000000000..1fd90c6b67 --- /dev/null +++ b/packages/lib-cheatsheet/src/test/runTests.ts @@ -0,0 +1,6 @@ +import process from "node:process"; +import Mocha from "mocha"; +import { runMochaWebTests } from "@cursorless/lib-common/mocha-web-runner"; + +const mocha = new Mocha({ ui: "tdd", color: true }); +process.exitCode = await runMochaWebTests(mocha); diff --git a/packages/lib-cheatsheet/src/test/styleMock.ts b/packages/lib-cheatsheet/src/test/styleMock.ts deleted file mode 100644 index dc3cdc07e5..0000000000 --- a/packages/lib-cheatsheet/src/test/styleMock.ts +++ /dev/null @@ -1,2 +0,0 @@ -// oxlint-disable-next-line import/no-anonymous-default-export, import/no-default-export -export default {}; diff --git a/packages/lib-cheatsheet/src/test/tsconfig.json b/packages/lib-cheatsheet/src/test/tsconfig.json new file mode 100644 index 0000000000..3678164521 --- /dev/null +++ b/packages/lib-cheatsheet/src/test/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.test.json" +} diff --git a/packages/lib-cheatsheet/tsconfig.jest.json b/packages/lib-cheatsheet/tsconfig.jest.json deleted file mode 100644 index 188d7a5b44..0000000000 --- a/packages/lib-cheatsheet/tsconfig.jest.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "ignoreDeprecations": "6.0", - "module": "commonjs", - "moduleResolution": "bundler", - "types": ["node"] - } -} diff --git a/packages/lib-cheatsheet/tsconfig.test.json b/packages/lib-cheatsheet/tsconfig.test.json new file mode 100644 index 0000000000..398f4c18c5 --- /dev/null +++ b/packages/lib-cheatsheet/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": ["node", "mocha"] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx", + "../../resources/typings/**/*.d.ts" + ], + "exclude": [] +} diff --git a/packages/lib-common/package.json b/packages/lib-common/package.json index 116f59f5f0..5933ee31d2 100644 --- a/packages/lib-common/package.json +++ b/packages/lib-common/package.json @@ -10,7 +10,8 @@ "exports": { ".": "./src/index.ts", "./cheatsheet": "./src/cheatsheet/index.ts", - "./jest": "./src/tooling/jest.ts", + "./mocha-web": "./src/tooling/mochaWeb.mjs", + "./mocha-web-runner": "./src/tooling/runMochaWebTests.ts", "./vite": "./src/tooling/vite.ts" }, "scripts": { @@ -31,6 +32,7 @@ "cross-spawn": "^7.0.6", "fast-check": "^4.9.0", "js-yaml": "^5.4.1", + "jsdom": "^26.1.0", "web-tree-sitter": "^0.27.0" } } diff --git a/packages/lib-common/src/tooling/jest.ts b/packages/lib-common/src/tooling/jest.ts deleted file mode 100644 index c8feabf6d9..0000000000 --- a/packages/lib-common/src/tooling/jest.ts +++ /dev/null @@ -1,18 +0,0 @@ -export const preactModuleNameMapper = { - "^react$": "/node_modules/preact/compat/dist/compat.js", - "^react-dom$": "/node_modules/preact/compat/dist/compat.js", - "^react-dom/test-utils$": - "/node_modules/preact/test-utils/dist/testUtils.js", - "^react/jsx-runtime$": - "/node_modules/preact/jsx-runtime/dist/jsxRuntime.js", - "^react/jsx-dev-runtime$": - "/node_modules/preact/jsx-runtime/dist/jsxRuntime.js", - "^preact$": "/node_modules/preact/dist/preact.js", - "^preact/hooks$": "/node_modules/preact/hooks/dist/hooks.js", - "^preact/test-utils$": - "/node_modules/preact/test-utils/dist/testUtils.js", - "^preact/jsx-runtime$": - "/node_modules/preact/jsx-runtime/dist/jsxRuntime.js", - "^preact/jsx-dev-runtime$": - "/node_modules/preact/jsx-runtime/dist/jsxRuntime.js", -}; diff --git a/packages/lib-common/src/tooling/mochaWeb.mjs b/packages/lib-common/src/tooling/mochaWeb.mjs new file mode 100644 index 0000000000..cdb1cb7e4c --- /dev/null +++ b/packages/lib-common/src/tooling/mochaWeb.mjs @@ -0,0 +1,57 @@ +import { registerHooks } from "node:module"; +import { cwd } from "node:process"; +import { pathToFileURL } from "node:url"; +import { JSDOM } from "jsdom"; + +const packageURL = pathToFileURL(`${cwd()}/package.json`).href; +const aliases = { + react: "preact/compat", + "react-dom": "preact/compat", + "react-dom/test-utils": "preact/test-utils", + "react/jsx-runtime": "preact/jsx-runtime", + "react/jsx-dev-runtime": "preact/jsx-dev-runtime", +}; +// Use Preact's ESM exports for both tests and React-compatible dependencies. +// Resolving with require() selects the CommonJS JSX runtime, whose named +// exports (including Fragment) are not reliably available to ESM imports. +registerHooks({ + resolve(specifier, context, nextResolve) { + if (/\.(css|scss)$/u.test(specifier)) { + return { + url: "data:text/javascript,export default {};", + shortCircuit: true, + }; + } + const alias = aliases[specifier] ?? specifier; + if (alias === "preact" || alias.startsWith("preact/")) { + return nextResolve(alias, { + ...context, + parentURL: packageURL, + conditions: ["node", "import", "default"], + }); + } + return nextResolve(specifier, context); + }, +}); + +const dom = new JSDOM("", { + url: "http://localhost/", + pretendToBeVisual: true, +}); +for (const name of [ + "window", + "document", + "navigator", + "HTMLElement", + "Node", + "Event", + "CustomEvent", + "requestAnimationFrame", + "cancelAnimationFrame", +]) { + Object.defineProperty(globalThis, name, { + configurable: true, + value: dom.window[name], + writable: true, + }); +} diff --git a/packages/lib-common/src/tooling/runMochaWebTests.ts b/packages/lib-common/src/tooling/runMochaWebTests.ts new file mode 100644 index 0000000000..a57fba6a31 --- /dev/null +++ b/packages/lib-common/src/tooling/runMochaWebTests.ts @@ -0,0 +1,30 @@ +// oxlint-disable import/no-nodejs-modules -- This test runner executes in Node. +import { glob } from "node:fs/promises"; +import path from "node:path"; +import { pathToFileURL } from "node:url"; +import type Mocha from "mocha"; + +export async function runMochaWebTests(mocha: Mocha): Promise { + const files: string[] = []; + + for await (const file of glob("src/test/**/*.test.{ts,tsx}")) { + files.push(path.resolve(file)); + } + + if (files.length === 0) { + throw new Error("No cheatsheet test files found"); + } + + // Mocha 12's loader tries require() first. Import explicitly so tsx's ESM + // loader transforms TSX before Node evaluates it, including with sync hooks. + for (const file of files.toSorted()) { + mocha.suite.emit("pre-require", globalThis, file, mocha); + const tests = await import(pathToFileURL(file).href); + mocha.suite.emit("require", tests, file, mocha); + mocha.suite.emit("post-require", globalThis, file, mocha); + } + + return new Promise((resolve) => { + mocha.run((failures) => resolve(failures === 0 ? 0 : 1)); + }); +} diff --git a/packages/lib-vscode-tutorial-webview/package.json b/packages/lib-vscode-tutorial-webview/package.json index 8501714584..77159f653f 100644 --- a/packages/lib-vscode-tutorial-webview/package.json +++ b/packages/lib-vscode-tutorial-webview/package.json @@ -20,7 +20,7 @@ }, "devDependencies": { "@types/vscode-webview": "^1.57.5", - "vite": "^8.2.2", + "vite": "^8.3.0", "vite-plugin-purgecss": "^0.2.13" } } diff --git a/packages/tool-meta-updater/src/updatePackageJson.ts b/packages/tool-meta-updater/src/updatePackageJson.ts index e009a5841e..62556dc9af 100644 --- a/packages/tool-meta-updater/src/updatePackageJson.ts +++ b/packages/tool-meta-updater/src/updatePackageJson.ts @@ -1,3 +1,5 @@ +import { existsSync } from "node:fs"; +import path from "node:path"; import type { FormatPluginFnOptions } from "@pnpm/meta-updater"; import { isUndefined } from "lodash-es"; import type { PackageJson } from "type-fest"; @@ -101,7 +103,9 @@ function getScripts( return scripts; } - scripts.typecheck = "tsc"; + scripts.typecheck = existsSync(path.join(packageDir, "tsconfig.test.json")) + ? "tsc && tsc -p tsconfig.test.json" + : "tsc"; const cleanDirs = ["./out", "./dist", "./tsconfig.tsbuildinfo"]; const clean = `rm -rf ${cleanDirs.join(" ")}`; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2301d5126a..ea4be0ba88 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,13 +43,13 @@ importers: version: 7.0.2001 stylelint: specifier: ^17.15.0 - version: 17.15.0(typescript@6.0.3) + version: 17.15.0(typescript@7.0.2) stylelint-config-standard: specifier: ^40.0.0 - version: 40.0.0(stylelint@17.15.0(typescript@6.0.3)) + version: 40.0.0(stylelint@17.15.0(typescript@7.0.2)) stylelint-config-standard-scss: specifier: ^17.0.0 - version: 17.0.0(postcss@8.5.28)(stylelint@17.15.0(typescript@6.0.3)) + version: 17.0.0(postcss@8.5.28)(stylelint@17.15.0(typescript@7.0.2)) syncpack: specifier: ^15.3.3 version: 15.3.3 @@ -57,8 +57,8 @@ importers: specifier: ^4.23.13 version: 4.23.13 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 packages/app-neovim: dependencies: @@ -201,17 +201,17 @@ importers: specifier: ^24.13.4 version: 24.13.4 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 vite: - specifier: ^8.2.2 - version: 8.2.2(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) + specifier: ^8.3.0 + version: 8.3.0(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) vite-plugin-purgecss: specifier: ^0.2.13 - version: 0.2.13(@swc/core@1.16.2)(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@6.0.3)(yaml@2.9.0) + version: 0.2.13(@swc/core@1.16.2)(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@7.0.2)(yaml@2.9.0) vite-plugin-svgr: specifier: ^5.2.0 - version: 5.2.0(rollup@4.63.1)(typescript@6.0.3)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)) + version: 5.2.0(rollup@4.63.1)(typescript@7.0.2)(vite@8.3.0(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)) packages/app-web-docs: dependencies: @@ -226,22 +226,22 @@ importers: version: 5.1.0(@algolia/client-search@5.59.0)(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3) '@docusaurus/core': specifier: ^3.10.2 - version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/faster': specifier: ^3.10.2 version: 3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28) '@docusaurus/preset-classic': specifier: ^3.10.2 - version: 3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@6.0.3) + version: 3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@7.0.2) '@docusaurus/theme-classic': specifier: ^3.10.2 - version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + version: 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/theme-common': specifier: ^3.10.2 - version: 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/theme-search-algolia': specifier: ^3.10.2 - version: 3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@6.0.3) + version: 3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@7.0.2) '@mdx-js/react': specifier: ^3.1.1 version: 3.1.1(@types/react@19.3.0)(react@19.3.0) @@ -250,7 +250,7 @@ importers: version: 5.3.8(@popperjs/core@2.11.8) docusaurus-plugin-sass: specifier: ^0.2.7 - version: 0.2.7(@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@rspack/core@1.7.12)(sass@1.104.0)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) + version: 0.2.7(@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@rspack/core@1.7.12)(sass@1.104.0)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) prism-react-renderer: specifier: ^2.4.1 version: 2.4.1(react@19.3.0) @@ -292,8 +292,8 @@ importers: specifier: ^1.104.0 version: 1.104.0 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 unified: specifier: ^11.0.5 version: 11.0.5 @@ -310,24 +310,21 @@ importers: specifier: ^1.11.6 version: 1.11.6(react@19.3.0) devDependencies: - '@jest/globals': - specifier: ^30.5.1 - version: 30.5.1 + '@types/mocha': + specifier: ^10.0.10 + version: 10.0.10 '@types/node': specifier: ^24.13.4 version: 24.13.4 - jest: - specifier: ^30.5.1 - version: 30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - jest-environment-jsdom: - specifier: ^30.5.1 - version: 30.5.1 - ts-jest: - specifier: ^29.4.12 - version: 29.4.12(@babel/core@7.29.7)(@jest/transform@30.5.1)(@jest/types@30.5.1)(babel-jest@30.5.1(@babel/core@7.29.7))(esbuild@0.28.2)(jest-util@30.5.1)(jest@30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)))(typescript@6.0.3) + '@types/react': + specifier: ^19.3.0 + version: 19.3.0 + mocha: + specifier: ^12.0.0 + version: 12.0.0 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 packages/lib-cheatsheet-local: dependencies: @@ -344,27 +341,27 @@ importers: specifier: ^10.29.8 version: 10.29.8 devDependencies: - '@jest/globals': - specifier: ^30.5.1 - version: 30.5.1 + '@types/mocha': + specifier: ^10.0.10 + version: 10.0.10 '@types/node': specifier: ^24.13.4 version: 24.13.4 - jest: - specifier: ^30.5.1 - version: 30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) + mocha: + specifier: ^12.0.0 + version: 12.0.0 typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: ^7.0.2 + version: 7.0.2 vite: - specifier: ^8.2.2 - version: 8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) + specifier: ^8.3.0 + version: 8.3.0(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) vite-plugin-purgecss: specifier: ^0.2.13 - version: 0.2.13(@swc/core@1.16.2)(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@6.0.3)(yaml@2.9.0) + version: 0.2.13(@swc/core@1.16.2)(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@7.0.2)(yaml@2.9.0) vite-plugin-singlefile: specifier: ^2.3.3 - version: 2.3.3(rollup@4.63.1)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)) + version: 2.3.3(rollup@4.63.1)(vite@8.3.0(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)) packages/lib-common: dependencies: @@ -402,6 +399,9 @@ importers: js-yaml: specifier: ^5.4.1 version: 5.4.1 + jsdom: + specifier: ^26.1.0 + version: 26.1.0 web-tree-sitter: specifier: ^0.27.0 version: 0.27.0 @@ -611,8 +611,8 @@ importers: specifier: ^1.57.5 version: 1.57.5 vite: - specifier: ^8.2.2 - version: 8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) + specifier: ^8.3.0 + version: 8.3.0(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) vite-plugin-purgecss: specifier: ^0.2.13 version: 0.2.13(@swc/core@1.16.2)(@types/node@26.2.0)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@7.0.2)(yaml@2.9.0) @@ -1042,27 +1042,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-bigint@7.8.3': - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-dynamic-import@7.8.3': resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: @@ -1080,64 +1059,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-meta@7.10.4': - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-jsx@7.29.7': resolution: {integrity: sha512-TSu8+mHCoEaaCDEZ0I3+6mvTBYR4PCxQwf2z9/r5Tbztv6NaLR3B9thGTTxX2WGuGHJqRiAbKPeGTJ5XWXVg6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.29.7': resolution: {integrity: sha512-ngr+82Sh0xMz25TPCZi+nC2iTzjfCdWS2ONXTp/PtSCHCgaCNBpdMqgvJ2ccdLlClVZ7sisIgB914j/JFe+RZA==} engines: {node: '>=6.9.0'} @@ -1564,9 +1491,6 @@ packages: '@types/react': optional: true - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@cacheable/memory@2.2.0': resolution: {integrity: sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==} @@ -1585,10 +1509,6 @@ packages: resolution: {integrity: sha512-dTmUJzXSuayBK+hZydEaXd2mhx61qWQwkwaBBY6LyEOVx/L9aQU5ac8eFNEsd9nrD1+zb9zvDCphLSe8g1F4Qw==} engines: {node: '>=0.1.90'} - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - '@csstools/cascade-layer-name-parser@2.0.5': resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} engines: {node: '>=18'} @@ -2195,21 +2115,12 @@ packages: resolution: {integrity: sha512-xx0W3eav2uW1NRIpuHJWNwLTC15xPNjU4Uxi9NSnd3swYC96BE3vFiT93SD8s24kmAAWNwgZwfZ2fghGZ01Lcw==} engines: {node: '>=20.0'} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.11.3': resolution: {integrity: sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg==} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.11.3': resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@emnapi/wasi-threads@1.2.3': resolution: {integrity: sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g==} @@ -2764,115 +2675,14 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.6': - resolution: {integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==} - engines: {node: '>=8'} - - '@jest/console@30.5.1': - resolution: {integrity: sha512-u5Ncuc+gXVUwjNMFQOnphHo2Qx2DxyC8Dvpmf4HCx4y0kvSkRRNiQYRixrvOP4V7y52JcSuNxqochCt0PpdHVg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/core@30.5.1': - resolution: {integrity: sha512-BL9g6CJUUhIbdoAflz/Va658erSSXUIvU8XUYiWNTbZljJjZ5yaC9EJ9/dQ19rpbYV3ZOK4sBACqhPaTyhoUIA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/diff-sequences@30.5.0': - resolution: {integrity: sha512-OsqBjHXCn8cadasoAZBP6nWYvMsRhpMzGXTpxJ5aO04NlbdhIz+FVe3q49l0AwVhsz/cEmIpBes6gAFl1/dWQg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/environment-jsdom-abstract@30.5.1': - resolution: {integrity: sha512-J395vmP3Fb2Te0JmF7pe4si4jpfbXef1YsY4UpHYL6OOxS2molu9Dsie1VmIiUalXdtmz1P5QRgc+5hBD+ssBg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@types/jsdom': '*' - canvas: ^3.0.0 - jsdom: '*' - peerDependenciesMeta: - canvas: - optional: true - - '@jest/environment@30.5.1': - resolution: {integrity: sha512-eYJAkOsrpwDXPcoLNEG6lN9Zo3Cy35pxnVQD74vyIfsi/Q8wB/lZFsEjU4wrecOgT4ZviQDZaX/cFIJyMdMxTw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/expect-utils@30.5.1': - resolution: {integrity: sha512-WcRWhHQdTMRDpyWKZ/6MINBmovI7zeD+bL8wFjCncRV3NQOwKy1X45IfyblfHR4k/XciIlNEdFL9QjFO+HNKOg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/expect@30.5.1': - resolution: {integrity: sha512-uOGd40P/COyUp9xHf5jeGiGJC2/ANg+2+Tk9/xN5/LxmlY/r/gxsPrx3DTEtaRZsLAX4wgNSLEDELZ5bmVs2bA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/fake-timers@30.5.1': - resolution: {integrity: sha512-rEkV6YzpBXo/L9cnj2ibyuYZuyGiNWaPUsyCu3HYJbqCV4jnEiKmf7hId20z8eKjZ0JQ9jtIYKxRSmYB/OYSsA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/get-type@30.5.0': - resolution: {integrity: sha512-9/2VUPitAjmBzbvDvqrxmvB7BzWsBW0WmkkojX1ODuxX1NLGxx9gfaZpHB0z8DtJ9uhGNmZG/VXBhf8uO0OV8Q==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/globals@30.5.1': - resolution: {integrity: sha512-VhqvQ251XIC7pk46YymI3HCeBLOdvriDw9zibekodAHEwoVvbVVgpU5H13GvmyOAzxtZCfsm1uvzqkaqJf2I+g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/pattern@30.5.0': - resolution: {integrity: sha512-HdNQYSdRTEBNrginaqzQtTjG0HRMfrra/z6Ok7uL3S87vSlarIVohEsJsSj5edu3MiHoHjAkvPROz5ZjoKai+w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/reporters@30.5.1': - resolution: {integrity: sha512-RbUXIfv85KxitJn4l3MpAoMilkvXe2QCO5lXxHWftywo/VdZ5vkEoHRDgphcxP6qmoIkUaN8/UZj6NhdkIFdJg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/schemas@30.5.0': - resolution: {integrity: sha512-/hunigyNpc4RCjC0VaW3f5RCUZVM2+WQ65qP7z083Gmvac7or2LI50XVNOtE4YPgBpV0yxYiAgorAPGniCoJmg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/snapshot-utils@30.5.1': - resolution: {integrity: sha512-V3wnxNtiVmw5PPVg433Cn3VdXnsOeu/ofLw3KC04Bn2y1wIlU5kozXQn48rhrgj/02LrCVtntTEF1yBha0XSUw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/source-map@30.5.0': - resolution: {integrity: sha512-xWpTJP9D0bDFGbPGT8XuWSwwha/iHADyyKzUnMx4UbdgnHugxrDaQFO4RZ8x4ZsFzRP6pNii8uvlgKCDxCIuDg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/test-result@30.5.1': - resolution: {integrity: sha512-A/1S6ZBdpic50E0pxLgvaB9XNPL4k7AksmG69OO2oiotxciWZwHkbOec+qbIi+uUtIIByOVlXJUl97oZUsz+Jw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/test-sequencer@30.5.1': - resolution: {integrity: sha512-SHcPnrjdVRYJv6y6l4JUTy4Jccu7zmO6BmiOfOA34UiVBto22s19WiDC0A/2qfM7MWB/qdcoqfSIRMitpjTT4A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - '@jest/transform@30.5.1': - resolution: {integrity: sha512-EDnDhn0jleU9ZhpVoA4gvqw+Ev0iw/r5upNT2b79RiwiaTiYAMMhvNJP3lmocjIe5J2ZkoNr0B3K/J6O5GIm4Q==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jest/types@29.6.3': resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/types@30.5.1': - resolution: {integrity: sha512-LvVYn83nnXPl+Rg98nvcFgjx6nRMTArhSn6RAX/w3ELn54S8A42TYZvsCMdGUqTM8S0wyXbtlQdU6Hi6dykj9g==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -2892,9 +2702,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@jsonjoy.com/base64@1.1.2': resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} engines: {node: '>=10.0'} @@ -2931,50 +2738,50 @@ packages: peerDependencies: tslib: '2' - '@jsonjoy.com/fs-core@4.72.1': - resolution: {integrity: sha512-HXBM7Pz8oudzzna56Dhs1m7/h0C69/Ye8yNILrPgYpkn5R19v1G246J5WJhKgrGDouUNgudbzSWLHXViYfIKkg==} + '@jsonjoy.com/fs-core@4.73.0': + resolution: {integrity: sha512-RIszJgrHcDFwZgs9annRHxwV3sDKSzgmMGCDX/qubP5oorOSpCnOOtsMNUybV8ou8zrSxCX9D/x2z1vP7RVjdA==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-fsa@4.72.1': - resolution: {integrity: sha512-dX/ozkcLEGo+4E3J0iTFp7XQ1GfeKfy9e9Ef3bemRydQkmeKAlmBCU2XDVmLUZV3qyRIIazD4PZXWLAHFg6XdQ==} + '@jsonjoy.com/fs-fsa@4.73.0': + resolution: {integrity: sha512-KEAAsBH7Adu1xy40Kf+7OllKToTFbxIU9saSipW2TX83rBKogPTvBzB0a343OgmE3iPvH8Sb2qPq+vUB2831Xw==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-node-builtins@4.72.1': - resolution: {integrity: sha512-X9WnFVfcA4cd7Bbl30LnNS5bgoe3W66CGu8WLjD8TK2xvNojKstENewC09qeOL6PZOKOM8dREMa7TxcrHPEaFQ==} + '@jsonjoy.com/fs-node-builtins@4.73.0': + resolution: {integrity: sha512-Pv/jk/exzEUIKZ8bWSZNY8m6PvFgsKqquKqOOP5nv5vhKyR7ADvLfxyyiA7WujRP05SulJPGiuTrLmhu8R4I+g==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-node-to-fsa@4.72.1': - resolution: {integrity: sha512-ujt0rs4HGvAzTZ9586qzUXU7t1kEeSmQaAdmp+DtCvm0/0B3KYgWMLzaRQg+EszI7OoLphoKC5mWlWyf061Pew==} + '@jsonjoy.com/fs-node-to-fsa@4.73.0': + resolution: {integrity: sha512-4l4Txj4YpocKDhKIn3rW2EQrccm7n/JuHz02453cYPdNk1+em5O20pmIZj9Mkufq2ITY5as6hRVIsz3ukemySQ==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-node-utils@4.72.1': - resolution: {integrity: sha512-JSr3hfbcQM1k1DoyOhMwpxq44HTMF+xg5op0Lve7qT8CKbSOsm9wYXvM7pTF4c3uWx4vL+94WaUSrbqJewo6vQ==} + '@jsonjoy.com/fs-node-utils@4.73.0': + resolution: {integrity: sha512-4XQH0iAPMYDlDfEav8vHUyY6cdXtbeSsbZXzG4IATEAxnHtgpgdQmUE2EYgAt2PpIvpDFUOmzQDlxKcj+Vvfeg==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-node@4.72.1': - resolution: {integrity: sha512-9B2T/EuTIimexiAJbmYwf+RNONJnMuUl2PbUtAG9EQ08aHcTT1htlEtKIdDlb10nnXlM1EPcK09ZaPVMUn1exw==} + '@jsonjoy.com/fs-node@4.73.0': + resolution: {integrity: sha512-LsZ2NFq6cpK9qMrfbagsQnL42PDNkznrn8hMv59bwoYcMtZ4yQaUTJ1mNQ85sN3dETB+pLfY0HDzuwxMG5fV6Q==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-print@4.72.1': - resolution: {integrity: sha512-LtCgWXKJhx3PoJ4eftVDNdOpekLT12w+lZfL1k9MOj0qXmM5hPA5tjgrHvFSvyGMcSaP1xcsa9Cu2JqUh04E5g==} + '@jsonjoy.com/fs-print@4.73.0': + resolution: {integrity: sha512-hgIt4PWKq8lBcBcl+qBvZWTkjymR/xG50LjZAHHMkgQtnsyBZSn234dSam2UiitIhXJk3dWwL1+GvACM/5zfuw==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' - '@jsonjoy.com/fs-snapshot@4.72.1': - resolution: {integrity: sha512-LQKuH+gAy7PYBvjj8q6WI83Ma8Hkj+LKeVZMKbmezsjEUMdL+LFuYfL7xCWgqqwzide/OQ9sVhHlufDGgA1HlA==} + '@jsonjoy.com/fs-snapshot@4.73.0': + resolution: {integrity: sha512-bSsUPvd/2gx83JleugI7ZODv8p7QNIdZmOBFAxt3ZGlqbb3mw5k7F4oT1qm7Noz1LMQ2nPgYztlYt9h/1/cB+Q==} engines: {node: '>=10.0'} peerDependencies: tslib: '2' @@ -3093,13 +2900,6 @@ packages: '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} - '@napi-rs/wasm-runtime@1.2.3': - resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==} - engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} - peerDependencies: - '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 - '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} @@ -3544,10 +3344,6 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/core@0.3.6': - resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} - engines: {node: ^14.18.0 || >=16.0.0} - '@pnpm/byline@1.0.0': resolution: {integrity: sha512-61tmh+k7hnKK6b2XbF4GvxmiaF3l2a+xQlZyeoOGBs7mXU3Ie8iCAeAnM0+r70KiqTrgWvBCjMeM+W3JarJqaQ==} engines: {node: '>=12.17'} @@ -4590,9 +4386,6 @@ packages: '@sinclair/typebox@0.27.12': resolution: {integrity: sha512-hhyNJ+nbR6ZR7pToHvllEFun9TL0sbL+tk/ON75lo+Xas054uez98qRbsuNt7MBCyZKK4+8Yli/OAGZhmfBZ/g==} - '@sinclair/typebox@0.34.52': - resolution: {integrity: sha512-XiMQh7qqVlxZzcVD+kkGMNGMzcTrDMLWI7S4x7z1MkCkbDPrekpZXEUK0eZqZFMuHQg2a2DZOcDIh9o5v3Gonw==} - '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -4948,33 +4741,9 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tsconfig/node10@1.0.13': - resolution: {integrity: sha512-gcLdvR9HO1ZJBypsOGqaP6TFEzb6vIta0KSTLt9NAQ6pXQO3cRgSVyCN6pzYqI9DlJgY71XKO0dpDhCf08b3pg==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@tybys/wasm-util@0.10.3': resolution: {integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==} - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.27.0': - resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.28.0': - resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/body-parser@1.19.6': resolution: {integrity: sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==} @@ -5044,9 +4813,6 @@ packages: '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - '@types/jsdom@21.1.7': - resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} - '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -5152,18 +4918,12 @@ packages: '@types/ssri@7.1.5': resolution: {integrity: sha512-odD/56S3B51liILSk5aXJlnYt99S6Rt9EFDDqGtJM26rKHApHcwyU/UoYHrzKkdkHMAIquGWCuHtQTbes+FRQw==} - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/tail@2.2.3': resolution: {integrity: sha512-Hnf352egOlDR4nVTaGX0t/kmTNXHMdovF2C7PVDFtHTHJPFmIspOI1b86vEOxU7SfCq/dADS7ptbqgG/WGGxnA==} '@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/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} @@ -5311,126 +5071,6 @@ packages: '@ungap/structured-clone@1.4.0': resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} - '@unrs/resolver-binding-android-arm-eabi@1.12.2': - resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} - cpu: [arm] - os: [android] - - '@unrs/resolver-binding-android-arm64@1.12.2': - resolution: {integrity: sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==} - cpu: [arm64] - os: [android] - - '@unrs/resolver-binding-darwin-arm64@1.12.2': - resolution: {integrity: sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==} - cpu: [arm64] - os: [darwin] - - '@unrs/resolver-binding-darwin-x64@1.12.2': - resolution: {integrity: sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==} - cpu: [x64] - os: [darwin] - - '@unrs/resolver-binding-freebsd-x64@1.12.2': - resolution: {integrity: sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==} - cpu: [x64] - os: [freebsd] - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': - resolution: {integrity: sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': - resolution: {integrity: sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': - resolution: {integrity: sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-arm64-musl@1.12.2': - resolution: {integrity: sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': - resolution: {integrity: sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-loong64-musl@1.12.2': - resolution: {integrity: sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': - resolution: {integrity: sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': - resolution: {integrity: sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': - resolution: {integrity: sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': - resolution: {integrity: sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-x64-gnu@1.12.2': - resolution: {integrity: sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-x64-musl@1.12.2': - resolution: {integrity: sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==} - cpu: [x64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-openharmony-arm64@1.12.2': - resolution: {integrity: sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==} - cpu: [arm64] - os: [openharmony] - - '@unrs/resolver-binding-wasm32-wasi@1.12.2': - resolution: {integrity: sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] - - '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': - resolution: {integrity: sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==} - cpu: [arm64] - os: [win32] - - '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': - resolution: {integrity: sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==} - cpu: [ia32] - os: [win32] - - '@unrs/resolver-binding-win32-x64-msvc@1.12.2': - resolution: {integrity: sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==} - cpu: [x64] - os: [win32] - '@vercel/oidc@3.2.0': resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} @@ -5624,10 +5264,6 @@ packages: ansi-diff@1.2.0: resolution: {integrity: sha512-BIXwHKpjzghBjcwEV10Y4b17tjHfK4nhEqK3LqyQ3JgcMcjmi3DIevozNgrOpfvBMmrq9dfvrPJSu5/5vNUBQg==} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} @@ -5652,10 +5288,6 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - ansi-styles@6.2.3: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} @@ -5674,9 +5306,6 @@ packages: anynum@1.0.1: resolution: {integrity: sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==} - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} @@ -5722,12 +5351,6 @@ packages: peerDependencies: postcss: ^8.1.0 - babel-jest@30.5.1: - resolution: {integrity: sha512-ge1xUVZS91ml09YRMgRGgeKJ4YJpcOiuwteAxFBYLugQyp7cRw+hHej6Ho0vPjvLrjq60bb7JPHH9LAMA1/krA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-0 - babel-loader@9.2.1: resolution: {integrity: sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==} engines: {node: '>= 14.15.0'} @@ -5738,14 +5361,6 @@ packages: babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} - babel-plugin-istanbul@8.0.0: - resolution: {integrity: sha512-18wCskrN3DgbuBmp1gr7LBGT8xdz5xhQQqFvFhVxbkl8VBCrMKQ2YtqBWtUal1Zrc1HTuX0011+Brjw78TCFkg==} - engines: {node: '>=18'} - - babel-plugin-jest-hoist@30.5.0: - resolution: {integrity: sha512-gtGo1B+u14jrZQv6TdSWIWkTqclboo7Qn+dFAGUOIuXLFuJKAdg3U5MIWzZnW4vfUb4dX9skmAMiby86e/SF4A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - babel-plugin-polyfill-corejs2@0.4.17: resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} peerDependencies: @@ -5766,17 +5381,6 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-preset-current-node-syntax@1.2.0: - resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} - peerDependencies: - '@babel/core': ^7.0.0 || ^8.0.0-0 - - babel-preset-jest@30.5.0: - resolution: {integrity: sha512-ZGPn5ClP4lBDpuOK8W1yQIOy359HmbnZv3suucAlIe+SEE9yDsxV4S2PjSbH2Vc97U+WmzYD7vw3kr8NsQ/i6w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@babel/core': ^7.11.0 || ^8.0.0-beta.1 || ^8.0.0 - bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -5861,13 +5465,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -6041,13 +5638,6 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.4.0: - resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==} - engines: {node: '>=8'} - - cjs-module-lexer@2.2.1: - resolution: {integrity: sha512-Ca8swihM+/4yKecYHY52kgJd300hi2lADU/a1RxNTRe+RJ9jvqQlESpbz9DnG9mowez8qwXHB8qYdIUw9e+F5Q==} - clean-css@5.3.3: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} @@ -6089,10 +5679,6 @@ packages: peerDependencies: typanion: '*' - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} @@ -6116,19 +5702,12 @@ packages: resolution: {integrity: sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - codem-isoboxer@0.3.10: resolution: {integrity: sha512-eNk3TRV+xQMJ1PEj0FQGY8KD4m0GPxT487XJ+Iftm7mVa9WpPFDMWqPt+46buiP5j5Wzqe5oMIhqBcAeKfygSA==} collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - collect-v8-coverage@1.0.3: - resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -6292,9 +5871,6 @@ packages: typescript: optional: true - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -6503,14 +6079,6 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - dedent@1.7.2: - resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -6585,10 +6153,6 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -6600,10 +6164,6 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} - diff@4.0.4: - resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} - engines: {node: '>=0.3.1'} - diff@5.2.2: resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} engines: {node: '>=0.3.1'} @@ -6684,12 +6244,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.425: - resolution: {integrity: sha512-QvPtl41EUOnuT1HBvMKgxXRIaHNcagBPs50u7VULzhZXaGfqTbZyE16LQsctZ/RQHlGu+FOWeDTR4mY6YbeF1g==} - - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} + electron-to-chromium@1.5.426: + resolution: {integrity: sha512-2Gcq6inCQs/AqfHP3f5ftCzk+pqeW2VlA1LgmPqEj2hfBO8HiZRspNYkD4HzFBe4u6lGqca4BspFr6Ix4Q400g==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -6800,10 +6356,6 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -6919,14 +6471,6 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} - exit-x@0.2.2: - resolution: {integrity: sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ==} - engines: {node: '>= 0.8.0'} - - expect@30.5.1: - resolution: {integrity: sha512-m8YrYgvKe9+9gEnWEuKz+qCGfHqkrff7PPfyDnOFkjsfYRKqiYyOxDFMFieCGAuhtk/VNm63tvNgKZVzVy+Hvg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} @@ -6985,9 +6529,6 @@ packages: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -7132,10 +6673,6 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.6.0: resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} @@ -7151,10 +6688,6 @@ packages: get-own-enumerable-property-symbols@3.0.2: resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} @@ -7261,11 +6794,6 @@ packages: handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - handlebars@4.7.9: - resolution: {integrity: sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==} - engines: {node: '>=0.4.7'} - hasBin: true - hard-rejection@2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -7520,11 +7048,6 @@ packages: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - import-local@3.2.0: - resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} - engines: {node: '>=8'} - hasBin: true - import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} @@ -7635,10 +7158,6 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -7785,26 +7304,6 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.3: - resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} - engines: {node: '>=10'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} - - istanbul-reports@3.2.0: - resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} - engines: {node: '>=8'} - itertools@2.7.1: resolution: {integrity: sha512-xrbTDDdUfkJhM4EzYOwwzEf2ksPT5WLgQ5i2X9X5yUpcmXJPEjeAnpMl1tIrYDzuCD19/AEH+cbLunQHGn8v7w==} engines: {node: '>=22'} @@ -7816,123 +7315,9 @@ packages: resolution: {integrity: sha512-mRx8uv1qJLOtxbRf3IWOQIH2ro7VIPn6ZkhbTcUJvJEslLzYA7BSATXDi/GR1yKYV9DASsjTZL+0YJPdqSMznw==} engines: {node: '>= 0.6'} - jest-changed-files@30.5.1: - resolution: {integrity: sha512-0+bvMM/ENhDI29Z8q1r4HxiDIi4G5tnBmSw4esfPQoj9q8Nik7KIyuxHkTVnnniJQf05SxpGaKDQ+4h28ynGPg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-circus@30.5.1: - resolution: {integrity: sha512-NgliezXQ6yznqR4W5Gqw++0cZSbBZlF0NknNIAE5VmSJKWOtmWJmWnBq3TSkUOVBTPrT7FGGhVdA8DLWnxo2Sw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-cli@30.5.1: - resolution: {integrity: sha512-uwNYepWgaNBCplm42fCIUZTf/tIEHIy5AYvx7eL1BrwIgyjPt+2poouR23UO2yopIP+kV8oZFHfv+l4pg/8prQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-config@30.5.1: - resolution: {integrity: sha512-L8PKM2X/ngG8PxfLMqglKGZjylPgw84bVPUlMY9W/o76TnLqPWrmQgsaT0HrheGdRtpGE5FbmREA0Kvb+Qx5gQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - '@types/node': '*' - esbuild-register: '>=3.4.0' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - esbuild-register: - optional: true - ts-node: - optional: true - - jest-diff@30.5.1: - resolution: {integrity: sha512-e3cNNMpv8Kh20MjjphTXs+3Vz7DQyLM1nft7KJhnh46atFhjVJRa+0Hq0beywuwsACtMQUBihQkFl8zxb7gt1Q==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-docblock@30.5.0: - resolution: {integrity: sha512-NwDqcxtoZi33RhuW+zJS/RVA3rmheQ8BnwpYZuc/Eruaz6seQb7+aoCeDZu/3X7W2XmD8DbSo9Pn72DbKsBFYw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-each@30.5.1: - resolution: {integrity: sha512-S1af0TU4v1EZ/AUlkFs/sxf/5KGsbAT9kRgdyoMX/x72y7C8ZEgETE5o1TPnbKRnrbprc5FR/moYLfdRmqEjsQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-environment-jsdom@30.5.1: - resolution: {integrity: sha512-8lzKbC/SRbQE24wr1OOJV+aYtDAuVNKBryN6YcFiCcaZZ3I7grcZY7w91BwNvGET0ubKDmomEHZFHMaF+6pAlA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - - jest-environment-node@30.5.1: - resolution: {integrity: sha512-LrPj3sPMjsQoOB3jrb8p/sa+XkSFNKo60TTsyc+EB2kxQJHgbwElpXnx1yX25fdFn5958FIObRtcLSHyV8VIAw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-haste-map@30.5.1: - resolution: {integrity: sha512-VIFgt67jW480YDxKfEv9IYQKrFpYt7bOCMn3VsnjK7AK9qo7p6acpnA1DHwsVOULE3dTaYew/6JaTD/d0VDHoQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-leak-detector@30.5.1: - resolution: {integrity: sha512-gt4GT2aWgEoCNTcBe4rqS74xTIUJxi+UD9SNSu9aOk5LmTEd6fS5KSTmAKAfitCCktQHNN+upUuL6EkBfFbMDQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-matcher-utils@30.5.1: - resolution: {integrity: sha512-aroZVqwOz/wC2y6pC+obgFWKV9viaQWQTTSB6W5H55+egtUczIfXR/rxExTv92xD/ADYwpqaYfVWx1aqwKg7FA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-message-util@30.5.1: - resolution: {integrity: sha512-UdQlLdd9wL/Ys7xRErckqwD6wPlSZYueosSWuHc1r2ztGLwlgPvtSJq2+BPEgaEY13WLvfFbmhTj8pba0Sd1jg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-mock@30.5.1: - resolution: {integrity: sha512-9fVjc3leUpGID2/by/LU4Dvdcp7PFh9LlxS3QRWK3ABm+KtvEVsG/AEGeLY3gKOZsjkBxyfwGltoAVlW7dygHg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-regex-util@30.5.0: - resolution: {integrity: sha512-Mg0WK7A6xRHLSA1udJ8y9f3lM0uUhFTBnLKzwPmqB9AylvpleJ6BLemR8K9dK27DY+cesDryoA7yLZCAHsPG1A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-resolve-dependencies@30.5.1: - resolution: {integrity: sha512-JKpXGONDcTaunrNVn8KCl6qAnwl06jIkvv70lhq0Ze47lsPx9sH5HoeEUiXX6iFGnliHN/qpIbQ0l38wrVmXaw==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-resolve@30.5.1: - resolution: {integrity: sha512-wprhLejRtwN6h8ZgaqC0eYjGJ1uMdGPT/+b3eFncbG4NWuuP9QL+vWwRinu9waw7hkOLcpMJGVJAMgBwsPssMQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-runner@30.5.1: - resolution: {integrity: sha512-FPlQE4+mwnFxXmpPrSi836KV2ZzvK1g6/nPCT8o5BcoDUUNJQeHo1/Qdkoe/QeoL4M7OeJpbnGUhYKhC1VMdaQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-runtime@30.5.1: - resolution: {integrity: sha512-UB88+NRkK2Tw/OqV7dofYcyiUGrVZtD41k/N0xQOs9fG//57XHK7JLWG52HD1UYpUAhjK4xm6DBvFX3yWudsMA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-snapshot@30.5.1: - resolution: {integrity: sha512-cNWFdSb5xuDGl8hKkAZJ3YtI/PzHpAPFV+HUXWIOG8rMhpDTLVbvAc2d2wRicoYw2wGsJGLaurJT6BLC97bLXQ==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@30.5.1: - resolution: {integrity: sha512-yKuxmNy2rSbTXw+3SIPanJo+nV4/BS1p26v44IYBFMsswSQySfMMcPHErnOncda7i9HEz0q605rIhSTBVgrZTg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-validate@30.5.1: - resolution: {integrity: sha512-i/buJ56wTpxihE93hQYNMfdOThS87+HGvLZzZJmU4xggPcdTYQq051iwALLCHp3q+SkCGH+EFejQZz5EbBSkkg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest-watcher@30.5.1: - resolution: {integrity: sha512-+FHJ7C+S7b3ySfhA1aFmoa6TztsnwZVv84ycPRn0tVN93np2EU4b8C/KadqA3l6igdjgLBTnUotab9ER0HLG8A==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} @@ -7942,20 +7327,6 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-worker@30.5.1: - resolution: {integrity: sha512-Cbxh5v7AoLuFRmFJSM4/aHdQ68rjXvUWr716EE0Dh3I7T+T/3FgFKhOERGXHcU2Meftq9+9zxPM3TSNyI9D+HA==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - - jest@30.5.1: - resolution: {integrity: sha512-3qrR8+ZXFnn7y0H2yjWQNkGGBLBY4zTRoTMAq9zJcgwLLtlyonfsCLviIXK9xuE2KgIyM+M36AFcoK2DgFR36w==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - jiti@1.21.7: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true @@ -8257,17 +7628,10 @@ packages: magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - make-empty-dir@3.0.2: resolution: {integrity: sha512-wbms3J521rrnc+B4xLC3WN5etHAAABxZlkBFmOBnHtdF8zhUW0AImApqQZnVWK0ucJaetALBC3tRNXbDjfIsaQ==} engines: {node: '>=18.12'} - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - make-fetch-happen@14.0.3: resolution: {integrity: sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8390,8 +7754,8 @@ packages: resolution: {integrity: sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==} engines: {node: '>=10'} - memfs@4.72.1: - resolution: {integrity: sha512-xxt40/OJnv1JEwcHdJJmcA1YXQ2BSXfUVB28psw7MO8A6a/Ar9t3gLkWxzw9zTVrQ7wjIKNokdxDV1RrsAwViw==} + memfs@4.73.0: + resolution: {integrity: sha512-/TjmMp5j+5y+MpenASLkkdiQVcTY/bOHhFk1Bc+fdj8DwRTFsvcz6qQqlvkO1yPtH5l4lcV4qoGri3cLz0grUQ==} meow@11.0.0: resolution: {integrity: sha512-Cl0yeeIrko6d94KpUo1M+0X1sB14ikoaqlIGuTH1fW4I+E3+YljL54/hb/BWmVfrV9tTV9zU04+xjw08Fh2WkA==} @@ -8745,11 +8109,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-postinstall@0.3.4: - resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - hasBin: true - native-promise-only@0.8.1: resolution: {integrity: sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==} @@ -8802,9 +8161,6 @@ packages: node-html-parser@9.0.4: resolution: {integrity: sha512-reUSrZkF1rO7hEYe5mJwtbVcQ6mB5QrViCZH6Wv+iz3er/PA9Q50gol15dMLQRDfdli4VzqPMPR24HNRFgVKFw==} - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.55: resolution: {integrity: sha512-mIrE/Cw9y+9Au6dS5vDKDhQza9YvG6w+ZrS6X+ZzA7yFW/soAeaups4Qzn1bL6g5FVy8WtP79+0j82oPIbqRjQ==} engines: {node: '>=18'} @@ -9661,10 +9017,6 @@ packages: pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - pretty-format@30.5.1: - resolution: {integrity: sha512-byhRAPguVKMQIj4kjJwJ5lAskVhfuiSdiYl/aLTWpgkGEmic2jYhJh1yE9ih8Ox44Xg9ccCT11/S6QrzSJuNrg==} - engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - pretty-ms@7.0.1: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} engines: {node: '>=10'} @@ -9732,9 +9084,6 @@ packages: resolution: {integrity: sha512-LjgDO2zPtoXP2wJpDjZrGdojii1uqO0cnwKoIoUzkfS98HDmbeiGmYiXo3lXeFlq2xvne1QFQhwYXSUCLKtEuA==} engines: {node: '>=12.20'} - pure-rand@7.0.1: - resolution: {integrity: sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ==} - pure-rand@8.4.2: resolution: {integrity: sha512-vvuOGgcuPJAirlHvuQw1TrOiw7ptaIXXmIbNuiNOY6lNGJJH49PQ1Kj4nd783nPdQhQdicgOjVI2yI/9BD6/Ng==} @@ -9822,12 +9171,6 @@ packages: react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - react-is@19.3.0: - resolution: {integrity: sha512-UpMYezM4v5/18F28aC66AEsjXIgE02kyEMH6yLdgLXu/UTfa1Ntwck/nNLrbqJsEXW7gPb0coNO9FQse9WTovA==} - react-json-view-lite@2.5.0: resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==} engines: {node: '>=18'} @@ -10013,10 +9356,6 @@ packages: renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -10033,10 +9372,6 @@ packages: resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -10444,10 +9779,6 @@ packages: stack-trace@0.0.10: resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - stacktracey@2.2.0: resolution: {integrity: sha512-ETyQEz+CzXiLjEbyJqpbp+/T79RQD/6wqFucRBIlVNZfYq2Ay7wbretD4cxpbymZlaPWx58aIhPEY1Cr8DlVvg==} @@ -10659,10 +9990,6 @@ packages: engines: {node: '>=18.12'} hasBin: true - synckit@0.11.13: - resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} - engines: {node: ^14.18.0 || >=16.0.0} - syncpack-darwin-arm64@15.3.3: resolution: {integrity: sha512-sFnHOUT7ZYShxAXfzK8zIxNvY5ciW6c71fHYOJIgZ8Ry25IMWkaGfyLc894wxIPaYTbgEmeeZN6BV7G5Gu27mA==} cpu: [arm64] @@ -10784,10 +10111,6 @@ packages: engines: {node: '>=10'} hasBin: true - test-exclude@7.0.2: - resolution: {integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==} - engines: {node: '>=18'} - text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -10905,47 +10228,6 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-jest@29.4.12: - resolution: {integrity: sha512-Ov6ClY53Fflh6BGAnY2DlTq1hYDrTycz2PVTXBWFW2CU+9zrEqAp9fWdGXl42EXO5RLSFAcAZ2JFKbP+zBTFfw==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 || ^30.0.0 - '@jest/types': ^29.0.0 || ^30.0.0 - babel-jest: ^29.0.0 || ^30.0.0 - esbuild: '*' - jest: ^29.0.0 || ^30.0.0 - jest-util: ^29.0.0 || ^30.0.0 - typescript: '>=4.3 <7' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/transform': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - jest-util: - optional: true - - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -11006,10 +10288,6 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -11026,10 +10304,6 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - type-fest@4.41.0: - resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} - engines: {node: '>=16'} - type-fest@5.8.0: resolution: {integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==} engines: {node: '>=20'} @@ -11045,11 +10319,6 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@6.0.3: - resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} - engines: {node: '>=14.17'} - hasBin: true - typescript@7.0.2: resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} engines: {node: '>=16.20.0'} @@ -11058,11 +10327,6 @@ packages: ufo@1.6.4: resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} - uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} - engines: {node: '>=0.8.0'} - hasBin: true - uid-number@0.0.6: resolution: {integrity: sha512-c461FXIljswCuscZn67xq9PpszkPT6RjheWFQTgCyabJrTUozElanb0YEqv2UGgk247YpcJkFBuSGNvBlpXM9w==} deprecated: This package is no longer supported. @@ -11149,9 +10413,6 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unrs-resolver@1.12.2: - resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} - update-browserslist-db@1.3.2: resolution: {integrity: sha512-UQ+MSxlhRm1bzjhU+DcuXfjFO1FzNtqhK5+9Yvlp90ItDLk5vT932A0rFu619nf7RVS+Y/VeaUW1jaRDqZ8VJw==} hasBin: true @@ -11211,13 +10472,6 @@ packages: deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - - v8-to-istanbul@9.3.0: - resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} - engines: {node: '>=10.12.0'} - validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -11306,13 +10560,13 @@ packages: yaml: optional: true - vite@8.2.2: - resolution: {integrity: sha512-cFKLV/PRgAUlIRm5WjMjJ86jrftzpqcgH+Us+DS8mI3CDNiH30Whrz8uHL3+MOLPAgqbMBAqWdAHAphOAM+z/Q==} + vite@8.3.0: + resolution: {integrity: sha512-lhZBVvEHefgE+HQZC9O7EBJgCU/nVzFNl7vkS4RE0APtWLP02/8QVIkQtzBxPquh7lq5/78NHipTj7ODQ6XuyQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.4.0 || ^0.5.0 + '@vitejs/devtools': ^0.7.1 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -11514,9 +10768,6 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerpool@10.0.3: resolution: {integrity: sha512-6z2Iis68Wqth93/G/wJP9u+R3O+d2XTlgWChGCwuT1qLbBsOYueGRZuJ++v3mtDP5KjYdy+WzvWC+VWETSVXJA==} @@ -11602,10 +10853,6 @@ packages: xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -11625,14 +10872,6 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - yargs@17.7.3: - resolution: {integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==} - engines: {node: '>=12'} - - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -12031,26 +11270,6 @@ snapshots: dependencies: '@babel/core': 7.29.7 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 @@ -12066,61 +11285,11 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-typescript@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 @@ -12677,8 +11846,6 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@bcoe/v8-coverage@0.2.3': {} - '@cacheable/memory@2.2.0': dependencies: '@cacheable/utils': 2.5.0 @@ -12698,11 +11865,6 @@ snapshots: '@colors/colors@1.6.1': {} - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - optional: true - '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) @@ -13187,7 +12349,7 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/bundler@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: '@babel/core': 7.29.7 '@docusaurus/babel': 3.10.2(@swc/core@1.16.2)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.28))(esbuild@0.28.2)(html-minifier-terser@7.2.0)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13206,7 +12368,7 @@ snapshots: mini-css-extract-plugin: 2.10.2(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) null-loader: 4.0.1(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) postcss: 8.5.28 - postcss-loader: 7.3.4(postcss@8.5.28)(typescript@6.0.3)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) + postcss-loader: 7.3.4(postcss@8.5.28)(typescript@7.0.2)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) postcss-preset-env: 10.6.1(postcss@8.5.28) terser-webpack-plugin: 5.6.1(@swc/core@1.16.2)(clean-css@5.3.3)(cssnano@6.1.2(postcss@8.5.28))(esbuild@0.28.2)(html-minifier-terser@7.2.0)(postcss@8.5.28)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) tslib: 2.8.1 @@ -13236,10 +12398,10 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: '@docusaurus/babel': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@docusaurus/bundler': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/bundler': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/logger': 3.10.2 '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13431,13 +12593,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-content-blog@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/logger': 3.10.2 '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-common': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13483,13 +12645,13 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/logger': 3.10.2 '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-common': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13533,9 +12695,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-content-pages@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-content-pages@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13573,9 +12735,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-css-cascade-layers@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-css-cascade-layers@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-validation': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13610,9 +12772,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-debug@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-debug@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) fs-extra: 11.4.0 @@ -13648,9 +12810,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-analytics@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-google-analytics@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-validation': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 @@ -13684,9 +12846,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-gtag@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-google-gtag@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-validation': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 @@ -13720,9 +12882,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-google-tag-manager@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-validation': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 @@ -13756,9 +12918,9 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-sitemap@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-sitemap@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/logger': 3.10.2 '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13797,14 +12959,14 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/plugin-svgr@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/plugin-svgr@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-validation': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@svgr/core': 8.1.0(typescript@6.0.3) - '@svgr/webpack': 8.1.0(typescript@6.0.3) + '@svgr/core': 8.1.0(typescript@7.0.2) + '@svgr/webpack': 8.1.0(typescript@7.0.2) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) tslib: 2.8.1 @@ -13837,22 +12999,22 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/preset-classic@3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@6.0.3)': - dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-content-pages': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-css-cascade-layers': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-debug': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-google-analytics': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-google-gtag': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-google-tag-manager': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-sitemap': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-svgr': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/theme-classic': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@docusaurus/theme-search-algolia': 3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@6.0.3) + '@docusaurus/preset-classic@3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@7.0.2)': + dependencies: + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-content-pages': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-css-cascade-layers': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-debug': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-google-analytics': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-google-gtag': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-google-tag-manager': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-sitemap': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-svgr': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/theme-classic': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@docusaurus/theme-search-algolia': 3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@7.0.2) '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -13892,16 +13054,16 @@ snapshots: '@types/react': 19.3.0 react: 19.3.0 - '@docusaurus/theme-classic@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)': + '@docusaurus/theme-classic@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2)': dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/logger': 3.10.2 '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/plugin-content-pages': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@docusaurus/plugin-content-blog': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/plugin-content-pages': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/theme-translations': 3.10.2 '@docusaurus/types': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -13949,11 +13111,11 @@ snapshots: - utf-8-validate - webpack-cli - '@docusaurus/theme-common@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@docusaurus/theme-common@3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@docusaurus/mdx-loader': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/module-type-aliases': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-common': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@types/history': 4.7.11 @@ -13986,14 +13148,14 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@6.0.3)': + '@docusaurus/theme-search-algolia@3.10.2(@algolia/client-search@5.59.0)(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(@types/react@19.3.0)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3)(typescript@7.0.2)': dependencies: '@algolia/autocomplete-core': 1.19.10(@algolia/client-search@5.59.0)(algoliasearch@5.59.0)(search-insights@2.17.3) '@docsearch/react': 4.7.0(@algolia/client-search@5.59.0)(@types/react@19.3.0)(algoliasearch@5.59.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(search-insights@2.17.3) - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) '@docusaurus/logger': 3.10.2 - '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) - '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@docusaurus/plugin-content-docs': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) + '@docusaurus/theme-common': 3.10.2(@docusaurus/plugin-content-docs@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/theme-translations': 3.10.2 '@docusaurus/utils': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@docusaurus/utils-validation': 3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -14285,33 +13447,17 @@ snapshots: - uglify-js - webpack-cli - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.11.3': dependencies: '@emnapi/wasi-threads': 1.2.3 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.3': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.3': dependencies: tslib: 2.8.1 @@ -14635,326 +13781,120 @@ snapshots: dependencies: minipass: 7.1.3 - '@istanbuljs/load-nyc-config@1.1.0': + '@jest/schemas@29.6.3': dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.15.2 - resolve-from: 5.0.0 - - '@istanbuljs/schema@0.1.6': {} + '@sinclair/typebox': 0.27.12 - '@jest/console@30.5.1': + '@jest/types@29.6.3': dependencies: - '@jest/types': 30.5.1 + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 '@types/node': 24.13.4 + '@types/yargs': 17.0.35 chalk: 4.1.2 - jest-message-util: 30.5.1 - jest-util: 30.5.1 - slash: 3.0.0 - '@jest/core@30.5.1(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3))': + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': dependencies: - '@jest/console': 30.5.1 - '@jest/pattern': 30.5.0 - '@jest/reporters': 30.5.1 - '@jest/test-result': 30.5.1 - '@jest/transform': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 4.4.0 - exit-x: 0.2.2 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-changed-files: 30.5.1 - jest-config: 30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - jest-haste-map: 30.5.1 - jest-message-util: 30.5.1 - jest-regex-util: 30.5.0 - jest-resolve: 30.5.1 - jest-resolve-dependencies: 30.5.1 - jest-runner: 30.5.1 - jest-runtime: 30.5.1 - jest-snapshot: 30.5.1 - jest-util: 30.5.1 - jest-validate: 30.5.1 - jest-watcher: 30.5.1 - pretty-format: 30.5.1 - slash: 3.0.0 - transitivePeerDependencies: - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - '@jest/diff-sequences@30.5.0': {} + '@jridgewell/resolve-uri@3.1.2': {} - '@jest/environment-jsdom-abstract@30.5.1(@types/jsdom@21.1.7)(jsdom@26.1.0)': + '@jridgewell/source-map@0.3.11': dependencies: - '@jest/environment': 30.5.1 - '@jest/fake-timers': 30.5.1 - '@jest/types': 30.5.1 - '@types/jsdom': 21.1.7 - '@types/node': 24.13.4 - jest-mock: 30.5.1 - jest-util: 30.5.1 - jsdom: 26.1.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - '@jest/environment@30.5.1': - dependencies: - '@jest/fake-timers': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - jest-mock: 30.5.1 + '@jridgewell/sourcemap-codec@1.6.0': {} - '@jest/expect-utils@30.5.1': + '@jridgewell/trace-mapping@0.3.31': dependencies: - '@jest/get-type': 30.5.0 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.6.0 - '@jest/expect@30.5.1': + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': dependencies: - expect: 30.5.1 - jest-snapshot: 30.5.1 - transitivePeerDependencies: - - supports-color + tslib: 2.8.1 - '@jest/fake-timers@30.5.1': + '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': dependencies: - '@jest/types': 30.5.1 - '@sinonjs/fake-timers': 15.4.0 - '@types/node': 24.13.4 - jest-message-util: 30.5.1 - jest-mock: 30.5.1 - jest-util: 30.5.1 + tslib: 2.8.1 - '@jest/get-type@30.5.0': {} + '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 - '@jest/globals@30.5.1': + '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': dependencies: - '@jest/environment': 30.5.1 - '@jest/expect': 30.5.1 - '@jest/types': 30.5.1 - jest-mock: 30.5.1 - transitivePeerDependencies: - - supports-color + tslib: 2.8.1 - '@jest/pattern@30.5.0': + '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': dependencies: - '@types/node': 24.13.4 - jest-regex-util: 30.5.0 + tslib: 2.8.1 - '@jest/reporters@30.5.1': + '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 30.5.1 - '@jest/test-result': 30.5.1 - '@jest/transform': 30.5.1 - '@jest/types': 30.5.1 - '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 24.13.4 - chalk: 4.1.2 - collect-v8-coverage: 1.0.3 - exit-x: 0.2.2 - glob: 13.0.6 - graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.3 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6 - istanbul-reports: 3.2.0 - jest-message-util: 30.5.1 - jest-util: 30.5.1 - jest-worker: 30.5.1 - slash: 3.0.0 - string-length: 4.0.2 - v8-to-istanbul: 9.3.0 - transitivePeerDependencies: - - supports-color + tslib: 2.8.1 - '@jest/schemas@29.6.3': + '@jsonjoy.com/fs-core@4.73.0(tslib@2.8.1)': dependencies: - '@sinclair/typebox': 0.27.12 + '@jsonjoy.com/fs-node-builtins': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 - '@jest/schemas@30.5.0': + '@jsonjoy.com/fs-fsa@4.73.0(tslib@2.8.1)': dependencies: - '@sinclair/typebox': 0.34.52 + '@jsonjoy.com/fs-core': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) + thingies: 2.6.1(tslib@2.8.1) + tslib: 2.8.1 - '@jest/snapshot-utils@30.5.1': + '@jsonjoy.com/fs-node-builtins@4.73.0(tslib@2.8.1)': dependencies: - '@jest/types': 30.5.1 - chalk: 4.1.2 - graceful-fs: 4.2.11 - natural-compare: 1.4.0 + tslib: 2.8.1 - '@jest/source-map@30.5.0': + '@jsonjoy.com/fs-node-to-fsa@4.73.0(tslib@2.8.1)': dependencies: - '@jridgewell/trace-mapping': 0.3.31 - callsites: 3.1.0 - convert-source-map: 2.0.0 - graceful-fs: 4.2.11 - - '@jest/test-result@30.5.1': - dependencies: - '@jest/console': 30.5.1 - '@jest/types': 30.5.1 - '@types/istanbul-lib-coverage': 2.0.6 - collect-v8-coverage: 1.0.3 - - '@jest/test-sequencer@30.5.1': - dependencies: - '@jest/test-result': 30.5.1 - graceful-fs: 4.2.11 - jest-haste-map: 30.5.1 - slash: 3.0.0 - - '@jest/transform@30.5.1': - dependencies: - '@babel/core': 7.29.7 - '@jest/types': 30.5.1 - '@jridgewell/trace-mapping': 0.3.31 - babel-plugin-istanbul: 8.0.0 - chalk: 4.1.2 - convert-source-map: 2.0.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.11 - jest-haste-map: 30.5.1 - jest-regex-util: 30.5.0 - jest-util: 30.5.1 - pirates: 4.0.7 - slash: 3.0.0 - write-file-atomic: 5.0.1 - transitivePeerDependencies: - - supports-color - - '@jest/types@29.6.3': - dependencies: - '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 24.13.4 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - - '@jest/types@30.5.1': - dependencies: - '@jest/pattern': 30.5.0 - '@jest/schemas': 30.5.0 - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 24.13.4 - '@types/yargs': 17.0.35 - chalk: 4.1.2 - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.6.0 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/remapping@2.3.5': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/sourcemap-codec@1.6.0': {} - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.6.0 - - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.6.0 - optional: true - - '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/base64@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@1.2.1(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/buffers@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@1.0.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/codegen@17.67.0(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/fs-core@4.72.1(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-builtins': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) - thingies: 2.6.1(tslib@2.8.1) + '@jsonjoy.com/fs-fsa': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-fsa@4.72.1(tslib@2.8.1)': + '@jsonjoy.com/fs-node-utils@4.73.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-core': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) - thingies: 2.6.1(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-builtins@4.72.1(tslib@2.8.1)': - dependencies: - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-to-fsa@4.72.1(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-fsa': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) - tslib: 2.8.1 - - '@jsonjoy.com/fs-node-utils@4.72.1(tslib@2.8.1)': - dependencies: - '@jsonjoy.com/fs-node-builtins': 4.72.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.73.0(tslib@2.8.1) glob-to-regex.js: 1.2.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-node@4.72.1(tslib@2.8.1)': + '@jsonjoy.com/fs-node@4.73.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-core': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.72.1(tslib@2.8.1) + '@jsonjoy.com/fs-core': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.73.0(tslib@2.8.1) glob-to-regex.js: 1.2.0(tslib@2.8.1) thingies: 2.6.1(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-print@4.72.1(tslib@2.8.1)': + '@jsonjoy.com/fs-print@4.73.0(tslib@2.8.1)': dependencies: - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) tree-dump: 1.1.0(tslib@2.8.1) tslib: 2.8.1 - '@jsonjoy.com/fs-snapshot@4.72.1(tslib@2.8.1)': + '@jsonjoy.com/fs-snapshot@4.73.0(tslib@2.8.1)': dependencies: '@jsonjoy.com/buffers': 17.67.0(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) '@jsonjoy.com/json-pack': 17.67.0(tslib@2.8.1) '@jsonjoy.com/util': 17.67.0(tslib@2.8.1) tslib: 2.8.1 @@ -15126,13 +14066,6 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.3 - optional: true - '@noble/hashes@1.4.0': {} '@nodable/entities@3.0.0': {} @@ -15356,6 +14289,7 @@ snapshots: '@parcel/watcher-linux-x64-musl': 2.6.0 '@parcel/watcher-win32-arm64': 2.6.0 '@parcel/watcher-win32-x64': 2.6.0 + optional: true '@peculiar/asn1-cms@2.9.4': dependencies: @@ -15454,8 +14388,6 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.3.6': {} - '@pnpm/byline@1.0.0': {} '@pnpm/cafs-types@1000.1.0': {} @@ -16907,8 +15839,6 @@ snapshots: '@sinclair/typebox@0.27.12': {} - '@sinclair/typebox@0.34.52': {} - '@sindresorhus/is@4.6.0': {} '@sindresorhus/is@5.6.0': {} @@ -16995,12 +15925,12 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.29.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.29.7) - '@svgr/core@8.1.0(typescript@6.0.3)': + '@svgr/core@8.1.0(typescript@7.0.2)': dependencies: '@babel/core': 7.29.7 '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) camelcase: 6.3.0 - cosmiconfig: 8.3.6(typescript@6.0.3) + cosmiconfig: 8.3.6(typescript@7.0.2) snake-case: 3.0.4 transitivePeerDependencies: - supports-color @@ -17011,35 +15941,35 @@ snapshots: '@babel/types': 7.29.8 entities: 4.5.0 - '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@6.0.3))': + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@7.0.2))': dependencies: '@babel/core': 7.29.7 '@svgr/babel-preset': 8.1.0(@babel/core@7.29.7) - '@svgr/core': 8.1.0(typescript@6.0.3) + '@svgr/core': 8.1.0(typescript@7.0.2) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.1.0 transitivePeerDependencies: - supports-color - '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@6.0.3)': + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@7.0.2))(typescript@7.0.2)': dependencies: - '@svgr/core': 8.1.0(typescript@6.0.3) - cosmiconfig: 8.3.6(typescript@6.0.3) + '@svgr/core': 8.1.0(typescript@7.0.2) + cosmiconfig: 8.3.6(typescript@7.0.2) deepmerge: 4.3.1 svgo: 3.3.5 transitivePeerDependencies: - typescript - '@svgr/webpack@8.1.0(typescript@6.0.3)': + '@svgr/webpack@8.1.0(typescript@7.0.2)': dependencies: '@babel/core': 7.29.7 '@babel/plugin-transform-react-constant-elements': 7.29.7(@babel/core@7.29.7) '@babel/preset-env': 7.29.7(@babel/core@7.29.7) '@babel/preset-react': 7.29.7(@babel/core@7.29.7) '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@svgr/core': 8.1.0(typescript@6.0.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3)) - '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3))(typescript@6.0.3) + '@svgr/core': 8.1.0(typescript@7.0.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@7.0.2)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@7.0.2))(typescript@7.0.2) transitivePeerDependencies: - supports-color - typescript @@ -17203,44 +16133,11 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tsconfig/node10@1.0.13': - optional: true - - '@tsconfig/node12@1.0.11': - optional: true - - '@tsconfig/node14@1.0.3': - optional: true - - '@tsconfig/node16@1.0.4': - optional: true - '@tybys/wasm-util@0.10.3': dependencies: tslib: 2.8.1 optional: true - '@types/babel__core@7.20.5': - dependencies: - '@babel/parser': 7.29.8 - '@babel/types': 7.29.8 - '@types/babel__generator': 7.27.0 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.28.0 - - '@types/babel__generator@7.27.0': - dependencies: - '@babel/types': 7.29.8 - - '@types/babel__template@7.4.4': - dependencies: - '@babel/parser': 7.29.8 - '@babel/types': 7.29.8 - - '@types/babel__traverse@7.28.0': - dependencies: - '@babel/types': 7.29.8 - '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 @@ -17324,12 +16221,6 @@ snapshots: '@types/js-yaml@4.0.9': {} - '@types/jsdom@21.1.7': - dependencies: - '@types/node': 24.13.4 - '@types/tough-cookie': 4.0.5 - parse5: 7.3.0 - '@types/json-schema@7.0.15': {} '@types/jsonfile@6.1.4': @@ -17443,14 +16334,10 @@ snapshots: dependencies: '@types/node': 24.13.4 - '@types/stack-utils@2.0.3': {} - '@types/tail@2.2.3': {} '@types/tinycolor2@1.4.6': {} - '@types/tough-cookie@4.0.5': {} - '@types/triple-beam@1.3.5': {} '@types/unist@2.0.11': {} @@ -17533,76 +16420,6 @@ snapshots: '@ungap/structured-clone@1.4.0': {} - '@unrs/resolver-binding-android-arm-eabi@1.12.2': - optional: true - - '@unrs/resolver-binding-android-arm64@1.12.2': - optional: true - - '@unrs/resolver-binding-darwin-arm64@1.12.2': - optional: true - - '@unrs/resolver-binding-darwin-x64@1.12.2': - optional: true - - '@unrs/resolver-binding-freebsd-x64@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-loong64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-x64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-x64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-openharmony-arm64@1.12.2': - optional: true - - '@unrs/resolver-binding-wasm32-wasi@1.12.2': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - optional: true - - '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': - optional: true - - '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': - optional: true - - '@unrs/resolver-binding-win32-x64-msvc@1.12.2': - optional: true - '@vercel/oidc@3.2.0': {} '@vimeo/player@2.29.0': @@ -17855,10 +16672,6 @@ snapshots: ansi-split: 1.0.1 wcwidth: 1.0.1 - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - ansi-html-community@0.0.8: {} ansi-regex@3.0.1: {} @@ -17875,8 +16688,6 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} - ansi-styles@6.2.3: {} ansis@3.17.0: {} @@ -17890,9 +16701,6 @@ snapshots: anynum@1.0.1: {} - arg@4.1.3: - optional: true - arg@5.0.2: {} argparse@1.0.10: @@ -17932,19 +16740,6 @@ snapshots: postcss: 8.5.28 postcss-value-parser: 4.2.0 - babel-jest@30.5.1(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@jest/transform': 30.5.1 - '@types/babel__core': 7.20.5 - babel-plugin-istanbul: 8.0.0 - babel-preset-jest: 30.5.0(@babel/core@7.29.7) - chalk: 4.1.2 - graceful-fs: 4.2.11 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - babel-loader@9.2.1(@babel/core@7.29.7)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)): dependencies: '@babel/core': 7.29.7 @@ -17956,20 +16751,6 @@ snapshots: dependencies: object.assign: 4.1.7 - babel-plugin-istanbul@8.0.0: - dependencies: - '@babel/helper-plugin-utils': 7.29.7 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.6 - istanbul-lib-instrument: 6.0.3 - test-exclude: 7.0.2 - transitivePeerDependencies: - - supports-color - - babel-plugin-jest-hoist@30.5.0: - dependencies: - '@types/babel__core': 7.20.5 - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): dependencies: '@babel/compat-data': 7.29.7 @@ -18002,31 +16783,6 @@ snapshots: transitivePeerDependencies: - supports-color - babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7) - '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) - - babel-preset-jest@30.5.0(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - babel-plugin-jest-hoist: 30.5.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) - bail@2.0.2: {} balanced-match@1.0.2: {} @@ -18132,18 +16888,10 @@ snapshots: dependencies: baseline-browser-mapping: 2.11.21 caniuse-lite: 1.0.30001810 - electron-to-chromium: 1.5.425 + electron-to-chromium: 1.5.426 node-releases: 2.0.55 update-browserslist-db: 1.3.2(browserslist@4.28.9) - bs-logger@0.2.6: - dependencies: - fast-json-stable-stringify: 2.1.0 - - bser@2.1.1: - dependencies: - node-int64: 0.4.0 - buffer-from@1.1.2: {} builtins@5.1.0: @@ -18339,10 +17087,6 @@ snapshots: ci-info@3.9.0: {} - ci-info@4.4.0: {} - - cjs-module-lexer@2.2.1: {} - clean-css@5.3.3: dependencies: source-map: 0.6.1 @@ -18379,12 +17123,6 @@ snapshots: dependencies: typanion: 3.14.0 - cliui@8.0.1: - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - clone-deep@4.0.1: dependencies: is-plain-object: 2.0.4 @@ -18401,14 +17139,10 @@ snapshots: cmd-shim@6.0.3: {} - co@4.6.0: {} - codem-isoboxer@0.3.10: {} collapse-white-space@2.1.0: {} - collect-v8-coverage@1.0.3: {} - color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -18529,26 +17263,23 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig@8.3.6(typescript@6.0.3): + cosmiconfig@8.3.6(typescript@7.0.2): dependencies: import-fresh: 3.3.1 js-yaml: 4.3.2 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 6.0.3 + typescript: 7.0.2 - cosmiconfig@9.0.2(typescript@6.0.3): + cosmiconfig@9.0.2(typescript@7.0.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.3.2 parse-json: 5.2.0 optionalDependencies: - typescript: 6.0.3 - - create-require@1.1.1: - optional: true + typescript: 7.0.2 cross-spawn@7.0.6: dependencies: @@ -18789,8 +17520,6 @@ snapshots: dependencies: mimic-response: 3.1.0 - dedent@1.7.2: {} - deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -18851,8 +17580,6 @@ snapshots: detect-libc@2.1.2: {} - detect-newline@3.1.0: {} - detect-node@2.1.0: {} detect-port@2.1.0: @@ -18863,9 +17590,6 @@ snapshots: dependencies: dequal: 2.0.3 - diff@4.0.4: - optional: true - diff@5.2.2: {} diff@9.0.0: {} @@ -18884,9 +17608,9 @@ snapshots: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docusaurus-plugin-sass@0.2.7(@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3))(@rspack/core@1.7.12)(sass@1.104.0)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)): + docusaurus-plugin-sass@0.2.7(@docusaurus/core@3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2))(@rspack/core@1.7.12)(sass@1.104.0)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)): dependencies: - '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3) + '@docusaurus/core': 3.10.2(@docusaurus/faster@3.10.2(@docusaurus/types@3.10.2(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(postcss@8.5.28))(@mdx-js/react@3.1.1(@types/react@19.3.0)(react@19.3.0))(@rspack/core@1.7.12)(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@7.0.2) sass: 1.104.0 sass-loader: 16.0.8(@rspack/core@1.7.12)(sass@1.104.0)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)) transitivePeerDependencies: @@ -18961,9 +17685,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.425: {} - - emittery@0.13.1: {} + electron-to-chromium@1.5.426: {} emoji-regex@10.6.0: {} @@ -19128,8 +17850,6 @@ snapshots: escape-html@1.0.3: {} - escape-string-regexp@2.0.0: {} - escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -19278,17 +17998,6 @@ snapshots: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - exit-x@0.2.2: {} - - expect@30.5.1: - dependencies: - '@jest/expect-utils': 30.5.1 - '@jest/get-type': 30.5.0 - jest-matcher-utils: 30.5.1 - jest-message-util: 30.5.1 - jest-mock: 30.5.1 - jest-util: 30.5.1 - exponential-backoff@3.1.3: {} express@4.22.2: @@ -19383,10 +18092,6 @@ snapshots: dependencies: websocket-driver: 0.7.5 - fb-watchman@2.0.2: - dependencies: - bser: 2.1.1 - fdir@6.5.0(picomatch@4.0.7): optionalDependencies: picomatch: 4.0.7 @@ -19519,8 +18224,6 @@ snapshots: gensync@1.0.0-beta.2: {} - get-caller-file@2.0.5: {} - get-east-asian-width@1.6.0: {} get-intrinsic@1.3.0: @@ -19540,8 +18243,6 @@ snapshots: get-own-enumerable-property-symbols@3.0.2: {} - get-package-type@0.1.0: {} - get-proto@1.0.1: dependencies: dunder-proto: 1.0.1 @@ -19678,15 +18379,6 @@ snapshots: handle-thing@2.0.1: {} - handlebars@4.7.9: - dependencies: - minimist: 1.2.8 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.19.3 - hard-rejection@2.1.0: {} has-flag@4.0.0: {} @@ -20034,11 +18726,6 @@ snapshots: import-lazy@4.0.0: {} - import-local@3.2.0: - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - import-meta-resolve@4.2.0: {} imsc@1.1.5: @@ -20115,8 +18802,6 @@ snapshots: is-fullwidth-code-point@3.0.0: {} - is-generator-fn@2.1.0: {} - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -20208,37 +18893,6 @@ snapshots: isobject@3.0.1: {} - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-instrument@6.0.3: - dependencies: - '@babel/core': 7.29.7 - '@babel/parser': 7.29.8 - '@istanbuljs/schema': 0.1.6 - istanbul-lib-coverage: 3.2.2 - semver: 7.8.5 - transitivePeerDependencies: - - supports-color - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@5.0.6: - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - debug: 4.4.3(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - itertools@2.7.1: {} jackspeak@3.4.3: @@ -20249,275 +18903,6 @@ snapshots: jclass@1.2.1: {} - jest-changed-files@30.5.1: - dependencies: - execa: 5.1.1 - jest-util: 30.5.1 - p-limit: 3.1.0 - - jest-circus@30.5.1: - dependencies: - '@jest/environment': 30.5.1 - '@jest/expect': 30.5.1 - '@jest/test-result': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - chalk: 4.1.2 - co: 4.6.0 - dedent: 1.7.2 - is-generator-fn: 2.1.0 - jest-each: 30.5.1 - jest-matcher-utils: 30.5.1 - jest-message-util: 30.5.1 - jest-runtime: 30.5.1 - jest-snapshot: 30.5.1 - jest-util: 30.5.1 - p-limit: 3.1.0 - pretty-format: 30.5.1 - pure-rand: 7.0.1 - slash: 3.0.0 - stack-utils: 2.0.6 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-cli@30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)): - dependencies: - '@jest/core': 30.5.1(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - '@jest/test-result': 30.5.1 - '@jest/types': 30.5.1 - chalk: 4.1.2 - exit-x: 0.2.2 - import-local: 3.2.0 - jest-config: 30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - jest-util: 30.5.1 - jest-validate: 30.5.1 - yargs: 17.7.3 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - - jest-config@30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)): - dependencies: - '@babel/core': 7.29.7 - '@jest/get-type': 30.5.0 - '@jest/pattern': 30.5.0 - '@jest/test-sequencer': 30.5.1 - '@jest/types': 30.5.1 - babel-jest: 30.5.1(@babel/core@7.29.7) - chalk: 4.1.2 - ci-info: 4.4.0 - deepmerge: 4.3.1 - glob: 13.0.6 - graceful-fs: 4.2.11 - jest-circus: 30.5.1 - jest-docblock: 30.5.0 - jest-environment-node: 30.5.1 - jest-regex-util: 30.5.0 - jest-resolve: 30.5.1 - jest-runner: 30.5.1 - jest-util: 30.5.1 - jest-validate: 30.5.1 - parse-json: 5.2.0 - pretty-format: 30.5.1 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 24.13.4 - ts-node: 10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - jest-diff@30.5.1: - dependencies: - '@jest/diff-sequences': 30.5.0 - '@jest/get-type': 30.5.0 - chalk: 4.1.2 - pretty-format: 30.5.1 - - jest-docblock@30.5.0: - dependencies: - detect-newline: 3.1.0 - - jest-each@30.5.1: - dependencies: - '@jest/get-type': 30.5.0 - '@jest/types': 30.5.1 - chalk: 4.1.2 - jest-util: 30.5.1 - pretty-format: 30.5.1 - - jest-environment-jsdom@30.5.1: - dependencies: - '@jest/environment': 30.5.1 - '@jest/environment-jsdom-abstract': 30.5.1(@types/jsdom@21.1.7)(jsdom@26.1.0) - '@types/jsdom': 21.1.7 - jsdom: 26.1.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - jest-environment-node@30.5.1: - dependencies: - '@jest/environment': 30.5.1 - '@jest/fake-timers': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - jest-mock: 30.5.1 - jest-util: 30.5.1 - jest-validate: 30.5.1 - - jest-haste-map@30.5.1: - dependencies: - '@jest/types': 30.5.1 - '@parcel/watcher': 2.6.0 - '@types/node': 24.13.4 - anymatch: 3.1.3 - fb-watchman: 2.0.2 - fdir: 6.5.0(picomatch@4.0.7) - graceful-fs: 4.2.11 - jest-regex-util: 30.5.0 - jest-util: 30.5.1 - jest-worker: 30.5.1 - picomatch: 4.0.7 - - jest-leak-detector@30.5.1: - dependencies: - '@jest/get-type': 30.5.0 - pretty-format: 30.5.1 - - jest-matcher-utils@30.5.1: - dependencies: - '@jest/get-type': 30.5.0 - chalk: 4.1.2 - jest-diff: 30.5.1 - pretty-format: 30.5.1 - - jest-message-util@30.5.1: - dependencies: - '@babel/code-frame': 7.29.7 - '@jest/types': 30.5.1 - '@types/stack-utils': 2.0.3 - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-util: 30.5.1 - picomatch: 4.0.7 - pretty-format: 30.5.1 - slash: 3.0.0 - stack-utils: 2.0.6 - - jest-mock@30.5.1: - dependencies: - '@jest/expect-utils': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - jest-util: 30.5.1 - - jest-regex-util@30.5.0: {} - - jest-resolve-dependencies@30.5.1: - dependencies: - jest-regex-util: 30.5.0 - jest-snapshot: 30.5.1 - transitivePeerDependencies: - - supports-color - - jest-resolve@30.5.1: - dependencies: - chalk: 4.1.2 - graceful-fs: 4.2.11 - jest-haste-map: 30.5.1 - jest-util: 30.5.1 - jest-validate: 30.5.1 - slash: 3.0.0 - unrs-resolver: 1.12.2 - - jest-runner@30.5.1: - dependencies: - '@jest/console': 30.5.1 - '@jest/environment': 30.5.1 - '@jest/source-map': 30.5.0 - '@jest/test-result': 30.5.1 - '@jest/transform': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - chalk: 4.1.2 - emittery: 0.13.1 - exit-x: 0.2.2 - graceful-fs: 4.2.11 - jest-docblock: 30.5.0 - jest-environment-node: 30.5.1 - jest-haste-map: 30.5.1 - jest-leak-detector: 30.5.1 - jest-message-util: 30.5.1 - jest-resolve: 30.5.1 - jest-runtime: 30.5.1 - jest-util: 30.5.1 - jest-watcher: 30.5.1 - jest-worker: 30.5.1 - p-limit: 3.1.0 - transitivePeerDependencies: - - supports-color - - jest-runtime@30.5.1: - dependencies: - '@jest/environment': 30.5.1 - '@jest/fake-timers': 30.5.1 - '@jest/globals': 30.5.1 - '@jest/source-map': 30.5.0 - '@jest/test-result': 30.5.1 - '@jest/transform': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - chalk: 4.1.2 - cjs-module-lexer: 2.2.1 - collect-v8-coverage: 1.0.3 - es-module-lexer: 2.3.2 - glob: 13.0.6 - graceful-fs: 4.2.11 - jest-haste-map: 30.5.1 - jest-message-util: 30.5.1 - jest-mock: 30.5.1 - jest-regex-util: 30.5.0 - jest-resolve: 30.5.1 - jest-snapshot: 30.5.1 - jest-util: 30.5.1 - slash: 3.0.0 - strip-bom: 4.0.0 - transitivePeerDependencies: - - supports-color - - jest-snapshot@30.5.1: - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.8 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.8 - '@jest/expect-utils': 30.5.1 - '@jest/get-type': 30.5.0 - '@jest/snapshot-utils': 30.5.1 - '@jest/transform': 30.5.1 - '@jest/types': 30.5.1 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7) - chalk: 4.1.2 - expect: 30.5.1 - graceful-fs: 4.2.11 - jest-diff: 30.5.1 - jest-matcher-utils: 30.5.1 - jest-message-util: 30.5.1 - jest-util: 30.5.1 - pretty-format: 30.5.1 - semver: 7.8.5 - synckit: 0.11.13 - transitivePeerDependencies: - - supports-color - jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 @@ -20527,35 +18912,6 @@ snapshots: graceful-fs: 4.2.11 picomatch: 2.3.2 - jest-util@30.5.1: - dependencies: - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - chalk: 4.1.2 - ci-info: 4.4.0 - graceful-fs: 4.2.11 - picomatch: 4.0.7 - - jest-validate@30.5.1: - dependencies: - '@jest/get-type': 30.5.0 - '@jest/types': 30.5.1 - camelcase: 6.3.0 - chalk: 4.1.2 - leven: 3.1.0 - pretty-format: 30.5.1 - - jest-watcher@30.5.1: - dependencies: - '@jest/test-result': 30.5.1 - '@jest/types': 30.5.1 - '@types/node': 24.13.4 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.13.1 - jest-util: 30.5.1 - string-length: 4.0.2 - jest-worker@27.5.1: dependencies: '@types/node': 24.13.4 @@ -20569,27 +18925,6 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest-worker@30.5.1: - dependencies: - '@types/node': 24.13.4 - '@ungap/structured-clone': 1.4.0 - jest-util: 30.5.1 - merge-stream: 2.0.0 - supports-color: 8.1.1 - - jest@30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)): - dependencies: - '@jest/core': 30.5.1(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - '@jest/types': 30.5.1 - import-local: 3.2.0 - jest-cli: 30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - esbuild-register - - supports-color - - ts-node - jiti@1.21.7: {} jiti@2.6.1: @@ -20874,16 +19209,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 - make-dir@4.0.0: - dependencies: - semver: 7.8.5 - make-empty-dir@3.0.2: dependencies: '@zkochan/rimraf': 3.0.2 - make-error@1.3.6: {} - make-fetch-happen@14.0.3: dependencies: '@npmcli/agent': 3.0.0 @@ -21140,16 +19469,16 @@ snapshots: map-age-cleaner: 0.1.3 mimic-fn: 3.1.0 - memfs@4.72.1: + memfs@4.73.0: dependencies: - '@jsonjoy.com/fs-core': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-fsa': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-builtins': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-to-fsa': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-node-utils': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-print': 4.72.1(tslib@2.8.1) - '@jsonjoy.com/fs-snapshot': 4.72.1(tslib@2.8.1) + '@jsonjoy.com/fs-core': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-fsa': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-builtins': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-to-fsa': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-node-utils': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-print': 4.73.0(tslib@2.8.1) + '@jsonjoy.com/fs-snapshot': 4.73.0(tslib@2.8.1) '@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1) '@jsonjoy.com/util': 1.9.0(tslib@2.8.1) glob-to-regex.js: 1.2.0(tslib@2.8.1) @@ -21656,8 +19985,6 @@ snapshots: nanoid@3.3.18: {} - napi-postinstall@0.3.4: {} - native-promise-only@0.8.1: {} natural-compare@1.4.0: {} @@ -21691,7 +20018,8 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 - node-addon-api@7.1.1: {} + node-addon-api@7.1.1: + optional: true node-emoji@2.2.0: dependencies: @@ -21720,8 +20048,6 @@ snapshots: css-select: 5.2.2 entities: 8.1.0 - node-int64@0.4.0: {} - node-releases@2.0.55: {} nopt@1.0.10: @@ -22301,9 +20627,9 @@ snapshots: tsx: 4.23.13 yaml: 2.9.0 - postcss-loader@7.3.4(postcss@8.5.28)(typescript@6.0.3)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)): + postcss-loader@7.3.4(postcss@8.5.28)(typescript@7.0.2)(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)): dependencies: - cosmiconfig: 8.3.6(typescript@6.0.3) + cosmiconfig: 8.3.6(typescript@7.0.2) jiti: 1.21.7 postcss: 8.5.28 semver: 7.8.5 @@ -22630,13 +20956,6 @@ snapshots: lodash: 4.18.1 renderkid: 3.0.0 - pretty-format@30.5.1: - dependencies: - '@jest/react-is-18': react-is@18.3.1 - '@jest/react-is-19': react-is@19.3.0 - '@jest/schemas': 30.5.0 - ansi-styles: 5.2.0 - pretty-ms@7.0.1: dependencies: parse-ms: 2.1.0 @@ -22698,8 +21017,6 @@ snapshots: dependencies: escape-goat: 4.0.0 - pure-rand@7.0.1: {} - pure-rand@8.4.2: {} purgecss@4.1.3: @@ -22782,10 +21099,6 @@ snapshots: react-is@16.13.1: {} - react-is@18.3.1: {} - - react-is@19.3.0: {} - react-json-view-lite@2.5.0(react@19.3.0): dependencies: react: 19.3.0 @@ -23073,8 +21386,6 @@ snapshots: lodash: 4.18.1 strip-ansi: 6.0.1 - require-directory@2.1.1: {} - require-from-string@2.0.2: {} require-like@0.1.2: {} @@ -23085,10 +21396,6 @@ snapshots: resolve-alpn@1.2.1: {} - resolve-cwd@3.0.0: - dependencies: - resolve-from: 5.0.0 - resolve-from@4.0.0: {} resolve-from@5.0.0: {} @@ -23575,10 +21882,6 @@ snapshots: stack-trace@0.0.10: {} - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 - stacktracey@2.2.0: dependencies: as-table: 1.0.55 @@ -23683,33 +21986,33 @@ snapshots: postcss: 8.5.28 postcss-selector-parser: 6.1.4 - stylelint-config-recommended-scss@17.0.1(postcss@8.5.28)(stylelint@17.15.0(typescript@6.0.3)): + stylelint-config-recommended-scss@17.0.1(postcss@8.5.28)(stylelint@17.15.0(typescript@7.0.2)): dependencies: postcss-scss: 4.0.9(postcss@8.5.28) - stylelint: 17.15.0(typescript@6.0.3) - stylelint-config-recommended: 18.0.0(stylelint@17.15.0(typescript@6.0.3)) - stylelint-scss: 7.2.0(stylelint@17.15.0(typescript@6.0.3)) + stylelint: 17.15.0(typescript@7.0.2) + stylelint-config-recommended: 18.0.0(stylelint@17.15.0(typescript@7.0.2)) + stylelint-scss: 7.2.0(stylelint@17.15.0(typescript@7.0.2)) optionalDependencies: postcss: 8.5.28 - stylelint-config-recommended@18.0.0(stylelint@17.15.0(typescript@6.0.3)): + stylelint-config-recommended@18.0.0(stylelint@17.15.0(typescript@7.0.2)): dependencies: - stylelint: 17.15.0(typescript@6.0.3) + stylelint: 17.15.0(typescript@7.0.2) - stylelint-config-standard-scss@17.0.0(postcss@8.5.28)(stylelint@17.15.0(typescript@6.0.3)): + stylelint-config-standard-scss@17.0.0(postcss@8.5.28)(stylelint@17.15.0(typescript@7.0.2)): dependencies: - stylelint: 17.15.0(typescript@6.0.3) - stylelint-config-recommended-scss: 17.0.1(postcss@8.5.28)(stylelint@17.15.0(typescript@6.0.3)) - stylelint-config-standard: 40.0.0(stylelint@17.15.0(typescript@6.0.3)) + stylelint: 17.15.0(typescript@7.0.2) + stylelint-config-recommended-scss: 17.0.1(postcss@8.5.28)(stylelint@17.15.0(typescript@7.0.2)) + stylelint-config-standard: 40.0.0(stylelint@17.15.0(typescript@7.0.2)) optionalDependencies: postcss: 8.5.28 - stylelint-config-standard@40.0.0(stylelint@17.15.0(typescript@6.0.3)): + stylelint-config-standard@40.0.0(stylelint@17.15.0(typescript@7.0.2)): dependencies: - stylelint: 17.15.0(typescript@6.0.3) - stylelint-config-recommended: 18.0.0(stylelint@17.15.0(typescript@6.0.3)) + stylelint: 17.15.0(typescript@7.0.2) + stylelint-config-recommended: 18.0.0(stylelint@17.15.0(typescript@7.0.2)) - stylelint-scss@7.2.0(stylelint@17.15.0(typescript@6.0.3)): + stylelint-scss@7.2.0(stylelint@17.15.0(typescript@7.0.2)): dependencies: '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) @@ -23722,9 +22025,9 @@ snapshots: postcss-resolve-nested-selector: 0.1.6 postcss-selector-parser: 7.1.6 postcss-value-parser: 4.2.0 - stylelint: 17.15.0(typescript@6.0.3) + stylelint: 17.15.0(typescript@7.0.2) - stylelint@17.15.0(typescript@6.0.3): + stylelint@17.15.0(typescript@7.0.2): dependencies: '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) @@ -23734,7 +22037,7 @@ snapshots: '@csstools/selector-resolve-nested': 4.0.1(postcss-selector-parser@7.1.6) '@csstools/selector-specificity': 6.0.0(postcss-selector-parser@7.1.6) colord: 2.10.0 - cosmiconfig: 9.0.2(typescript@6.0.3) + cosmiconfig: 9.0.2(typescript@7.0.2) css-functions-list: 3.3.3 css-tree: 3.2.1 debug: 4.4.3(supports-color@8.1.1) @@ -23827,10 +22130,6 @@ snapshots: better-path-resolve: 1.0.0 rename-overwrite: 6.0.6 - synckit@0.11.13: - dependencies: - '@pkgr/core': 0.3.6 - syncpack-darwin-arm64@15.3.3: optional: true @@ -23920,12 +22219,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - test-exclude@7.0.2: - dependencies: - '@istanbuljs/schema': 0.1.6 - glob: 10.5.0 - minimatch: 10.2.6 - text-hex@1.0.0: {} thenify-all@1.6.0: @@ -24016,81 +22309,10 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.12(@babel/core@7.29.7)(@jest/transform@30.5.1)(@jest/types@30.5.1)(babel-jest@30.5.1(@babel/core@7.29.7))(esbuild@0.28.2)(jest-util@30.5.1)(jest@30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)))(typescript@6.0.3): - dependencies: - bs-logger: 0.2.6 - fast-json-stable-stringify: 2.1.0 - handlebars: 4.7.9 - jest: 30.5.1(@types/node@24.13.4)(ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3)) - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.8.5 - type-fest: 4.41.0 - typescript: 6.0.3 - yargs-parser: 21.1.1 - optionalDependencies: - '@babel/core': 7.29.7 - '@jest/transform': 30.5.1 - '@jest/types': 30.5.1 - babel-jest: 30.5.1(@babel/core@7.29.7) - esbuild: 0.28.2 - jest-util: 30.5.1 - - ts-node@10.9.2(@swc/core@1.16.2)(@types/node@24.13.4)(typescript@6.0.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.13 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 24.13.4 - acorn: 8.18.0 - acorn-walk: 8.3.5 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.4 - make-error: 1.3.6 - typescript: 6.0.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.16.2 - optional: true - tslib@1.14.1: {} tslib@2.8.1: {} - tsup@8.5.1(@swc/core@1.16.2)(jiti@2.6.1)(postcss@8.5.28)(tsx@4.23.13)(typescript@6.0.3)(yaml@2.9.0): - dependencies: - bundle-require: 5.1.0(esbuild@0.27.7) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.4.2 - debug: 4.4.3(supports-color@8.1.1) - esbuild: 0.27.7 - fix-dts-default-cjs-exports: 1.0.1 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.6.1)(postcss@8.5.28)(tsx@4.23.13)(yaml@2.9.0) - resolve-from: 5.0.0 - rollup: 4.63.1 - source-map: 0.7.6 - sucrase: 3.35.1 - tinyexec: 0.3.2 - tinyglobby: 0.2.17 - tree-kill: 1.2.2 - optionalDependencies: - '@swc/core': 1.16.2 - postcss: 8.5.28 - typescript: 6.0.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - tsup@8.5.1(@swc/core@1.16.2)(jiti@2.6.1)(postcss@8.5.28)(tsx@4.23.13)(typescript@7.0.2)(yaml@2.9.0): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) @@ -24146,8 +22368,6 @@ snapshots: type-fest@0.20.2: {} - type-fest@0.21.3: {} - type-fest@0.6.0: {} type-fest@1.4.0: {} @@ -24156,8 +22376,6 @@ snapshots: type-fest@3.13.1: {} - type-fest@4.41.0: {} - type-fest@5.8.0: dependencies: tagged-tag: 1.0.0 @@ -24175,8 +22393,6 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@6.0.3: {} - typescript@7.0.2: optionalDependencies: '@typescript/typescript-aix-ppc64': 7.0.2 @@ -24199,13 +22415,9 @@ snapshots: '@typescript/typescript-sunos-x64': 7.0.2 '@typescript/typescript-win32-arm64': 7.0.2 '@typescript/typescript-win32-x64': 7.0.2 - optional: true ufo@1.6.4: {} - uglify-js@3.19.3: - optional: true - uid-number@0.0.6: {} umask@1.1.0: {} @@ -24289,33 +22501,6 @@ snapshots: unpipe@1.0.0: {} - unrs-resolver@1.12.2: - dependencies: - napi-postinstall: 0.3.4 - optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.12.2 - '@unrs/resolver-binding-android-arm64': 1.12.2 - '@unrs/resolver-binding-darwin-arm64': 1.12.2 - '@unrs/resolver-binding-darwin-x64': 1.12.2 - '@unrs/resolver-binding-freebsd-x64': 1.12.2 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.12.2 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.12.2 - '@unrs/resolver-binding-linux-arm64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-arm64-musl': 1.12.2 - '@unrs/resolver-binding-linux-loong64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-loong64-musl': 1.12.2 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-riscv64-musl': 1.12.2 - '@unrs/resolver-binding-linux-s390x-gnu': 1.12.2 - '@unrs/resolver-binding-linux-x64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-x64-musl': 1.12.2 - '@unrs/resolver-binding-openharmony-arm64': 1.12.2 - '@unrs/resolver-binding-wasm32-wasi': 1.12.2 - '@unrs/resolver-binding-win32-arm64-msvc': 1.12.2 - '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 - '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 - update-browserslist-db@1.3.2(browserslist@4.28.9): dependencies: browserslist: 4.28.9 @@ -24372,15 +22557,6 @@ snapshots: uuid@9.0.1: {} - v8-compile-cache-lib@3.0.1: - optional: true - - v8-to-istanbul@9.3.0: - dependencies: - '@jridgewell/trace-mapping': 0.3.31 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -24418,10 +22594,10 @@ snapshots: '@vimeo/player': 2.29.0 media-played-ranges-mixin: 0.1.0 - vite-plugin-purgecss@0.2.13(@swc/core@1.16.2)(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@6.0.3)(yaml@2.9.0): + vite-plugin-purgecss@0.2.13(@swc/core@1.16.2)(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(postcss@8.5.28)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(typescript@7.0.2)(yaml@2.9.0): dependencies: purgecss: 4.1.3 - tsup: 8.5.1(@swc/core@1.16.2)(jiti@2.6.1)(postcss@8.5.28)(tsx@4.23.13)(typescript@6.0.3)(yaml@2.9.0) + tsup: 8.5.1(@swc/core@1.16.2)(jiti@2.6.1)(postcss@8.5.28)(tsx@4.23.13)(typescript@7.0.2)(yaml@2.9.0) vite: 6.4.3(@types/node@24.13.4)(jiti@2.6.1)(lightningcss@1.33.0)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) transitivePeerDependencies: - '@microsoft/api-extractor' @@ -24464,19 +22640,19 @@ snapshots: - typescript - yaml - vite-plugin-singlefile@2.3.3(rollup@4.63.1)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)): + vite-plugin-singlefile@2.3.3(rollup@4.63.1)(vite@8.3.0(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)): dependencies: micromatch: 4.0.8 - vite: 8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) + vite: 8.3.0(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) optionalDependencies: rollup: 4.63.1 - vite-plugin-svgr@5.2.0(rollup@4.63.1)(typescript@6.0.3)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)): + vite-plugin-svgr@5.2.0(rollup@4.63.1)(typescript@7.0.2)(vite@8.3.0(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0)): dependencies: '@rollup/pluginutils': 5.4.0(rollup@4.63.1) - '@svgr/core': 8.1.0(typescript@6.0.3) - '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@6.0.3)) - vite: 8.2.2(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) + '@svgr/core': 8.1.0(typescript@7.0.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@7.0.2)) + vite: 8.3.0(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0) transitivePeerDependencies: - rollup - supports-color @@ -24518,7 +22694,7 @@ snapshots: tsx: 4.23.13 yaml: 2.9.0 - vite@8.2.2(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0): + vite@8.3.0(@types/node@24.13.4)(esbuild@0.27.7)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -24535,7 +22711,7 @@ snapshots: tsx: 4.23.13 yaml: 2.9.0 - vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0): + vite@8.3.0(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -24552,7 +22728,7 @@ snapshots: tsx: 4.23.13 yaml: 2.9.0 - vite@8.2.2(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0): + vite@8.3.0(@types/node@26.2.0)(esbuild@0.28.2)(jiti@2.6.1)(sass@1.104.0)(terser@5.51.2)(tsx@4.23.13)(yaml@2.9.0): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 @@ -24618,7 +22794,7 @@ snapshots: webpack-dev-middleware@7.4.6(webpack@5.110.3(@swc/core@1.16.2)(esbuild@0.28.2)(postcss@8.5.28)): dependencies: colorette: 2.0.20 - memfs: 4.72.1 + memfs: 4.73.0 mime-types: 3.0.2 on-finished: 2.4.1 range-parser: 1.3.0 @@ -24881,8 +23057,6 @@ snapshots: word-wrap@1.2.5: {} - wordwrap@1.0.0: {} - workerpool@10.0.3: {} wouter-preact@3.11.0(preact@10.29.8): @@ -24952,8 +23126,6 @@ snapshots: xmlchars@2.2.0: {} - y18n@5.0.8: {} - yallist@3.1.1: {} yallist@4.0.0: {} @@ -24964,19 +23136,6 @@ snapshots: yargs-parser@21.1.1: {} - yargs@17.7.3: - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yn@3.1.1: - optional: true - yocto-queue@0.1.0: {} yocto-queue@1.2.2: {} From c911e63ede50b8773c06f6a4db41a044639b2b2d Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Thu, 10 Sep 2026 18:31:08 +0200 Subject: [PATCH 2/7] Use existing mocha test runner --- packages/lib-cheatsheet-local/package.json | 1 - .../lib-cheatsheet-local/src/test/runTests.ts | 6 -- packages/lib-cheatsheet/package.json | 3 +- packages/lib-cheatsheet/src/test/runTests.ts | 6 -- packages/lib-common/package.json | 3 - packages/lib-common/src/tooling/mochaWeb.mjs | 57 ------------------- .../src/tooling/runMochaWebTests.ts | 30 ---------- packages/test-runner/package.json | 11 ++-- packages/test-runner/src/runAllTests.ts | 15 ++++- .../test-runner/src/scripts/runUnitTests.ts | 3 + packages/test-runner/src/setupWebTests.ts | 57 +++++++++++++++++++ pnpm-lock.yaml | 26 ++++++++- 12 files changed, 103 insertions(+), 115 deletions(-) delete mode 100644 packages/lib-cheatsheet-local/src/test/runTests.ts delete mode 100644 packages/lib-cheatsheet/src/test/runTests.ts delete mode 100644 packages/lib-common/src/tooling/mochaWeb.mjs delete mode 100644 packages/lib-common/src/tooling/runMochaWebTests.ts create mode 100644 packages/test-runner/src/setupWebTests.ts diff --git a/packages/lib-cheatsheet-local/package.json b/packages/lib-cheatsheet-local/package.json index 051af627b3..d5f4e64fc5 100644 --- a/packages/lib-cheatsheet-local/package.json +++ b/packages/lib-cheatsheet-local/package.json @@ -8,7 +8,6 @@ "scripts": { "typecheck": "tsc && tsc -p tsconfig.test.json", "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo", - "test": "c-tsx --tsconfig=../../tsconfig.web.json --import=@cursorless/lib-common/mocha-web src/test/runTests.ts", "dev": "env NODE_OPTIONS=--import=tsx vite serve", "bundle:prod": "env NODE_OPTIONS=--import=tsx vite build", "bundle:dev": "env NODE_OPTIONS=--import=tsx vite build --mode development", diff --git a/packages/lib-cheatsheet-local/src/test/runTests.ts b/packages/lib-cheatsheet-local/src/test/runTests.ts deleted file mode 100644 index 1fd90c6b67..0000000000 --- a/packages/lib-cheatsheet-local/src/test/runTests.ts +++ /dev/null @@ -1,6 +0,0 @@ -import process from "node:process"; -import Mocha from "mocha"; -import { runMochaWebTests } from "@cursorless/lib-common/mocha-web-runner"; - -const mocha = new Mocha({ ui: "tdd", color: true }); -process.exitCode = await runMochaWebTests(mocha); diff --git a/packages/lib-cheatsheet/package.json b/packages/lib-cheatsheet/package.json index 811f5784ac..b96e05a707 100644 --- a/packages/lib-cheatsheet/package.json +++ b/packages/lib-cheatsheet/package.json @@ -12,8 +12,7 @@ ], "scripts": { "typecheck": "tsc && tsc -p tsconfig.test.json", - "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo", - "test": "c-tsx --tsconfig=../../tsconfig.web.json --import=@cursorless/lib-common/mocha-web src/test/runTests.ts" + "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo" }, "dependencies": { "@cursorless/lib-common": "workspace:*", diff --git a/packages/lib-cheatsheet/src/test/runTests.ts b/packages/lib-cheatsheet/src/test/runTests.ts deleted file mode 100644 index 1fd90c6b67..0000000000 --- a/packages/lib-cheatsheet/src/test/runTests.ts +++ /dev/null @@ -1,6 +0,0 @@ -import process from "node:process"; -import Mocha from "mocha"; -import { runMochaWebTests } from "@cursorless/lib-common/mocha-web-runner"; - -const mocha = new Mocha({ ui: "tdd", color: true }); -process.exitCode = await runMochaWebTests(mocha); diff --git a/packages/lib-common/package.json b/packages/lib-common/package.json index 5933ee31d2..d19c37d6bb 100644 --- a/packages/lib-common/package.json +++ b/packages/lib-common/package.json @@ -10,8 +10,6 @@ "exports": { ".": "./src/index.ts", "./cheatsheet": "./src/cheatsheet/index.ts", - "./mocha-web": "./src/tooling/mochaWeb.mjs", - "./mocha-web-runner": "./src/tooling/runMochaWebTests.ts", "./vite": "./src/tooling/vite.ts" }, "scripts": { @@ -32,7 +30,6 @@ "cross-spawn": "^7.0.6", "fast-check": "^4.9.0", "js-yaml": "^5.4.1", - "jsdom": "^26.1.0", "web-tree-sitter": "^0.27.0" } } diff --git a/packages/lib-common/src/tooling/mochaWeb.mjs b/packages/lib-common/src/tooling/mochaWeb.mjs deleted file mode 100644 index cdb1cb7e4c..0000000000 --- a/packages/lib-common/src/tooling/mochaWeb.mjs +++ /dev/null @@ -1,57 +0,0 @@ -import { registerHooks } from "node:module"; -import { cwd } from "node:process"; -import { pathToFileURL } from "node:url"; -import { JSDOM } from "jsdom"; - -const packageURL = pathToFileURL(`${cwd()}/package.json`).href; -const aliases = { - react: "preact/compat", - "react-dom": "preact/compat", - "react-dom/test-utils": "preact/test-utils", - "react/jsx-runtime": "preact/jsx-runtime", - "react/jsx-dev-runtime": "preact/jsx-dev-runtime", -}; -// Use Preact's ESM exports for both tests and React-compatible dependencies. -// Resolving with require() selects the CommonJS JSX runtime, whose named -// exports (including Fragment) are not reliably available to ESM imports. -registerHooks({ - resolve(specifier, context, nextResolve) { - if (/\.(css|scss)$/u.test(specifier)) { - return { - url: "data:text/javascript,export default {};", - shortCircuit: true, - }; - } - const alias = aliases[specifier] ?? specifier; - if (alias === "preact" || alias.startsWith("preact/")) { - return nextResolve(alias, { - ...context, - parentURL: packageURL, - conditions: ["node", "import", "default"], - }); - } - return nextResolve(specifier, context); - }, -}); - -const dom = new JSDOM("", { - url: "http://localhost/", - pretendToBeVisual: true, -}); -for (const name of [ - "window", - "document", - "navigator", - "HTMLElement", - "Node", - "Event", - "CustomEvent", - "requestAnimationFrame", - "cancelAnimationFrame", -]) { - Object.defineProperty(globalThis, name, { - configurable: true, - value: dom.window[name], - writable: true, - }); -} diff --git a/packages/lib-common/src/tooling/runMochaWebTests.ts b/packages/lib-common/src/tooling/runMochaWebTests.ts deleted file mode 100644 index a57fba6a31..0000000000 --- a/packages/lib-common/src/tooling/runMochaWebTests.ts +++ /dev/null @@ -1,30 +0,0 @@ -// oxlint-disable import/no-nodejs-modules -- This test runner executes in Node. -import { glob } from "node:fs/promises"; -import path from "node:path"; -import { pathToFileURL } from "node:url"; -import type Mocha from "mocha"; - -export async function runMochaWebTests(mocha: Mocha): Promise { - const files: string[] = []; - - for await (const file of glob("src/test/**/*.test.{ts,tsx}")) { - files.push(path.resolve(file)); - } - - if (files.length === 0) { - throw new Error("No cheatsheet test files found"); - } - - // Mocha 12's loader tries require() first. Import explicitly so tsx's ESM - // loader transforms TSX before Node evaluates it, including with sync hooks. - for (const file of files.toSorted()) { - mocha.suite.emit("pre-require", globalThis, file, mocha); - const tests = await import(pathToFileURL(file).href); - mocha.suite.emit("require", tests, file, mocha); - mocha.suite.emit("post-require", globalThis, file, mocha); - } - - return new Promise((resolve) => { - mocha.run((failures) => resolve(failures === 0 ? 0 : 1)); - }); -} diff --git a/packages/test-runner/package.json b/packages/test-runner/package.json index 6d9aa35b6c..42930db753 100644 --- a/packages/test-runner/package.json +++ b/packages/test-runner/package.json @@ -9,10 +9,10 @@ "scripts": { "typecheck": "tsc", "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo", - "test": "c-tsx ./src/scripts/runUnitTests.ts", - "test:subset": "c-tsx ./src/scripts/runUnitTests.ts --subset", - "test:update": "c-tsx ./src/scripts/runUnitTests.ts --update", - "test:update:subset": "c-tsx ./src/scripts/runUnitTests.ts --update --subset", + "test": "c-tsx --tsconfig=../../tsconfig.web.json ./src/scripts/runUnitTests.ts", + "test:subset": "pnpm test --subset", + "test:update": "pnpm test --update", + "test:update:subset": "pnpm test --update --subset", "test:vscode": "c-tsx ./src/scripts/runVscodeTestsCI.ts", "test:neovim": "c-tsx ./src/scripts/runNeovimTestsCI.ts", "test:talon": "c-tsx ./src/scripts/runTalonTests.ts", @@ -31,11 +31,14 @@ "devDependencies": { "@cursorless/tree-sitter-wasms": "^0.10.0", "@types/cross-spawn": "^6.0.6", + "@types/jsdom": "^21.1.7", "@types/mocha": "^10.0.10", "@types/tail": "^2.2.3", "@vscode/test-electron": "^3.1.0", "cross-spawn": "^7.0.6", + "jsdom": "^26.1.0", "mocha": "^12.0.0", + "preact": "^10.29.8", "tsx": "^4.23.13" } } diff --git a/packages/test-runner/src/runAllTests.ts b/packages/test-runner/src/runAllTests.ts index 9d00f5397a..2e04e0fdb8 100644 --- a/packages/test-runner/src/runAllTests.ts +++ b/packages/test-runner/src/runAllTests.ts @@ -1,4 +1,5 @@ import path from "node:path"; +import { pathToFileURL } from "node:url"; import fastGlob from "fast-glob"; import Mocha from "mocha"; import { getCursorlessRepoRoot } from "@cursorless/lib-node-common"; @@ -38,7 +39,7 @@ export function runAllTests(type: TestType): Promise { switch (type) { case TestType.unit: - filePattern = "test.ts"; + filePattern = "test.{ts,tsx}"; ignore = [ TestType.vscode, TestType.talon, @@ -91,9 +92,17 @@ async function runTestsInDir( ); } - // Add files to the test suite for (const file of files) { - mocha.addFile(file); + // Import explicitly: Mocha's require-first loader can bypass the TSX + // transform when the browser setup's synchronous hooks are registered. + if (file.endsWith(".tsx")) { + mocha.suite.emit("pre-require", globalThis, file, mocha); + const tests = await import(pathToFileURL(file).href); + mocha.suite.emit("require", tests, file, mocha); + mocha.suite.emit("post-require", globalThis, file, mocha); + } else { + mocha.addFile(file); + } } // Run the mocha test diff --git a/packages/test-runner/src/scripts/runUnitTests.ts b/packages/test-runner/src/scripts/runUnitTests.ts index a3666c2215..301a6e444a 100644 --- a/packages/test-runner/src/scripts/runUnitTests.ts +++ b/packages/test-runner/src/scripts/runUnitTests.ts @@ -4,8 +4,11 @@ import { exit } from "node:process"; import { TestType, runAllTests } from "../runAllTests"; +import { setupWebTests } from "../setupWebTests"; try { + setupWebTests(); + await runAllTests(TestType.unit); } catch (error) { console.error(error); diff --git a/packages/test-runner/src/setupWebTests.ts b/packages/test-runner/src/setupWebTests.ts new file mode 100644 index 0000000000..e62e6001cf --- /dev/null +++ b/packages/test-runner/src/setupWebTests.ts @@ -0,0 +1,57 @@ +import { registerHooks } from "node:module"; +import { JSDOM } from "jsdom"; + +export function setupWebTests() { + const packageURL = new URL("../package.json", import.meta.url).href; + const aliases: Partial> = { + react: "preact/compat", + "react-dom": "preact/compat", + "react-dom/test-utils": "preact/test-utils", + "react/jsx-runtime": "preact/jsx-runtime", + "react/jsx-dev-runtime": "preact/jsx-dev-runtime", + }; + // Use Preact's ESM exports for both tests and React-compatible dependencies. + // Resolving with require() selects the CommonJS JSX runtime, whose named + // exports (including Fragment) are not reliably available to ESM imports. + registerHooks({ + resolve(specifier, context, nextResolve) { + if (/\.(css|scss)$/u.test(specifier)) { + return { + url: "data:text/javascript,export default {};", + shortCircuit: true, + }; + } + const alias = aliases[specifier] ?? specifier; + if (alias === "preact" || alias.startsWith("preact/")) { + return nextResolve(alias, { + ...context, + parentURL: packageURL, + conditions: ["node", "import", "default"], + }); + } + return nextResolve(specifier, context); + }, + }); + + const dom = new JSDOM("", { + url: "http://localhost/", + pretendToBeVisual: true, + }); + for (const name of [ + "window", + "document", + "navigator", + "HTMLElement", + "Node", + "Event", + "CustomEvent", + "requestAnimationFrame", + "cancelAnimationFrame", + ] as const) { + Object.defineProperty(globalThis, name, { + configurable: true, + value: dom.window[name], + writable: true, + }); + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ea4be0ba88..514d1da9e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -399,9 +399,6 @@ importers: js-yaml: specifier: ^5.4.1 version: 5.4.1 - jsdom: - specifier: ^26.1.0 - version: 26.1.0 web-tree-sitter: specifier: ^0.27.0 version: 0.27.0 @@ -666,6 +663,9 @@ importers: '@types/cross-spawn': specifier: ^6.0.6 version: 6.0.6 + '@types/jsdom': + specifier: ^21.1.7 + version: 21.1.7 '@types/mocha': specifier: ^10.0.10 version: 10.0.10 @@ -678,9 +678,15 @@ importers: cross-spawn: specifier: ^7.0.6 version: 7.0.6 + jsdom: + specifier: ^26.1.0 + version: 26.1.0 mocha: specifier: ^12.0.0 version: 12.0.0 + preact: + specifier: ^10.29.8 + version: 10.29.8 tsx: specifier: ^4.23.13 version: 4.23.13 @@ -4813,6 +4819,9 @@ packages: '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/jsdom@21.1.7': + resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -4924,6 +4933,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/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} @@ -16221,6 +16233,12 @@ snapshots: '@types/js-yaml@4.0.9': {} + '@types/jsdom@21.1.7': + dependencies: + '@types/node': 24.13.4 + '@types/tough-cookie': 4.0.5 + parse5: 7.3.0 + '@types/json-schema@7.0.15': {} '@types/jsonfile@6.1.4': @@ -16338,6 +16356,8 @@ snapshots: '@types/tinycolor2@1.4.6': {} + '@types/tough-cookie@4.0.5': {} + '@types/triple-beam@1.3.5': {} '@types/unist@2.0.11': {} From 691b121b76b4797c9154753f66c2a38cb2cd0322 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Thu, 10 Sep 2026 18:32:22 +0200 Subject: [PATCH 3/7] Use global mocha types --- packages/lib-cheatsheet-local/src/test/app.test.tsx | 1 - packages/lib-cheatsheet/src/test/cheatsheet.test.tsx | 1 - packages/lib-cheatsheet/src/test/formatCaptures.test.tsx | 1 - .../lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts | 1 - 4 files changed, 4 deletions(-) diff --git a/packages/lib-cheatsheet-local/src/test/app.test.tsx b/packages/lib-cheatsheet-local/src/test/app.test.tsx index 154e3be437..8081c3ddde 100644 --- a/packages/lib-cheatsheet-local/src/test/app.test.tsx +++ b/packages/lib-cheatsheet-local/src/test/app.test.tsx @@ -1,5 +1,4 @@ import assert from "node:assert/strict"; -import { setup, suite, teardown, test } from "mocha"; import { render } from "preact"; import { act } from "preact/test-utils"; import { fakeCheatsheetInfo } from "@cursorless/lib-cheatsheet"; diff --git a/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx b/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx index 013a783820..2292f5b22e 100644 --- a/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx +++ b/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx @@ -1,5 +1,4 @@ import assert from "node:assert/strict"; -import { suite, teardown, test } from "mocha"; import { render } from "preact"; import { act } from "preact/test-utils"; import { Cheatsheet } from "../lib/Cheatsheet"; diff --git a/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx b/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx index 8c45e90db2..96706ea654 100644 --- a/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx +++ b/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx @@ -1,5 +1,4 @@ import assert from "node:assert/strict"; -import { suite, teardown, test } from "mocha"; import { render } from "preact"; import { act } from "preact/test-utils"; import { formatCaptures } from "../lib/utils/formatCaptures"; diff --git a/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts b/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts index 9fa69bc713..443812b6c1 100644 --- a/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts +++ b/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts @@ -1,5 +1,4 @@ import assert from "node:assert/strict"; -import { suite, test } from "mocha"; import type { CheatsheetInfo } from "@cursorless/lib-common/cheatsheet"; import { getCheatsheetInfo, From 732302920aa99c40c9041042d36a8411fb68fda3 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Fri, 11 Sep 2026 08:16:12 +0200 Subject: [PATCH 4/7] lib check --- packages/test-runner/tsconfig.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/test-runner/tsconfig.json b/packages/test-runner/tsconfig.json index ce3173c2d5..9431967028 100644 --- a/packages/test-runner/tsconfig.json +++ b/packages/test-runner/tsconfig.json @@ -1,5 +1,8 @@ { "extends": "../../tsconfig.base.json", + "compilerOptions": { + "skipLibCheck": true + }, "include": [ "src/**/*.ts", "src/**/*.json", From baed64aa15fd6997232719d54ed35f103a94479e Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Fri, 11 Sep 2026 08:31:22 +0200 Subject: [PATCH 5/7] Refactor --- packages/lib-cheatsheet-local/package.json | 2 +- packages/lib-cheatsheet-local/src/test/tsconfig.json | 3 --- .../lib-cheatsheet-local/{src => }/test/app.test.tsx | 2 +- packages/lib-cheatsheet-local/test/tsconfig.json | 7 +++++++ packages/lib-cheatsheet-local/tsconfig.json | 6 +----- packages/lib-cheatsheet-local/tsconfig.test.json | 12 ------------ packages/lib-cheatsheet/package.json | 2 +- packages/lib-cheatsheet/src/test/tsconfig.json | 3 --- .../{src => }/test/cheatsheet.test.tsx | 4 ++-- .../{src => }/test/formatCaptures.test.tsx | 2 +- .../{src => }/test/getDefaultCheatsheetInfo.test.ts | 0 packages/lib-cheatsheet/test/tsconfig.json | 7 +++++++ packages/lib-cheatsheet/tsconfig.json | 6 +----- packages/lib-cheatsheet/tsconfig.test.json | 12 ------------ packages/tool-meta-updater/src/updatePackageJson.ts | 4 ++-- 15 files changed, 24 insertions(+), 48 deletions(-) delete mode 100644 packages/lib-cheatsheet-local/src/test/tsconfig.json rename packages/lib-cheatsheet-local/{src => }/test/app.test.tsx (96%) create mode 100644 packages/lib-cheatsheet-local/test/tsconfig.json delete mode 100644 packages/lib-cheatsheet-local/tsconfig.test.json delete mode 100644 packages/lib-cheatsheet/src/test/tsconfig.json rename packages/lib-cheatsheet/{src => }/test/cheatsheet.test.tsx (82%) rename packages/lib-cheatsheet/{src => }/test/formatCaptures.test.tsx (94%) rename packages/lib-cheatsheet/{src => }/test/getDefaultCheatsheetInfo.test.ts (100%) create mode 100644 packages/lib-cheatsheet/test/tsconfig.json delete mode 100644 packages/lib-cheatsheet/tsconfig.test.json diff --git a/packages/lib-cheatsheet-local/package.json b/packages/lib-cheatsheet-local/package.json index d5f4e64fc5..f73c63f2fe 100644 --- a/packages/lib-cheatsheet-local/package.json +++ b/packages/lib-cheatsheet-local/package.json @@ -6,7 +6,7 @@ "private": true, "type": "module", "scripts": { - "typecheck": "tsc && tsc -p tsconfig.test.json", + "typecheck": "tsc && tsc -p ./test/tsconfig.json", "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo", "dev": "env NODE_OPTIONS=--import=tsx vite serve", "bundle:prod": "env NODE_OPTIONS=--import=tsx vite build", diff --git a/packages/lib-cheatsheet-local/src/test/tsconfig.json b/packages/lib-cheatsheet-local/src/test/tsconfig.json deleted file mode 100644 index 3678164521..0000000000 --- a/packages/lib-cheatsheet-local/src/test/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.test.json" -} diff --git a/packages/lib-cheatsheet-local/src/test/app.test.tsx b/packages/lib-cheatsheet-local/test/app.test.tsx similarity index 96% rename from packages/lib-cheatsheet-local/src/test/app.test.tsx rename to packages/lib-cheatsheet-local/test/app.test.tsx index 8081c3ddde..d2d4e362c5 100644 --- a/packages/lib-cheatsheet-local/src/test/app.test.tsx +++ b/packages/lib-cheatsheet-local/test/app.test.tsx @@ -2,7 +2,7 @@ import assert from "node:assert/strict"; import { render } from "preact"; import { act } from "preact/test-utils"; import { fakeCheatsheetInfo } from "@cursorless/lib-cheatsheet"; -import { App } from "../app"; +import { App } from "../src/app"; suite("App", () => { setup(() => { diff --git a/packages/lib-cheatsheet-local/test/tsconfig.json b/packages/lib-cheatsheet-local/test/tsconfig.json new file mode 100644 index 0000000000..8a5abc21a0 --- /dev/null +++ b/packages/lib-cheatsheet-local/test/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "types": ["node", "mocha"] + }, + "include": ["**/*.ts", "**/*.tsx", "../../../resources/typings/**/*.d.ts"] +} diff --git a/packages/lib-cheatsheet-local/tsconfig.json b/packages/lib-cheatsheet-local/tsconfig.json index 20c49f2c53..7afd4dcdf2 100644 --- a/packages/lib-cheatsheet-local/tsconfig.json +++ b/packages/lib-cheatsheet-local/tsconfig.json @@ -1,13 +1,9 @@ { "extends": "../../tsconfig.web.json", - "compilerOptions": { - "types": [] - }, "include": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.json", "../../resources/typings/**/*.d.ts" - ], - "exclude": ["src/test"] + ] } diff --git a/packages/lib-cheatsheet-local/tsconfig.test.json b/packages/lib-cheatsheet-local/tsconfig.test.json deleted file mode 100644 index 398f4c18c5..0000000000 --- a/packages/lib-cheatsheet-local/tsconfig.test.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "types": ["node", "mocha"] - }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx", - "../../resources/typings/**/*.d.ts" - ], - "exclude": [] -} diff --git a/packages/lib-cheatsheet/package.json b/packages/lib-cheatsheet/package.json index b96e05a707..c6ccf9664b 100644 --- a/packages/lib-cheatsheet/package.json +++ b/packages/lib-cheatsheet/package.json @@ -11,7 +11,7 @@ "*.css" ], "scripts": { - "typecheck": "tsc && tsc -p tsconfig.test.json", + "typecheck": "tsc && tsc -p ./test/tsconfig.json", "clean": "rm -rf ./out ./dist ./tsconfig.tsbuildinfo" }, "dependencies": { diff --git a/packages/lib-cheatsheet/src/test/tsconfig.json b/packages/lib-cheatsheet/src/test/tsconfig.json deleted file mode 100644 index 3678164521..0000000000 --- a/packages/lib-cheatsheet/src/test/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../tsconfig.test.json" -} diff --git a/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx b/packages/lib-cheatsheet/test/cheatsheet.test.tsx similarity index 82% rename from packages/lib-cheatsheet/src/test/cheatsheet.test.tsx rename to packages/lib-cheatsheet/test/cheatsheet.test.tsx index 2292f5b22e..b37471ae54 100644 --- a/packages/lib-cheatsheet/src/test/cheatsheet.test.tsx +++ b/packages/lib-cheatsheet/test/cheatsheet.test.tsx @@ -1,8 +1,8 @@ import assert from "node:assert/strict"; import { render } from "preact"; import { act } from "preact/test-utils"; -import { Cheatsheet } from "../lib/Cheatsheet"; -import { fakeCheatsheetInfo } from "../lib/utils/fakeCheatsheetInfo"; +import { Cheatsheet } from "../src/lib/Cheatsheet"; +import { fakeCheatsheetInfo } from "../src/lib/utils/fakeCheatsheetInfo"; suite("Cheatsheet", () => { teardown(() => { diff --git a/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx b/packages/lib-cheatsheet/test/formatCaptures.test.tsx similarity index 94% rename from packages/lib-cheatsheet/src/test/formatCaptures.test.tsx rename to packages/lib-cheatsheet/test/formatCaptures.test.tsx index 96706ea654..8962fa4324 100644 --- a/packages/lib-cheatsheet/src/test/formatCaptures.test.tsx +++ b/packages/lib-cheatsheet/test/formatCaptures.test.tsx @@ -1,7 +1,7 @@ import assert from "node:assert/strict"; import { render } from "preact"; import { act } from "preact/test-utils"; -import { formatCaptures } from "../lib/utils/formatCaptures"; +import { formatCaptures } from "../src/lib/utils/formatCaptures"; suite("formatCaptures", () => { teardown(() => { diff --git a/packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts b/packages/lib-cheatsheet/test/getDefaultCheatsheetInfo.test.ts similarity index 100% rename from packages/lib-cheatsheet/src/test/getDefaultCheatsheetInfo.test.ts rename to packages/lib-cheatsheet/test/getDefaultCheatsheetInfo.test.ts diff --git a/packages/lib-cheatsheet/test/tsconfig.json b/packages/lib-cheatsheet/test/tsconfig.json new file mode 100644 index 0000000000..8a5abc21a0 --- /dev/null +++ b/packages/lib-cheatsheet/test/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "types": ["node", "mocha"] + }, + "include": ["**/*.ts", "**/*.tsx", "../../../resources/typings/**/*.d.ts"] +} diff --git a/packages/lib-cheatsheet/tsconfig.json b/packages/lib-cheatsheet/tsconfig.json index 20c49f2c53..7afd4dcdf2 100644 --- a/packages/lib-cheatsheet/tsconfig.json +++ b/packages/lib-cheatsheet/tsconfig.json @@ -1,13 +1,9 @@ { "extends": "../../tsconfig.web.json", - "compilerOptions": { - "types": [] - }, "include": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.json", "../../resources/typings/**/*.d.ts" - ], - "exclude": ["src/test"] + ] } diff --git a/packages/lib-cheatsheet/tsconfig.test.json b/packages/lib-cheatsheet/tsconfig.test.json deleted file mode 100644 index 398f4c18c5..0000000000 --- a/packages/lib-cheatsheet/tsconfig.test.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "types": ["node", "mocha"] - }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx", - "../../resources/typings/**/*.d.ts" - ], - "exclude": [] -} diff --git a/packages/tool-meta-updater/src/updatePackageJson.ts b/packages/tool-meta-updater/src/updatePackageJson.ts index 62556dc9af..4068287f06 100644 --- a/packages/tool-meta-updater/src/updatePackageJson.ts +++ b/packages/tool-meta-updater/src/updatePackageJson.ts @@ -103,8 +103,8 @@ function getScripts( return scripts; } - scripts.typecheck = existsSync(path.join(packageDir, "tsconfig.test.json")) - ? "tsc && tsc -p tsconfig.test.json" + scripts.typecheck = existsSync(path.join(packageDir, "test/tsconfig.json")) + ? "tsc && tsc -p ./test/tsconfig.json" : "tsc"; const cleanDirs = ["./out", "./dist", "./tsconfig.tsbuildinfo"]; From cd085e260c5ed77599da6e854f6e89c18917549c Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Fri, 11 Sep 2026 08:33:28 +0200 Subject: [PATCH 6/7] types --- packages/lib-cheatsheet-local/tsconfig.json | 3 +++ packages/lib-cheatsheet/tsconfig.json | 3 +++ 2 files changed, 6 insertions(+) diff --git a/packages/lib-cheatsheet-local/tsconfig.json b/packages/lib-cheatsheet-local/tsconfig.json index 7afd4dcdf2..38c73d1a92 100644 --- a/packages/lib-cheatsheet-local/tsconfig.json +++ b/packages/lib-cheatsheet-local/tsconfig.json @@ -1,5 +1,8 @@ { "extends": "../../tsconfig.web.json", + "compilerOptions": { + "types": [] + }, "include": [ "src/**/*.ts", "src/**/*.tsx", diff --git a/packages/lib-cheatsheet/tsconfig.json b/packages/lib-cheatsheet/tsconfig.json index 7afd4dcdf2..38c73d1a92 100644 --- a/packages/lib-cheatsheet/tsconfig.json +++ b/packages/lib-cheatsheet/tsconfig.json @@ -1,5 +1,8 @@ { "extends": "../../tsconfig.web.json", + "compilerOptions": { + "types": [] + }, "include": [ "src/**/*.ts", "src/**/*.tsx", From 6de1c3030cbfb7aa6f36b1a13d5266d816c9dfa0 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Fri, 11 Sep 2026 08:38:34 +0200 Subject: [PATCH 7/7] added comments --- packages/test-runner/src/setupWebTests.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/test-runner/src/setupWebTests.ts b/packages/test-runner/src/setupWebTests.ts index e62e6001cf..56c9fd54d1 100644 --- a/packages/test-runner/src/setupWebTests.ts +++ b/packages/test-runner/src/setupWebTests.ts @@ -1,6 +1,11 @@ import { registerHooks } from "node:module"; import { JSDOM } from "jsdom"; +/** + * Prepares Node to run browser component tests by mapping React imports to + * Preact, replacing stylesheet imports with empty modules, and exposing jsdom + * browser globals. Call before importing tests or their components. + */ export function setupWebTests() { const packageURL = new URL("../package.json", import.meta.url).href; const aliases: Partial> = { @@ -10,6 +15,7 @@ export function setupWebTests() { "react/jsx-runtime": "preact/jsx-runtime", "react/jsx-dev-runtime": "preact/jsx-dev-runtime", }; + // Use Preact's ESM exports for both tests and React-compatible dependencies. // Resolving with require() selects the CommonJS JSX runtime, whose named // exports (including Fragment) are not reliably available to ESM imports. @@ -21,6 +27,7 @@ export function setupWebTests() { shortCircuit: true, }; } + const alias = aliases[specifier] ?? specifier; if (alias === "preact" || alias.startsWith("preact/")) { return nextResolve(alias, { @@ -33,6 +40,8 @@ export function setupWebTests() { }, }); + // Create a browser-like environment with a localhost origin and animation + // frame support, then expose the DOM APIs used by components on globalThis. const dom = new JSDOM("", { url: "http://localhost/", pretendToBeVisual: true,