mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-26 23:49:51 +00:00
Core: Expose Zod schema for page & meta data
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'fumadocs-core': patch
|
||||
---
|
||||
|
||||
Expose Zod schema for page & meta data
|
||||
@@ -52,6 +52,10 @@
|
||||
"import": "./dist/source/client/index.js",
|
||||
"types": "./dist/source/client/index.d.ts"
|
||||
},
|
||||
"./source/schema": {
|
||||
"import": "./dist/source/schema.js",
|
||||
"types": "./dist/source/schema.d.ts"
|
||||
},
|
||||
"./source/*": {
|
||||
"import": "./dist/source/plugins/*.js",
|
||||
"types": "./dist/source/plugins/*.d.ts"
|
||||
@@ -157,7 +161,8 @@
|
||||
"typescript": "^5.9.3",
|
||||
"unified": "^11.0.5",
|
||||
"vfile": "^6.0.3",
|
||||
"waku": "^0.27.2"
|
||||
"waku": "^0.27.2",
|
||||
"zod": "^4.1.13"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@mixedbread/sdk": "^0.19.0",
|
||||
@@ -170,7 +175,8 @@
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"react-router": "7.x.x",
|
||||
"waku": "^0.26.0 || ^0.27.0"
|
||||
"waku": "^0.26.0 || ^0.27.0",
|
||||
"zod": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@mixedbread/sdk": {
|
||||
@@ -205,6 +211,9 @@
|
||||
},
|
||||
"lucide-react": {
|
||||
"optional": true
|
||||
},
|
||||
"zod": {
|
||||
"optional": true
|
||||
}
|
||||
},
|
||||
"publishConfig": {
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import { z } from 'zod';
|
||||
|
||||
/**
|
||||
* Zod 4 schema
|
||||
*/
|
||||
export const metaSchema = z.object({
|
||||
title: z.string().optional(),
|
||||
pages: z.array(z.string()).optional(),
|
||||
description: z.string().optional(),
|
||||
root: z.boolean().optional(),
|
||||
defaultOpen: z.boolean().optional(),
|
||||
collapsible: z.boolean().optional(),
|
||||
icon: z.string().optional(),
|
||||
});
|
||||
|
||||
/**
|
||||
* Zod 4 schema
|
||||
*/
|
||||
export const pageSchema = z.object({
|
||||
title: z.string(),
|
||||
description: z.string().optional(),
|
||||
icon: z.string().optional(),
|
||||
full: z.boolean().optional(),
|
||||
|
||||
// Fumadocs OpenAPI generated
|
||||
_openapi: z.looseObject({}).optional(),
|
||||
});
|
||||
@@ -1,18 +1,14 @@
|
||||
import { defineConfig } from 'tsup';
|
||||
|
||||
export default defineConfig({
|
||||
external: [
|
||||
// https://github.com/fuma-nama/fumadocs/issues/2144
|
||||
'@tanstack/react-router',
|
||||
'waku',
|
||||
],
|
||||
dts: true,
|
||||
target: 'es2022',
|
||||
format: 'esm',
|
||||
entry: [
|
||||
'src/{toc,link,breadcrumb,dynamic-link}.tsx',
|
||||
'src/{source,page-tree}/index.ts',
|
||||
'src/page-tree/index.ts',
|
||||
'src/{negotiation,content}/*',
|
||||
'src/source/{index,schema}.ts',
|
||||
'src/source/client/*.{ts,tsx}',
|
||||
'src/source/plugins/lucide-icons.ts',
|
||||
'src/search/{index,client,server,algolia,orama-cloud}.ts',
|
||||
|
||||
Generated
+4
@@ -1591,6 +1591,9 @@ importers:
|
||||
waku:
|
||||
specifier: ^0.27.2
|
||||
version: 0.27.2(@swc/[email protected])(@types/[email protected])([email protected])([email protected])([email protected]([email protected]))([email protected]([email protected]([email protected]))([email protected])([email protected](@swc/[email protected])([email protected])))([email protected])([email protected])([email protected])([email protected])
|
||||
zod:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
|
||||
packages/create-app:
|
||||
dependencies:
|
||||
@@ -6656,6 +6659,7 @@ packages:
|
||||
|
||||
[email protected]:
|
||||
resolution: {integrity: sha512-2hJ4ocTZ634/Ptph4lysvO+LbbRZq8fzRvMwX0/CqaLBxrF2UB5D1LdMB8qGcdtCer4/VR9Bx5ORub0yn+yzmw==}
|
||||
cpu: [arm64, x64]
|
||||
os: [darwin, linux, win32]
|
||||
hasBin: true
|
||||
|
||||
|
||||
Reference in New Issue
Block a user