polen 0.10.0-next.14 → 0.10.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -2
- package/build/api/builder/builder.js +1 -1
- package/build/api/builder/builder.js.map +1 -1
- package/build/api/config/load.js +6 -6
- package/build/api/config/load.js.map +1 -1
- package/build/api/config-resolver/resolve.js +2 -2
- package/build/api/config-resolver/resolve.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/vite/plugins/branding/index.js +4 -4
- package/build/api/vite/plugins/branding/index.js.map +1 -1
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +4 -12
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts +2 -2
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +13 -13
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/pages.d.ts +14 -8
- package/build/api/vite/plugins/pages.d.ts.map +1 -1
- package/build/api/vite/plugins/pages.js +185 -111
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +12 -52
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/cli/_/self-contained-mode.js +5 -5
- package/build/cli/_/self-contained-mode.js.map +1 -1
- package/build/lib/demos/config-schema.d.ts +20 -20
- package/build/lib/file-router/diagnostic-reporter.js +2 -2
- package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
- package/build/lib/file-router/file-router.d.ts +2 -0
- package/build/lib/file-router/file-router.d.ts.map +1 -1
- package/build/lib/file-router/file-router.js +2 -0
- package/build/lib/file-router/file-router.js.map +1 -1
- package/build/lib/file-router/route.d.ts +0 -2
- package/build/lib/file-router/route.d.ts.map +1 -1
- package/build/lib/file-router/route.js.map +1 -1
- package/build/lib/file-router/scan-tree.d.ts +20 -0
- package/build/lib/file-router/scan-tree.d.ts.map +1 -0
- package/build/lib/file-router/scan-tree.js +158 -0
- package/build/lib/file-router/scan-tree.js.map +1 -0
- package/build/lib/file-router/scan.d.ts.map +1 -1
- package/build/lib/file-router/scan.js +13 -22
- package/build/lib/file-router/scan.js.map +1 -1
- package/build/lib/file-router/sidebar/index.d.ts +3 -0
- package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/index.js +4 -0
- package/build/lib/file-router/sidebar/index.js.map +1 -0
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
- package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
- package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
- package/build/lib/file-router/sidebar/types.d.ts +17 -0
- package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
- package/build/lib/file-router/sidebar/types.js.map +1 -0
- package/build/lib/github-actions/runner.js +2 -2
- package/build/lib/github-actions/runner.js.map +1 -1
- package/build/lib/github-actions/schemas/context.d.ts +2 -2
- package/build/lib/kit-temp.d.ts +0 -103
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +3 -239
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/tree/index.d.ts +3 -0
- package/build/lib/tree/index.d.ts.map +1 -0
- package/build/lib/tree/index.js +2 -0
- package/build/lib/tree/index.js.map +1 -0
- package/build/lib/tree/tree.d.ts +62 -0
- package/build/lib/tree/tree.d.ts.map +1 -0
- package/build/lib/tree/tree.js +134 -0
- package/build/lib/tree/tree.js.map +1 -0
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +8 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +53 -48
- package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
- package/build/package-paths.js +3 -3
- package/build/package-paths.js.map +1 -1
- package/build/sandbox.js +2 -17
- package/build/sandbox.js.map +1 -1
- package/build/singletons/debug.d.ts +1 -1
- package/build/singletons/debug.d.ts.map +1 -1
- package/build/singletons/debug.js +1 -1
- package/build/singletons/debug.js.map +1 -1
- package/build/template/components/ArgumentAnnotation.jsx +16 -0
- package/build/template/components/ArgumentAnnotation.jsx.map +1 -0
- package/build/template/components/ArgumentList.jsx +16 -0
- package/build/template/components/ArgumentList.jsx.map +1 -0
- package/build/template/components/ArgumentListAnnotation.jsx +23 -0
- package/build/template/components/ArgumentListAnnotation.jsx.map +1 -0
- package/build/template/components/Changelog.jsx +68 -0
- package/build/template/components/Changelog.jsx.map +1 -0
- package/build/template/components/{CodeBlock.js → CodeBlock.jsx} +5 -4
- package/build/template/components/{CodeBlock.js.map → CodeBlock.jsx.map} +1 -1
- package/build/template/components/DeprecationReason.jsx +10 -0
- package/build/template/components/DeprecationReason.jsx.map +1 -0
- package/build/template/components/Description.jsx +10 -0
- package/build/template/components/Description.jsx.map +1 -0
- package/build/template/components/Field.jsx +22 -0
- package/build/template/components/Field.jsx.map +1 -0
- package/build/template/components/{FieldList.js → FieldList.jsx} +5 -4
- package/build/template/components/FieldList.jsx.map +1 -0
- package/build/template/components/{FieldListSection.js → FieldListSection.jsx} +6 -4
- package/build/template/components/FieldListSection.jsx.map +1 -0
- package/build/template/components/Link.d.ts +2 -2
- package/build/template/components/Link.d.ts.map +1 -1
- package/build/template/components/{Link.js → Link.jsx} +9 -17
- package/build/template/components/Link.jsx.map +1 -0
- package/build/template/components/Logo.jsx +29 -0
- package/build/template/components/Logo.jsx.map +1 -0
- package/build/template/components/{Markdown.js → Markdown.jsx} +2 -3
- package/build/template/components/Markdown.jsx.map +1 -0
- package/build/template/components/MissingSchema.d.ts +1 -1
- package/build/template/components/MissingSchema.d.ts.map +1 -1
- package/build/template/components/MissingSchema.jsx +4 -0
- package/build/template/components/MissingSchema.jsx.map +1 -0
- package/build/template/components/NamedType.jsx +17 -0
- package/build/template/components/NamedType.jsx.map +1 -0
- package/build/template/components/{RadixLink.js → RadixLink.jsx} +1 -1
- package/build/template/components/RadixLink.jsx.map +1 -0
- package/build/template/components/Texts/{MinorHeading.js → MinorHeading.jsx} +3 -4
- package/build/template/components/Texts/MinorHeading.jsx.map +1 -0
- package/build/template/components/Texts/texts.js +1 -1
- package/build/template/components/Texts/texts.js.map +1 -1
- package/build/template/components/{TypeAnnotation.js → TypeAnnotation.jsx} +18 -8
- package/build/template/components/TypeAnnotation.jsx.map +1 -0
- package/build/template/components/TypeFieldsLinkList.jsx +17 -0
- package/build/template/components/TypeFieldsLinkList.jsx.map +1 -0
- package/build/template/components/TypeIndex.jsx +27 -0
- package/build/template/components/TypeIndex.jsx.map +1 -0
- package/build/template/components/graphql/graphql.d.ts +2 -2
- package/build/template/components/graphql/graphql.jsx +3 -0
- package/build/template/components/graphql/graphql.jsx.map +1 -0
- package/build/template/components/graphql/index.d.ts +1 -1
- package/build/template/components/graphql/index.js +1 -1
- package/build/template/components/graphql/index.js.map +1 -1
- package/build/template/components/graphql/{type-kind-icon.js → type-kind-icon.jsx} +2 -3
- package/build/template/components/graphql/type-kind-icon.jsx.map +1 -0
- package/build/template/components/graphql/type-link.jsx +16 -0
- package/build/template/components/graphql/type-link.jsx.map +1 -0
- package/build/template/components/sidebar/Sidebar.d.ts +3 -3
- package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
- package/build/template/components/sidebar/Sidebar.jsx +15 -0
- package/build/template/components/sidebar/Sidebar.jsx.map +1 -0
- package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
- package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
- package/build/template/components/sidebar/{SidebarItem.js → SidebarItem.jsx} +35 -18
- package/build/template/components/sidebar/SidebarItem.jsx.map +1 -0
- package/build/template/components/sidebar/ToggleButton.d.ts +1 -1
- package/build/template/components/sidebar/ToggleButton.d.ts.map +1 -1
- package/build/template/components/sidebar/ToggleButton.jsx +6 -0
- package/build/template/components/sidebar/ToggleButton.jsx.map +1 -0
- package/build/template/entry.client.d.ts +0 -1
- package/build/template/entry.client.d.ts.map +1 -1
- package/build/template/{entry.client.js → entry.client.jsx} +9 -5
- package/build/template/entry.client.jsx.map +1 -0
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/{changelog.js → changelog.jsx} +4 -5
- package/build/template/routes/changelog.jsx.map +1 -0
- package/build/template/routes/{index.js → index.jsx} +2 -3
- package/build/template/routes/index.jsx.map +1 -0
- package/build/template/routes/reference.$type.$field.d.ts +1 -1
- package/build/template/routes/{reference.$type.$field.js → reference.$type.$field.jsx} +5 -6
- package/build/template/routes/reference.$type.$field.jsx.map +1 -0
- package/build/template/routes/reference.$type.d.ts +1 -1
- package/build/template/routes/{reference.$type.js → reference.$type.jsx} +5 -6
- package/build/template/routes/reference.$type.jsx.map +1 -0
- package/build/template/routes/reference.d.ts +2 -2
- package/build/template/routes/reference.d.ts.map +1 -1
- package/build/template/routes/{reference.js → reference.jsx} +12 -7
- package/build/template/routes/reference.jsx.map +1 -0
- package/build/template/routes/root.d.ts +2 -2
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.jsx +188 -0
- package/build/template/routes/root.jsx.map +1 -0
- package/build/template/routes.jsx +5 -0
- package/build/template/routes.jsx.map +1 -0
- package/build/template/server/app.d.ts +1 -8
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +21 -21
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/main.js +1 -2
- package/build/template/server/main.js.map +1 -1
- package/build/template/server/render-page.d.ts +3 -0
- package/build/template/server/render-page.d.ts.map +1 -0
- package/build/template/server/{create-page-html-response.js → render-page.jsx} +17 -11
- package/build/template/server/render-page.jsx.map +1 -0
- package/build/template/server/ssg/generate.d.ts.map +1 -1
- package/build/template/server/ssg/generate.js +34 -33
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +1 -1
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/build/template/server/view.js +1 -1
- package/build/template/server/view.js.map +1 -1
- package/package.json +9 -66
- package/src/api/config/load.ts +5 -5
- package/src/api/config-resolver/resolve.ts +2 -2
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +1 -1
- package/src/api/singletons/markdown/markdown.test.ts +1 -1
- package/src/api/vite/plugins/branding/index.ts +4 -4
- package/src/api/vite/plugins/build.ts +89 -97
- package/src/api/vite/plugins/core.ts +16 -18
- package/src/api/vite/plugins/pages.ts +209 -135
- package/src/api/vite/plugins/serve.ts +14 -67
- package/src/cli/_/self-contained-mode.ts +5 -5
- package/src/lib/deployment/$$.ts +1 -1
- package/src/lib/deployment/$.test.ts +3 -3
- package/src/lib/deployment/$.ts +1 -1
- package/src/lib/file-router/diagnostic-reporter.ts +2 -2
- package/src/lib/file-router/file-router.ts +2 -0
- package/src/lib/file-router/linter.test.ts +0 -2
- package/src/lib/file-router/route.ts +0 -2
- package/src/lib/file-router/scan-tree.test.ts +189 -0
- package/src/lib/file-router/scan-tree.ts +205 -0
- package/src/lib/file-router/scan.ts +14 -26
- package/src/lib/file-router/sidebar/index.ts +3 -0
- package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
- package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
- package/src/lib/file-router/sidebar/types.ts +19 -0
- package/src/lib/kit-temp.test.ts +7 -19
- package/src/lib/kit-temp.ts +5 -307
- package/src/lib/task/$.test.ts +3 -3
- package/src/lib/tree/index.ts +2 -0
- package/src/lib/tree/tree.test.ts +117 -0
- package/src/lib/tree/tree.ts +183 -0
- package/src/lib/version-history/index.test.ts +4 -12
- package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +58 -52
- package/src/package-paths.ts +3 -3
- package/src/sandbox.ts +1 -20
- package/src/singletons/debug.ts +1 -1
- package/src/template/components/ArgumentAnnotation.tsx +1 -1
- package/src/template/components/ArgumentList.tsx +1 -1
- package/src/template/components/ArgumentListAnnotation.tsx +2 -2
- package/src/template/components/DeprecationReason.tsx +1 -1
- package/src/template/components/Description.tsx +1 -1
- package/src/template/components/Field.tsx +4 -4
- package/src/template/components/FieldList.tsx +1 -1
- package/src/template/components/FieldListSection.tsx +1 -1
- package/src/template/components/Link.tsx +14 -22
- package/src/template/components/NamedType.tsx +2 -2
- package/src/template/components/TypeAnnotation.tsx +1 -1
- package/src/template/components/TypeFieldsLinkList.tsx +1 -1
- package/src/template/components/TypeIndex.tsx +1 -1
- package/src/template/components/graphql/graphql.tsx +2 -2
- package/src/template/components/graphql/index.ts +1 -1
- package/src/template/components/graphql/type-link.tsx +2 -2
- package/src/template/components/sidebar/Sidebar.tsx +2 -2
- package/src/template/components/sidebar/SidebarItem.tsx +14 -14
- package/src/template/entry.client.tsx +5 -2
- package/src/template/routes/changelog.tsx +1 -1
- package/src/template/routes/reference.$type.$field.tsx +3 -3
- package/src/template/routes/reference.$type.tsx +3 -3
- package/src/template/routes/reference.tsx +10 -6
- package/src/template/routes/root.tsx +108 -112
- package/src/template/routes.tsx +1 -1
- package/src/template/server/app.ts +23 -33
- package/src/template/server/main.ts +1 -2
- package/src/template/server/{create-page-html-response.ts → render-page.tsx} +16 -19
- package/src/template/server/ssg/generate.ts +72 -68
- package/src/template/server/ssg/get-route-paths.ts +1 -1
- package/src/template/server/view.ts +1 -1
- package/src/template/styles/code-block.css +0 -32
- package/build/api/content/$$.d.ts +0 -7
- package/build/api/content/$$.d.ts.map +0 -1
- package/build/api/content/$$.js +0 -7
- package/build/api/content/$$.js.map +0 -1
- package/build/api/content/$.d.ts +0 -2
- package/build/api/content/$.d.ts.map +0 -1
- package/build/api/content/$.js +0 -2
- package/build/api/content/$.js.map +0 -1
- package/build/api/content/metadata.d.ts +0 -10
- package/build/api/content/metadata.d.ts.map +0 -1
- package/build/api/content/metadata.js +0 -9
- package/build/api/content/metadata.js.map +0 -1
- package/build/api/content/navbar.d.ts +0 -10
- package/build/api/content/navbar.d.ts.map +0 -1
- package/build/api/content/navbar.js +0 -45
- package/build/api/content/navbar.js.map +0 -1
- package/build/api/content/page.d.ts +0 -11
- package/build/api/content/page.d.ts.map +0 -1
- package/build/api/content/page.js +0 -2
- package/build/api/content/page.js.map +0 -1
- package/build/api/content/scan.d.ts +0 -19
- package/build/api/content/scan.d.ts.map +0 -1
- package/build/api/content/scan.js +0 -90
- package/build/api/content/scan.js.map +0 -1
- package/build/api/content/sidebar.d.ts +0 -104
- package/build/api/content/sidebar.d.ts.map +0 -1
- package/build/api/content/sidebar.js +0 -166
- package/build/api/content/sidebar.js.map +0 -1
- package/build/api/content/utils.d.ts +0 -5
- package/build/api/content/utils.d.ts.map +0 -1
- package/build/api/content/utils.js +0 -8
- package/build/api/content/utils.js.map +0 -1
- package/build/exports/components.d.ts +0 -5
- package/build/exports/components.d.ts.map +0 -1
- package/build/exports/components.js +0 -5
- package/build/exports/components.js.map +0 -1
- package/build/lib/graphql-document/$$.d.ts +0 -5
- package/build/lib/graphql-document/$$.d.ts.map +0 -1
- package/build/lib/graphql-document/$$.js +0 -5
- package/build/lib/graphql-document/$$.js.map +0 -1
- package/build/lib/graphql-document/$.d.ts +0 -2
- package/build/lib/graphql-document/$.d.ts.map +0 -1
- package/build/lib/graphql-document/$.js +0 -2
- package/build/lib/graphql-document/$.js.map +0 -1
- package/build/lib/graphql-document/analysis.d.ts +0 -44
- package/build/lib/graphql-document/analysis.d.ts.map +0 -1
- package/build/lib/graphql-document/analysis.js +0 -361
- package/build/lib/graphql-document/analysis.js.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
- package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
- package/build/lib/graphql-document/components/CopyButton.js +0 -43
- package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocument.js +0 -142
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -45
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -48
- package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
- package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
- package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
- package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
- package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
- package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
- package/build/lib/graphql-document/components/graphql-document-styles.js +0 -167
- package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
- package/build/lib/graphql-document/components/index.d.ts +0 -6
- package/build/lib/graphql-document/components/index.d.ts.map +0 -1
- package/build/lib/graphql-document/components/index.js +0 -6
- package/build/lib/graphql-document/components/index.js.map +0 -1
- package/build/lib/graphql-document/example.d.ts +0 -25
- package/build/lib/graphql-document/example.d.ts.map +0 -1
- package/build/lib/graphql-document/example.js +0 -140
- package/build/lib/graphql-document/example.js.map +0 -1
- package/build/lib/graphql-document/graphql-document.d.ts +0 -35
- package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
- package/build/lib/graphql-document/graphql-document.js +0 -36
- package/build/lib/graphql-document/graphql-document.js.map +0 -1
- package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
- package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
- package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
- package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
- package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
- package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
- package/build/lib/graphql-document/positioning-simple.js +0 -185
- package/build/lib/graphql-document/positioning-simple.js.map +0 -1
- package/build/lib/graphql-document/schema-context.d.ts +0 -8
- package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-context.js +0 -11
- package/build/lib/graphql-document/schema-context.js.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
- package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration-example.js +0 -297
- package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
- package/build/lib/graphql-document/schema-integration.d.ts +0 -135
- package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
- package/build/lib/graphql-document/schema-integration.js +0 -328
- package/build/lib/graphql-document/schema-integration.js.map +0 -1
- package/build/lib/graphql-document/types.d.ts +0 -117
- package/build/lib/graphql-document/types.d.ts.map +0 -1
- package/build/lib/graphql-document/types.js.map +0 -1
- package/build/template/components/ArgumentAnnotation.js +0 -10
- package/build/template/components/ArgumentAnnotation.js.map +0 -1
- package/build/template/components/ArgumentList.js +0 -9
- package/build/template/components/ArgumentList.js.map +0 -1
- package/build/template/components/ArgumentListAnnotation.js +0 -15
- package/build/template/components/ArgumentListAnnotation.js.map +0 -1
- package/build/template/components/Changelog.js +0 -44
- package/build/template/components/Changelog.js.map +0 -1
- package/build/template/components/CodeBlockEnhancer.d.ts +0 -2
- package/build/template/components/CodeBlockEnhancer.d.ts.map +0 -1
- package/build/template/components/CodeBlockEnhancer.js +0 -175
- package/build/template/components/CodeBlockEnhancer.js.map +0 -1
- package/build/template/components/DeprecationReason.js +0 -9
- package/build/template/components/DeprecationReason.js.map +0 -1
- package/build/template/components/Description.js +0 -9
- package/build/template/components/Description.js.map +0 -1
- package/build/template/components/Field.js +0 -14
- package/build/template/components/Field.js.map +0 -1
- package/build/template/components/FieldList.js.map +0 -1
- package/build/template/components/FieldListSection.js.map +0 -1
- package/build/template/components/HamburgerMenu.d.ts +0 -9
- package/build/template/components/HamburgerMenu.d.ts.map +0 -1
- package/build/template/components/HamburgerMenu.js +0 -30
- package/build/template/components/HamburgerMenu.js.map +0 -1
- package/build/template/components/Link.js.map +0 -1
- package/build/template/components/Logo.js +0 -20
- package/build/template/components/Logo.js.map +0 -1
- package/build/template/components/MDXComponents.d.ts +0 -11
- package/build/template/components/MDXComponents.d.ts.map +0 -1
- package/build/template/components/MDXComponents.js +0 -70
- package/build/template/components/MDXComponents.js.map +0 -1
- package/build/template/components/Markdown.js.map +0 -1
- package/build/template/components/MissingSchema.js +0 -5
- package/build/template/components/MissingSchema.js.map +0 -1
- package/build/template/components/NamedType.js +0 -12
- package/build/template/components/NamedType.js.map +0 -1
- package/build/template/components/NotFound.d.ts +0 -2
- package/build/template/components/NotFound.d.ts.map +0 -1
- package/build/template/components/NotFound.js +0 -7
- package/build/template/components/NotFound.js.map +0 -1
- package/build/template/components/RadixLink.js.map +0 -1
- package/build/template/components/TestComponent.d.ts +0 -5
- package/build/template/components/TestComponent.d.ts.map +0 -1
- package/build/template/components/TestComponent.js +0 -7
- package/build/template/components/TestComponent.js.map +0 -1
- package/build/template/components/Texts/MinorHeading.js.map +0 -1
- package/build/template/components/ThemeToggle.d.ts +0 -3
- package/build/template/components/ThemeToggle.d.ts.map +0 -1
- package/build/template/components/ThemeToggle.js +0 -9
- package/build/template/components/ThemeToggle.js.map +0 -1
- package/build/template/components/TypeAnnotation.js.map +0 -1
- package/build/template/components/TypeFieldsLinkList.js +0 -9
- package/build/template/components/TypeFieldsLinkList.js.map +0 -1
- package/build/template/components/TypeIndex.js +0 -17
- package/build/template/components/TypeIndex.js.map +0 -1
- package/build/template/components/content/$$.d.ts +0 -3
- package/build/template/components/content/$$.d.ts.map +0 -1
- package/build/template/components/content/$$.js +0 -3
- package/build/template/components/content/$$.js.map +0 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +0 -8
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +0 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -13
- package/build/template/components/content/GraphQLDocumentWithSchema.js.map +0 -1
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts +0 -7
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +0 -1
- package/build/template/components/content/GraphQLDocumentWrapper.js +0 -63
- package/build/template/components/content/GraphQLDocumentWrapper.js.map +0 -1
- package/build/template/components/graphql/graphql.js +0 -3
- package/build/template/components/graphql/graphql.js.map +0 -1
- package/build/template/components/graphql/type-kind-icon.js.map +0 -1
- package/build/template/components/graphql/type-link.js +0 -11
- package/build/template/components/graphql/type-link.js.map +0 -1
- package/build/template/components/sidebar/Sidebar.js +0 -11
- package/build/template/components/sidebar/Sidebar.js.map +0 -1
- package/build/template/components/sidebar/SidebarItem.js.map +0 -1
- package/build/template/components/sidebar/ToggleButton.js +0 -5
- package/build/template/components/sidebar/ToggleButton.js.map +0 -1
- package/build/template/contexts/ThemeContext.d.ts +0 -12
- package/build/template/contexts/ThemeContext.d.ts.map +0 -1
- package/build/template/contexts/ThemeContext.js +0 -40
- package/build/template/contexts/ThemeContext.js.map +0 -1
- package/build/template/entry.client.js.map +0 -1
- package/build/template/hooks/useClientOnly.d.ts +0 -9
- package/build/template/hooks/useClientOnly.d.ts.map +0 -1
- package/build/template/hooks/useClientOnly.js +0 -16
- package/build/template/hooks/useClientOnly.js.map +0 -1
- package/build/template/routes/changelog.js.map +0 -1
- package/build/template/routes/index.js.map +0 -1
- package/build/template/routes/reference.$type.$field.js.map +0 -1
- package/build/template/routes/reference.$type.js.map +0 -1
- package/build/template/routes/reference.js.map +0 -1
- package/build/template/routes/root.js +0 -138
- package/build/template/routes/root.js.map +0 -1
- package/build/template/routes.js +0 -5
- package/build/template/routes.js.map +0 -1
- package/build/template/server/create-page-html-response.d.ts +0 -7
- package/build/template/server/create-page-html-response.d.ts.map +0 -1
- package/build/template/server/create-page-html-response.js.map +0 -1
- package/build/template/server/middleware/page.d.ts +0 -4
- package/build/template/server/middleware/page.d.ts.map +0 -1
- package/build/template/server/middleware/page.js +0 -15
- package/build/template/server/middleware/page.js.map +0 -1
- package/build/template/server/middleware/unsupported-assets.d.ts +0 -10
- package/build/template/server/middleware/unsupported-assets.d.ts.map +0 -1
- package/build/template/server/middleware/unsupported-assets.js +0 -21
- package/build/template/server/middleware/unsupported-assets.js.map +0 -1
- package/build/template/styles/code-block.css +0 -218
- package/src/api/content/$$.ts +0 -6
- package/src/api/content/$.test.ts +0 -72
- package/src/api/content/$.ts +0 -1
- package/src/api/content/metadata.ts +0 -11
- package/src/api/content/navbar.test.ts +0 -55
- package/src/api/content/navbar.ts +0 -61
- package/src/api/content/page.ts +0 -12
- package/src/api/content/scan.ts +0 -117
- package/src/api/content/sidebar.test.ts +0 -297
- package/src/api/content/sidebar.ts +0 -283
- package/src/api/content/utils.ts +0 -7
- package/src/exports/components.ts +0 -4
- package/src/lib/graphql-document/$$.ts +0 -4
- package/src/lib/graphql-document/$.test.ts +0 -132
- package/src/lib/graphql-document/$.ts +0 -1
- package/src/lib/graphql-document/README.md +0 -102
- package/src/lib/graphql-document/analysis.ts +0 -415
- package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -262
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -70
- package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -197
- package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
- package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -167
- package/src/lib/graphql-document/components/index.ts +0 -5
- package/src/lib/graphql-document/demo.md +0 -155
- package/src/lib/graphql-document/example.ts +0 -163
- package/src/lib/graphql-document/graphql-document.ts +0 -37
- package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
- package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
- package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
- package/src/lib/graphql-document/positioning-simple.ts +0 -260
- package/src/lib/graphql-document/schema-context.tsx +0 -20
- package/src/lib/graphql-document/schema-integration-example.ts +0 -341
- package/src/lib/graphql-document/schema-integration.test.ts +0 -365
- package/src/lib/graphql-document/schema-integration.ts +0 -497
- package/src/lib/graphql-document/types.ts +0 -129
- package/src/template/components/CodeBlockEnhancer.tsx +0 -192
- package/src/template/components/HamburgerMenu.tsx +0 -96
- package/src/template/components/MDXComponents.tsx +0 -101
- package/src/template/components/NotFound.tsx +0 -28
- package/src/template/components/TestComponent.tsx +0 -6
- package/src/template/components/ThemeToggle.tsx +0 -21
- package/src/template/components/content/$$.ts +0 -2
- package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -13
- package/src/template/components/content/GraphQLDocumentWrapper.tsx +0 -89
- package/src/template/contexts/ThemeContext.tsx +0 -60
- package/src/template/hooks/useClientOnly.ts +0 -21
- package/src/template/server/middleware/page.ts +0 -19
- package/src/template/server/middleware/unsupported-assets.ts +0 -25
- /package/build/lib/{graphql-document → file-router/sidebar}/types.js +0 -0
@@ -1,91 +1,95 @@
|
|
1
1
|
import { Hono } from '#dep/hono/index'
|
2
2
|
import type { ReactRouter } from '#dep/react-router/index'
|
3
|
-
import {
|
4
|
-
import { debugPolen } from '#singletons/debug'
|
3
|
+
import { app } from '#template/server/app'
|
5
4
|
import * as NodeFs from 'node:fs/promises'
|
6
5
|
import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
|
7
|
-
import
|
8
|
-
import { createPageHtmlResponse } from '../create-page-html-response.tsx'
|
9
|
-
import { injectManifestIntoHtml } from '../manifest.ts'
|
6
|
+
import { renderPage } from '../render-page.jsx'
|
10
7
|
import { getRoutesPaths } from './get-route-paths.ts'
|
11
8
|
|
12
9
|
export const generate = async (view: ReactRouter.StaticHandler) => {
|
13
|
-
const
|
10
|
+
const handler: Hono.Handler = async (ctx) => {
|
11
|
+
// For SSG, we need to create a request with the base path prepended
|
12
|
+
// so React Router can match it correctly
|
13
|
+
const url = new URL(ctx.req.raw.url)
|
14
|
+
const basePath = PROJECT_DATA.basePath === '/' ? '' : PROJECT_DATA.basePath.slice(0, -1)
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
// Create a new request with the base path prepended to the pathname
|
17
|
+
const modifiedRequest = new Request(
|
18
|
+
`${url.protocol}//${url.host}${basePath}${url.pathname}${url.search}`,
|
19
|
+
{
|
20
|
+
method: ctx.req.raw.method,
|
21
|
+
headers: ctx.req.raw.headers,
|
22
|
+
body: ctx.req.raw.body,
|
23
|
+
},
|
24
|
+
)
|
18
25
|
|
19
|
-
|
20
|
-
|
21
|
-
|
26
|
+
const staticHandlerContext = await view.query(modifiedRequest)
|
27
|
+
if (staticHandlerContext instanceof Response) {
|
28
|
+
return staticHandlerContext
|
29
|
+
}
|
30
|
+
return renderPage(staticHandlerContext)
|
31
|
+
}
|
22
32
|
|
23
|
-
const
|
24
|
-
batches,
|
25
|
-
async (batchPaths, batchIndex) => {
|
26
|
-
const batchApp = new Hono.Hono()
|
33
|
+
const routePaths = getRoutesPaths()
|
27
34
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
const url = new URL(ctx.req.raw.url)
|
32
|
-
const basePath = PROJECT_DATA.basePath === '/' ? '' : PROJECT_DATA.basePath.slice(0, -1)
|
35
|
+
for (const routePath of routePaths) {
|
36
|
+
app.get(routePath, handler)
|
37
|
+
}
|
33
38
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
method: ctx.req.raw.method,
|
39
|
-
headers: ctx.req.raw.headers,
|
40
|
-
body: ctx.req.raw.body,
|
41
|
-
},
|
42
|
-
)
|
39
|
+
// For large schemas, we need to process in smaller batches to avoid memory issues
|
40
|
+
const BATCH_SIZE = 50
|
41
|
+
const totalPaths = routePaths.length
|
42
|
+
console.log(`[info] Generating ${totalPaths} static pages...`)
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
}
|
44
|
+
for (let i = 0; i < totalPaths; i += BATCH_SIZE) {
|
45
|
+
const batchPaths = routePaths.slice(i, i + BATCH_SIZE)
|
46
|
+
const batchApp = new Hono.Hono()
|
48
47
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
}
|
48
|
+
// Create a custom handler for batch processing that includes base path handling
|
49
|
+
const batchHandler: Hono.Handler = async (ctx) => {
|
50
|
+
// For SSG, we need to create a request with the base path prepended
|
51
|
+
const url = new URL(ctx.req.raw.url)
|
52
|
+
const basePath = PROJECT_DATA.basePath === '/' ? '' : PROJECT_DATA.basePath.slice(0, -1)
|
55
53
|
|
56
|
-
//
|
57
|
-
|
58
|
-
|
59
|
-
|
54
|
+
// Create a new request with the base path prepended to the pathname
|
55
|
+
const modifiedRequest = new Request(
|
56
|
+
`${url.protocol}//${url.host}${basePath}${url.pathname}${url.search}`,
|
57
|
+
{
|
58
|
+
method: ctx.req.raw.method,
|
59
|
+
headers: ctx.req.raw.headers,
|
60
|
+
body: ctx.req.raw.body,
|
61
|
+
},
|
62
|
+
)
|
60
63
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
const staticHandlerContext = await view.query(modifiedRequest)
|
65
|
+
if (staticHandlerContext instanceof Response) {
|
66
|
+
return staticHandlerContext
|
67
|
+
}
|
68
|
+
return renderPage(staticHandlerContext)
|
69
|
+
}
|
66
70
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
+
// Register only the routes for this batch
|
72
|
+
for (const routePath of batchPaths) {
|
73
|
+
batchApp.get(routePath, batchHandler)
|
74
|
+
}
|
71
75
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
76
|
+
console.log(
|
77
|
+
`[info] Processing batch ${Math.floor(i / BATCH_SIZE) + 1}/${
|
78
|
+
Math.ceil(totalPaths / BATCH_SIZE)
|
79
|
+
} (${batchPaths.length} pages)...`,
|
80
|
+
)
|
77
81
|
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
failFast: true, // Stop on first batch failure
|
83
|
-
},
|
84
|
-
)
|
82
|
+
const result = await Hono.SSG.toSSG(batchApp, NodeFs, {
|
83
|
+
concurrency: 5, // Reduced concurrency for memory efficiency
|
84
|
+
dir: PROJECT_DATA.paths.relative.build.root,
|
85
|
+
})
|
85
86
|
|
86
|
-
|
87
|
-
|
87
|
+
if (!result.success) {
|
88
|
+
throw new Error(`Failed to generate static site at batch ${Math.floor(i / BATCH_SIZE) + 1}`, {
|
89
|
+
cause: result.error,
|
90
|
+
})
|
91
|
+
}
|
88
92
|
}
|
89
93
|
|
90
|
-
|
94
|
+
console.log(`[info] Successfully generated ${totalPaths} static pages.`)
|
91
95
|
}
|
@@ -3,7 +3,7 @@ import { visit } from 'graphql'
|
|
3
3
|
// Or your specific import path for this type
|
4
4
|
import { ReactRouterAid } from '#lib/react-router-aid/index'
|
5
5
|
import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
|
6
|
-
import { routes } from '../../routes.
|
6
|
+
import { routes } from '../../routes.jsx'
|
7
7
|
|
8
8
|
// todo: Frameworks tend to colocate ssg data loaders with routes to solve the following
|
9
9
|
// problem which is we have to map data loaders to paramterized routes.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { createStaticHandler } from 'react-router'
|
2
2
|
import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper'
|
3
|
-
import { routes } from '../routes.
|
3
|
+
import { routes } from '../routes.jsx'
|
4
4
|
|
5
5
|
export const view = createStaticHandler(routes, {
|
6
6
|
basename: PROJECT_DATA.basePath === `/` ? undefined : PROJECT_DATA.basePath.slice(0, -1), // Remove trailing slash for React Router
|
@@ -33,36 +33,6 @@
|
|
33
33
|
color-scheme: dark;
|
34
34
|
}
|
35
35
|
|
36
|
-
/* Shiki token colors for light theme (github-light) */
|
37
|
-
:root {
|
38
|
-
--shiki-color-text: #24292e;
|
39
|
-
--shiki-color-background: #f6f8fa;
|
40
|
-
--shiki-token-constant: #005cc5;
|
41
|
-
--shiki-token-string: #032f62;
|
42
|
-
--shiki-token-comment: #6a737d;
|
43
|
-
--shiki-token-keyword: #d73a49;
|
44
|
-
--shiki-token-parameter: #e36209;
|
45
|
-
--shiki-token-function: #6f42c1;
|
46
|
-
--shiki-token-string-expression: #032f62;
|
47
|
-
--shiki-token-punctuation: #24292e;
|
48
|
-
--shiki-token-link: #032f62;
|
49
|
-
}
|
50
|
-
|
51
|
-
/* Shiki token colors for dark theme (tokyo-night) */
|
52
|
-
.dark {
|
53
|
-
--shiki-color-text: #c0caf5;
|
54
|
-
--shiki-color-background: #1a1b26;
|
55
|
-
--shiki-token-constant: #ff9e64;
|
56
|
-
--shiki-token-string: #9ece6a;
|
57
|
-
--shiki-token-comment: #565f89;
|
58
|
-
--shiki-token-keyword: #bb9af7;
|
59
|
-
--shiki-token-parameter: #e0af68;
|
60
|
-
--shiki-token-function: #7aa2f7;
|
61
|
-
--shiki-token-string-expression: #9ece6a;
|
62
|
-
--shiki-token-punctuation: #c0caf5;
|
63
|
-
--shiki-token-link: #9ece6a;
|
64
|
-
}
|
65
|
-
|
66
36
|
/* Shiki code blocks */
|
67
37
|
pre.shiki {
|
68
38
|
margin: 1rem 0;
|
@@ -71,8 +41,6 @@ pre.shiki {
|
|
71
41
|
overflow-x: auto;
|
72
42
|
font-size: 14px;
|
73
43
|
line-height: 1.6;
|
74
|
-
background-color: var(--shiki-color-background);
|
75
|
-
color: var(--shiki-color-text);
|
76
44
|
}
|
77
45
|
|
78
46
|
pre.shiki code {
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"$$.d.ts","sourceRoot":"","sources":["../../../src/api/content/$$.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/build/api/content/$$.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"$$.js","sourceRoot":"","sources":["../../../src/api/content/$$.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA"}
|
package/build/api/content/$.d.ts
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"$.d.ts","sourceRoot":"","sources":["../../../src/api/content/$.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA"}
|
package/build/api/content/$.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"$.js","sourceRoot":"","sources":["../../../src/api/content/$.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA"}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import { z } from 'zod/v4';
|
2
|
-
/**
|
3
|
-
* Schema for validating front matter content
|
4
|
-
*/
|
5
|
-
export declare const MetadataSchema: z.ZodObject<{
|
6
|
-
description: z.ZodOptional<z.ZodString>;
|
7
|
-
hidden: z.ZodDefault<z.ZodBoolean>;
|
8
|
-
}, z.core.$strip>;
|
9
|
-
export type Metadata = z.infer<typeof MetadataSchema>;
|
10
|
-
//# sourceMappingURL=metadata.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/api/content/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B;;GAEG;AACH,eAAO,MAAM,cAAc;;;iBAGzB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/api/content/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACnC,CAAC,CAAA"}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
import type { Page } from './page.ts';
|
2
|
-
export interface NavbarItem {
|
3
|
-
pathExp: string;
|
4
|
-
title: string;
|
5
|
-
}
|
6
|
-
/**
|
7
|
-
* Generate navbar items from a list of pages
|
8
|
-
*/
|
9
|
-
export declare const createNavbar: (pages: Page[]) => NavbarItem[];
|
10
|
-
//# sourceMappingURL=navbar.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../src/api/content/navbar.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,EAAE,KAAG,UAAU,EAiDtD,CAAA"}
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { Str } from '@wollybeard/kit';
|
2
|
-
/**
|
3
|
-
* Generate navbar items from a list of pages
|
4
|
-
*/
|
5
|
-
export const createNavbar = (pages) => {
|
6
|
-
const navbarItems = [];
|
7
|
-
// Group pages by their top-level directory/segment
|
8
|
-
const topLevelGroups = new Map();
|
9
|
-
pages.forEach(page => {
|
10
|
-
// Skip hidden pages
|
11
|
-
if (page.metadata.hidden)
|
12
|
-
return;
|
13
|
-
const firstSegment = page.route.logical.path[0];
|
14
|
-
if (firstSegment) {
|
15
|
-
if (!topLevelGroups.has(firstSegment)) {
|
16
|
-
topLevelGroups.set(firstSegment, []);
|
17
|
-
}
|
18
|
-
topLevelGroups.get(firstSegment).push(page);
|
19
|
-
}
|
20
|
-
});
|
21
|
-
// Add each top-level group to navbar
|
22
|
-
topLevelGroups.forEach((pages, segment) => {
|
23
|
-
// For directories, check if there's an index page
|
24
|
-
const indexPage = pages.find(p => p.route.logical.path.length === 1
|
25
|
-
&& p.route.file.path.relative.name === 'index');
|
26
|
-
// For single non-index files at top level
|
27
|
-
const singlePage = pages.length === 1 && pages[0].route.logical.path.length === 1
|
28
|
-
&& pages[0].route.file.path.relative.name !== 'index';
|
29
|
-
// Include in navbar if:
|
30
|
-
// 1. It's a directory with an index page, OR
|
31
|
-
// 2. It's a single top-level page (not index)
|
32
|
-
if (indexPage || singlePage) {
|
33
|
-
const title = Str.titlizeSlug(segment);
|
34
|
-
const pathExp = `/${segment}`;
|
35
|
-
navbarItems.push({
|
36
|
-
pathExp,
|
37
|
-
title,
|
38
|
-
});
|
39
|
-
}
|
40
|
-
});
|
41
|
-
// Sort navbar items alphabetically for consistency
|
42
|
-
navbarItems.sort((a, b) => a.title.localeCompare(b.title));
|
43
|
-
return navbarItems;
|
44
|
-
};
|
45
|
-
//# sourceMappingURL=navbar.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"navbar.js","sourceRoot":"","sources":["../../../src/api/content/navbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAQrC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAgB,EAAE;IAC1D,MAAM,WAAW,GAAiB,EAAE,CAAA;IAEpC,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEhD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,oBAAoB;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAM;QAEhC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtC,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;YACtC,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,qCAAqC;IACrC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxC,kDAAkD;QAClD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;eAC9B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAC/C,CAAA;QAED,0CAA0C;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;eAC7E,KAAK,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAA;QAExD,wBAAwB;QACxB,6CAA6C;QAC7C,8CAA8C;QAC9C,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YACtC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;YAE7B,WAAW,CAAC,IAAI,CAAC;gBACf,OAAO;gBACP,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,mDAAmD;IACnD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAE1D,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import type { FileRouter } from '#lib/file-router/index';
|
2
|
-
import type { Metadata } from './metadata.ts';
|
3
|
-
export type { Metadata };
|
4
|
-
/**
|
5
|
-
* A route with its associated metadata
|
6
|
-
*/
|
7
|
-
export interface Page {
|
8
|
-
route: FileRouter.Route;
|
9
|
-
metadata: Metadata;
|
10
|
-
}
|
11
|
-
//# sourceMappingURL=page.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/api/content/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C,YAAY,EAAE,QAAQ,EAAE,CAAA;AAExB;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAA;CACnB"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/api/content/page.ts"],"names":[],"mappings":""}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { FileRouter } from '#lib/file-router/index';
|
2
|
-
import { Tree } from '@wollybeard/kit';
|
3
|
-
import type { Page } from './page.ts';
|
4
|
-
export interface ScanResult {
|
5
|
-
list: Page[];
|
6
|
-
tree: Tree.Tree<Page>;
|
7
|
-
diagnostics: FileRouter.Diagnostic[];
|
8
|
-
}
|
9
|
-
/**
|
10
|
-
* Scan a directory for pages and extract metadata from their front matter
|
11
|
-
* By default, hidden pages are filtered out from both the pages list and route tree.
|
12
|
-
*/
|
13
|
-
export declare const scan: (options: {
|
14
|
-
dir: string;
|
15
|
-
glob?: string;
|
16
|
-
/** Include hidden pages in the result (useful for debugging or admin interfaces) */
|
17
|
-
includeHidden?: boolean;
|
18
|
-
}) => Promise<ScanResult>;
|
19
|
-
//# sourceMappingURL=scan.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/api/content/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAY,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAGhD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAErC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrB,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,CAAA;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAU,SAAS;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,KAAG,OAAO,CAAC,UAAU,CAmErB,CAAA"}
|
@@ -1,90 +0,0 @@
|
|
1
|
-
import { FileRouter } from '#lib/file-router/index';
|
2
|
-
import { Fs, Path, Tree } from '@wollybeard/kit';
|
3
|
-
import matter from 'gray-matter';
|
4
|
-
import { MetadataSchema } from "./metadata.js";
|
5
|
-
/**
|
6
|
-
* Scan a directory for pages and extract metadata from their front matter
|
7
|
-
* By default, hidden pages are filtered out from both the pages list and route tree.
|
8
|
-
*/
|
9
|
-
export const scan = async (options) => {
|
10
|
-
// Scan for routes
|
11
|
-
const routeScanResult = await FileRouter.scan({
|
12
|
-
dir: options.dir,
|
13
|
-
glob: options.glob ?? '**/*.{md,mdx}',
|
14
|
-
});
|
15
|
-
// Create pages with metadata (id/parentId now come from route)
|
16
|
-
const allPages = await Promise.all(routeScanResult.routes.map(route => readRoute(route)));
|
17
|
-
// Apply filtering if needed
|
18
|
-
const pages = options.includeHidden
|
19
|
-
? allPages
|
20
|
-
: allPages.filter(page => !page.metadata.hidden);
|
21
|
-
// Build tree from pages using Tree.fromList
|
22
|
-
// Transform pages to include id/parentId at the top level for Tree.fromList
|
23
|
-
const pagesWithIds = pages.map(page => ({
|
24
|
-
...page,
|
25
|
-
id: page.route.id,
|
26
|
-
parentId: page.route.parentId,
|
27
|
-
}));
|
28
|
-
// Handle cases where there might be multiple root nodes
|
29
|
-
// If all pages are at root level (no parentId), create a virtual root
|
30
|
-
const hasMultipleRoots = pagesWithIds.filter(p => !p.parentId).length > 1;
|
31
|
-
let tree;
|
32
|
-
if (hasMultipleRoots) {
|
33
|
-
// Create a virtual root node to hold all root-level pages
|
34
|
-
const virtualRoot = {
|
35
|
-
route: {
|
36
|
-
id: '__virtual_root__',
|
37
|
-
parentId: null,
|
38
|
-
file: {
|
39
|
-
path: {
|
40
|
-
absolute: Path.parse(''),
|
41
|
-
relative: Path.parse(''),
|
42
|
-
},
|
43
|
-
},
|
44
|
-
logical: {
|
45
|
-
path: [],
|
46
|
-
},
|
47
|
-
},
|
48
|
-
metadata: { hidden: true },
|
49
|
-
id: '__virtual_root__',
|
50
|
-
parentId: null,
|
51
|
-
};
|
52
|
-
// Update pages to have virtual root as parent if they don't have one
|
53
|
-
const pagesWithVirtualRoot = pagesWithIds.map(page => ({
|
54
|
-
...page,
|
55
|
-
parentId: page.parentId || '__virtual_root__',
|
56
|
-
}));
|
57
|
-
tree = Tree.fromList([virtualRoot, ...pagesWithVirtualRoot]);
|
58
|
-
}
|
59
|
-
else {
|
60
|
-
tree = Tree.fromList(pagesWithIds);
|
61
|
-
}
|
62
|
-
return {
|
63
|
-
list: pages,
|
64
|
-
tree,
|
65
|
-
diagnostics: routeScanResult.diagnostics,
|
66
|
-
};
|
67
|
-
};
|
68
|
-
/**
|
69
|
-
* Read a single route file and extract metadata from its front matter
|
70
|
-
*/
|
71
|
-
const readRoute = async (route) => {
|
72
|
-
const filePath = Path.format(route.file.path.absolute);
|
73
|
-
const fileContent = await Fs.read(filePath);
|
74
|
-
// Empty files still get default metadata (not hidden by default)
|
75
|
-
// This allows placeholder pages to exist in the navigation
|
76
|
-
if (!fileContent) {
|
77
|
-
return { route, metadata: { hidden: false } };
|
78
|
-
}
|
79
|
-
// Parse front matter
|
80
|
-
const { data } = matter(fileContent);
|
81
|
-
// Validate and parse the data
|
82
|
-
const parsed = MetadataSchema.safeParse(data);
|
83
|
-
if (!parsed.success) {
|
84
|
-
// Log warning but continue with defaults
|
85
|
-
console.warn(`Invalid front matter in ${filePath}:`, parsed.error.issues);
|
86
|
-
}
|
87
|
-
const metadata = parsed.success ? parsed.data : { hidden: false };
|
88
|
-
return { route, metadata };
|
89
|
-
};
|
90
|
-
//# sourceMappingURL=scan.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../../src/api/content/scan.ts"],"names":[],"mappings":"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"}
|
@@ -1,104 +0,0 @@
|
|
1
|
-
import type { ScanResult } from './scan.ts';
|
2
|
-
/**
|
3
|
-
* Represents a complete sidebar structure with navigation items.
|
4
|
-
* This is the main data structure used to render sidebars in the UI.
|
5
|
-
*/
|
6
|
-
export interface Sidebar {
|
7
|
-
/** Array of navigation items that can be either direct links or sections containing multiple links */
|
8
|
-
items: Item[];
|
9
|
-
}
|
10
|
-
/**
|
11
|
-
* A sidebar navigation item that can be either a direct link or a section containing multiple links.
|
12
|
-
* @see {@link ItemLink} for direct navigation links
|
13
|
-
* @see {@link ItemSection} for grouped navigation sections
|
14
|
-
*/
|
15
|
-
export type Item = ItemLink | ItemSection;
|
16
|
-
/**
|
17
|
-
* A direct navigation link in the sidebar.
|
18
|
-
* Used for pages that don't have child pages.
|
19
|
-
*
|
20
|
-
* @example
|
21
|
-
* ```ts
|
22
|
-
* const link: ItemLink = {
|
23
|
-
* type: 'ItemLink',
|
24
|
-
* title: 'Getting Started',
|
25
|
-
* pathExp: 'guide/getting-started'
|
26
|
-
* }
|
27
|
-
* ```
|
28
|
-
*/
|
29
|
-
export interface ItemLink {
|
30
|
-
/** Discriminator for TypeScript union types */
|
31
|
-
type: `ItemLink`;
|
32
|
-
/** Display title for the link (e.g., "Getting Started") */
|
33
|
-
title: string;
|
34
|
-
/** Path expression relative to the base path, without leading slash (e.g., "guide/getting-started") */
|
35
|
-
pathExp: string;
|
36
|
-
}
|
37
|
-
/**
|
38
|
-
* A collapsible section in the sidebar that groups related links.
|
39
|
-
* Used for directories that contain multiple pages.
|
40
|
-
*
|
41
|
-
* @example
|
42
|
-
* ```ts
|
43
|
-
* const section: ItemSection = {
|
44
|
-
* type: 'ItemSection',
|
45
|
-
* title: 'Guide',
|
46
|
-
* pathExp: 'guide',
|
47
|
-
* isLinkToo: true, // Has an index page
|
48
|
-
* links: [
|
49
|
-
* { type: 'ItemLink', title: 'Installation', pathExp: 'guide/installation' },
|
50
|
-
* { type: 'ItemLink', title: 'Configuration', pathExp: 'guide/configuration' }
|
51
|
-
* ]
|
52
|
-
* }
|
53
|
-
* ```
|
54
|
-
*/
|
55
|
-
export interface ItemSection {
|
56
|
-
/** Discriminator for TypeScript union types */
|
57
|
-
type: `ItemSection`;
|
58
|
-
/** Display title for the section (e.g., "Guide", "API Reference") */
|
59
|
-
title: string;
|
60
|
-
/** Path expression for the section's index page, if it exists (e.g., "guide") */
|
61
|
-
pathExp: string;
|
62
|
-
/** Whether this section also acts as a link (true if the directory has an index page) */
|
63
|
-
isLinkToo: boolean;
|
64
|
-
/** Child navigation links within this section */
|
65
|
-
links: ItemLink[];
|
66
|
-
}
|
67
|
-
/**
|
68
|
-
* A mapping of route paths to their corresponding sidebar structures.
|
69
|
-
* Used to store different sidebars for different sections of a site.
|
70
|
-
*
|
71
|
-
* @example
|
72
|
-
* ```ts
|
73
|
-
* const sidebarIndex: SidebarIndex = {
|
74
|
-
* '/guide': { items: [...] }, // Sidebar for /guide section
|
75
|
-
* '/api': { items: [...] }, // Sidebar for /api section
|
76
|
-
* '/reference': { items: [...] } // Sidebar for /reference section
|
77
|
-
* }
|
78
|
-
* ```
|
79
|
-
*/
|
80
|
-
export type SidebarIndex = Record<string, Sidebar>;
|
81
|
-
/**
|
82
|
-
* Builds sidebars for all top-level directories that contain both an index page and nested content.
|
83
|
-
*
|
84
|
-
* This function analyzes a scan result to identify which directories should have sidebars.
|
85
|
-
* A directory gets a sidebar if it meets these criteria:
|
86
|
-
* 1. It's a top-level directory (e.g., /guide, /api, /docs)
|
87
|
-
* 2. It has an index page (e.g., /guide/index.md)
|
88
|
-
* 3. It has nested pages (e.g., /guide/getting-started.md, /guide/configuration.md)
|
89
|
-
*
|
90
|
-
* @param scanResult - The result of scanning pages, containing both a flat list and tree structure
|
91
|
-
* @returns A mapping of route paths to sidebar structures
|
92
|
-
*
|
93
|
-
* @example
|
94
|
-
* ```ts
|
95
|
-
* const scanResult = await Content.scan({ dir: './pages' })
|
96
|
-
* const sidebars = buildSidebarIndex(scanResult)
|
97
|
-
* // Returns: {
|
98
|
-
* // '/guide': { items: [...] },
|
99
|
-
* // '/api': { items: [...] }
|
100
|
-
* // }
|
101
|
-
* ```
|
102
|
-
*/
|
103
|
-
export declare const buildSidebarIndex: (scanResult: ScanResult) => SidebarIndex;
|
104
|
-
//# sourceMappingURL=sidebar.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/api/content/sidebar.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAE3C;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,sGAAsG;IACtG,KAAK,EAAE,IAAI,EAAE,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEzC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAQ;IACvB,+CAA+C;IAC/C,IAAI,EAAE,UAAU,CAAA;IAChB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb,uGAAuG;IACvG,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,IAAI,EAAE,aAAa,CAAA;IACnB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAA;IACb,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,SAAS,EAAE,OAAO,CAAA;IAClB,iDAAiD;IACjD,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,GAAI,YAAY,UAAU,KAAG,YAqC1D,CAAA"}
|