diff --git a/.gitignore b/.gitignore
index 142f876..32c5e88 100644
--- a/.gitignore
+++ b/.gitignore
@@ -43,6 +43,9 @@ next-env.d.ts
# content collections
.content-collections
+# fumadocs
+.source
+
# OpenNext build output
.open-next
diff --git a/content-collections.ts b/content-collections.ts
index 4ffb939..8cb15cf 100644
--- a/content-collections.ts
+++ b/content-collections.ts
@@ -1,11 +1,7 @@
import path from 'path';
import { DEFAULT_LOCALE, LOCALES } from '@/i18n/routing';
import { defineCollection, defineConfig } from '@content-collections/core';
-import {
- createDocSchema,
- createMetaSchema,
- transformMDX,
-} from '@fumadocs/content-collections/configuration';
+import { transformMDX } from '@fumadocs/content-collections/configuration';
/**
* 1. Content Collections documentation
@@ -16,25 +12,25 @@ import {
* 2. Use Content Collections for Fumadocs
* https://fumadocs.dev/docs/headless/content-collections
*/
-const docs = defineCollection({
- name: 'docs',
- directory: 'content/docs',
- include: '**/*.mdx',
- schema: (z) => ({
- ...createDocSchema(z),
- preview: z.string().optional(),
- index: z.boolean().default(false),
- }),
- transform: transformMDX,
-});
+// const docs = defineCollection({
+// name: 'docs',
+// directory: 'content/docs',
+// include: '**/*.mdx',
+// schema: (z) => ({
+// ...createDocSchema(z),
+// preview: z.string().optional(),
+// index: z.boolean().default(false),
+// }),
+// transform: transformMDX,
+// });
-const metas = defineCollection({
- name: 'meta',
- directory: 'content/docs',
- include: '**/meta**.json',
- parser: 'json',
- schema: createMetaSchema,
-});
+// const metas = defineCollection({
+// name: 'meta',
+// directory: 'content/docs',
+// include: '**/meta**.json',
+// parser: 'json',
+// schema: createMetaSchema,
+// });
/**
* Blog Author collection
@@ -324,5 +320,5 @@ function extractLocaleAndBase(fileName: string): {
}
export default defineConfig({
- collections: [docs, metas, authors, categories, posts, pages, releases],
+ collections: [authors, categories, posts, pages, releases],
});
diff --git a/next.config.ts b/next.config.ts
index 5637d8b..9ccd53d 100644
--- a/next.config.ts
+++ b/next.config.ts
@@ -1,4 +1,4 @@
-import { withContentCollections } from '@content-collections/next';
+import { createMDX } from 'fumadocs-mdx/next';
import type { NextConfig } from 'next';
import createNextIntlPlugin from 'next-intl/plugin';
@@ -69,8 +69,9 @@ const nextConfig: NextConfig = {
const withNextIntl = createNextIntlPlugin();
/**
- * withContentCollections must be the outermost plugin
- *
- * https://www.content-collections.dev/docs/quickstart/next
+ * https://fumadocs.dev/docs/ui/manual-installation
+ * https://fumadocs.dev/docs/mdx/plugin
*/
-export default withContentCollections(withNextIntl(nextConfig));
+const withMDX = createMDX();
+
+export default withMDX(withNextIntl(nextConfig));
diff --git a/package.json b/package.json
index ee110e6..8d59153 100644
--- a/package.json
+++ b/package.json
@@ -6,6 +6,7 @@
"dev": "concurrently \"content-collections watch\" \"next dev\"",
"build": "content-collections build && next build",
"start": "next start",
+ "postinstall": "fumadocs-mdx",
"lint": "biome check --write .",
"lint:fix": "biome check --fix --unsafe .",
"format": "biome format --write .",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f4820e5..2ff766a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -10,7 +10,7 @@ importers:
dependencies:
'@ai-sdk/openai':
specifier: ^1.1.13
- version: 1.1.13(zod@3.24.2)
+ version: 1.1.13(zod@3.25.64)
'@aws-sdk/client-s3':
specifier: ^3.758.0
version: 3.758.0
@@ -25,13 +25,13 @@ importers:
version: 1.1.18
'@content-collections/core':
specifier: ^0.8.0
- version: 0.8.0(typescript@5.7.3)
+ version: 0.8.0(typescript@5.8.3)
'@content-collections/mdx':
specifier: ^0.2.0
- version: 0.2.0(@content-collections/core@0.8.0(typescript@5.7.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ version: 0.2.0(@content-collections/core@0.8.0(typescript@5.8.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@content-collections/next':
specifier: ^0.2.4
- version: 0.2.4(@content-collections/core@0.8.0(typescript@5.7.3))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+ version: 0.2.4(@content-collections/core@0.8.0(typescript@5.8.3))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
'@dnd-kit/core':
specifier: ^6.3.1
version: 6.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -46,7 +46,7 @@ importers:
version: 3.2.2(react@19.0.0)
'@fumadocs/content-collections':
specifier: ^1.1.8
- version: 1.1.8(@content-collections/core@0.8.0(typescript@5.7.3))(@content-collections/mdx@0.2.0(@content-collections/core@0.8.0(typescript@5.7.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+ version: 1.1.8(@content-collections/core@0.8.0(typescript@5.8.3))(@content-collections/mdx@0.2.0(@content-collections/core@0.8.0(typescript@5.8.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(fumadocs-core@15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
'@hookform/resolvers':
specifier: ^4.1.0
version: 4.1.0(react-hook-form@7.54.2(react@19.0.0))
@@ -178,7 +178,7 @@ importers:
version: 1.9.0(react@19.0.0)
ai:
specifier: ^4.1.45
- version: 4.1.45(react@19.0.0)(zod@3.24.2)
+ version: 4.1.45(react@19.0.0)(zod@3.25.64)
better-auth:
specifier: ^1.1.19
version: 1.1.19
@@ -220,13 +220,13 @@ importers:
version: 12.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
fumadocs-core:
specifier: ^15.1.2
- version: 15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ version: 15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
fumadocs-mdx:
specifier: ^11.6.8
- version: 11.6.8(acorn@8.14.0)(fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
+ version: 11.6.8(acorn@8.14.0)(fumadocs-core@15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))
fumadocs-ui:
specifier: ^15.1.2
- version: 15.1.2(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.14)
+ version: 15.5.2(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.14)
input-otp:
specifier: ^1.4.2
version: 1.4.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -244,13 +244,13 @@ importers:
version: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next-intl:
specifier: ^4.0.0
- version: 4.0.0(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(typescript@5.7.3)
+ version: 4.0.0(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(typescript@5.8.3)
next-plausible:
specifier: ^3.12.4
version: 3.12.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next-safe-action:
specifier: ^7.10.4
- version: 7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.2)
+ version: 7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.25.64)
next-themes:
specifier: ^0.4.4
version: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -295,7 +295,7 @@ importers:
version: 7.1.0
rehype-pretty-code:
specifier: ^0.14.0
- version: 0.14.0(shiki@2.4.2)
+ version: 0.14.0(shiki@2.5.0)
rehype-slug:
specifier: ^6.0.0
version: 6.0.0
@@ -313,7 +313,7 @@ importers:
version: 4.4.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
shiki:
specifier: ^2.4.2
- version: 2.4.2
+ version: 2.5.0
sonner:
specifier: ^2.0.0
version: 2.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -346,7 +346,7 @@ importers:
version: 1.1.2(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
zod:
specifier: ^3.24.2
- version: 3.24.2
+ version: 3.25.64
zustand:
specifier: ^5.0.3
version: 5.0.3(@types/react@19.0.9)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0))
@@ -356,7 +356,7 @@ importers:
version: 1.9.4
'@content-collections/cli':
specifier: ^0.1.6
- version: 0.1.6(@content-collections/core@0.8.0(typescript@5.7.3))
+ version: 0.1.6(@content-collections/core@0.8.0(typescript@5.8.3))
'@opennextjs/cloudflare':
specifier: ^1.2.1
version: 1.2.1(wrangler@4.14.1)
@@ -368,7 +368,7 @@ importers:
version: 2.0.13
'@types/node':
specifier: ^20
- version: 20.17.19
+ version: 20.19.0
'@types/pg':
specifier: ^8.11.11
version: 8.11.11
@@ -398,7 +398,7 @@ importers:
version: 4.19.3
typescript:
specifier: ^5
- version: 5.7.3
+ version: 5.8.3
wrangler:
specifier: ^4.14.1
version: 4.14.1
@@ -2405,6 +2405,9 @@ packages:
'@formatjs/intl-localematcher@0.6.0':
resolution: {integrity: sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==}
+ '@formatjs/intl-localematcher@0.6.1':
+ resolution: {integrity: sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg==}
+
'@fumadocs/content-collections@1.1.8':
resolution: {integrity: sha512-eHXyMw9fnwtn/YkCDbcPTGSqMcydayIK4AHUNbrC4bzMKy+Am2E0bbF9KAadxd6M/99wWtaPBQEECoL3Rt/RNQ==}
peerDependencies:
@@ -2757,6 +2760,10 @@ packages:
resolution: {integrity: sha512-7tTuIdkzgRscJ7sGHVsoK9GtXSpwbfrj3WYnuSu/SepXHhshYiQaOeXc/aeLh4MfgIre6tEs/caIop8wrhMi3g==}
engines: {node: '>= 16.0.0'}
+ '@orama/orama@3.1.7':
+ resolution: {integrity: sha512-6yB0117ZjsgNevZw3LP+bkrZa9mU/POPVaXgzMPOBbBc35w2P3R+1vMMhEfC06kYCpd5bf0jodBaTkYQW5TVeQ==}
+ engines: {node: '>= 20.0.0'}
+
'@orama/tokenizers@3.1.4':
resolution: {integrity: sha512-OKyw/uKDZqlS4Vwwyp2l+d1ISGtBt3qMORbTp3jyfeGjXllTLJrH/erzlVYKWdNp5bPrWGVrQbtgWgE5nLV1Ng==}
engines: {node: '>= 18.0.0'}
@@ -4308,47 +4315,47 @@ packages:
'@selderee/plugin-htmlparser2@0.11.0':
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
- '@shikijs/core@2.4.2':
- resolution: {integrity: sha512-V0kXYB/70xA3CO+b2Pz9kcSThaOUfObOEkGeHsKSFqV6rultaWPfeyZPpBlKHMUXO9Bt1ZGINDCctN90pQvnTg==}
+ '@shikijs/core@2.5.0':
+ resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==}
- '@shikijs/core@3.2.1':
- resolution: {integrity: sha512-FhsdxMWYu/C11sFisEp7FMGBtX/OSSbnXZDMBhGuUDBNTdsoZlMSgQv5f90rwvzWAdWIW6VobD+G3IrazxA6dQ==}
+ '@shikijs/core@3.6.0':
+ resolution: {integrity: sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==}
- '@shikijs/engine-javascript@2.4.2':
- resolution: {integrity: sha512-WRg63Lfta+5RJ0y0/ns1e1NqSxo+jSQclMf9kBHvtchLhR/x3R/E3PSNFiCM+t7oo+d9/VCCp1kURqsSVTHWJg==}
+ '@shikijs/engine-javascript@2.5.0':
+ resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==}
- '@shikijs/engine-javascript@3.2.1':
- resolution: {integrity: sha512-eMdcUzN3FMQYxOmRf2rmU8frikzoSHbQDFH2hIuXsrMO+IBOCI9BeeRkCiBkcLDHeRKbOCtYMJK3D6U32ooU9Q==}
+ '@shikijs/engine-javascript@3.6.0':
+ resolution: {integrity: sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==}
- '@shikijs/engine-oniguruma@2.4.2':
- resolution: {integrity: sha512-YmvW7XcvT2f2pf1r1IvKd48fFYcsZRMMISRr2nY1fE2uOF4xcm+84R7+yg4jNAblrFcXU9tDrkllJKH2uD3mBQ==}
+ '@shikijs/engine-oniguruma@2.5.0':
+ resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==}
- '@shikijs/engine-oniguruma@3.2.1':
- resolution: {integrity: sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ==}
+ '@shikijs/engine-oniguruma@3.6.0':
+ resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==}
- '@shikijs/langs@2.4.2':
- resolution: {integrity: sha512-USwSIDIxalwON4FSE2IFMGmAvM250RNdWjOf79zj2JjV2fsNJWn0vvEE9gh1WtvPp2l5BXXhdybFYA6ek7ogFQ==}
+ '@shikijs/langs@2.5.0':
+ resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==}
- '@shikijs/langs@3.2.1':
- resolution: {integrity: sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A==}
+ '@shikijs/langs@3.6.0':
+ resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==}
- '@shikijs/rehype@3.2.1':
- resolution: {integrity: sha512-wj4TXI1PQ3TNPyXudUzKfdFIMneTxFym3HKKfWRzbOSAS8P4mECR+ttdUPhYU1dxrXrsatWxTJezOcEjiA0z8g==}
+ '@shikijs/rehype@3.6.0':
+ resolution: {integrity: sha512-r0Rr2hvXXqLl5DJ1Lx7RImU81XsK2bjThaym/lujl2A0r7SId0u1s+bcWYfFKb+7mCLH7MXF+jdzCtdWGOcYCQ==}
- '@shikijs/themes@2.4.2':
- resolution: {integrity: sha512-W6uxyv91JWI6udgBpsSRCdmIp8WPxOq5Ys9Nj9royB+Or8sYmvnEBHLw6f+dZB9DIlFgvRPw5VnlwUx5ofKMKA==}
+ '@shikijs/themes@2.5.0':
+ resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==}
- '@shikijs/themes@3.2.1':
- resolution: {integrity: sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ==}
+ '@shikijs/themes@3.6.0':
+ resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==}
- '@shikijs/transformers@3.2.1':
- resolution: {integrity: sha512-oIT40p8LOPV/6XLnUrVPeRtJtbu0Mpl+BjGFuMXw870eX9zTSQlidg7CsksFDVyUiSAOC/CH1RQm+ldZp0/6eQ==}
+ '@shikijs/transformers@3.6.0':
+ resolution: {integrity: sha512-PYkU54lYV0RCaUG8n2FNTF+YWiU3uPhcjLGq2x/C8lIrUX9GVnRb3bK+R5xtdFHbuctntATKm7ondp/H/dux9Q==}
- '@shikijs/types@2.4.2':
- resolution: {integrity: sha512-e28aFDPwVgK8H2nPrEA5CexLa5yumBvb5aF6nN4SlmqaBFOuGQdxX/Cfh8rwRFALepJtlj0P3wvJ4oL+ndxgSA==}
+ '@shikijs/types@2.5.0':
+ resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==}
- '@shikijs/types@3.2.1':
- resolution: {integrity: sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA==}
+ '@shikijs/types@3.6.0':
+ resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -5047,14 +5054,8 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@20.17.19':
- resolution: {integrity: sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==}
-
- '@types/node@20.17.23':
- resolution: {integrity: sha512-8PCGZ1ZJbEZuYNTMqywO+Sj4vSKjSjT6Ua+6RFOYlEvIvKQABPtrNkoVSLSKDb4obYcMhspVKmsw8Cm10NFRUg==}
-
- '@types/node@20.17.32':
- resolution: {integrity: sha512-zeMXFn8zQ+UkjK4ws0RiOC9EWByyW1CcVmLe+2rQocXRsGEDxUCwPEIVgpsGcLHS/P8JkT0oa3839BRABS0oPw==}
+ '@types/node@20.19.0':
+ resolution: {integrity: sha512-hfrc+1tud1xcdVTABC2JiomZJEklMcXYNTVtZLAeqTVWD+qL5jkHKT+1lOtqDdGxt+mB53DTtiz673vfjU8D1Q==}
'@types/pg@8.11.11':
resolution: {integrity: sha512-kGT1qKM8wJQ5qlawUrEkXgvMSXoV213KfMGXcwfDwUIfUHXqXYXOfS1nE1LINRJVVVx5wCm70XnFlMHaIcQAfw==}
@@ -5982,17 +5983,20 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
- fumadocs-core@15.1.2:
- resolution: {integrity: sha512-KbDZ2euvyXQ0M+ch6p4ZlrQzw6MqRBp7Z/2LbQC8fW+FYJUI9zKy/ThS04p2tTiz+6DN1Pi4nIuoOn7F2iCpbQ==}
+ fumadocs-core@15.5.2:
+ resolution: {integrity: sha512-lp3OIc7zp78LCYlo5nymaa1vtP3Z79cpmVtSMlmIIHMyCAstgfHX5gWmfueSZ28D1HOTdLt+KJNstMNuc7oxsw==}
peerDependencies:
'@oramacloud/client': 1.x.x || 2.x.x
- algoliasearch: 4.24.0
+ '@types/react': '*'
+ algoliasearch: 5.x.x
next: 14.x.x || 15.x.x
react: 18.x.x || 19.x.x
react-dom: 18.x.x || 19.x.x
peerDependenciesMeta:
'@oramacloud/client':
optional: true
+ '@types/react':
+ optional: true
algoliasearch:
optional: true
next:
@@ -6013,15 +6017,19 @@ packages:
'@fumadocs/mdx-remote':
optional: true
- fumadocs-ui@15.1.2:
- resolution: {integrity: sha512-Jel9zhg85BfMfzDW2YX0lE0qeqnQmWj4s9QpbdKnPnrqeq2jRJJnpJExk3kaeWGG5KousEWG5ihsz3sFQvYCYw==}
+ fumadocs-ui@15.5.2:
+ resolution: {integrity: sha512-oOIRbGOdLu9OxlNb1TtRmFM27Dk5Kn5wM786ngkMP78S4k4R09fPkwdt4pA4luQlYxM7XpyqjeBouOjiEo26fg==}
peerDependencies:
- fumadocs-core: 15.1.2
+ '@types/react': '*'
next: 14.x.x || 15.x.x
react: 18.x.x || 19.x.x
react-dom: 18.x.x || 19.x.x
tailwindcss: ^3.4.14 || ^4.0.0
peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ next:
+ optional: true
tailwindcss:
optional: true
@@ -6130,9 +6138,6 @@ packages:
hast-util-to-estree@3.1.3:
resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
- hast-util-to-html@9.0.4:
- resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==}
-
hast-util-to-html@9.0.5:
resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
@@ -6180,8 +6185,8 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- image-size@2.0.1:
- resolution: {integrity: sha512-NI6NK/2zchlZopsQrcVIS7jxA0/rtIy74B+/rx5s7rKQyFebmQjZVhzxXgRZJROk+WhhOq+S6sUaODxp0L5hfg==}
+ image-size@2.0.2:
+ resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
engines: {node: '>=16.x'}
hasBin: true
@@ -6902,14 +6907,14 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
- oniguruma-parser@0.5.4:
- resolution: {integrity: sha512-yNxcQ8sKvURiTwP0mV6bLQCYE7NKfKRRWunhbZnXgxSmB1OXa1lHrN3o4DZd+0Si0kU5blidK7BcROO8qv5TZA==}
+ oniguruma-parser@0.12.1:
+ resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
- oniguruma-to-es@3.1.0:
- resolution: {integrity: sha512-BJ3Jy22YlgejHSO7Fvmz1kKazlaPmRSUH+4adTDUS/dKQ4wLxI+gALZ8updbaux7/m7fIlpgOZ5fp/Inq5jUAw==}
+ oniguruma-to-es@3.1.1:
+ resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==}
- oniguruma-to-es@4.1.0:
- resolution: {integrity: sha512-SNwG909cSLo4vPyyPbU/VJkEc9WOXqu2ycBlfd1UCXLqk1IijcQktSBb2yRQ2UFPsDhpkaf+C1dtT3PkLK/yWA==}
+ oniguruma-to-es@4.3.3:
+ resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
ora@5.4.1:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
@@ -7212,6 +7217,16 @@ packages:
'@types/react':
optional: true
+ react-remove-scroll@2.7.1:
+ resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
react-resizable-panels@2.1.7:
resolution: {integrity: sha512-JtT6gI+nURzhMYQYsx8DKkx6bSoOGFp7A3CwMrOb8y5jFHFyqwo9m68UhmXRw57fRVJksFn1TSlm3ywEQ9vMgA==}
peerDependencies:
@@ -7341,6 +7356,9 @@ packages:
remark-rehype@11.1.1:
resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
remark-stringify@11.0.0:
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
@@ -7438,11 +7456,11 @@ packages:
resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
engines: {node: '>= 0.4'}
- shiki@2.4.2:
- resolution: {integrity: sha512-kPOa6plKRlylb23/qOtO+iBI3HYO84IgMix9oc7oet9WcsnuGHCPK4s/v7635nkUSmv+F6s6xmaDreNs5z6v+w==}
+ shiki@2.5.0:
+ resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==}
- shiki@3.2.1:
- resolution: {integrity: sha512-VML/2o1/KGYkEf/stJJ+s9Ypn7jUKQPomGLGYso4JJFMFxVDyPNsjsI3MB3KLjlMOeH44gyaPdXC6rik2WXvUQ==}
+ shiki@3.6.0:
+ resolution: {integrity: sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==}
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
@@ -7618,6 +7636,9 @@ packages:
tailwind-merge@3.0.2:
resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==}
+ tailwind-merge@3.3.1:
+ resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==}
+
tailwindcss-animate@1.0.7:
resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
peerDependencies:
@@ -7714,8 +7735,8 @@ packages:
resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
engines: {node: '>= 0.6'}
- typescript@5.7.3:
- resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
+ typescript@5.8.3:
+ resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
engines: {node: '>=14.17'}
hasBin: true
@@ -7725,8 +7746,8 @@ packages:
uncrypto@0.1.3:
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
undici@5.29.0:
resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==}
@@ -7980,9 +8001,6 @@ packages:
zod@3.22.3:
resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==}
- zod@3.24.2:
- resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==}
-
zod@3.25.64:
resolution: {integrity: sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g==}
@@ -8009,42 +8027,42 @@ packages:
snapshots:
- '@ai-sdk/openai@1.1.13(zod@3.24.2)':
+ '@ai-sdk/openai@1.1.13(zod@3.25.64)':
dependencies:
'@ai-sdk/provider': 1.0.8
- '@ai-sdk/provider-utils': 2.1.9(zod@3.24.2)
- zod: 3.24.2
+ '@ai-sdk/provider-utils': 2.1.9(zod@3.25.64)
+ zod: 3.25.64
- '@ai-sdk/provider-utils@2.1.9(zod@3.24.2)':
+ '@ai-sdk/provider-utils@2.1.9(zod@3.25.64)':
dependencies:
'@ai-sdk/provider': 1.0.8
eventsource-parser: 3.0.0
nanoid: 3.3.8
secure-json-parse: 2.7.0
optionalDependencies:
- zod: 3.24.2
+ zod: 3.25.64
'@ai-sdk/provider@1.0.8':
dependencies:
json-schema: 0.4.0
- '@ai-sdk/react@1.1.17(react@19.0.0)(zod@3.24.2)':
+ '@ai-sdk/react@1.1.17(react@19.0.0)(zod@3.25.64)':
dependencies:
- '@ai-sdk/provider-utils': 2.1.9(zod@3.24.2)
- '@ai-sdk/ui-utils': 1.1.15(zod@3.24.2)
+ '@ai-sdk/provider-utils': 2.1.9(zod@3.25.64)
+ '@ai-sdk/ui-utils': 1.1.15(zod@3.25.64)
swr: 2.3.2(react@19.0.0)
throttleit: 2.1.0
optionalDependencies:
react: 19.0.0
- zod: 3.24.2
+ zod: 3.25.64
- '@ai-sdk/ui-utils@1.1.15(zod@3.24.2)':
+ '@ai-sdk/ui-utils@1.1.15(zod@3.25.64)':
dependencies:
'@ai-sdk/provider': 1.0.8
- '@ai-sdk/provider-utils': 2.1.9(zod@3.24.2)
- zod-to-json-schema: 3.24.2(zod@3.24.2)
+ '@ai-sdk/provider-utils': 2.1.9(zod@3.25.64)
+ zod-to-json-schema: 3.24.2(zod@3.25.64)
optionalDependencies:
- zod: 3.24.2
+ zod: 3.25.64
'@alloc/quick-lru@5.2.0': {}
@@ -9561,16 +9579,16 @@ snapshots:
'@cloudflare/workerd-windows-64@1.20250428.0':
optional: true
- '@content-collections/cli@0.1.6(@content-collections/core@0.8.0(typescript@5.7.3))':
+ '@content-collections/cli@0.1.6(@content-collections/core@0.8.0(typescript@5.8.3))':
dependencies:
'@clerc/core': 0.44.0
'@clerc/plugin-completions': 0.44.0(@clerc/core@0.44.0)
'@clerc/plugin-help': 0.44.0(@clerc/core@0.44.0)
'@clerc/plugin-version': 0.44.0(@clerc/core@0.44.0)
- '@content-collections/core': 0.8.0(typescript@5.7.3)
- '@content-collections/integrations': 0.2.1(@content-collections/core@0.8.0(typescript@5.7.3))
+ '@content-collections/core': 0.8.0(typescript@5.8.3)
+ '@content-collections/integrations': 0.2.1(@content-collections/core@0.8.0(typescript@5.8.3))
- '@content-collections/core@0.8.0(typescript@5.7.3)':
+ '@content-collections/core@0.8.0(typescript@5.8.3)':
dependencies:
'@parcel/watcher': 2.5.1
camelcase: 8.0.0
@@ -9581,17 +9599,17 @@ snapshots:
pluralize: 8.0.0
serialize-javascript: 6.0.2
tinyglobby: 0.2.10
- typescript: 5.7.3
+ typescript: 5.8.3
yaml: 2.7.0
- zod: 3.24.2
+ zod: 3.25.64
- '@content-collections/integrations@0.2.1(@content-collections/core@0.8.0(typescript@5.7.3))':
+ '@content-collections/integrations@0.2.1(@content-collections/core@0.8.0(typescript@5.8.3))':
dependencies:
- '@content-collections/core': 0.8.0(typescript@5.7.3)
+ '@content-collections/core': 0.8.0(typescript@5.8.3)
- '@content-collections/mdx@0.2.0(@content-collections/core@0.8.0(typescript@5.7.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
+ '@content-collections/mdx@0.2.0(@content-collections/core@0.8.0(typescript@5.8.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
dependencies:
- '@content-collections/core': 0.8.0(typescript@5.7.3)
+ '@content-collections/core': 0.8.0(typescript@5.8.3)
esbuild: 0.21.5
mdx-bundler: 10.1.0(acorn@8.14.0)(esbuild@0.21.5)
react: 19.0.0
@@ -9601,10 +9619,10 @@ snapshots:
- acorn
- supports-color
- '@content-collections/next@0.2.4(@content-collections/core@0.8.0(typescript@5.7.3))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))':
+ '@content-collections/next@0.2.4(@content-collections/core@0.8.0(typescript@5.8.3))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))':
dependencies:
- '@content-collections/core': 0.8.0(typescript@5.7.3)
- '@content-collections/integrations': 0.2.1(@content-collections/core@0.8.0(typescript@5.7.3))
+ '@content-collections/core': 0.8.0(typescript@5.8.3)
+ '@content-collections/integrations': 0.2.1(@content-collections/core@0.8.0(typescript@5.8.3))
next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@cspotcode/source-map-support@0.8.1':
@@ -10327,11 +10345,15 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@fumadocs/content-collections@1.1.8(@content-collections/core@0.8.0(typescript@5.7.3))(@content-collections/mdx@0.2.0(@content-collections/core@0.8.0(typescript@5.7.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))':
+ '@formatjs/intl-localematcher@0.6.1':
dependencies:
- '@content-collections/core': 0.8.0(typescript@5.7.3)
- '@content-collections/mdx': 0.2.0(@content-collections/core@0.8.0(typescript@5.7.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- fumadocs-core: 15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ tslib: 2.8.1
+
+ '@fumadocs/content-collections@1.1.8(@content-collections/core@0.8.0(typescript@5.8.3))(@content-collections/mdx@0.2.0(@content-collections/core@0.8.0(typescript@5.8.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(fumadocs-core@15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))':
+ dependencies:
+ '@content-collections/core': 0.8.0(typescript@5.8.3)
+ '@content-collections/mdx': 0.2.0(@content-collections/core@0.8.0(typescript@5.8.3))(acorn@8.14.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ fumadocs-core: 15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
'@hexagon/base64@1.1.28': {}
@@ -10637,6 +10659,8 @@ snapshots:
'@orama/orama@3.1.4': {}
+ '@orama/orama@3.1.7': {}
+
'@orama/tokenizers@3.1.4':
dependencies:
'@orama/orama': 3.1.4
@@ -12272,80 +12296,80 @@ snapshots:
domhandler: 5.0.3
selderee: 0.11.0
- '@shikijs/core@2.4.2':
+ '@shikijs/core@2.5.0':
dependencies:
- '@shikijs/engine-javascript': 2.4.2
- '@shikijs/engine-oniguruma': 2.4.2
- '@shikijs/types': 2.4.2
- '@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
- hast-util-to-html: 9.0.4
-
- '@shikijs/core@3.2.1':
- dependencies:
- '@shikijs/types': 3.2.1
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/types': 2.5.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
- '@shikijs/engine-javascript@2.4.2':
+ '@shikijs/core@3.6.0':
dependencies:
- '@shikijs/types': 2.4.2
+ '@shikijs/types': 3.6.0
'@shikijs/vscode-textmate': 10.0.2
- oniguruma-to-es: 3.1.0
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
- '@shikijs/engine-javascript@3.2.1':
+ '@shikijs/engine-javascript@2.5.0':
dependencies:
- '@shikijs/types': 3.2.1
+ '@shikijs/types': 2.5.0
'@shikijs/vscode-textmate': 10.0.2
- oniguruma-to-es: 4.1.0
+ oniguruma-to-es: 3.1.1
- '@shikijs/engine-oniguruma@2.4.2':
+ '@shikijs/engine-javascript@3.6.0':
dependencies:
- '@shikijs/types': 2.4.2
+ '@shikijs/types': 3.6.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.3
+
+ '@shikijs/engine-oniguruma@2.5.0':
+ dependencies:
+ '@shikijs/types': 2.5.0
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/engine-oniguruma@3.2.1':
+ '@shikijs/engine-oniguruma@3.6.0':
dependencies:
- '@shikijs/types': 3.2.1
+ '@shikijs/types': 3.6.0
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/langs@2.4.2':
+ '@shikijs/langs@2.5.0':
dependencies:
- '@shikijs/types': 2.4.2
+ '@shikijs/types': 2.5.0
- '@shikijs/langs@3.2.1':
+ '@shikijs/langs@3.6.0':
dependencies:
- '@shikijs/types': 3.2.1
+ '@shikijs/types': 3.6.0
- '@shikijs/rehype@3.2.1':
+ '@shikijs/rehype@3.6.0':
dependencies:
- '@shikijs/types': 3.2.1
+ '@shikijs/types': 3.6.0
'@types/hast': 3.0.4
hast-util-to-string: 3.0.1
- shiki: 3.2.1
+ shiki: 3.6.0
unified: 11.0.5
unist-util-visit: 5.0.0
- '@shikijs/themes@2.4.2':
+ '@shikijs/themes@2.5.0':
dependencies:
- '@shikijs/types': 2.4.2
+ '@shikijs/types': 2.5.0
- '@shikijs/themes@3.2.1':
+ '@shikijs/themes@3.6.0':
dependencies:
- '@shikijs/types': 3.2.1
+ '@shikijs/types': 3.6.0
- '@shikijs/transformers@3.2.1':
+ '@shikijs/transformers@3.6.0':
dependencies:
- '@shikijs/core': 3.2.1
- '@shikijs/types': 3.2.1
+ '@shikijs/core': 3.6.0
+ '@shikijs/types': 3.6.0
- '@shikijs/types@2.4.2':
+ '@shikijs/types@2.5.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- '@shikijs/types@3.2.1':
+ '@shikijs/types@3.6.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -13290,7 +13314,7 @@ snapshots:
'@types/cors@2.8.17':
dependencies:
- '@types/node': 20.17.23
+ '@types/node': 20.19.0
'@types/d3-array@3.2.1': {}
@@ -13340,28 +13364,19 @@ snapshots:
'@types/ms@2.1.0': {}
- '@types/node@20.17.19':
+ '@types/node@20.19.0':
dependencies:
- undici-types: 6.19.8
-
- '@types/node@20.17.23':
- dependencies:
- undici-types: 6.19.8
-
- '@types/node@20.17.32':
- dependencies:
- undici-types: 6.19.8
- optional: true
+ undici-types: 6.21.0
'@types/pg@8.11.11':
dependencies:
- '@types/node': 20.17.19
+ '@types/node': 20.19.0
pg-protocol: 1.7.1
pg-types: 4.0.2
'@types/pg@8.11.6':
dependencies:
- '@types/node': 20.17.32
+ '@types/node': 20.19.0
pg-protocol: 1.10.0
pg-types: 4.0.2
optional: true
@@ -13425,17 +13440,17 @@ snapshots:
acorn@8.14.0: {}
- ai@4.1.45(react@19.0.0)(zod@3.24.2):
+ ai@4.1.45(react@19.0.0)(zod@3.25.64):
dependencies:
'@ai-sdk/provider': 1.0.8
- '@ai-sdk/provider-utils': 2.1.9(zod@3.24.2)
- '@ai-sdk/react': 1.1.17(react@19.0.0)(zod@3.24.2)
- '@ai-sdk/ui-utils': 1.1.15(zod@3.24.2)
+ '@ai-sdk/provider-utils': 2.1.9(zod@3.25.64)
+ '@ai-sdk/react': 1.1.17(react@19.0.0)(zod@3.25.64)
+ '@ai-sdk/ui-utils': 1.1.15(zod@3.25.64)
'@opentelemetry/api': 1.9.0
jsondiffpatch: 0.6.0
optionalDependencies:
react: 19.0.0
- zod: 3.24.2
+ zod: 3.25.64
ansi-colors@4.1.3: {}
@@ -13494,14 +13509,14 @@ snapshots:
jose: 5.10.0
kysely: 0.27.5
nanostores: 0.11.4
- zod: 3.24.2
+ zod: 3.25.64
better-call@0.3.3:
dependencies:
'@better-fetch/fetch': 1.1.18
rou3: 0.5.1
uncrypto: 0.1.3
- zod: 3.24.2
+ zod: 3.25.64
bindings@1.5.0:
dependencies:
@@ -13892,7 +13907,7 @@ snapshots:
engine.io@6.6.4:
dependencies:
'@types/cors': 2.8.17
- '@types/node': 20.17.23
+ '@types/node': 20.19.0
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
@@ -14345,39 +14360,40 @@ snapshots:
fsevents@2.3.3:
optional: true
- fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
+ fumadocs-core@15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
- '@formatjs/intl-localematcher': 0.6.0
- '@orama/orama': 3.1.4
- '@shikijs/rehype': 3.2.1
- '@shikijs/transformers': 3.2.1
+ '@formatjs/intl-localematcher': 0.6.1
+ '@orama/orama': 3.1.7
+ '@shikijs/rehype': 3.6.0
+ '@shikijs/transformers': 3.6.0
github-slugger: 2.0.0
hast-util-to-estree: 3.1.3
hast-util-to-jsx-runtime: 2.3.6
- image-size: 2.0.1
+ image-size: 2.0.2
negotiator: 1.0.0
- react-remove-scroll: 2.6.3(@types/react@19.0.9)(react@19.0.0)
+ react-remove-scroll: 2.7.1(@types/react@19.0.9)(react@19.0.0)
remark: 15.0.1
remark-gfm: 4.0.1
+ remark-rehype: 11.1.2
scroll-into-view-if-needed: 3.1.0
- shiki: 3.2.1
+ shiki: 3.6.0
unist-util-visit: 5.0.0
optionalDependencies:
+ '@types/react': 19.0.9
next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
transitivePeerDependencies:
- - '@types/react'
- supports-color
- fumadocs-mdx@11.6.8(acorn@8.14.0)(fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
+ fumadocs-mdx@11.6.8(acorn@8.14.0)(fumadocs-core@15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)):
dependencies:
'@mdx-js/mdx': 3.1.0(acorn@8.14.0)
'@standard-schema/spec': 1.0.0
chokidar: 4.0.3
esbuild: 0.25.5
estree-util-value-to-estree: 3.4.0
- fumadocs-core: 15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ fumadocs-core: 15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
js-yaml: 4.1.0
lru-cache: 11.1.0
next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -14390,33 +14406,37 @@ snapshots:
- acorn
- supports-color
- fumadocs-ui@15.1.2(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(fumadocs-core@15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.14):
+ fumadocs-ui@15.5.2(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(tailwindcss@4.0.14):
dependencies:
- '@radix-ui/react-accordion': 1.2.3(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@radix-ui/react-collapsible': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@radix-ui/react-dialog': 1.1.6(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@radix-ui/react-direction': 1.1.0(@types/react@19.0.9)(react@19.0.0)
- '@radix-ui/react-navigation-menu': 1.2.5(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@radix-ui/react-popover': 1.1.6(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@radix-ui/react-scroll-area': 1.2.3(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- '@radix-ui/react-slot': 1.1.2(@types/react@19.0.9)(react@19.0.0)
- '@radix-ui/react-tabs': 1.1.3(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-accordion': 1.2.11(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-collapsible': 1.1.11(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.0.9)(react@19.0.0)
+ '@radix-ui/react-navigation-menu': 1.2.13(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-popover': 1.1.14(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-scroll-area': 1.2.9(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.0.9)(react@19.0.0)
+ '@radix-ui/react-tabs': 1.1.12(@types/react-dom@19.0.3(@types/react@19.0.9))(@types/react@19.0.9)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
class-variance-authority: 0.7.1
- fumadocs-core: 15.1.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
+ fumadocs-core: 15.5.2(@types/react@19.0.9)(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
lodash.merge: 4.6.2
- lucide-react: 0.483.0(react@19.0.0)
- next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
next-themes: 0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
postcss-selector-parser: 7.1.0
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
react-medium-image-zoom: 5.2.14(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
- tailwind-merge: 3.0.2
+ react-remove-scroll: 2.7.1(@types/react@19.0.9)(react@19.0.0)
+ tailwind-merge: 3.3.1
optionalDependencies:
+ '@types/react': 19.0.9
+ next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
tailwindcss: 4.0.14
transitivePeerDependencies:
- - '@types/react'
+ - '@oramacloud/client'
- '@types/react-dom'
+ - algoliasearch
+ - supports-color
function-bind@1.1.2: {}
@@ -14582,20 +14602,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- hast-util-to-html@9.0.4:
- dependencies:
- '@types/hast': 3.0.4
- '@types/unist': 3.0.3
- ccount: 2.0.1
- comma-separated-tokens: 2.0.3
- hast-util-whitespace: 3.0.0
- html-void-elements: 3.0.0
- mdast-util-to-hast: 13.2.0
- property-information: 6.5.0
- space-separated-tokens: 2.0.2
- stringify-entities: 4.0.4
- zwitch: 2.0.4
-
hast-util-to-html@9.0.5:
dependencies:
'@types/hast': 3.0.4
@@ -14701,7 +14707,7 @@ snapshots:
ignore@5.3.2: {}
- image-size@2.0.1: {}
+ image-size@2.0.2: {}
inherits@2.0.4: {}
@@ -15483,7 +15489,7 @@ snapshots:
negotiator@1.0.0: {}
- next-intl@4.0.0(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(typescript@5.7.3):
+ next-intl@4.0.0(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)(typescript@5.8.3):
dependencies:
'@formatjs/intl-localematcher': 0.5.10
negotiator: 1.0.0
@@ -15491,7 +15497,7 @@ snapshots:
react: 19.0.0
use-intl: 4.0.0(react@19.0.0)
optionalDependencies:
- typescript: 5.7.3
+ typescript: 5.8.3
next-plausible@3.12.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
@@ -15499,13 +15505,13 @@ snapshots:
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
- next-safe-action@7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.24.2):
+ next-safe-action@7.10.4(next@15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(zod@3.25.64):
dependencies:
next: 15.2.1(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
react-dom: 19.0.0(react@19.0.0)
optionalDependencies:
- zod: 3.24.2
+ zod: 3.25.64
next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
@@ -15603,18 +15609,17 @@ snapshots:
dependencies:
mimic-fn: 2.1.0
- oniguruma-parser@0.5.4: {}
+ oniguruma-parser@0.12.1: {}
- oniguruma-to-es@3.1.0:
+ oniguruma-to-es@3.1.1:
dependencies:
emoji-regex-xs: 1.0.0
regex: 6.0.1
regex-recursion: 6.0.2
- oniguruma-to-es@4.1.0:
+ oniguruma-to-es@4.3.3:
dependencies:
- emoji-regex-xs: 1.0.0
- oniguruma-parser: 0.5.4
+ oniguruma-parser: 0.12.1
regex: 6.0.1
regex-recursion: 6.0.2
@@ -15984,6 +15989,17 @@ snapshots:
optionalDependencies:
'@types/react': 19.0.9
+ react-remove-scroll@2.7.1(@types/react@19.0.9)(react@19.0.0):
+ dependencies:
+ react: 19.0.0
+ react-remove-scroll-bar: 2.3.8(@types/react@19.0.9)(react@19.0.0)
+ react-style-singleton: 2.2.3(@types/react@19.0.9)(react@19.0.0)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@19.0.9)(react@19.0.0)
+ use-sidecar: 1.1.3(@types/react@19.0.9)(react@19.0.0)
+ optionalDependencies:
+ '@types/react': 19.0.9
+
react-resizable-panels@2.1.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0):
dependencies:
react: 19.0.0
@@ -16112,13 +16128,13 @@ snapshots:
hast-util-from-html: 2.0.3
unified: 11.0.5
- rehype-pretty-code@0.14.0(shiki@2.4.2):
+ rehype-pretty-code@0.14.0(shiki@2.5.0):
dependencies:
'@types/hast': 3.0.4
hast-util-to-string: 3.0.1
parse-numeric-range: 1.3.0
rehype-parse: 9.0.1
- shiki: 2.4.2
+ shiki: 2.5.0
unified: 11.0.5
unist-util-visit: 5.0.0
@@ -16197,6 +16213,14 @@ snapshots:
unified: 11.0.5
vfile: 6.0.3
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
remark-stringify@11.0.0:
dependencies:
'@types/mdast': 4.0.4
@@ -16342,25 +16366,25 @@ snapshots:
shell-quote@1.8.2: {}
- shiki@2.4.2:
+ shiki@2.5.0:
dependencies:
- '@shikijs/core': 2.4.2
- '@shikijs/engine-javascript': 2.4.2
- '@shikijs/engine-oniguruma': 2.4.2
- '@shikijs/langs': 2.4.2
- '@shikijs/themes': 2.4.2
- '@shikijs/types': 2.4.2
+ '@shikijs/core': 2.5.0
+ '@shikijs/engine-javascript': 2.5.0
+ '@shikijs/engine-oniguruma': 2.5.0
+ '@shikijs/langs': 2.5.0
+ '@shikijs/themes': 2.5.0
+ '@shikijs/types': 2.5.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- shiki@3.2.1:
+ shiki@3.6.0:
dependencies:
- '@shikijs/core': 3.2.1
- '@shikijs/engine-javascript': 3.2.1
- '@shikijs/engine-oniguruma': 3.2.1
- '@shikijs/langs': 3.2.1
- '@shikijs/themes': 3.2.1
- '@shikijs/types': 3.2.1
+ '@shikijs/core': 3.6.0
+ '@shikijs/engine-javascript': 3.6.0
+ '@shikijs/engine-oniguruma': 3.6.0
+ '@shikijs/langs': 3.6.0
+ '@shikijs/themes': 3.6.0
+ '@shikijs/types': 3.6.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -16509,7 +16533,7 @@ snapshots:
stripe@17.6.0:
dependencies:
- '@types/node': 20.17.19
+ '@types/node': 20.19.0
qs: 6.14.0
strnum@1.1.2: {}
@@ -16551,6 +16575,8 @@ snapshots:
tailwind-merge@3.0.2: {}
+ tailwind-merge@3.3.1: {}
+
tailwindcss-animate@1.0.7(tailwindcss@4.0.14):
dependencies:
tailwindcss: 4.0.14
@@ -16634,13 +16660,13 @@ snapshots:
media-typer: 1.1.0
mime-types: 3.0.1
- typescript@5.7.3: {}
+ typescript@5.8.3: {}
ufo@1.6.1: {}
uncrypto@0.1.3: {}
- undici-types@6.19.8: {}
+ undici-types@6.21.0: {}
undici@5.29.0:
dependencies:
@@ -16912,14 +16938,12 @@ snapshots:
zalgo-promise@1.0.48: {}
- zod-to-json-schema@3.24.2(zod@3.24.2):
+ zod-to-json-schema@3.24.2(zod@3.25.64):
dependencies:
- zod: 3.24.2
+ zod: 3.25.64
zod@3.22.3: {}
- zod@3.24.2: {}
-
zod@3.25.64: {}
zustand@5.0.3(@types/react@19.0.9)(react@19.0.0)(use-sync-external-store@1.5.0(react@19.0.0)):
diff --git a/source.config.ts b/source.config.ts
new file mode 100644
index 0000000..a4d50da
--- /dev/null
+++ b/source.config.ts
@@ -0,0 +1,27 @@
+import { defineDocs, frontmatterSchema, metaSchema } from 'fumadocs-mdx/config';
+import { z } from 'zod';
+
+const customDocsSchema = frontmatterSchema.extend({
+ preview: z.string().optional(),
+ index: z.boolean().default(false),
+});
+
+const customMetaSchema = metaSchema.extend({
+ description: z.string().optional(),
+});
+
+/**
+ * frontmatterSchema.extend causes error: Type instantiation is excessively deep,
+ * so we define the schema manually.
+ *
+ * https://fumadocs.dev/docs/mdx/collections#schema-1
+ */
+export const docs = defineDocs({
+ dir: 'content/docs',
+ docs: {
+ schema: customDocsSchema,
+ },
+ meta: {
+ schema: customMetaSchema,
+ },
+});
diff --git a/src/app/[locale]/docs/[[...slug]]/page.tsx b/src/app/[locale]/docs/[[...slug]]/page.tsx
index 8258d61..b1971a6 100644
--- a/src/app/[locale]/docs/[[...slug]]/page.tsx
+++ b/src/app/[locale]/docs/[[...slug]]/page.tsx
@@ -1,5 +1,5 @@
+import { getMDXComponents } from '@/components/custom/mdx-components';
import * as Preview from '@/components/docs';
-import { CustomMDXContent } from '@/components/shared/custom-mdx-content';
import {
HoverCard,
HoverCardContent,
@@ -87,6 +87,8 @@ export default async function DocPage({ params }: DocPageProps) {
const preview = page.data.preview;
+ const MDX = page.data.body;
+
return (
: null}
{/* MDX Content */}
- {
const found = source.getPageByHref(href ?? '', {
dir: page.file.dirname,
@@ -133,7 +134,7 @@ export default async function DocPage({ params }: DocPageProps) {
);
},
- }}
+ })}
/>
diff --git a/src/components/custom/mdx-components.tsx b/src/components/custom/mdx-components.tsx
new file mode 100644
index 0000000..c7c2400
--- /dev/null
+++ b/src/components/custom/mdx-components.tsx
@@ -0,0 +1,45 @@
+import { ImageWrapper } from '@/components/docs/image-wrapper';
+import { Wrapper } from '@/components/docs/wrapper';
+import { YoutubeVideo } from '@/components/docs/youtube-video';
+import { Accordion, Accordions } from 'fumadocs-ui/components/accordion';
+import { Callout } from 'fumadocs-ui/components/callout';
+import { File, Files, Folder } from 'fumadocs-ui/components/files';
+import { Step, Steps } from 'fumadocs-ui/components/steps';
+import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
+import { TypeTable } from 'fumadocs-ui/components/type-table';
+import defaultMdxComponents from 'fumadocs-ui/mdx';
+import * as LucideIcons from 'lucide-react';
+import type { MDXComponents } from 'mdx/types';
+import type { ComponentProps, FC } from 'react';
+
+/**
+ * Enhanced MDX Content component that includes commonly used MDX components
+ * It can be used for blog posts, documentation, and custom pages
+ */
+export function getMDXComponents(components?: MDXComponents): MDXComponents {
+ // Start with default components
+ const baseComponents: Record = {
+ ...defaultMdxComponents,
+ ...LucideIcons,
+ // ...((await import('lucide-react')) as unknown as MDXComponents),
+ YoutubeVideo,
+ Tabs,
+ Tab,
+ TypeTable,
+ Accordion,
+ Accordions,
+ Steps,
+ Step,
+ Wrapper,
+ File,
+ Folder,
+ Files,
+ blockquote: Callout as unknown as FC>,
+ img: ImageWrapper,
+ };
+
+ return {
+ ...baseComponents,
+ ...components,
+ };
+}
diff --git a/src/components/docs/dynamic-codeblock.tsx b/src/components/docs/dynamic-codeblock.tsx
index b8d8405..0c216b8 100644
--- a/src/components/docs/dynamic-codeblock.tsx
+++ b/src/components/docs/dynamic-codeblock.tsx
@@ -28,7 +28,7 @@ export default function Example() {
className="bg-transparent px-4 py-2 text-sm focus-visible:outline-none"
/>
-
+
);
}
diff --git a/src/lib/docs/source.ts b/src/lib/docs/source.ts
index 1e7a9d1..313ca51 100644
--- a/src/lib/docs/source.ts
+++ b/src/lib/docs/source.ts
@@ -1,12 +1,12 @@
-import { createMDXSource } from '@fumadocs/content-collections';
-import { allDocs, allMetas } from 'content-collections';
import { loader } from 'fumadocs-core/source';
import * as LucideIcons from 'lucide-react';
import { createElement } from 'react';
+import { docs } from '../../../.source';
import { docsI18nConfig } from './i18n';
/**
* Turn a content source into a unified interface
+ * .source folder is generated by `fumadocs-mdx`
*
* https://fumadocs.dev/docs/headless/source-api
* https://fumadocs.dev/docs/headless/content-collections
@@ -14,7 +14,7 @@ import { docsI18nConfig } from './i18n';
export const source = loader({
baseUrl: '/docs',
i18n: docsI18nConfig,
- source: createMDXSource(allDocs, allMetas),
+ source: docs.toFumadocsSource(),
icon(iconName) {
if (!iconName) {
return undefined;