diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4f99c130eb3..9c49074fe88 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,12 +25,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1 - - uses: oxc-project/setup-node@141eb77546de6702f92d320926403fe3f9f6a6f2 # v1.0.5 + - uses: oxc-project/setup-node@8958a8e040102244b619c4a94fccb657a44b1c21 # v1.0.6 - run: pnpm run lint --format github - run: pnpm run fmt - run: pnpm run knip - run: git diff --exit-code # Must commit everything - - uses: crate-ci/typos@2d0ce569feab1f8752f1dde43cc2f2aa53236e06 # v1.40.0 + - uses: crate-ci/typos@bb4666ad77b539a6b4ce4eda7ebb6de553704021 # v1.42.0 with: files: . @@ -42,7 +42,7 @@ jobs: contents: write steps: - uses: taiki-e/checkout-action@b13d20b7cda4e2f325ef19895128f7ff735c0b3d # v1.3.1 - - uses: oxc-project/setup-node@141eb77546de6702f92d320926403fe3f9f6a6f2 # v1.0.5 + - uses: oxc-project/setup-node@8958a8e040102244b619c4a94fccb657a44b1c21 # v1.0.6 - run: pnpm run build env: REDIRECT: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 05c52cac7ea..09933275e46 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: persist-credentials: false - name: Install Tools - uses: taiki-e/install-action@b9c5db3aef04caffaf95a1d03931de10fb2a140f # v2.65.1 + uses: taiki-e/install-action@cc33365ec7e3350bc47bf935f247582cc6f68344 # v2.65.12 with: tool: just @@ -42,7 +42,7 @@ jobs: - run: cd oxc && just website .. - run: rm -rf oxc - - uses: oxc-project/setup-node@141eb77546de6702f92d320926403fe3f9f6a6f2 # v1.0.5 + - uses: oxc-project/setup-node@8958a8e040102244b619c4a94fccb657a44b1c21 # v1.0.6 - run: pnpm run fmt - uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0 diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index 9002acad47f..6e780ef7d46 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -25,7 +25,7 @@ jobs: with: persist-credentials: false - - uses: taiki-e/install-action@b9c5db3aef04caffaf95a1d03931de10fb2a140f # v2.65.1 + - uses: taiki-e/install-action@cc33365ec7e3350bc47bf935f247582cc6f68344 # v2.65.12 with: tool: zizmor diff --git a/.oxlintignore b/.oxlintignore deleted file mode 100644 index 643a2498641..00000000000 --- a/.oxlintignore +++ /dev/null @@ -1,3 +0,0 @@ -build/ -!.vitepress/ -.vitepress/cache diff --git a/.vitepress/config/en.ts b/.vitepress/config/en.ts index 7740c2f5f8e..19d3ba38933 100644 --- a/.vitepress/config/en.ts +++ b/.vitepress/config/en.ts @@ -23,9 +23,10 @@ export const enConfig = defineLocaleConfig("root", { { text: "Resources", items: [ - { text: "Blog", link: "/blog/2025-12-08-type-aware-alpha" }, + { text: "Release Blog", link: BLOG_SIDEBAR[0].link }, + { text: "Endorsements", link: "/endorsements" }, { text: "Team", link: "/team" }, - { text: "Release Notes", link: "https://github.com/oxc-project/oxc/releases" }, + { text: "Releases", link: "https://github.com/oxc-project/oxc/releases" }, { text: "Website GitHub", link: "https://github.com/oxc-project/oxc-project.github.io" }, ], }, @@ -34,154 +35,189 @@ export const enConfig = defineLocaleConfig("root", { sidebar: { "/docs/guide/": [ { - text: "Guide", - items: [{ text: "Getting Started", link: "/docs/guide/introduction" }], + text: "Introduction", + collapsed: false, + items: [ + { text: "What is Oxc?", link: "/docs/guide/what-is-oxc" }, + { text: "Getting Started", link: "/docs/guide/introduction" }, + ], }, { - text: "Tools", + text: "Oxlint", + collapsed: true, + link: "/docs/guide/usage/linter", items: [ + { text: "Overview", link: "/docs/guide/usage/linter" }, { - text: "Linter", - link: "/docs/guide/usage/linter", - collapsed: true, + text: "Configure and integrate", items: [ + { text: "Quickstart", link: "/docs/guide/usage/linter/quickstart" }, + { text: "Configuration", link: "/docs/guide/usage/linter/config" }, + { text: "Editor setup", link: "/docs/guide/usage/linter/editors" }, + { text: "CI & other setup", link: "/docs/guide/usage/linter/ci" }, { - text: "Configuring Oxlint", - link: "/docs/guide/usage/linter/config", - }, - { - text: "Type-Aware Linting", - link: "/docs/guide/usage/linter/type-aware", - }, - { - text: "Nested Configs", + text: "Nested configs", link: "/docs/guide/usage/linter/nested-config", }, - { - text: "Rules", - link: "/docs/guide/usage/linter/rules", - }, - { - text: "Plugins", - link: "/docs/guide/usage/linter/plugins", - }, - { - text: "JS Plugins", - link: "/docs/guide/usage/linter/js-plugins", - }, - { - text: "Automatic Fixes", - link: "/docs/guide/usage/linter/automatic-fixes", - }, - { - text: "CLI reference", - link: "/docs/guide/usage/linter/cli", - }, - { - text: "Configuration file reference", - link: "/docs/guide/usage/linter/config-file-reference", - }, - { - text: "Versioning", - link: "/docs/guide/usage/linter/versioning", - }, ], }, { - text: "Formatter", - link: "/docs/guide/usage/formatter", - collapsed: true, + text: "Features", items: [ + { text: "Built-in plugins", link: "/docs/guide/usage/linter/plugins" }, + { text: "Automatic fixes", link: "/docs/guide/usage/linter/automatic-fixes" }, + { text: "Ignore files", link: "/docs/guide/usage/linter/ignore-files" }, { - text: "Configuration", - link: "/docs/guide/usage/formatter/config", - }, - { - text: "Integration", - link: "/docs/guide/usage/formatter/integration", - }, - { - text: "CLI reference", - link: "/docs/guide/usage/formatter/cli", - }, - { - text: "Configuration file reference", - link: "/docs/guide/usage/formatter/config-file-reference", + text: "Inline ignore comments", + link: "/docs/guide/usage/linter/ignore-comments", }, { - text: "Migrating from Prettier", - link: "/docs/guide/usage/formatter/migrate-from-prettier", + text: "Multi-file analysis", + link: "/docs/guide/usage/linter/multi-file-analysis", }, + { text: "Type-aware linting", link: "/docs/guide/usage/linter/type-aware" }, + { text: "JS plugins", link: "/docs/guide/usage/linter/js-plugins" }, ], }, - { text: "Parser", link: "/docs/guide/usage/parser" }, + // { + // text: "Migration", + // items: [ + // { text: "From ESLint", link: "/docs/guide/usage/linter/migrate-from-eslint" }, + // { text: "From Biome", link: "/docs/guide/usage/linter/migrate-from-biome" }, + // ], + // }, { - text: "Transformer", - link: "/docs/guide/usage/transformer", - collapsed: true, + text: "Reference", items: [ + { text: "Rules reference", link: "/docs/guide/usage/linter/rules" }, + { text: "CLI reference", link: "/docs/guide/usage/linter/cli" }, { - text: "Lowering", - link: "/docs/guide/usage/transformer/lowering", - }, - { - text: "TypeScript", - link: "/docs/guide/usage/transformer/typescript", - }, - { - text: "JSX", - link: "/docs/guide/usage/transformer/jsx", - }, - { - text: "Plugins", - link: "/docs/guide/usage/transformer/plugins", - }, - { - text: "Global Variable Replacement", - link: "/docs/guide/usage/transformer/global-variable-replacement", - }, - { - text: "Isolated Declarations", - link: "/docs/guide/usage/transformer/isolated-declarations", + text: "Config file reference", + link: "/docs/guide/usage/linter/config-file-reference", }, + { text: "Versioning", link: "/docs/guide/usage/linter/versioning" }, ], }, + ], + }, + { + text: "Oxfmt", + collapsed: true, + link: "/docs/guide/usage/formatter", + items: [ { - text: "Minifier", + text: "Overview", + link: "/docs/guide/usage/formatter", + }, + { + text: "Configuration", + link: "/docs/guide/usage/formatter/config", + }, + { + text: "Ignoring", + link: "/docs/guide/usage/formatter/ignoring", + }, + { + text: "Integration", + link: "/docs/guide/usage/formatter/integration", + }, + { + text: "CLI reference", + link: "/docs/guide/usage/formatter/cli", + }, + { + text: "Configuration file reference", + link: "/docs/guide/usage/formatter/config-file-reference", + }, + { + text: "Migrating from Prettier", + link: "/docs/guide/usage/formatter/migrate-from-prettier", + }, + ], + }, + { + text: "Parser", + collapsed: true, + link: "/docs/guide/usage/parser", + items: [{ text: "Overview", link: "/docs/guide/usage/parser" }], + }, + { + text: "Transformer", + collapsed: true, + link: "/docs/guide/usage/transformer", + items: [ + { text: "Overview", link: "/docs/guide/usage/transformer" }, + { + text: "Lowering", + link: "/docs/guide/usage/transformer/lowering", + }, + { + text: "TypeScript", + link: "/docs/guide/usage/transformer/typescript", + }, + { + text: "JSX", + link: "/docs/guide/usage/transformer/jsx", + }, + { + text: "Plugins", + link: "/docs/guide/usage/transformer/plugins", + }, + { + text: "Global Variable Replacement", + link: "/docs/guide/usage/transformer/global-variable-replacement", + }, + { + text: "Isolated Declarations", + link: "/docs/guide/usage/transformer/isolated-declarations", + }, + ], + }, + { + text: "Minifier", + collapsed: true, + link: "/docs/guide/usage/minifier", + items: [ + { + text: "Overview", link: "/docs/guide/usage/minifier", - collapsed: true, - items: [ - { - text: "Dead Code Elimination", - link: "/docs/guide/usage/minifier/dead-code-elimination", - }, - { - text: "Syntax Normalization", - link: "/docs/guide/usage/minifier/syntax-normalization", - }, - { - text: "Mangling", - link: "/docs/guide/usage/minifier/mangling", - }, - { - text: "Whitespace Stripping", - link: "/docs/guide/usage/minifier/whitespace-stripping", - }, - { - text: "FAQ", - link: "/docs/guide/usage/minifier/faq", - }, - ], }, - { text: "Resolver", link: "/docs/guide/usage/resolver" }, + { + text: "Dead Code Elimination", + link: "/docs/guide/usage/minifier/dead-code-elimination", + }, + { + text: "Syntax Normalization", + link: "/docs/guide/usage/minifier/syntax-normalization", + }, + { + text: "Mangling", + link: "/docs/guide/usage/minifier/mangling", + }, + { + text: "Whitespace Stripping", + link: "/docs/guide/usage/minifier/whitespace-stripping", + }, + { + text: "FAQ", + link: "/docs/guide/usage/minifier/faq", + }, ], }, { + text: "Resolver", + collapsed: true, + link: "/docs/guide/usage/resolver", + items: [{ text: "Overview", link: "/docs/guide/usage/resolver" }], + }, + { + text: "Resources", + collapsed: false, items: [ { text: "Troubleshooting", link: "/docs/guide/troubleshooting" }, - { text: "All benchmarks", link: "/docs/guide/benchmarks" }, + { text: "Benchmarks", link: "/docs/guide/benchmarks" }, { text: "Projects using Oxc", link: "/docs/guide/projects" }, - { text: "On media", link: "/docs/guide/media" }, + { text: "Talks & media", link: "/docs/guide/media" }, ], }, ], diff --git a/.vitepress/config/rss.ts b/.vitepress/config/rss.ts index 558a18f4859..49fb34af62c 100644 --- a/.vitepress/config/rss.ts +++ b/.vitepress/config/rss.ts @@ -66,13 +66,13 @@ export const rssConfig = defineConfig({ }; }); // Override https://github.com/vuejs/vitepress/blob/179ee6/src/node/markdown/plugins/containers.ts#L26 - md.use(container, "code-group", { + (md.use as Function)(container, "code-group", { render(tokens: Token[], idx: number) { return tokens[idx].nesting === 1 ? "" : "
\n"; }, }); // `createMarkdownRenderer` returns a cached global renderer, so the above modifications will be applied to the next rendering - const posts = await createContentLoader("blog/*.md", { + const posts = await createContentLoader(["blog/*.md", "!blog/index.md"], { excerpt: true, render: true, }).load(); diff --git a/.vitepress/config/shared.ts b/.vitepress/config/shared.ts index bf04f379a69..e66e2dd5df1 100644 --- a/.vitepress/config/shared.ts +++ b/.vitepress/config/shared.ts @@ -7,6 +7,7 @@ import { groupIconVitePlugin, localIconLoader, } from "vitepress-plugin-group-icons"; +import llmstxt from "vitepress-plugin-llms"; function inlineScript(file: string): HeadConfig { return ["script", {}, readFileSync(resolve(__dirname, `./inlined-scripts/${file}`), "utf-8")]; @@ -127,9 +128,9 @@ export const sharedConfig = defineConfig({ provider: "local", }, socialLinks: [ + { icon: "x", link: "https://x.com/OxcProject" }, { icon: "bluesky", link: "https://bsky.app/profile/boshen.github.io" }, { icon: "discord", link: "https://discord.gg/9uXCAwqQZW" }, - { icon: "x", link: "https://x.com/OxcProject" }, { icon: "github", link: "https://github.com/oxc-project/oxc" }, ], lastUpdated: { @@ -190,6 +191,7 @@ export const sharedConfig = defineConfig({ ".oxlintrc": localIconLoader(import.meta.url, "../../public/logo-without-border.svg"), }, }), + llmstxt(), ], resolve: { alias: [ diff --git a/.vitepress/theme/components/AppBlogList.vue b/.vitepress/theme/components/AppBlogList.vue new file mode 100644 index 00000000000..8d10943c676 --- /dev/null +++ b/.vitepress/theme/components/AppBlogList.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/.vitepress/theme/constants/team.ts b/.vitepress/theme/constants/team.ts index 043b2be6016..76d3fdae277 100644 --- a/.vitepress/theme/constants/team.ts +++ b/.vitepress/theme/constants/team.ts @@ -100,6 +100,17 @@ export const CORE_MEMBERS: TeamMember[] = [ avatar: "https://www.github.com/Sysix.png", links: [{ icon: "github", link: "https://github.com/Sysix" }], }, + { + id: "connorshea", + type: "core", + name: "Connor Shea", + title: "Member", + avatar: "https://www.github.com/connorshea.png", + links: [ + { icon: "github", link: "https://github.com/connorshea" }, + { icon: "bluesky", link: "https://bsky.app/profile/connorshea.bsky.social" }, + ], + }, { id: "mysteryven", type: "emeriti", @@ -166,6 +177,20 @@ export const CORE_MEMBERS: TeamMember[] = [ orgLink: "https://github.com/typescript-eslint", links: [{ icon: "github", link: "https://github.com/auvred" }], }, + { + id: "bradzacher", + type: "consultant", + name: "Brad Zacher", + title: "Maintainer", + avatar: "https://www.github.com/bradzacher.png", + org: "typescript-eslint", + orgLink: "https://github.com/typescript-eslint", + links: [ + { icon: "github", link: "https://github.com/bradzacher" }, + { icon: "x", link: "https://x.com/bradzacher" }, + { icon: "bluesky", link: "https://bsky.app/profile/brad.zacher.com.au" }, + ], + }, ]; export const CORE_TEAM_MEMBERS = CORE_MEMBERS.filter( diff --git a/.vitepress/theme/styles.css b/.vitepress/theme/styles.css index 12ee7423097..9818e5ed4ee 100644 --- a/.vitepress/theme/styles.css +++ b/.vitepress/theme/styles.css @@ -14,3 +14,27 @@ :root[data-theme="light"][data-variant="oxc"] { --color-brand: #0d6a73; } + +/* Override unusual GitHub avatars */ +.VPTeamMembersItem { + --member-item-avatar-size-small: 64px; + --member-item-avatar-size-medium: 96px; + + .avatar-img { + object-fit: fill; + } + + &.small { + .avatar-img { + width: var(--member-item-avatar-size-small); + height: var(--member-item-avatar-size-small); + } + } + + &.medium { + .avatar-img { + width: var(--member-item-avatar-size-medium); + height: var(--member-item-avatar-size-medium); + } + } +} diff --git a/package.json b/package.json index 2c9b4bf39dc..36f40bd67ee 100644 --- a/package.json +++ b/package.json @@ -17,32 +17,33 @@ }, "devDependencies": { "@types/markdown-it": "^14.1.2", - "@types/markdown-it-container": "2.0.10", - "@types/node": "^24.10.2", - "@voidzero-dev/vitepress-theme": "^4.0.0", + "@types/markdown-it-container": "2.0.11", + "@types/node": "^25.0.3", + "@voidzero-dev/vitepress-theme": "^4.0.3", "degit": "^2.8.4", "esbuild": "0.27.2", "feed": "^5.1.0", "husky": "^9.1.7", - "knip": "^5.72.0", + "knip": "^5.78.0", "lint-staged": "16.2.7", "markdown-it-container": "^4.0.0", - "oxc-minify": "^0.105.0", - "oxfmt": "^0.20.0", - "oxlint": "^1.32.0", + "oxc-minify": "^0.107.0", + "oxfmt": "^0.23.0", + "oxlint": "^1.35.0", "oxlint-tsgolint": "^0.10.0", "typescript": "~5.9.3", "vitepress": "2.0.0-alpha.15", "vitepress-plugin-group-icons": "^1.6.5", - "vue": "^3.5.25" + "vitepress-plugin-llms": "^1.10.0", + "vue": "^3.5.26" }, "lint-staged": { "*": "oxfmt --no-error-on-unmatched-pattern" }, - "packageManager": "pnpm@10.26.0", + "packageManager": "pnpm@10.27.0", "pnpm": { "overrides": { - "vitepress>vite": "npm:vite@8.0.0-beta.3" + "vitepress>vite": "npm:vite@8.0.0-beta.5" }, "onlyBuiltDependencies": [ "esbuild" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ce90268601..047f5341f11 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - vitepress>vite: npm:vite@8.0.0-beta.3 + vitepress>vite: npm:vite@8.0.0-beta.5 importers: @@ -15,14 +15,14 @@ importers: specifier: ^14.1.2 version: 14.1.2 '@types/markdown-it-container': - specifier: 2.0.10 - version: 2.0.10 + specifier: 2.0.11 + version: 2.0.11 '@types/node': - specifier: ^24.10.2 - version: 24.10.4 + specifier: ^25.0.3 + version: 25.0.3 '@voidzero-dev/vitepress-theme': - specifier: ^4.0.0 - version: 4.0.0(focus-trap@7.6.6)(typescript@5.9.3)(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1))(vitepress@2.0.0-alpha.15(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.105.0)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.1))(vue@3.5.25(typescript@5.9.3)) + specifier: ^4.0.3 + version: 4.0.3(@algolia/client-search@5.46.2)(focus-trap@7.7.0)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2))(vitepress@2.0.0-alpha.15(@algolia/client-search@5.46.2)(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.107.0)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)) degit: specifier: ^2.8.4 version: 2.8.4 @@ -36,8 +36,8 @@ importers: specifier: ^9.1.7 version: 9.1.7 knip: - specifier: ^5.72.0 - version: 5.76.1(@types/node@24.10.4)(typescript@5.9.3) + specifier: ^5.78.0 + version: 5.78.0(@types/node@25.0.3)(typescript@5.9.3) lint-staged: specifier: 16.2.7 version: 16.2.7 @@ -45,32 +45,131 @@ importers: specifier: ^4.0.0 version: 4.0.0 oxc-minify: - specifier: ^0.105.0 - version: 0.105.0 + specifier: ^0.107.0 + version: 0.107.0 oxfmt: - specifier: ^0.20.0 - version: 0.20.0 + specifier: ^0.23.0 + version: 0.23.0 oxlint: - specifier: ^1.32.0 - version: 1.34.0(oxlint-tsgolint@0.10.0) + specifier: ^1.35.0 + version: 1.38.0(oxlint-tsgolint@0.10.1) oxlint-tsgolint: specifier: ^0.10.0 - version: 0.10.0 + version: 0.10.1 typescript: specifier: ~5.9.3 version: 5.9.3 vitepress: specifier: 2.0.0-alpha.15 - version: 2.0.0-alpha.15(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.105.0)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.1) + version: 2.0.0-alpha.15(@algolia/client-search@5.46.2)(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.107.0)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(yaml@2.8.2) vitepress-plugin-group-icons: specifier: ^1.6.5 - version: 1.6.5(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1)) + version: 1.6.5(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2)) + vitepress-plugin-llms: + specifier: ^1.10.0 + version: 1.10.0 vue: - specifier: ^3.5.25 - version: 3.5.25(typescript@5.9.3) + specifier: ^3.5.26 + version: 3.5.26(typescript@5.9.3) packages: + '@ai-sdk/gateway@2.0.23': + resolution: {integrity: sha512-qmX7afPRszUqG5hryHF3UN8ITPIRSGmDW6VYCmByzjoUkgm3MekzSx2hMV1wr0P+llDeuXb378SjqUfpvWJulg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + '@ai-sdk/provider-utils@3.0.19': + resolution: {integrity: sha512-W41Wc9/jbUVXVwCN/7bWa4IKe8MtxO3EyA0Hfhx6grnmiYlCvpI8neSYWFE0zScXJkgA/YK3BRybzgyiXuu6JA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + '@ai-sdk/provider@2.0.0': + resolution: {integrity: sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA==} + engines: {node: '>=18'} + + '@ai-sdk/react@2.0.118': + resolution: {integrity: sha512-K/5VVEGTIu9SWrdQ0s/11OldFU8IjprDzeE6TaC2fOcQWhG7dGVGl9H8Z32QBHzdfJyMhFUxEyFKSOgA2j9+VQ==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ~19.0.1 || ~19.1.2 || ^19.2.1 + zod: ^3.25.76 || ^4.1.8 + peerDependenciesMeta: + zod: + optional: true + + '@algolia/abtesting@1.12.2': + resolution: {integrity: sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/autocomplete-core@1.19.2': + resolution: {integrity: sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==} + + '@algolia/autocomplete-plugin-algolia-insights@1.19.2': + resolution: {integrity: sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==} + peerDependencies: + search-insights: '>= 1 < 3' + + '@algolia/autocomplete-shared@1.19.2': + resolution: {integrity: sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/client-abtesting@5.46.2': + resolution: {integrity: sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-analytics@5.46.2': + resolution: {integrity: sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-common@5.46.2': + resolution: {integrity: sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-insights@5.46.2': + resolution: {integrity: sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-personalization@5.46.2': + resolution: {integrity: sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-query-suggestions@5.46.2': + resolution: {integrity: sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==} + engines: {node: '>= 14.0.0'} + + '@algolia/client-search@5.46.2': + resolution: {integrity: sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==} + engines: {node: '>= 14.0.0'} + + '@algolia/ingestion@1.46.2': + resolution: {integrity: sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==} + engines: {node: '>= 14.0.0'} + + '@algolia/monitoring@1.46.2': + resolution: {integrity: sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==} + engines: {node: '>= 14.0.0'} + + '@algolia/recommend@5.46.2': + resolution: {integrity: sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-browser-xhr@5.46.2': + resolution: {integrity: sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-fetch@5.46.2': + resolution: {integrity: sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==} + engines: {node: '>= 14.0.0'} + + '@algolia/requester-node-http@5.46.2': + resolution: {integrity: sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==} + engines: {node: '>= 14.0.0'} + '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} @@ -94,11 +193,42 @@ packages: resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} engines: {node: '>=6.9.0'} - '@docsearch/css@4.3.2': - resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==} + '@docsearch/core@4.4.0': + resolution: {integrity: sha512-kiwNo5KEndOnrf5Kq/e5+D9NBMCFgNsDoRpKQJ9o/xnSlheh6b8AXppMuuUVVdAUIhIfQFk/07VLjjk/fYyKmw==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + + '@docsearch/css@4.4.0': + resolution: {integrity: sha512-e9vPgtih6fkawakmYo0Y6V4BKBmDV7Ykudn7ADWXUs5b6pmtBRwDbpSG/WiaUG63G28OkJDEnsMvgIAnZgGwYw==} + + '@docsearch/js@4.4.0': + resolution: {integrity: sha512-vCiKzjYD54bugUIMZA6YzuLDilkD3TNH/kfbvqsnzxiLTMu8F13psD+hdMSEOn7j+dFJOaf49fZ+gwr+rXctMw==} - '@docsearch/js@4.3.2': - resolution: {integrity: sha512-xdfpPXMgKRY9EW7U1vtY7gLKbLZFa9ed+t0Dacquq8zXBqAlH9HlUf0h4Mhxm0xatsVeMaIR2wr/u6g0GsZyQw==} + '@docsearch/react@4.4.0': + resolution: {integrity: sha512-z12zeg1mV7WD4Ag4pKSuGukETJLaucVFwszDXL/qLaEgRqxEaVacO9SR1qqnCXvZztlvz2rt7cMqryi/7sKfjA==} + peerDependencies: + '@types/react': '>= 16.8.0 < 20.0.0' + react: '>= 16.8.0 < 20.0.0' + react-dom: '>= 16.8.0 < 20.0.0' + search-insights: '>= 1 < 3' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + react-dom: + optional: true + search-insights: + optional: true '@emnapi/core@1.7.1': resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} @@ -280,8 +410,8 @@ packages: '@iconify-json/logos@1.2.10': resolution: {integrity: sha512-qxaXKJ6fu8jzTMPQdHtNxlfx6tBQ0jXRbHZIYy5Ilh8Lx9US9FsAdzZWUR8MXV8PnWTKGDFO4ZZee9VwerCyMA==} - '@iconify-json/simple-icons@1.2.60': - resolution: {integrity: sha512-KlwLBKCdMCqfySdkAA+jehdUx6VSjnj6lvzQKus7HjkPSQ6QP58d6xiptkIp0jd/Hw3PW2++nRuGvCvSYaF0Mg==} + '@iconify-json/simple-icons@1.2.64': + resolution: {integrity: sha512-SMmm//tjZBvHnT0EAzZLnBTL6bukSkncM0pwkOXjr0FsAeCqjQtqoxBR0Mp+PazIJjXJKHm1Ju0YgnCIPOodJg==} '@iconify-json/vscode-icons@1.2.33': resolution: {integrity: sha512-2lKDybGxXXeLeeqeNT2YVDYXs5va0YMHf06w3GemS22j/0CCTpKwKDK7REaibsCq3bRV8qX0RJDM4AbREE7L+w==} @@ -298,6 +428,14 @@ packages: '@internationalized/number@3.6.5': resolution: {integrity: sha512-6hY4Kl4HPBvtfS62asS/R22JzNNy8vi/Ssev7x6EobfCp+9QIB2hKvI2EtbdJ0VSQacxVNtqhE/NmF/NZ0gm6g==} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -314,8 +452,8 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - '@napi-rs/wasm-runtime@1.1.0': - resolution: {integrity: sha512-Fq6DJW+Bb5jaWE69/qOE0D1TUN9+6uWhCeZpdnSBk14pjLcCWR7Q8n49PTSPHazM37JqrsdpEthXy2xn6jWWiA==} + '@napi-rs/wasm-runtime@1.1.1': + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -329,91 +467,125 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-minify/binding-android-arm64@0.105.0': - resolution: {integrity: sha512-/jsiC6tiFsv0yexjvnsWTGxzhGDLLB10GIa6pIND4vokpxGRx9VjUM3+3/1BtNIZC9yAXfu4ToCcgUoJl8gyOw==} + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + engines: {node: '>=8.0.0'} + + '@oxc-minify/binding-android-arm-eabi@0.107.0': + resolution: {integrity: sha512-c8OTma/AnIdYxWUsubX6qSb5/EYpGymbkdpdjL5GKmtHWjUHpfzBWjzrNqnVm3KEPHcmbnJF4hJRi/Ti1mftJA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-minify/binding-android-arm64@0.107.0': + resolution: {integrity: sha512-NHoJpyugWtCbKNjvtHUgXHoj7Bhkf1/VVyK4c6W6Xbz+w6Wtm8X5mfymL9XnbS99BOeN/LwYD5Mj6DO7NvHsCw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.105.0': - resolution: {integrity: sha512-LObym7L2Pv8QOVrTwagES3ND3ae2l6cmf64S+dku7+FvwXy7kGGySuSGlQjJky+FB4iXor+fEFaeHF5IJzCwmQ==} + '@oxc-minify/binding-darwin-arm64@0.107.0': + resolution: {integrity: sha512-bTV2VXUSDN/i83wozKe56hfM3vMrPGSyCa+N/Nnmd94DTLXoHPk73P+JYJNbHl6/sH6nxYyFdLh7SYDn/HETdA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.105.0': - resolution: {integrity: sha512-L5D1u6yDSnDfZDKF2cM5PEAlWI/GjvpqryPMnNZtYKluXngNQBy1Egt3/Vq8m9GyWRcwoTzpMbibWDFXdfV8Hw==} + '@oxc-minify/binding-darwin-x64@0.107.0': + resolution: {integrity: sha512-HZTH0tZSeS3z0Woe4PLKOUMYxOp5ejHHju45XyAHooglEQR3w6VlZ1HQ3Kw4MCJqf4Z06z0nb7YhxpdS4getVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.105.0': - resolution: {integrity: sha512-H68IINjPH32ImUYILQupeobTwz0ibNIG8CTvQK/09eqWmx7pJ8rqsOBE1RaORZe0F0GvQC+g4RUkmMvYSDEY7A==} + '@oxc-minify/binding-freebsd-x64@0.107.0': + resolution: {integrity: sha512-jj7Q+8ktkGnQmhqOKpy34BkfkohUhGLSMrrBtISaKT0WN09RSkpxVBpoXCsifDZDiNk+JD9rPnWWAnLV+vEfFw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.105.0': - resolution: {integrity: sha512-KcFS2Ym1+T+CXXrLGDBm2z5SKSGjRPfcc5P6jaOOq1NVS3zdbgyuBjhVXfmo1a9RpYmMG77soO0AaOSxU64M2A==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.107.0': + resolution: {integrity: sha512-ID771jAKIAHPuaZUB4ljYBtBi98Z7P1PoPRPIyO3pYCaQjIXlxXYRCiovu0e8AGRFu65vq+uifEVFlwQgzbldg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.105.0': - resolution: {integrity: sha512-Rb8R/k0wbZB+EPXjhskCfrkJklPFKXJlXMgbtYMW1lJD8MmaoIHXgkVHCZefTJSmS+FCWSU7oM9KfoDd1elqxw==} + '@oxc-minify/binding-linux-arm-musleabihf@0.107.0': + resolution: {integrity: sha512-FsUoHmWTy1fwXo8fiGpkk9/CPaTXoUgkVILsuTbZE+jHTO1xsoKpSNvm9UKJMNxSELSgt0iGnnww9q9tj5imBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm64-gnu@0.107.0': + resolution: {integrity: sha512-97HCc3oxU1I06EOdbNSna6FFGVOb6aR93ucSNtkekJjfOfsKYJOZV/SF80DGWRYR2uDX5ChRj1d3fUBR1uWCiw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-arm64-musl@0.105.0': - resolution: {integrity: sha512-RBny7iOlRx5xhILoUEhrVoq8KXnXZ1EyKzVsXNlt4dTpmX21HNEYzrkJ1yP0ToC/EAD+QJqdI//RgQVKqzA2Iw==} + '@oxc-minify/binding-linux-arm64-musl@0.107.0': + resolution: {integrity: sha512-/qsts0t/i2r+nQdYxhyg4usLPPJJZMW4QFWq4yHa7AIpbYpMggm3KMEMS+WsDO09mMJrEMe3FafcXx81QQRixA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-riscv64-gnu@0.105.0': - resolution: {integrity: sha512-/Toed74W32AyofZqwNeahovBntCB9pzsODR66rZgxLn5lRP518H3pwBsDukU20JJS3KnJCr3pq++b0KHGWnKkg==} + '@oxc-minify/binding-linux-ppc64-gnu@0.107.0': + resolution: {integrity: sha512-wyq/KLE1FaffORx7wZYxUaIwNv9dPPpdJUF6SuN0YKufkAabMqeq4XsXOXo4BBiVEEy2wYz68xUVh0k5SnIoNA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxc-minify/binding-linux-riscv64-gnu@0.107.0': + resolution: {integrity: sha512-+X4XArSQpiAPwooojKxXmci/WSXnwmRT4uc1C6+sf73JIYeIqhxHpgACBeuIQiwPIONMOBJ3L4EA5VXBU4ADmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] - '@oxc-minify/binding-linux-s390x-gnu@0.105.0': - resolution: {integrity: sha512-hkfVHPFGdkccRwusV+VjCZY8fPo3eyaTxBQSlXLjEU4kwMTxZRzJYqM0znQVBAWFY3jsv5XCp/TMqlFBP9FgoA==} + '@oxc-minify/binding-linux-riscv64-musl@0.107.0': + resolution: {integrity: sha512-j9h77oDyJkilYY59k/Ing+k1Fy9wjonKl7S8GhqHmr3K5L2T/5bgoetPUtmanZkiaKX3ZDE/Yxgk6QxqymyNIA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-minify/binding-linux-s390x-gnu@0.107.0': + resolution: {integrity: sha512-id71v100CWrORuy9W93bmVVDLRz6yck/DlD12cMtZFrN5ed2NpMn8ekhkTcSdqAhikcdNRfxIhYVWqOd7qzO5A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] - '@oxc-minify/binding-linux-x64-gnu@0.105.0': - resolution: {integrity: sha512-2v7OftnK4nVIUl/aEHgiLfo6DCzuoxDGcWie6Kp+6KN/p8mT9xkaszYFUfWDqGLmoP98ZYmvV1dxsKkvI6Qgww==} + '@oxc-minify/binding-linux-x64-gnu@0.107.0': + resolution: {integrity: sha512-g0KexSyD+kUFfr4TUFceh9Zoi7mh/eqzCFl/tUP78bSegs/hRTzJzKeBH6qliJtb++lcvFwtacl7ertyf+dmTQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxc-minify/binding-linux-x64-musl@0.105.0': - resolution: {integrity: sha512-dvE0HS/mc3Lm9Tc0/QLxEaRk9clbbixCAUhOl217J7LIBSDshnPxFgVvhJbF6+PMKC/PlgbG55tdVnSw65UbLw==} + '@oxc-minify/binding-linux-x64-musl@0.107.0': + resolution: {integrity: sha512-NLyrEEav8EexP7JDt2Lvn4p27PcoiDHt7AhsSSd0yNgNsrLcq8/jgM5RnZ+3XXXXfJiw2rQOGCifwmmjmMYdow==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@oxc-minify/binding-openharmony-arm64@0.105.0': - resolution: {integrity: sha512-kfyzXQeyklma1aEylXoeG2iLaAhJw/AkgsvtHcGTBcVIdwGWOEGIkIOoJj2WdqiLN7aKziVrzSlyv6JYrOAl+w==} + '@oxc-minify/binding-openharmony-arm64@0.107.0': + resolution: {integrity: sha512-fDnVUgVT/FRNaek4uqXsldfl/m+f048A3IXQxtXSt8cb1nsiTYTa+L9wSWGcv8ohQ0xkT7MYRmHwLJ0q9PhYpg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-minify/binding-wasm32-wasi@0.105.0': - resolution: {integrity: sha512-1oGdYedbrHKSrQv99n3BEj0iJGSmREcX0Npx3Zgv9BcI5+4HSJ7HVdVOATRz1fXNBGg39jjzgptty0R+d5xKbQ==} + '@oxc-minify/binding-wasm32-wasi@0.107.0': + resolution: {integrity: sha512-C2BzPWXB+yysl8FYwv1/BfoIrSFA+D93/aZ/e3ZumNh4zef1H/u+biI6IGIrclHFOA5P4I6QAmYHSm+eC42dHg==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.105.0': - resolution: {integrity: sha512-A5i7umncQmUEgnnT8sFCVL0cysMlr8QzcPA55JoIcKfwJ53BR+T2+QZAhP9m2HRGhoX19PuUkcyZsRQc+vWCjg==} + '@oxc-minify/binding-win32-arm64-msvc@0.107.0': + resolution: {integrity: sha512-7QYS2Kz6iEuJIZs8XhZ/saTXSjG9l9rXU5p35u9kZUq1HZhDOETGHItf/4WxqMFjpRc1j1cJUzeadP4ilniwog==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.105.0': - resolution: {integrity: sha512-z41QCv51V49l03+uFIrjyjrUh1x6QnQ/ZJxo3sCVp+SiOzrq8vj1Ikj4TUoDMOUKUDQyGRtshhM7PselmjKRDA==} + '@oxc-minify/binding-win32-ia32-msvc@0.107.0': + resolution: {integrity: sha512-I72JSHIEgegQvFMaRVewnEN/n8d6nwxYDwWsjgJbjrhPDw7oZOI18zw14RyyYVo4eRqPHKQFYtmmT6hINXvUhA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-minify/binding-win32-x64-msvc@0.107.0': + resolution: {integrity: sha512-BQ0vmZWxIdllKjmaXfoyECOVogoL4UKUc6dbwcCKBsmiwTDhTeQRkX+XK017HsmvCoh/8gpsr8lBUlIh18mj4g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -425,326 +597,329 @@ packages: '@oxc-project/types@0.103.0': resolution: {integrity: sha512-bkiYX5kaXWwUessFRSoXFkGIQTmc6dLGdxuRTrC+h8PSnIdZyuXHHlLAeTmOue5Br/a0/a7dHH0Gca6eXn9MKg==} - '@oxc-resolver/binding-android-arm-eabi@11.16.0': - resolution: {integrity: sha512-/kFX4o8KISHCZzHRs8fBp/wZOPdkhYGquhMP2PQjc8ePAVbtaXXDPAFkjUKhz2jXNPS4jGA1wNW+8grhnJgstw==} + '@oxc-resolver/binding-android-arm-eabi@11.16.2': + resolution: {integrity: sha512-lVJbvydLQIDZHKUb6Zs9Rq80QVTQ9xdCQE30eC9/cjg4wsMoEOg65QZPymUAIVJotpUAWJD0XYcwE7ugfxx5kQ==} cpu: [arm] os: [android] - '@oxc-resolver/binding-android-arm64@11.16.0': - resolution: {integrity: sha512-kPySx7j7mPxW4mRDrdbADyzJV2XrxVeMPDmNnFvTt0/LT1IA26Uk9hzWKQb4k4aeJY58bnRY1soYSawW5wAlKQ==} + '@oxc-resolver/binding-android-arm64@11.16.2': + resolution: {integrity: sha512-fEk+g/g2rJ6LnBVPqeLcx+/alWZ/Db1UlXG+ZVivip0NdrnOzRL48PAmnxTMGOrLwsH1UDJkwY3wOjrrQltCqg==} cpu: [arm64] os: [android] - '@oxc-resolver/binding-darwin-arm64@11.16.0': - resolution: {integrity: sha512-eB00fkys5TX6oI3lY+1hgHl6dwfmrbhHTmInmJmfD6BysHpE+DUqSdQIRS2v5NI6+j+J9EWBmbW3hRtolr+MSg==} + '@oxc-resolver/binding-darwin-arm64@11.16.2': + resolution: {integrity: sha512-Pkbp1qi7kdUX6k3Fk1PvAg6p7ruwaWKg1AhOlDgrg2vLXjtv9ZHo7IAQN6kLj0W771dPJZWqNxoqTPacp2oYWA==} cpu: [arm64] os: [darwin] - '@oxc-resolver/binding-darwin-x64@11.16.0': - resolution: {integrity: sha512-B/yMSxqe4MZfh/VoMax0qixl4XxG/sAQVlYtdVGNteBAYKfX/uw2mglkYsApk6D4qD6fVgJ21RwI50lV7oD0Qg==} + '@oxc-resolver/binding-darwin-x64@11.16.2': + resolution: {integrity: sha512-FYCGcU1iSoPkADGLfQbuj0HWzS+0ItjDCt9PKtu2Hzy6T0dxO4Y1enKeCOxCweOlmLEkSxUlW5UPT4wvT3LnAg==} cpu: [x64] os: [darwin] - '@oxc-resolver/binding-freebsd-x64@11.16.0': - resolution: {integrity: sha512-aKj+PNsSdn0owueMt/6TtR8QuLBNL/q2HgMdN8nRCDmoCBPvQlwB2s+AcW+UW1vyiok+9qiI5tVjihbKwQ+Khg==} + '@oxc-resolver/binding-freebsd-x64@11.16.2': + resolution: {integrity: sha512-1zHCoK6fMcBjE54P2EG/z70rTjcRxvyKfvk4E/QVrWLxNahuGDFZIxoEoo4kGnnEcmPj41F0c2PkrQbqlpja5g==} cpu: [x64] os: [freebsd] - '@oxc-resolver/binding-linux-arm-gnueabihf@11.16.0': - resolution: {integrity: sha512-fxod0D0eMsIlGF98KRAwR3zjLCbpRoknDHjCHx22A9TmyQthGo7t66gwkRCj5g2LBbpaPZ+i6cYd2l9bRrx8+Q==} + '@oxc-resolver/binding-linux-arm-gnueabihf@11.16.2': + resolution: {integrity: sha512-+ucLYz8EO5FDp6kZ4o1uDmhoP+M98ysqiUW4hI3NmfiOJQWLrAzQjqaTdPfIOzlCXBU9IHp5Cgxu6wPjVb8dbA==} cpu: [arm] os: [linux] - '@oxc-resolver/binding-linux-arm-musleabihf@11.16.0': - resolution: {integrity: sha512-5BoVnD0hpEID/13hnj0fCIojE26wfa9p4puCnm12/D5BhGlXA103n8iRaPZPLHS/prQGtrwMiFONiysD6vmIBA==} + '@oxc-resolver/binding-linux-arm-musleabihf@11.16.2': + resolution: {integrity: sha512-qq+TpNXyw1odDgoONRpMLzH4hzhwnEw55398dL8rhKGvvYbio71WrJ00jE+hGlEi7H1Gkl11KoPJRaPlRAVGPw==} cpu: [arm] os: [linux] - '@oxc-resolver/binding-linux-arm64-gnu@11.16.0': - resolution: {integrity: sha512-dMoKX6A8iuIdShbc4PB/+q6Tx8grgQxNAJQfIAmpaDTZp5NxfgzKrssPL0TCdu3RQMblF8yfXLYUFnOdPYZeRg==} + '@oxc-resolver/binding-linux-arm64-gnu@11.16.2': + resolution: {integrity: sha512-xlMh4gNtplNQEwuF5icm69udC7un0WyzT5ywOeHrPMEsghKnLjXok2wZgAA7ocTm9+JsI+nVXIQa5XO1x+HPQg==} cpu: [arm64] os: [linux] - '@oxc-resolver/binding-linux-arm64-musl@11.16.0': - resolution: {integrity: sha512-oLJsyqVHw53ZZPl3+wPiRNXTvavBFSInRYBB5MaNf+y42+b4XJfH7hVYyc67er0c26cQUCfx2KzqltSx7Jg9jg==} + '@oxc-resolver/binding-linux-arm64-musl@11.16.2': + resolution: {integrity: sha512-OZs33QTMi0xmHv/4P0+RAKXJTBk7UcMH5tpTaCytWRXls/DGaJ48jOHmriQGK2YwUqXl+oneuNyPOUO0obJ+Hg==} cpu: [arm64] os: [linux] - '@oxc-resolver/binding-linux-ppc64-gnu@11.16.0': - resolution: {integrity: sha512-qL7GsXwyytVTIh/o8cLftRYvzrpniD8pFf0jDW3VXlVsl1joCrb4GM26udGls7Zxe76nsZpPvQVB5eZ9xmHxIA==} + '@oxc-resolver/binding-linux-ppc64-gnu@11.16.2': + resolution: {integrity: sha512-UVyuhaV32dJGtF6fDofOcBstg9JwB2Jfnjfb8jGlu3xcG+TsubHRhuTwQ6JZ1sColNT1nMxBiu7zdKUEZi1kwg==} cpu: [ppc64] os: [linux] - '@oxc-resolver/binding-linux-riscv64-gnu@11.16.0': - resolution: {integrity: sha512-CFJEvagoakxPtIoKtRgPoGUqeXSgd63c3/T9hOXrgelOaMv6aEWFfjvc/4Lk5ppk2wv4KeK4IqOKBe8Faqv1Mw==} + '@oxc-resolver/binding-linux-riscv64-gnu@11.16.2': + resolution: {integrity: sha512-YZZS0yv2q5nE1uL/Fk4Y7m9018DSEmDNSG8oJzy1TJjA1jx5HL52hEPxi98XhU6OYhSO/vC1jdkJeE8TIHugug==} cpu: [riscv64] os: [linux] - '@oxc-resolver/binding-linux-riscv64-musl@11.16.0': - resolution: {integrity: sha512-LVuE2tbZ7gjEjY1G8mjf7+pacj0/Rge9EoHxr8DY2gAxxy0qXe5Yh2Qxe3dwwFGObVNioqRH0IPkePmQ/KJK6w==} + '@oxc-resolver/binding-linux-riscv64-musl@11.16.2': + resolution: {integrity: sha512-9VYuypwtx4kt1lUcwJAH4dPmgJySh4/KxtAPdRoX2BTaZxVm/yEXHq0mnl/8SEarjzMvXKbf7Cm6UBgptm3DZw==} cpu: [riscv64] os: [linux] - '@oxc-resolver/binding-linux-s390x-gnu@11.16.0': - resolution: {integrity: sha512-D4Zk48WN7sKsbyq4xD2F09U4S0sIkHXTW9A33BaqjfNXOD/jFXM5nTPahHx2RxBLo5ZEgS3kUW1U8V0oCBcPcg==} + '@oxc-resolver/binding-linux-s390x-gnu@11.16.2': + resolution: {integrity: sha512-3gbwQ+xlL5gpyzgSDdC8B4qIM4mZaPDLaFOi3c/GV7CqIdVJc5EZXW4V3T6xwtPBOpXPXfqQLbhTnUD4SqwJtA==} cpu: [s390x] os: [linux] - '@oxc-resolver/binding-linux-x64-gnu@11.16.0': - resolution: {integrity: sha512-WyqsQwz+x1lDe/rwf5pl/FiTiS4eEM7hEHn1OwjP+EThzXXBup9BeZE5QVB421QGm9n4SyJT1gJgI1LCRvqbaA==} + '@oxc-resolver/binding-linux-x64-gnu@11.16.2': + resolution: {integrity: sha512-m0WcK0j54tSwWa+hQaJMScZdWneqE7xixp/vpFqlkbhuKW9dRHykPAFvSYg1YJ3MJgu9ZzVNpYHhPKJiEQq57Q==} cpu: [x64] os: [linux] - '@oxc-resolver/binding-linux-x64-musl@11.16.0': - resolution: {integrity: sha512-5XCuIoviaMsiAAuaQL4HqnYj1BkADcbtdf2s6Ru4YHF3P/bt2p05hd4xVo85cFT1VXlGYL66XVfepsAGymJs0g==} + '@oxc-resolver/binding-linux-x64-musl@11.16.2': + resolution: {integrity: sha512-ZjUm3w96P2t47nWywGwj1A2mAVBI/8IoS7XHhcogWCfXnEI3M6NPIRQPYAZW4s5/u3u6w1uPtgOwffj2XIOb/g==} cpu: [x64] os: [linux] - '@oxc-resolver/binding-openharmony-arm64@11.16.0': - resolution: {integrity: sha512-gn54HKxOhWTxZG8pNeBMmbRwHT4k/eIf0KxBII2oHUrSTinNTcqu6xn1etqt1Yezi9KzJzkTMS0cl5kTFmCHUQ==} + '@oxc-resolver/binding-openharmony-arm64@11.16.2': + resolution: {integrity: sha512-OFVQ2x3VenTp13nIl6HcQ/7dmhFmM9dg2EjKfHcOtYfrVLQdNR6THFU7GkMdmc8DdY1zLUeilHwBIsyxv5hkwQ==} cpu: [arm64] os: [openharmony] - '@oxc-resolver/binding-wasm32-wasi@11.16.0': - resolution: {integrity: sha512-dUsUjffSI7nlt+TH9C4gGqmD/kNyx3Kghh8u+i8eZZAEFWDO+s51Yw3UADDa0BYrZDeaLjz8rgHWCE8lxpL2XQ==} + '@oxc-resolver/binding-wasm32-wasi@11.16.2': + resolution: {integrity: sha512-+O1sY3RrGyA2AqDnd3yaDCsqZqCblSTEpY7TbbaOaw0X7iIbGjjRLdrQk9StG3QSiZuBy9FdFwotIiSXtwvbAQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-resolver/binding-win32-arm64-msvc@11.16.0': - resolution: {integrity: sha512-6EhsnwzA6iT752sU5tv/r+XI5cz6sWUPHJZu3brTW3m96j6yCZ8vnfeKAkFCzuDwZAXOkRLPW8WKrL0GXWfCUQ==} + '@oxc-resolver/binding-win32-arm64-msvc@11.16.2': + resolution: {integrity: sha512-jMrMJL+fkx6xoSMFPOeyQ1ctTFjavWPOSZEKUY5PebDwQmC9cqEr4LhdTnGsOtFrWYLXlEU4xWeMdBoc/XKkOA==} cpu: [arm64] os: [win32] - '@oxc-resolver/binding-win32-ia32-msvc@11.16.0': - resolution: {integrity: sha512-YpUXuKrslGs4+In1gZhY25menhzyBbMct4RvWT9je6mYA5VCQ6aGAZf/ky5b+5sNPpR2UBNbCcYk5pP/6MowMw==} + '@oxc-resolver/binding-win32-ia32-msvc@11.16.2': + resolution: {integrity: sha512-tl0xDA5dcQplG2yg2ZhgVT578dhRFafaCfyqMEAXq8KNpor85nJ53C3PLpfxD2NKzPioFgWEexNsjqRi+kW2Mg==} cpu: [ia32] os: [win32] - '@oxc-resolver/binding-win32-x64-msvc@11.16.0': - resolution: {integrity: sha512-x3hU0m0c/+frUSFaw3r5Xmde5q/PdsAfznh+8lZloGK2/qfIze0jyQG0H5M6AgrUIQE1oNn8vdGXanza5+naMw==} + '@oxc-resolver/binding-win32-x64-msvc@11.16.2': + resolution: {integrity: sha512-M7z0xjYQq1HdJk2DxTSLMvRMyBSI4wn4FXGcVQBsbAihgXevAReqwMdb593nmCK/OiFwSNcOaGIzUvzyzQ+95w==} cpu: [x64] os: [win32] - '@oxfmt/darwin-arm64@0.20.0': - resolution: {integrity: sha512-bjR5dqvrd9gxKYfYR0ljUu3/T3+TuDVWcwA7d+tsfmx9lqidlw3zhgBTblnjF1mrd1zkPMoc5zzq86GeSEt1cA==} + '@oxfmt/darwin-arm64@0.23.0': + resolution: {integrity: sha512-shGng2EjBspvuqtFtcjcKf0WoZ9QCdL8iLYgdOoKSiSQ9pPyLJ4jQf62yhm4b2PpZNVcV/20gV6d8SyKzg6SZQ==} cpu: [arm64] os: [darwin] - '@oxfmt/darwin-x64@0.20.0': - resolution: {integrity: sha512-esUDes8FlJX3IY4TVjFLgZrnZlIIyPDlhkCaHgGR3+z2eHFZOvQu68kTSpZLCEJmGXdSpU5rlveycQ6n8tk9ew==} + '@oxfmt/darwin-x64@0.23.0': + resolution: {integrity: sha512-DxQ7Hm7B+6JiIkiRU3CSJmM15nTJDDezyaAv+x9NN8BfU0C49O8JuZIFu1Lr9AKEPV+ECIYM2X4HU0xm6IdiMQ==} cpu: [x64] os: [darwin] - '@oxfmt/linux-arm64-gnu@0.20.0': - resolution: {integrity: sha512-irE0RO9B0R6ziQE6kUVZtZ6IuTdRyuumn1cPWhDfpa0XUa5sE0ly8pjVsvJbj/J9qerVtidU05txeXBB5CirQg==} + '@oxfmt/linux-arm64-gnu@0.23.0': + resolution: {integrity: sha512-7qTXPpENi45sEKsaYFit4VRywPVkX+ZJc5JVA17KW1coJ/SLUuRAdLjRipU+QTZsr1TF93HCmGFSlUjB7lmEVQ==} cpu: [arm64] os: [linux] - '@oxfmt/linux-arm64-musl@0.20.0': - resolution: {integrity: sha512-eXPBLwYJm26DCmwMwhelEwQMRwuGNaYhYZOhd+CYYsmVoF+h6L6dtjwj0Ovuu0Gqh18EL8vfsaoUvb+jr3vEBg==} + '@oxfmt/linux-arm64-musl@0.23.0': + resolution: {integrity: sha512-qkFXbf+K01B++j69o9mLvvyfhmmL4+qX7hGPA2PRDkE5xxuUTWdqboQQc1FgGI0teUlIYYyxjamq9UztL2A7NA==} cpu: [arm64] os: [linux] - '@oxfmt/linux-x64-gnu@0.20.0': - resolution: {integrity: sha512-dTPW38Hjgb7LoD2mNgyQGBaJ1hu5YgPrxImhl5Eb04eiws+ETCM0wrb2TWGduA+Nv3rHKn3vZEkMTEjklZXgRw==} + '@oxfmt/linux-x64-gnu@0.23.0': + resolution: {integrity: sha512-J7Q13Ujyn8IgjHD96urA377GOy8HerxC13OrEyYaM8iwH3gc/EoboK9AKu0bxp9qai4btPFDhnkRnpCwJE9pAw==} cpu: [x64] os: [linux] - '@oxfmt/linux-x64-musl@0.20.0': - resolution: {integrity: sha512-b4duw9JGDK/kZoqrPNU9tBOOZQdUW8KJPZ7gW7z54X1eGSqCJ1PT0XLNmZ7SOA1BzQwQ0a3qmQWfFVOsH3a5bw==} + '@oxfmt/linux-x64-musl@0.23.0': + resolution: {integrity: sha512-3gb25Zk2/y4An8fi399KdpLkDYFTJEB5Nq/sSHmeXG0pZlR/jnKoXEFHsjU+9nqF2wsuZ+tmkoi/swcaGG8+Qg==} cpu: [x64] os: [linux] - '@oxfmt/win32-arm64@0.20.0': - resolution: {integrity: sha512-XAzvBhw4K+Fe16dBaFgYAdob9WaM8RYEXl0ibbm5NlNaQEq+5bH9xwc0oaYlHFnLfcgXWmn9ceTAYqNlONQRNA==} + '@oxfmt/win32-arm64@0.23.0': + resolution: {integrity: sha512-JKfRP2ENWwRZ73rMZFyChvRi/+oDEW+3obp1XIwecot8gvDHgGZ4nX3hTp4VPiBFL89JORMpWSKzJvjRDucJIw==} cpu: [arm64] os: [win32] - '@oxfmt/win32-x64@0.20.0': - resolution: {integrity: sha512-fkJqHbJaoOMRmrjHSljyb4/7BgXO3xPLBsJSFGtm3mpfW0HHFbAKvd4/6njhqJz9KY+b3RWP1WssjFshcqQQ4w==} + '@oxfmt/win32-x64@0.23.0': + resolution: {integrity: sha512-vgqtYK1X1n/KexCNQKWXao3hyOnmWuCzk2sQyCSpkLhjSNIDPm7dmnEkvOXhf1t0O5RjCwHpk2VB6Fuaq3GULg==} cpu: [x64] os: [win32] - '@oxlint-tsgolint/darwin-arm64@0.10.0': - resolution: {integrity: sha512-mhBF/pjey0UdLL1ocU46Fqta+uJuRfqrLfDpcViRg17BtDiUNd8JY9iN2FOoS2HGSCAgCUjZ0AZkwkHwFs/VTw==} + '@oxlint-tsgolint/darwin-arm64@0.10.1': + resolution: {integrity: sha512-KGC4++BeEqrIcmDHiJt/e6/860PWJmUJjjp0mE+smpBmRXMjmOFFjrPmN+ZyCyVgf1WdmhPkQXsRSPeTR+2omw==} cpu: [arm64] os: [darwin] - '@oxlint-tsgolint/darwin-x64@0.10.0': - resolution: {integrity: sha512-roLi34mw/i1z+NS7luboix55SXyhVv38dNUTcRDkk+0lNPzI9ngrM+1y1N2oBSUmz5o9OZGnfJJ7BSGCw/fFEQ==} + '@oxlint-tsgolint/darwin-x64@0.10.1': + resolution: {integrity: sha512-tvmrDgj3Q0tdc+zMWfCVLVq8EQDEUqasm1zaWgSMYIszpID6qdgqbT+OpWWXV9fLZgtvrkoXGwxkHAUJzdVZXQ==} cpu: [x64] os: [darwin] - '@oxlint-tsgolint/linux-arm64@0.10.0': - resolution: {integrity: sha512-HL9NThPH1V2F6l9XhwNmhQZUknN4m4yQYEvQFFGfZTYN6cvEEBIiqfF4KvBUg8c0xadMbQlW+Ug7/ybA9Nn+CA==} + '@oxlint-tsgolint/linux-arm64@0.10.1': + resolution: {integrity: sha512-7kD28z6/ykGx8WetKTPRZt30pd+ziassxg/8cM24lhjUI+hNXyRHVtHes73dh9D6glJKno+1ut+3amUdZBZcpQ==} cpu: [arm64] os: [linux] - '@oxlint-tsgolint/linux-x64@0.10.0': - resolution: {integrity: sha512-Tw8QNq8ab+4+qE5krvJyMA66v6XE3GoiISRD5WmJ7YOxUnu//jSw/bBm7OYf/TNEZyeV0BTR7zXzhT5R+VFWlQ==} + '@oxlint-tsgolint/linux-x64@0.10.1': + resolution: {integrity: sha512-NmJmiqdzYUTHIxteSTyX6IFFgnIsOAjRWXfrS6Jbo5xlB3g39WHniSF3asB/khLJNtwSg4InUS34NprYM7zrEw==} cpu: [x64] os: [linux] - '@oxlint-tsgolint/win32-arm64@0.10.0': - resolution: {integrity: sha512-LTogmTRwpwQqVaH1Ama8Wd5/VVZWBSF8v5qTbeT628+1F5Kt1V5eHBvyFh4oN18UCZlgqrh7DqkDhsieXUaC8Q==} + '@oxlint-tsgolint/win32-arm64@0.10.1': + resolution: {integrity: sha512-3KrT80vl3nXUkjuJI/z8dF6xWsKx0t9Tz4ZQHgQw3fYw+CoihBRWGklrdlmCz+EGfMyVaQLqBV9PZckhSqLe2A==} cpu: [arm64] os: [win32] - '@oxlint-tsgolint/win32-x64@0.10.0': - resolution: {integrity: sha512-ygqxx8EmNWy9/wCQS5uXq9k/o2EyYNwNxY1ZHNzlmZC/kV06Aemx5OBDafefawBNqH7xTZPfccUrjdiy+QlTrw==} + '@oxlint-tsgolint/win32-x64@0.10.1': + resolution: {integrity: sha512-hW1fSJZVxG51sLdGq1sQjOzb1tsQ23z/BquJfUwL7CqBobxr7TJvGmoINL+9KryOJt0jCoaiMfWe4yoYw5XfIA==} cpu: [x64] os: [win32] - '@oxlint/darwin-arm64@1.34.0': - resolution: {integrity: sha512-euz3Dtp5/UE9axFkQnllOWp3gOwoqaxfZPUUwiW8HBelqhI9PRMVIfQ/akmwl+G5XixQZIgXkXQ5SJxnb1+Qww==} + '@oxlint/darwin-arm64@1.38.0': + resolution: {integrity: sha512-9rN3047QTyA4i73FKikDUBdczRcLtOsIwZ5TsEx5Q7jr5nBjolhYQOFQf9QdhBLdInxw1iX4+lgdMCf1g74zjg==} cpu: [arm64] os: [darwin] - '@oxlint/darwin-x64@1.34.0': - resolution: {integrity: sha512-XpmNviE5KOnHkhmQPwJJIBs+mJkr0qItTZBN4dz+O3p9gWN+gCqi3CBP71RiVahZw4qAEQSgY4wro+z0kx+erg==} + '@oxlint/darwin-x64@1.38.0': + resolution: {integrity: sha512-Y1UHW4KOlg5NvyrSn/bVBQP8/LRuid7Pnu+BWGbAVVsFcK0b565YgMSO3Eu9nU3w8ke91dr7NFpUmS+bVkdkbw==} cpu: [x64] os: [darwin] - '@oxlint/linux-arm64-gnu@1.34.0': - resolution: {integrity: sha512-aCPdoEUGsJGF9y88vDYoaugG4IEGwSBa+usyuAvEVl3vTfuTmE0RDQEC1Z+WnJ3J/cIEpbgKOzS12VwbzFicjg==} + '@oxlint/linux-arm64-gnu@1.38.0': + resolution: {integrity: sha512-ZiVxPZizlXSnAMdkEFWX/mAj7U3bNiku8p6I9UgLrXzgGSSAhFobx8CaFGwVoKyWOd+gQgZ/ogCrunvx2k0CFg==} cpu: [arm64] os: [linux] - '@oxlint/linux-arm64-musl@1.34.0': - resolution: {integrity: sha512-cMo72LQBFmdnVLRKLAHD94ZUBq5Z+aA9Y+RKzkjhCmJuef5ZAfKC24TJD/6c5LxGYzkwwmyySoQAHq5B69i3PQ==} + '@oxlint/linux-arm64-musl@1.38.0': + resolution: {integrity: sha512-ELtlCIGZ72A65ATZZHFxHMFrkRtY+DYDCKiNKg6v7u5PdeOFey+OlqRXgXtXlxWjCL+g7nivwI2FPVsWqf05Qw==} cpu: [arm64] os: [linux] - '@oxlint/linux-x64-gnu@1.34.0': - resolution: {integrity: sha512-+9xFhhkqgNIysEh+uHvcba8v4UtL1YzxuyDS2wTLdWrkGvIllCx5WjJItt3K/AhwatciksgNEXSo2Hh4fcQRog==} + '@oxlint/linux-x64-gnu@1.38.0': + resolution: {integrity: sha512-E1OcDh30qyng1m0EIlsOuapYkqk5QB6o6IMBjvDKqIoo6IrjlVAasoJfS/CmSH998gXRL3BcAJa6Qg9IxPFZnQ==} cpu: [x64] os: [linux] - '@oxlint/linux-x64-musl@1.34.0': - resolution: {integrity: sha512-qa7TL2DfEDdMeSP5UiU5JMs6D2PW7ZJAQ0WZYTgqDV8BlZ6nMkIYVBVIk3QPxIfkyxvfJVbG1RB3PkSWDcfwpA==} + '@oxlint/linux-x64-musl@1.38.0': + resolution: {integrity: sha512-4AfpbM/4sQnr6S1dMijEPfsq4stQbN5vJ2jsahSy/QTcvIVbFkgY+RIhrA5UWlC6eb0rD5CdaPQoKGMJGeXpYw==} cpu: [x64] os: [linux] - '@oxlint/win32-arm64@1.34.0': - resolution: {integrity: sha512-mSJumUveg1S3DiOgvsrVNAGuvenBbbC/zsfT1qhltT+GLhJ7RPBK2I/jz0fTdE+I7M9/as8yc0XJ/eY23y2amA==} + '@oxlint/win32-arm64@1.38.0': + resolution: {integrity: sha512-OvUVYdI68OwXh3d1RjH9N/okCxb6PrOGtEtzXyqGA7Gk+IxyZcX0/QCTBwV8FNbSSzDePSSEHOKpoIB+VXdtvg==} cpu: [arm64] os: [win32] - '@oxlint/win32-x64@1.34.0': - resolution: {integrity: sha512-izsDDt5WY4FSISCkPRLUYQD1aRaaEJkPLtEZe3DlioSUdUVAdvVbE+BGllFqR16DWfTTwO/6K4jDeooxQzTMjw==} + '@oxlint/win32-x64@1.38.0': + resolution: {integrity: sha512-7IuZMYiZiOcgg5zHvpJY6jRlEwh8EB/uq7GsoQJO9hANq96TIjyntGByhIjFSsL4asyZmhTEki+MO/u5Fb/WQA==} cpu: [x64] os: [win32] '@rive-app/canvas@2.33.1': resolution: {integrity: sha512-bMGWdRLwKT1ZsddgJS2uMtFQVMFk4Rc1LzdhnRfSC43DpwJ/GFaa8ocPYdhfTees7t9eY9QCtt3PIozNf/u93A==} - '@rolldown/binding-android-arm64@1.0.0-beta.55': - resolution: {integrity: sha512-5cPpHdO+zp+klznZnIHRO1bMHDq5hS9cqXodEKAaa/dQTPDjnE91OwAsy3o1gT2x4QaY8NzdBXAvutYdaw0WeA==} + '@rolldown/binding-android-arm64@1.0.0-beta.57': + resolution: {integrity: sha512-GoOVDy8bjw9z1K30Oo803nSzXJS/vWhFijFsW3kzvZCO8IZwFnNa6pGctmbbJstKl3Fv6UBwyjJQN6msejW0IQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-beta.55': - resolution: {integrity: sha512-l0887CGU2SXZr0UJmeEcXSvtDCOhDTTYXuoWbhrEJ58YQhQk24EVhDhHMTyjJb1PBRniUgNc1G0T51eF8z+TWw==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.57': + resolution: {integrity: sha512-9c4FOhRGpl+PX7zBK5p17c5efpF9aSpTPgyigv57hXf5NjQUaJOOiejPLAtFiKNBIfm5Uu6yFkvLKzOafNvlTw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.55': - resolution: {integrity: sha512-d7qP2AVYzN0tYIP4vJ7nmr26xvmlwdkLD/jWIc9Z9dqh5y0UGPigO3m5eHoHq9BNazmwdD9WzDHbQZyXFZjgtA==} + '@rolldown/binding-darwin-x64@1.0.0-beta.57': + resolution: {integrity: sha512-6RsB8Qy4LnGqNGJJC/8uWeLWGOvbRL/KG5aJ8XXpSEupg/KQtlBEiFaYU/Ma5Usj1s+bt3ItkqZYAI50kSplBA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.55': - resolution: {integrity: sha512-j311E4NOB0VMmXHoDDZhrWidUf7L/Sa6bu/+i2cskvHKU40zcUNPSYeD2YiO2MX+hhDFa5bJwhliYfs+bTrSZw==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.57': + resolution: {integrity: sha512-uA9kG7+MYkHTbqwv67Tx+5GV5YcKd33HCJIi0311iYBd25yuwyIqvJfBdt1VVB8tdOlyTb9cPAgfCki8nhwTQg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.55': - resolution: {integrity: sha512-lAsaYWhfNTW2A/9O7zCpb5eIJBrFeNEatOS/DDOZ5V/95NHy50g4b/5ViCqchfyFqRb7MKUR18/+xWkIcDkeIw==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57': + resolution: {integrity: sha512-3KkS0cHsllT2T+Te+VZMKHNw6FPQihYsQh+8J4jkzwgvAQpbsbXmrqhkw3YU/QGRrD8qgcOvBr6z5y6Jid+rmw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.55': - resolution: {integrity: sha512-2x6ffiVLZrQv7Xii9+JdtyT1U3bQhKj59K3eRnYlrXsKyjkjfmiDUVx2n+zSyijisUqD62fcegmx2oLLfeTkCA==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57': + resolution: {integrity: sha512-A3/wu1RgsHhqP3rVH2+sM81bpk+Qd2XaHTl8LtX5/1LNR7QVBFBCpAoiXwjTdGnI5cMdBVi7Z1pi52euW760Fw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.55': - resolution: {integrity: sha512-QbNncvqAXziya5wleI+OJvmceEE15vE4yn4qfbI/hwT/+8ZcqxyfRZOOh62KjisXxp4D0h3JZspycXYejxAU3w==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57': + resolution: {integrity: sha512-d0kIVezTQtazpyWjiJIn5to8JlwfKITDqwsFv0Xc6s31N16CD2PC/Pl2OtKgS7n8WLOJbfqgIp5ixYzTAxCqMg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.55': - resolution: {integrity: sha512-YZCTZZM+rujxwVc6A+QZaNMJXVtmabmFYLG2VGQTKaBfYGvBKUgtbMEttnp/oZ88BMi2DzadBVhOmfQV8SuHhw==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57': + resolution: {integrity: sha512-E199LPijo98yrLjPCmETx8EF43sZf9t3guSrLee/ej1rCCc3zDVTR4xFfN9BRAapGVl7/8hYqbbiQPTkv73kUg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.55': - resolution: {integrity: sha512-28q9OQ/DDpFh2keS4BVAlc3N65/wiqKbk5K1pgLdu/uWbKa8hgUJofhXxqO+a+Ya2HVTUuYHneWsI2u+eu3N5Q==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.57': + resolution: {integrity: sha512-++EQDpk/UJ33kY/BNsh7A7/P1sr/jbMuQ8cE554ZIy+tCUWCivo9zfyjDUoiMdnxqX6HLJEqqGnbGQOvzm2OMQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] - '@rolldown/binding-openharmony-arm64@1.0.0-beta.55': - resolution: {integrity: sha512-LiCA4BjCnm49B+j1lFzUtlC+4ZphBv0d0g5VqrEJua/uyv9Ey1v9tiaMql1C8c0TVSNDUmrkfHQ71vuQC7YfpQ==} + '@rolldown/binding-openharmony-arm64@1.0.0-beta.57': + resolution: {integrity: sha512-voDEBcNqxbUv/GeXKFtxXVWA+H45P/8Dec4Ii/SbyJyGvCqV1j+nNHfnFUIiRQ2Q40DwPe/djvgYBs9PpETiMA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.55': - resolution: {integrity: sha512-nZ76tY7T0Oe8vamz5Cv5CBJvrqeQxwj1WaJ2GxX8Msqs0zsQMMcvoyxOf0glnJlxxgKjtoBxAOxaAU8ERbW6Tg==} + '@rolldown/binding-wasm32-wasi@1.0.0-beta.57': + resolution: {integrity: sha512-bRhcF7NLlCnpkzLVlVhrDEd0KH22VbTPkPTbMjlYvqhSmarxNIq5vtlQS8qmV7LkPKHrNLWyJW/V/sOyFba26Q==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.55': - resolution: {integrity: sha512-TFVVfLfhL1G+pWspYAgPK/FSqjiBtRKYX9hixfs508QVEZPQlubYAepHPA7kEa6lZXYj5ntzF87KC6RNhxo+ew==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.57': + resolution: {integrity: sha512-rnDVGRks2FQ2hgJ2g15pHtfxqkGFGjJQUDWzYznEkE8Ra2+Vag9OffxdbJMZqBWXHVM0iS4dv8qSiEn7bO+n1Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.55': - resolution: {integrity: sha512-j1WBlk0p+ISgLzMIgl0xHp1aBGXenoK2+qWYc/wil2Vse7kVOdFq9aeQ8ahK6/oxX2teQ5+eDvgjdywqTL+daA==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57': + resolution: {integrity: sha512-OqIUyNid1M4xTj6VRXp/Lht/qIP8fo25QyAZlCP+p6D2ATCEhyW4ZIFLnC9zAGN/HMbXoCzvwfa8Jjg/8J4YEg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.29': - resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} + '@rolldown/pluginutils@1.0.0-beta.53': + resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} - '@rolldown/pluginutils@1.0.0-beta.55': - resolution: {integrity: sha512-vajw/B3qoi7aYnnD4BQ4VoCcXQWnF0roSwE2iynbNxgW4l9mFwtLmLmUhpDdcTBfKyZm1p/T0D13qG94XBLohA==} + '@rolldown/pluginutils@1.0.0-beta.57': + resolution: {integrity: sha512-aQNelgx14tGA+n2tNSa9x6/jeoCL9fkDeCei7nOKnHx0fEFRRMu5ReiITo+zZD5TzWDGGRjbSYCs93IfRIyTuQ==} - '@shikijs/core@3.15.0': - resolution: {integrity: sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==} + '@shikijs/core@3.20.0': + resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==} - '@shikijs/engine-javascript@3.15.0': - resolution: {integrity: sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==} + '@shikijs/engine-javascript@3.20.0': + resolution: {integrity: sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==} - '@shikijs/engine-oniguruma@3.15.0': - resolution: {integrity: sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==} + '@shikijs/engine-oniguruma@3.20.0': + resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==} - '@shikijs/langs@3.15.0': - resolution: {integrity: sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==} + '@shikijs/langs@3.20.0': + resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==} - '@shikijs/themes@3.15.0': - resolution: {integrity: sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==} + '@shikijs/themes@3.20.0': + resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==} - '@shikijs/transformers@3.15.0': - resolution: {integrity: sha512-Hmwip5ovvSkg+Kc41JTvSHHVfCYF+C8Cp1omb5AJj4Xvd+y9IXz2rKJwmFRGsuN0vpHxywcXJ1+Y4B9S7EG1/A==} + '@shikijs/transformers@3.20.0': + resolution: {integrity: sha512-PrHHMRr3Q5W1qB/42kJW6laqFyWdhrPF2hNR9qjOm1xcSiAO3hAHo7HaVyHE6pMyevmy3i51O8kuGGXC78uK3g==} - '@shikijs/types@3.15.0': - resolution: {integrity: sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==} + '@shikijs/types@3.20.0': + resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==} '@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==} + '@swc/helpers@0.5.18': resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==} @@ -854,14 +1029,23 @@ packages: '@tybys/wasm-util@0.10.1': resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/linkify-it@3.0.5': + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - '@types/markdown-it-container@2.0.10': - resolution: {integrity: sha512-zv+YxrlSYRq51e9kzm3orv4OvF4U79Ll1OyplNXr00o4ZC/8PukJk/jEWH7CnsMtrSWZlyv0czhz42jm9J4uLw==} + '@types/markdown-it-container@2.0.11': + resolution: {integrity: sha512-tiVQNp2zEHoW7EQa3nNjGRoVk1Uqw9FN7xD39k663lknKZFfByPT3oDyHiaGg+IYu0vSL37PGpDjjMOgtw2GUA==} + + '@types/markdown-it@13.0.9': + resolution: {integrity: sha512-1XPwR0+MgXLWfTn9gCsZ55AHOKW1WN+P9vr0PaQh5aerR9LLQXUbjfEAFhjmEmyoYFWAyuN2Mqkn40MZ4ukjBw==} '@types/markdown-it@14.1.2': resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} @@ -869,11 +1053,17 @@ packages: '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdurl@1.0.5': + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/node@24.10.4': - resolution: {integrity: sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==} + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@25.0.3': + resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -884,30 +1074,34 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vitejs/plugin-vue@6.0.1': - resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==} + '@vercel/oidc@3.0.5': + resolution: {integrity: sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw==} + engines: {node: '>= 20'} + + '@vitejs/plugin-vue@6.0.3': + resolution: {integrity: sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: ^5.0.0 || ^6.0.0 || ^7.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 vue: ^3.2.25 - '@voidzero-dev/vitepress-theme@4.0.0': - resolution: {integrity: sha512-9EZH/mp/Jwhs0al/9BIMDX3n6oDb3cvvL4MQSOJSIXCYccPGSaiQ9dApyBWiPpaVdBaXNFde8I46GpBMhBdeFA==} + '@voidzero-dev/vitepress-theme@4.0.3': + resolution: {integrity: sha512-/6lhlA4/d6UoDjsbbvJHyzyQ+NrKuOtZkF50e7yAcvx0YzwzPnHGgZqM9hu8GwGHIqOr4xA1hbTMZGPhFORlXw==} peerDependencies: - vitepress: ^2.0.0-alpha.12 + vitepress: ^2.0.0-alpha.15 vue: ^3.5.0 - '@vue/compiler-core@3.5.25': - resolution: {integrity: sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==} + '@vue/compiler-core@3.5.26': + resolution: {integrity: sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==} - '@vue/compiler-dom@3.5.25': - resolution: {integrity: sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==} + '@vue/compiler-dom@3.5.26': + resolution: {integrity: sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==} - '@vue/compiler-sfc@3.5.25': - resolution: {integrity: sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==} + '@vue/compiler-sfc@3.5.26': + resolution: {integrity: sha512-egp69qDTSEZcf4bGOSsprUr4xI73wfrY5oRs6GSgXFTiHrWj4Y3X5Ydtip9QMqiCMCPVwLglB9GBxXtTadJ3mA==} - '@vue/compiler-ssr@3.5.25': - resolution: {integrity: sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==} + '@vue/compiler-ssr@3.5.26': + resolution: {integrity: sha512-lZT9/Y0nSIRUPVvapFJEVDbEXruZh2IYHMk2zTtEgJSlP5gVOqeWXH54xDKAaFS4rTnDeDBQUYDtxKyoW9FwDw==} '@vue/devtools-api@8.0.5': resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==} @@ -918,38 +1112,36 @@ packages: '@vue/devtools-shared@8.0.5': resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==} - '@vue/reactivity@3.5.25': - resolution: {integrity: sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==} + '@vue/reactivity@3.5.26': + resolution: {integrity: sha512-9EnYB1/DIiUYYnzlnUBgwU32NNvLp/nhxLXeWRhHUEeWNTn1ECxX8aGO7RTXeX6PPcxe3LLuNBFoJbV4QZ+CFQ==} - '@vue/runtime-core@3.5.25': - resolution: {integrity: sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==} + '@vue/runtime-core@3.5.26': + resolution: {integrity: sha512-xJWM9KH1kd201w5DvMDOwDHYhrdPTrAatn56oB/LRG4plEQeZRQLw0Bpwih9KYoqmzaxF0OKSn6swzYi84e1/Q==} - '@vue/runtime-dom@3.5.25': - resolution: {integrity: sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==} + '@vue/runtime-dom@3.5.26': + resolution: {integrity: sha512-XLLd/+4sPC2ZkN/6+V4O4gjJu6kSDbHAChvsyWgm1oGbdSO3efvGYnm25yCjtFm/K7rrSDvSfPDgN1pHgS4VNQ==} - '@vue/server-renderer@3.5.25': - resolution: {integrity: sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==} + '@vue/server-renderer@3.5.26': + resolution: {integrity: sha512-TYKLXmrwWKSodyVuO1WAubucd+1XlLg4set0YoV+Hu8Lo79mp/YMwWV5mC5FgtsDxX3qo1ONrxFaTP1OQgy1uA==} peerDependencies: - vue: 3.5.25 + vue: 3.5.26 '@vue/shared@3.5.25': resolution: {integrity: sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==} + '@vue/shared@3.5.26': + resolution: {integrity: sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==} + '@vueuse/core@12.8.2': resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} - '@vueuse/core@14.0.0': - resolution: {integrity: sha512-d6tKRWkZE8IQElX2aHBxXOMD478fHIYV+Dzm2y9Ag122ICBpNKtGICiXKOhWU3L1kKdttDD9dCMS4bGP3jhCTQ==} - peerDependencies: - vue: ^3.5.0 - '@vueuse/core@14.1.0': resolution: {integrity: sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==} peerDependencies: vue: ^3.5.0 - '@vueuse/integrations@14.0.0': - resolution: {integrity: sha512-5A0X7q9qyLtM3xyghq5nK/NEESf7cpcZlkQgXTMuW4JWiAMYxc1ImdhhGrk4negFBsq3ejvAlRmLdNrkcTzk1Q==} + '@vueuse/integrations@14.1.0': + resolution: {integrity: sha512-eNQPdisnO9SvdydTIXnTE7c29yOsJBD/xkwEyQLdhDC/LKbqrFpXHb3uS//7NcIrQO3fWVuvMGp8dbK6mNEMCA==} peerDependencies: async-validator: ^4 axios: ^1 @@ -993,20 +1185,12 @@ packages: '@vueuse/metadata@12.8.2': resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} - '@vueuse/metadata@14.0.0': - resolution: {integrity: sha512-6yoGqbJcMldVCevkFiHDBTB1V5Hq+G/haPlGIuaFZHpXC0HADB0EN1ryQAAceiW+ryS3niUwvdFbGiqHqBrfVA==} - '@vueuse/metadata@14.1.0': resolution: {integrity: sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==} '@vueuse/shared@12.8.2': resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} - '@vueuse/shared@14.0.0': - resolution: {integrity: sha512-mTCA0uczBgurRlwVaQHfG0Ja7UdGe4g9mwffiJmvLiTtp1G4AQyIjej6si/k8c8pUwTfVpNufck+23gXptPAkw==} - peerDependencies: - vue: ^3.5.0 - '@vueuse/shared@14.1.0': resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==} peerDependencies: @@ -1017,18 +1201,39 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + ai@5.0.116: + resolution: {integrity: sha512-+2hYJ80/NcDWuv9K2/MLP3cTCFgwWHmHlS1tOpFUKKcmLbErAAlE/S2knsKboc3PNAu8pQkDr2N3K/Vle7ENgQ==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + algoliasearch@5.46.2: + resolution: {integrity: sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==} + engines: {node: '>= 14.0.0'} + ansi-escapes@7.2.0: resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} engines: {node: '>=18'} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + ansi-regex@6.2.2: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + ansi-styles@6.2.3: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1036,6 +1241,9 @@ packages: resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + birpc@2.8.0: resolution: {integrity: sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==} @@ -1052,6 +1260,9 @@ packages: character-entities-legacy@3.0.0: resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + cli-cursor@5.0.0: resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} engines: {node: '>=18'} @@ -1060,6 +1271,17 @@ packages: resolution: {integrity: sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==} engines: {node: '>=20'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -1097,6 +1319,9 @@ packages: supports-color: optional: true + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -1119,6 +1344,9 @@ packages: emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + enhanced-resolve@5.18.4: resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} engines: {node: '>=10.13.0'} @@ -1127,6 +1355,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@7.0.0: + resolution: {integrity: sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==} + engines: {node: '>=0.12'} + environment@1.1.0: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} @@ -1136,21 +1368,48 @@ packages: engines: {node: '>=18'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + eventsource-parser@3.0.6: + resolution: {integrity: sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==} + engines: {node: '>=18.0.0'} + exsolve@1.0.7: resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fault@2.0.1: + resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} fd-package-json@2.0.0: resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} @@ -1172,8 +1431,12 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - focus-trap@7.6.6: - resolution: {integrity: sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==} + focus-trap@7.7.0: + resolution: {integrity: sha512-DJJDHpEgoSbP8ZE1MNeU2IzCpfFyFdNZZRilqmfH2XiQsPK6PtD8AfJqWzEBudUQB2yHwZc5iq54rjTaGQ+ljw==} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} formatly@0.3.0: resolution: {integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==} @@ -1185,6 +1448,10 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-east-asian-width@1.4.0: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} @@ -1200,6 +1467,10 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + hast-util-to-html@9.0.5: resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} @@ -1220,10 +1491,18 @@ packages: engines: {node: '>=18'} hasBin: true + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-fullwidth-code-point@5.1.0: resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} @@ -1236,6 +1515,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-what@5.5.0: resolution: {integrity: sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==} engines: {node: '>=18'} @@ -1244,12 +1527,23 @@ packages: resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - knip@5.76.1: - resolution: {integrity: sha512-V9CgrzE8ZhqsJeZE4VFUXZHm1cRDmL8WiRRZUPBi65rWJkExdJkEmV2ab+jiOQTzhoBIL/d3DegOPpMq5IF3DA==} + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + knip@5.78.0: + resolution: {integrity: sha512-nB7i/fgiJl7WVxdv5lX4ZPfDt9/zrw/lOgZtyioy988xtFhKuFJCRdHWT1Zg9Avc0yaojvnmEuAXU8SeMblKww==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: @@ -1329,6 +1623,9 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} + linkify-it@5.0.0: + resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + lint-staged@16.2.7: resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==} engines: {node: '>=20.17'} @@ -1346,6 +1643,9 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -1355,36 +1655,126 @@ packages: markdown-it-container@4.0.0: resolution: {integrity: sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==} + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + hasBin: true + + markdown-title@1.0.2: + resolution: {integrity: sha512-MqIQVVkz+uGEHi3TsHx/czcxxCbRIL7sv5K5DnYw/tI+apY54IbPefV/cmgxp6LoJSEx/TqcHdLs/298afG5QQ==} + engines: {node: '>=6'} + + marked@16.4.2: + resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==} + engines: {node: '>= 20'} + hasBin: true + + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + + mdast-util-frontmatter@2.0.1: + resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-frontmatter@2.0.0: + resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + micromark-util-character@2.1.1: resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + micromark-util-encode@2.0.1: resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + micromark-util-sanitize-uri@2.0.1: resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} micromark-util-types@2.0.2: resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + millify@6.1.0: + resolution: {integrity: sha512-H/E3J6t+DQs/F2YgfDhxUVZz/dF8JXPPKTLHL/yHCcLZLtCXJDUaqvhJXQwqOVBvbyNn4T0WjLpIHd7PAw7fBA==} + hasBin: true + mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + engines: {node: 20 || >=22} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -1419,31 +1809,31 @@ packages: oniguruma-parser@0.12.1: resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} - oniguruma-to-es@4.3.3: - resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==} + oniguruma-to-es@4.3.4: + resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} - oxc-minify@0.105.0: - resolution: {integrity: sha512-gnDokcTjctnjzyBMfAx/5Zav2L81Uc0C5DLUYPoG1Clbg/m7qgqlIy2YSMr8Wgs8IoUBnOhzIQ48jRBZTY8dVw==} + oxc-minify@0.107.0: + resolution: {integrity: sha512-XNUrQWpMXAqSh8PLAkNIzoDmD7aTy6HBnCSlL/HBEAQq0xN2QE9Bs9hjYIoYAQAW8PlKV0B4fMzQr1u2B+o3JA==} engines: {node: ^20.19.0 || >=22.12.0} - oxc-resolver@11.16.0: - resolution: {integrity: sha512-I4sHGa1fZUpTQ9ftS0E0cBYbBjNnIKXRSX/trFMIJDIJ4n21dCrLAZhnJS0TSfRIRqZNFyceNZr2kablfgNyTA==} + oxc-resolver@11.16.2: + resolution: {integrity: sha512-Uy76u47vwhhF7VAmVY61Srn+ouiOobf45MU9vGct9GD2ARy6hKoqEElyHDB0L+4JOM6VLuZ431KiLwyjI/A21g==} - oxfmt@0.20.0: - resolution: {integrity: sha512-+7f8eV8iaK3tENN/FUVxZM1g78HjPehybN8/+/dvEA1O893Dcvk6O7/Q1wTQOHMD7wvdwWdujKl+Uo8QMiKDrQ==} + oxfmt@0.23.0: + resolution: {integrity: sha512-dh4rlNBua93aVf2ZaDecbQxVLMnUUTvDi1K1fdvBdontQeEf6K22Z1KQg5QKl2D9aNFeFph+wOVwcjjYUIO6Mw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true - oxlint-tsgolint@0.10.0: - resolution: {integrity: sha512-LDDSIu5J/4D4gFUuQQIEQpAC6maNEbMg4nC8JL/+Pe0cUDR86dtVZ09E2x5MwCh8f9yfktoaxt5x6UIVyzrajg==} + oxlint-tsgolint@0.10.1: + resolution: {integrity: sha512-EEHNdo5cW2w1xwYdBQ7d3IXDqWAtMkfVFrh+9gQ4kYbYJwygY4QXSh1eH80/xVipZdVKujAwBgg/nNNHk56kxQ==} hasBin: true - oxlint@1.34.0: - resolution: {integrity: sha512-Ni0N8wAiKlgaYkI/Yz4VrutfVIZgd2shDtS+loQxyBTwO8YUAnk3+g7OQ1cyI/aatHiFwvFNfV/uvZyHUtyPpA==} + oxlint@1.38.0: + resolution: {integrity: sha512-XT7tBinQS+hVLxtfJOnokJ9qVBiQvZqng40tDgR6qEJMRMnpVq/JwYfbYyGntSq8MO+Y+N9M1NG4bAMFUtCJiw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: '>=0.9.2' + oxlint-tsgolint: '>=0.10.0' peerDependenciesMeta: oxlint-tsgolint: optional: true @@ -1451,6 +1841,9 @@ packages: package-manager-detector@1.5.0: resolution: {integrity: sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} @@ -1487,15 +1880,27 @@ packages: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} + pretty-bytes@7.1.0: + resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} + engines: {node: '>=20'} + property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + punycode.js@2.3.1: + resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} + engines: {node: '>=6'} + quansync@0.2.11: resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react@19.2.3: + resolution: {integrity: sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==} + engines: {node: '>=0.10.0'} + regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -1510,6 +1915,22 @@ packages: peerDependencies: vue: '>= 3.2.0' + remark-frontmatter@5.0.0: + resolution: {integrity: sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + remark@15.0.1: + resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} @@ -1521,8 +1942,8 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rolldown@1.0.0-beta.55: - resolution: {integrity: sha512-r8Ws43aYCnfO07ao0SvQRz4TBAtZJjGWNvScRBOHuiNHvjfECOJBIqJv0nUkL1GYcltjvvHswRilDF1ocsC0+g==} + rolldown@1.0.0-beta.57: + resolution: {integrity: sha512-lMMxcNN71GMsSko8RyeTaFoATHkCh4IWU7pYF73ziMYjhHZWfVesC6GQ+iaJCvZmVjvgSks9Ks1aaqEkBd8udg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -1532,8 +1953,15 @@ packages: sax@1.4.3: resolution: {integrity: sha512-yqYn1JhPczigF94DMS+shiDMjDowYO6y9+wB/4WgO0Y19jWYk0lQ4tuG5KI7kj4FTp1wxPj5IFfcrz/s1c3jjQ==} - shiki@3.15.0: - resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==} + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + shiki@3.20.0: + resolution: {integrity: sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==} signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} @@ -1543,8 +1971,8 @@ packages: resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} engines: {node: '>=18'} - smol-toml@1.5.2: - resolution: {integrity: sha512-QlaZEqcAH3/RtNyet1IPIYPsEWAaYyXXv1Krsi+1L/QHppjX4Ifm8MQsBISz9vE8cHicIq3clogsheili5vhaQ==} + smol-toml@1.6.0: + resolution: {integrity: sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==} engines: {node: '>= 18'} source-map-js@1.2.1: @@ -1558,10 +1986,17 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} @@ -1573,10 +2008,18 @@ packages: stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + strip-ansi@7.1.2: resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + strip-json-comments@5.0.3: resolution: {integrity: sha512-1tB5mhVo7U+ETBKNf92xT4hrQa3pm0MZ0PQvuDnWgAAGHDsfp4lPSpiS6psrSiet87wyGPh9ft6wmhOMQ0hDiw==} engines: {node: '>=14.16'} @@ -1585,6 +2028,11 @@ packages: resolution: {integrity: sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==} engines: {node: '>=16'} + swr@2.3.8: + resolution: {integrity: sha512-gaCPRVoMq8WGDcWj9p4YWzCMPHzE0WNl6W8ADIx9c3JBEIdMkJGMzW+uzXvxHMltwcYACr9jP+32H8/hgwMR7w==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + tabbable@6.3.0: resolution: {integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==} @@ -1595,6 +2043,10 @@ packages: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} engines: {node: '>=6'} + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + tinyexec@1.0.2: resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} engines: {node: '>=18'} @@ -1611,9 +2063,15 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + tokenx@1.2.1: + resolution: {integrity: sha512-lVhFIhR2qh3uUyUA8Ype+HGzcokUJbHmRSN1TJKOe4Y26HkawQuLiGkUCkR5LD9dx+Rtp+njrwzPL8AHHYQSYA==} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -1622,18 +2080,27 @@ packages: engines: {node: '>=14.17'} hasBin: true + uc.micro@2.1.0: + resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} + ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + unist-util-is@6.0.1: resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} unist-util-position@5.0.0: resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} @@ -1643,6 +2110,11 @@ packages: unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -1652,8 +2124,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@8.0.0-beta.3: - resolution: {integrity: sha512-hsc59mETwVSFQj8KYpmLGwGDKoFYrQLolt2TZUy74Y0bkyF9veYolNgJH+R6loC0Ki35wEblXSMTJ6nfhDqkiQ==} + vite@8.0.0-beta.5: + resolution: {integrity: sha512-wgvJ+rdGKggZ1m0KnSYF4mEdEEaAAUWKiHe9IDl8oagjUkyrD2CdgSoxiJdpLNNzCKIZdHsAi2xMRRwrCEd4AQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -1700,6 +2172,9 @@ packages: vite: optional: true + vitepress-plugin-llms@1.10.0: + resolution: {integrity: sha512-dgD5KV8D9vXlQtAf/KUjSgr3QymH1fHT7XkQ/UuIqvIjnKdzZI+0gT3puGxUBuqgvlFjYWA6f8k80tXl6gwWkw==} + vitepress@2.0.0-alpha.15: resolution: {integrity: sha512-jhjSYd10Z6RZiKOa7jy0xMVf5NB5oSc/lS3bD/QoUc6V8PrvQR5JhC9104NEt6+oTGY/ftieVWxY9v7YI+1IjA==} hasBin: true @@ -1726,8 +2201,8 @@ packages: '@vue/composition-api': optional: true - vue@3.5.25: - resolution: {integrity: sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==} + vue@3.5.26: + resolution: {integrity: sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1738,6 +2213,10 @@ packages: resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==} engines: {node: 20 || >=22} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + wrap-ansi@9.0.2: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} @@ -1746,74 +2225,255 @@ packages: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + yaml@2.8.1: resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} engines: {node: '>= 14.6'} hasBin: true + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + zod@4.1.13: resolution: {integrity: sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==} + zod@4.2.1: + resolution: {integrity: sha512-0wZ1IRqGGhMP76gLqz8EyfBXKk0J2qo2+H3fi4mcUP/KtTocoX08nmIAHl1Z2kJIZbZee8KOpBCSNPRgauucjw==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@antfu/install-pkg@1.1.0': + '@ai-sdk/gateway@2.0.23(zod@4.2.1)': dependencies: - package-manager-detector: 1.5.0 - tinyexec: 1.0.2 - - '@antfu/utils@9.3.0': {} + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.19(zod@4.2.1) + '@vercel/oidc': 3.0.5 + zod: 4.2.1 - '@babel/helper-string-parser@7.27.1': {} + '@ai-sdk/provider-utils@3.0.19(zod@4.2.1)': + dependencies: + '@ai-sdk/provider': 2.0.0 + '@standard-schema/spec': 1.1.0 + eventsource-parser: 3.0.6 + zod: 4.2.1 - '@babel/helper-validator-identifier@7.28.5': {} + '@ai-sdk/provider@2.0.0': + dependencies: + json-schema: 0.4.0 - '@babel/parser@7.28.5': + '@ai-sdk/react@2.0.118(react@19.2.3)(zod@4.2.1)': dependencies: - '@babel/types': 7.28.5 + '@ai-sdk/provider-utils': 3.0.19(zod@4.2.1) + ai: 5.0.116(zod@4.2.1) + react: 19.2.3 + swr: 2.3.8(react@19.2.3) + throttleit: 2.1.0 + optionalDependencies: + zod: 4.2.1 - '@babel/types@7.28.5': + '@algolia/abtesting@1.12.2': dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 - '@docsearch/css@4.3.2': {} + '@algolia/autocomplete-core@1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3)': + dependencies: + '@algolia/autocomplete-plugin-algolia-insights': 1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch + - search-insights - '@docsearch/js@4.3.2': + '@algolia/autocomplete-plugin-algolia-insights@1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3)': dependencies: - htm: 3.1.1 + '@algolia/autocomplete-shared': 1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2) + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + - algoliasearch - '@emnapi/core@1.7.1': + '@algolia/autocomplete-shared@1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)': dependencies: - '@emnapi/wasi-threads': 1.1.0 - tslib: 2.8.1 - optional: true + '@algolia/client-search': 5.46.2 + algoliasearch: 5.46.2 - '@emnapi/runtime@1.7.1': + '@algolia/client-abtesting@5.46.2': dependencies: - tslib: 2.8.1 - optional: true + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 - '@emnapi/wasi-threads@1.1.0': + '@algolia/client-analytics@5.46.2': dependencies: - tslib: 2.8.1 - optional: true + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 - '@esbuild/aix-ppc64@0.27.2': - optional: true + '@algolia/client-common@5.46.2': {} - '@esbuild/android-arm64@0.27.2': - optional: true + '@algolia/client-insights@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 - '@esbuild/android-arm@0.27.2': - optional: true + '@algolia/client-personalization@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 - '@esbuild/android-x64@0.27.2': - optional: true + '@algolia/client-query-suggestions@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 - '@esbuild/darwin-arm64@0.27.2': + '@algolia/client-search@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/ingestion@1.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/monitoring@1.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/recommend@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + + '@algolia/requester-browser-xhr@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + + '@algolia/requester-fetch@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + + '@algolia/requester-node-http@5.46.2': + dependencies: + '@algolia/client-common': 5.46.2 + + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.5.0 + tinyexec: 1.0.2 + + '@antfu/utils@9.3.0': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@docsearch/core@4.4.0(react@19.2.3)': + optionalDependencies: + react: 19.2.3 + + '@docsearch/css@4.4.0': {} + + '@docsearch/js@4.4.0(@algolia/client-search@5.46.2)(react@19.2.3)(search-insights@2.17.3)': + dependencies: + '@docsearch/react': 4.4.0(@algolia/client-search@5.46.2)(react@19.2.3)(search-insights@2.17.3) + htm: 3.1.1 + transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' + - react + - react-dom + - search-insights + + '@docsearch/react@4.4.0(@algolia/client-search@5.46.2)(react@19.2.3)(search-insights@2.17.3)': + dependencies: + '@ai-sdk/react': 2.0.118(react@19.2.3)(zod@4.2.1) + '@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.46.2)(algoliasearch@5.46.2)(search-insights@2.17.3) + '@docsearch/core': 4.4.0(react@19.2.3) + '@docsearch/css': 4.4.0 + ai: 5.0.116(zod@4.2.1) + algoliasearch: 5.46.2 + marked: 16.4.2 + zod: 4.2.1 + optionalDependencies: + react: 19.2.3 + search-insights: 2.17.3 + transitivePeerDependencies: + - '@algolia/client-search' + + '@emnapi/core@1.7.1': + dependencies: + '@emnapi/wasi-threads': 1.1.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.7.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.1.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.27.2': + optional: true + + '@esbuild/android-arm64@0.27.2': + optional: true + + '@esbuild/android-arm@0.27.2': + optional: true + + '@esbuild/android-x64@0.27.2': + optional: true + + '@esbuild/darwin-arm64@0.27.2': optional: true '@esbuild/darwin-x64@0.27.2': @@ -1890,11 +2550,11 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@floating-ui/vue@1.1.9(vue@3.5.25(typescript@5.9.3))': + '@floating-ui/vue@1.1.9(vue@3.5.26(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.7.4 '@floating-ui/utils': 0.2.10 - vue-demi: 0.14.10(vue@3.5.25(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.26(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1903,7 +2563,7 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.60': + '@iconify-json/simple-icons@1.2.64': dependencies: '@iconify/types': 2.0.0 @@ -1934,6 +2594,12 @@ snapshots: dependencies: '@swc/helpers': 0.5.18 + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -1953,7 +2619,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@napi-rs/wasm-runtime@1.1.0': + '@napi-rs/wasm-runtime@1.1.1': dependencies: '@emnapi/core': 1.7.1 '@emnapi/runtime': 1.7.1 @@ -1970,272 +2636,291 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 + fastq: 1.20.1 - '@oxc-minify/binding-android-arm64@0.105.0': + '@opentelemetry/api@1.9.0': {} + + '@oxc-minify/binding-android-arm-eabi@0.107.0': + optional: true + + '@oxc-minify/binding-android-arm64@0.107.0': + optional: true + + '@oxc-minify/binding-darwin-arm64@0.107.0': optional: true - '@oxc-minify/binding-darwin-arm64@0.105.0': + '@oxc-minify/binding-darwin-x64@0.107.0': optional: true - '@oxc-minify/binding-darwin-x64@0.105.0': + '@oxc-minify/binding-freebsd-x64@0.107.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.105.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.107.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.105.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.107.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.105.0': + '@oxc-minify/binding-linux-arm64-gnu@0.107.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.105.0': + '@oxc-minify/binding-linux-arm64-musl@0.107.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.105.0': + '@oxc-minify/binding-linux-ppc64-gnu@0.107.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.105.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.107.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.105.0': + '@oxc-minify/binding-linux-riscv64-musl@0.107.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.105.0': + '@oxc-minify/binding-linux-s390x-gnu@0.107.0': optional: true - '@oxc-minify/binding-openharmony-arm64@0.105.0': + '@oxc-minify/binding-linux-x64-gnu@0.107.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.105.0': + '@oxc-minify/binding-linux-x64-musl@0.107.0': + optional: true + + '@oxc-minify/binding-openharmony-arm64@0.107.0': + optional: true + + '@oxc-minify/binding-wasm32-wasi@0.107.0': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@oxc-minify/binding-win32-arm64-msvc@0.107.0': optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.105.0': + '@oxc-minify/binding-win32-ia32-msvc@0.107.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.105.0': + '@oxc-minify/binding-win32-x64-msvc@0.107.0': optional: true '@oxc-project/runtime@0.103.0': {} '@oxc-project/types@0.103.0': {} - '@oxc-resolver/binding-android-arm-eabi@11.16.0': + '@oxc-resolver/binding-android-arm-eabi@11.16.2': optional: true - '@oxc-resolver/binding-android-arm64@11.16.0': + '@oxc-resolver/binding-android-arm64@11.16.2': optional: true - '@oxc-resolver/binding-darwin-arm64@11.16.0': + '@oxc-resolver/binding-darwin-arm64@11.16.2': optional: true - '@oxc-resolver/binding-darwin-x64@11.16.0': + '@oxc-resolver/binding-darwin-x64@11.16.2': optional: true - '@oxc-resolver/binding-freebsd-x64@11.16.0': + '@oxc-resolver/binding-freebsd-x64@11.16.2': optional: true - '@oxc-resolver/binding-linux-arm-gnueabihf@11.16.0': + '@oxc-resolver/binding-linux-arm-gnueabihf@11.16.2': optional: true - '@oxc-resolver/binding-linux-arm-musleabihf@11.16.0': + '@oxc-resolver/binding-linux-arm-musleabihf@11.16.2': optional: true - '@oxc-resolver/binding-linux-arm64-gnu@11.16.0': + '@oxc-resolver/binding-linux-arm64-gnu@11.16.2': optional: true - '@oxc-resolver/binding-linux-arm64-musl@11.16.0': + '@oxc-resolver/binding-linux-arm64-musl@11.16.2': optional: true - '@oxc-resolver/binding-linux-ppc64-gnu@11.16.0': + '@oxc-resolver/binding-linux-ppc64-gnu@11.16.2': optional: true - '@oxc-resolver/binding-linux-riscv64-gnu@11.16.0': + '@oxc-resolver/binding-linux-riscv64-gnu@11.16.2': optional: true - '@oxc-resolver/binding-linux-riscv64-musl@11.16.0': + '@oxc-resolver/binding-linux-riscv64-musl@11.16.2': optional: true - '@oxc-resolver/binding-linux-s390x-gnu@11.16.0': + '@oxc-resolver/binding-linux-s390x-gnu@11.16.2': optional: true - '@oxc-resolver/binding-linux-x64-gnu@11.16.0': + '@oxc-resolver/binding-linux-x64-gnu@11.16.2': optional: true - '@oxc-resolver/binding-linux-x64-musl@11.16.0': + '@oxc-resolver/binding-linux-x64-musl@11.16.2': optional: true - '@oxc-resolver/binding-openharmony-arm64@11.16.0': + '@oxc-resolver/binding-openharmony-arm64@11.16.2': optional: true - '@oxc-resolver/binding-wasm32-wasi@11.16.0': + '@oxc-resolver/binding-wasm32-wasi@11.16.2': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@oxc-resolver/binding-win32-arm64-msvc@11.16.0': + '@oxc-resolver/binding-win32-arm64-msvc@11.16.2': optional: true - '@oxc-resolver/binding-win32-ia32-msvc@11.16.0': + '@oxc-resolver/binding-win32-ia32-msvc@11.16.2': optional: true - '@oxc-resolver/binding-win32-x64-msvc@11.16.0': + '@oxc-resolver/binding-win32-x64-msvc@11.16.2': optional: true - '@oxfmt/darwin-arm64@0.20.0': + '@oxfmt/darwin-arm64@0.23.0': optional: true - '@oxfmt/darwin-x64@0.20.0': + '@oxfmt/darwin-x64@0.23.0': optional: true - '@oxfmt/linux-arm64-gnu@0.20.0': + '@oxfmt/linux-arm64-gnu@0.23.0': optional: true - '@oxfmt/linux-arm64-musl@0.20.0': + '@oxfmt/linux-arm64-musl@0.23.0': optional: true - '@oxfmt/linux-x64-gnu@0.20.0': + '@oxfmt/linux-x64-gnu@0.23.0': optional: true - '@oxfmt/linux-x64-musl@0.20.0': + '@oxfmt/linux-x64-musl@0.23.0': optional: true - '@oxfmt/win32-arm64@0.20.0': + '@oxfmt/win32-arm64@0.23.0': optional: true - '@oxfmt/win32-x64@0.20.0': + '@oxfmt/win32-x64@0.23.0': optional: true - '@oxlint-tsgolint/darwin-arm64@0.10.0': + '@oxlint-tsgolint/darwin-arm64@0.10.1': optional: true - '@oxlint-tsgolint/darwin-x64@0.10.0': + '@oxlint-tsgolint/darwin-x64@0.10.1': optional: true - '@oxlint-tsgolint/linux-arm64@0.10.0': + '@oxlint-tsgolint/linux-arm64@0.10.1': optional: true - '@oxlint-tsgolint/linux-x64@0.10.0': + '@oxlint-tsgolint/linux-x64@0.10.1': optional: true - '@oxlint-tsgolint/win32-arm64@0.10.0': + '@oxlint-tsgolint/win32-arm64@0.10.1': optional: true - '@oxlint-tsgolint/win32-x64@0.10.0': + '@oxlint-tsgolint/win32-x64@0.10.1': optional: true - '@oxlint/darwin-arm64@1.34.0': + '@oxlint/darwin-arm64@1.38.0': optional: true - '@oxlint/darwin-x64@1.34.0': + '@oxlint/darwin-x64@1.38.0': optional: true - '@oxlint/linux-arm64-gnu@1.34.0': + '@oxlint/linux-arm64-gnu@1.38.0': optional: true - '@oxlint/linux-arm64-musl@1.34.0': + '@oxlint/linux-arm64-musl@1.38.0': optional: true - '@oxlint/linux-x64-gnu@1.34.0': + '@oxlint/linux-x64-gnu@1.38.0': optional: true - '@oxlint/linux-x64-musl@1.34.0': + '@oxlint/linux-x64-musl@1.38.0': optional: true - '@oxlint/win32-arm64@1.34.0': + '@oxlint/win32-arm64@1.38.0': optional: true - '@oxlint/win32-x64@1.34.0': + '@oxlint/win32-x64@1.38.0': optional: true '@rive-app/canvas@2.33.1': {} - '@rolldown/binding-android-arm64@1.0.0-beta.55': + '@rolldown/binding-android-arm64@1.0.0-beta.57': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-beta.55': + '@rolldown/binding-darwin-arm64@1.0.0-beta.57': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.55': + '@rolldown/binding-darwin-x64@1.0.0-beta.57': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.55': + '@rolldown/binding-freebsd-x64@1.0.0-beta.57': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.55': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.57': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.55': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.57': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.55': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.57': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.55': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.57': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.55': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.57': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-beta.55': + '@rolldown/binding-openharmony-arm64@1.0.0-beta.57': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.55': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.57': dependencies: - '@napi-rs/wasm-runtime': 1.1.0 + '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.55': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.57': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.55': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.57': optional: true - '@rolldown/pluginutils@1.0.0-beta.29': {} + '@rolldown/pluginutils@1.0.0-beta.53': {} - '@rolldown/pluginutils@1.0.0-beta.55': {} + '@rolldown/pluginutils@1.0.0-beta.57': {} - '@shikijs/core@3.15.0': + '@shikijs/core@3.20.0': dependencies: - '@shikijs/types': 3.15.0 + '@shikijs/types': 3.20.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.15.0': + '@shikijs/engine-javascript@3.20.0': dependencies: - '@shikijs/types': 3.15.0 + '@shikijs/types': 3.20.0 '@shikijs/vscode-textmate': 10.0.2 - oniguruma-to-es: 4.3.3 + oniguruma-to-es: 4.3.4 - '@shikijs/engine-oniguruma@3.15.0': + '@shikijs/engine-oniguruma@3.20.0': dependencies: - '@shikijs/types': 3.15.0 + '@shikijs/types': 3.20.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.15.0': + '@shikijs/langs@3.20.0': dependencies: - '@shikijs/types': 3.15.0 + '@shikijs/types': 3.20.0 - '@shikijs/themes@3.15.0': + '@shikijs/themes@3.20.0': dependencies: - '@shikijs/types': 3.15.0 + '@shikijs/types': 3.20.0 - '@shikijs/transformers@3.15.0': + '@shikijs/transformers@3.20.0': dependencies: - '@shikijs/core': 3.15.0 - '@shikijs/types': 3.15.0 + '@shikijs/core': 3.20.0 + '@shikijs/types': 3.20.0 - '@shikijs/types@3.15.0': + '@shikijs/types@3.20.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 '@shikijs/vscode-textmate@10.0.2': {} + '@standard-schema/spec@1.1.0': {} + '@swc/helpers@0.5.18': dependencies: tslib: 2.8.1 @@ -2306,34 +2991,45 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.18 - '@tailwindcss/vite@4.1.18(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1))': + '@tailwindcss/vite@4.1.18(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2))': dependencies: '@tailwindcss/node': 4.1.18 '@tailwindcss/oxide': 4.1.18 tailwindcss: 4.1.18 - vite: 8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1) + vite: 8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2) '@tanstack/virtual-core@3.13.13': {} - '@tanstack/vue-virtual@3.13.13(vue@3.5.25(typescript@5.9.3))': + '@tanstack/vue-virtual@3.13.13(vue@3.5.26(typescript@5.9.3))': dependencies: '@tanstack/virtual-core': 3.13.13 - vue: 3.5.25(typescript@5.9.3) + vue: 3.5.26(typescript@5.9.3) '@tybys/wasm-util@0.10.1': dependencies: tslib: 2.8.1 optional: true + '@types/debug@4.1.12': + dependencies: + '@types/ms': 2.1.0 + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 + '@types/linkify-it@3.0.5': {} + '@types/linkify-it@5.0.0': {} - '@types/markdown-it-container@2.0.10': + '@types/markdown-it-container@2.0.11': dependencies: - '@types/markdown-it': 14.1.2 + '@types/markdown-it': 13.0.9 + + '@types/markdown-it@13.0.9': + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 '@types/markdown-it@14.1.2': dependencies: @@ -2344,9 +3040,13 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/mdurl@1.0.5': {} + '@types/mdurl@2.0.0': {} - '@types/node@24.10.4': + '@types/ms@2.1.0': {} + + '@types/node@25.0.3': dependencies: undici-types: 7.16.0 @@ -2356,30 +3056,34 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue@6.0.1(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1))(vue@3.5.25(typescript@5.9.3))': + '@vercel/oidc@3.0.5': {} + + '@vitejs/plugin-vue@6.0.3(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1) - vue: 3.5.25(typescript@5.9.3) + '@rolldown/pluginutils': 1.0.0-beta.53 + vite: 8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) - '@voidzero-dev/vitepress-theme@4.0.0(focus-trap@7.6.6)(typescript@5.9.3)(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1))(vitepress@2.0.0-alpha.15(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.105.0)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.1))(vue@3.5.25(typescript@5.9.3))': + '@voidzero-dev/vitepress-theme@4.0.3(@algolia/client-search@5.46.2)(focus-trap@7.7.0)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2))(vitepress@2.0.0-alpha.15(@algolia/client-search@5.46.2)(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.107.0)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3))': dependencies: - '@docsearch/css': 4.3.2 - '@docsearch/js': 4.3.2 + '@docsearch/css': 4.4.0 + '@docsearch/js': 4.4.0(@algolia/client-search@5.46.2)(react@19.2.3)(search-insights@2.17.3) '@rive-app/canvas': 2.33.1 '@tailwindcss/typography': 0.5.19(tailwindcss@4.1.18) - '@tailwindcss/vite': 4.1.18(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1)) - '@vue/shared': 3.5.25 - '@vueuse/core': 14.1.0(vue@3.5.25(typescript@5.9.3)) - '@vueuse/integrations': 14.0.0(focus-trap@7.6.6)(vue@3.5.25(typescript@5.9.3)) - '@vueuse/shared': 14.1.0(vue@3.5.25(typescript@5.9.3)) + '@tailwindcss/vite': 4.1.18(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2)) + '@vue/shared': 3.5.26 + '@vueuse/core': 14.1.0(vue@3.5.26(typescript@5.9.3)) + '@vueuse/integrations': 14.1.0(focus-trap@7.7.0)(vue@3.5.26(typescript@5.9.3)) + '@vueuse/shared': 14.1.0(vue@3.5.26(typescript@5.9.3)) mark.js: 8.11.1 minisearch: 7.2.0 - reka-ui: 2.7.0(typescript@5.9.3)(vue@3.5.25(typescript@5.9.3)) + reka-ui: 2.7.0(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)) tailwindcss: 4.1.18 - vitepress: 2.0.0-alpha.15(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.105.0)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.1) - vue: 3.5.25(typescript@5.9.3) + vitepress: 2.0.0-alpha.15(@algolia/client-search@5.46.2)(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.107.0)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) transitivePeerDependencies: + - '@algolia/client-search' + - '@types/react' - '@vue/composition-api' - async-validator - axios @@ -2391,40 +3095,43 @@ snapshots: - jwt-decode - nprogress - qrcode + - react + - react-dom + - search-insights - sortablejs - typescript - universal-cookie - vite - '@vue/compiler-core@3.5.25': + '@vue/compiler-core@3.5.26': dependencies: '@babel/parser': 7.28.5 - '@vue/shared': 3.5.25 - entities: 4.5.0 + '@vue/shared': 3.5.26 + entities: 7.0.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.25': + '@vue/compiler-dom@3.5.26': dependencies: - '@vue/compiler-core': 3.5.25 - '@vue/shared': 3.5.25 + '@vue/compiler-core': 3.5.26 + '@vue/shared': 3.5.26 - '@vue/compiler-sfc@3.5.25': + '@vue/compiler-sfc@3.5.26': dependencies: '@babel/parser': 7.28.5 - '@vue/compiler-core': 3.5.25 - '@vue/compiler-dom': 3.5.25 - '@vue/compiler-ssr': 3.5.25 - '@vue/shared': 3.5.25 + '@vue/compiler-core': 3.5.26 + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 estree-walker: 2.0.2 magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.25': + '@vue/compiler-ssr@3.5.26': dependencies: - '@vue/compiler-dom': 3.5.25 - '@vue/shared': 3.5.25 + '@vue/compiler-dom': 3.5.26 + '@vue/shared': 3.5.26 '@vue/devtools-api@8.0.5': dependencies: @@ -2444,97 +3151,123 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.25': + '@vue/reactivity@3.5.26': dependencies: - '@vue/shared': 3.5.25 + '@vue/shared': 3.5.26 - '@vue/runtime-core@3.5.25': + '@vue/runtime-core@3.5.26': dependencies: - '@vue/reactivity': 3.5.25 - '@vue/shared': 3.5.25 + '@vue/reactivity': 3.5.26 + '@vue/shared': 3.5.26 - '@vue/runtime-dom@3.5.25': + '@vue/runtime-dom@3.5.26': dependencies: - '@vue/reactivity': 3.5.25 - '@vue/runtime-core': 3.5.25 - '@vue/shared': 3.5.25 + '@vue/reactivity': 3.5.26 + '@vue/runtime-core': 3.5.26 + '@vue/shared': 3.5.26 csstype: 3.2.3 - '@vue/server-renderer@3.5.25(vue@3.5.25(typescript@5.9.3))': + '@vue/server-renderer@3.5.26(vue@3.5.26(typescript@5.9.3))': dependencies: - '@vue/compiler-ssr': 3.5.25 - '@vue/shared': 3.5.25 - vue: 3.5.25(typescript@5.9.3) + '@vue/compiler-ssr': 3.5.26 + '@vue/shared': 3.5.26 + vue: 3.5.26(typescript@5.9.3) '@vue/shared@3.5.25': {} + '@vue/shared@3.5.26': {} + '@vueuse/core@12.8.2(typescript@5.9.3)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 12.8.2 '@vueuse/shared': 12.8.2(typescript@5.9.3) - vue: 3.5.25(typescript@5.9.3) + vue: 3.5.26(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/core@14.0.0(vue@3.5.25(typescript@5.9.3))': - dependencies: - '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 14.0.0 - '@vueuse/shared': 14.0.0(vue@3.5.25(typescript@5.9.3)) - vue: 3.5.25(typescript@5.9.3) - - '@vueuse/core@14.1.0(vue@3.5.25(typescript@5.9.3))': + '@vueuse/core@14.1.0(vue@3.5.26(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 14.1.0 - '@vueuse/shared': 14.1.0(vue@3.5.25(typescript@5.9.3)) - vue: 3.5.25(typescript@5.9.3) + '@vueuse/shared': 14.1.0(vue@3.5.26(typescript@5.9.3)) + vue: 3.5.26(typescript@5.9.3) - '@vueuse/integrations@14.0.0(focus-trap@7.6.6)(vue@3.5.25(typescript@5.9.3))': + '@vueuse/integrations@14.1.0(focus-trap@7.7.0)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@vueuse/core': 14.0.0(vue@3.5.25(typescript@5.9.3)) - '@vueuse/shared': 14.0.0(vue@3.5.25(typescript@5.9.3)) - vue: 3.5.25(typescript@5.9.3) + '@vueuse/core': 14.1.0(vue@3.5.26(typescript@5.9.3)) + '@vueuse/shared': 14.1.0(vue@3.5.26(typescript@5.9.3)) + vue: 3.5.26(typescript@5.9.3) optionalDependencies: - focus-trap: 7.6.6 + focus-trap: 7.7.0 '@vueuse/metadata@12.8.2': {} - '@vueuse/metadata@14.0.0': {} - '@vueuse/metadata@14.1.0': {} '@vueuse/shared@12.8.2(typescript@5.9.3)': dependencies: - vue: 3.5.25(typescript@5.9.3) + vue: 3.5.26(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/shared@14.0.0(vue@3.5.25(typescript@5.9.3))': - dependencies: - vue: 3.5.25(typescript@5.9.3) - - '@vueuse/shared@14.1.0(vue@3.5.25(typescript@5.9.3))': + '@vueuse/shared@14.1.0(vue@3.5.26(typescript@5.9.3))': dependencies: - vue: 3.5.25(typescript@5.9.3) + vue: 3.5.26(typescript@5.9.3) acorn@8.15.0: {} + ai@5.0.116(zod@4.2.1): + dependencies: + '@ai-sdk/gateway': 2.0.23(zod@4.2.1) + '@ai-sdk/provider': 2.0.0 + '@ai-sdk/provider-utils': 3.0.19(zod@4.2.1) + '@opentelemetry/api': 1.9.0 + zod: 4.2.1 + + algoliasearch@5.46.2: + dependencies: + '@algolia/abtesting': 1.12.2 + '@algolia/client-abtesting': 5.46.2 + '@algolia/client-analytics': 5.46.2 + '@algolia/client-common': 5.46.2 + '@algolia/client-insights': 5.46.2 + '@algolia/client-personalization': 5.46.2 + '@algolia/client-query-suggestions': 5.46.2 + '@algolia/client-search': 5.46.2 + '@algolia/ingestion': 1.46.2 + '@algolia/monitoring': 1.46.2 + '@algolia/recommend': 5.46.2 + '@algolia/requester-browser-xhr': 5.46.2 + '@algolia/requester-fetch': 5.46.2 + '@algolia/requester-node-http': 5.46.2 + ansi-escapes@7.2.0: dependencies: environment: 1.1.0 + ansi-regex@5.0.1: {} + ansi-regex@6.2.2: {} + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + ansi-styles@6.2.3: {} + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} aria-hidden@1.2.6: dependencies: tslib: 2.8.1 + bail@2.0.2: {} + birpc@2.8.0: {} braces@3.0.3: @@ -2547,6 +3280,8 @@ snapshots: character-entities-legacy@3.0.0: {} + character-entities@2.0.2: {} + cli-cursor@5.0.0: dependencies: restore-cursor: 5.1.0 @@ -2556,6 +3291,18 @@ snapshots: slice-ansi: 7.1.2 string-width: 8.1.0 + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + colorette@2.0.20: {} comma-separated-tokens@2.0.3: {} @@ -2578,6 +3325,10 @@ snapshots: dependencies: ms: 2.1.3 + decode-named-character-reference@1.2.0: + dependencies: + character-entities: 2.0.2 + defu@6.1.4: {} degit@2.8.4: {} @@ -2592,6 +3343,8 @@ snapshots: emoji-regex@10.6.0: {} + emoji-regex@8.0.0: {} + enhanced-resolve@5.18.4: dependencies: graceful-fs: 4.2.11 @@ -2599,6 +3352,8 @@ snapshots: entities@4.5.0: {} + entities@7.0.0: {} + environment@1.1.0: {} esbuild@0.27.2: @@ -2630,12 +3385,26 @@ snapshots: '@esbuild/win32-ia32': 0.27.2 '@esbuild/win32-x64': 0.27.2 + escalade@3.2.0: {} + + escape-string-regexp@5.0.0: {} + + esprima@4.0.1: {} + estree-walker@2.0.2: {} eventemitter3@5.0.1: {} + eventsource-parser@3.0.6: {} + exsolve@1.0.7: {} + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2644,10 +3413,14 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fastq@1.19.1: + fastq@1.20.1: dependencies: reusify: 1.1.0 + fault@2.0.1: + dependencies: + format: 0.2.2 + fd-package-json@2.0.0: dependencies: walk-up-path: 4.0.0 @@ -2664,10 +3437,12 @@ snapshots: dependencies: to-regex-range: 5.0.1 - focus-trap@7.6.6: + focus-trap@7.7.0: dependencies: tabbable: 6.3.0 + format@0.2.2: {} + formatly@0.3.0: dependencies: fd-package-json: 2.0.0 @@ -2675,6 +3450,8 @@ snapshots: fsevents@2.3.3: optional: true + get-caller-file@2.0.5: {} + get-east-asian-width@1.4.0: {} glob-parent@5.1.2: @@ -2685,6 +3462,13 @@ snapshots: graceful-fs@4.2.11: {} + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.2 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.4 @@ -2711,8 +3495,12 @@ snapshots: husky@9.1.7: {} + is-extendable@0.1.1: {} + is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@5.1.0: dependencies: get-east-asian-width: 1.4.0 @@ -2723,27 +3511,38 @@ snapshots: is-number@7.0.0: {} + is-plain-obj@4.1.0: {} + is-what@5.5.0: {} jiti@2.6.1: {} + js-yaml@3.14.2: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + js-yaml@4.1.1: dependencies: argparse: 2.0.1 - knip@5.76.1(@types/node@24.10.4)(typescript@5.9.3): + json-schema@0.4.0: {} + + kind-of@6.0.3: {} + + knip@5.78.0(@types/node@25.0.3)(typescript@5.9.3): dependencies: '@nodelib/fs.walk': 1.2.8 - '@types/node': 24.10.4 + '@types/node': 25.0.3 fast-glob: 3.3.3 formatly: 0.3.0 jiti: 2.6.1 js-yaml: 4.1.1 minimist: 1.2.8 - oxc-resolver: 11.16.0 + oxc-resolver: 11.16.2 picocolors: 1.1.1 picomatch: 4.0.3 - smol-toml: 1.5.2 + smol-toml: 1.6.0 strip-json-comments: 5.0.3 typescript: 5.9.3 zod: 4.1.13 @@ -2799,6 +3598,10 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 + linkify-it@5.0.0: + dependencies: + uc.micro: 2.1.0 + lint-staged@16.2.7: dependencies: commander: 14.0.2 @@ -2832,6 +3635,8 @@ snapshots: strip-ansi: 7.1.2 wrap-ansi: 9.0.2 + longest-streak@3.1.0: {} + magic-string@0.30.21: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -2840,6 +3645,52 @@ snapshots: markdown-it-container@4.0.0: {} + markdown-it@14.1.0: + dependencies: + argparse: 2.0.1 + entities: 4.5.0 + linkify-it: 5.0.0 + mdurl: 2.0.0 + punycode.js: 2.3.1 + uc.micro: 2.1.0 + + markdown-title@1.0.2: {} + + marked@16.4.2: {} + + mdast-util-from-markdown@2.0.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-frontmatter@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + escape-string-regexp: 5.0.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 + micromark-extension-frontmatter: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 @@ -2852,32 +3703,181 @@ snapshots: unist-util-visit: 5.0.0 vfile: 6.0.3 + mdast-util-to-markdown@2.1.2: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdurl@2.0.0: {} + merge2@1.4.1: {} + micromark-core-commonmark@2.0.3: + dependencies: + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-extension-frontmatter@2.0.0: + dependencies: + fault: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-factory-whitespace@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + micromark-util-character@2.1.1: dependencies: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 + micromark-util-chunked@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-classify-character@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 + + micromark-util-decode-numeric-character-reference@2.0.2: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-decode-string@2.0.1: + dependencies: + decode-named-character-reference: 1.2.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 + micromark-util-encode@2.0.1: {} + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: + dependencies: + micromark-util-symbol: 2.0.1 + + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 + micromark-util-sanitize-uri@2.0.1: dependencies: micromark-util-character: 2.1.1 micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + micromark-util-symbol@2.0.1: {} micromark-util-types@2.0.2: {} + micromark@4.0.2: + dependencies: + '@types/debug': 4.1.12 + debug: 4.4.3 + decode-named-character-reference: 1.2.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 + millify@6.1.0: + dependencies: + yargs: 17.7.2 + mimic-function@5.0.1: {} + minimatch@10.1.1: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + minimist@1.2.8: {} minisearch@7.2.0: {} @@ -2905,89 +3905,96 @@ snapshots: oniguruma-parser@0.12.1: {} - oniguruma-to-es@4.3.3: + oniguruma-to-es@4.3.4: dependencies: oniguruma-parser: 0.12.1 regex: 6.0.1 regex-recursion: 6.0.2 - oxc-minify@0.105.0: + oxc-minify@0.107.0: optionalDependencies: - '@oxc-minify/binding-android-arm64': 0.105.0 - '@oxc-minify/binding-darwin-arm64': 0.105.0 - '@oxc-minify/binding-darwin-x64': 0.105.0 - '@oxc-minify/binding-freebsd-x64': 0.105.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.105.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.105.0 - '@oxc-minify/binding-linux-arm64-musl': 0.105.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.105.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.105.0 - '@oxc-minify/binding-linux-x64-gnu': 0.105.0 - '@oxc-minify/binding-linux-x64-musl': 0.105.0 - '@oxc-minify/binding-openharmony-arm64': 0.105.0 - '@oxc-minify/binding-wasm32-wasi': 0.105.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.105.0 - '@oxc-minify/binding-win32-x64-msvc': 0.105.0 - - oxc-resolver@11.16.0: + '@oxc-minify/binding-android-arm-eabi': 0.107.0 + '@oxc-minify/binding-android-arm64': 0.107.0 + '@oxc-minify/binding-darwin-arm64': 0.107.0 + '@oxc-minify/binding-darwin-x64': 0.107.0 + '@oxc-minify/binding-freebsd-x64': 0.107.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.107.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.107.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.107.0 + '@oxc-minify/binding-linux-arm64-musl': 0.107.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.107.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.107.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.107.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.107.0 + '@oxc-minify/binding-linux-x64-gnu': 0.107.0 + '@oxc-minify/binding-linux-x64-musl': 0.107.0 + '@oxc-minify/binding-openharmony-arm64': 0.107.0 + '@oxc-minify/binding-wasm32-wasi': 0.107.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.107.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.107.0 + '@oxc-minify/binding-win32-x64-msvc': 0.107.0 + + oxc-resolver@11.16.2: optionalDependencies: - '@oxc-resolver/binding-android-arm-eabi': 11.16.0 - '@oxc-resolver/binding-android-arm64': 11.16.0 - '@oxc-resolver/binding-darwin-arm64': 11.16.0 - '@oxc-resolver/binding-darwin-x64': 11.16.0 - '@oxc-resolver/binding-freebsd-x64': 11.16.0 - '@oxc-resolver/binding-linux-arm-gnueabihf': 11.16.0 - '@oxc-resolver/binding-linux-arm-musleabihf': 11.16.0 - '@oxc-resolver/binding-linux-arm64-gnu': 11.16.0 - '@oxc-resolver/binding-linux-arm64-musl': 11.16.0 - '@oxc-resolver/binding-linux-ppc64-gnu': 11.16.0 - '@oxc-resolver/binding-linux-riscv64-gnu': 11.16.0 - '@oxc-resolver/binding-linux-riscv64-musl': 11.16.0 - '@oxc-resolver/binding-linux-s390x-gnu': 11.16.0 - '@oxc-resolver/binding-linux-x64-gnu': 11.16.0 - '@oxc-resolver/binding-linux-x64-musl': 11.16.0 - '@oxc-resolver/binding-openharmony-arm64': 11.16.0 - '@oxc-resolver/binding-wasm32-wasi': 11.16.0 - '@oxc-resolver/binding-win32-arm64-msvc': 11.16.0 - '@oxc-resolver/binding-win32-ia32-msvc': 11.16.0 - '@oxc-resolver/binding-win32-x64-msvc': 11.16.0 - - oxfmt@0.20.0: + '@oxc-resolver/binding-android-arm-eabi': 11.16.2 + '@oxc-resolver/binding-android-arm64': 11.16.2 + '@oxc-resolver/binding-darwin-arm64': 11.16.2 + '@oxc-resolver/binding-darwin-x64': 11.16.2 + '@oxc-resolver/binding-freebsd-x64': 11.16.2 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.16.2 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.16.2 + '@oxc-resolver/binding-linux-arm64-gnu': 11.16.2 + '@oxc-resolver/binding-linux-arm64-musl': 11.16.2 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.16.2 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.16.2 + '@oxc-resolver/binding-linux-riscv64-musl': 11.16.2 + '@oxc-resolver/binding-linux-s390x-gnu': 11.16.2 + '@oxc-resolver/binding-linux-x64-gnu': 11.16.2 + '@oxc-resolver/binding-linux-x64-musl': 11.16.2 + '@oxc-resolver/binding-openharmony-arm64': 11.16.2 + '@oxc-resolver/binding-wasm32-wasi': 11.16.2 + '@oxc-resolver/binding-win32-arm64-msvc': 11.16.2 + '@oxc-resolver/binding-win32-ia32-msvc': 11.16.2 + '@oxc-resolver/binding-win32-x64-msvc': 11.16.2 + + oxfmt@0.23.0: dependencies: tinypool: 2.0.0 optionalDependencies: - '@oxfmt/darwin-arm64': 0.20.0 - '@oxfmt/darwin-x64': 0.20.0 - '@oxfmt/linux-arm64-gnu': 0.20.0 - '@oxfmt/linux-arm64-musl': 0.20.0 - '@oxfmt/linux-x64-gnu': 0.20.0 - '@oxfmt/linux-x64-musl': 0.20.0 - '@oxfmt/win32-arm64': 0.20.0 - '@oxfmt/win32-x64': 0.20.0 - - oxlint-tsgolint@0.10.0: + '@oxfmt/darwin-arm64': 0.23.0 + '@oxfmt/darwin-x64': 0.23.0 + '@oxfmt/linux-arm64-gnu': 0.23.0 + '@oxfmt/linux-arm64-musl': 0.23.0 + '@oxfmt/linux-x64-gnu': 0.23.0 + '@oxfmt/linux-x64-musl': 0.23.0 + '@oxfmt/win32-arm64': 0.23.0 + '@oxfmt/win32-x64': 0.23.0 + + oxlint-tsgolint@0.10.1: optionalDependencies: - '@oxlint-tsgolint/darwin-arm64': 0.10.0 - '@oxlint-tsgolint/darwin-x64': 0.10.0 - '@oxlint-tsgolint/linux-arm64': 0.10.0 - '@oxlint-tsgolint/linux-x64': 0.10.0 - '@oxlint-tsgolint/win32-arm64': 0.10.0 - '@oxlint-tsgolint/win32-x64': 0.10.0 - - oxlint@1.34.0(oxlint-tsgolint@0.10.0): + '@oxlint-tsgolint/darwin-arm64': 0.10.1 + '@oxlint-tsgolint/darwin-x64': 0.10.1 + '@oxlint-tsgolint/linux-arm64': 0.10.1 + '@oxlint-tsgolint/linux-x64': 0.10.1 + '@oxlint-tsgolint/win32-arm64': 0.10.1 + '@oxlint-tsgolint/win32-x64': 0.10.1 + + oxlint@1.38.0(oxlint-tsgolint@0.10.1): optionalDependencies: - '@oxlint/darwin-arm64': 1.34.0 - '@oxlint/darwin-x64': 1.34.0 - '@oxlint/linux-arm64-gnu': 1.34.0 - '@oxlint/linux-arm64-musl': 1.34.0 - '@oxlint/linux-x64-gnu': 1.34.0 - '@oxlint/linux-x64-musl': 1.34.0 - '@oxlint/win32-arm64': 1.34.0 - '@oxlint/win32-x64': 1.34.0 - oxlint-tsgolint: 0.10.0 + '@oxlint/darwin-arm64': 1.38.0 + '@oxlint/darwin-x64': 1.38.0 + '@oxlint/linux-arm64-gnu': 1.38.0 + '@oxlint/linux-arm64-musl': 1.38.0 + '@oxlint/linux-x64-gnu': 1.38.0 + '@oxlint/linux-x64-musl': 1.38.0 + '@oxlint/win32-arm64': 1.38.0 + '@oxlint/win32-x64': 1.38.0 + oxlint-tsgolint: 0.10.1 package-manager-detector@1.5.0: {} + path-to-regexp@6.3.0: {} + pathe@2.0.3: {} perfect-debounce@2.0.0: {} @@ -3023,12 +4030,18 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + pretty-bytes@7.1.0: {} + property-information@7.1.0: {} + punycode.js@2.3.1: {} + quansync@0.2.11: {} queue-microtask@1.2.3: {} + react@19.2.3: {} + regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -3039,23 +4052,58 @@ snapshots: dependencies: regex-utilities: 2.3.0 - reka-ui@2.7.0(typescript@5.9.3)(vue@3.5.25(typescript@5.9.3)): + reka-ui@2.7.0(typescript@5.9.3)(vue@3.5.26(typescript@5.9.3)): dependencies: '@floating-ui/dom': 1.7.4 - '@floating-ui/vue': 1.1.9(vue@3.5.25(typescript@5.9.3)) + '@floating-ui/vue': 1.1.9(vue@3.5.26(typescript@5.9.3)) '@internationalized/date': 3.10.1 '@internationalized/number': 3.6.5 - '@tanstack/vue-virtual': 3.13.13(vue@3.5.25(typescript@5.9.3)) + '@tanstack/vue-virtual': 3.13.13(vue@3.5.26(typescript@5.9.3)) '@vueuse/core': 12.8.2(typescript@5.9.3) '@vueuse/shared': 12.8.2(typescript@5.9.3) aria-hidden: 1.2.6 defu: 6.1.4 ohash: 2.0.11 - vue: 3.5.25(typescript@5.9.3) + vue: 3.5.26(typescript@5.9.3) transitivePeerDependencies: - '@vue/composition-api' - typescript + remark-frontmatter@5.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-frontmatter: 2.0.1 + micromark-extension-frontmatter: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.2 + micromark-util-types: 2.0.2 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 + + remark@15.0.1: + dependencies: + '@types/mdast': 4.0.4 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + require-directory@2.1.1: {} + restore-cursor@5.1.0: dependencies: onetime: 7.0.0 @@ -3065,24 +4113,24 @@ snapshots: rfdc@1.4.1: {} - rolldown@1.0.0-beta.55: + rolldown@1.0.0-beta.57: dependencies: '@oxc-project/types': 0.103.0 - '@rolldown/pluginutils': 1.0.0-beta.55 + '@rolldown/pluginutils': 1.0.0-beta.57 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-beta.55 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.55 - '@rolldown/binding-darwin-x64': 1.0.0-beta.55 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.55 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.55 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.55 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.55 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.55 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.55 - '@rolldown/binding-openharmony-arm64': 1.0.0-beta.55 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.55 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.55 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.55 + '@rolldown/binding-android-arm64': 1.0.0-beta.57 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.57 + '@rolldown/binding-darwin-x64': 1.0.0-beta.57 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.57 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.57 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.57 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.57 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.57 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.57 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.57 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.57 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.57 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.57 run-parallel@1.2.0: dependencies: @@ -3090,14 +4138,21 @@ snapshots: sax@1.4.3: {} - shiki@3.15.0: + search-insights@2.17.3: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + shiki@3.20.0: dependencies: - '@shikijs/core': 3.15.0 - '@shikijs/engine-javascript': 3.15.0 - '@shikijs/engine-oniguruma': 3.15.0 - '@shikijs/langs': 3.15.0 - '@shikijs/themes': 3.15.0 - '@shikijs/types': 3.15.0 + '@shikijs/core': 3.20.0 + '@shikijs/engine-javascript': 3.20.0 + '@shikijs/engine-oniguruma': 3.20.0 + '@shikijs/langs': 3.20.0 + '@shikijs/themes': 3.20.0 + '@shikijs/types': 3.20.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -3108,7 +4163,7 @@ snapshots: ansi-styles: 6.2.3 is-fullwidth-code-point: 5.1.0 - smol-toml@1.5.2: {} + smol-toml@1.6.0: {} source-map-js@1.2.1: {} @@ -3116,8 +4171,16 @@ snapshots: speakingurl@14.0.1: {} + sprintf-js@1.0.3: {} + string-argv@0.3.2: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + string-width@7.2.0: dependencies: emoji-regex: 10.6.0 @@ -3134,22 +4197,36 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + strip-ansi@7.1.2: dependencies: ansi-regex: 6.2.2 + strip-bom-string@1.0.0: {} + strip-json-comments@5.0.3: {} superjson@2.2.5: dependencies: copy-anything: 4.0.5 + swr@2.3.8(react@19.2.3): + dependencies: + dequal: 2.0.3 + react: 19.2.3 + use-sync-external-store: 1.6.0(react@19.2.3) + tabbable@6.3.0: {} tailwindcss@4.1.18: {} tapable@2.3.0: {} + throttleit@2.1.0: {} + tinyexec@1.0.2: {} tinyglobby@0.2.15: @@ -3163,16 +4240,32 @@ snapshots: dependencies: is-number: 7.0.0 + tokenx@1.2.1: {} + trim-lines@3.0.1: {} + trough@2.2.0: {} + tslib@2.8.1: {} typescript@5.9.3: {} + uc.micro@2.1.0: {} + ufo@1.6.1: {} undici-types@7.16.0: {} + unified@11.0.5: + dependencies: + '@types/unist': 3.0.3 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.3 + unist-util-is@6.0.1: dependencies: '@types/unist': 3.0.3 @@ -3181,6 +4274,12 @@ snapshots: dependencies: '@types/unist': 3.0.3 + unist-util-remove@4.0.0: + dependencies: + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.3 @@ -3196,6 +4295,10 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 + use-sync-external-store@1.6.0(react@19.2.3): + dependencies: + react: 19.2.3 + util-deprecate@1.0.2: {} vfile-message@4.0.3: @@ -3208,57 +4311,78 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1): + vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2): dependencies: '@oxc-project/runtime': 0.103.0 fdir: 6.5.0(picomatch@4.0.3) lightningcss: 1.30.2 picomatch: 4.0.3 postcss: 8.5.6 - rolldown: 1.0.0-beta.55 + rolldown: 1.0.0-beta.57 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 24.10.4 + '@types/node': 25.0.3 esbuild: 0.27.2 fsevents: 2.3.3 jiti: 2.6.1 - yaml: 2.8.1 + yaml: 2.8.2 - vitepress-plugin-group-icons@1.6.5(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1)): + vitepress-plugin-group-icons@1.6.5(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2)): dependencies: '@iconify-json/logos': 1.2.10 '@iconify-json/vscode-icons': 1.2.33 '@iconify/utils': 3.0.2 optionalDependencies: - vite: 8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1) + vite: 8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2) + transitivePeerDependencies: + - supports-color + + vitepress-plugin-llms@1.10.0: + dependencies: + gray-matter: 4.0.3 + markdown-it: 14.1.0 + markdown-title: 1.0.2 + mdast-util-from-markdown: 2.0.2 + millify: 6.1.0 + minimatch: 10.1.1 + path-to-regexp: 6.3.0 + picocolors: 1.1.1 + pretty-bytes: 7.1.0 + remark: 15.0.1 + remark-frontmatter: 5.0.0 + tokenx: 1.2.1 + unist-util-remove: 4.0.0 + unist-util-visit: 5.0.0 transitivePeerDependencies: - supports-color - vitepress@2.0.0-alpha.15(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.105.0)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.1): + vitepress@2.0.0-alpha.15(@algolia/client-search@5.46.2)(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(oxc-minify@0.107.0)(postcss@8.5.6)(react@19.2.3)(search-insights@2.17.3)(typescript@5.9.3)(yaml@2.8.2): dependencies: - '@docsearch/css': 4.3.2 - '@docsearch/js': 4.3.2 - '@iconify-json/simple-icons': 1.2.60 - '@shikijs/core': 3.15.0 - '@shikijs/transformers': 3.15.0 - '@shikijs/types': 3.15.0 + '@docsearch/css': 4.4.0 + '@docsearch/js': 4.4.0(@algolia/client-search@5.46.2)(react@19.2.3)(search-insights@2.17.3) + '@iconify-json/simple-icons': 1.2.64 + '@shikijs/core': 3.20.0 + '@shikijs/transformers': 3.20.0 + '@shikijs/types': 3.20.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 6.0.1(vite@8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1))(vue@3.5.25(typescript@5.9.3)) + '@vitejs/plugin-vue': 6.0.3(vite@8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2))(vue@3.5.26(typescript@5.9.3)) '@vue/devtools-api': 8.0.5 '@vue/shared': 3.5.25 - '@vueuse/core': 14.1.0(vue@3.5.25(typescript@5.9.3)) - '@vueuse/integrations': 14.0.0(focus-trap@7.6.6)(vue@3.5.25(typescript@5.9.3)) - focus-trap: 7.6.6 + '@vueuse/core': 14.1.0(vue@3.5.26(typescript@5.9.3)) + '@vueuse/integrations': 14.1.0(focus-trap@7.7.0)(vue@3.5.26(typescript@5.9.3)) + focus-trap: 7.7.0 mark.js: 8.11.1 minisearch: 7.2.0 - shiki: 3.15.0 - vite: 8.0.0-beta.3(@types/node@24.10.4)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.1) - vue: 3.5.25(typescript@5.9.3) + shiki: 3.20.0 + vite: 8.0.0-beta.5(@types/node@25.0.3)(esbuild@0.27.2)(jiti@2.6.1)(yaml@2.8.2) + vue: 3.5.26(typescript@5.9.3) optionalDependencies: - oxc-minify: 0.105.0 + oxc-minify: 0.107.0 postcss: 8.5.6 transitivePeerDependencies: + - '@algolia/client-search' - '@types/node' + - '@types/react' - async-validator - axios - change-case @@ -3271,8 +4395,11 @@ snapshots: - less - nprogress - qrcode + - react + - react-dom - sass - sass-embedded + - search-insights - sortablejs - stylus - sugarss @@ -3282,22 +4409,28 @@ snapshots: - universal-cookie - yaml - vue-demi@0.14.10(vue@3.5.25(typescript@5.9.3)): + vue-demi@0.14.10(vue@3.5.26(typescript@5.9.3)): dependencies: - vue: 3.5.25(typescript@5.9.3) + vue: 3.5.26(typescript@5.9.3) - vue@3.5.25(typescript@5.9.3): + vue@3.5.26(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.25 - '@vue/compiler-sfc': 3.5.25 - '@vue/runtime-dom': 3.5.25 - '@vue/server-renderer': 3.5.25(vue@3.5.25(typescript@5.9.3)) - '@vue/shared': 3.5.25 + '@vue/compiler-dom': 3.5.26 + '@vue/compiler-sfc': 3.5.26 + '@vue/runtime-dom': 3.5.26 + '@vue/server-renderer': 3.5.26(vue@3.5.26(typescript@5.9.3)) + '@vue/shared': 3.5.26 optionalDependencies: typescript: 5.9.3 walk-up-path@4.0.0: {} + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 @@ -3308,8 +4441,27 @@ snapshots: dependencies: sax: 1.4.3 + y18n@5.0.8: {} + yaml@2.8.1: {} + yaml@2.8.2: + optional: true + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + zod@4.1.13: {} + zod@4.2.1: {} + zwitch@2.0.4: {} diff --git a/src/blog/index.md b/src/blog/index.md new file mode 100644 index 00000000000..9ead00cdc09 --- /dev/null +++ b/src/blog/index.md @@ -0,0 +1,6 @@ +--- +layout: page +sidebar: false +--- + + diff --git a/src/docs/guide/introduction.md b/src/docs/guide/introduction.md index 51b52baaff4..f2e955246aa 100644 --- a/src/docs/guide/introduction.md +++ b/src/docs/guide/introduction.md @@ -1,70 +1,35 @@ --- title: Getting Started -outline: deep --- # Getting Started -## Overview +[What is Oxc?](/docs/guide/what-is-oxc) -Oxc (each letter is individually pronounced, `/oh-eks-see/`) is the JavaScript Oxidation Compiler, a collection of high-performance tools for the JavaScript language written in Rust. +## Lint or format a codebase -Our focus lies in constructing essential compiler tools for JavaScript: parser, linter, formatter, transpiler, minifier and resolver. +- Lint: [Oxlint](/docs/guide/usage/linter) +- Format: [Oxfmt](/docs/guide/usage/formatter) -Our goal is to empower the [next generation toolchain for JavaScript](https://voidzero.dev/posts/announcing-voidzero-inc) as part of [VoidZero](https://voidzero.dev). +## Build tooling on top of Oxc -## Endorsements +- Parse JavaScript and TypeScript: [Parser](/docs/guide/usage/parser) +- Transform TypeScript, JSX, and modern JavaScript: [Transformer](/docs/guide/usage/transformer) +- Minify JavaScript for production builds: [Minifier](/docs/guide/usage/minifier) +- Resolve modules for JavaScript and TypeScript: [Resolver](/docs/guide/usage/resolver) -#### [Evan You](https://x.com/youyuxi/status/1734439543280128030), creator of [Vue.js](https://vuejs.org) and [Vite](https://vitejs.dev): +## Contribute or learn -> Ran oxlint on the Vue 3 codebase, ~200 rules + ~590 files finished in 50ms 🤯 (30ms re-runs) -> -> The performance is absolutely nuts +- [Contribute](/docs/contribute/introduction) +- [Learn](/docs/learn/parser_in_rust/intro.html) -#### [Jason Miller](https://github.com/developit), creator of [Preact](https://preactjs.com): +## Other resources -> oxlint has been a massive win for us at Shopify. Our previous linting setup took 75 minutes to run, so we were fanning it out across 40+ workers in CI. -> -> By comparison, oxlint takes around 10 seconds to lint the same codebase on a single worker, and the output is easier to interpret. -> -> We even caught a few bugs that were hidden or skipped by our old setup when we migrated! - -#### [Luke Edwards](https://x.com/lukeed05/status/1829527267162345651) - -> For a while now, @boshen_c has been crushing it, setting the foundation for the next generation of JS tooling. -> -> There's just so much to learn from the OXC source code. Everything is meticulously measured and benchmarked, then formalized into simple, elegant, non-frightening APIs. -> -> This guy is brilliant, a team player, and is + has been doing thankless, hard work. - -#### [Yagiz Nizipli](https://github.com/sponsors/anonrig), founder of [Node.js performance team](https://github.com/nodejs/performance): - -> I'm impressed by how oxc is actively encouraging JavaScript tools to improve their performance. - -#### [Eric Simons](https://x.com/ericsimons40/status/1766525300584947999), CEO of [StackBlitz](https://stackblitz.com/): - -> Oxc is slept on rn -> -> Most JS/TS toolchains will be using it within the next few yrs imo - -#### [Miles Johnson](https://x.com/mileswjohnson/status/1734698340791800283), creator of [Moonrepo](https://moonrepo.dev): - -> It's crazy how good oxlint (and oxc tools) is. Not just in performance, but ease of use. Banking on Rust was a good choice! - -#### [Joe Savona](https://x.com/en_JS/status/1676467920334094336), [React](https://react.dev) team member: - -> For…reasons I am experimenting w various Rust-based JS compilers. I don’t agree w every design decision but overall oxc is really well done. - -#### [Sathya Gunasekaran](https://x.com/_gsathya/status/1676453430263701506), [React](https://react.dev) team member: - -> oxc is kinda neat - -## Special Thanks - -- [Biome][biome] and [Ruff][ruff]: This project would not exist without the help, inspiration, and encouragement from these two projects, who are pioneers in the field of Rust-based unified toolchains. -- [quick-lint-js][quick-lint-js] and [elm-review][elm-review]: For educating how static analysis could be improved in both performance and usability. - -[biome]: https://biomejs.dev -[ruff]: https://beta.ruff.rs -[quick-lint-js]: https://quick-lint-js.com/ -[elm-review]: https://package.elm-lang.org/packages/jfmengels/elm-review/latest/ +- [Troubleshooting](/docs/guide/troubleshooting) +- [Benchmarks](/docs/guide/benchmarks) +- [Projects using Oxc](/docs/guide/projects) +- [Talks and media](/docs/guide/media) +- [Team](/team) +- [Endorsements](/endorsements) +- [Release Blog](/blog/) +- [Releases](https://github.com/oxc-project/oxc/releases) diff --git a/src/docs/guide/media.md b/src/docs/guide/media.md index 415d74fbcae..ccd1c75fbe7 100644 --- a/src/docs/guide/media.md +++ b/src/docs/guide/media.md @@ -3,7 +3,7 @@ title: On Media outline: deep --- -# On Media +# Talks & media ## Articles diff --git a/src/docs/guide/usage/formatter.md b/src/docs/guide/usage/formatter.md index d509f930f0a..3c93bd1b9d9 100644 --- a/src/docs/guide/usage/formatter.md +++ b/src/docs/guide/usage/formatter.md @@ -37,13 +37,7 @@ Waiting on Oxfmt to implement additional features? Consider using [@prettier/plu - GraphQL - Markdown, MDX -:::warning - -Note that the `embeddedLanguageFormatting` option is not fully supported in JS/TS files. And for now, it is disabled by default. - -::: - -## Installation +## Quickstart Run `oxfmt` directly at the root of your repository: @@ -93,6 +87,29 @@ $ bun add -D oxfmt ::: +Add the following scripts to your `package.json`: + +```json +{ + "scripts": { + "format": "oxfmt", + "format:check": "oxfmt --check" + } +} +``` + +Apply formatting: + +```bash +pnpm run format +``` + +Check formatting without modifying files: + +```bash +pnpm run format:check +``` + ## Command-line Interface `oxfmt` CLI works like `prettier --write .` by default. @@ -154,15 +171,25 @@ Also, if `printWidth` is not specified, its default value is `100`. This differs Currently, NOT supported. -However, for import sorting functionality, we provide experimental behavior based on `eslint-plugin-perfectionist/sort-imports` through the `experimentalSortImports` option. +However, we have some experimental sorting options: -And for `prettier-plugin-packagejson`, we have the `experimentalSortPackageJson` option, which is enabled by default. +- `experimentalSortImports` + - Based on `eslint-plugin-perfectionist/sort-imports` + - Disabled by default +- `experimentalSortPackageJson` + - Based on `prettier-plugin-packagejson` + - Enabled by default +- `experimentalTailwindcss` + - Based on `prettier-plugin-tailwindcss` + - Disabled by default See more details in the [Configuration file reference](./formatter/config-file-reference). -### Why are nested scripts and code blocks not formatted? +### Why are embedded template literals not formatted? + +Currently, not fully implemented. -Currently, the `embeddedLanguageFormatting` option is `"off"` by default. -Please set it to `"auto"` in your config file. +For known differences, please see this discussion. -However, even with `"auto"`, the contents inside `TaggedTemplateLiteral` in JS/TS files may not be fully formatted in some cases. +> oxfmt: embedded formatting full support (aka xxx-in-js) · Issue #15180 · oxc-project/oxc\ +> https://github.com/oxc-project/oxc/issues/15180 diff --git a/src/docs/guide/usage/formatter/config.md b/src/docs/guide/usage/formatter/config.md index 80399af9878..f896ef06956 100644 --- a/src/docs/guide/usage/formatter/config.md +++ b/src/docs/guide/usage/formatter/config.md @@ -39,43 +39,3 @@ For those properties, glob path overrides also work. By default, `oxfmt` automatically tries to find the nearest `.editorconfig` file from the current working directory. Unlike Prettier, Oxfmt does not respect `root = true` and does not merge nested `.editorconfig` files. - -## Ignore files - -By default, `oxfmt` automatically finds the `.gitignore` and `.prettierignore` files from the current working directory. - -Also you can specify your ignore file by `--ignore-path your.ignore` flag. -In addition, `.oxfmtrc.json(c)` supports an `ignorePatterns` field. - -Defined paths are resolved based on where the file is located, not the current working directory. - -Global and nested ignores are not respected. - -VCS directories like `.git` and `.svn` are always ignored, also popular lock files are also ignored. - -### Ignore comments - -For JS/TS files, you can use a `prettier-ignore` comment. - -This takes effect on the next statement/expression. - -```js -// prettier-ignore -const a=42; - -/* prettier-ignore */ -const x=()=>{return 2;} - -<> - {/* prettier-ignore */} - -; -``` - -(Not documented, but) Prettier supports trailing ignore comment too, but we don't support it to avoid a performance hit. -Please update your code in that case. - -For non-JS files, the same convention as Prettier works. -Please see Prettier's [documentation](https://prettier.io/docs/ignore#html). - -For TOML files, ignore comments are not supported. diff --git a/src/docs/guide/usage/formatter/generated-config.md b/src/docs/guide/usage/formatter/generated-config.md index a3ae7eddc6a..943790b2d15 100644 --- a/src/docs/guide/usage/formatter/generated-config.md +++ b/src/docs/guide/usage/formatter/generated-config.md @@ -32,7 +32,8 @@ Print spaces between brackets in object literals. (Default: `true`) type: `string | null` -Control whether formats quoted code embedded in the file. (Default: `"auto"`) +Control whether to format embedded parts in the file. +e.g. JS-in-Vue, CSS-in-JS, etc. (Default: `"auto"`) ## endOfLine @@ -106,6 +107,71 @@ type: `boolean | null` Experimental: Sort `package.json` keys. (Default: `true`) +## experimentalTailwindcss + +type: `object | null` + +Experimental: Enable Tailwind CSS class sorting in JSX class/className attributes. +When enabled, class strings will be collected and passed to a callback for sorting. +Pass `true` or an object with options from `prettier-plugin-tailwindcss`. +(Default: disabled) + +### experimentalTailwindcss.attributes + +type: `string[]` + +List of attributes that contain Tailwind CSS classes. + +Example: `["myClassProp", ":class"]` + +Default: `["class", "className"]` + +### experimentalTailwindcss.config + +type: `string | null` + +Path to your Tailwind CSS configuration file (v3). + +Note: Paths are resolved relative to the Oxfmt configuration file. + +Default: `"./tailwind.config.js"` + +### experimentalTailwindcss.functions + +type: `string[]` + +List of custom function names that contain Tailwind CSS classes. + +Example: `["clsx", "cn", "cva", "tw"]` + +Default: `[]` + +### experimentalTailwindcss.preserveDuplicates + +type: `boolean | null` + +Preserve duplicate classes. + +Default: `false` + +### experimentalTailwindcss.preserveWhitespace + +type: `boolean | null` + +Preserve whitespace around classes. + +Default: `false` + +### experimentalTailwindcss.stylesheet + +type: `string | null` + +Path to your Tailwind CSS stylesheet (v4). + +Note: Paths are resolved relative to the Oxfmt configuration file. + +Example: `"./src/app.css"` + ## ignorePatterns type: `string[]` diff --git a/src/docs/guide/usage/formatter/ignoring.md b/src/docs/guide/usage/formatter/ignoring.md new file mode 100644 index 00000000000..35eb2731d51 --- /dev/null +++ b/src/docs/guide/usage/formatter/ignoring.md @@ -0,0 +1,71 @@ +# Ignoring + +## Ignore files + +Oxfmt provides several ways to ignore files. + +### `.gitignore` + +Respects `.gitignore` in the current working directory and subdirectories. + +Does not respect global, exclude, or `.gitignore` in parent directories. +Does not require `.git` directory to exist. + +Files listed here can still be formatted if explicitly specified. +This is safe for use cases like `husky`, as ignored files are never staged. + +### `.prettierignore` / `oxfmtrc.ignorePatterns` + +These are formatter-specific ignore settings, separate from Git, and each operates within its own scope. + +`.prettierignore` is only read from the current working directory. For `.oxfmtrc.json(c)`, see [Configuration](./config). + +The syntax is the same as `.gitignore`, and paths are resolved relative to the directory containing the ignore file. + +Files ignored here cannot be formatted even if explicitly specified. This behavior is intended for use cases like `husky`. + +You can also specify custom ignore paths with `--ignore-path`, or use `!`-prefixed positional paths to exclude files. + +### VCS directories and `node_modules` + +Directories like `.git`, `.svn` and `.jj` are ignored by default. + +The `node_modules` directory is also ignored unless `--with-node_modules` flag is specified. + +If the current working directory is inside these directories, formatting is still possible. + +### Lock files + +Files like `package-lock.json` and `pnpm-lock.yaml` are ignored by default. + +These cannot be formatted even if explicitly specified. + +## Ignore comments + +For JS/TS files, you can use a `prettier-ignore` comment. + +This takes effect on the next statement/expression. + +```js +// prettier-ignore +const a=42; + +/* prettier-ignore */ +const x=()=>{return 2;} + +<> + {/* prettier-ignore */} + +; +``` + +::: warning +(Not documented, but) Prettier supports trailing ignore comment too. +However, we don't support it to avoid a performance hit. +Please update your code in that case. +::: + +For non-JS files, the same convention as Prettier works. +Please see Prettier's [documentation](https://prettier.io/docs/ignore#html). + +For TOML files, ignore comments are not supported. diff --git a/src/docs/guide/usage/formatter/migrate-from-prettier.md b/src/docs/guide/usage/formatter/migrate-from-prettier.md index 7b1b97c2326..b3499aebddc 100644 --- a/src/docs/guide/usage/formatter/migrate-from-prettier.md +++ b/src/docs/guide/usage/formatter/migrate-from-prettier.md @@ -4,6 +4,30 @@ If you currently use Prettier as your code formatter, you can follow this guide Note that Oxfmt is in alpha, and may not be suitable for production use in complex setups. +## Quick Start + +For simpler setups, you can migrate to Oxfmt with a single line in your terminal: + +::: code-group + +```bash [npm] +$ npm add -D oxfmt@latest && npx oxfmt --migrate=prettier && npx oxfmt +``` + +```bash [pnpm] +$ pnpm add -D oxfmt@latest && pnpm oxfmt --migrate=prettier && pnpm oxfmt +``` + +```bash [yarn] +$ yarn add -D oxfmt@latest && yarn oxfmt --migrate=prettier && yarn oxfmt +``` + +```bash [bun] +$ bun add -D oxfmt@latest && bunx oxfmt --migrate=prettier && bunx oxfmt +``` + +::: + ## Caveats for migrating to Oxfmt Before migrating, ensure that the current release of the Oxfmt alpha meets your project's needs. @@ -13,7 +37,7 @@ It is almost entirely compatible with Prettier v3.7 already for basic configurat Other important considerations when migrating from Prettier to Oxfmt: - Oxfmt's formatting output is closest to Prettier v3.7. You will see more differences migrating from an older version of Prettier. -- Oxfmt uses a `printWidth` of 100 characters by default, whereas Prettier's default is 80. Make sure to set `"printWidth": 80` in `.oxfmtrc.jsonc` to minimize differences if you use the Prettier default. +- Oxfmt uses a `printWidth` of 100 characters by default, whereas Prettier's default is 80. You may want to set `printWidth` explicitly in your configuration file to match your previous setup. - Prettier plugins are not yet supported. - Some Prettier options are not supported. See the [oxfmt CLI documentation](/docs/guide/usage/formatter/config-file-reference.html) for the full list of currently-supported options. - Oxfmt supports an `--lsp` flag to spin up a Language Server Protocol server, but editor/IDE integration is still being developed and has not been tested/documented yet for most editors. @@ -69,15 +93,7 @@ A basic `.oxfmtrc.jsonc` file looks like this: } ``` -If you have a basic `.prettierrc` file, you can simply rename the file with `mv .prettierrc .oxfmtrc.jsonc`. - -If you are using something other than JSON to configure Prettier, you will need to convert the configuration to JSON. - -In either case, you can use the migrate command in your project root directory. - -```sh -oxfmt --migrate prettier -``` +If you have a basic `.prettierrc` file, you can simply use `oxfmt --migrate prettier` to convert it to `.oxfmtrc.jsonc`. This command automatically finds your configuration file and converts it to `.oxfmtrc.json` if possible. diff --git a/src/docs/guide/usage/linter.md b/src/docs/guide/usage/linter.md index b75dfe77b1e..2d69ddbca53 100644 --- a/src/docs/guide/usage/linter.md +++ b/src/docs/guide/usage/linter.md @@ -1,241 +1,146 @@ --- -title: Linter +title: Oxlint outline: deep badges: - src: https://img.shields.io/npm/dw/oxlint alt: npm weekly downloads --- -# Linter (oxlint) +# Oxlint -Oxlint (`/oh-eks-lint/`) is designed to catch erroneous or useless code without requiring any configurations by default. +Oxlint (`/oʊ-ɛks-lɪnt/`) is a high-performance linter for JavaScript and TypeScript built on the Oxc compiler stack. -:::info -At this stage, Oxlint can be used to fully replace ESLint in small to medium projects. +## Built for scale -For larger projects, our current advice is to turn off ESLint rules via -[eslint-plugin-oxlint](https://www.npmjs.com/package/eslint-plugin-oxlint), -and run Oxlint before ESLint in your local or CI setup for a quicker feedback loop. +Oxlint is built for large repositories and CI environments. Its architecture removes structural bottlenecks that limit performance in ESLint. -Oxlint now supports JS plugins with an ESLint-compatible API. JS plugins support is currently experimental but, -once stabilized, users will be able to migrate fully to Oxlint, running any ESLint rules/plugins that Oxlint -doesn't support natively as JS plugins. -::: +Our [benchmarks](https://github.com/oxc-project/bench-linter) show Oxlint is 50 to 100 times faster than ESLint. -## Features +## Correctness-focused defaults -- 50 - 100 times faster than ESLint, and scales with the number of CPU cores - ([benchmark](https://github.com/oxc-project/bench-javascript-linter)). -- Over 600 rules with a growing list from `eslint`, `typescript`, `eslint-plugin-react`, - `eslint-plugin-jest`, `eslint-plugin-unicorn`, `eslint-plugin-jsx-a11y` and - [many more](https://github.com/oxc-project/oxc/issues/481). -- Supports - - [type-aware rules](./linter/type-aware) (alpha) - - [`.oxlintrc.json` configuration file](./linter/config) - - [Nested configuration file](./linter/nested-config) - - [Comment disabling](./linter/config.html#configuring-rules-via-inline-configuration-comments) - - [Automatic Fixes](./linter/automatic-fixes) - - [JS plugins](./linter/js-plugins) (experimental) - -## Language Support - -- Supports: - - JavaScript and TypeScript by their extensions `js`, `mjs`, `cjs`, `jsx`, `ts`, `mts`, `cts`, and `tsx`. - - ` + +# eslint/complexity + +
+
+ +### What it does + +Enforces a maximum cyclomatic complexity in a program, which is the number +of linearly independent paths in a program. + +### Why is this bad? + +Having high code complexity reduces code readability. This rule +aims to make the code easier to follow by reducing the number of branches +in the program. + +### Examples + +Examples of **incorrect** code for this rule with `{ "max": 2 }` + +```js +function foo() { + if (foo1) { + return x1; // 1st path + } else if (foo2) { + return x2; // 2nd path + } else { + return x3; // 3rd path + } +} + +function bar() { + // there are 2 paths - when bar1 is falsy, and when bar1 is truthy, in which bar1 = bar1 && bar2; + bar1 &&= bar2; + // there are 2 paths - when bar3 is truthy, and when bar3 is falsy, in which bar3 = 4; + bar3 ||= 4; +} + +// there are 2 paths - when baz1 is defined, and when baz1 is undefined and is assigned 'a' +function baz(baz1 = "a") { + const { baz2 = "b" } = baz3; // there are 2 additional paths - when baz2 is defined and when baz2 is not +} + +function d() { + d1 = d2?.d3?.(); // optional chaining creates 2 paths each - when object is defined and when it is not +} +``` + +Examples of **correct** code for this rule with `{ "max": 2 }` + +```js +// This example is taken directly from ESLint documentation +function foo() { + // this function has complexity = 1 + class C { + x = a + b; // this initializer has complexity = 1 + y = c || d; // this initializer has complexity = 2 + z = e && f; // this initializer has complexity = 2 + + static p = g || h; // this initializer has complexity = 2 + static q = i ? j : k; // this initializer has complexity = 2 + + static { + // this static block has complexity = 2 + if (foo) { + baz = bar; + } + } + + static { + // this static block has complexity = 2 + qux = baz || quux; + } + } +} +``` + +## Configuration + +This rule accepts a configuration object with the following properties: + +### max + +type: `integer` + +default: `20` + +Maximum amount of cyclomatic complexity + +### variant + +type: `"classic" | "modified"` + +default: `"classic"` + +The cyclomatic complexity variant to use + +#### `"classic"` + +Classic means McCabe cyclomatic complexity + +#### `"modified"` + +Modified means classic cyclomatic complexity but a switch statement increases +complexity by 1 irrespective of the number of `case` statements + +## How to use + +To **enable** this rule using the config file or in the CLI, you can use: + +::: code-group + +```json [Config (.oxlintrc.json)] +{ + "rules": { + "complexity": "error" + } +} +``` + +```bash [CLI] +oxlint --deny complexity +``` + +::: + +## References + +- Rule Source diff --git a/src/docs/guide/usage/linter/rules/eslint/no-nonoctal-decimal-escape.md b/src/docs/guide/usage/linter/rules/eslint/no-nonoctal-decimal-escape.md index a29daf9cbc5..f2f485f7e89 100644 --- a/src/docs/guide/usage/linter/rules/eslint/no-nonoctal-decimal-escape.md +++ b/src/docs/guide/usage/linter/rules/eslint/no-nonoctal-decimal-escape.md @@ -12,7 +12,7 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin This rule is turned on by default. -🚧 An auto-fix is planned for this rule, but not implemented at this time. +💡 A suggestion is available for this rule. diff --git a/src/docs/guide/usage/linter/rules/eslint/no-useless-escape.md b/src/docs/guide/usage/linter/rules/eslint/no-useless-escape.md index b9eab782471..c4a44dafc67 100644 --- a/src/docs/guide/usage/linter/rules/eslint/no-useless-escape.md +++ b/src/docs/guide/usage/linter/rules/eslint/no-useless-escape.md @@ -31,8 +31,6 @@ This applies to string literals, template literals, and regular expressions. Examples of **incorrect** code for this rule: ```javascript -/*eslint no-useless-escape: "error"*/ - "\'"; '\"'; "\#"; @@ -49,8 +47,6 @@ Examples of **incorrect** code for this rule: Examples of **correct** code for this rule: ```javascript -/*eslint no-useless-escape: "error"*/ - "\""; '\''; "\x12"; @@ -79,6 +75,9 @@ type: `string[]` default: `[]` An array of characters that are allowed to be escaped unnecessarily in regexes. +For example, setting this to `["#"]` allows `\#` in regexes. + +Each string in this array must be a single character. ## How to use diff --git a/src/docs/guide/usage/linter/rules/eslint/prefer-destructuring.md b/src/docs/guide/usage/linter/rules/eslint/prefer-destructuring.md index 67473a64e57..7cb3c4ea7b8 100644 --- a/src/docs/guide/usage/linter/rules/eslint/prefer-destructuring.md +++ b/src/docs/guide/usage/linter/rules/eslint/prefer-destructuring.md @@ -9,7 +9,7 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin
-🚧 An auto-fix is planned for this rule, but not implemented at this time. +🛠️ An auto-fix is available for this rule.
diff --git a/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md b/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md index ede7936e41f..086fc7b4cc6 100644 --- a/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md +++ b/src/docs/guide/usage/linter/rules/eslint/prefer-exponentiation-operator.md @@ -8,6 +8,9 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin # eslint/prefer-exponentiation-operator
+ +🚧 An auto-fix is planned for this rule, but not implemented at this time. +
### What it does diff --git a/src/docs/guide/usage/linter/rules/import/extensions.md b/src/docs/guide/usage/linter/rules/import/extensions.md index b1ee0645c25..dd3b0200a56 100644 --- a/src/docs/guide/usage/linter/rules/import/extensions.md +++ b/src/docs/guide/usage/linter/rules/import/extensions.md @@ -84,45 +84,50 @@ This rule accepts three types of configuration: 1. **Global rule** (string): `"always"`, `"never"`, or `"ignorePackages"` -```json +```jsonc { "rules": { - // this would require extensions for all imports - "import/extensions": ["error", "always"] - } + // this would require extensions for all imports, *including from packages* + // e.g. `import React from 'react';` would be disallowed. + // You should generally always set `ignorePackages` to `true` when using `always`. + "import/extensions": ["error", "always"], + }, } ``` 2. **Per-extension rules** (object): `{ "js": "always", "jsx": "never", ... }` -```json +```jsonc { "rules": { "import/extensions": [ "error", // per-extension rules: // require extensions for .js imports and disallow them for .ts imports - { "js": "always", "ts": "never" } - ] - } + { "js": "always", "ts": "never", "ignorePackages": true }, + ], + }, } ``` 3. **Combined** (array): `["error", "always", { "js": "never" }]` or `["error", { "js": "always" }]` -```json +```jsonc { "rules": { "import/extensions": [ "error", "always", // by default, require extensions for all imports - { "ts": "never" } // override the global value and disallow extensions on imports for specific file types - ] - } + { + "ts": "never", // override the global value and disallow extensions on imports for specific file types + "ignorePackages": true, + }, + ], + }, } ``` -**Default behavior (no configuration)**: All imports pass. +**Default behavior (no configuration)**: All imports - of all kinds - pass. Unconfigured file extensions are ignored, to avoid false positives. This rule accepts a configuration object with the following properties: @@ -135,13 +140,12 @@ default: `false` Whether to check type imports when enforcing extension rules. -### extensions - -type: `Record` - -default: `{}` - -Map from file extension (without dot) to its configured rule. +```ts +// If checkTypeImports is `false`, we don't care about +// whether these imports have file extensions or not, both are always allowed: +import type { Foo } from "./foo"; +import type { Foo } from "./foo.ts"; +``` ### ignorePackages @@ -151,8 +155,15 @@ default: `false` Whether to ignore package imports when enforcing extension rules. +> [!IMPORTANT] +> When setting this rule to `always`, you should also set `ignorePackages` to `true`. +> Otherwise, package imports without extensions (such as `import React from 'react';`) +> will be disallowed, which is not desirable and is not fixable. + A boolean option (not per-extension) that exempts package imports from the "always" rule. + Can be set in the config object: `["error", "always", { "ignorePackages": true }]` + Legacy shorthand: `["error", "ignorePackages"]` is equivalent to `["error", "always", { "ignorePackages": true }]` - **With "always"**: When `true`, package imports (e.g., `lodash`, `@babel/core`) don't require extensions @@ -172,6 +183,8 @@ Array of pattern-action pairs for custom import protocols (monorepo tools, custo Each override has: `{ "pattern": "", "action": "enforce" | "ignore" }` **Pattern matching**: Uses glob patterns (`*`, `**`, `{a,b}`) to match import specifiers. +Note that the pattern matching is done in Rust with the fast-glob library, and so may differ +from the JavaScript glob library used by the original ESLint rule. **Actions**: @@ -180,38 +193,21 @@ Each override has: `{ "pattern": "", "action": "enforce" | "ignore **Precedence**: First matching pattern wins. -Example: `["error", "always", { "pathGroupOverrides": [{ "pattern": "rootverse{*,*/**}", "action": "ignore" }] }]` - -- Allows `import { x } from 'rootverse+debug:src'` without extension -- Still requires extensions for standard imports - -#### pathGroupOverrides[n] - -type: `object` - -Path group override configuration for bespoke import specifiers. - -Allows fine-grained control over extension validation for custom import protocols -(e.g., monorepo tools, custom resolvers, framework-specific imports). - -**Pattern matching:** - -Uses fast-glob patterns to match import specifiers: - -- `*`: Match any characters except `/` -- `**`: Match any characters including `/` (recursive) -- `{a,b}`: Match alternatives - **Examples:** ```json { "pattern": "rootverse{*,*/**}", - "action": "enforce" + "action": "ignore" } ``` -Matches: `rootverse+debug:src`, `rootverse+bfe:src/symbols` +Matches imports from `rootverse+debug:src`, `rootverse+bfe:src/symbols` and +ignores whether or not they have an extension. + +#### pathGroupOverrides[n] + +type: `object` ##### pathGroupOverrides[n].action @@ -223,17 +219,17 @@ Determines how import extensions are validated for matching bespoke import speci ###### `"enforce"` -Enforce extension validation for matching imports (require extensions based on config) +Enforce extension validation for matching imports (require extensions based on config). ###### `"ignore"` -Ignore matching imports entirely (skip all extension validation) +Ignore matching imports entirely (skip all extension validation). ##### pathGroupOverrides[n].pattern type: `string` -Glob pattern to match import specifiers +Glob pattern to match import specifiers. This uses Rust's fast-glob library for matching. ## How to use diff --git a/src/docs/guide/usage/linter/rules/jsx_a11y/aria-proptypes.md b/src/docs/guide/usage/linter/rules/jsx_a11y/aria-proptypes.md new file mode 100644 index 00000000000..3b5eb4c242c --- /dev/null +++ b/src/docs/guide/usage/linter/rules/jsx_a11y/aria-proptypes.md @@ -0,0 +1,63 @@ + + + + +# jsx_a11y/aria-proptypes + +
+
+ +### What it does + +Enforces that elements do not use invalid ARIA state and property values. + +### Why is this bad? + +Using invalid ARIA state and property values can mislead screen readers and other assistive technologies. +It may cause the accessibility features of the website to fail, making it difficult for users with disabilities to use the site effectively. + +### Examples + +Examples of **incorrect** code for this rule: + +```jsx +
+
+``` + +Examples of **correct** code for this rule: + +```jsx +
+
+
+
+``` + +## How to use + +To **enable** this rule using the config file or in the CLI, you can use: + +::: code-group + +```json [Config (.oxlintrc.json)] +{ + "plugins": ["jsx-a11y"], + "rules": { + "jsx-a11y/aria-proptypes": "error" + } +} +``` + +```bash [CLI] +oxlint --deny jsx-a11y/aria-proptypes --jsx-a11y-plugin +``` + +::: + +## References + +- Rule Source diff --git a/src/docs/guide/usage/linter/rules/jsx_a11y/mouse-events-have-key-events.md b/src/docs/guide/usage/linter/rules/jsx_a11y/mouse-events-have-key-events.md index ddb72e772a4..85e12c2273c 100644 --- a/src/docs/guide/usage/linter/rules/jsx_a11y/mouse-events-have-key-events.md +++ b/src/docs/guide/usage/linter/rules/jsx_a11y/mouse-events-have-key-events.md @@ -12,7 +12,7 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin ### What it does -Enforce onMouseOver/onMouseOut are accompanied by onFocus/onBlur. +Enforce `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur`. ### Why is this bad? diff --git a/src/docs/guide/usage/linter/rules/jsx_a11y/no-static-element-interactions.md b/src/docs/guide/usage/linter/rules/jsx_a11y/no-static-element-interactions.md new file mode 100644 index 00000000000..cf680c0e1c2 --- /dev/null +++ b/src/docs/guide/usage/linter/rules/jsx_a11y/no-static-element-interactions.md @@ -0,0 +1,84 @@ + + + + +# jsx_a11y/no-static-element-interactions + +
+
+ +### What it does + +Enforces that static HTML elements with event handlers must have appropriate ARIA roles. + +### Why is this bad? + +Static HTML elements do not have semantic meaning in accessibility contexts. +When these elements receive click or keyboard event handlers, they must declare a role +to indicate their interactive purpose to assistive technologies. + +### Examples + +Examples of **incorrect** code for this rule: + +```jsx +
{}} /> + +``` + +Examples of **correct** code for this rule: + +```jsx +