From 9388cbede4c3d0a289a06de6916e0a7c0f3e0c4e Mon Sep 17 00:00:00 2001 From: Mathieu Schimmerling Date: Sun, 21 Jun 2026 01:19:38 +0200 Subject: [PATCH 1/4] Migrate toolchain to Vite+ --- .oxlintrc.json | 156 --- .prettierrc | 11 - .vite-hooks/pre-commit | 1 + build/generateContentVitePlugin.ts | 11 +- eslint.config.ts | 45 - lefthook.yml | 10 - package.json | 61 +- pnpm-lock.yaml | 1956 +++++++++++++++++----------- public/sitemap.xml | 76 +- renovate.json | 2 +- src/lib/frameworkUrl.test.ts | 22 + src/vite-env.d.ts | 2 +- tsconfig.json | 1 - vite.config.ts | 228 +++- 14 files changed, 1491 insertions(+), 1091 deletions(-) delete mode 100644 .oxlintrc.json delete mode 100644 .prettierrc create mode 100755 .vite-hooks/pre-commit delete mode 100644 eslint.config.ts delete mode 100644 lefthook.yml create mode 100644 src/lib/frameworkUrl.test.ts diff --git a/.oxlintrc.json b/.oxlintrc.json deleted file mode 100644 index 1ece3551..00000000 --- a/.oxlintrc.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "$schema": "./node_modules/oxlint/configuration_schema.json", - "plugins": ["typescript", "unicorn"], - "categories": { - "correctness": "off" - }, - "env": { - "builtin": true, - "browser": true, - "commonjs": true, - "node": true, - "shared-node-browser": true - }, - "ignorePatterns": [ - "**/logs", - "**/*.log", - "**/npm-debug.log*", - "**/yarn-debug.log*", - "**/yarn-error.log*", - "**/pnpm-debug.log*", - "**/lerna-debug.log*", - "**/node_modules", - "**/dist", - "**/dist-ssr", - "**/*.local", - ".vscode/*", - "!.vscode/extensions.json", - "**/.idea", - "**/.DS_Store", - "**/*.suo", - "**/*.ntvs*", - "**/*.njsproj", - "**/*.sln", - "**/*.sw?", - "src/generatedContent", - "**/archive", - "**/vite.config.js.timestamp*", - "content/**" - ], - "rules": { - "for-direction": "error", - "no-async-promise-executor": "error", - "no-case-declarations": "error", - "no-class-assign": "error", - "no-compare-neg-zero": "error", - "no-cond-assign": "error", - "no-const-assign": "error", - "no-constant-binary-expression": "error", - "no-constant-condition": "error", - "no-control-regex": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-dupe-class-members": "error", - "no-dupe-else-if": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty": "error", - "no-empty-character-class": "error", - "no-empty-pattern": "error", - "no-empty-static-block": "error", - "no-ex-assign": "error", - "no-extra-boolean-cast": "error", - "no-fallthrough": "error", - "no-func-assign": "error", - "no-global-assign": "error", - "no-import-assign": "error", - "no-invalid-regexp": "error", - "no-irregular-whitespace": "error", - "no-loss-of-precision": "error", - "no-new-native-nonconstructor": "error", - "no-nonoctal-decimal-escape": "error", - "no-obj-calls": "error", - "no-prototype-builtins": "error", - "no-redeclare": "error", - "no-regex-spaces": "error", - "no-self-assign": "error", - "no-setter-return": "error", - "no-shadow-restricted-names": "error", - "no-sparse-arrays": "error", - "no-this-before-super": "error", - "no-unexpected-multiline": "off", - "no-unsafe-finally": "error", - "no-unsafe-negation": "error", - "no-unsafe-optional-chaining": "error", - "no-unused-labels": "error", - "no-unused-private-class-members": "error", - "no-unused-vars": "error", - "no-useless-backreference": "error", - "no-useless-catch": "error", - "no-useless-escape": "error", - "no-with": "error", - "require-yield": "error", - "use-isnan": "error", - "valid-typeof": "error", - "@typescript-eslint/ban-ts-comment": "error", - "no-array-constructor": "error", - "@typescript-eslint/no-duplicate-enum-values": "error", - "@typescript-eslint/no-empty-object-type": "error", - "@typescript-eslint/no-explicit-any": "error", - "@typescript-eslint/no-extra-non-null-assertion": "error", - "@typescript-eslint/no-misused-new": "error", - "@typescript-eslint/no-namespace": "error", - "@typescript-eslint/no-non-null-asserted-optional-chain": "error", - "@typescript-eslint/no-require-imports": "error", - "@typescript-eslint/no-this-alias": "error", - "@typescript-eslint/no-unnecessary-type-constraint": "error", - "@typescript-eslint/no-unsafe-declaration-merging": "error", - "@typescript-eslint/no-unsafe-function-type": "error", - "no-unused-expressions": "error", - "@typescript-eslint/no-wrapper-object-types": "error", - "@typescript-eslint/prefer-as-const": "error", - "@typescript-eslint/prefer-namespace-keyword": "error", - "@typescript-eslint/triple-slash-reference": "error", - "curly": "off", - "unicorn/empty-brace-spaces": "off", - "unicorn/no-nested-ternary": "off", - "unicorn/number-literal-case": "off" - }, - "overrides": [ - { - "files": ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], - "rules": { - "no-class-assign": "off", - "no-const-assign": "off", - "no-dupe-class-members": "off", - "no-dupe-keys": "off", - "no-func-assign": "off", - "no-import-assign": "off", - "no-new-native-nonconstructor": "off", - "no-obj-calls": "off", - "no-redeclare": "off", - "no-setter-return": "off", - "no-this-before-super": "off", - "no-unsafe-negation": "off", - "no-var": "error", - "no-with": "off", - "prefer-rest-params": "error", - "prefer-spread": "error" - } - }, - { - "files": ["*.svelte", "**/*.svelte"], - "rules": { - "no-inner-declarations": "off", - "no-self-assign": "off" - } - }, - { - "files": ["*.svelte", "**/*.svelte"], - "rules": { - "no-inner-declarations": "off", - "no-self-assign": "off" - } - } - ] -} diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 05dafbf8..00000000 --- a/.prettierrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "plugins": ["prettier-plugin-svelte"], - "overrides": [ - { - "files": "*.svelte", - "options": { - "parser": "svelte" - } - } - ] -} diff --git a/.vite-hooks/pre-commit b/.vite-hooks/pre-commit new file mode 100755 index 00000000..85fb65b4 --- /dev/null +++ b/.vite-hooks/pre-commit @@ -0,0 +1 @@ +vp staged diff --git a/build/generateContentVitePlugin.ts b/build/generateContentVitePlugin.ts index 3f191b6b..ad391783 100644 --- a/build/generateContentVitePlugin.ts +++ b/build/generateContentVitePlugin.ts @@ -38,12 +38,17 @@ export default function pluginGenerateFrameworkContent() { } let fsContentWatcher: FSWatcher | undefined; - if (process.env.NODE_ENV === "development") { - fsContentWatcher = chokidar.watch(["content"]).on("change", build); - } return { name, + configureServer(server: { + httpServer?: { once(e: string, cb: () => void): void }; + }): void { + fsContentWatcher = chokidar.watch(["content"]).on("change", build); + server.httpServer?.once("close", () => { + void fsContentWatcher?.close(); + }); + }, async buildStart(): Promise { try { await build(); diff --git a/eslint.config.ts b/eslint.config.ts deleted file mode 100644 index 4b6f2907..00000000 --- a/eslint.config.ts +++ /dev/null @@ -1,45 +0,0 @@ -import prettier from "eslint-config-prettier"; -import js from "@eslint/js"; -import { includeIgnoreFile } from "@eslint/compat"; -import svelte from "eslint-plugin-svelte"; -import globals from "globals"; -import { fileURLToPath } from "node:url"; -import ts from "typescript-eslint"; -import svelteConfig from "./svelte.config"; -import oxlint from "eslint-plugin-oxlint"; - -const gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url)); - -export default [ - { - ignores: ["content/**"], - }, - includeIgnoreFile(gitignorePath), - js.configs.recommended, - ...ts.configs.recommended, - ...svelte.configs.recommended, - prettier, - ...svelte.configs["flat/prettier"], - { - languageOptions: { - globals: { - ...globals.browser, - ...globals.node, - }, - }, - }, - { - files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"], - ignores: ["eslint.config.js", "svelte.config.js"], - - languageOptions: { - parserOptions: { - projectService: true, - extraFileExtensions: [".svelte"], - parser: ts.parser, - svelteConfig, - }, - }, - }, - ...oxlint.buildFromOxlintConfigFile("./.oxlintrc.json"), -]; diff --git a/lefthook.yml b/lefthook.yml deleted file mode 100644 index c9766121..00000000 --- a/lefthook.yml +++ /dev/null @@ -1,10 +0,0 @@ -pre-commit: - commands: - format: - run: pnpm _format --write {staged_files} - glob: "*.{js,ts,svelte,html,md,css}" - stage_fixed: true - update-readme-progress: - run: node scripts/generateReadMeProgress.ts && git add README.md - glob: "content/**/*" - fail_text: "Failed to update README progress" diff --git a/package.json b/package.json index dcd930f7..19ef3deb 100644 --- a/package.json +++ b/package.json @@ -6,26 +6,26 @@ "packageManager": "pnpm@10.14.0", "repository": "github:matschik/component-party.dev", "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview", - "_format": "prettier --cache --cache-location .cache/prettier", - "format": "pnpm _format --write .", - "lint": "oxlint && eslint", - "check": "pnpm format && svelte-check --tsconfig ./tsconfig.json && pnpm lint", - "check:ci": "svelte-check --tsconfig ./tsconfig.json && pnpm lint", + "dev": "vp dev", + "build": "vp build", + "preview": "vp preview", + "format": "vp fmt", + "lint": "vp lint", + "check": "vp fmt && svelte-check --tsconfig ./tsconfig.json && vp lint", + "check:ci": "vp fmt && svelte-check --tsconfig ./tsconfig.json && vp lint", "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "build:content": "node scripts/generateContent.ts --no-cache", - "build:progress": "node scripts/generateReadMeProgress.ts", - "build:sitemap": "node scripts/generateSitemap.ts", - "prepare": "lefthook install", + "build:content": "vp node scripts/generateContent.ts --no-cache", + "build:progress": "vp node scripts/generateReadMeProgress.ts", + "build:sitemap": "vp node scripts/generateSitemap.ts", + "prepare": "vp config --no-agent || true", + "test:unit": "vp test", "test:e2e": "playwright test", "test:e2e:ui": "playwright test --ui", "test:e2e:headed": "playwright test --headed", "test:e2e:debug": "playwright test --debug", "test:e2e:report": "playwright show-report", "test:e2e:install": "playwright install chromium", - "test": "pnpm run test:e2e", + "test": "vp test --run && playwright test", "check:package-manager": "node scripts/check-package-manager.js" }, "dependencies": { @@ -33,53 +33,50 @@ "just-throttle": "^4.2.0", "lz-string": "^1.5.0", "runed": "^0.37.1", - "sv-router": "^0.16.3" + "sv-router": "^0.17.0" }, "devDependencies": { - "@eslint/compat": "^2.1.0", - "@eslint/js": "^10.0.1", - "@iconify/json": "^2.2.484", + "@iconify/json": "^2.2.488", "@iconify/tailwind4": "^1.2.3", - "@playwright/test": "^1.60.0", + "@playwright/test": "^1.61.0", "@shikijs/markdown-it": "^4.2.0", "@sveltejs/vite-plugin-svelte": "7.1.2", "@sveltejs/vite-plugin-svelte-inspector": "5.0.2", - "@tailwindcss/vite": "^4.3.0", + "@tailwindcss/vite": "^4.3.1", "@types/folder-hash": "^4.0.4", "@types/html-minifier-terser": "^7.0.2", "@types/markdown-it": "^14.1.2", + "@typescript/native-preview": "7.0.0-dev.20260620.1", "autoprefixer": "^10.5.0", "chokidar": "^5.0.0", - "eslint": "^10.4.1", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-oxlint": "^1.69.0", "eslint-plugin-svelte": "^3.19.0", "eta": "^4.6.0", "folder-hash": "^4.1.3", - "globals": "^17.6.0", "html-minifier-terser": "^7.2.0", "just-kebab-case": "^4.2.0", - "lefthook": "^2.1.9", "markdown-it": "^14.2.0", "micache": "^2.4.1", - "oxlint": "^1.69.0", "package-directory": "^8.2.0", - "prettier": "^3.8.3", - "prettier-plugin-svelte": "^4.1.0", + "prettier": "^3.8.4", "shiki": "^4.2.0", "svelte": "5.56.3", "svelte-check": "^4.6.0", - "tailwindcss": "^4.3.0", + "tailwindcss": "^4.3.1", "tslib": "^2.8.1", "typescript": "^6.0.3", - "typescript-eslint": "^8.61.0", - "vite": "^8.0.16", - "vite-plugin-html": "^3.2.2" + "vite": "npm:@voidzero-dev/vite-plus-core@^0.2.1", + "vite-plugin-html": "^3.2.2", + "vite-plus": "latest", + "vitest": "4.1.9" }, "pnpm": { "onlyBuiltDependencies": [ "esbuild" - ] + ], + "overrides": { + "vite": "npm:@voidzero-dev/vite-plus-core@latest", + "vitest": "4.1.9" + } }, "engines": { "node": ">=22.18.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 558d5fb0..5c008add 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,10 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + vite: npm:@voidzero-dev/vite-plus-core@latest + vitest: 4.1.9 + importers: .: @@ -19,38 +23,32 @@ importers: version: 1.5.0 runed: specifier: ^0.37.1 - version: 0.37.1(svelte@5.56.3(@typescript-eslint/types@8.61.0)) + version: 0.37.1(svelte@5.56.3(@typescript-eslint/types@8.61.1)) sv-router: - specifier: ^0.16.3 - version: 0.16.3(svelte@5.56.3(@typescript-eslint/types@8.61.0)) + specifier: ^0.17.0 + version: 0.17.0(svelte@5.56.3(@typescript-eslint/types@8.61.1)) devDependencies: - '@eslint/compat': - specifier: ^2.1.0 - version: 2.1.0(eslint@10.4.1(jiti@2.7.0)) - '@eslint/js': - specifier: ^10.0.1 - version: 10.0.1(eslint@10.4.1(jiti@2.7.0)) '@iconify/json': - specifier: ^2.2.484 - version: 2.2.484 + specifier: ^2.2.488 + version: 2.2.488 '@iconify/tailwind4': specifier: ^1.2.3 - version: 1.2.3(tailwindcss@4.3.0) + version: 1.2.3(tailwindcss@4.3.1) '@playwright/test': - specifier: ^1.60.0 - version: 1.60.0 + specifier: ^1.61.0 + version: 1.61.0 '@shikijs/markdown-it': specifier: ^4.2.0 version: 4.2.0 '@sveltejs/vite-plugin-svelte': specifier: 7.1.2 - version: 7.1.2(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)) + version: 7.1.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1)) '@sveltejs/vite-plugin-svelte-inspector': specifier: 5.0.2 - version: 5.0.2(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)))(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)) + version: 5.0.2(@sveltejs/vite-plugin-svelte@7.1.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1)))(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1)) '@tailwindcss/vite': - specifier: ^4.3.0 - version: 4.3.0(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)) + specifier: ^4.3.1 + version: 4.3.1(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) '@types/folder-hash': specifier: ^4.0.4 version: 4.0.4 @@ -60,104 +58,95 @@ importers: '@types/markdown-it': specifier: ^14.1.2 version: 14.1.2 + '@typescript/native-preview': + specifier: 7.0.0-dev.20260620.1 + version: 7.0.0-dev.20260620.1 autoprefixer: specifier: ^10.5.0 version: 10.5.0(postcss@8.5.15) chokidar: specifier: ^5.0.0 version: 5.0.0 - eslint: - specifier: ^10.4.1 - version: 10.4.1(jiti@2.7.0) - eslint-config-prettier: - specifier: ^10.1.8 - version: 10.1.8(eslint@10.4.1(jiti@2.7.0)) - eslint-plugin-oxlint: - specifier: ^1.69.0 - version: 1.69.0(oxlint@1.69.0) eslint-plugin-svelte: specifier: ^3.19.0 - version: 3.19.0(eslint@10.4.1(jiti@2.7.0))(svelte@5.56.3(@typescript-eslint/types@8.61.0)) + version: 3.19.0(eslint@10.4.1(jiti@2.7.0))(svelte@5.56.3(@typescript-eslint/types@8.61.1)) eta: specifier: ^4.6.0 version: 4.6.0 folder-hash: specifier: ^4.1.3 version: 4.1.3 - globals: - specifier: ^17.6.0 - version: 17.6.0 html-minifier-terser: specifier: ^7.2.0 version: 7.2.0 just-kebab-case: specifier: ^4.2.0 version: 4.2.0 - lefthook: - specifier: ^2.1.9 - version: 2.1.9 markdown-it: specifier: ^14.2.0 version: 14.2.0 micache: specifier: ^2.4.1 version: 2.4.1 - oxlint: - specifier: ^1.69.0 - version: 1.69.0 package-directory: specifier: ^8.2.0 version: 8.2.0 prettier: - specifier: ^3.8.3 - version: 3.8.3 - prettier-plugin-svelte: - specifier: ^4.1.0 - version: 4.1.0(prettier@3.8.3)(svelte@5.56.3(@typescript-eslint/types@8.61.0)) + specifier: ^3.8.4 + version: 3.8.4 shiki: specifier: ^4.2.0 version: 4.2.0 svelte: specifier: 5.56.3 - version: 5.56.3(@typescript-eslint/types@8.61.0) + version: 5.56.3(@typescript-eslint/types@8.61.1) svelte-check: specifier: ^4.6.0 - version: 4.6.0(picomatch@4.0.4)(svelte@5.56.3(@typescript-eslint/types@8.61.0))(typescript@6.0.3) + version: 4.6.0(picomatch@4.0.4)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(typescript@6.0.3) tailwindcss: - specifier: ^4.3.0 - version: 4.3.0 + specifier: ^4.3.1 + version: 4.3.1 tslib: specifier: ^2.8.1 version: 2.8.1 typescript: specifier: ^6.0.3 version: 6.0.3 - typescript-eslint: - specifier: ^8.61.0 - version: 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) vite: - specifier: ^8.0.16 - version: 8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1) + specifier: npm:@voidzero-dev/vite-plus-core@latest + version: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' vite-plugin-html: specifier: ^3.2.2 - version: 3.2.2(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)) + version: 3.2.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + vite-plus: + specifier: latest + version: 0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1) + vitest: + specifier: 4.1.9 + version: 4.1.9(@types/node@24.5.2)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@cyberalien/svg-utils@1.2.15': - resolution: {integrity: sha512-ZbKU6npzW5PNocdoLVJYfKzaP+c/RpT6JUkoaKrW1DOcw6lyXub8XtcNpI3xok6FnyNjS6ZbsrrtjTnS9yeZAQ==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@blazediff/core@1.9.1': + resolution: {integrity: sha512-ehg3jIkYKulZh+8om/O25vkvSsXXwC+skXmyA87FFx6A/45eqOkZsBltMw/TVteb0mloiGT8oGRTcjRAz66zaA==} + + '@cyberalien/svg-utils@1.2.15': + resolution: {integrity: sha512-ZbKU6npzW5PNocdoLVJYfKzaP+c/RpT6JUkoaKrW1DOcw6lyXub8XtcNpI3xok6FnyNjS6ZbsrrtjTnS9yeZAQ==} '@esbuild/aix-ppc64@0.25.12': resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} @@ -481,15 +470,6 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/compat@2.1.0': - resolution: {integrity: sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^8.40 || 9 || 10 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/config-array@0.23.5': resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -502,15 +482,6 @@ packages: resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/js@10.0.1': - resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - peerDependencies: - eslint: ^10.0.0 - peerDependenciesMeta: - eslint: - optional: true - '@eslint/object-schema@3.0.5': resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -542,8 +513,8 @@ packages: '@iconify-json/heroicons@1.2.3': resolution: {integrity: sha512-n+vmCEgTesRsOpp5AB5ILB6srsgsYK+bieoQBNlafvoEhjVXLq8nIGN4B0v/s4DUfa0dOrjwE/cKJgIKdJXOEg==} - '@iconify/json@2.2.484': - resolution: {integrity: sha512-EEapfheix57SSxbYa6kooOveCLK0/fAhZzi72/wkezMrwc/24+itnIDnqk7pb5dbnev7pcCJ9FdrICLJozu/2Q==} + '@iconify/json@2.2.488': + resolution: {integrity: sha512-W2MfGS0n1GugWhQn7SLgRKNH1JonVsKG/O9vO/htP7j3k1bGt54R1mbN9uaZlQ99uCCu65IR5UgQM66E8Cm+Fw==} '@iconify/tailwind4@1.2.3': resolution: {integrity: sha512-z8SKiMHRASJKF/IY//87MF88lcB7ulxh8vlhQXXLWsBkNtOh6ese9R41MyGpQeqXdRvQVt+/fX2glQtHFjQ+MA==} @@ -578,12 +549,6 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@napi-rs/wasm-runtime@1.1.4': - resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} - peerDependencies: - '@emnapi/core': ^1.7.1 - '@emnapi/runtime': ^1.7.1 - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -596,219 +561,282 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.133.0': - resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} + '@oxc-project/runtime@0.136.0': + resolution: {integrity: sha512-u0EutjK5y6NHJkl5jNJCs8zbup1z6A/UEWgajrYzqcEU3UX05HjqybhMQOLhSM0eKGISyM6WfSMMuklYSmH2wA==} + engines: {node: ^20.19.0 || >=22.12.0} + + '@oxc-project/types@0.136.0': + resolution: {integrity: sha512-39Al/B3v9esnHCX7S8l9Se2+s2tb9b2jcMd+bZ2L659VG73kNyGPpPrL5Zi/p0ty7p4pTTU2/Dd+g27hv94XCg==} - '@oxlint/binding-android-arm-eabi@1.69.0': - resolution: {integrity: sha512-DKQQbD5cZ/MYfDgDI7YGyGD9FSxABlsBsYFo5p26lloob543tP9+4N3guwdXIYJN+7HSZxLe8YJuwcOWw5qnHg==} + '@oxfmt/binding-android-arm-eabi@0.55.0': + resolution: {integrity: sha512-+rFDOqQe5LOWgxrAJaZgLRudr6GQm0wGI6gtu7vVkrdLGjNMUSGbAlaCr8j7F2H2Er97vYQCU8WDb30onqMM1g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.69.0': - resolution: {integrity: sha512-lEhb+I5pr4inux+JFwfCa1HRq3Os7NirEFQ0H1I35SVEHPm6byX0Ah47xmRha3qi6LAkxUcxViL8o/9PivjzBg==} + '@oxfmt/binding-android-arm64@0.55.0': + resolution: {integrity: sha512-ctulLq8s3x8Zmvw6+iccB09TIKERAklRSmbJ10gk8mlAn05qZxoyo52dj3Hi9IJcmDSwF54fQaTVh2CbL6PInw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.69.0': - resolution: {integrity: sha512-GY2YE8lOZW59BW1Ia1y+1gR0XyjrZRvVWHAr8LGeGhYHE0OQJ/7cRKXTkx1P+E9/6awEc3SX8a68SFTjh/E//A==} + '@oxfmt/binding-darwin-arm64@0.55.0': + resolution: {integrity: sha512-xDQczLH9pw/RBk1h/GH0qcGMm8hQtmtVHBNLSH3lk1gEIR09hZ4L+mJQl4VqiVAvPK9VG9PYrWWuSQLt7xTbiA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.69.0': - resolution: {integrity: sha512-ax1oZnOjHX3LB7myQyHEaQkDwfLb6str3/nSP6O7EVUviQGNkEGzGV0EqcBJWK+Ufwx0l4xPgyYayurvhAdl2Q==} + '@oxfmt/binding-darwin-x64@0.55.0': + resolution: {integrity: sha512-JaNoFCkF2CJdGgpPSMbuO9HVyXyoNGIhMHPvp6NYAjeVKw9XEYc0HcUWJLPQa3Q69WV5wMa9m5jPMJPtbLtcRg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.69.0': - resolution: {integrity: sha512-kHWeHv4g2h8NY+mpCxzCtY4uerMJWTN/TSnNj1CPbakFpHEJ6cTya2wWV0pDSYWOJ2+0UiEbhn3AtXxHtsnKjg==} + '@oxfmt/binding-freebsd-x64@0.55.0': + resolution: {integrity: sha512-DNbszhpg6S2MIzax5azdHFTTBIVkR5xr8yyRZuA4yoDAwOkzIp3tmldgKZM2+VlT+hJIG0xUksA+elISzMEAfA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.69.0': - resolution: {integrity: sha512-gq84vM1a1oEehXo27YCDzGVcxPsZDI1yswZwz2Da1/cbnWtrL16XZZnz0G/+gIU8edtHpfjxq5c+vWEHqJfWoQ==} + '@oxfmt/binding-linux-arm-gnueabihf@0.55.0': + resolution: {integrity: sha512-2snoaoRfFFyGnbOcKUK36rREBYxe/Xgz3uHbiA5zbCB/s6R4DQj4mHqYAaWWhgizCUSDxV8cE9zAZ0XleNpKGw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.69.0': - resolution: {integrity: sha512-kIqEa98JQ0VRyrcncxA417m2AzasqTlD+FyVT1AksjvjkqQcvm7pBWYvoW3/mpyOP2XYvi5nSCCTIe6De1yu5g==} + '@oxfmt/binding-linux-arm-musleabihf@0.55.0': + resolution: {integrity: sha512-q1aktHF/WRpSK81BX1dE/9vWrS2jGw1Nax2kb4DBLGAewubCLcoNyp4Zl/NSMgbv3vUS46Z33wIQkBVYOP3PYg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.69.0': - resolution: {integrity: sha512-j+xYiXozxGWx2cpjCrwwGR4awTxPFsRv3JZrv23RCogEPMc4R7UqjHW47p/RG0aRlbWiROCJ8coUfCwy0dvzHA==} + '@oxfmt/binding-linux-arm64-gnu@0.55.0': + resolution: {integrity: sha512-VD0y36aENezl/3tsclA/4G53Cc7iV+7Uoh7gz4yvcOTaEYBtJpQsE6PKDGTtUtOvGS4kv51ybfXY/nWZejO5IA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxlint/binding-linux-arm64-musl@1.69.0': - resolution: {integrity: sha512-xEPpNppTfN1l/nM7gYSf9iocscu/as+p/7vxkLeLEKnYU+09Dm+5V6IhDYDh+Uz6FajEupWwCLt5SOG0y1PCKg==} + '@oxfmt/binding-linux-arm64-musl@0.55.0': + resolution: {integrity: sha512-r8xlKJFcsRmn0H5jZrdORae6RX9jDBrZVvOoxF+bCQtampQJClv80aZEHsv+NsLsp2KCE5ql79O7DpPVzYWpXA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxlint/binding-linux-ppc64-gnu@1.69.0': - resolution: {integrity: sha512-Ug0+eU7HJBlek+SjklYH62IlOMirEJsdxpihH0kSqX0XdrDD4NdHpQc10fK1JC35yn6KrrcN+uYzlHD38XAf8Q==} + '@oxfmt/binding-linux-ppc64-gnu@0.55.0': + resolution: {integrity: sha512-GRKv/HXHcwIVld/WU61rF0g0R16hl5EJ+ScKdpjevT57lnLnagj/U2YUbXf2mT+2Pg1uCzWC+mvGicPV3CDdLQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - '@oxlint/binding-linux-riscv64-gnu@1.69.0': - resolution: {integrity: sha512-iEyI3GIg0l/s3G4qy2TlaaWKdzj4PJJStwtlocpDTC00PY9hZueotf6OKUj9+yfQh0lrpBW/pLMgTztbAHKJEg==} + '@oxfmt/binding-linux-riscv64-gnu@0.55.0': + resolution: {integrity: sha512-rdv57enTiPtpSYRMKfAiEbQb0Puw5t9N7isVinDoo5qeLDScro2gznmZqSgSWbVZRzLisTeCTW8Qwgw0bOHv3A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxlint/binding-linux-riscv64-musl@1.69.0': - resolution: {integrity: sha512-NjHjpiI4WIKSMwuoJSZi5VToPeoYOS1FR52HLIDG6lidMdqquusgtODb4iLk0+lb1q3Z0nv2/aPRcC/olmpQGg==} + '@oxfmt/binding-linux-riscv64-musl@0.55.0': + resolution: {integrity: sha512-7v1nNrlD43VY6+sYQ6efYyb3lE6QY182304PD/768ZxTjOmFd/3dQa3u/nGBUAXYdGSWOQc5N3PnS0QzUXyEIA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxlint/binding-linux-s390x-gnu@1.69.0': - resolution: {integrity: sha512-Ai/prDewoItkDXbp38gwGZi41DycZbUTZJ3UidwoHgQC0/DaqC2TGdtBTQLJ6hSD+SAxASzh8+/eSBPmxfOacA==} + '@oxfmt/binding-linux-s390x-gnu@0.55.0': + resolution: {integrity: sha512-f4lJLUSPOgScjFl9LiflKCTocyNRwE25JmTMbN4XQdDjoZzEHjqf3wA3VESF1/csg7i8m7+EQLbrZyYDqe10UQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@oxlint/binding-linux-x64-gnu@1.69.0': - resolution: {integrity: sha512-Gt3KHgp46mRKz4sJeaASmKvD8ayXookRw07RMf+NowhEztGGDZ7VrXpoW96XuKJLjFukWizOFVNjmYb/u7caNQ==} + '@oxfmt/binding-linux-x64-gnu@0.55.0': + resolution: {integrity: sha512-MihqiPziJNoWy4MqNSV+jVA1g+07iQDjZiR0vaCaDoPgFEiJpCMsxamktzLV07cEeQsSJ04vQaU4CzCQwIvtDA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxlint/binding-linux-x64-musl@1.69.0': - resolution: {integrity: sha512-7tQhJ2+p/oHv1zcfnjYI7YVzC/7iBaVOfIvFYtxdJ5F45mWgEdrCyXZXZGfiLey5t/5JhOhsaMnnv1kAzckd7g==} + '@oxfmt/binding-linux-x64-musl@0.55.0': + resolution: {integrity: sha512-Yqghym7KYAVjP9MmSrNZiDeerMuoejNjo0r3ox5H3GDKk8eAfl8VyJm9i+pWCLDCTnAbcTUMMN2ZKjUYXH1v3g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxlint/binding-openharmony-arm64@1.69.0': - resolution: {integrity: sha512-vmWz6TKp/3hfA4lksR0zHBv/6xuX1jhym6eqOjdH2DXsDDHZWcp2f0KG0VCAnlVbIrjk29G4wAWMXb/Hn1YobA==} + '@oxfmt/binding-openharmony-arm64@0.55.0': + resolution: {integrity: sha512-s5SDvVVSbyQl1V5UU3Yl12M+XLUQ3rl5SglNqgAA2K4PXUtQhyNSS00wivONPEnNo5W01rCou8WkDNyvI/RGHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.69.0': - resolution: {integrity: sha512-9RExaLgmaw6IoIkU9cTpT71mLfI0xZ86iZH8x518LVsOkjquJMYqb9P7KpC8lgd1t0Dxs41p2pxynq4XR3Ttzw==} + '@oxfmt/binding-win32-arm64-msvc@0.55.0': + resolution: {integrity: sha512-7p9FB5R32tw2KyyNX3wpQrR2WHwEHvMEiBlGXxeTCaRMCVNx3UtFMAUbaQ/pRNWIrEUZmYhJ6tcUH52uPTRYjQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.69.0': - resolution: {integrity: sha512-1907kRPF8/PrcIw1E7LMs9JbVrpgnt/MvFdss3an8oDkYNAACXzTntV3t3869ZZhMZxb2AzRGbz1pA/jdFatXA==} + '@oxfmt/binding-win32-ia32-msvc@0.55.0': + resolution: {integrity: sha512-ZYqj3fDnOT1IaVGMP5kpmkQl4F3tQIm2ZyAxvqkJYmI0xgWWak4ss4XYwv3VDfM+TWXeC9K4uQ/wW5jm/5XABA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.69.0': - resolution: {integrity: sha512-w8SOXv3mT9Fi6jY8OXdXCfnvX/3KNLXGNr4HEz2TA7S4Mv/PYAOmpB8y/ge40mxvBMgGNaSaaDwZpAsQn7HtWA==} + '@oxfmt/binding-win32-x64-msvc@0.55.0': + resolution: {integrity: sha512-eEYT5tivGnGbPHuOHuQpi6CGLObhh0re/5jcNQHihD2GRYkTM85dyi5a19zjP8Q00t1uqAx+/QGLUGdHeqzWyg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@playwright/test@1.60.0': - resolution: {integrity: sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==} - engines: {node: '>=18'} - hasBin: true + '@oxlint-tsgolint/darwin-arm64@0.23.0': + resolution: {integrity: sha512-gOs9PVr2wEg4ox9z0aJo+RKhhImW86YL5N6yav8BK/rgPsIrwN/igSZ+pbRr723NFvUNKde9fgMhRA6JrXAOZw==} + cpu: [arm64] + os: [darwin] + + '@oxlint-tsgolint/darwin-x64@0.23.0': + resolution: {integrity: sha512-kjJ8B+7n4tB9VJdxS5A9GdJt6/bYpzbu4lXp2uO1S3sRmCB5gDEABlGoiePNApRWaW+xqL4b4xgiE727jSLhuA==} + cpu: [x64] + os: [darwin] + + '@oxlint-tsgolint/linux-arm64@0.23.0': + resolution: {integrity: sha512-6dCZuKNu135seMXilkRk9SpCx6i1XgmiipYGalLij5WVRX6ZYS8c4xI7preN/zv9fCXhsQclTIMDu2Y/cytTjw==} + cpu: [arm64] + os: [linux] - '@rolldown/binding-android-arm64@1.0.3': - resolution: {integrity: sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw==} + '@oxlint-tsgolint/linux-x64@0.23.0': + resolution: {integrity: sha512-3bdilnyA7kmSTjK27rvjIjSxL5SIg3wt7vwNiRkouWB83ytssyKnuGvxSYJxgMEmFpSutzaBzcCUM2jDtPGcgA==} + cpu: [x64] + os: [linux] + + '@oxlint-tsgolint/win32-arm64@0.23.0': + resolution: {integrity: sha512-j+OEp44SVYiQ+ZD+uttsX7u6L9SvmbbQ77SO1pSFCcJlsVMeCk8qZsjhKfGKuT/jIA+ipOJMVs/+pqUfObBWNw==} + cpu: [arm64] + os: [win32] + + '@oxlint-tsgolint/win32-x64@0.23.0': + resolution: {integrity: sha512-5MyjFuqf+g8OUPJBSGWHJtmoWnzFJYyOg4To9WMQshZYEWig/vtu7JtJ03VWnzHv9LJkAUeApY0gVCOywFR/iQ==} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.70.0': + resolution: {integrity: sha512-zFh0P4cswmRvw6nkyb89dr18rRanuaCPAsEXsFDoQY8WdaquI8Pt4NWFjaMJg6L23cy5NeN8J9cBnREbWzZhaw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxlint/binding-android-arm64@1.70.0': + resolution: {integrity: sha512-qI8o4HZjeGiBrWv+pJv4lH0Yi2Gl/JSp/EumBUApezJprIKa5PS4nU0lQsQngtky8k+SplQIOjv6hwu0SSxeyg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.3': - resolution: {integrity: sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA==} + '@oxlint/binding-darwin-arm64@1.70.0': + resolution: {integrity: sha512-8KjgVVHI5F9nVwHCRwwA78Ty7zNKP4Wd9OeN5PSv3iu/F/u1RVXoOCgLhWqust6HmwQG6xc8c+RCyaWENy24+w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.3': - resolution: {integrity: sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg==} + '@oxlint/binding-darwin-x64@1.70.0': + resolution: {integrity: sha512-WVydssv5PSUBXFJTdNBWlmGkbNmvPGaFt/2SUT/EZRB6bq6bEOHmMlbnupZD5jmlEvi9+mZJHi8TCw15lyfSfQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.3': - resolution: {integrity: sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g==} + '@oxlint/binding-freebsd-x64@1.70.0': + resolution: {integrity: sha512-hJucmUf8OlinHNb1R7fI4Fw6WsAstOz7i8nmkWQfiHoZXtbufNm+MxiDTIMk1ggh2Ro4vLzgQ+bKvRY54MZoRA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.3': - resolution: {integrity: sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw==} + '@oxlint/binding-linux-arm-gnueabihf@1.70.0': + resolution: {integrity: sha512-1BnS7wbCYDSXwWzJJ+mc3NURoha6m6m6RT5c6vgAY3oz7C3OVXP+S0awo2mRq97arrJkVvO3qRQfyAHL+76xtQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.70.0': + resolution: {integrity: sha512-yKy/UdbR55+M2yEcuiV5DCNC/gdQAjr/GioUy50QwBzSrKm8ueWADqyRLS9Xk+qjNeCYGg6A8FvUBds56ttfqg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.3': - resolution: {integrity: sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw==} + '@oxlint/binding-linux-arm64-gnu@1.70.0': + resolution: {integrity: sha512-0A5XJ4alvmqFUFP/4oYSyaO+qLto/HrKEWTSaegiVl+HOufFngK2BjYw9x4RbwBt/du5QG6l5q1zeWiJYYG5yg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.3': - resolution: {integrity: sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q==} + '@oxlint/binding-linux-arm64-musl@1.70.0': + resolution: {integrity: sha512-JiylyurlB0CLSedNtx1gzv3FvfWPF1h/2Y3BJszPLNt5XQFlBsH5ke0Jle3iJb3uqu5m2e7A/DwzpuCAHdiU+A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-ppc64-gnu@1.0.3': - resolution: {integrity: sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg==} + '@oxlint/binding-linux-ppc64-gnu@1.70.0': + resolution: {integrity: sha512-J8VPG7I3/HmgaU4u8pNU2kFx2+0U+vPLS1dXFxXOaR/2TQ0f8AC7DRz0SRGRI1bfphnX2hVYTTtLuhL4nYKL+Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] - '@rolldown/binding-linux-s390x-gnu@1.0.3': - resolution: {integrity: sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg==} + '@oxlint/binding-linux-riscv64-gnu@1.70.0': + resolution: {integrity: sha512-N2+4lV2KLN+oXTIIIwmWDhwkrnvqf5oX7Hw0zPjk+RuIVgiBQSOlJWF7uQoFx2siEYX0ZQ5cfSbEAHm+J3t7Wg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxlint/binding-linux-riscv64-musl@1.70.0': + resolution: {integrity: sha512-1e2L7cFCvx9QDzq6NPP+0tABKb5z6nWHyddWTNKprEsjO9xNrAtPowuCGpjNXxkTdsMiZ4jc8YQ5SstZd4XK6g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxlint/binding-linux-s390x-gnu@1.70.0': + resolution: {integrity: sha512-Kwu/l/8GcYibCWA9m9N5pRXMIKVSsL/YbgpLzYkqDhWTiqdRfnNJ/+nqIKRKQiFbHWsdlHEhzMwruJK+qcEruA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.3': - resolution: {integrity: sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg==} + '@oxlint/binding-linux-x64-gnu@1.70.0': + resolution: {integrity: sha512-tap04CsHYOl0nSAQJfPNIuBxqEPB2HnhQqwaOXLg1jnp2XfRo8Fa814dA4QC4zpvTWXCjAAaCY1W5LOORkEQuQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.3': - resolution: {integrity: sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow==} + '@oxlint/binding-linux-x64-musl@1.70.0': + resolution: {integrity: sha512-hzJa/WgvtJpbBD9rgfy0qe+MjbxOXNUT0bfR1S6EQQzfTtBFA9xg5q8KSwRrQ2QfSS+TaP4j+4mVPQrfNc6UNg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-openharmony-arm64@1.0.3': - resolution: {integrity: sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg==} + '@oxlint/binding-openharmony-arm64@1.70.0': + resolution: {integrity: sha512-xbsaNSNzVSnaJACCUYr1HQMyY/Q/Q1LkePmHG3UvZPvGCYGNxrsZp9OmtA6ick8xH47ltRRbRrPCM1YXYcyC+A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.3': - resolution: {integrity: sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg==} + '@oxlint/binding-win32-arm64-msvc@1.70.0': + resolution: {integrity: sha512-icAEsUI7JbW1TMRdEXV83mVAInhRVQYuuAlPpxdGwJ95chNdnCzjloRW8GglT0WvzOEZSio6fnYSk2DJ2Hv7LQ==} engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] + cpu: [arm64] + os: [win32] - '@rolldown/binding-win32-arm64-msvc@1.0.3': - resolution: {integrity: sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g==} + '@oxlint/binding-win32-ia32-msvc@1.70.0': + resolution: {integrity: sha512-FHMSWbVsPVs/f+Jcl04ws4JJ2wUnauyTzlpxWRG/lSO/8GpX08Fo2gQZqdA6CrRFI+zvkxl+N/KwJGWfUwYVZA==} engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] + cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.3': - resolution: {integrity: sha512-eXB7CHuaQdqmJcc3koCNtNPmT/bj2gc999kUFgBxG8Ac0NdgXc4rkCHhqrgrhN3zddvvvrgzj1e90SuSfmyIXA==} + '@oxlint/binding-win32-x64-msvc@1.70.0': + resolution: {integrity: sha512-ptOlKwCz7n4AKs5VweMqG6DAg677FmKOK+vBkkL9DMNgFATIQ+upqUYBTOEwRQyRAx1ncGlPlXleV2hIcm3z4g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.1': - resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + '@oxlint/plugins@1.68.0': + resolution: {integrity: sha512-titLmukUt/h8ho7Svlf0xSBjoy2ccZKrXjpXpZCj+v6V4CJccC2KyP45BLSCMx8YIpifMyiDyUptM4+5sruKbQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@playwright/test@1.61.0': + resolution: {integrity: sha512-cKA5B6lpFEMyMGjxF54QihfYpB4FkEGH+qZhtArDEG+wezQAJY8Pq6C7T1SjWz+FFzt3TbyoXBQYk/0292TdJA==} + engines: {node: '>=18'} + hasBin: true + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} '@rollup/pluginutils@4.2.1': resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} @@ -854,6 +882,9 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@sveltejs/acorn-typescript@1.0.10': resolution: {integrity: sha512-4WfKk68eTih+MiJD4fSbxN7E8kVBmTMPWHUPYjvl2N0rMs53YLTT8/YjKU5Dtnz5LqDjl7LEw4U7lXR2W3J5WA==} peerDependencies: @@ -878,65 +909,65 @@ packages: svelte: ^5.46.4 vite: ^8.0.0-beta.7 || ^8.0.0 - '@tailwindcss/node@4.3.0': - resolution: {integrity: sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==} + '@tailwindcss/node@4.3.1': + resolution: {integrity: sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==} - '@tailwindcss/oxide-android-arm64@4.3.0': - resolution: {integrity: sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==} + '@tailwindcss/oxide-android-arm64@4.3.1': + resolution: {integrity: sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==} engines: {node: '>= 20'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.3.0': - resolution: {integrity: sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==} + '@tailwindcss/oxide-darwin-arm64@4.3.1': + resolution: {integrity: sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==} engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.3.0': - resolution: {integrity: sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==} + '@tailwindcss/oxide-darwin-x64@4.3.1': + resolution: {integrity: sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==} engines: {node: '>= 20'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.3.0': - resolution: {integrity: sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==} + '@tailwindcss/oxide-freebsd-x64@4.3.1': + resolution: {integrity: sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==} engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': - resolution: {integrity: sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1': + resolution: {integrity: sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==} engines: {node: '>= 20'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': - resolution: {integrity: sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==} + '@tailwindcss/oxide-linux-arm64-gnu@4.3.1': + resolution: {integrity: sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': - resolution: {integrity: sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==} + '@tailwindcss/oxide-linux-arm64-musl@4.3.1': + resolution: {integrity: sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==} engines: {node: '>= 20'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': - resolution: {integrity: sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==} + '@tailwindcss/oxide-linux-x64-gnu@4.3.1': + resolution: {integrity: sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.3.0': - resolution: {integrity: sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==} + '@tailwindcss/oxide-linux-x64-musl@4.3.1': + resolution: {integrity: sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==} engines: {node: '>= 20'} cpu: [x64] os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.3.0': - resolution: {integrity: sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==} + '@tailwindcss/oxide-wasm32-wasi@4.3.1': + resolution: {integrity: sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -947,29 +978,45 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': - resolution: {integrity: sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==} + '@tailwindcss/oxide-win32-arm64-msvc@4.3.1': + resolution: {integrity: sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==} engines: {node: '>= 20'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': - resolution: {integrity: sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==} + '@tailwindcss/oxide-win32-x64-msvc@4.3.1': + resolution: {integrity: sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==} engines: {node: '>= 20'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.3.0': - resolution: {integrity: sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==} + '@tailwindcss/oxide@4.3.1': + resolution: {integrity: sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==} engines: {node: '>= 20'} - '@tailwindcss/vite@4.3.0': - resolution: {integrity: sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==} + '@tailwindcss/vite@4.3.1': + resolution: {integrity: sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==} peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@tybys/wasm-util@0.10.2': - resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} + engines: {node: '>=18'} + + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} '@types/esrecurse@4.3.1': resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} @@ -1010,88 +1057,245 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/eslint-plugin@8.61.0': - resolution: {integrity: sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==} + '@typescript-eslint/types@8.61.1': + resolution: {integrity: sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.61.0 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.61.0': - resolution: {integrity: sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-1qwEjLW1JCRkDYrS8OyWdfXoL9bNHV28kP3ouQxytZmNpghWSMKZutsxDjVVbnlsbydBdYqqZMttPuTUlm3y0A==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] - '@typescript-eslint/project-service@8.61.0': - resolution: {integrity: sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-/Z5Jx8V22RTuHSVR/QCbCT2eFq6NoYc5oLah5/yDoymZaTlmvuwuc50N6y9YXF0zAh+z4QGoyAqd561cAGSNOA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] - '@typescript-eslint/scope-manager@8.61.0': - resolution: {integrity: sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-rz7JoRJE5zaL2RoTOHLUliz6UkDqjUngJEF1/GiSR032v8k8tp8GTezxFoosaCssQSf80cjA5wYup5zrCp4zIg==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] - '@typescript-eslint/tsconfig-utils@8.61.0': - resolution: {integrity: sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/native-preview-linux-arm@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-wuqpmYeMkOvHEx+log3bi913JRacYRo7DwkABMbD5wQMEy2GCdp3461aQ5sGrRD/lL4rylZJxE5B5aQqyhkQYA==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-8zhjBFu0RuL16iFr0TlUU8RRMdmvUY+NuSSxaVeitxmvORFoy0EwIaz+ZK9+xRhfHCIcugi6mEcTqEPv48X3oQ==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-Bax5HY/6NUcbk7h+SLJIbRL8TvGRLP1mbvI9T4ah6wfYKRp3rwBlXHP3N+BEYdzOFTUlzBJLknxcjtxWd5cFPw==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-+revF2e9JCBx1rLQCX+ny8KuZ0Tl5de7+YpYd4PUNKgF5yPi9n2+TmXtci8/3yBl7QRyLWG1td28RMa/8eIynQ==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + + '@typescript/native-preview@7.0.0-dev.20260620.1': + resolution: {integrity: sha512-W5XiTTbIGZSAJUMJqynchbfcjPcoNn29U8dnd+FK+x+Mj9VT9NNTymZ0YAIf+hU2uYAxx3AGe6/U/2OF2TpQwg==} + engines: {node: '>=16.20.0'} + hasBin: true + + '@ungap/structured-clone@1.3.1': + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + + '@vitest/browser-preview@4.1.9': + resolution: {integrity: sha512-a4/OrkMDb/WUnE4OOB/4FJbK3rYVO7YykqtUgcTKG4p2a0R3XcjPVu7SLRHFBs2+NIYhv5yxp1Lz3dbdGBjIow==} peerDependencies: - typescript: '>=4.8.4 <6.1.0' + vitest: 4.1.9 - '@typescript-eslint/type-utils@8.61.0': - resolution: {integrity: sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitest/browser@4.1.9': + resolution: {integrity: sha512-j1BKtWmPcqpMhmx/L9EPLgAJpCb0zKfwoWLmqBbxaogCXHjOwHFSEoHCBfnGtx93xKQwilZ26m+UOsHqHMkRNg==} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + vitest: 4.1.9 - '@typescript-eslint/types@8.61.0': - resolution: {integrity: sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitest/expect@4.1.9': + resolution: {integrity: sha512-vl/rYsUKcBr3SnQn166+XR5ZQcgMx3DQhFWdfli/cWpLnLUmbxZvyrJZotLFUryib+LtArYMSTJ5RbQ57ZqrlA==} - '@typescript-eslint/typescript-estree@8.61.0': - resolution: {integrity: sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitest/mocker@4.1.9': + resolution: {integrity: sha512-EVkXzBjrPGM+cK8/ANWgBrkUCfJfb38/EfTSO8h7pWvKkyPkpWxvR7BkD2MyItMF62C97zAEoqdpUixwR/e+Rw==} peerDependencies: - typescript: '>=4.8.4 <6.1.0' + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true - '@typescript-eslint/utils@8.61.0': - resolution: {integrity: sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitest/pretty-format@4.1.9': + resolution: {integrity: sha512-s0iufns3iIFitdgm+YR7g1whCAaGtXz459VS9/PqyKDEEFgYIhsHOQmXgIgDuYCt7DeQmiZT0Qe2OA2p4ZPu5A==} + + '@vitest/runner@4.1.9': + resolution: {integrity: sha512-KXLMDtc7oe70+3mJfGrPUWPesswH+3sTxAMAMl8DG7I8IUQT4XW718dY5ID3vPUcmlu27CcKfY4P3h3I29SLJg==} + + '@vitest/snapshot@4.1.9': + resolution: {integrity: sha512-Jc7RKGNBo8Z28WYIm0Niej4xdSPByRf6mU58VpHQkd6Zh05rlnA+twjbK5HyeIGHxrzsc3mJgS43uM0CZKzaIA==} + + '@vitest/spy@4.1.9': + resolution: {integrity: sha512-fHpsS6mIi+PiEW+vcRVOMkX1oSaPKne3VOclSFICPcGOmfKgXPU5iAah+wcNcj2xPrCCmfq99IDGf+EojhhvhA==} + + '@vitest/utils@4.1.9': + resolution: {integrity: sha512-A51o8ymO5PpqlWNnBP9ZHPXDIpuMtTLlGSjN7la4US+LJzoUMyhwjA5QXlm39JexgwHKW4Xjs8Z2d3dLCXOeuA==} + + '@voidzero-dev/vite-plus-core@0.2.1': + resolution: {integrity: sha512-iWdtOlLezgYcDqIzxZx1yOUhY93vUB+ob+mRYBNr7/3Hf80uRyTQbqVD1WtsYaANbzeUi81SQ1ZoUraXHO+u8A==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' + '@arethetypeswrong/core': ^0.18.1 + '@tsdown/css': 0.22.3 + '@tsdown/exe': 0.22.3 + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + publint: ^0.3.8 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + typescript: ^5.0.0 || ^6.0.0 + unplugin-unused: ^0.5.0 + unrun: '*' + yaml: ^2.4.2 + peerDependenciesMeta: + '@arethetypeswrong/core': + optional: true + '@tsdown/css': + optional: true + '@tsdown/exe': + optional: true + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + publint: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + typescript: + optional: true + unplugin-unused: + optional: true + unrun: + optional: true + yaml: + optional: true - '@typescript-eslint/visitor-keys@8.61.0': - resolution: {integrity: sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@voidzero-dev/vite-plus-darwin-arm64@0.2.1': + resolution: {integrity: sha512-9AfN/5LKRks8gbTaHPiQHT0L4yboy2xB6x6vvCRWxQMWxPS6/ZJLf5kUIZeE7I1z33AEyLKKkDscsZZVMgMLgg==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [arm64] + os: [darwin] - '@ungap/structured-clone@1.3.1': - resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} + '@voidzero-dev/vite-plus-darwin-x64@0.2.1': + resolution: {integrity: sha512-Q1vyimRbf4M82qIQSWRyr7NJaH9ag5G7vVEfGVVJlQHNprI+Q8zj2Phcs/PGf6QcyjcL8UclLznQTHU9NgnKZw==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [x64] + os: [darwin] + + '@voidzero-dev/vite-plus-linux-arm64-gnu@0.2.1': + resolution: {integrity: sha512-WHW3DziqedRfhJ2upq6kC4y/pmdQWYt322DVB7+4Xb4oOa/CT9GtnSrWIiXVJ4PSO42v54+YsSTKPH2HC5RbtA==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [arm64] + os: [linux] + + '@voidzero-dev/vite-plus-linux-arm64-musl@0.2.1': + resolution: {integrity: sha512-vUY7hYycZW0qEevpl7ImzZJFnOEKRYCaCOX4TBW0vk6MJZ+zj/xW7e0LOggzJcz2wbYAgLDqp5h+b8wV9dguDA==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [arm64] + os: [linux] + + '@voidzero-dev/vite-plus-linux-x64-gnu@0.2.1': + resolution: {integrity: sha512-tFxpToEaykBGxMQHp8M/qmr1yruRRED+c9gA1h9kmplqot04OxuqzRCWu/IiIvMJ0v3JFdOP3gqkyjXLLJhxIA==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [x64] + os: [linux] + + '@voidzero-dev/vite-plus-linux-x64-musl@0.2.1': + resolution: {integrity: sha512-2scSS7wEbLO2758fqr1/bAULg7nLCFa5V8LO2b5w3g1CrTYdMTDt2WX1ghPesIi+70pYGydRbXo6iaaN43zfMg==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [x64] + os: [linux] + + '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.1': + resolution: {integrity: sha512-3+5FJYhi9SqBszjngI2LBmvoiqEwxJWyQ5UsOUtNz6/d+yDrDw+tOgHLl4OKIh5aVNZeIGXzxvP6h24kcEqIyg==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [arm64] + os: [win32] + + '@voidzero-dev/vite-plus-win32-x64-msvc@0.2.1': + resolution: {integrity: sha512-5sOEwEoU5PW7ObmJ5VCakU09Oh14rYCoLQJkFqvOph6PK30lN5iqWGk0KigEyfcd7Zv+fZg9EmcERDol/3Xl9w==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} + cpu: [x64] + os: [win32] acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.16.0: - resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + acorn@8.17.0: + resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} engines: {node: '>=0.4.0'} hasBin: true ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.1: resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} engines: {node: '>= 0.4'} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} @@ -1113,8 +1317,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.34: - resolution: {integrity: sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==} + baseline-browser-mapping@2.10.38: + resolution: {integrity: sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw==} engines: {node: '>=6.0.0'} hasBin: true @@ -1143,12 +1347,16 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - caniuse-lite@1.0.30001797: - resolution: {integrity: sha512-l8xKG+gwAIExZGl9FrF7KUwuOmk6wbEPC9Xoy/RtnWv1XG0Q4LFlagaLpUv3Kiza3W/wm27zy0yWJEieYKAP6w==} + caniuse-lite@1.0.30001799: + resolution: {integrity: sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chai@6.2.2: + resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} + engines: {node: '>=18'} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -1199,6 +1407,9 @@ packages: consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -1269,6 +1480,9 @@ packages: devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} @@ -1308,11 +1522,11 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.370: - resolution: {integrity: sha512-D5tSHJReAb/Kf3Hu9F/GO4lJuSWzEWHwvQ/kKSUP7pimNgvxkSKj+gUQhHpKKACwrin7rS3byU7IxreF56rl5g==} + electron-to-chromium@1.5.376: + resolution: {integrity: sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA==} - enhanced-resolve@5.23.0: - resolution: {integrity: sha512-yJN/BOOLxcOW2aQgeif9mSnaUB8KtvmMMp56oA1kx1CRfBKbhZm2pJ+NBY+3eOboHxix8lfjWpHE0Ei5U8RbSA==} + enhanced-resolve@5.21.6: + resolution: {integrity: sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==} engines: {node: '>=10.13.0'} entities@2.2.0: @@ -1322,6 +1536,9 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} + esbuild@0.25.12: resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} engines: {node: '>=18'} @@ -1340,17 +1557,6 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-prettier@10.1.8: - resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-oxlint@1.69.0: - resolution: {integrity: sha512-ryJT8Pqb3jgWhmQcKA/D98K6UckthAR70wPTBI4rOjcaKJ9nmQkysTLbTVVEcdzfT9mznV/2MKspBsCCpXm36w==} - peerDependencies: - oxlint: ~1.69.0 - eslint-plugin-svelte@3.19.0: resolution: {integrity: sha512-t3rNaZeXz4d2gG4uJyMEYfJCFKf22+SWbSizIIXIWKu4wM+XPLiMWuSSr/C5821JmFeN9ogK+eExbG+z+twyxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1425,6 +1631,9 @@ packages: estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -1433,6 +1642,10 @@ packages: resolution: {integrity: sha512-lW6is4T1NFOYnmqGZIfvixqj7A7sSvScF+DN8EK6K58xI5MZ5UvYe0GjopxOXQtZvUn4eDdVuZ8XSoYWTMEKwA==} engines: {node: '>=20'} + expect-type@1.3.0: + resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==} + engines: {node: '>=12.0.0'} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1528,10 +1741,6 @@ packages: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globals@17.6.0: - resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} - engines: {node: '>=18'} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1562,10 +1771,6 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} - import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} @@ -1600,6 +1805,9 @@ packages: resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1609,9 +1817,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsonfile@6.2.1: resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} @@ -1627,60 +1832,6 @@ packages: known-css-properties@0.37.0: resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==} - lefthook-darwin-arm64@2.1.9: - resolution: {integrity: sha512-119HryNcvr4nqn0wUIrNPgpMEPn9yMQzEcW/lezRsnb56PCJriJB92+MCySPVcWDxJnZef7o0T3jdnPNiSH7Qg==} - cpu: [arm64] - os: [darwin] - - lefthook-darwin-x64@2.1.9: - resolution: {integrity: sha512-dwo5Tke2XcQCM56DGHgFKBfRbJIL6xs2wZ0zG1TUVZgl4t4mQUt6LiZ4V/ZQfYHTZF9qywvXoIlR5N35qOaiVQ==} - cpu: [x64] - os: [darwin] - - lefthook-freebsd-arm64@2.1.9: - resolution: {integrity: sha512-+09PVap6nl6xsaHch5JLtq7WvIR++U1Q2MzA2ai0M4uB/VP3AqrvKqHw6+9hjyKnIH+HHL83uqi77EAY+LaxLA==} - cpu: [arm64] - os: [freebsd] - - lefthook-freebsd-x64@2.1.9: - resolution: {integrity: sha512-8XresjKIYpkE9ARgCtBEZgJZxAU3T4MIqzj4zNy15XRT59I1Us+QdqXTNm+pkZ41Yd2X/nxs2Pkvbq3NWWlIGw==} - cpu: [x64] - os: [freebsd] - - lefthook-linux-arm64@2.1.9: - resolution: {integrity: sha512-1oNIQfwrPe6rgU2KcDM3aF6+hpZDCKx1TmawQKpXUY5gVsbZ7MqX0Sk/1lnnWxqPm+kQQ5f6J2dpFWd+4xH8jg==} - cpu: [arm64] - os: [linux] - - lefthook-linux-x64@2.1.9: - resolution: {integrity: sha512-fT+7Q+BJyGp+CslFQkNXmdFRgyVXsPHPi9NAsDX0a6QOyNnoORByAsvx6zeAKuF5rL3BBgNfho1/v2RuGxGy9w==} - cpu: [x64] - os: [linux] - - lefthook-openbsd-arm64@2.1.9: - resolution: {integrity: sha512-4bVuafBk3dddVNo0+3hMbjcJs4mqYAstxpPMmX2ufkudSTYFNIhWoqwuGVQV/SS/xdcOKJAldW4qayAzed2ysw==} - cpu: [arm64] - os: [openbsd] - - lefthook-openbsd-x64@2.1.9: - resolution: {integrity: sha512-PmPoMmLP/wQQWcQ9u2YH86bTZ3UCfBsxuEmVTEyPU2U8R1qSTp5r/Gs3G8cN5Mxo91XB9oBERtF1n+xD3W6aVA==} - cpu: [x64] - os: [openbsd] - - lefthook-windows-arm64@2.1.9: - resolution: {integrity: sha512-KphfkBKmwBnmolyrdhIl3lrBaOyTcCgXBT2AB/9OHnEXhOLvv5uTCUkrD4YRAxXPtFKq6UvnapIeoL3GZq0bdA==} - cpu: [arm64] - os: [win32] - - lefthook-windows-x64@2.1.9: - resolution: {integrity: sha512-2qlUtkJHZ3MyUxgV5XTEmcrIoNZA07iwaquoswAcqv/1MeBFXlD+O+koFRfrzWng2O5WYEbpJnd8tvaYnV8fTA==} - cpu: [x64] - os: [win32] - - lefthook@2.1.9: - resolution: {integrity: sha512-bwDaIOViTktE8kJLf9jP0p+H2/RDTlFFlc43Am2YgUsX22hI6Sq4RbzsrecwzY5y+MHTipOH7WsmWSEniePHWQ==} - hasBin: true - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1845,11 +1996,15 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + nanoid@3.3.14: + resolution: {integrity: sha512-U9kYi5bpVMEI31yC8iw4bJJp0avcHXA0W8/wNfLfnvJYzihQo2ZRPYPvpAAd570HAcCBjCTN7vnr+v4StKl1IQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -1862,15 +2017,15 @@ packages: node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} - node-releases@2.0.47: - resolution: {integrity: sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==} + node-releases@2.0.48: + resolution: {integrity: sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA==} engines: {node: '>=18'} nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - obug@2.1.2: - resolution: {integrity: sha512-AWGB9WFcRXOQs48Z/udjI5ZcZMHXwX8XPByNpOydgcGsDLIzjGizhoMWJyKAWze7AVW/2W1i+/gPX4YtKe5cyg==} + obug@2.1.3: + resolution: {integrity: sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==} engines: {node: '>=12.20.0'} oniguruma-parser@0.12.2: @@ -1883,8 +2038,25 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - oxlint@1.69.0: - resolution: {integrity: sha512-ypZkK/aDc5NQV8zIR6s2H2Tl3aNW8FmJ1m9+2qsaYuRenl8vgnHNCGwTHviWJdUQzglOlHFchgopdtGhSy17Rw==} + oxfmt@0.55.0: + resolution: {integrity: sha512-jSj2wCTakwgPMxkfiVZX0jf+nX+Nz6xlyAZjqNE0qXTFdCBPYlP6JAN+ODjmealw7DXBjOzYbdsqwBMAZnPZ6A==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + svelte: ^5.0.0 + vite-plus: '*' + peerDependenciesMeta: + svelte: + optional: true + vite-plus: + optional: true + + oxlint-tsgolint@0.23.0: + resolution: {integrity: sha512-3mBv3CoPbh8dFbzfDGIWa2ytZjn2v+3EX4aKRXjIhsoGFzG8GCjfRirz3rwZf1wYbZzsNLTSgpw8VjQuWdp/jA==} + hasBin: true + + oxlint@1.70.0: + resolution: {integrity: sha512-D6JgHtzkhRwvEC+A0Nw5AEc5bk8x5i1pHzvZIEf/a0C4hOzmAACNGtkDGPyFaxxX3ZVGxCPeig3P3rMM8XU3/g==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1958,16 +2130,20 @@ packages: resolution: {integrity: sha512-C9R+PTCKGA32HG0n5I4JMYkdLL58ZpayVuncQHQrGeKa8o26A4o2x0u6BKekHG+Au0jv5ZW7Xfq1Cj6lm9Ag4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - playwright-core@1.60.0: - resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==} + playwright-core@1.61.0: + resolution: {integrity: sha512-caX7TrY3Ml6egyDX0WUcTHDxodl/b51y5wJOdCEA36QviK/s2g081hvmGs8eaE3DWb6NYZQ6BjO/QkNRPenoPA==} engines: {node: '>=18'} hasBin: true - playwright@1.60.0: - resolution: {integrity: sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==} + playwright@1.61.0: + resolution: {integrity: sha512-Z+7BeeqQPRRzklHsVFP4KTGIyMxKUmfeRA4WisM6G3/XW6nwGeX6fX9qYaDa+CiUqpOkb2f6X3nar05R3kSuJQ==} engines: {node: '>=18'} hasBin: true + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} + postcss-load-config@3.1.4: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} @@ -1992,8 +2168,8 @@ packages: peerDependencies: postcss: ^8.4.29 - postcss-selector-parser@7.1.2: - resolution: {integrity: sha512-Wjvt4scRFouioIInHf51IFNP4ltJ2EngJM+cZPGiqbKetBfmP3vpdPV8ID2S6JS6/jdo74N8+aEYH9lQr2C6sA==} + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} engines: {node: '>=4'} postcss-value-parser@4.2.0: @@ -2007,18 +2183,15 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@4.1.0: - resolution: {integrity: sha512-YZkhA2Q9oOerFFG9tq+2f98WYT7Z2JgrybJrAyrB78jpsH9i/DdgplXemehuFPgsldetFNCcR/yCcYlDjPy94Q==} - engines: {node: '>=20'} - peerDependencies: - prettier: ^3.0.0 - svelte: ^5.0.0 - - prettier@3.8.3: - resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} + prettier@3.8.4: + resolution: {integrity: sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==} engines: {node: '>=14'} hasBin: true + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + property-information@7.2.0: resolution: {integrity: sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==} @@ -2033,6 +2206,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -2061,11 +2237,6 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rolldown@1.0.3: - resolution: {integrity: sha512-i00lAJ2ks1BYr7rjNjKC7BcqAS7nVfiT3QX1SI5aY+AFHblCmaUf9OE9dbdzDvW6dJxbi2ZCZiy9v3CcwOiX3g==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -2089,8 +2260,8 @@ packages: resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} engines: {node: '>=11.0.0'} - semver@7.8.3: - resolution: {integrity: sha512-wnilbGyMxzbY7dNOl7jpKbLSjcfeweJWU5j4+u5qW+6/wuGD9KzIGOyZnQVSBM9E7DtWaaH3CyHkppYrKYoxwg==} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true @@ -2106,6 +2277,13 @@ packages: resolution: {integrity: sha512-hjNax6o/ylDy9lefQEaSDtzaT3iVNtZ3WmpQnbuQNoG4xvnSKf2kSKbihZVO4JRG1TTMejs7CmNRYlWgAL66pQ==} engines: {node: '>=20'} + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -2120,11 +2298,17 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + std-env@4.1.0: + resolution: {integrity: sha512-Rq7ybcX2RuC55r9oaPVEW7/xu3tj8u4GeBYHBWCychFtzMIr86A7e3PPEBPT37sHStKX3+TiX/Fr/ACmJLVlLQ==} + stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - sv-router@0.16.3: - resolution: {integrity: sha512-nne8keA2GKZRdRE8r7HFx7wcR2ruqVPf/RZ9De5webNgaDbfKHEeh5qpAe0Hg0cczXnZh/qcgRsSNDphbVd0Gw==} + sv-router@0.17.0: + resolution: {integrity: sha512-vny+g+yVhb2fUi9+hD3JwrzCM45iXXK3BAYwxRr0Uqw1gGcPXuUjkpeoisdZt9/D/lwiJ6UaKSGhKMeIy5a1QA==} hasBin: true peerDependencies: svelte: ^5 @@ -2155,8 +2339,8 @@ packages: engines: {node: '>=16'} hasBin: true - tailwindcss@4.3.0: - resolution: {integrity: sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==} + tailwindcss@4.3.1: + resolution: {integrity: sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==} tapable@2.3.3: resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} @@ -2167,6 +2351,9 @@ packages: engines: {node: '>=10'} hasBin: true + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinyexec@1.2.4: resolution: {integrity: sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==} engines: {node: '>=18'} @@ -2175,19 +2362,25 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} + tinypool@2.1.0: + resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==} + engines: {node: ^20.0.0 || >=22.0.0} + + tinyrainbow@3.1.0: + resolution: {integrity: sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==} + engines: {node: '>=14.0.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - ts-api-utils@2.5.0: - resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2200,13 +2393,6 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - typescript-eslint@8.61.0: - resolution: {integrity: sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - typescript@6.0.3: resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} @@ -2260,55 +2446,66 @@ packages: peerDependencies: vite: '>=2.0.0' - vite@8.0.16: - resolution: {integrity: sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw==} - engines: {node: ^20.19.0 || >=22.12.0} + vite-plus@0.2.1: + resolution: {integrity: sha512-q5q/Y38UkWFsNg1JO+RyRdPUqoewaSqIlMyK2p83GKNUvf4D38Ntb3PToRTDZbTRh7mWt+B+d0DQBv4nCDpMcQ==} + engines: {node: ^20.19.0 || ^22.18.0 || >=24.11.0} hasBin: true peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.18 - esbuild: ^0.27.0 || ^0.28.0 - jiti: '>=1.21.0' - less: ^4.0.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 + '@vitest/browser-playwright': 4.1.9 + '@vitest/browser-webdriverio': 4.1.9 peerDependenciesMeta: - '@types/node': + '@vitest/browser-playwright': optional: true - '@vitejs/devtools': + '@vitest/browser-webdriverio': optional: true - esbuild: + + vitefu@1.1.3: + resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + vite: optional: true - jiti: + + vitest@4.1.9: + resolution: {integrity: sha512-nE3/LEyc0z87uHYLZebqCUOaJr2hdtuPp7BQ4BosVFnfltxgAvMG08NyrSGlPpOUWvR27c5flSmYFTNr78L9GQ==} + engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 4.1.9 + '@vitest/browser-preview': 4.1.9 + '@vitest/browser-webdriverio': 4.1.9 + '@vitest/coverage-istanbul': 4.1.9 + '@vitest/coverage-v8': 4.1.9 + '@vitest/ui': 4.1.9 + happy-dom: '*' + jsdom: '*' + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - less: + '@opentelemetry/api': optional: true - sass: + '@types/node': optional: true - sass-embedded: + '@vitest/browser-playwright': optional: true - stylus: + '@vitest/browser-preview': optional: true - sugarss: + '@vitest/browser-webdriverio': optional: true - terser: + '@vitest/coverage-istanbul': optional: true - tsx: + '@vitest/coverage-v8': + optional: true + '@vitest/ui': optional: true - yaml: + happy-dom: optional: true - - vitefu@1.1.3: - resolution: {integrity: sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - vite: + jsdom: optional: true which@2.0.2: @@ -2316,10 +2513,27 @@ packages: engines: {node: '>= 8'} hasBin: true + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + yaml@1.10.3: resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} engines: {node: '>= 6'} @@ -2350,25 +2564,21 @@ snapshots: package-manager-detector: 1.6.0 tinyexec: 1.2.4 - '@cyberalien/svg-utils@1.2.15': + '@babel/code-frame@7.29.7': dependencies: - '@iconify/types': 2.0.0 + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true + '@babel/helper-validator-identifier@7.29.7': {} - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true + '@babel/runtime@7.29.7': {} + + '@blazediff/core@1.9.1': {} - '@emnapi/wasi-threads@1.2.1': + '@cyberalien/svg-utils@1.2.15': dependencies: - tslib: 2.8.1 - optional: true + '@iconify/types': 2.0.0 '@esbuild/aix-ppc64@0.25.12': optional: true @@ -2533,12 +2743,6 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint/compat@2.1.0(eslint@10.4.1(jiti@2.7.0))': - dependencies: - '@eslint/core': 1.2.1 - optionalDependencies: - eslint: 10.4.1(jiti@2.7.0) - '@eslint/config-array@0.23.5': dependencies: '@eslint/object-schema': 3.0.5 @@ -2555,10 +2759,6 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.4.1(jiti@2.7.0))': - optionalDependencies: - eslint: 10.4.1(jiti@2.7.0) - '@eslint/object-schema@3.0.5': {} '@eslint/plugin-kit@0.7.2': @@ -2586,17 +2786,17 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify/json@2.2.484': + '@iconify/json@2.2.488': dependencies: '@iconify/types': 2.0.0 pathe: 2.0.3 - '@iconify/tailwind4@1.2.3(tailwindcss@4.3.0)': + '@iconify/tailwind4@1.2.3(tailwindcss@4.3.1)': dependencies: '@iconify/tools': 5.0.12 '@iconify/types': 2.0.0 '@iconify/utils': 3.1.3 - tailwindcss: 4.3.0 + tailwindcss: 4.3.1 '@iconify/tools@5.0.12': dependencies: @@ -2640,13 +2840,6 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@napi-rs/wasm-runtime@1.1.4(@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.2 - optional: true - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2659,119 +2852,149 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@oxc-project/types@0.133.0': {} + '@oxc-project/runtime@0.136.0': {} + + '@oxc-project/types@0.136.0': {} - '@oxlint/binding-android-arm-eabi@1.69.0': + '@oxfmt/binding-android-arm-eabi@0.55.0': optional: true - '@oxlint/binding-android-arm64@1.69.0': + '@oxfmt/binding-android-arm64@0.55.0': optional: true - '@oxlint/binding-darwin-arm64@1.69.0': + '@oxfmt/binding-darwin-arm64@0.55.0': optional: true - '@oxlint/binding-darwin-x64@1.69.0': + '@oxfmt/binding-darwin-x64@0.55.0': optional: true - '@oxlint/binding-freebsd-x64@1.69.0': + '@oxfmt/binding-freebsd-x64@0.55.0': optional: true - '@oxlint/binding-linux-arm-gnueabihf@1.69.0': + '@oxfmt/binding-linux-arm-gnueabihf@0.55.0': optional: true - '@oxlint/binding-linux-arm-musleabihf@1.69.0': + '@oxfmt/binding-linux-arm-musleabihf@0.55.0': optional: true - '@oxlint/binding-linux-arm64-gnu@1.69.0': + '@oxfmt/binding-linux-arm64-gnu@0.55.0': optional: true - '@oxlint/binding-linux-arm64-musl@1.69.0': + '@oxfmt/binding-linux-arm64-musl@0.55.0': optional: true - '@oxlint/binding-linux-ppc64-gnu@1.69.0': + '@oxfmt/binding-linux-ppc64-gnu@0.55.0': optional: true - '@oxlint/binding-linux-riscv64-gnu@1.69.0': + '@oxfmt/binding-linux-riscv64-gnu@0.55.0': optional: true - '@oxlint/binding-linux-riscv64-musl@1.69.0': + '@oxfmt/binding-linux-riscv64-musl@0.55.0': optional: true - '@oxlint/binding-linux-s390x-gnu@1.69.0': + '@oxfmt/binding-linux-s390x-gnu@0.55.0': optional: true - '@oxlint/binding-linux-x64-gnu@1.69.0': + '@oxfmt/binding-linux-x64-gnu@0.55.0': optional: true - '@oxlint/binding-linux-x64-musl@1.69.0': + '@oxfmt/binding-linux-x64-musl@0.55.0': optional: true - '@oxlint/binding-openharmony-arm64@1.69.0': + '@oxfmt/binding-openharmony-arm64@0.55.0': optional: true - '@oxlint/binding-win32-arm64-msvc@1.69.0': + '@oxfmt/binding-win32-arm64-msvc@0.55.0': optional: true - '@oxlint/binding-win32-ia32-msvc@1.69.0': + '@oxfmt/binding-win32-ia32-msvc@0.55.0': optional: true - '@oxlint/binding-win32-x64-msvc@1.69.0': + '@oxfmt/binding-win32-x64-msvc@0.55.0': optional: true - '@playwright/test@1.60.0': - dependencies: - playwright: 1.60.0 + '@oxlint-tsgolint/darwin-arm64@0.23.0': + optional: true - '@rolldown/binding-android-arm64@1.0.3': + '@oxlint-tsgolint/darwin-x64@0.23.0': optional: true - '@rolldown/binding-darwin-arm64@1.0.3': + '@oxlint-tsgolint/linux-arm64@0.23.0': optional: true - '@rolldown/binding-darwin-x64@1.0.3': + '@oxlint-tsgolint/linux-x64@0.23.0': optional: true - '@rolldown/binding-freebsd-x64@1.0.3': + '@oxlint-tsgolint/win32-arm64@0.23.0': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.3': + '@oxlint-tsgolint/win32-x64@0.23.0': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.3': + '@oxlint/binding-android-arm-eabi@1.70.0': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.3': + '@oxlint/binding-android-arm64@1.70.0': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.3': + '@oxlint/binding-darwin-arm64@1.70.0': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.3': + '@oxlint/binding-darwin-x64@1.70.0': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.3': + '@oxlint/binding-freebsd-x64@1.70.0': optional: true - '@rolldown/binding-linux-x64-musl@1.0.3': + '@oxlint/binding-linux-arm-gnueabihf@1.70.0': optional: true - '@rolldown/binding-openharmony-arm64@1.0.3': + '@oxlint/binding-linux-arm-musleabihf@1.70.0': optional: true - '@rolldown/binding-wasm32-wasi@1.0.3': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@oxlint/binding-linux-arm64-gnu@1.70.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.70.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.70.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.70.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.70.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.70.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.70.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.70.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.70.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.70.0': optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.3': + '@oxlint/binding-win32-ia32-msvc@1.70.0': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.3': + '@oxlint/binding-win32-x64-msvc@1.70.0': optional: true - '@rolldown/pluginutils@1.0.1': {} + '@oxlint/plugins@1.68.0': {} + + '@playwright/test@1.61.0': + dependencies: + playwright: 1.61.0 + + '@polka/url@1.0.0-next.29': {} '@rollup/pluginutils@4.2.1': dependencies: @@ -2823,100 +3046,121 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@sveltejs/acorn-typescript@1.0.10(acorn@8.16.0)': + '@standard-schema/spec@1.1.0': {} + + '@sveltejs/acorn-typescript@1.0.10(acorn@8.17.0)': dependencies: - acorn: 8.16.0 + acorn: 8.17.0 '@sveltejs/load-config@0.1.1': {} - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)))(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@7.1.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1)))(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 7.1.2(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)) - obug: 2.1.2 - svelte: 5.56.3(@typescript-eslint/types@8.61.0) - vite: 8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1) + '@sveltejs/vite-plugin-svelte': 7.1.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1)) + obug: 2.1.3 + svelte: 5.56.3(@typescript-eslint/types@8.61.1) + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' - '@sveltejs/vite-plugin-svelte@7.1.2(svelte@5.56.3(@typescript-eslint/types@8.61.0))(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1))': + '@sveltejs/vite-plugin-svelte@7.1.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(svelte@5.56.3(@typescript-eslint/types@8.61.1))': dependencies: deepmerge: 4.3.1 magic-string: 0.30.21 - obug: 2.1.2 - svelte: 5.56.3(@typescript-eslint/types@8.61.0) - vite: 8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1) - vitefu: 1.1.3(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)) + obug: 2.1.3 + svelte: 5.56.3(@typescript-eslint/types@8.61.1) + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' + vitefu: 1.1.3(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) - '@tailwindcss/node@4.3.0': + '@tailwindcss/node@4.3.1': dependencies: '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.23.0 + enhanced-resolve: 5.21.6 jiti: 2.7.0 lightningcss: 1.32.0 magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.3.0 + tailwindcss: 4.3.1 - '@tailwindcss/oxide-android-arm64@4.3.0': + '@tailwindcss/oxide-android-arm64@4.3.1': optional: true - '@tailwindcss/oxide-darwin-arm64@4.3.0': + '@tailwindcss/oxide-darwin-arm64@4.3.1': optional: true - '@tailwindcss/oxide-darwin-x64@4.3.0': + '@tailwindcss/oxide-darwin-x64@4.3.1': optional: true - '@tailwindcss/oxide-freebsd-x64@4.3.0': + '@tailwindcss/oxide-freebsd-x64@4.3.1': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.0': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.3.0': + '@tailwindcss/oxide-linux-arm64-gnu@4.3.1': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.3.0': + '@tailwindcss/oxide-linux-arm64-musl@4.3.1': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.3.0': + '@tailwindcss/oxide-linux-x64-gnu@4.3.1': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.3.0': + '@tailwindcss/oxide-linux-x64-musl@4.3.1': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.3.0': + '@tailwindcss/oxide-wasm32-wasi@4.3.1': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.3.0': + '@tailwindcss/oxide-win32-arm64-msvc@4.3.1': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.3.0': + '@tailwindcss/oxide-win32-x64-msvc@4.3.1': optional: true - '@tailwindcss/oxide@4.3.0': + '@tailwindcss/oxide@4.3.1': optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-arm64': 4.3.0 - '@tailwindcss/oxide-darwin-x64': 4.3.0 - '@tailwindcss/oxide-freebsd-x64': 4.3.0 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.0 - '@tailwindcss/oxide-linux-arm64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-arm64-musl': 4.3.0 - '@tailwindcss/oxide-linux-x64-gnu': 4.3.0 - '@tailwindcss/oxide-linux-x64-musl': 4.3.0 - '@tailwindcss/oxide-wasm32-wasi': 4.3.0 - '@tailwindcss/oxide-win32-arm64-msvc': 4.3.0 - '@tailwindcss/oxide-win32-x64-msvc': 4.3.0 - - '@tailwindcss/vite@4.3.0(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1))': - dependencies: - '@tailwindcss/node': 4.3.0 - '@tailwindcss/oxide': 4.3.0 - tailwindcss: 4.3.0 - vite: 8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1) - - '@tybys/wasm-util@0.10.2': + '@tailwindcss/oxide-android-arm64': 4.3.1 + '@tailwindcss/oxide-darwin-arm64': 4.3.1 + '@tailwindcss/oxide-darwin-x64': 4.3.1 + '@tailwindcss/oxide-freebsd-x64': 4.3.1 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.3.1 + '@tailwindcss/oxide-linux-arm64-gnu': 4.3.1 + '@tailwindcss/oxide-linux-arm64-musl': 4.3.1 + '@tailwindcss/oxide-linux-x64-gnu': 4.3.1 + '@tailwindcss/oxide-linux-x64-musl': 4.3.1 + '@tailwindcss/oxide-wasm32-wasi': 4.3.1 + '@tailwindcss/oxide-win32-arm64-msvc': 4.3.1 + '@tailwindcss/oxide-win32-x64-msvc': 4.3.1 + + '@tailwindcss/vite@4.3.1(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))': + dependencies: + '@tailwindcss/node': 4.3.1 + '@tailwindcss/oxide': 4.3.1 + tailwindcss: 4.3.1 + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' + + '@testing-library/dom@10.4.1': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/runtime': 7.29.7 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + picocolors: 1.1.1 + pretty-format: 27.5.1 + + '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.1)': dependencies: - tslib: 2.8.1 - optional: true + '@testing-library/dom': 10.4.1 + + '@types/aria-query@5.0.4': {} + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/deep-eql@4.0.2': {} '@types/esrecurse@4.3.1': {} @@ -2954,104 +3198,157 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/eslint-plugin@8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/types@8.61.1': + optional: true + + '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview-darwin-x64@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview-linux-arm64@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview-linux-arm@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview-linux-x64@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview-win32-arm64@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview-win32-x64@7.0.0-dev.20260620.1': + optional: true + + '@typescript/native-preview@7.0.0-dev.20260620.1': + optionalDependencies: + '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260620.1 + '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260620.1 + '@typescript/native-preview-linux-arm': 7.0.0-dev.20260620.1 + '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260620.1 + '@typescript/native-preview-linux-x64': 7.0.0-dev.20260620.1 + '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260620.1 + '@typescript/native-preview-win32-x64': 7.0.0-dev.20260620.1 + + '@ungap/structured-clone@1.3.1': {} + + '@vitest/browser-preview@4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(vitest@4.1.9)': dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.61.0 - '@typescript-eslint/type-utils': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.61.0 - eslint: 10.4.1(jiti@2.7.0) - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 + '@testing-library/dom': 10.4.1 + '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1) + '@vitest/browser': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(vitest@4.1.9) + vitest: 4.1.9(@types/node@24.5.2)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) transitivePeerDependencies: - - supports-color + - bufferutil + - msw + - utf-8-validate + - vite - '@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': + '@vitest/browser@4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(vitest@4.1.9)': dependencies: - '@typescript-eslint/scope-manager': 8.61.0 - '@typescript-eslint/types': 8.61.0 - '@typescript-eslint/typescript-estree': 8.61.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.61.0 - debug: 4.4.3 - eslint: 10.4.1(jiti@2.7.0) - typescript: 6.0.3 + '@blazediff/core': 1.9.1 + '@vitest/mocker': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + '@vitest/utils': 4.1.9 + magic-string: 0.30.21 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.1.0 + vitest: 4.1.9(@types/node@24.5.2)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + ws: 8.21.0 transitivePeerDependencies: - - supports-color + - bufferutil + - msw + - utf-8-validate + - vite - '@typescript-eslint/project-service@8.61.0(typescript@6.0.3)': + '@vitest/expect@4.1.9': dependencies: - '@typescript-eslint/tsconfig-utils': 8.61.0(typescript@6.0.3) - '@typescript-eslint/types': 8.61.0 - debug: 4.4.3 - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color + '@standard-schema/spec': 1.1.0 + '@types/chai': 5.2.3 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + chai: 6.2.2 + tinyrainbow: 3.1.0 + + '@vitest/mocker@4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))': + dependencies: + '@vitest/spy': 4.1.9 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' - '@typescript-eslint/scope-manager@8.61.0': + '@vitest/pretty-format@4.1.9': dependencies: - '@typescript-eslint/types': 8.61.0 - '@typescript-eslint/visitor-keys': 8.61.0 + tinyrainbow: 3.1.0 - '@typescript-eslint/tsconfig-utils@8.61.0(typescript@6.0.3)': + '@vitest/runner@4.1.9': dependencies: - typescript: 6.0.3 + '@vitest/utils': 4.1.9 + pathe: 2.0.3 - '@typescript-eslint/type-utils@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': + '@vitest/snapshot@4.1.9': dependencies: - '@typescript-eslint/types': 8.61.0 - '@typescript-eslint/typescript-estree': 8.61.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - debug: 4.4.3 - eslint: 10.4.1(jiti@2.7.0) - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color + '@vitest/pretty-format': 4.1.9 + '@vitest/utils': 4.1.9 + magic-string: 0.30.21 + pathe: 2.0.3 - '@typescript-eslint/types@8.61.0': {} + '@vitest/spy@4.1.9': {} - '@typescript-eslint/typescript-estree@8.61.0(typescript@6.0.3)': + '@vitest/utils@4.1.9': dependencies: - '@typescript-eslint/project-service': 8.61.0(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.61.0(typescript@6.0.3) - '@typescript-eslint/types': 8.61.0 - '@typescript-eslint/visitor-keys': 8.61.0 - debug: 4.4.3 - minimatch: 10.2.5 - semver: 7.8.3 - tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color + '@vitest/pretty-format': 4.1.9 + convert-source-map: 2.0.0 + tinyrainbow: 3.1.0 - '@typescript-eslint/utils@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)': + '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)': dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.61.0 - '@typescript-eslint/types': 8.61.0 - '@typescript-eslint/typescript-estree': 8.61.0(typescript@6.0.3) - eslint: 10.4.1(jiti@2.7.0) + '@oxc-project/runtime': 0.136.0 + '@oxc-project/types': 0.136.0 + lightningcss: 1.32.0 + postcss: 8.5.15 + optionalDependencies: + '@types/node': 24.5.2 + esbuild: 0.27.2 + fsevents: 2.3.3 + jiti: 2.7.0 + terser: 5.48.0 + tsx: 4.19.3 typescript: 6.0.3 - transitivePeerDependencies: - - supports-color + yaml: 2.8.1 - '@typescript-eslint/visitor-keys@8.61.0': - dependencies: - '@typescript-eslint/types': 8.61.0 - eslint-visitor-keys: 5.0.1 + '@voidzero-dev/vite-plus-darwin-arm64@0.2.1': + optional: true - '@ungap/structured-clone@1.3.1': {} + '@voidzero-dev/vite-plus-darwin-x64@0.2.1': + optional: true + + '@voidzero-dev/vite-plus-linux-arm64-gnu@0.2.1': + optional: true + + '@voidzero-dev/vite-plus-linux-arm64-musl@0.2.1': + optional: true + + '@voidzero-dev/vite-plus-linux-x64-gnu@0.2.1': + optional: true + + '@voidzero-dev/vite-plus-linux-x64-musl@0.2.1': + optional: true + + '@voidzero-dev/vite-plus-win32-arm64-msvc@0.2.1': + optional: true + + '@voidzero-dev/vite-plus-win32-x64-msvc@0.2.1': + optional: true - acorn-jsx@5.3.2(acorn@8.16.0): + acorn-jsx@5.3.2(acorn@8.17.0): dependencies: - acorn: 8.16.0 + acorn: 8.17.0 - acorn@8.16.0: {} + acorn@8.17.0: {} ajv@6.15.0: dependencies: @@ -3060,16 +3357,26 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-regex@5.0.1: {} + + ansi-styles@5.2.0: {} + argparse@2.0.1: {} + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + aria-query@5.3.1: {} + assertion-error@2.0.1: {} + async@3.2.6: {} autoprefixer@10.5.0(postcss@8.5.15): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001797 + caniuse-lite: 1.0.30001799 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.15 @@ -3081,7 +3388,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.34: {} + baseline-browser-mapping@2.10.38: {} boolbase@1.0.0: {} @@ -3099,10 +3406,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.34 - caniuse-lite: 1.0.30001797 - electron-to-chromium: 1.5.370 - node-releases: 2.0.47 + baseline-browser-mapping: 2.10.38 + caniuse-lite: 1.0.30001799 + electron-to-chromium: 1.5.376 + node-releases: 2.0.48 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -3112,10 +3419,12 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.1 - caniuse-lite@1.0.30001797: {} + caniuse-lite@1.0.30001799: {} ccount@2.0.1: {} + chai@6.2.2: {} + character-entities-html4@2.1.0: {} character-entities-legacy@3.0.0: {} @@ -3150,6 +3459,8 @@ snapshots: consola@2.15.3: {} + convert-source-map@2.0.0: {} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -3212,6 +3523,8 @@ snapshots: dependencies: dequal: 2.0.3 + dom-accessibility-api@0.5.16: {} + dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 @@ -3259,9 +3572,9 @@ snapshots: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.370: {} + electron-to-chromium@1.5.376: {} - enhanced-resolve@5.23.0: + enhanced-resolve@5.21.6: dependencies: graceful-fs: 4.2.11 tapable: 2.3.3 @@ -3270,6 +3583,8 @@ snapshots: entities@4.5.0: {} + es-module-lexer@2.1.0: {} + esbuild@0.25.12: optionalDependencies: '@esbuild/aix-ppc64': 0.25.12 @@ -3334,16 +3649,7 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.4.1(jiti@2.7.0)): - dependencies: - eslint: 10.4.1(jiti@2.7.0) - - eslint-plugin-oxlint@1.69.0(oxlint@1.69.0): - dependencies: - jsonc-parser: 3.3.1 - oxlint: 1.69.0 - - eslint-plugin-svelte@3.19.0(eslint@10.4.1(jiti@2.7.0))(svelte@5.56.3(@typescript-eslint/types@8.61.0)): + eslint-plugin-svelte@3.19.0(eslint@10.4.1(jiti@2.7.0))(svelte@5.56.3(@typescript-eslint/types@8.61.1)): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.1(jiti@2.7.0)) '@jridgewell/sourcemap-codec': 1.5.5 @@ -3354,10 +3660,10 @@ snapshots: postcss: 8.5.15 postcss-load-config: 3.1.4(postcss@8.5.15) postcss-safe-parser: 7.0.1(postcss@8.5.15) - semver: 7.8.3 - svelte-eslint-parser: 1.8.0(svelte@5.56.3(@typescript-eslint/types@8.61.0)) + semver: 7.8.5 + svelte-eslint-parser: 1.8.0(svelte@5.56.3(@typescript-eslint/types@8.61.1)) optionalDependencies: - svelte: 5.56.3(@typescript-eslint/types@8.61.0) + svelte: 5.56.3(@typescript-eslint/types@8.61.1) transitivePeerDependencies: - ts-node @@ -3420,25 +3726,25 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) eslint-visitor-keys: 4.2.1 espree@11.2.0: dependencies: - acorn: 8.16.0 - acorn-jsx: 5.3.2(acorn@8.16.0) + acorn: 8.17.0 + acorn-jsx: 5.3.2(acorn@8.17.0) eslint-visitor-keys: 5.0.1 esquery@1.7.0: dependencies: estraverse: 5.3.0 - esrap@2.2.11(@typescript-eslint/types@8.61.0): + esrap@2.2.11(@typescript-eslint/types@8.61.1): dependencies: '@jridgewell/sourcemap-codec': 1.5.5 optionalDependencies: - '@typescript-eslint/types': 8.61.0 + '@typescript-eslint/types': 8.61.1 esrecurse@4.3.0: dependencies: @@ -3448,10 +3754,16 @@ snapshots: estree-walker@2.0.2: {} + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.9 + esutils@2.0.3: {} eta@4.6.0: {} + expect-type@1.3.0: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.3: @@ -3543,8 +3855,6 @@ snapshots: globals@16.5.0: {} - globals@17.6.0: {} - graceful-fs@4.2.11: {} hast-util-to-html@9.0.5: @@ -3591,8 +3901,6 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.5: {} - import-meta-resolve@4.2.0: {} imurmurhash@0.1.4: {} @@ -3619,14 +3927,14 @@ snapshots: jiti@2.7.0: {} + js-tokens@4.0.0: {} + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} json-stable-stringify-without-jsonify@1.0.1: {} - jsonc-parser@3.3.1: {} - jsonfile@6.2.1: dependencies: universalify: 2.0.1 @@ -3643,49 +3951,6 @@ snapshots: known-css-properties@0.37.0: {} - lefthook-darwin-arm64@2.1.9: - optional: true - - lefthook-darwin-x64@2.1.9: - optional: true - - lefthook-freebsd-arm64@2.1.9: - optional: true - - lefthook-freebsd-x64@2.1.9: - optional: true - - lefthook-linux-arm64@2.1.9: - optional: true - - lefthook-linux-x64@2.1.9: - optional: true - - lefthook-openbsd-arm64@2.1.9: - optional: true - - lefthook-openbsd-x64@2.1.9: - optional: true - - lefthook-windows-arm64@2.1.9: - optional: true - - lefthook-windows-x64@2.1.9: - optional: true - - lefthook@2.1.9: - optionalDependencies: - lefthook-darwin-arm64: 2.1.9 - lefthook-darwin-x64: 2.1.9 - lefthook-freebsd-arm64: 2.1.9 - lefthook-freebsd-x64: 2.1.9 - lefthook-linux-arm64: 2.1.9 - lefthook-linux-x64: 2.1.9 - lefthook-openbsd-arm64: 2.1.9 - lefthook-openbsd-x64: 2.1.9 - lefthook-windows-arm64: 2.1.9 - lefthook-windows-x64: 2.1.9 - levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -3837,9 +4102,11 @@ snapshots: mri@1.2.0: {} + mrmime@2.0.1: {} + ms@2.1.3: {} - nanoid@3.3.12: {} + nanoid@3.3.14: {} natural-compare@1.4.0: {} @@ -3853,13 +4120,13 @@ snapshots: css-select: 4.3.0 he: 1.2.0 - node-releases@2.0.47: {} + node-releases@2.0.48: {} nth-check@2.1.1: dependencies: boolbase: 1.0.0 - obug@2.1.2: {} + obug@2.1.3: {} oniguruma-parser@0.12.2: {} @@ -3878,27 +4145,64 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - oxlint@1.69.0: + oxfmt@0.55.0(svelte@5.56.3(@typescript-eslint/types@8.61.1))(vite-plus@0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)): + dependencies: + tinypool: 2.1.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.55.0 + '@oxfmt/binding-android-arm64': 0.55.0 + '@oxfmt/binding-darwin-arm64': 0.55.0 + '@oxfmt/binding-darwin-x64': 0.55.0 + '@oxfmt/binding-freebsd-x64': 0.55.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.55.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.55.0 + '@oxfmt/binding-linux-arm64-gnu': 0.55.0 + '@oxfmt/binding-linux-arm64-musl': 0.55.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.55.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.55.0 + '@oxfmt/binding-linux-riscv64-musl': 0.55.0 + '@oxfmt/binding-linux-s390x-gnu': 0.55.0 + '@oxfmt/binding-linux-x64-gnu': 0.55.0 + '@oxfmt/binding-linux-x64-musl': 0.55.0 + '@oxfmt/binding-openharmony-arm64': 0.55.0 + '@oxfmt/binding-win32-arm64-msvc': 0.55.0 + '@oxfmt/binding-win32-ia32-msvc': 0.55.0 + '@oxfmt/binding-win32-x64-msvc': 0.55.0 + svelte: 5.56.3(@typescript-eslint/types@8.61.1) + vite-plus: 0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1) + + oxlint-tsgolint@0.23.0: optionalDependencies: - '@oxlint/binding-android-arm-eabi': 1.69.0 - '@oxlint/binding-android-arm64': 1.69.0 - '@oxlint/binding-darwin-arm64': 1.69.0 - '@oxlint/binding-darwin-x64': 1.69.0 - '@oxlint/binding-freebsd-x64': 1.69.0 - '@oxlint/binding-linux-arm-gnueabihf': 1.69.0 - '@oxlint/binding-linux-arm-musleabihf': 1.69.0 - '@oxlint/binding-linux-arm64-gnu': 1.69.0 - '@oxlint/binding-linux-arm64-musl': 1.69.0 - '@oxlint/binding-linux-ppc64-gnu': 1.69.0 - '@oxlint/binding-linux-riscv64-gnu': 1.69.0 - '@oxlint/binding-linux-riscv64-musl': 1.69.0 - '@oxlint/binding-linux-s390x-gnu': 1.69.0 - '@oxlint/binding-linux-x64-gnu': 1.69.0 - '@oxlint/binding-linux-x64-musl': 1.69.0 - '@oxlint/binding-openharmony-arm64': 1.69.0 - '@oxlint/binding-win32-arm64-msvc': 1.69.0 - '@oxlint/binding-win32-ia32-msvc': 1.69.0 - '@oxlint/binding-win32-x64-msvc': 1.69.0 + '@oxlint-tsgolint/darwin-arm64': 0.23.0 + '@oxlint-tsgolint/darwin-x64': 0.23.0 + '@oxlint-tsgolint/linux-arm64': 0.23.0 + '@oxlint-tsgolint/linux-x64': 0.23.0 + '@oxlint-tsgolint/win32-arm64': 0.23.0 + '@oxlint-tsgolint/win32-x64': 0.23.0 + + oxlint@1.70.0(oxlint-tsgolint@0.23.0)(vite-plus@0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.70.0 + '@oxlint/binding-android-arm64': 1.70.0 + '@oxlint/binding-darwin-arm64': 1.70.0 + '@oxlint/binding-darwin-x64': 1.70.0 + '@oxlint/binding-freebsd-x64': 1.70.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.70.0 + '@oxlint/binding-linux-arm-musleabihf': 1.70.0 + '@oxlint/binding-linux-arm64-gnu': 1.70.0 + '@oxlint/binding-linux-arm64-musl': 1.70.0 + '@oxlint/binding-linux-ppc64-gnu': 1.70.0 + '@oxlint/binding-linux-riscv64-gnu': 1.70.0 + '@oxlint/binding-linux-riscv64-musl': 1.70.0 + '@oxlint/binding-linux-s390x-gnu': 1.70.0 + '@oxlint/binding-linux-x64-gnu': 1.70.0 + '@oxlint/binding-linux-x64-musl': 1.70.0 + '@oxlint/binding-openharmony-arm64': 1.70.0 + '@oxlint/binding-win32-arm64-msvc': 1.70.0 + '@oxlint/binding-win32-ia32-msvc': 1.70.0 + '@oxlint/binding-win32-x64-msvc': 1.70.0 + oxlint-tsgolint: 0.23.0 + vite-plus: 0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1) p-limit@3.1.0: dependencies: @@ -3952,14 +4256,16 @@ snapshots: dependencies: find-up: 6.3.0 - playwright-core@1.60.0: {} + playwright-core@1.61.0: {} - playwright@1.60.0: + playwright@1.61.0: dependencies: - playwright-core: 1.60.0 + playwright-core: 1.61.0 optionalDependencies: fsevents: 2.3.2 + pngjs@7.0.0: {} + postcss-load-config@3.1.4(postcss@8.5.15): dependencies: lilconfig: 2.1.0 @@ -3975,7 +4281,7 @@ snapshots: dependencies: postcss: 8.5.15 - postcss-selector-parser@7.1.2: + postcss-selector-parser@7.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -3984,18 +4290,19 @@ snapshots: postcss@8.5.15: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.14 picocolors: 1.1.1 source-map-js: 1.2.1 prelude-ls@1.2.1: {} - prettier-plugin-svelte@4.1.0(prettier@3.8.3)(svelte@5.56.3(@typescript-eslint/types@8.61.0)): - dependencies: - prettier: 3.8.3 - svelte: 5.56.3(@typescript-eslint/types@8.61.0) + prettier@3.8.4: {} - prettier@3.8.3: {} + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 property-information@7.2.0: {} @@ -4005,6 +4312,8 @@ snapshots: queue-microtask@1.2.3: {} + react-is@17.0.2: {} + readdirp@4.1.2: {} readdirp@5.0.0: {} @@ -4026,37 +4335,16 @@ snapshots: reusify@1.1.0: {} - rolldown@1.0.3: - dependencies: - '@oxc-project/types': 0.133.0 - '@rolldown/pluginutils': 1.0.1 - optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.3 - '@rolldown/binding-darwin-arm64': 1.0.3 - '@rolldown/binding-darwin-x64': 1.0.3 - '@rolldown/binding-freebsd-x64': 1.0.3 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.3 - '@rolldown/binding-linux-arm64-gnu': 1.0.3 - '@rolldown/binding-linux-arm64-musl': 1.0.3 - '@rolldown/binding-linux-ppc64-gnu': 1.0.3 - '@rolldown/binding-linux-s390x-gnu': 1.0.3 - '@rolldown/binding-linux-x64-gnu': 1.0.3 - '@rolldown/binding-linux-x64-musl': 1.0.3 - '@rolldown/binding-openharmony-arm64': 1.0.3 - '@rolldown/binding-wasm32-wasi': 1.0.3 - '@rolldown/binding-win32-arm64-msvc': 1.0.3 - '@rolldown/binding-win32-x64-msvc': 1.0.3 - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - runed@0.37.1(svelte@5.56.3(@typescript-eslint/types@8.61.0)): + runed@0.37.1(svelte@5.56.3(@typescript-eslint/types@8.61.1)): dependencies: dequal: 2.0.3 esm-env: 1.2.2 lz-string: 1.5.0 - svelte: 5.56.3(@typescript-eslint/types@8.61.0) + svelte: 5.56.3(@typescript-eslint/types@8.61.1) sade@1.8.1: dependencies: @@ -4064,7 +4352,7 @@ snapshots: sax@1.6.0: {} - semver@7.8.3: {} + semver@7.8.5: {} shebang-command@2.0.0: dependencies: @@ -4083,6 +4371,14 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + siginfo@2.0.0: {} + + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -4094,17 +4390,21 @@ snapshots: space-separated-tokens@2.0.2: {} + stackback@0.0.2: {} + + std-env@4.1.0: {} + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - sv-router@0.16.3(svelte@5.56.3(@typescript-eslint/types@8.61.0)): + sv-router@0.17.0(svelte@5.56.3(@typescript-eslint/types@8.61.1)): dependencies: esm-env: 1.2.2 - svelte: 5.56.3(@typescript-eslint/types@8.61.0) + svelte: 5.56.3(@typescript-eslint/types@8.61.1) - svelte-check@4.6.0(picomatch@4.0.4)(svelte@5.56.3(@typescript-eslint/types@8.61.0))(typescript@6.0.3): + svelte-check@4.6.0(picomatch@4.0.4)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(typescript@6.0.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 '@sveltejs/load-config': 0.1.1 @@ -4112,37 +4412,37 @@ snapshots: fdir: 6.5.0(picomatch@4.0.4) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.56.3(@typescript-eslint/types@8.61.0) + svelte: 5.56.3(@typescript-eslint/types@8.61.1) typescript: 6.0.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.8.0(svelte@5.56.3(@typescript-eslint/types@8.61.0)): + svelte-eslint-parser@1.8.0(svelte@5.56.3(@typescript-eslint/types@8.61.1)): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 postcss: 8.5.15 postcss-scss: 4.0.9(postcss@8.5.15) - postcss-selector-parser: 7.1.2 - semver: 7.8.3 + postcss-selector-parser: 7.1.4 + semver: 7.8.5 optionalDependencies: - svelte: 5.56.3(@typescript-eslint/types@8.61.0) + svelte: 5.56.3(@typescript-eslint/types@8.61.1) - svelte@5.56.3(@typescript-eslint/types@8.61.0): + svelte@5.56.3(@typescript-eslint/types@8.61.1): dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 - '@sveltejs/acorn-typescript': 1.0.10(acorn@8.16.0) + '@sveltejs/acorn-typescript': 1.0.10(acorn@8.17.0) '@types/estree': 1.0.9 '@types/trusted-types': 2.0.7 - acorn: 8.16.0 + acorn: 8.17.0 aria-query: 5.3.1 axobject-query: 4.1.0 clsx: 2.1.1 devalue: 5.8.1 esm-env: 1.2.2 - esrap: 2.2.11(@typescript-eslint/types@8.61.0) + esrap: 2.2.11(@typescript-eslint/types@8.61.1) is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 @@ -4160,17 +4460,19 @@ snapshots: picocolors: 1.1.1 sax: 1.6.0 - tailwindcss@4.3.0: {} + tailwindcss@4.3.1: {} tapable@2.3.3: {} terser@5.48.0: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 + acorn: 8.17.0 commander: 2.20.3 source-map-support: 0.5.21 + tinybench@2.9.0: {} + tinyexec@1.2.4: {} tinyglobby@0.2.17: @@ -4178,15 +4480,17 @@ snapshots: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 + tinypool@2.1.0: {} + + tinyrainbow@3.1.0: {} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - trim-lines@3.0.1: {} + totalist@3.0.1: {} - ts-api-utils@2.5.0(typescript@6.0.3): - dependencies: - typescript: 6.0.3 + trim-lines@3.0.1: {} tslib@2.8.1: {} @@ -4202,17 +4506,6 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.61.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.4.1(jiti@2.7.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - typescript@6.0.3: {} uc.micro@2.1.0: {} @@ -4267,7 +4560,7 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-plugin-html@3.2.2(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)): + vite-plugin-html@3.2.2(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)): dependencies: '@rollup/pluginutils': 4.2.1 colorette: 2.0.20 @@ -4281,34 +4574,113 @@ snapshots: html-minifier-terser: 6.1.0 node-html-parser: 5.4.2 pathe: 0.2.0 - vite: 8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1) - - vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1): - dependencies: - lightningcss: 1.32.0 + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' + + vite-plus@0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1): + dependencies: + '@oxc-project/types': 0.136.0 + '@oxlint/plugins': 1.68.0 + '@vitest/browser': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(vitest@4.1.9) + '@vitest/browser-preview': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(vitest@4.1.9) + '@vitest/expect': 4.1.9 + '@vitest/mocker': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + '@vitest/pretty-format': 4.1.9 + '@vitest/runner': 4.1.9 + '@vitest/snapshot': 4.1.9 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + '@voidzero-dev/vite-plus-core': 0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1) + oxfmt: 0.55.0(svelte@5.56.3(@typescript-eslint/types@8.61.1))(vite-plus@0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + oxlint: 1.70.0(oxlint-tsgolint@0.23.0)(vite-plus@0.2.1(@types/node@24.5.2)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(esbuild@0.27.2)(jiti@2.7.0)(svelte@5.56.3(@typescript-eslint/types@8.61.1))(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + oxlint-tsgolint: 0.23.0 + vitest: 4.1.9(@types/node@24.5.2)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + optionalDependencies: + '@voidzero-dev/vite-plus-darwin-arm64': 0.2.1 + '@voidzero-dev/vite-plus-darwin-x64': 0.2.1 + '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.2.1 + '@voidzero-dev/vite-plus-linux-arm64-musl': 0.2.1 + '@voidzero-dev/vite-plus-linux-x64-gnu': 0.2.1 + '@voidzero-dev/vite-plus-linux-x64-musl': 0.2.1 + '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.2.1 + '@voidzero-dev/vite-plus-win32-x64-msvc': 0.2.1 + transitivePeerDependencies: + - '@arethetypeswrong/core' + - '@edge-runtime/vm' + - '@opentelemetry/api' + - '@tsdown/css' + - '@tsdown/exe' + - '@types/node' + - '@vitejs/devtools' + - '@vitest/coverage-istanbul' + - '@vitest/coverage-v8' + - '@vitest/ui' + - bufferutil + - esbuild + - happy-dom + - jiti + - jsdom + - less + - msw + - publint + - sass + - sass-embedded + - stylus + - sugarss + - svelte + - terser + - tsx + - typescript + - unplugin-unused + - unrun + - utf-8-validate + - vite + - yaml + + vitefu@1.1.3(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)): + optionalDependencies: + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' + + vitest@4.1.9(@types/node@24.5.2)(@vitest/browser-preview@4.1.9)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)): + dependencies: + '@vitest/expect': 4.1.9 + '@vitest/mocker': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)) + '@vitest/pretty-format': 4.1.9 + '@vitest/runner': 4.1.9 + '@vitest/snapshot': 4.1.9 + '@vitest/spy': 4.1.9 + '@vitest/utils': 4.1.9 + es-module-lexer: 2.1.0 + expect-type: 1.3.0 + magic-string: 0.30.21 + obug: 2.1.3 + pathe: 2.0.3 picomatch: 4.0.4 - postcss: 8.5.15 - rolldown: 1.0.3 + std-env: 4.1.0 + tinybench: 2.9.0 + tinyexec: 1.2.4 tinyglobby: 0.2.17 + tinyrainbow: 3.1.0 + vite: '@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1)' + why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.5.2 - esbuild: 0.27.2 - fsevents: 2.3.3 - jiti: 2.7.0 - terser: 5.48.0 - tsx: 4.19.3 - yaml: 2.8.1 - - vitefu@1.1.3(vite@8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1)): - optionalDependencies: - vite: 8.0.16(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(yaml@2.8.1) + '@vitest/browser-preview': 4.1.9(@voidzero-dev/vite-plus-core@0.2.1(@types/node@24.5.2)(esbuild@0.27.2)(jiti@2.7.0)(terser@5.48.0)(tsx@4.19.3)(typescript@6.0.3)(yaml@2.8.1))(vitest@4.1.9) + transitivePeerDependencies: + - msw which@2.0.2: dependencies: isexe: 2.0.0 + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + word-wrap@1.2.5: {} + ws@8.21.0: {} + yaml@1.10.3: {} yaml@2.8.1: diff --git a/public/sitemap.xml b/public/sitemap.xml index 7e950443..adb1927c 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -2,229 +2,229 @@ https://component-party.dev/ - 2026-03-14 + 2026-06-20 weekly 1 https://component-party.dev/?f=svelte5 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue3 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=angularRenaissance - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=angular - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=lit - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=emberPolaris - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=emberOctane - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=svelte4 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue2 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=alpine - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=mithril - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=aurelia2 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=qwik - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=marko - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=aurelia1 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=ripple - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,vue3 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,angularRenaissance - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,svelte5 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue3,angularRenaissance - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue3,svelte5 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue3,solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=angularRenaissance,svelte5 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=angularRenaissance,solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=svelte5,solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,vue3,angularRenaissance - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,svelte5,solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue3,svelte5,solid - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=react,vue3,svelte5 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=svelte4,svelte5 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=vue2,vue3 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=angular,angularRenaissance - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=aurelia1,aurelia2 - 2026-03-14 + 2026-06-20 weekly 0.8 https://component-party.dev/?f=emberOctane,emberPolaris - 2026-03-14 + 2026-06-20 weekly 0.8 diff --git a/renovate.json b/renovate.json index a90c37d3..a758308e 100644 --- a/renovate.json +++ b/renovate.json @@ -1,7 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:recommended"], -"packageRules": [ + "packageRules": [ { "matchPackagePatterns": ["*"], "groupName": "all dependencies", diff --git a/src/lib/frameworkUrl.test.ts b/src/lib/frameworkUrl.test.ts new file mode 100644 index 00000000..c289089b --- /dev/null +++ b/src/lib/frameworkUrl.test.ts @@ -0,0 +1,22 @@ +import { describe, expect, it } from "vite-plus/test"; +import { FRAMEWORK_SEPARATOR } from "../constants.ts"; + +// Mirrors the framework-comparison URL encoding used to build comparison links. +const createFrameworkUrl = (frameworks: string[]) => + `/?f=${frameworks.join(FRAMEWORK_SEPARATOR)}`; + +const parseFrameworksFromUrl = (query: string) => + query.replace(/^\/\?f=/, "").split(FRAMEWORK_SEPARATOR); + +describe("framework comparison url", () => { + it("encodes a list of frameworks with the separator", () => { + expect(createFrameworkUrl(["react", "vue3"])).toBe("/?f=react-vue3"); + }); + + it("round-trips through encode/parse", () => { + const frameworks = ["react", "vue3", "svelte5"]; + expect(parseFrameworksFromUrl(createFrameworkUrl(frameworks))).toEqual( + frameworks, + ); + }); +}); diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts index 76404843..01478e00 100644 --- a/src/vite-env.d.ts +++ b/src/vite-env.d.ts @@ -1,4 +1,4 @@ -/// +/// interface ImportMetaEnv { readonly DEV: boolean; diff --git a/tsconfig.json b/tsconfig.json index fd4bd40b..f22abd25 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,6 @@ "allowSyntheticDefaultImports": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, - "baseUrl": ".", "paths": { "@frameworks": ["./frameworks.ts"] } diff --git a/vite.config.ts b/vite.config.ts index 2016ea43..a183208e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from "vite"; +import { defineConfig } from "vite-plus"; import { svelte } from "@sveltejs/vite-plugin-svelte"; import fs from "node:fs/promises"; import path from "node:path"; @@ -149,6 +149,232 @@ export default defineConfig({ sourcemap: false, target: "esnext", }, + lint: { + plugins: ["typescript", "unicorn"], + jsPlugins: ["eslint-plugin-svelte"], + categories: { + correctness: "off", + }, + env: { + builtin: true, + browser: true, + node: true, + }, + globals: { + $state: "readonly", + $derived: "readonly", + $effect: "readonly", + $props: "readonly", + $bindable: "readonly", + $inspect: "readonly", + $host: "readonly", + }, + ignorePatterns: [ + "**/logs", + "**/*.log", + "**/npm-debug.log*", + "**/yarn-debug.log*", + "**/yarn-error.log*", + "**/pnpm-debug.log*", + "**/lerna-debug.log*", + "**/node_modules", + "**/dist", + "**/dist-ssr", + "**/*.local", + ".vscode/*", + "!.vscode/extensions.json", + "**/.idea", + "**/.DS_Store", + "**/*.suo", + "**/*.ntvs*", + "**/*.njsproj", + "**/*.sln", + "**/*.sw?", + "src/generatedContent", + "**/archive", + "**/vite.config.js.timestamp*", + "content/**", + "**/test-results", + "**/package-lock.json", + "**/yarn.lock", + "**/.npm", + "**/.yarn", + "**/.cache", + "**/playwright-report", + "public/_redirects", + ], + rules: { + "for-direction": "error", + "no-async-promise-executor": "error", + "no-case-declarations": "error", + "no-class-assign": "error", + "no-compare-neg-zero": "error", + "no-cond-assign": "error", + "no-const-assign": "error", + "no-constant-binary-expression": "error", + "no-constant-condition": "error", + "no-control-regex": "error", + "no-debugger": "error", + "no-delete-var": "error", + "no-dupe-class-members": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty": "error", + "no-empty-character-class": "error", + "no-empty-pattern": "error", + "no-empty-static-block": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-fallthrough": "error", + "no-func-assign": "error", + "no-global-assign": "error", + "no-import-assign": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-loss-of-precision": "error", + "no-new-native-nonconstructor": "error", + "no-nonoctal-decimal-escape": "error", + "no-obj-calls": "error", + "no-prototype-builtins": "error", + "no-redeclare": "error", + "no-regex-spaces": "error", + "no-self-assign": "error", + "no-setter-return": "error", + "no-shadow-restricted-names": "error", + "no-sparse-arrays": "error", + "no-this-before-super": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", + "no-unused-labels": "error", + "no-unused-private-class-members": "error", + "no-unused-vars": "error", + "no-useless-backreference": "error", + "no-useless-catch": "error", + "no-useless-escape": "error", + "no-with": "error", + "require-yield": "error", + "use-isnan": "error", + "valid-typeof": "error", + "no-array-constructor": "error", + "no-unused-expressions": "error", + "constructor-super": "error", + "getter-return": "error", + "no-misleading-character-class": "error", + "no-unassigned-vars": "error", + "no-undef": "error", + "no-unreachable": "error", + "no-useless-assignment": "error", + "preserve-caught-error": "error", + "svelte/comment-directive": "error", + "svelte/infinite-reactive-loop": "error", + "svelte/no-at-debug-tags": "warn", + "svelte/no-at-html-tags": "error", + "svelte/no-dom-manipulating": "error", + "svelte/no-dupe-else-if-blocks": "error", + "svelte/no-dupe-on-directives": "error", + "svelte/no-dupe-style-properties": "error", + "svelte/no-dupe-use-directives": "error", + "svelte/no-export-load-in-svelte-module-in-kit-pages": "error", + "svelte/no-immutable-reactive-statements": "error", + "svelte/no-inner-declarations": "error", + "svelte/no-inspect": "warn", + "svelte/no-navigation-without-resolve": "error", + "svelte/no-not-function-handler": "error", + "svelte/no-object-in-text-mustaches": "error", + "svelte/no-raw-special-elements": "error", + "svelte/no-reactive-functions": "error", + "svelte/no-reactive-literals": "error", + "svelte/no-reactive-reassign": "error", + "svelte/no-shorthand-style-property-overrides": "error", + "svelte/no-store-async": "error", + "svelte/no-svelte-internal": "error", + "svelte/no-unknown-style-directive-property": "error", + "svelte/no-unnecessary-state-wrap": "error", + "svelte/no-unused-props": "error", + "svelte/no-unused-svelte-ignore": "error", + "svelte/no-useless-children-snippet": "error", + "svelte/no-useless-mustaches": "error", + "svelte/prefer-svelte-reactivity": "error", + "svelte/prefer-writable-derived": "error", + "svelte/require-each-key": "error", + "svelte/require-event-dispatcher-types": "error", + "svelte/require-store-reactive-access": "error", + "svelte/system": "error", + "svelte/valid-each-key": "error", + "svelte/valid-prop-names-in-kit-pages": "error", + "typescript/ban-ts-comment": "error", + "typescript/no-duplicate-enum-values": "error", + "typescript/no-empty-object-type": "error", + "typescript/no-explicit-any": "error", + "typescript/no-extra-non-null-assertion": "error", + "typescript/no-misused-new": "error", + "typescript/no-namespace": "error", + "typescript/no-non-null-asserted-optional-chain": "error", + "typescript/no-require-imports": "error", + "typescript/no-this-alias": "error", + "typescript/no-unnecessary-type-constraint": "error", + "typescript/no-unsafe-declaration-merging": "error", + "typescript/no-unsafe-function-type": "error", + "typescript/no-wrapper-object-types": "error", + "typescript/prefer-as-const": "error", + "typescript/prefer-namespace-keyword": "error", + "typescript/triple-slash-reference": "error", + }, + overrides: [ + { + files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], + rules: { + "no-class-assign": "off", + "no-const-assign": "off", + "no-dupe-class-members": "off", + "no-dupe-keys": "off", + "no-func-assign": "off", + "no-import-assign": "off", + "no-new-native-nonconstructor": "off", + "no-obj-calls": "off", + "no-redeclare": "off", + "no-setter-return": "off", + "no-this-before-super": "off", + "no-unsafe-negation": "off", + "no-var": "error", + "no-with": "off", + "prefer-rest-params": "error", + "prefer-spread": "error", + }, + }, + { + files: ["*.svelte", "**/*.svelte"], + rules: { + "no-inner-declarations": "off", + "no-self-assign": "off", + }, + }, + ], + options: {}, + }, + fmt: { + printWidth: 80, + sortPackageJson: false, + // Enable .svelte formatting via the bundled prettier-plugin-svelte + // (requires the `svelte` package, already a dependency). + svelte: true, + // Framework comparison examples (content/**) are the displayed corpus and + // are kept Prettier-formatted by the content build pipeline; src/generatedContent + // is generated. Exclude both so Oxfmt only touches app/project code. + ignorePatterns: ["content/**", "src/generatedContent/**"], + }, + staged: { + "*.{js,ts,svelte,html,md,css}": "vp fmt --write", + // Regenerate README progress when content changes (filenames are ignored + // by the wrapped command; sh -c receives them as positional args). + "content/**/*": + "sh -c 'vp node scripts/generateReadMeProgress.ts && git add README.md'", + }, + test: { + include: ["src/**/*.{test,spec}.{js,ts}"], + }, }); async function generateHtmlPagesPlugin(pages: unknown[]) { From dc5d58c798e8c6d2d4674db58c262564e69cd779 Mon Sep 17 00:00:00 2001 From: Mathieu Schimmerling Date: Sun, 21 Jun 2026 01:52:42 +0200 Subject: [PATCH 2/4] style: reformat with prettier (wider printWidth) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pure formatting pass — line re-wrapping, JSON key ordering, and removal of the inlined ESLint config block. No logic changes. Co-Authored-By: Claude Opus 4.8 (1M context) --- .vscode/extensions.json | 6 +- build/generateContentVitePlugin.ts | 4 +- build/lib/angularHighlighter.ts | 4 +- build/lib/componentPartyShikiTheme.ts | 55 ++---- build/lib/generateContent.ts | 27 +-- build/lib/highlighter.d.ts | 5 +- build/lib/highlighter.ts | 20 +- build/lib/playgroundUrlByFramework.ts | 52 ++---- build/template/footer.html | 18 +- frameworks.ts | 35 +--- index.html | 18 +- package.json | 12 +- scripts/generateReadMeProgress.ts | 16 +- scripts/generateSitemap.ts | 17 +- scripts/npmDownloadStats.ts | 17 +- src/Index.svelte | 123 +++---------- src/components/Aside.svelte | 19 +- src/components/CodeEditor.svelte | 22 +-- src/components/FrameworkLabel.svelte | 4 +- src/components/GithubStarButton.svelte | 14 +- src/components/TransitionWithClass.svelte | 9 +- src/lib/copyToClipboard.ts | 4 +- src/lib/createLocaleStorage.ts | 5 +- src/lib/frameworkUrl.test.ts | 7 +- test/e2e/framework-comparison.test.ts | 16 +- test/e2e/home.test.ts | 8 +- test/e2e/integration.test.ts | 7 +- tsconfig.json | 9 +- tsconfig.node.json | 8 +- vite.config.ts | 211 +--------------------- 30 files changed, 137 insertions(+), 635 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 3758820d..44c4bb94 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,3 @@ { - "recommendations": [ - "esbenp.prettier-vscode", - "svelte.svelte-vscode", - "bradlc.vscode-tailwindcss" - ] + "recommendations": ["esbenp.prettier-vscode", "svelte.svelte-vscode", "bradlc.vscode-tailwindcss"] } diff --git a/build/generateContentVitePlugin.ts b/build/generateContentVitePlugin.ts index ad391783..45ba0712 100644 --- a/build/generateContentVitePlugin.ts +++ b/build/generateContentVitePlugin.ts @@ -41,9 +41,7 @@ export default function pluginGenerateFrameworkContent() { return { name, - configureServer(server: { - httpServer?: { once(e: string, cb: () => void): void }; - }): void { + configureServer(server: { httpServer?: { once(e: string, cb: () => void): void } }): void { fsContentWatcher = chokidar.watch(["content"]).on("change", build); server.httpServer?.once("close", () => { void fsContentWatcher?.close(); diff --git a/build/lib/angularHighlighter.ts b/build/lib/angularHighlighter.ts index 5c72bdcb..1ef6c9b1 100644 --- a/build/lib/angularHighlighter.ts +++ b/build/lib/angularHighlighter.ts @@ -1,5 +1,3 @@ export function mustUseAngularHighlighter(fileContent: string): boolean { - return ( - fileContent.includes("@angular/core") && fileContent.includes("template") - ); + return fileContent.includes("@angular/core") && fileContent.includes("template"); } diff --git a/build/lib/componentPartyShikiTheme.ts b/build/lib/componentPartyShikiTheme.ts index e8aff1e3..3a56e9f3 100644 --- a/build/lib/componentPartyShikiTheme.ts +++ b/build/lib/componentPartyShikiTheme.ts @@ -253,8 +253,7 @@ export const componentPartyShikiTheme = { }, { name: "java modifier.import", - scope: - "storage.modifier.import.java,storage.type.java,storage.type.generic.java", + scope: "storage.modifier.import.java,storage.type.java,storage.type.generic.java", settings: { foreground: "#e5c07b", }, @@ -296,8 +295,7 @@ export const componentPartyShikiTheme = { }, { name: "support.constant.property-value.scss", - scope: - "support.constant.property-value.scss,support.constant.property-value.css", + scope: "support.constant.property-value.scss,support.constant.property-value.css", settings: { foreground: "#d19a66", }, @@ -340,8 +338,7 @@ export const componentPartyShikiTheme = { }, { name: "js/ts module", - scope: - "support.module.node,support.type.object.module,support.module.node", + scope: "support.module.node,support.type.object.module,support.module.node", settings: { foreground: "#e5c07b", }, @@ -547,8 +544,7 @@ export const componentPartyShikiTheme = { }, { name: "Compound Assignment Operators js/ts", - scope: - "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts", + scope: "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts", settings: { foreground: "#56b6c2", }, @@ -651,11 +647,7 @@ export const componentPartyShikiTheme = { }, { name: "Class name", - scope: [ - "entity.name.class", - "variable.other.class.js", - "variable.other.class.ts", - ], + scope: ["entity.name.class", "variable.other.class.js", "variable.other.class.ts"], settings: { foreground: "#e5c07b", }, @@ -846,8 +838,7 @@ export const componentPartyShikiTheme = { }, { name: "Headings", - scope: - "markup.heading punctuation.definition.heading, entity.name.section", + scope: "markup.heading punctuation.definition.heading, entity.name.section", settings: { foreground: "#61afef", }, @@ -977,16 +968,14 @@ export const componentPartyShikiTheme = { }, { name: "[VSCODE-CUSTOM] Markdown Underline Link/Image", - scope: - "markup.underline.link.markdown,markup.underline.link.image.markdown", + scope: "markup.underline.link.markdown,markup.underline.link.image.markdown", settings: { foreground: "#c678dd", }, }, { name: "[VSCODE-CUSTOM] Markdown Link Title/Description", - scope: - "string.other.link.title.markdown,string.other.link.description.markdown", + scope: "string.other.link.title.markdown,string.other.link.description.markdown", settings: { foreground: "#61afef", }, @@ -1042,8 +1031,7 @@ export const componentPartyShikiTheme = { }, { name: "Embedded", - scope: - "punctuation.section.embedded.begin,punctuation.section.embedded.end", + scope: "punctuation.section.embedded.begin,punctuation.section.embedded.end", settings: { foreground: "#c678dd", }, @@ -1105,8 +1093,7 @@ export const componentPartyShikiTheme = { }, { name: "Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String", - scope: - "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string", + scope: "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string", settings: { foreground: "#e06c75", }, @@ -1143,16 +1130,14 @@ export const componentPartyShikiTheme = { }, { name: "laravel blade tag", - scope: - "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade", + scope: "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade", settings: { foreground: "#c678dd", }, }, { name: "laravel blade @", - scope: - "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade", + scope: "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade", settings: { foreground: "#c678dd", }, @@ -1210,8 +1195,7 @@ export const componentPartyShikiTheme = { }, { name: "php call-function", - scope: - "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php", + scope: "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php", settings: { foreground: "#61afef", }, @@ -1284,8 +1268,7 @@ export const componentPartyShikiTheme = { }, { name: "python function support", - scope: - "support.token.decorator.python,meta.function.decorator.identifier.python", + scope: "support.token.decorator.python,meta.function.decorator.identifier.python", settings: { foreground: "#56b6c2", }, @@ -1801,10 +1784,7 @@ export const componentPartyShikiTheme = { }, }, { - scope: [ - "constant.language.symbol.elixir", - "constant.language.symbol.double-quoted.elixir", - ], + scope: ["constant.language.symbol.elixir", "constant.language.symbol.double-quoted.elixir"], settings: { foreground: "#56b6c2", }, @@ -1844,10 +1824,7 @@ export const componentPartyShikiTheme = { }, { name: "punctuation.section.embedded.begin.php", - scope: [ - "punctuation.section.embedded.begin.php", - "punctuation.section.embedded.end.php", - ], + scope: ["punctuation.section.embedded.begin.php", "punctuation.section.embedded.end.php"], settings: { foreground: "#BE5046", }, diff --git a/build/lib/generateContent.ts b/build/lib/generateContent.ts index 1a377c22..11cb0aab 100644 --- a/build/lib/generateContent.ts +++ b/build/lib/generateContent.ts @@ -5,10 +5,7 @@ import { frameworks } from "../../frameworks.ts"; import playgroundUrlByFramework from "./playgroundUrlByFramework.ts"; import prettier from "prettier"; import { mustUseAngularHighlighter } from "./angularHighlighter.ts"; -import { - codeToHighlightCodeHtml, - markdownToHighlightedHtml, -} from "./highlighter.ts"; +import { codeToHighlightCodeHtml, markdownToHighlightedHtml } from "./highlighter.ts"; import kebabCase from "just-kebab-case"; interface File { @@ -110,9 +107,7 @@ async function shouldRegenerateFiles( return false; } -export default async function generateContent( - options: { noCache?: boolean } = {}, -): Promise { +export default async function generateContent(options: { noCache?: boolean } = {}): Promise { const rootDir = await packageDirectory(); if (!rootDir) { throw new Error("Could not find package directory"); @@ -215,9 +210,7 @@ export default async function generateContent( } if (frameworkSnippet.files.length > 0) { - const frameworkConfig = frameworks.find( - (f) => f.id === frameworkId, - ); + const frameworkConfig = frameworks.find((f) => f.id === frameworkId); if (frameworkConfig) { frameworkSnippet.files = frameworkConfig.filesSorter( frameworkSnippet.files as unknown as FrameworkFile[], @@ -299,10 +292,7 @@ export default async function generateContent( await Promise.all( Object.keys(byFrameworkId).map((frameworkId) => { - const frameworkFilePath = path.join( - frameworkDirPath, - `${frameworkId}.js`, - ); + const frameworkFilePath = path.join(frameworkDirPath, `${frameworkId}.js`); return writeJsFile( frameworkFilePath, ` @@ -319,10 +309,7 @@ export default async function generateContent( ${commentDisclaimer} export default { ${Object.keys(byFrameworkId) - .map( - (frameworkId) => - `${frameworkId}: () => import("./${frameworkId}.js")`, - ) + .map((frameworkId) => `${frameworkId}: () => import("./${frameworkId}.js")`) .join(",\n")} }; @@ -426,7 +413,5 @@ ${redirects.join("\n")} const redirectsFilePath = path.join(publicDir, "_redirects"); await fs.writeFile(redirectsFilePath, redirectsContent); - console.info( - `Generated _redirects file for Cloudflare Pages with ${redirects.length} redirects`, - ); + console.info(`Generated _redirects file for Cloudflare Pages with ${redirects.length} redirects`); } diff --git a/build/lib/highlighter.d.ts b/build/lib/highlighter.d.ts index 0f6dbf13..c03f8752 100644 --- a/build/lib/highlighter.d.ts +++ b/build/lib/highlighter.d.ts @@ -1,7 +1,4 @@ -export function codeToHighlightCodeHtml( - code: string, - language: string, -): Promise; +export function codeToHighlightCodeHtml(code: string, language: string): Promise; export function markdownToHighlightedHtml(markdown: string): Promise; diff --git a/build/lib/highlighter.ts b/build/lib/highlighter.ts index 5cb035b7..c05006c6 100644 --- a/build/lib/highlighter.ts +++ b/build/lib/highlighter.ts @@ -9,16 +9,11 @@ import { fromHighlighter } from "@shikijs/markdown-it/core"; import { componentPartyShikiTheme } from "./componentPartyShikiTheme.ts"; // Singleton instances -let highlighter: HighlighterGeneric | null = - null; +let highlighter: HighlighterGeneric | null = null; let md: MarkdownIt | null = null; -let highlighterPromise: Promise< - HighlighterGeneric -> | null = null; +let highlighterPromise: Promise> | null = null; -async function getHighlighter(): Promise< - HighlighterGeneric -> { +async function getHighlighter(): Promise> { if (!highlighterPromise) { highlighterPromise = createHighlighter({ themes: [componentPartyShikiTheme], @@ -64,10 +59,7 @@ async function getMarkdownIt(): Promise { return md; } -export async function codeToHighlightCodeHtml( - code: string, - lang: string, -): Promise { +export async function codeToHighlightCodeHtml(code: string, lang: string): Promise { const highlighterInstance = await getHighlighter(); const html = await highlighterInstance.codeToHtml(code, { lang, @@ -77,9 +69,7 @@ export async function codeToHighlightCodeHtml( return html; } -export async function markdownToHighlightedHtml( - markdownText: string, -): Promise { +export async function markdownToHighlightedHtml(markdownText: string): Promise { const mdInstance = await getMarkdownIt(); const html = mdInstance.render(markdownText); return html; diff --git a/build/lib/playgroundUrlByFramework.ts b/build/lib/playgroundUrlByFramework.ts index 5c3d57c4..1bc0cff3 100644 --- a/build/lib/playgroundUrlByFramework.ts +++ b/build/lib/playgroundUrlByFramework.ts @@ -54,20 +54,14 @@ const playgroundUrlByFramework: Record = { const url = generateURLFromData(data); return url; }, - svelte4: async ( - contentByFilename: Record, - title?: string, - ) => { + svelte4: async (contentByFilename: Record, title?: string) => { return generateSveltePlaygroundURL({ version: 4, contentByFilename, title, }); }, - svelte5: async ( - contentByFilename: Record, - title?: string, - ) => { + svelte5: async (contentByFilename: Record, title?: string) => { return generateSveltePlaygroundURL({ version: 5, contentByFilename, @@ -75,8 +69,7 @@ const playgroundUrlByFramework: Record = { }); }, alpine: (contentByFilename: Record) => { - const BASE_URL = - "https://codesandbox.io/api/v1/sandboxes/define?embed=1¶meters="; + const BASE_URL = "https://codesandbox.io/api/v1/sandboxes/define?embed=1¶meters="; const BASE_PREFIX = `\n\n \n \n \n \n Alpine.js Playground\n \n \n \n\n`; const BASE_SUFFIX = `\n \n`; @@ -87,8 +80,7 @@ const playgroundUrlByFramework: Record = { content: { dependencies: {} }, }, "index.html": { - content: - BASE_PREFIX + (contentByFilename["index.html"] || "") + BASE_SUFFIX, + content: BASE_PREFIX + (contentByFilename["index.html"] || "") + BASE_SUFFIX, }, "sandbox.config.json": { content: '{\n "template": "static"\n}', @@ -124,8 +116,7 @@ const playgroundUrlByFramework: Record = { const mainComponentName = mainFile.name; mainFile.name = "main"; mainFile.type = "tsx"; - mainFile.source = - SOURCE_PREFIX + mainFile.source + getSourceSuffix(mainComponentName); + mainFile.source = SOURCE_PREFIX + mainFile.source + getSourceSuffix(mainComponentName); return generateURLFromData(data); }, @@ -136,10 +127,7 @@ const playgroundUrlByFramework: Record = { content, })); - return ( - "https://markojs.com/playground#" + - (await markoCompress(JSON.stringify(data))) - ); + return "https://markojs.com/playground#" + (await markoCompress(JSON.stringify(data))); }, ripple: (contentByFilename: Record, title?: string) => { return generateRipplePlaygroundURL(contentByFilename, title); @@ -186,10 +174,7 @@ async function generateSveltePlaygroundURL({ // method `compress_and_encode_text` from https://github.com/sveltejs/svelte.dev/blob/main/apps/svelte.dev/src/routes/(authed)/playground/%5Bid%5D/gzip.js async function compress_and_encode_text(input: string): Promise { - const reader = new Blob([input]) - .stream() - .pipeThrough(new CompressionStream("gzip")) - .getReader(); + const reader = new Blob([input]).stream().pipeThrough(new CompressionStream("gzip")).getReader(); let buffer = ""; for (;;) { const { done, value } = await reader.read(); @@ -223,10 +208,7 @@ export async function markoCompress(value: string): Promise { } } - return btoa(result) - .replace(/=+$/, "") - .replace(/\+/g, "-") - .replace(/\//g, "_"); + return btoa(result).replace(/=+$/, "").replace(/\+/g, "-").replace(/\//g, "_"); } finally { reader.releaseLock(); } @@ -239,9 +221,7 @@ function generateRipplePlaygroundURL( function mergeRippleFiles(sourceByFilename: Record): string { const scriptFilenames = Object.keys(sourceByFilename).filter( (filename) => - filename.endsWith(".tsrx") || - filename.endsWith(".js") || - filename.endsWith(".ts"), + filename.endsWith(".tsrx") || filename.endsWith(".js") || filename.endsWith(".ts"), ); if (scriptFilenames.length === 0) { @@ -249,9 +229,7 @@ function generateRipplePlaygroundURL( } return scriptFilenames - .map((filename) => - stripLocalRippleImports(sourceByFilename[filename]).trim(), - ) + .map((filename) => stripLocalRippleImports(sourceByFilename[filename]).trim()) .filter(Boolean) .join("\n\n"); } @@ -260,19 +238,13 @@ function generateRipplePlaygroundURL( return source.replace( /^\s*import\s+[^"']+from\s+["'](.+?)["'];?\s*$/gm, (fullMatch: string, specifier: string) => { - return specifier.startsWith(".") && isLocalScriptImport(specifier) - ? "" - : fullMatch; + return specifier.startsWith(".") && isLocalScriptImport(specifier) ? "" : fullMatch; }, ); } function isLocalScriptImport(specifier: string): boolean { - return ( - specifier.endsWith(".tsrx") || - specifier.endsWith(".js") || - specifier.endsWith(".ts") - ); + return specifier.endsWith(".tsrx") || specifier.endsWith(".js") || specifier.endsWith(".ts"); } const filenames = Object.keys(contentByFilename); diff --git a/build/template/footer.html b/build/template/footer.html index 7f04f700..d49034ef 100644 --- a/build/template/footer.html +++ b/build/template/footer.html @@ -8,8 +8,7 @@

Footer

Component party

- Web component JavaScript frameworks overview by their syntax and - features + Web component JavaScript frameworks overview by their syntax and features

-
+
<% for (const navigation of it.navigations) { %>