polen 0.10.0-next.10 → 0.10.0-next.12
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/build/api/builder/builder.js +1 -1
- package/build/api/builder/builder.js.map +1 -1
- package/build/api/config/load.js +1 -1
- package/build/api/config/load.js.map +1 -1
- package/build/api/vite/plugins/build.js +1 -1
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +0 -2
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/pages.js +1 -1
- package/build/api/vite/plugins/pages.js.map +1 -1
- package/build/exports/components.d.ts +4 -1
- package/build/exports/components.d.ts.map +1 -1
- package/build/exports/components.js +4 -1
- package/build/exports/components.js.map +1 -1
- package/build/lib/demos/config-schema.d.ts +6 -6
- package/build/lib/github-actions/runner.js +2 -2
- package/build/lib/github-actions/runner.js.map +1 -1
- package/build/lib/graphql-document/$$.d.ts +5 -0
- package/build/lib/graphql-document/$$.d.ts.map +1 -0
- package/build/lib/graphql-document/$$.js +5 -0
- package/build/lib/graphql-document/$$.js.map +1 -0
- package/build/lib/graphql-document/$.d.ts +2 -0
- package/build/lib/graphql-document/$.d.ts.map +1 -0
- package/build/lib/graphql-document/$.js +2 -0
- package/build/lib/graphql-document/$.js.map +1 -0
- package/build/lib/graphql-document/analysis.d.ts +44 -0
- package/build/lib/graphql-document/analysis.d.ts.map +1 -0
- package/build/lib/graphql-document/analysis.js +361 -0
- package/build/lib/graphql-document/analysis.js.map +1 -0
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts +42 -0
- package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -0
- package/build/lib/graphql-document/components/GraphQLDocument.js +173 -0
- package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -0
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +7 -0
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -0
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +45 -0
- package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -0
- package/build/lib/graphql-document/components/HoverTooltip.d.ts +35 -0
- package/build/lib/graphql-document/components/HoverTooltip.d.ts.map +1 -0
- package/build/lib/graphql-document/components/HoverTooltip.js +132 -0
- package/build/lib/graphql-document/components/HoverTooltip.js.map +1 -0
- package/build/lib/graphql-document/components/IdentifierLink.d.ts +37 -0
- package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +1 -0
- package/build/lib/graphql-document/components/IdentifierLink.js +141 -0
- package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -0
- package/build/lib/graphql-document/components/index.d.ts +5 -0
- package/build/lib/graphql-document/components/index.d.ts.map +1 -0
- package/build/lib/graphql-document/components/index.js +5 -0
- package/build/lib/graphql-document/components/index.js.map +1 -0
- package/build/lib/graphql-document/example.d.ts +25 -0
- package/build/lib/graphql-document/example.d.ts.map +1 -0
- package/build/lib/graphql-document/example.js +140 -0
- package/build/lib/graphql-document/example.js.map +1 -0
- package/build/lib/graphql-document/graphql-document.d.ts +35 -0
- package/build/lib/graphql-document/graphql-document.d.ts.map +1 -0
- package/build/lib/graphql-document/graphql-document.js +36 -0
- package/build/lib/graphql-document/graphql-document.js.map +1 -0
- package/build/lib/graphql-document/positioning-simple.d.ts +68 -0
- package/build/lib/graphql-document/positioning-simple.d.ts.map +1 -0
- package/build/lib/graphql-document/positioning-simple.js +197 -0
- package/build/lib/graphql-document/positioning-simple.js.map +1 -0
- package/build/lib/graphql-document/schema-context.d.ts +8 -0
- package/build/lib/graphql-document/schema-context.d.ts.map +1 -0
- package/build/lib/graphql-document/schema-context.js +11 -0
- package/build/lib/graphql-document/schema-context.js.map +1 -0
- package/build/lib/graphql-document/schema-integration-example.d.ts +27 -0
- package/build/lib/graphql-document/schema-integration-example.d.ts.map +1 -0
- package/build/lib/graphql-document/schema-integration-example.js +297 -0
- package/build/lib/graphql-document/schema-integration-example.js.map +1 -0
- package/build/lib/graphql-document/schema-integration.d.ts +135 -0
- package/build/lib/graphql-document/schema-integration.d.ts.map +1 -0
- package/build/lib/graphql-document/schema-integration.js +328 -0
- package/build/lib/graphql-document/schema-integration.js.map +1 -0
- package/build/lib/graphql-document/types.d.ts +117 -0
- package/build/lib/graphql-document/types.d.ts.map +1 -0
- package/build/lib/graphql-document/types.js +2 -0
- package/build/lib/graphql-document/types.js.map +1 -0
- package/build/template/components/ArgumentAnnotation.js +10 -0
- package/build/template/components/ArgumentAnnotation.js.map +1 -0
- package/build/template/components/ArgumentList.js +9 -0
- package/build/template/components/ArgumentList.js.map +1 -0
- package/build/template/components/ArgumentListAnnotation.js +15 -0
- package/build/template/components/ArgumentListAnnotation.js.map +1 -0
- package/build/template/components/Changelog.js +44 -0
- package/build/template/components/Changelog.js.map +1 -0
- package/build/template/components/{CodeBlock.jsx → CodeBlock.js} +4 -5
- package/build/template/components/{CodeBlock.jsx.map → CodeBlock.js.map} +1 -1
- package/build/template/components/CodeBlockEnhancer.d.ts +2 -0
- package/build/template/components/CodeBlockEnhancer.d.ts.map +1 -0
- package/build/template/components/CodeBlockEnhancer.js +175 -0
- package/build/template/components/CodeBlockEnhancer.js.map +1 -0
- package/build/template/components/DeprecationReason.js +9 -0
- package/build/template/components/DeprecationReason.js.map +1 -0
- package/build/template/components/Description.js +9 -0
- package/build/template/components/Description.js.map +1 -0
- package/build/template/components/Field.js +14 -0
- package/build/template/components/Field.js.map +1 -0
- package/build/template/components/{FieldList.jsx → FieldList.js} +4 -5
- package/build/template/components/FieldList.js.map +1 -0
- package/build/template/components/{FieldListSection.jsx → FieldListSection.js} +4 -6
- package/build/template/components/FieldListSection.js.map +1 -0
- package/build/template/components/HamburgerMenu.js +30 -0
- package/build/template/components/HamburgerMenu.js.map +1 -0
- package/build/template/components/Link.d.ts +1 -1
- package/build/template/components/{Link.jsx → Link.js} +4 -5
- package/build/template/components/Link.js.map +1 -0
- package/build/template/components/Logo.js +20 -0
- package/build/template/components/Logo.js.map +1 -0
- package/build/template/components/MDXComponents.d.ts +11 -0
- package/build/template/components/MDXComponents.d.ts.map +1 -0
- package/build/template/components/MDXComponents.js +70 -0
- package/build/template/components/MDXComponents.js.map +1 -0
- package/build/template/components/{Markdown.jsx → Markdown.js} +3 -2
- package/build/template/components/Markdown.js.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.js +5 -0
- package/build/template/components/MissingSchema.js.map +1 -0
- package/build/template/components/NamedType.js +12 -0
- package/build/template/components/NamedType.js.map +1 -0
- package/build/template/components/NotFound.js +7 -0
- package/build/template/components/NotFound.js.map +1 -0
- package/build/template/components/{RadixLink.jsx → RadixLink.js} +1 -1
- package/build/template/components/RadixLink.js.map +1 -0
- package/build/template/components/TestComponent.d.ts +5 -0
- package/build/template/components/TestComponent.d.ts.map +1 -0
- package/build/template/components/TestComponent.js +7 -0
- package/build/template/components/TestComponent.js.map +1 -0
- package/build/template/components/Texts/{MinorHeading.jsx → MinorHeading.js} +4 -3
- package/build/template/components/Texts/MinorHeading.js.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/ThemeToggle.js +9 -0
- package/build/template/components/ThemeToggle.js.map +1 -0
- package/build/template/components/{TypeAnnotation.jsx → TypeAnnotation.js} +8 -18
- package/build/template/components/TypeAnnotation.js.map +1 -0
- package/build/template/components/TypeFieldsLinkList.js +9 -0
- package/build/template/components/TypeFieldsLinkList.js.map +1 -0
- package/build/template/components/TypeIndex.js +17 -0
- package/build/template/components/TypeIndex.js.map +1 -0
- package/build/template/components/content/$$.d.ts +1 -0
- package/build/template/components/content/$$.d.ts.map +1 -1
- package/build/template/components/content/$$.js +1 -0
- package/build/template/components/content/$$.js.map +1 -1
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +8 -0
- package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -0
- package/build/template/components/content/GraphQLDocumentWithSchema.js +16 -0
- package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -0
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts +7 -0
- package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -0
- package/build/template/components/content/GraphQLDocumentWrapper.js +62 -0
- package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -0
- package/build/template/components/graphql/graphql.d.ts +2 -2
- package/build/template/components/graphql/graphql.js +3 -0
- package/build/template/components/graphql/graphql.js.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.jsx → type-kind-icon.js} +3 -2
- package/build/template/components/graphql/type-kind-icon.js.map +1 -0
- package/build/template/components/graphql/type-link.js +11 -0
- package/build/template/components/graphql/type-link.js.map +1 -0
- package/build/template/components/sidebar/Sidebar.d.ts +1 -1
- package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
- package/build/template/components/sidebar/Sidebar.js +11 -0
- package/build/template/components/sidebar/Sidebar.js.map +1 -0
- package/build/template/components/sidebar/{SidebarItem.jsx → SidebarItem.js} +15 -32
- package/build/template/components/sidebar/SidebarItem.js.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.js +5 -0
- package/build/template/components/sidebar/ToggleButton.js.map +1 -0
- package/build/template/contexts/{ThemeContext.jsx → ThemeContext.js} +3 -4
- package/build/template/contexts/{ThemeContext.jsx.map → ThemeContext.js.map} +1 -1
- package/build/template/entry.client.d.ts +1 -0
- package/build/template/entry.client.d.ts.map +1 -1
- package/build/template/{entry.client.jsx → entry.client.js} +5 -6
- package/build/template/entry.client.js.map +1 -0
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/{changelog.jsx → changelog.js} +5 -4
- package/build/template/routes/changelog.js.map +1 -0
- package/build/template/routes/{index.jsx → index.js} +3 -2
- package/build/template/routes/index.js.map +1 -0
- package/build/template/routes/reference.$type.$field.d.ts +1 -1
- package/build/template/routes/{reference.$type.$field.jsx → reference.$type.$field.js} +6 -5
- package/build/template/routes/reference.$type.$field.js.map +1 -0
- package/build/template/routes/reference.$type.d.ts +1 -1
- package/build/template/routes/{reference.$type.jsx → reference.$type.js} +6 -5
- package/build/template/routes/reference.$type.js.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.jsx → reference.js} +7 -12
- package/build/template/routes/reference.js.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.js +286 -0
- package/build/template/routes/root.js.map +1 -0
- package/build/template/routes.js +5 -0
- package/build/template/routes.js.map +1 -0
- package/build/template/server/app.js +1 -1
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/{render-page.jsx → render-page.js} +3 -4
- package/build/template/server/render-page.js.map +1 -0
- package/build/template/server/ssg/generate.js +1 -1
- 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 +56 -8
- package/src/api/vite/plugins/core.ts +0 -3
- package/src/api/vite/plugins/pages.ts +1 -1
- package/src/exports/components.ts +4 -1
- package/src/lib/graphql-document/$$.ts +4 -0
- package/src/lib/graphql-document/$.test.ts +132 -0
- package/src/lib/graphql-document/$.ts +1 -0
- package/src/lib/graphql-document/README.md +102 -0
- package/src/lib/graphql-document/analysis.ts +415 -0
- package/src/lib/graphql-document/components/GraphQLDocument.tsx +284 -0
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +188 -0
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +70 -0
- package/src/lib/graphql-document/components/HoverTooltip.tsx +282 -0
- package/src/lib/graphql-document/components/IdentifierLink.tsx +221 -0
- package/src/lib/graphql-document/components/index.ts +4 -0
- package/src/lib/graphql-document/demo.md +155 -0
- package/src/lib/graphql-document/example.ts +163 -0
- package/src/lib/graphql-document/graphql-document.ts +37 -0
- package/src/lib/graphql-document/positioning-simple.test.ts +252 -0
- package/src/lib/graphql-document/positioning-simple.ts +271 -0
- package/src/lib/graphql-document/schema-context.tsx +20 -0
- package/src/lib/graphql-document/schema-integration-example.ts +341 -0
- package/src/lib/graphql-document/schema-integration.test.ts +365 -0
- package/src/lib/graphql-document/schema-integration.ts +497 -0
- package/src/lib/graphql-document/types.ts +129 -0
- 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/CodeBlockEnhancer.tsx +192 -0
- 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 +2 -2
- package/src/template/components/MDXComponents.tsx +101 -0
- package/src/template/components/NamedType.tsx +2 -2
- package/src/template/components/TestComponent.tsx +6 -0
- 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/content/$$.ts +1 -0
- package/src/template/components/content/GraphQLDocumentWithSchema.tsx +18 -0
- package/src/template/components/content/GraphQLDocumentWrapper.tsx +82 -0
- 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/SidebarItem.tsx +4 -4
- package/src/template/entry.client.tsx +2 -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 +6 -10
- package/src/template/routes/root.tsx +145 -5
- package/src/template/routes.tsx +1 -1
- package/src/template/server/app.ts +1 -1
- package/src/template/server/ssg/generate.ts +1 -1
- 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 +32 -0
- package/build/template/components/ArgumentAnnotation.jsx +0 -16
- package/build/template/components/ArgumentAnnotation.jsx.map +0 -1
- package/build/template/components/ArgumentList.jsx +0 -16
- package/build/template/components/ArgumentList.jsx.map +0 -1
- package/build/template/components/ArgumentListAnnotation.jsx +0 -23
- package/build/template/components/ArgumentListAnnotation.jsx.map +0 -1
- package/build/template/components/Changelog.jsx +0 -68
- package/build/template/components/Changelog.jsx.map +0 -1
- package/build/template/components/DeprecationReason.jsx +0 -10
- package/build/template/components/DeprecationReason.jsx.map +0 -1
- package/build/template/components/Description.jsx +0 -10
- package/build/template/components/Description.jsx.map +0 -1
- package/build/template/components/Field.jsx +0 -22
- package/build/template/components/Field.jsx.map +0 -1
- package/build/template/components/FieldList.jsx.map +0 -1
- package/build/template/components/FieldListSection.jsx.map +0 -1
- package/build/template/components/HamburgerMenu.jsx +0 -53
- package/build/template/components/HamburgerMenu.jsx.map +0 -1
- package/build/template/components/Link.jsx.map +0 -1
- package/build/template/components/Logo.jsx +0 -29
- package/build/template/components/Logo.jsx.map +0 -1
- package/build/template/components/Markdown.jsx.map +0 -1
- package/build/template/components/MissingSchema.jsx +0 -4
- package/build/template/components/MissingSchema.jsx.map +0 -1
- package/build/template/components/NamedType.jsx +0 -17
- package/build/template/components/NamedType.jsx.map +0 -1
- package/build/template/components/NotFound.jsx +0 -26
- package/build/template/components/NotFound.jsx.map +0 -1
- package/build/template/components/RadixLink.jsx.map +0 -1
- package/build/template/components/Texts/MinorHeading.jsx.map +0 -1
- package/build/template/components/ThemeToggle.jsx +0 -10
- package/build/template/components/ThemeToggle.jsx.map +0 -1
- package/build/template/components/TypeAnnotation.jsx.map +0 -1
- package/build/template/components/TypeFieldsLinkList.jsx +0 -17
- package/build/template/components/TypeFieldsLinkList.jsx.map +0 -1
- package/build/template/components/TypeIndex.jsx +0 -27
- package/build/template/components/TypeIndex.jsx.map +0 -1
- package/build/template/components/graphql/graphql.jsx +0 -3
- package/build/template/components/graphql/graphql.jsx.map +0 -1
- package/build/template/components/graphql/type-kind-icon.jsx.map +0 -1
- package/build/template/components/graphql/type-link.jsx +0 -16
- package/build/template/components/graphql/type-link.jsx.map +0 -1
- package/build/template/components/sidebar/Sidebar.jsx +0 -15
- package/build/template/components/sidebar/Sidebar.jsx.map +0 -1
- package/build/template/components/sidebar/SidebarItem.jsx.map +0 -1
- package/build/template/components/sidebar/ToggleButton.jsx +0 -6
- package/build/template/components/sidebar/ToggleButton.jsx.map +0 -1
- package/build/template/entry.client.jsx.map +0 -1
- package/build/template/routes/changelog.jsx.map +0 -1
- package/build/template/routes/index.jsx.map +0 -1
- package/build/template/routes/reference.$type.$field.jsx.map +0 -1
- package/build/template/routes/reference.$type.jsx.map +0 -1
- package/build/template/routes/reference.jsx.map +0 -1
- package/build/template/routes/root.jsx +0 -204
- package/build/template/routes/root.jsx.map +0 -1
- package/build/template/routes.jsx +0 -5
- package/build/template/routes.jsx.map +0 -1
- package/build/template/server/render-page.jsx.map +0 -1
@@ -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
|
3
|
+
import { routes } from "../routes.js";
|
4
4
|
export const view = createStaticHandler(routes, {
|
5
5
|
basename: PROJECT_DATA.basePath === `/` ? undefined : PROJECT_DATA.basePath.slice(0, -1), // Remove trailing slash for React Router
|
6
6
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/template/server/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/template/server/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAe,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC;CACpI,CAAC,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "polen",
|
3
|
-
"version": "0.10.0-next.
|
3
|
+
"version": "0.10.0-next.12",
|
4
4
|
"type": "module",
|
5
5
|
"description": "A framework for delightful GraphQL developer portals",
|
6
6
|
"author": {
|
@@ -36,13 +36,58 @@
|
|
36
36
|
"source": "./src/*.ts",
|
37
37
|
"default": "./build/*.js"
|
38
38
|
},
|
39
|
-
"#lib/mask":
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
"#lib/
|
44
|
-
|
45
|
-
|
39
|
+
"#lib/mask": {
|
40
|
+
"source": "./src/lib/mask/$.ts",
|
41
|
+
"default": "./build/lib/mask/$.js"
|
42
|
+
},
|
43
|
+
"#lib/mask/mask": {
|
44
|
+
"source": "./src/lib/mask/$$.ts",
|
45
|
+
"default": "./build/lib/mask/$$.js"
|
46
|
+
},
|
47
|
+
"#lib/task": {
|
48
|
+
"source": "./src/lib/task/$.ts",
|
49
|
+
"default": "./build/lib/task/$.js"
|
50
|
+
},
|
51
|
+
"#lib/task/task": {
|
52
|
+
"source": "./src/lib/task/$$.ts",
|
53
|
+
"default": "./build/lib/task/$$.js"
|
54
|
+
},
|
55
|
+
"#lib/deployment": {
|
56
|
+
"source": "./src/lib/deployment/$.ts",
|
57
|
+
"default": "./build/lib/deployment/$.js"
|
58
|
+
},
|
59
|
+
"#lib/deployment/deployment": {
|
60
|
+
"source": "./src/lib/deployment/$$.ts",
|
61
|
+
"default": "./build/lib/deployment/$$.js"
|
62
|
+
},
|
63
|
+
"#lib/graphql-document": {
|
64
|
+
"source": "./src/lib/graphql-document/$.ts",
|
65
|
+
"default": "./build/lib/graphql-document/$.js"
|
66
|
+
},
|
67
|
+
"#lib/graphql-document/graphql-document": {
|
68
|
+
"source": "./src/lib/graphql-document/$$.ts",
|
69
|
+
"default": "./build/lib/graphql-document/$$.js"
|
70
|
+
},
|
71
|
+
"#lib/graphql-document/components/index": {
|
72
|
+
"source": "./src/lib/graphql-document/components/index.ts",
|
73
|
+
"default": "./build/lib/graphql-document/components/index.js"
|
74
|
+
},
|
75
|
+
"#lib/graphql-document/components/GraphQLDocumentWithSchema": {
|
76
|
+
"source": "./src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx",
|
77
|
+
"default": "./build/lib/graphql-document/components/GraphQLDocumentWithSchema.js"
|
78
|
+
},
|
79
|
+
"#lib/graphql-document/components/GraphQLDocument": {
|
80
|
+
"source": "./src/lib/graphql-document/components/GraphQLDocument.tsx",
|
81
|
+
"default": "./build/lib/graphql-document/components/GraphQLDocument.js"
|
82
|
+
},
|
83
|
+
"#lib/graphql-document/schema-context": {
|
84
|
+
"source": "./src/lib/graphql-document/schema-context.tsx",
|
85
|
+
"default": "./build/lib/graphql-document/schema-context.js"
|
86
|
+
},
|
87
|
+
"#template/components/content/$$": {
|
88
|
+
"source": "./src/template/components/content/$$.ts",
|
89
|
+
"default": "./build/template/components/content/$$.js"
|
90
|
+
}
|
46
91
|
},
|
47
92
|
"exports": {
|
48
93
|
".": {
|
@@ -51,6 +96,7 @@
|
|
51
96
|
},
|
52
97
|
"./components": {
|
53
98
|
"source": "./src/exports/components.ts",
|
99
|
+
"import": "./build/exports/components.js",
|
54
100
|
"default": "./build/exports/components.js"
|
55
101
|
},
|
56
102
|
"./polen": {
|
@@ -156,6 +202,7 @@
|
|
156
202
|
"@tsconfig/node-lts": "^22.0.1",
|
157
203
|
"@tsconfig/node22": "^22.0.2",
|
158
204
|
"@tsconfig/strictest": "^2.0.5",
|
205
|
+
"@types/jsdom": "^21.1.7",
|
159
206
|
"@types/node": "^24.0.3",
|
160
207
|
"@types/react": "^19.1.8",
|
161
208
|
"@types/react-dom": "^19.1.6",
|
@@ -175,6 +222,7 @@
|
|
175
222
|
"fs-jetpack": "^5.1.0",
|
176
223
|
"get-port-please": "^3.1.2",
|
177
224
|
"globals": "^16.2.0",
|
225
|
+
"jsdom": "^26.1.0",
|
178
226
|
"playwright": "1.53.0",
|
179
227
|
"publint": "^0.3.12",
|
180
228
|
"semver": "^7.7.2",
|
@@ -16,8 +16,6 @@ import { createLogger } from '../logger.ts'
|
|
16
16
|
import { polenVirtual } from '../vi.ts'
|
17
17
|
import { Pages } from './pages.ts'
|
18
18
|
|
19
|
-
const debug = debugPolen.sub(`vite-plugin-core`)
|
20
|
-
|
21
19
|
const viTemplateVariables = polenVirtual([`template`, `variables`])
|
22
20
|
const viTemplateSchemaAugmentations = polenVirtual([`template`, `schema-augmentations`])
|
23
21
|
const viProjectData = polenVirtual([`project`, `data.jsonsuper`], { allowPluginProcessing: true })
|
@@ -183,7 +181,6 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
|
|
183
181
|
{
|
184
182
|
identifier: viProjectData,
|
185
183
|
async loader() {
|
186
|
-
debug(`loadingViProjectDataVirtualModule`)
|
187
184
|
const schema = await readSchema()
|
188
185
|
|
189
186
|
// ━ Schema presence causes adding some navbar items
|
@@ -1 +1,4 @@
|
|
1
|
-
export
|
1
|
+
export { Callout, Tabs } from '@radix-ui/themes'
|
2
|
+
export { GraphQLDocumentWithSchema } from '../template/components/content/GraphQLDocumentWrapper.tsx'
|
3
|
+
export { mdxComponents } from '../template/components/MDXComponents.tsx'
|
4
|
+
export { TestComponent } from '../template/components/TestComponent.tsx'
|
@@ -0,0 +1,132 @@
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
2
|
+
import { GraphQLDocument } from './$.ts'
|
3
|
+
|
4
|
+
describe('GraphQLDocument', () => {
|
5
|
+
describe('analyze', () => {
|
6
|
+
it('should parse a simple query and extract identifiers', () => {
|
7
|
+
const source = `
|
8
|
+
query GetUser($id: ID!) {
|
9
|
+
user(id: $id) {
|
10
|
+
name
|
11
|
+
email
|
12
|
+
}
|
13
|
+
}
|
14
|
+
`
|
15
|
+
|
16
|
+
const result = GraphQLDocument.analyze(source)
|
17
|
+
|
18
|
+
expect(result.isValid).toBe(true)
|
19
|
+
expect(result.identifiers.all.length).toBeGreaterThan(0)
|
20
|
+
|
21
|
+
// Should find variable
|
22
|
+
const variables = result.identifiers.byKind.get('Variable') || []
|
23
|
+
expect(variables).toHaveLength(1)
|
24
|
+
expect(variables[0]?.name).toBe('id')
|
25
|
+
|
26
|
+
// Should find fields
|
27
|
+
const fields = result.identifiers.byKind.get('Field') || []
|
28
|
+
expect(fields.length).toBeGreaterThan(0)
|
29
|
+
const fieldNames = fields.map(f => f.name)
|
30
|
+
expect(fieldNames).toContain('user')
|
31
|
+
expect(fieldNames).toContain('name')
|
32
|
+
expect(fieldNames).toContain('email')
|
33
|
+
|
34
|
+
// Should find types
|
35
|
+
const types = result.identifiers.byKind.get('Type') || []
|
36
|
+
expect(types.length).toBeGreaterThan(0)
|
37
|
+
const typeNames = types.map(t => t.name)
|
38
|
+
expect(typeNames).toContain('ID')
|
39
|
+
})
|
40
|
+
|
41
|
+
it('should handle parsing errors gracefully', () => {
|
42
|
+
const invalidSource = `
|
43
|
+
query {
|
44
|
+
user(id: $id {
|
45
|
+
name
|
46
|
+
}
|
47
|
+
}
|
48
|
+
`
|
49
|
+
|
50
|
+
const result = GraphQLDocument.analyze(invalidSource)
|
51
|
+
|
52
|
+
expect(result.isValid).toBe(false)
|
53
|
+
expect(result.identifiers.errors.length).toBeGreaterThan(0)
|
54
|
+
})
|
55
|
+
|
56
|
+
it('should extract context information', () => {
|
57
|
+
const source = `
|
58
|
+
query GetUserPosts($userId: ID!) {
|
59
|
+
user(id: $userId) {
|
60
|
+
posts {
|
61
|
+
title
|
62
|
+
content
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
`
|
67
|
+
|
68
|
+
const result = GraphQLDocument.analyze(source)
|
69
|
+
|
70
|
+
const fields = result.identifiers.byKind.get('Field') || []
|
71
|
+
const userField = fields.find(f => f.name === 'user')
|
72
|
+
|
73
|
+
expect(userField?.context.operationType).toBe('query')
|
74
|
+
expect(userField?.context.operationName).toBe('GetUserPosts')
|
75
|
+
expect(userField?.context.selectionPath).toEqual(['user'])
|
76
|
+
})
|
77
|
+
|
78
|
+
it('should track parent types in nested selections', () => {
|
79
|
+
const source = `
|
80
|
+
query {
|
81
|
+
user {
|
82
|
+
posts {
|
83
|
+
title
|
84
|
+
}
|
85
|
+
}
|
86
|
+
}
|
87
|
+
`
|
88
|
+
|
89
|
+
const result = GraphQLDocument.analyze(source)
|
90
|
+
|
91
|
+
const fields = result.identifiers.byKind.get('Field') || []
|
92
|
+
const titleField = fields.find(f => f.name === 'title')
|
93
|
+
|
94
|
+
expect(titleField?.schemaPath).toEqual(['Post', 'title'])
|
95
|
+
})
|
96
|
+
})
|
97
|
+
|
98
|
+
describe('extractIdentifiers', () => {
|
99
|
+
it('should extract identifiers with positions', () => {
|
100
|
+
const source = `query { user { name } }`
|
101
|
+
|
102
|
+
const identifiers = GraphQLDocument.extractIdentifiers(source)
|
103
|
+
|
104
|
+
expect(identifiers.all.length).toBeGreaterThan(0)
|
105
|
+
|
106
|
+
// Each identifier should have position information
|
107
|
+
for (const identifier of identifiers.all) {
|
108
|
+
expect(identifier.position.start).toBeTypeOf('number')
|
109
|
+
expect(identifier.position.end).toBeTypeOf('number')
|
110
|
+
expect(identifier.position.line).toBeGreaterThan(0)
|
111
|
+
expect(identifier.position.column).toBeGreaterThan(0)
|
112
|
+
}
|
113
|
+
})
|
114
|
+
|
115
|
+
it('should create proper index maps', () => {
|
116
|
+
const source = `query { user { name } }`
|
117
|
+
|
118
|
+
const identifiers = GraphQLDocument.extractIdentifiers(source)
|
119
|
+
|
120
|
+
// Should have position index
|
121
|
+
expect(identifiers.byPosition.size).toBeGreaterThan(0)
|
122
|
+
|
123
|
+
// Should have kind index
|
124
|
+
expect(identifiers.byKind.size).toBeGreaterThan(0)
|
125
|
+
|
126
|
+
// All identifiers should be indexed
|
127
|
+
for (const identifier of identifiers.all) {
|
128
|
+
expect(identifiers.byPosition.get(identifier.position.start)).toBe(identifier)
|
129
|
+
}
|
130
|
+
})
|
131
|
+
})
|
132
|
+
})
|
@@ -0,0 +1 @@
|
|
1
|
+
export * as GraphQLDocument from './graphql-document.ts'
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# GraphQL Document Component
|
2
|
+
|
3
|
+
Transform static GraphQL code blocks into interactive documentation with hyperlinks, tooltips, and schema validation.
|
4
|
+
|
5
|
+
## Overview
|
6
|
+
|
7
|
+
The GraphQL Document component enhances markdown code blocks with:
|
8
|
+
|
9
|
+
- **Hyperlinked identifiers** - Click to navigate to reference documentation
|
10
|
+
- **Hover tooltips** - View type information and descriptions
|
11
|
+
- **Schema validation** - Highlight errors and deprecations
|
12
|
+
- **Build-time checking** - Catch GraphQL errors during build
|
13
|
+
|
14
|
+
## Architecture
|
15
|
+
|
16
|
+
The implementation follows a layered architecture:
|
17
|
+
|
18
|
+
1. **Analysis Layer** - Parses GraphQL and extracts identifiers
|
19
|
+
2. **Schema Integration** - Resolves identifiers against GraphQL schema
|
20
|
+
3. **Positioning Engine** - Maps source positions to DOM coordinates
|
21
|
+
4. **UI Components** - React components for interactivity
|
22
|
+
5. **Orchestration** - Main component tying everything together
|
23
|
+
6. **Polen Integration** - Virtual modules and Vite plugin
|
24
|
+
|
25
|
+
## Usage
|
26
|
+
|
27
|
+
### Basic Setup
|
28
|
+
|
29
|
+
1. Import the component in your MDX files:
|
30
|
+
|
31
|
+
```typescript
|
32
|
+
import { GraphQLDocumentWithSchema } from 'polen/components'
|
33
|
+
```
|
34
|
+
|
35
|
+
2. Use the component with GraphQL documents:
|
36
|
+
|
37
|
+
```mdx
|
38
|
+
<GraphQLDocumentWithSchema>
|
39
|
+
{`query GetUser($id: ID!) {
|
40
|
+
user(id: $id) {
|
41
|
+
name
|
42
|
+
email
|
43
|
+
}
|
44
|
+
}`}
|
45
|
+
</GraphQLDocumentWithSchema>
|
46
|
+
```
|
47
|
+
|
48
|
+
### Component Props
|
49
|
+
|
50
|
+
The `GraphQLDocumentWithSchema` component automatically loads the schema from Polen's virtual modules. You can pass options:
|
51
|
+
|
52
|
+
```mdx
|
53
|
+
<GraphQLDocumentWithSchema
|
54
|
+
options={{
|
55
|
+
debug: true,
|
56
|
+
onNavigate: (url) => console.log('Navigate to:', url)
|
57
|
+
}}
|
58
|
+
>
|
59
|
+
{`query { user { name } }`}
|
60
|
+
</GraphQLDocumentWithSchema>
|
61
|
+
```
|
62
|
+
|
63
|
+
### React Component
|
64
|
+
|
65
|
+
Use the component directly in React:
|
66
|
+
|
67
|
+
```tsx
|
68
|
+
import { GraphQLDocument } from 'polen/lib/graphql-document'
|
69
|
+
|
70
|
+
<GraphQLDocument schema={schema} options={{ debug: true }}>
|
71
|
+
{`query { user { name } }`}
|
72
|
+
</GraphQLDocument>
|
73
|
+
```
|
74
|
+
|
75
|
+
## Implementation Details
|
76
|
+
|
77
|
+
### Key Components
|
78
|
+
|
79
|
+
- `GraphQLDocument` - Main React component
|
80
|
+
- `IdentifierLink` - Interactive overlay for identifiers
|
81
|
+
- `HoverTooltip` - Tooltip showing type information
|
82
|
+
- `GraphQLDocumentWithSchema` - Wrapper that loads schema from Polen
|
83
|
+
- `PolenSchemaResolver` - Schema integration
|
84
|
+
|
85
|
+
### Testing
|
86
|
+
|
87
|
+
Run tests with:
|
88
|
+
|
89
|
+
```bash
|
90
|
+
pnpm test:unit src/lib/graphql-document
|
91
|
+
```
|
92
|
+
|
93
|
+
### Type Safety
|
94
|
+
|
95
|
+
Full TypeScript support with strict typing throughout.
|
96
|
+
|
97
|
+
## Future Enhancements
|
98
|
+
|
99
|
+
- Code folding for large queries
|
100
|
+
- Inline query execution
|
101
|
+
- Schema diff visualization
|
102
|
+
- Export to various formats
|