polen 0.10.0 → 0.11.0-next.1
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/api.d.ts +1 -0
- package/build/api/api.d.ts.map +1 -1
- package/build/api/api.js +1 -0
- package/build/api/api.js.map +1 -1
- package/build/api/config/configurator.d.ts +20 -3
- package/build/api/config/configurator.d.ts.map +1 -1
- package/build/api/config/configurator.js +27 -3
- package/build/api/config/configurator.js.map +1 -1
- package/build/api/schema/data-sources/memory/memory.d.ts +2 -2
- package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
- package/build/api/schema/data-sources/memory/memory.js +1 -3
- package/build/api/schema/data-sources/memory/memory.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts +7 -3
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +15 -11
- package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +16 -7
- package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-directory/schema-directory.js +26 -7
- package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts +7 -2
- package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
- package/build/api/schema/data-sources/schema-file/schema-file.js +13 -5
- package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
- package/build/api/schema/metadata.d.ts +8 -0
- package/build/api/schema/metadata.d.ts.map +1 -0
- package/build/api/schema/metadata.js +19 -0
- package/build/api/schema/metadata.js.map +1 -0
- package/build/api/schema/read.d.ts +3 -3
- package/build/api/schema/read.d.ts.map +1 -1
- package/build/api/schema/read.js.map +1 -1
- package/build/api/schema/schema.d.ts +33 -2
- package/build/api/schema/schema.d.ts.map +1 -1
- package/build/api/schema/schema.js +42 -0
- package/build/api/schema/schema.js.map +1 -1
- package/build/api/schema-source/index.d.ts +2 -0
- package/build/api/schema-source/index.d.ts.map +1 -0
- package/build/api/schema-source/index.js +2 -0
- package/build/api/schema-source/index.js.map +1 -0
- package/build/api/schema-source/schema-source.d.ts +33 -0
- package/build/api/schema-source/schema-source.d.ts.map +1 -0
- package/build/api/schema-source/schema-source.js +137 -0
- package/build/api/schema-source/schema-source.js.map +1 -0
- package/build/api/vite/plugins/core.d.ts +1 -0
- package/build/api/vite/plugins/core.d.ts.map +1 -1
- package/build/api/vite/plugins/core.js +21 -18
- package/build/api/vite/plugins/core.js.map +1 -1
- package/build/api/vite/plugins/schema-assets.d.ts +22 -0
- package/build/api/vite/plugins/schema-assets.d.ts.map +1 -0
- package/build/api/vite/plugins/schema-assets.js +269 -0
- package/build/api/vite/plugins/schema-assets.js.map +1 -0
- package/build/api/vite/plugins/serve.d.ts.map +1 -1
- package/build/api/vite/plugins/serve.js +11 -0
- package/build/api/vite/plugins/serve.js.map +1 -1
- package/build/lib/graphql-change/change-groups.d.ts +2 -0
- package/build/lib/graphql-change/change-groups.d.ts.map +1 -1
- package/build/lib/graphql-change/change-groups.js +54 -0
- package/build/lib/graphql-change/change-groups.js.map +1 -1
- package/build/lib/kit-temp.d.ts +9 -0
- package/build/lib/kit-temp.d.ts.map +1 -1
- package/build/lib/kit-temp.js +12 -0
- package/build/lib/kit-temp.js.map +1 -1
- package/build/lib/path-map/path-map.d.ts.map +1 -1
- package/build/lib/path-map/path-map.js +3 -1
- package/build/lib/path-map/path-map.js.map +1 -1
- package/build/project-data.d.ts +3 -11
- package/build/project-data.d.ts.map +1 -1
- package/build/template/components/Changelog.d.ts +3 -3
- package/build/template/components/Changelog.d.ts.map +1 -1
- package/build/template/components/Changelog.js +8 -84
- package/build/template/components/Changelog.js.map +1 -1
- package/build/template/components/CodeBlock.d.ts +2 -0
- package/build/template/components/CodeBlock.d.ts.map +1 -1
- package/build/template/components/CodeBlock.js +1 -4
- package/build/template/components/CodeBlock.js.map +1 -1
- package/build/template/components/ComponentDispatch.d.ts +34 -0
- package/build/template/components/ComponentDispatch.d.ts.map +1 -0
- package/build/template/components/ComponentDispatch.js +33 -0
- package/build/template/components/ComponentDispatch.js.map +1 -0
- package/build/template/components/ReferenceLink.d.ts +19 -0
- package/build/template/components/ReferenceLink.d.ts.map +1 -0
- package/build/template/components/ReferenceLink.js +19 -0
- package/build/template/components/ReferenceLink.js.map +1 -0
- package/build/template/components/TypeAnnotation.d.ts.map +1 -1
- package/build/template/components/TypeAnnotation.js +3 -3
- package/build/template/components/TypeAnnotation.js.map +1 -1
- package/build/template/components/TypeFieldsLinkList.d.ts.map +1 -1
- package/build/template/components/TypeFieldsLinkList.js +4 -4
- package/build/template/components/TypeFieldsLinkList.js.map +1 -1
- package/build/template/components/TypeIndex.js +2 -2
- package/build/template/components/TypeIndex.js.map +1 -1
- package/build/template/components/VersionSelector.d.ts +7 -0
- package/build/template/components/VersionSelector.d.ts.map +1 -0
- package/build/template/components/VersionSelector.js +30 -0
- package/build/template/components/VersionSelector.js.map +1 -0
- package/build/template/components/graphql/type-link.d.ts.map +1 -1
- package/build/template/components/graphql/type-link.js +2 -2
- package/build/template/components/graphql/type-link.js.map +1 -1
- package/build/template/hooks/useVersionPath.d.ts +6 -0
- package/build/template/hooks/useVersionPath.d.ts.map +1 -0
- package/build/template/hooks/useVersionPath.js +10 -0
- package/build/template/hooks/useVersionPath.js.map +1 -0
- package/build/template/layouts/ChangelogLayout.d.ts.map +1 -0
- package/build/template/{components → layouts}/ChangelogLayout.js +1 -1
- package/build/template/layouts/ChangelogLayout.js.map +1 -0
- package/build/template/layouts/index.d.ts +1 -0
- package/build/template/layouts/index.d.ts.map +1 -1
- package/build/template/layouts/index.js +1 -0
- package/build/template/layouts/index.js.map +1 -1
- package/build/template/lib/fetch-text.d.ts +8 -0
- package/build/template/lib/fetch-text.d.ts.map +1 -0
- package/build/template/lib/fetch-text.js +14 -0
- package/build/template/lib/fetch-text.js.map +1 -0
- package/build/template/lib/polen-url.d.ts +14 -0
- package/build/template/lib/polen-url.d.ts.map +1 -1
- package/build/template/lib/polen-url.js +16 -0
- package/build/template/lib/polen-url.js.map +1 -1
- package/build/template/lib/schema-utils/constants.d.ts +5 -0
- package/build/template/lib/schema-utils/constants.d.ts.map +1 -0
- package/build/template/lib/schema-utils/constants.js +5 -0
- package/build/template/lib/schema-utils/constants.js.map +1 -0
- package/build/template/lib/schema-utils/schema-utils.d.ts +15 -0
- package/build/template/lib/schema-utils/schema-utils.d.ts.map +1 -0
- package/build/template/lib/schema-utils/schema-utils.js +37 -0
- package/build/template/lib/schema-utils/schema-utils.js.map +1 -0
- package/build/template/routes/changelog.d.ts +4 -3
- package/build/template/routes/changelog.d.ts.map +1 -1
- package/build/template/routes/changelog.js +13 -7
- package/build/template/routes/changelog.js.map +1 -1
- package/build/template/routes/pages.d.ts +10 -0
- package/build/template/routes/pages.d.ts.map +1 -0
- package/build/template/routes/pages.js +76 -0
- package/build/template/routes/pages.js.map +1 -0
- package/build/template/routes/reference.$type.$field.js +1 -1
- package/build/template/routes/reference.$type.$field.js.map +1 -1
- package/build/template/routes/reference.$type.d.ts +4 -0
- package/build/template/routes/reference.$type.d.ts.map +1 -1
- package/build/template/routes/reference.$type.js +2 -0
- package/build/template/routes/reference.$type.js.map +1 -1
- package/build/template/routes/reference.d.ts +9 -3
- package/build/template/routes/reference.d.ts.map +1 -1
- package/build/template/routes/reference.js +30 -8
- package/build/template/routes/reference.js.map +1 -1
- package/build/template/routes/reference.version.$version.$type.$field.d.ts +6 -0
- package/build/template/routes/reference.version.$version.$type.$field.d.ts.map +1 -0
- package/build/template/routes/reference.version.$version.$type.$field.js +32 -0
- package/build/template/routes/reference.version.$version.$type.$field.js.map +1 -0
- package/build/template/routes/reference.version.$version.$type.d.ts +11 -0
- package/build/template/routes/reference.version.$version.$type.d.ts.map +1 -0
- package/build/template/routes/reference.version.$version.$type.js +26 -0
- package/build/template/routes/reference.version.$version.$type.js.map +1 -0
- package/build/template/routes/root.d.ts.map +1 -1
- package/build/template/routes/root.js +8 -72
- package/build/template/routes/root.js.map +1 -1
- package/build/template/server/app.d.ts +22 -1
- package/build/template/server/app.d.ts.map +1 -1
- package/build/template/server/app.js +19 -9
- package/build/template/server/app.js.map +1 -1
- package/build/template/server/main.js +9 -1
- package/build/template/server/main.js.map +1 -1
- package/build/template/server/ssg/generate.js +2 -2
- package/build/template/server/ssg/generate.js.map +1 -1
- package/build/template/server/ssg/get-route-paths.d.ts +1 -1
- package/build/template/server/ssg/get-route-paths.d.ts.map +1 -1
- package/build/template/server/ssg/get-route-paths.js +51 -27
- package/build/template/server/ssg/get-route-paths.js.map +1 -1
- package/build/template/sources/schema-source.d.ts +15 -0
- package/build/template/sources/schema-source.d.ts.map +1 -0
- package/build/template/sources/schema-source.js +63 -0
- package/build/template/sources/schema-source.js.map +1 -0
- package/package.json +1 -1
- package/src/api/api.ts +1 -0
- package/src/api/config/configurator.ts +51 -6
- package/src/api/schema/data-sources/memory/memory.ts +3 -5
- package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +29 -13
- package/src/api/schema/data-sources/schema-directory/schema-directory.ts +56 -16
- package/src/api/schema/data-sources/schema-file/schema-file.ts +16 -7
- package/src/api/schema/metadata.ts +23 -0
- package/src/api/schema/read.ts +3 -3
- package/src/api/schema/schema.ts +62 -2
- package/src/api/schema-source/index.ts +1 -0
- package/src/api/schema-source/schema-source.ts +189 -0
- package/src/api/vite/plugins/core.ts +23 -18
- package/src/api/vite/plugins/schema-assets.ts +317 -0
- package/src/api/vite/plugins/serve.ts +15 -8
- package/src/lib/graphql-change/change-groups.ts +57 -0
- package/src/lib/kit-temp.ts +13 -0
- package/src/lib/path-map/$.test.ts +22 -19
- package/src/lib/path-map/path-map.ts +3 -1
- package/src/project-data.ts +3 -11
- package/src/template/components/Changelog.tsx +16 -67
- package/src/template/components/CodeBlock.tsx +3 -5
- package/src/template/components/ComponentDispatch.tsx +42 -0
- package/src/template/components/ReferenceLink.tsx +34 -0
- package/src/template/components/TypeAnnotation.tsx +5 -7
- package/src/template/components/TypeFieldsLinkList.tsx +20 -23
- package/src/template/components/TypeIndex.tsx +10 -12
- package/src/template/components/VersionSelector.tsx +50 -0
- package/src/template/components/graphql/type-link.tsx +4 -3
- package/src/template/hooks/useVersionPath.ts +10 -0
- package/src/template/{components → layouts}/ChangelogLayout.tsx +1 -1
- package/src/template/layouts/index.ts +1 -0
- package/src/template/lib/fetch-text.ts +13 -0
- package/src/template/lib/polen-url.ts +20 -0
- package/src/template/lib/schema-utils/constants.ts +4 -0
- package/src/template/lib/schema-utils/schema-utils.ts +42 -0
- package/src/template/routes/changelog.tsx +17 -8
- package/src/template/routes/pages.tsx +109 -0
- package/src/template/routes/reference.$type.$field.tsx +1 -1
- package/src/template/routes/reference.$type.tsx +2 -0
- package/src/template/routes/reference.tsx +38 -6
- package/src/template/routes/reference.version.$version.$type.$field.tsx +35 -0
- package/src/template/routes/reference.version.$version.$type.tsx +30 -0
- package/src/template/routes/root.tsx +8 -109
- package/src/template/server/app.ts +47 -14
- package/src/template/server/main.ts +9 -1
- package/src/template/server/ssg/generate.ts +2 -2
- package/src/template/server/ssg/get-route-paths.ts +53 -27
- package/src/template/sources/schema-source.ts +68 -0
- 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/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 -151
- 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 -27
- 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 -50
- 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 -144
- package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
- package/build/lib/graphql-document/components/index.d.ts +0 -5
- package/build/lib/graphql-document/components/index.d.ts.map +0 -1
- package/build/lib/graphql-document/components/index.js +0 -5
- 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.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 +0 -2
- package/build/lib/graphql-document/types.js.map +0 -1
- package/build/template/components/ChangelogLayout.d.ts.map +0 -1
- package/build/template/components/ChangelogLayout.js.map +0 -1
- package/build/template/components/CodeHikePre.d.ts +0 -16
- package/build/template/components/CodeHikePre.d.ts.map +0 -1
- package/build/template/components/CodeHikePre.js +0 -37
- package/build/template/components/CodeHikePre.js.map +0 -1
- 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/GraphQLDocument.tsx +0 -265
- package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
- package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -46
- package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -199
- package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
- package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -144
- package/src/lib/graphql-document/components/index.ts +0 -4
- 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.test.ts +0 -365
- package/src/lib/graphql-document/schema-integration.ts +0 -488
- package/src/lib/graphql-document/types.ts +0 -129
- package/src/template/components/CodeHikePre.tsx +0 -51
- /package/build/template/{components → layouts}/ChangelogLayout.d.ts +0 -0
@@ -1,185 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Layer 3: Simplified Positioning & Layout Engine
|
3
|
-
*
|
4
|
-
* Maps GraphQL AST positions to DOM coordinates for overlay placement.
|
5
|
-
* This simplified version focuses on working with Polen's existing infrastructure.
|
6
|
-
*/
|
7
|
-
/**
|
8
|
-
* Simplified position calculator for syntax-highlighted code
|
9
|
-
*
|
10
|
-
* This version uses a more straightforward approach:
|
11
|
-
* 1. Find the line element by line number
|
12
|
-
* 2. Search for the identifier text within that line
|
13
|
-
* 3. Create a span around the identifier for positioning
|
14
|
-
*
|
15
|
-
* This approach modifies the DOM but is more reliable for testing
|
16
|
-
* and works well with React's reconciliation.
|
17
|
-
*/
|
18
|
-
export class SimplePositionCalculator {
|
19
|
-
/**
|
20
|
-
* Prepare a code block for positioning by wrapping identifiers in spans
|
21
|
-
*/
|
22
|
-
prepareCodeBlock(containerElement, identifiers) {
|
23
|
-
// Get the full text content of the container
|
24
|
-
const fullText = containerElement.textContent || ``;
|
25
|
-
const lines = fullText.split(`\n`);
|
26
|
-
// Build a map of line start positions in the full text
|
27
|
-
const lineStartPositions = [0];
|
28
|
-
for (let i = 0; i < lines.length - 1; i++) {
|
29
|
-
const lineLength = lines[i]?.length ?? 0;
|
30
|
-
lineStartPositions.push(lineStartPositions[i] + lineLength + 1); // +1 for newline
|
31
|
-
}
|
32
|
-
// Process identifiers by line
|
33
|
-
for (const identifier of identifiers) {
|
34
|
-
const lineIndex = identifier.position.line - 1;
|
35
|
-
if (lineIndex >= lines.length || lineIndex < 0)
|
36
|
-
continue;
|
37
|
-
const lineText = lines[lineIndex];
|
38
|
-
if (!lineText)
|
39
|
-
continue;
|
40
|
-
const columnIndex = identifier.position.column - 1;
|
41
|
-
// Check if the identifier exists at the expected position
|
42
|
-
if (lineText.substring(columnIndex).startsWith(identifier.name)) {
|
43
|
-
// Calculate the absolute position in the full text
|
44
|
-
const lineStartPosition = lineStartPositions[lineIndex] ?? 0;
|
45
|
-
const absolutePosition = lineStartPosition + columnIndex;
|
46
|
-
// Check if already wrapped at this specific position
|
47
|
-
const existingWrapped = containerElement.querySelectorAll(`[data-graphql-id]`);
|
48
|
-
let alreadyWrapped = false;
|
49
|
-
for (const wrapped of existingWrapped) {
|
50
|
-
if (wrapped.textContent === identifier.name) {
|
51
|
-
const startPos = parseInt(wrapped.getAttribute(`data-graphql-start`) || `0`);
|
52
|
-
if (startPos === identifier.position.start) {
|
53
|
-
alreadyWrapped = true;
|
54
|
-
break;
|
55
|
-
}
|
56
|
-
}
|
57
|
-
}
|
58
|
-
if (alreadyWrapped)
|
59
|
-
continue;
|
60
|
-
// Create wrapper span
|
61
|
-
const wrapper = document.createElement(`span`);
|
62
|
-
const id = `${identifier.position.start}-${identifier.name}-${identifier.kind}`;
|
63
|
-
wrapper.setAttribute(`data-graphql-id`, id);
|
64
|
-
wrapper.setAttribute(`data-graphql-name`, identifier.name);
|
65
|
-
wrapper.setAttribute(`data-graphql-kind`, identifier.kind);
|
66
|
-
wrapper.setAttribute(`data-graphql-start`, String(identifier.position.start));
|
67
|
-
wrapper.setAttribute(`data-graphql-end`, String(identifier.position.end));
|
68
|
-
wrapper.setAttribute(`data-graphql-line`, String(identifier.position.line));
|
69
|
-
wrapper.setAttribute(`data-graphql-column`, String(identifier.position.column));
|
70
|
-
wrapper.setAttribute(`data-graphql-path`, identifier.schemaPath.join(`,`));
|
71
|
-
// Find the position in the container and wrap the text
|
72
|
-
const walker = document.createTreeWalker(containerElement, NodeFilter.SHOW_TEXT, null);
|
73
|
-
let currentPos = 0;
|
74
|
-
let node;
|
75
|
-
while (node = walker.nextNode()) {
|
76
|
-
const textNode = node;
|
77
|
-
const text = textNode.textContent || ``;
|
78
|
-
// Check if this text node contains our identifier
|
79
|
-
if (currentPos <= absolutePosition && absolutePosition < currentPos + text.length) {
|
80
|
-
const relativePos = absolutePosition - currentPos;
|
81
|
-
if (text.substring(relativePos).startsWith(identifier.name)) {
|
82
|
-
// Split the text node
|
83
|
-
const before = text.substring(0, relativePos);
|
84
|
-
const identifierText = identifier.name;
|
85
|
-
const after = text.substring(relativePos + identifierText.length);
|
86
|
-
const parent = textNode.parentNode;
|
87
|
-
if (before) {
|
88
|
-
parent.insertBefore(document.createTextNode(before), textNode);
|
89
|
-
}
|
90
|
-
wrapper.textContent = identifierText;
|
91
|
-
parent.insertBefore(wrapper, textNode);
|
92
|
-
if (after) {
|
93
|
-
parent.insertBefore(document.createTextNode(after), textNode);
|
94
|
-
}
|
95
|
-
parent.removeChild(textNode);
|
96
|
-
break;
|
97
|
-
}
|
98
|
-
}
|
99
|
-
currentPos += text.length;
|
100
|
-
}
|
101
|
-
}
|
102
|
-
}
|
103
|
-
}
|
104
|
-
/**
|
105
|
-
* Get positions of all wrapped identifiers
|
106
|
-
*/
|
107
|
-
getIdentifierPositions(containerElement, relativeToElement) {
|
108
|
-
const results = new Map();
|
109
|
-
// Find all wrapped identifiers
|
110
|
-
const wrappedIdentifiers = containerElement.querySelectorAll(`[data-graphql-id]`);
|
111
|
-
// Use the provided element for relative positioning, or the container itself
|
112
|
-
const referenceElement = relativeToElement || containerElement;
|
113
|
-
for (const element of wrappedIdentifiers) {
|
114
|
-
const id = element.getAttribute(`data-graphql-id`);
|
115
|
-
if (!id)
|
116
|
-
continue;
|
117
|
-
// Get position relative to the reference element
|
118
|
-
const referenceRect = referenceElement.getBoundingClientRect();
|
119
|
-
const elementRect = element.getBoundingClientRect();
|
120
|
-
const position = {
|
121
|
-
top: elementRect.top - referenceRect.top,
|
122
|
-
left: elementRect.left - referenceRect.left,
|
123
|
-
width: elementRect.width,
|
124
|
-
height: elementRect.height,
|
125
|
-
};
|
126
|
-
// Reconstruct identifier from data attributes
|
127
|
-
const identifier = {
|
128
|
-
name: element.getAttribute(`data-graphql-name`) || ``,
|
129
|
-
kind: (element.getAttribute(`data-graphql-kind`) || `Field`),
|
130
|
-
position: {
|
131
|
-
start: parseInt(element.getAttribute(`data-graphql-start`) || `0`),
|
132
|
-
end: parseInt(element.getAttribute(`data-graphql-end`) || `0`),
|
133
|
-
line: parseInt(element.getAttribute(`data-graphql-line`) || `1`),
|
134
|
-
column: parseInt(element.getAttribute(`data-graphql-column`) || `1`),
|
135
|
-
},
|
136
|
-
schemaPath: (element.getAttribute(`data-graphql-path`) || ``).split(`,`).filter(Boolean),
|
137
|
-
context: { selectionPath: [] },
|
138
|
-
};
|
139
|
-
results.set(id, { position, identifier });
|
140
|
-
}
|
141
|
-
return results;
|
142
|
-
}
|
143
|
-
}
|
144
|
-
/**
|
145
|
-
* Create invisible overlay for a position
|
146
|
-
*/
|
147
|
-
export const createSimpleOverlay = (position, identifier, options) => {
|
148
|
-
const overlay = document.createElement(`div`);
|
149
|
-
// Base styles for positioning
|
150
|
-
overlay.style.position = `absolute`;
|
151
|
-
overlay.style.top = `${position.top}px`;
|
152
|
-
overlay.style.left = `${position.left}px`;
|
153
|
-
overlay.style.width = `${position.width}px`;
|
154
|
-
overlay.style.height = `${position.height}px`;
|
155
|
-
overlay.style.cursor = `pointer`;
|
156
|
-
overlay.style.zIndex = `10`;
|
157
|
-
// Add custom class if provided
|
158
|
-
if (options?.className) {
|
159
|
-
overlay.className = options.className;
|
160
|
-
}
|
161
|
-
// Data attributes
|
162
|
-
overlay.setAttribute(`data-graphql-overlay`, `true`);
|
163
|
-
overlay.setAttribute(`data-graphql-name`, identifier.name);
|
164
|
-
overlay.setAttribute(`data-graphql-kind`, identifier.kind);
|
165
|
-
// Event handlers
|
166
|
-
if (options?.onClick) {
|
167
|
-
overlay.addEventListener(`click`, (e) => {
|
168
|
-
e.preventDefault();
|
169
|
-
options.onClick(identifier);
|
170
|
-
});
|
171
|
-
}
|
172
|
-
if (options?.onHover) {
|
173
|
-
overlay.addEventListener(`mouseenter`, (e) => {
|
174
|
-
options.onHover(identifier, e);
|
175
|
-
});
|
176
|
-
}
|
177
|
-
return overlay;
|
178
|
-
};
|
179
|
-
/**
|
180
|
-
* Factory function for position calculator
|
181
|
-
*/
|
182
|
-
export const createSimplePositionCalculator = () => {
|
183
|
-
return new SimplePositionCalculator();
|
184
|
-
};
|
185
|
-
//# sourceMappingURL=positioning-simple.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"positioning-simple.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/positioning-simple.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
import type { GraphQLSchema } from 'graphql';
|
2
|
-
import React from 'react';
|
3
|
-
export declare const GraphQLSchemaContext: React.Context<GraphQLSchema | null>;
|
4
|
-
export declare const useGraphQLSchema: () => GraphQLSchema | null;
|
5
|
-
export declare const GraphQLSchemaProvider: React.FC<React.PropsWithChildren<{
|
6
|
-
schema: GraphQLSchema | null;
|
7
|
-
}>>;
|
8
|
-
//# sourceMappingURL=schema-context.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"schema-context.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/schema-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,oBAAoB,qCAAkD,CAAA;AAEnF,eAAO,MAAM,gBAAgB,4BAG5B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;CAAE,CAAC,CASrG,CAAA"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
-
import React from 'react';
|
3
|
-
export const GraphQLSchemaContext = React.createContext(null);
|
4
|
-
export const useGraphQLSchema = () => {
|
5
|
-
const schema = React.useContext(GraphQLSchemaContext);
|
6
|
-
return schema;
|
7
|
-
};
|
8
|
-
export const GraphQLSchemaProvider = ({ children, schema, }) => {
|
9
|
-
return (_jsx(GraphQLSchemaContext.Provider, { value: schema, children: children }));
|
10
|
-
};
|
11
|
-
//# sourceMappingURL=schema-context.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"schema-context.js","sourceRoot":"","sources":["../../../src/lib/graphql-document/schema-context.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAuB,IAAI,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACrD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAwE,CAAC,EACzG,QAAQ,EACR,MAAM,GACP,EAAE,EAAE;IACH,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM,YACzC,QAAQ,GACqB,CACjC,CAAA;AACH,CAAC,CAAA"}
|
@@ -1,135 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Layer 2: Schema Integration
|
3
|
-
*
|
4
|
-
* Bridge between GraphQL analysis and Polen's schema system.
|
5
|
-
* Resolves identifiers against the actual schema, extracts documentation,
|
6
|
-
* and generates reference URLs for navigation.
|
7
|
-
*/
|
8
|
-
import { type GraphQLSchema, type GraphQLType } from 'graphql';
|
9
|
-
import type { Identifier } from './types.js';
|
10
|
-
/**
|
11
|
-
* Documentation extracted from GraphQL schema
|
12
|
-
*/
|
13
|
-
export interface Documentation {
|
14
|
-
/** Description from schema SDL or introspection */
|
15
|
-
description?: string;
|
16
|
-
/** Type signature (e.g., "String!", "[User!]!") */
|
17
|
-
typeInfo: string;
|
18
|
-
/** Whether this field/type is deprecated */
|
19
|
-
deprecated?: {
|
20
|
-
reason: string;
|
21
|
-
replacement?: string;
|
22
|
-
};
|
23
|
-
/** Default value for arguments */
|
24
|
-
defaultValue?: string;
|
25
|
-
}
|
26
|
-
/**
|
27
|
-
* Result of resolving an identifier against the schema
|
28
|
-
*/
|
29
|
-
export interface SchemaResolution {
|
30
|
-
/** Whether the identifier exists in the schema */
|
31
|
-
exists: boolean;
|
32
|
-
/** Documentation extracted from schema */
|
33
|
-
documentation?: Documentation;
|
34
|
-
/** URL to the reference page for this identifier */
|
35
|
-
referenceUrl: string;
|
36
|
-
/** Whether this identifier is deprecated */
|
37
|
-
deprecated?: {
|
38
|
-
reason: string;
|
39
|
-
replacement?: string;
|
40
|
-
};
|
41
|
-
/** The GraphQL type if this is a type identifier */
|
42
|
-
graphqlType?: GraphQLType;
|
43
|
-
}
|
44
|
-
/**
|
45
|
-
* Interface for resolving GraphQL identifiers against a schema
|
46
|
-
*/
|
47
|
-
export interface SchemaResolver {
|
48
|
-
/**
|
49
|
-
* Resolve an identifier against the schema
|
50
|
-
*/
|
51
|
-
resolveIdentifier(identifier: Identifier): SchemaResolution | null;
|
52
|
-
/**
|
53
|
-
* Get documentation for a schema path
|
54
|
-
*/
|
55
|
-
getDocumentation(schemaPath: string[]): Documentation | null;
|
56
|
-
/**
|
57
|
-
* Generate a reference URL for a schema path
|
58
|
-
*/
|
59
|
-
generateReferenceLink(schemaPath: string[]): string;
|
60
|
-
/**
|
61
|
-
* Check if a type exists in the schema
|
62
|
-
*/
|
63
|
-
typeExists(typeName: string): boolean;
|
64
|
-
/**
|
65
|
-
* Get all available types for validation
|
66
|
-
*/
|
67
|
-
getAllTypes(): string[];
|
68
|
-
}
|
69
|
-
/**
|
70
|
-
* Configuration for URL generation
|
71
|
-
*/
|
72
|
-
export interface RouteConfig {
|
73
|
-
/** Base path for reference pages (default: "/reference") */
|
74
|
-
basePath?: string;
|
75
|
-
/** Whether to include fragments in URLs (default: true) */
|
76
|
-
includeFragments?: boolean;
|
77
|
-
}
|
78
|
-
/**
|
79
|
-
* Polen's implementation of SchemaResolver
|
80
|
-
*/
|
81
|
-
export declare class PolenSchemaResolver implements SchemaResolver {
|
82
|
-
private schema;
|
83
|
-
private routeConfig;
|
84
|
-
constructor(schema: GraphQLSchema, routeConfig?: RouteConfig);
|
85
|
-
/**
|
86
|
-
* Resolve an identifier against the schema
|
87
|
-
*/
|
88
|
-
resolveIdentifier(identifier: Identifier): SchemaResolution | null;
|
89
|
-
/**
|
90
|
-
* Get documentation for a schema path
|
91
|
-
*/
|
92
|
-
getDocumentation(schemaPath: string[]): Documentation | null;
|
93
|
-
/**
|
94
|
-
* Generate a reference URL for a schema path
|
95
|
-
*/
|
96
|
-
generateReferenceLink(schemaPath: string[]): string;
|
97
|
-
/**
|
98
|
-
* Check if a type exists in the schema
|
99
|
-
*/
|
100
|
-
typeExists(typeName: string): boolean;
|
101
|
-
/**
|
102
|
-
* Get all available types for validation
|
103
|
-
*/
|
104
|
-
getAllTypes(): string[];
|
105
|
-
private resolveType;
|
106
|
-
private resolveField;
|
107
|
-
private resolveArgument;
|
108
|
-
private resolveDirective;
|
109
|
-
private getFieldFromType;
|
110
|
-
private getTypeSignature;
|
111
|
-
}
|
112
|
-
/**
|
113
|
-
* Create a schema resolver for Polen
|
114
|
-
*/
|
115
|
-
export declare const createPolenSchemaResolver: (schema: GraphQLSchema, routeConfig?: RouteConfig) => SchemaResolver;
|
116
|
-
/**
|
117
|
-
* Enhanced analysis result with schema resolution
|
118
|
-
*/
|
119
|
-
export interface SchemaAwareAnalysisResult {
|
120
|
-
/** Original analysis result */
|
121
|
-
analysis: import('./types.js').AnalysisResult;
|
122
|
-
/** Schema resolutions for all identifiers */
|
123
|
-
resolutions: Map<string, SchemaResolution>;
|
124
|
-
/** Validation errors from schema checking */
|
125
|
-
schemaErrors: {
|
126
|
-
identifier: Identifier;
|
127
|
-
message: string;
|
128
|
-
severity: `error` | `warning`;
|
129
|
-
}[];
|
130
|
-
}
|
131
|
-
/**
|
132
|
-
* Perform schema-aware analysis of a GraphQL document
|
133
|
-
*/
|
134
|
-
export declare const analyzeWithSchema: (source: string, schema: GraphQLSchema, routeConfig?: RouteConfig) => SchemaAwareAnalysisResult;
|
135
|
-
//# sourceMappingURL=schema-integration.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"schema-integration.d.ts","sourceRoot":"","sources":["../../../src/lib/graphql-document/schema-integration.ts"],"names":[],"mappings":"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"}
|