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 @@
+
+
+
+
+
The Oxc Blog
+
+
+
+ {{ formatDate(post.date) }}
+
+ {{ post.text }}
+
+
+
+
+
+
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
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
### 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
+
{}} />
+ {}} role="button" />
+
{}} />
+```
+
+## Configuration
+
+This rule accepts a configuration object with the following properties:
+
+### allowExpressionValues
+
+type: `boolean`
+
+default: `false`
+
+If `true`, role attribute values that are JSX expressions (e.g., `role={ROLE}`) are allowed.
+If `false`, only string literal role values are permitted.
+
+### handlers
+
+type: `string[]`
+
+default: `null`
+
+An array of event handler names that should trigger this rule (e.g., `onClick`, `onKeyDown`).
+
+## 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/no-static-element-interactions": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny jsx-a11y/no-static-element-interactions --jsx-a11y-plugin
+```
+
+:::
+
+## References
+
+-
Rule Source
diff --git a/src/docs/guide/usage/linter/rules/node/global-require.md b/src/docs/guide/usage/linter/rules/node/global-require.md
new file mode 100644
index 00000000000..d171e72688d
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/node/global-require.md
@@ -0,0 +1,126 @@
+
+
+
+
+# node/global-require
+
+
+
+
+### What it does
+
+Require `require()` calls to be placed at top-level module scope
+
+### Why is this bad?
+
+In Node.js, module dependencies are included using the `require()` function, such as:
+
+```js
+var fs = require("fs");
+```
+
+While `require()` may be called anywhere in code, some style guides prescribe that it should be called only in the top level of a module to make it easier to identify dependencies.
+For instance, it's arguably harder to identify dependencies when they are deeply nested inside of functions and other statements:
+
+```js
+function foo() {
+ if (condition) {
+ var fs = require("fs");
+ }
+}
+```
+
+Since `require()` does a synchronous load, it can cause performance problems when used in other locations.
+Further, ES6 modules mandate that import and export statements can only occur in the top level of the module's body.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```js
+// calling require() inside of a function is not allowed
+function readFile(filename, callback) {
+ var fs = require("fs");
+ fs.readFile(filename, callback);
+}
+
+// conditional requires like this are also not allowed
+if (DEBUG) {
+ require("debug");
+}
+
+// a require() in a switch statement is also flagged
+switch (x) {
+ case "1":
+ require("1");
+ break;
+}
+
+// you may not require() inside an arrow function body
+var getModule = (name) => require(name);
+
+// you may not require() inside of a function body as well
+function getModule(name) {
+ return require(name);
+}
+
+// you may not require() inside of a try/catch block
+try {
+ require(unsafeModule);
+} catch (e) {
+ console.log(e);
+}
+```
+
+Examples of **correct** code for this rule:
+
+```js
+// all these variations of require() are ok
+require("x");
+var y = require("y");
+var z;
+z = require("z").initialize();
+
+// requiring a module and using it in a function is ok
+var fs = require("fs");
+function readFile(filename, callback) {
+ fs.readFile(filename, callback);
+}
+
+// you can use a ternary to determine which module to require
+var logger = DEBUG ? require("dev-logger") : require("logger");
+
+// if you want you can require() at the end of your module
+function doSomethingA() {}
+function doSomethingB() {}
+var x = require("x"),
+ z = require("z");
+```
+
+## 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": ["node"],
+ "rules": {
+ "node/global-require": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny node/global-require --node-plugin
+```
+
+:::
+
+## References
+
+-
Rule Source
diff --git a/src/docs/guide/usage/linter/rules/promise/catch-or-return.md b/src/docs/guide/usage/linter/rules/promise/catch-or-return.md
index d66479fecaf..12f4e1997c8 100644
--- a/src/docs/guide/usage/linter/rules/promise/catch-or-return.md
+++ b/src/docs/guide/usage/linter/rules/promise/catch-or-return.md
@@ -38,6 +38,7 @@ myPromise.then(doSomething).catch(errors);
function doSomethingElse() {
return myPromise.then(doSomething);
}
+const arrowFunc = () => myPromise.then(doSomething);
```
## Configuration
diff --git a/src/docs/guide/usage/linter/rules/react/jsx-curly-brace-presence.md b/src/docs/guide/usage/linter/rules/react/jsx-curly-brace-presence.md
index fe2740f666c..33a49871bcf 100644
--- a/src/docs/guide/usage/linter/rules/react/jsx-curly-brace-presence.md
+++ b/src/docs/guide/usage/linter/rules/react/jsx-curly-brace-presence.md
@@ -13,19 +13,30 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin
+### What it does
+
Disallow unnecessary JSX expressions when literals alone are
sufficient or enforce JSX expressions on literals in JSX children or
-attributes (`react/jsx-curly-brace-presence`)
+attributes.
This rule allows you to enforce curly braces or disallow unnecessary
curly braces in JSX props and/or children.
For situations where JSX expressions are unnecessary, please refer to
-[the React doc](https://facebook.github.io/react/docs/jsx-in-depth.html)
+[the React doc](https://react.dev/learn/writing-markup-with-jsx)
and [this page about JSX
gotchas](https://github.com/facebook/react/blob/v15.4.0-rc.3/docs/docs/02.3-jsx-gotchas.md#html-entities).
-## Rule Details
+### Why is this bad?
+
+Using different styles for your JSX code can make it harder to read and
+less consistent.
+
+Code consistency improves readability. By enforcing or disallowing
+curly braces in JSX props and/or children, this rule helps maintain
+consistent patterns across your application.
+
+### Rule Details
By default, this rule will check for and warn about unnecessary curly
braces in both JSX props and children. For the sake of backwards
@@ -42,30 +53,27 @@ an object, and that you set "propElementValues" to "always". The ability
to omit curly braces around prop values that are JSX elements is
obscure, and intentionally undocumented, and should not be relied upon.
-## Rule Options
+#### Example Configurations
-```js
-...
-"react/jsx-curly-brace-presence": [, { "props": , "children": , "propElementValues": }]
-...
+```jsonc
+{
+ "rules": {
+ "react/jsx-curly-brace-presence": ["error", { "props": , "children": , "propElementValues": }]
+ }
+}
```
or alternatively
-```js
-...
-"react/jsx-curly-brace-presence": [, ]
-...
+```jsonc
+{
+ "rules": {
+ "react/jsx-curly-brace-presence": ["error", "always"], // or "never" or "ignore"
+ },
+}
```
-### Valid options for ``
-
-They are `always`, `never` and `ignore` for checking on JSX props and
-children.
-
-- `always`: always enforce curly braces inside JSX props, children, and/or JSX prop values that are JSX Elements
-- `never`: never allow unnecessary curly braces inside JSX props, children, and/or JSX prop values that are JSX Elements
-- `ignore`: ignore the rule for JSX props, children, and/or JSX prop values that are JSX Elements
+### Fix Details
If passed in the option to fix, this is how a style violation will get fixed
@@ -74,7 +82,7 @@ If passed in the option to fix, this is how a style violation will get fixed
- All fixing operations use double quotes.
-For examples:
+### Examples
Examples of **incorrect** code for this rule, when configured with `{ props: "always", children: "always" }`:
@@ -128,15 +136,6 @@ They can be fixed to:
/>
```
-### Alternative syntax
-
-The options are also `always`, `never`, and `ignore` for the same meanings.
-
-In this syntax, only a string is provided and the default will be set to
-that option for checking on both JSX props and children.
-
-For examples:
-
Examples of **incorrect** code for this rule, when configured with `"always"`:
```jsx
@@ -171,7 +170,7 @@ It can fixed to:
```
-## Edge cases
+### Edge cases
The fix also deals with template literals, strings with quotes, and
strings with escapes characters.
@@ -229,7 +228,7 @@ Examples of **correct** code for this rule, even when configured with `"never"`:
{/* comment */ } // the comment makes the container necessary
```
-## When Not To Use It
+### When Not To Use It
You should turn this rule off if you are not concerned about maintaining
consistency regarding the use of curly braces in JSX props and/or
@@ -245,18 +244,40 @@ type: `"always" | "never" | "ignore"`
default: `"never"`
+Whether to enforce or disallow curly braces for child content of a JSX element.
+
+- `never` will disallow unnecessary curly braces, e.g. this will be preferred: `I love oxlint `
+- `always` will force the usage of curly braces like this, in all cases: `{'I love oxlint'} `
+- `ignore` will allow either style for child content.
+
### propElementValues
type: `"always" | "never" | "ignore"`
default: `"ignore"`
+When set to `ignore` or `never`, this JSX code is allowed (or enforced):
+` />;`
+
+When set to `always`, the curly braces are required for prop values that are
+JSX elements: ` } />;`
+
+**Note**: it is _highly_ recommended that you set `propElementValues` to `always`.
+The ability to omit curly braces around prop values that are JSX elements is obscure, and
+intentionally undocumented, and should not be relied upon.
+
### props
type: `"always" | "never" | "ignore"`
default: `"never"`
+Whether to enforce or disallow curly braces for props on JSX elements.
+
+- `never` will disallow unnecessary curly braces, e.g. this will be preferred: ` `
+- `always` will force the usage of curly braces like this, in all cases: ` `
+- `ignore` will allow either style for prop values.
+
## How to use
To **enable** this rule using the config file or in the CLI, you can use:
diff --git a/src/docs/guide/usage/linter/rules/react/jsx-max-depth.md b/src/docs/guide/usage/linter/rules/react/jsx-max-depth.md
new file mode 100644
index 00000000000..20fcf966c38
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/react/jsx-max-depth.md
@@ -0,0 +1,82 @@
+
+
+
+
+# react/jsx-max-depth
+
+
+
+
+### What it does
+
+Enforces a maximum depth for nested JSX elements and fragments.
+
+### Why is this bad?
+
+Excessively nested JSX makes components harder to read and maintain.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```jsx
+const Component = () => (
+
+);
+```
+
+Examples of **correct** code for this rule:
+
+```jsx
+const Component = () => (
+
+);
+```
+
+## Configuration
+
+This rule accepts a configuration object with the following properties:
+
+### max
+
+type: `integer`
+
+default: `2`
+
+## 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": ["react"],
+ "rules": {
+ "react/jsx-max-depth": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny react/jsx-max-depth --react-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/react/no-did-mount-set-state.md b/src/docs/guide/usage/linter/rules/react/no-did-mount-set-state.md
new file mode 100644
index 00000000000..d1d5846cd95
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/react/no-did-mount-set-state.md
@@ -0,0 +1,91 @@
+
+
+
+
+# react/no-did-mount-set-state
+
+
+
+
+### What it does
+
+Disallows using `setState` in the `componentDidMount` lifecycle method.
+
+### Why is this bad?
+
+Updating the state after a component mount will trigger a second `render()` call and can lead to property/layout thrashing.
+This can cause performance issues and unexpected behavior.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```jsx
+var Hello = createReactClass({
+ componentDidMount: function () {
+ this.setState({
+ name: this.props.name.toUpperCase(),
+ });
+ },
+ render: function () {
+ return Hello {this.state.name}
;
+ },
+});
+```
+
+Examples of **correct** code for this rule:
+
+```jsx
+var Hello = createReactClass({
+ componentDidMount: function () {
+ this.onMount(function callback(newName) {
+ this.setState({
+ name: newName,
+ });
+ });
+ },
+ render: function () {
+ return Hello {this.state.name}
;
+ },
+});
+```
+
+### Options
+
+The rule accepts a string value `"disallow-in-func"`:
+
+```json
+{
+ "react/no-did-mount-set-state": ["error", "disallow-in-func"]
+}
+```
+
+When set, also disallows `setState` calls in nested functions within `componentDidMount`.
+
+## 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": ["react"],
+ "rules": {
+ "react/no-did-mount-set-state": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny react/no-did-mount-set-state --react-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/react/no-this-in-sfc.md b/src/docs/guide/usage/linter/rules/react/no-this-in-sfc.md
new file mode 100644
index 00000000000..7095fd3b6de
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/react/no-this-in-sfc.md
@@ -0,0 +1,81 @@
+
+
+
+
+# react/no-this-in-sfc
+
+
+
+
+### What it does
+
+Prevents using `this` in stateless functional components.
+
+### Why is this bad?
+
+In React, stateless functional components (SFCs) receive props and context as function parameters,
+not through `this`. Using `this` in an SFC typically indicates a mistake when converting from
+class components or unfamiliarity with the two component styles.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```jsx
+function Foo(props) {
+ return {this.props.bar}
;
+}
+
+function Foo(props) {
+ const { bar } = this.props;
+ return {bar}
;
+}
+
+const Foo = (props) => (this.props.foo ? {props.bar} : null);
+```
+
+Examples of **correct** code for this rule:
+
+```jsx
+function Foo(props) {
+ return {props.bar}
;
+}
+
+function Foo({ bar }) {
+ return {bar}
;
+}
+
+class Foo extends React.Component {
+ render() {
+ return {this.props.bar}
;
+ }
+}
+```
+
+## 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": ["react"],
+ "rules": {
+ "react/no-this-in-sfc": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny react/no-this-in-sfc --react-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/react/no-will-update-set-state.md b/src/docs/guide/usage/linter/rules/react/no-will-update-set-state.md
new file mode 100644
index 00000000000..f8947a48f86
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/react/no-will-update-set-state.md
@@ -0,0 +1,75 @@
+
+
+
+
+# react/no-will-update-set-state
+
+
+
+
+### What it does
+
+Disallows using `setState` in the `componentWillUpdate` lifecycle method.
+
+### Why is this bad?
+
+Updating the state during the component update step can lead to indeterminate component state and is not allowed.
+This can cause unexpected behavior and bugs in your React application.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```jsx
+var Hello = createReactClass({
+ componentWillUpdate: function () {
+ this.setState({
+ name: this.props.name.toUpperCase(),
+ });
+ },
+ render: function () {
+ return Hello {this.state.name}
;
+ },
+});
+```
+
+Examples of **correct** code for this rule:
+
+```jsx
+var Hello = createReactClass({
+ componentWillUpdate: function () {
+ this.props.prepareHandler();
+ },
+ render: function () {
+ return Hello {this.state.name}
;
+ },
+});
+```
+
+## 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": ["react"],
+ "rules": {
+ "react/no-will-update-set-state": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny react/no-will-update-set-state --react-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/typescript/await-thenable.md b/src/docs/guide/usage/linter/rules/typescript/await-thenable.md
index 77b17bd261d..5d4bc2a5fac 100644
--- a/src/docs/guide/usage/linter/rules/typescript/await-thenable.md
+++ b/src/docs/guide/usage/linter/rules/typescript/await-thenable.md
@@ -43,6 +43,7 @@ await { then() {} };
// this is not a Promise - it's a function that returns a Promise
declare const getPromise: () => Promise;
await getPromise;
+await getPromise;
```
Examples of **correct** code for this rule:
@@ -61,6 +62,7 @@ await {
// this is a Promise - produced by calling a function
declare const getPromise: () => Promise;
await getPromise();
+await getPromise();
```
## How to use
diff --git a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression.md b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression.md
index 2f9ce50612c..7afe404a1ef 100644
--- a/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression.md
+++ b/src/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression.md
@@ -19,48 +19,59 @@ const tsgolintSource = `https://github.com/oxc-project/tsgolint/blob/main/intern
### What it does
-This rule disallows unnecessary template literals.
+Disallows unnecessary template expressions (interpolations) that can be simplified.
### Why is this bad?
-Template literals should only be used when they are needed for string interpolation or multi-line strings. Using template literals when a simple string would suffice adds unnecessary complexity.
+Template literals with substitution expressions that are unnecessary add complexity
+without providing any benefit. Static string literal expressions or expressions that
+are already strings can be simplified.
+
+Note: This rule does not flag template literals without substitution expressions.
+For example, `` `hello` `` is allowed even though it could be written as `'hello'`.
### Examples
Examples of **incorrect** code for this rule:
```ts
-const str1 = `Hello world`;
+// Static values can be incorporated into the surrounding template
+const ab1 = `${"a"}${"b"}`;
+const ab2 = `a${"b"}`;
-const str2 = `42`;
+const stringWithNumber = `${"1 + 1 = "}${2}`;
+const stringWithBoolean = `${"true is "}${true}`;
-const str3 = `true`;
+// Expressions that are already strings can be rewritten without a template
+const text = "a";
+const wrappedText = `${text}`;
-// Template with only literal expressions
-const str4 = `${"Hello"} ${"world"}`;
+declare const intersectionWithString: string & { _brand: "test-brand" };
+const wrappedIntersection = `${intersectionWithString}`;
```
Examples of **correct** code for this rule:
```ts
-const str1 = "Hello world";
+// Static values incorporated into the template
+const ab1 = `ab`;
-const str2 = "42";
+// Template with non-trivial interpolation
+const name = "world";
+const greeting = `Hello ${name}!`;
-const str3 = "true";
+// Template with expression
+const result = `Result: ${1 + 2}`;
-// Template with variable interpolation
-const name = "world";
-const str4 = `Hello ${name}`;
+// Simple strings don't need templates
+const text = "a";
+const wrappedText = text;
-// Multi-line string
+// Multi-line strings are fine
const multiline = `
Hello
world
`;
-
-// Template with expression
-const str5 = `Result: ${1 + 2}`;
```
## How to use
diff --git a/src/docs/guide/usage/linter/rules/typescript/no-var-requires.md b/src/docs/guide/usage/linter/rules/typescript/no-var-requires.md
index 844f5f8b199..36a53871023 100644
--- a/src/docs/guide/usage/linter/rules/typescript/no-var-requires.md
+++ b/src/docs/guide/usage/linter/rules/typescript/no-var-requires.md
@@ -12,7 +12,11 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin
### What it does
-Disallow `require` statements except in import statements
+Disallow `require` statements except in import statements.
+
+**NOTE**: This rule is intentionally missing the `allow` option from the original typescript-eslint rule.
+This rule is deprecated in the upstream plugin and the `typescript/no-require-imports` rule should be
+used instead.
### Why is this bad?
diff --git a/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md b/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md
index d427c9768aa..0bf458fc2d6 100644
--- a/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md
+++ b/src/docs/guide/usage/linter/rules/typescript/only-throw-error.md
@@ -118,6 +118,14 @@ Supports four types of specifiers:
{ "from": "package", "name": ["Observable", "Subject"], "package": "rxjs" }
```
+### allowRethrowing
+
+type: `boolean`
+
+default: `true`
+
+Whether to allow rethrowing caught values that are not Error objects.
+
### allowThrowingAny
type: `boolean`
diff --git a/src/docs/guide/usage/linter/rules/unicorn/prefer-response-static-json.md b/src/docs/guide/usage/linter/rules/unicorn/prefer-response-static-json.md
index 065fbf3b499..6e8d77e9505 100644
--- a/src/docs/guide/usage/linter/rules/unicorn/prefer-response-static-json.md
+++ b/src/docs/guide/usage/linter/rules/unicorn/prefer-response-static-json.md
@@ -9,7 +9,7 @@ const source = `https://github.com/oxc-project/oxc/blob/${ data }/crates/oxc_lin
diff --git a/src/docs/guide/usage/linter/rules/version.data.js b/src/docs/guide/usage/linter/rules/version.data.js
index ce04379c9db..25bba04d127 100644
--- a/src/docs/guide/usage/linter/rules/version.data.js
+++ b/src/docs/guide/usage/linter/rules/version.data.js
@@ -1,5 +1,5 @@
export default {
load() {
- return "9e4ab39ea2408384a18750dcfa837cbc96f731c1";
+ return "3b4aced06427fc6111f334ea8b4d00a5b949fdc6";
},
};
diff --git a/src/docs/guide/usage/linter/rules/vitest/consistent-test-filename.md b/src/docs/guide/usage/linter/rules/vitest/consistent-test-filename.md
new file mode 100644
index 00000000000..fe8c0322987
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/vitest/consistent-test-filename.md
@@ -0,0 +1,74 @@
+
+
+
+
+# vitest/consistent-test-filename
+
+
+
+
+### What it does
+
+This rule triggers an error when a file is considered a test file, but its name
+does not match an expected filename format.
+
+### Why is this bad?
+
+Files that are tests but with an unexpected filename make it hard to distinguish between
+source code files and test files.
+
+### Examples
+
+An example of an **incorrect** file path for this rule configured as `{"allTestPattern": "__tests__", "pattern": ".*\.spec\.ts$"}`:
+
+**tests**/2.ts
+
+An example of a **correct** file path for this rule configured as `{"allTestPattern": "__tests__", "pattern": ".*\.spec\.ts$"}`:
+
+**tests**/2.spec.ts
+
+## Configuration
+
+This rule accepts a configuration object with the following properties:
+
+### allTestPattern
+
+type: `string`
+
+Regex pattern to ensure we are linting only test filenames.
+Decides whether a file is a testing file.
+
+### pattern
+
+type: `string`
+
+Required regex to check if a test filename have a valid formart.
+Pattern doesn't have a default value, you must provide one.
+
+## 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": ["vitest"],
+ "rules": {
+ "vitest/consistent-test-filename": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny vitest/consistent-test-filename --vitest-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/vitest/consistent-vitest-vi.md b/src/docs/guide/usage/linter/rules/vitest/consistent-vitest-vi.md
new file mode 100644
index 00000000000..ab666a3b47c
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/vitest/consistent-vitest-vi.md
@@ -0,0 +1,78 @@
+
+
+
+
+# vitest/consistent-vitest-vi
+
+
+
+### What it does
+
+This rule triggers an error when an unexpected vitest accessor is used.
+
+### Why is this bad?
+
+Not having a consistent vitest accessor can lead to confusion
+when `vi` and `vitest` are used interchangeably.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```js
+vitest.mock("./src/calculator.ts", { spy: true });
+
+vi.stubEnv("NODE_ENV", "production");
+```
+
+Examples of **correct** code for this rule:
+
+```js
+vi.mock("./src/calculator.ts", { spy: true });
+
+vi.stubEnv("NODE_ENV", "production");
+```
+
+## Configuration
+
+This rule accepts a configuration object with the following properties:
+
+### fn
+
+type: `"vi" | "vitest"`
+
+default: `"vi"`
+
+Decides whether to prefer vitest function accessor
+
+## 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": ["vitest"],
+ "rules": {
+ "vitest/consistent-vitest-vi": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny vitest/consistent-vitest-vi --vitest-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/vitest/warn-todo.md b/src/docs/guide/usage/linter/rules/vitest/warn-todo.md
new file mode 100644
index 00000000000..868ca316c0e
--- /dev/null
+++ b/src/docs/guide/usage/linter/rules/vitest/warn-todo.md
@@ -0,0 +1,63 @@
+
+
+
+
+# vitest/warn-todo
+
+
+
+
+### What it does
+
+This rule triggers warnings when `.todo` is used in `describe`, `it`, or `test` functions.
+It is recommended to use this with your CI pipeline to annotate PR diffs.
+
+### Why is this bad?
+
+The test that you push should be completed, any pending/"TODO" code should not be committed.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```js
+describe.todo("foo", () => {});
+it.todo("foo", () => {});
+test.todo("foo", () => {});
+```
+
+Examples of **correct** code for this rule:
+
+```js
+describe([])("foo", () => {});
+it([])("foo", () => {});
+test([])("foo", () => {});
+```
+
+## 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": ["vitest"],
+ "rules": {
+ "vitest/warn-todo": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny vitest/warn-todo --vitest-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/rules/vue/max-props.md b/src/docs/guide/usage/linter/rules/vue/max-props.md
index 3c26507aae5..bb33826adca 100644
--- a/src/docs/guide/usage/linter/rules/vue/max-props.md
+++ b/src/docs/guide/usage/linter/rules/vue/max-props.md
@@ -21,7 +21,7 @@ in order to aid in maintainability and reduce complexity.
### Examples
-Examples of **incorrect** code for this rule with the default `{ maxProps: 1 }` option:
+Examples of **incorrect** code for this rule with the default `{ "maxProps": 1 }` option:
```js
```
-Examples of **correct** code for this rule with the default `{ maxProps: 1 }` option:
+Examples of **correct** code for this rule with the default `{ "maxProps": 1 }` option:
```js
+
+# vue/no-this-in-before-route-enter
+
+
+
+
+### What it does
+
+Disallow `this` usage in a `beforeRouteEnter` method.
+
+This rule is only relevant when using `vue-router`.
+
+### Why is this bad?
+
+Inside a `beforeRouteEnter` method, there is no access to `this`.
+See [the vue-router docs](https://router.vuejs.org/guide/advanced/navigation-guards.html#in-component-guards).
+This behavior isn't obvious, and so this lint rule can help prevent runtime errors in some cases.
+
+### Examples
+
+Examples of **incorrect** code for this rule:
+
+```js
+export default {
+ beforeRouteEnter(to, from, next) {
+ this.a; // Error: 'this' is not available
+ next();
+ },
+};
+```
+
+Examples of **correct** code for this rule:
+
+```js
+export default {
+ beforeRouteEnter(to, from, next) {
+ // anything without `this`
+ },
+};
+```
+
+## 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": ["vue"],
+ "rules": {
+ "vue/no-this-in-before-route-enter": "error"
+ }
+}
+```
+
+```bash [CLI]
+oxlint --deny vue/no-this-in-before-route-enter --vue-plugin
+```
+
+:::
+
+## References
+
+- Rule Source
diff --git a/src/docs/guide/usage/linter/type-aware.md b/src/docs/guide/usage/linter/type-aware.md
index f65353b75bd..7706b154f4b 100644
--- a/src/docs/guide/usage/linter/type-aware.md
+++ b/src/docs/guide/usage/linter/type-aware.md
@@ -1,9 +1,28 @@
+---
+title: Type-Aware Linting
+description: Linting with type information.
+---
+
# Type-Aware Linting
-Read our [technical preview announcement](/blog/2025-08-17-oxlint-type-aware) and [alpha announcement](/blog/2025-12-08-type-aware-alpha) for background details, and the rationale for the architecture we have chosen for type-aware linting.
+Type-aware linting enables rules that rely on TypeScript’s type system, such as detecting unhandled promises or unsafe assignments. In Oxlint, type-aware linting is provided by [`tsgolint`](https://github.com/oxc-project/tsgolint) and integrated into the Oxlint CLI and configuration system.
+
+This feature is currently **alpha**. Rule coverage, performance, and compatibility continue to improve.
+
+## Overview
+
+Oxlint separates responsibilities between two components:
+
+- **Oxlint (Rust)**
+ Handles file traversal, ignore logic, configuration, non-type-aware rules, and reporting.
+
+- **tsgolint (Go)**
+ Builds TypeScript programs using [`typescript-go`](https://github.com/microsoft/typescript-go) and executes type-aware rules, returning structured diagnostics to Oxlint.
## Installation
+Type-aware linting requires an additional dependency:
+
::: code-group
```sh [npm]
@@ -24,89 +43,125 @@ bun add -D oxlint-tsgolint@latest
:::
-Run `oxlint` with `--type-aware`
+## Running type-aware linting
+
+To run Oxlint with type-aware linting, you must pass the `--type-aware` flag:
```bash
oxlint --type-aware
```
-## Unimplemented Rules
-
-See https://github.com/oxc-project/tsgolint/issues/104
-
-## Supported Rules
-
-List of supported rules:
-
-- [typescript/await-thenable](/docs/guide/usage/linter/rules/typescript/await-thenable)
-- [typescript/no-array-delete](/docs/guide/usage/linter/rules/typescript/no-array-delete)
-- [typescript/no-base-to-string](/docs/guide/usage/linter/rules/typescript/no-base-to-string)
-- [typescript/no-confusing-void-expression](/docs/guide/usage/linter/rules/typescript/no-confusing-void-expression)
-- [typescript/no-deprecated](/docs/guide/usage/linter/rules/typescript/no-deprecated)
-- [typescript/no-duplicate-type-constituents](/docs/guide/usage/linter/rules/typescript/no-duplicate-type-constituents)
-- [typescript/no-floating-promises](/docs/guide/usage/linter/rules/typescript/no-floating-promises)
-- [typescript/no-for-in-array](/docs/guide/usage/linter/rules/typescript/no-for-in-array)
-- [typescript/no-implied-eval](/docs/guide/usage/linter/rules/typescript/no-implied-eval)
-- [typescript/no-meaningless-void-operator](/docs/guide/usage/linter/rules/typescript/no-meaningless-void-operator)
-- [typescript/no-misused-promises](/docs/guide/usage/linter/rules/typescript/no-misused-promises)
-- [typescript/no-misused-spread](/docs/guide/usage/linter/rules/typescript/no-misused-spread)
-- [typescript/no-mixed-enums](/docs/guide/usage/linter/rules/typescript/no-mixed-enums)
-- [typescript/no-redundant-type-constituents](/docs/guide/usage/linter/rules/typescript/no-redundant-type-constituents)
-- [typescript/no-unnecessary-boolean-literal-compare](/docs/guide/usage/linter/rules/typescript/no-unnecessary-boolean-literal-compare)
-- [typescript/no-unnecessary-template-expression](/docs/guide/usage/linter/rules/typescript/no-unnecessary-template-expression)
-- [typescript/no-unnecessary-type-arguments](/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-arguments)
-- [typescript/no-unnecessary-type-assertion](/docs/guide/usage/linter/rules/typescript/no-unnecessary-type-assertion)
-- [typescript/no-unsafe-argument](/docs/guide/usage/linter/rules/typescript/no-unsafe-argument)
-- [typescript/no-unsafe-assignment](/docs/guide/usage/linter/rules/typescript/no-unsafe-assignment)
-- [typescript/no-unsafe-call](/docs/guide/usage/linter/rules/typescript/no-unsafe-call)
-- [typescript/no-unsafe-enum-comparison](/docs/guide/usage/linter/rules/typescript/no-unsafe-enum-comparison)
-- [typescript/no-unsafe-member-access](/docs/guide/usage/linter/rules/typescript/no-unsafe-member-access)
-- [typescript/no-unsafe-return](/docs/guide/usage/linter/rules/typescript/no-unsafe-return)
-- [typescript/no-unsafe-type-assertion](/docs/guide/usage/linter/rules/typescript/no-unsafe-type-assertion)
-- [typescript/no-unsafe-unary-minus](/docs/guide/usage/linter/rules/typescript/no-unsafe-unary-minus)
-- [typescript/non-nullable-type-assertion-style](/docs/guide/usage/linter/rules/typescript/non-nullable-type-assertion-style)
-- [typescript/only-throw-error](/docs/guide/usage/linter/rules/typescript/only-throw-error)
-- [typescript/prefer-includes](/docs/guide/usage/linter/rules/typescript/prefer-includes)
-- [typescript/prefer-nullish-coalescing](/docs/guide/usage/linter/rules/typescript/prefer-nullish-coalescing)
-- [typescript/prefer-promise-reject-errors](/docs/guide/usage/linter/rules/typescript/prefer-promise-reject-errors)
-- [typescript/prefer-reduce-type-parameter](/docs/guide/usage/linter/rules/typescript/prefer-reduce-type-parameter)
-- [typescript/prefer-return-this-type](/docs/guide/usage/linter/rules/typescript/prefer-return-this-type)
-- [typescript/promise-function-async](/docs/guide/usage/linter/rules/typescript/promise-function-async)
-- [typescript/related-getter-setter-pairs](/docs/guide/usage/linter/rules/typescript/related-getter-setter-pairs)
-- [typescript/require-array-sort-compare](/docs/guide/usage/linter/rules/typescript/require-array-sort-compare)
-- [typescript/require-await](/docs/guide/usage/linter/rules/typescript/require-await)
-- [typescript/restrict-plus-operands](/docs/guide/usage/linter/rules/typescript/restrict-plus-operands)
-- [typescript/restrict-template-expressions](/docs/guide/usage/linter/rules/typescript/restrict-template-expressions)
-- [typescript/return-await](/docs/guide/usage/linter/rules/typescript/return-await)
-- [typescript/strict-boolean-expressions](/docs/guide/usage/linter/rules/typescript/strict-boolean-expressions)
-- [typescript/switch-exhaustiveness-check](/docs/guide/usage/linter/rules/typescript/switch-exhaustiveness-check)
-- [typescript/unbound-method](/docs/guide/usage/linter/rules/typescript/unbound-method)
-- [typescript/use-unknown-in-catch-callback-variable](/docs/guide/usage/linter/rules/typescript/use-unknown-in-catch-callback-variable)
+When enabled, Oxlint runs standard rules and type-aware rules in the `typescript/*` namespace.
-## Troubleshooting
+Type-aware linting is opt-in and does not run unless the flag is provided.
+
+In editor and LSP-based integrations like VS Code, type-aware linting can be enabled by setting the `typeAware` option to `true`, see the [Editors](./editors) page for more information.
+
+### Monorepos and build outputs
+
+Type-aware linting requires resolved type information.
+
+In monorepos:
+
+- Build dependent packages so `.d.ts` files are available
+- Ensure dependencies are installed before running
-### Debugging Unexpected Errors
+```bash
+pnpm install
+pnpm -r build
+oxlint --type-aware
+```
+
+### Type checking diagnostics
+
+Enable type checking to report TypeScript errors alongside lint results:
+
+```bash
+oxlint --type-aware --type-check
+```
-If you encounter unexpected errors or rules not triggering when expected, types may not be resolving correctly. Run with `--type-check` to verify that all imports are being resolved:
+This mode can replace a separate `tsc --noEmit` step in CI:
```bash
+# before
+tsc --noEmit
+oxlint
+
+# after
oxlint --type-aware --type-check
```
-This will report TypeScript errors alongside lint diagnostics, helping identify missing or unresolved types.
+## Configuring type-aware rules
-**Common causes of unresolved types:**
+Type-aware rules are configured like other Oxlint rules.
-- **Monorepo with bundler (tsdown, tsup, etc.)**: Pre-build dependent packages so their types are available. For example, if package `A` depends on package `B`, build `B` first so its `.d.ts` files exist.
-- **Missing dependencies**: Ensure all dependencies are installed (`npm install` / `pnpm install`)
+```json
+{
+ "plugins": ["typescript"],
+ "rules": {
+ "typescript/no-floating-promises": "error",
+ "typescript/no-unsafe-assignment": "warn"
+ }
+}
+```
-### Debugging Slow Performance
+Rules support the same options as their `typescript-eslint` equivalents.
-If type-aware linting is running slower than expected:
+```json
+{
+ "plugins": ["typescript"],
+ "rules": {
+ "typescript/no-floating-promises": ["error", { "ignoreVoid": true }]
+ }
+}
+```
+
+## Disable comments
-1. **Update to the latest versions** of both `oxlint` and `oxlint-tsgolint`
+Type-aware rules support inline disable comments:
-2. **Enable debug logging** to see detailed timing information:
+```ts
+// oxlint-disable-next-line typescript/no-floating-promises
+doSomethingAsync();
+```
+
+Report unused disable comments with:
+
+```bash
+oxlint --type-aware --report-unused-disable-directives
+```
+
+## TypeScript compatibility
+
+Type-aware linting is powered by `typescript-go`.
+
+- TypeScript **7.0+** is required
+- Some legacy `tsconfig` options are not supported (like `baseUrl` in `tsconfig.json`)
+- If you're using config options/features that were deprecated in TypeScript 6.0 or removed in TypeScript 7.0, you'll need to migrate your codebase first
+- Invalid options are reported when `--type-check` is enabled
+
+See the [TypeScript migration guide](https://github.com/microsoft/TypeScript/issues/62508#issuecomment-3348649259) for more details, and consider using [ts5to6](https://github.com/andrewbranch/ts5to6) to upgrade your tsconfig file.
+
+## Stability notes
+
+Type-aware linting is **alpha**:
+
+- Rule coverage is incomplete
+- Very large codebases may encounter high memory usage
+- Performance continues to improve
+
+## Troubleshooting
+
+### Performance and debugging
+
+If type-aware linting is slow or uses excessive memory:
+
+1. Update both tools:
+
+- `oxlint`
+- `oxlint-tsgolint`
+
+2. Enable debug logging:
```bash
OXC_LOG=debug oxlint --type-aware
@@ -115,20 +170,20 @@ OXC_LOG=debug oxlint --type-aware
Example output (showing key timing milestones):
```
-2025/01/01 12:00:00.000000 Starting tsgolint
-2025/01/01 12:00:00.001000 Starting to assign files to programs. Total files: 259
-2025/01/01 12:00:01.000000 Done assigning files to programs. Total programs: 8. Unmatched files: 75
-2025/01/01 12:00:01.001000 Starting linter with 12 workers
-2025/01/01 12:00:01.001000 Workload distribution: 8 programs
-2025/01/01 12:00:01.002000 [1/8] Running linter on program: /path/to/project/jsconfig.json
+2026/01/01 12:00:00.000000 Starting tsgolint
+2026/01/01 12:00:00.001000 Starting to assign files to programs. Total files: 259
+2026/01/01 12:00:01.000000 Done assigning files to programs. Total programs: 8. Unmatched files: 75
+2026/01/01 12:00:01.001000 Starting linter with 12 workers
+2026/01/01 12:00:01.001000 Workload distribution: 8 programs
+2026/01/01 12:00:01.002000 [1/8] Running linter on program: /path/to/project/jsconfig.json
...
-2025/01/01 12:00:01.100000 [4/8] Running linter on program: /path/to/project/tsconfig.json
-2025/01/01 12:00:02.500000 Program created with 26140 source files
-2025/01/01 12:00:14.000000 /path/to/project/oxlint-plugin.mts
+2026/01/01 12:00:01.100000 [4/8] Running linter on program: /path/to/project/tsconfig.json
+2026/01/01 12:00:02.500000 Program created with 26140 source files
+2026/01/01 12:00:14.000000 /path/to/project/oxlint-plugin.mts
...
-2025/01/01 12:00:14.100000 [5/8] Running linter on program: /path/to/project/apps/tsconfig.json
+2026/01/01 12:00:14.100000 [5/8] Running linter on program: /path/to/project/apps/tsconfig.json
...
-2025/01/01 12:00:15.000000 Linting Complete
+2026/01/01 12:00:15.000000 Linting Complete
Finished in 16.4s on 259 files with 161 rules using 12 threads.
```
@@ -139,33 +194,7 @@ Finished in 16.4s on 259 files with 161 rules using 12 threads.
- Look for programs with an unusually high number of source files (e.g., `Program created with 26140 source files`). This may indicate misconfigured tsconfig `includes`/`excludes` pulling in unnecessary files like `node_modules`.
- Each file path logged indicates when that file is being linted. Large time gaps between files may indicate expensive type resolution for certain files.
-## TypeScript Compatibility
-
-tsgolint is based on [typescript-go](https://github.com/microsoft/typescript-go) (Microsoft's TypeScript v7.0 rewrite in Go), not the original TypeScript compiler written in TypeScript.
-
-**Key implications:**
-
-- Only TypeScript 7.0+ features are supported
-- Pre-7.0 syntax and features (like `baseUrl` in `tsconfig.json`) are not supported
-- If you're using deprecated features that were deprecated in TypeScript 6.0 or removed in TypeScript 7.0, you'll need to migrate your codebase first
-
-For help migrating deprecated tsconfig options, see the [TypeScript migration guide](https://github.com/microsoft/TypeScript/issues/62508#issuecomment-3348649259).
-
-## Architecture
-
-Type-aware linting in Oxlint uses a unique two-binary architecture:
-
-```
-oxlint CLI (Rust)
- ├─ Handles file traversal, ignore logic, and diagnostics
- ├─ Runs non-type-aware rules and custom JS plugins
- ├─ Passes paths and configuration to tsgolint
- └─ Formats and displays results
-
-tsgolint (Go)
- ├─ Uses typescript-go directly for type checking
- ├─ Executes type-aware rules
- └─ Returns structured diagnostics
-```
+## Next steps
-This design keeps Oxlint's core fast while leveraging TypeScript's type system through typescript-go. The frontend-backend separation means `oxlint` controls the user experience while `tsgolint` handles the heavy lifting of type analysis.
+- Check [implemented rules](https://github.com/oxc-project/tsgolint/tree/main?tab=readme-ov-file#implemented-rules)
+- Report issues to [https://github.com/oxc-project/tsgolint](https://github.com/oxc-project/tsgolint)
diff --git a/src/docs/guide/usage/linter/versioning.md b/src/docs/guide/usage/linter/versioning.md
index 2595f7526f9..fa63b6ded4c 100644
--- a/src/docs/guide/usage/linter/versioning.md
+++ b/src/docs/guide/usage/linter/versioning.md
@@ -2,7 +2,7 @@
editLink: false
---
-# Versioning
+# Versioning policy
Oxlint follows semantic versioning, with the goal of providing clarity and predictability as you upgrade.
diff --git a/src/docs/guide/what-is-oxc.md b/src/docs/guide/what-is-oxc.md
new file mode 100644
index 00000000000..6192452028c
--- /dev/null
+++ b/src/docs/guide/what-is-oxc.md
@@ -0,0 +1,57 @@
+---
+title: What is Oxc?
+description: The fastest toolchain for JavaScript and TypeScript.
+---
+
+# What is Oxc?
+
+/oʊ ɛks siː/
+
+The Oxidation Compiler is a collection of high-performance tools for JavaScript and TypeScript written in Rust.
+
+Oxc is part of [VoidZero](https://voidzero.dev)'s vision for a unified, high-performance toolchain for JavaScript. It powers [Rolldown](https://rolldown.rs) ([Vite](https://vitejs.dev)'s future bundler) and enables the next generation of ultra-fast development tools that work seamlessly together.
+
+\* Oxidation is the chemical process that creates rust
+
+## Fastest tooling across the stack
+
+Oxc focuses on performance across the whole toolchain. This includes parsing, module resolution, linting, formatting, transforms, and minification.
+
+## Philosophy
+
+Oxc is built around a few core ideas.
+
+### Performance is a feature
+
+Oxc treats speed as a product requirement. Faster tools improve the local feedback loop and reduce CI cost. Performance regressions are treated as bugs.
+
+### One toolchain, shared building blocks
+
+Oxc is a suite. Tools like the linter, formatter, parser, transformer, minifier, and resolver are built on shared components. This reduces duplicated work and makes behavior more consistent across the stack.
+
+### Correctness with clear boundaries
+
+Oxc aims to be correct and predictable. When behavior differs from other tools, the differences should be documented. Compatibility is a feature, not an accident.
+
+### Practical developer experience
+
+Oxc focuses on a workflow that works in real projects. Defaults should be sensible, configuration should be understandable, and output should be stable.
+
+## What you get
+
+Oxc includes end-user tools and reusable compiler building blocks:
+
+- [Oxlint](/docs/guide/usage/linter) is the fastest linter for JavaScript and TypeScript.
+- [Oxfmt](/docs/guide/usage/formatter) is the fastest formatter. It targets Prettier-compatible formatting.
+- [Parser](/docs/guide/usage/parser) is the fastest JS and TS parser with an AST for tooling.
+- [Transformer](/docs/guide/usage/transformer) provides fastest TS, JSX, and modern JavaScript transforms.
+- [Minifier](/docs/guide/usage/minifier) is the fastest minifier for production output.
+- [Resolver](/docs/guide/usage/resolver) is the fastest module resolver for JS and TS projects.
+
+You can use each tool on its own, or use them together as one toolchain.
+
+## Who Oxc is for
+
+- **App and library developers** who want the fastest lint and format loop locally and in CI.
+- **Toolchain and platform teams** who want a fast compiler-grade foundation at scale.
+- **Tool authors** who want fast reusable crates or npm packages for JS tooling.
diff --git a/src/docs/learn/performance.md b/src/docs/learn/performance.md
index dc1a9bc82f2..ad42228acc3 100644
--- a/src/docs/learn/performance.md
+++ b/src/docs/learn/performance.md
@@ -29,7 +29,7 @@ The first architectural design for a compiler is its AST.
All JavaScript tools work on the AST level, for example:
- A linter (e.g. ESLint) checks the AST for errors
-- A formatter (e.g.prettier) prints the AST back to JavaScript text
+- A formatter (e.g. prettier) prints the AST back to JavaScript text
- A minifier (e.g. terser) transforms the AST
- A bundler connects all import and export statements between ASTs from different files
diff --git a/src/endorsements.md b/src/endorsements.md
new file mode 100644
index 00000000000..3bc7b52f12a
--- /dev/null
+++ b/src/endorsements.md
@@ -0,0 +1,49 @@
+---
+editLink: false
+---
+
+# Endorsements
+
+### [Evan You](https://x.com/youyuxi/status/1734439543280128030), creator of [Vue.js](https://vuejs.org) and [Vite](https://vitejs.dev):
+
+> Ran oxlint on the Vue 3 codebase, ~200 rules + ~590 files finished in 50ms 🤯 (30ms re-runs)
+>
+> The performance is absolutely nuts
+
+### [Jason Miller](https://github.com/developit), creator of [Preact](https://preactjs.com):
+
+> 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