polen 0.10.0-next.20 → 0.10.0-next.22

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.
Files changed (96) hide show
  1. package/build/api/builder/builder.d.ts.map +1 -1
  2. package/build/api/builder/builder.js +1 -2
  3. package/build/api/builder/builder.js.map +1 -1
  4. package/build/api/config/configurator.d.ts +62 -11
  5. package/build/api/config/configurator.d.ts.map +1 -1
  6. package/build/api/config/configurator.js +9 -0
  7. package/build/api/config/configurator.js.map +1 -1
  8. package/build/api/config/merge.js +6 -6
  9. package/build/api/content/scan.js +1 -1
  10. package/build/api/content/sidebar.js +4 -4
  11. package/build/api/vite/plugins/build.js +1 -1
  12. package/build/api/vite/plugins/core.d.ts.map +1 -1
  13. package/build/api/vite/plugins/core.js +1 -0
  14. package/build/api/vite/plugins/core.js.map +1 -1
  15. package/build/lib/react-router-aid/get-paths-patterns.js +1 -1
  16. package/build/project-data.d.ts +1 -0
  17. package/build/project-data.d.ts.map +1 -1
  18. package/build/sandbox.js +40 -17
  19. package/build/sandbox.js.map +1 -1
  20. package/build/template/components/CodeBlock.d.ts.map +1 -1
  21. package/build/template/components/CodeBlock.js +3 -5
  22. package/build/template/components/CodeBlock.js.map +1 -1
  23. package/build/template/components/Field.js +1 -1
  24. package/build/template/components/Field.js.map +1 -1
  25. package/build/template/components/GraphQLInteractive/GraphQLInteractive.d.ts +31 -0
  26. package/build/template/components/GraphQLInteractive/GraphQLInteractive.d.ts.map +1 -0
  27. package/build/template/components/GraphQLInteractive/GraphQLInteractive.js +275 -0
  28. package/build/template/components/GraphQLInteractive/GraphQLInteractive.js.map +1 -0
  29. package/build/template/components/GraphQLInteractive/components/GraphQLErrorBoundary.d.ts +39 -0
  30. package/build/template/components/GraphQLInteractive/components/GraphQLErrorBoundary.d.ts.map +1 -0
  31. package/build/template/components/GraphQLInteractive/components/GraphQLErrorBoundary.js +51 -0
  32. package/build/template/components/GraphQLInteractive/components/GraphQLErrorBoundary.js.map +1 -0
  33. package/build/template/components/GraphQLInteractive/components/GraphQLTokenPopover.d.ts +33 -0
  34. package/build/template/components/GraphQLInteractive/components/GraphQLTokenPopover.d.ts.map +1 -0
  35. package/build/template/components/GraphQLInteractive/components/GraphQLTokenPopover.js +242 -0
  36. package/build/template/components/GraphQLInteractive/components/GraphQLTokenPopover.js.map +1 -0
  37. package/build/template/components/GraphQLInteractive/hooks/use-popover-state.d.ts +45 -0
  38. package/build/template/components/GraphQLInteractive/hooks/use-popover-state.d.ts.map +1 -0
  39. package/build/template/components/GraphQLInteractive/hooks/use-popover-state.js +176 -0
  40. package/build/template/components/GraphQLInteractive/hooks/use-popover-state.js.map +1 -0
  41. package/build/template/components/GraphQLInteractive/index.d.ts +2 -0
  42. package/build/template/components/GraphQLInteractive/index.d.ts.map +1 -0
  43. package/build/template/components/GraphQLInteractive/index.js +2 -0
  44. package/build/template/components/GraphQLInteractive/index.js.map +1 -0
  45. package/build/template/components/GraphQLInteractive/lib/graphql-node-types.d.ts +52 -0
  46. package/build/template/components/GraphQLInteractive/lib/graphql-node-types.d.ts.map +1 -0
  47. package/build/template/components/GraphQLInteractive/lib/graphql-node-types.js +34 -0
  48. package/build/template/components/GraphQLInteractive/lib/graphql-node-types.js.map +1 -0
  49. package/build/template/components/GraphQLInteractive/lib/parser.d.ts +71 -0
  50. package/build/template/components/GraphQLInteractive/lib/parser.d.ts.map +1 -0
  51. package/build/template/components/GraphQLInteractive/lib/parser.js +836 -0
  52. package/build/template/components/GraphQLInteractive/lib/parser.js.map +1 -0
  53. package/build/template/components/GraphQLInteractive/lib/semantic-nodes.d.ts +98 -0
  54. package/build/template/components/GraphQLInteractive/lib/semantic-nodes.d.ts.map +1 -0
  55. package/build/template/components/GraphQLInteractive/lib/semantic-nodes.js +31 -0
  56. package/build/template/components/GraphQLInteractive/lib/semantic-nodes.js.map +1 -0
  57. package/build/template/components/content/$$.d.ts +0 -1
  58. package/build/template/components/content/$$.d.ts.map +1 -1
  59. package/build/template/components/content/$$.js +0 -1
  60. package/build/template/components/content/$$.js.map +1 -1
  61. package/package.json +5 -21
  62. package/src/api/builder/builder.ts +1 -2
  63. package/src/api/config/configurator.ts +72 -11
  64. package/src/api/config/merge.ts +6 -6
  65. package/src/api/content/scan.ts +1 -1
  66. package/src/api/content/sidebar.ts +4 -4
  67. package/src/api/vite/plugins/build.ts +1 -1
  68. package/src/api/vite/plugins/core.ts +1 -0
  69. package/src/lib/kit-temp.test.ts +9 -9
  70. package/src/lib/react-router-aid/get-paths-patterns.ts +1 -1
  71. package/src/project-data.ts +1 -0
  72. package/src/sandbox.ts +40 -17
  73. package/src/template/components/CodeBlock.tsx +6 -9
  74. package/src/template/components/Field.tsx +1 -1
  75. package/src/template/components/GraphQLInteractive/GraphQLInteractive.tsx +464 -0
  76. package/src/template/components/GraphQLInteractive/components/GraphQLErrorBoundary.tsx +96 -0
  77. package/src/template/components/GraphQLInteractive/components/GraphQLTokenPopover.tsx +492 -0
  78. package/src/template/components/GraphQLInteractive/hooks/use-popover-state.ts +244 -0
  79. package/src/template/components/GraphQLInteractive/index.ts +1 -0
  80. package/src/template/components/GraphQLInteractive/lib/graphql-node-types.ts +217 -0
  81. package/src/template/components/GraphQLInteractive/lib/parser.ts +1075 -0
  82. package/src/template/components/GraphQLInteractive/lib/semantic-nodes.ts +154 -0
  83. package/src/template/components/GraphQLInteractive/tests/parser-comment.test.ts +33 -0
  84. package/src/template/components/GraphQLInteractive/tests/parser-error-hint.test.ts +102 -0
  85. package/src/template/components/GraphQLInteractive/tests/parser.test.ts +131 -0
  86. package/src/template/components/content/$$.ts +0 -1
  87. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +0 -8
  88. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +0 -1
  89. package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -13
  90. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +0 -1
  91. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +0 -7
  92. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +0 -1
  93. package/build/template/components/content/GraphQLDocumentWrapper.js +0 -48
  94. package/build/template/components/content/GraphQLDocumentWrapper.js.map +0 -1
  95. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -13
  96. package/src/template/components/content/GraphQLDocumentWrapper.tsx +0 -72
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../src/template/components/GraphQLInteractive/lib/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Semantic Node Types for GraphQL Interactive
3
+ *
4
+ * This module defines the semantic node types used to represent
5
+ * GraphQL schema information alongside tree-sitter syntax nodes.
6
+ */
7
+ import type { GraphQLArgument, GraphQLEnumType, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInputType, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType, GraphQLScalarType, GraphQLUnionType } from 'graphql';
8
+ /**
9
+ * Wrapper for output fields that need parent type context
10
+ */
11
+ export interface OutputFieldNode {
12
+ kind: 'OutputField';
13
+ parentType: GraphQLObjectType | GraphQLInterfaceType;
14
+ fieldDef: GraphQLField<any, any>;
15
+ }
16
+ /**
17
+ * Wrapper for input fields that need parent type context
18
+ */
19
+ export interface InputFieldNode {
20
+ kind: 'InputField';
21
+ parentType: GraphQLInputObjectType;
22
+ fieldDef: GraphQLInputField;
23
+ }
24
+ /**
25
+ * Wrapper for arguments that need parent field context
26
+ */
27
+ export interface ArgumentNode {
28
+ kind: 'Argument';
29
+ parentType: GraphQLObjectType | GraphQLInterfaceType;
30
+ parentField: GraphQLField<any, any>;
31
+ argumentDef: GraphQLArgument;
32
+ }
33
+ /**
34
+ * Wrapper for operation definitions
35
+ */
36
+ export interface OperationNode {
37
+ kind: 'Operation';
38
+ type: 'query' | 'mutation' | 'subscription';
39
+ name?: string;
40
+ }
41
+ /**
42
+ * Wrapper for variable references
43
+ */
44
+ export interface VariableNode {
45
+ kind: 'Variable';
46
+ name: string;
47
+ type?: GraphQLInputType;
48
+ }
49
+ /**
50
+ * Wrapper for fragment definitions
51
+ */
52
+ export interface FragmentNode {
53
+ kind: 'Fragment';
54
+ name: string;
55
+ onType: GraphQLNamedType;
56
+ }
57
+ /**
58
+ * Wrapper for invalid fields that don't exist in the schema
59
+ */
60
+ export interface InvalidFieldNode {
61
+ kind: 'InvalidField';
62
+ fieldName: string;
63
+ parentType: GraphQLObjectType | GraphQLInterfaceType;
64
+ suggestion?: string;
65
+ }
66
+ /**
67
+ * Union of all semantic node types
68
+ *
69
+ * This union represents the different kinds of semantic information that can
70
+ * be attached to GraphQL tokens during parsing. It includes both GraphQL's
71
+ * native type classes (for type references) and our custom wrapper interfaces
72
+ * (for context-dependent elements like fields and arguments).
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * // Type reference - uses GraphQL native class
77
+ * const userType: SemanticNode = schema.getType('User')
78
+ *
79
+ * // Field reference - uses custom wrapper with context
80
+ * const fieldSemantic: SemanticNode = {
81
+ * kind: 'OutputField',
82
+ * parentType: userType,
83
+ * fieldDef: userType.getFields()['name']
84
+ * }
85
+ * ```
86
+ */
87
+ export type SemanticNode = GraphQLObjectType | GraphQLScalarType | GraphQLInterfaceType | GraphQLUnionType | GraphQLEnumType | GraphQLInputObjectType | OutputFieldNode | InputFieldNode | ArgumentNode | OperationNode | VariableNode | FragmentNode | InvalidFieldNode;
88
+ /**
89
+ * Type guards for our custom wrapper types
90
+ */
91
+ export declare function isOutputField(node: SemanticNode | undefined): node is OutputFieldNode;
92
+ export declare function isInputField(node: SemanticNode | undefined): node is InputFieldNode;
93
+ export declare function isArgument(node: SemanticNode | undefined): node is ArgumentNode;
94
+ export declare function isOperation(node: SemanticNode | undefined): node is OperationNode;
95
+ export declare function isVariable(node: SemanticNode | undefined): node is VariableNode;
96
+ export declare function isFragment(node: SemanticNode | undefined): node is FragmentNode;
97
+ export declare function isInvalidField(node: SemanticNode | undefined): node is InvalidFieldNode;
98
+ //# sourceMappingURL=semantic-nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-nodes.d.ts","sourceRoot":"","sources":["../../../../../src/template/components/GraphQLInteractive/lib/semantic-nodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,iBAAiB,GAAG,oBAAoB,CAAA;IACpD,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAA;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,QAAQ,EAAE,iBAAiB,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,EAAE,iBAAiB,GAAG,oBAAoB,CAAA;IACpD,WAAW,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnC,WAAW,EAAE,eAAe,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,cAAc,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,gBAAgB,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,iBAAiB,GAAG,oBAAoB,CAAA;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,YAAY,GAEpB,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GAEtB,eAAe,GACf,cAAc,GACd,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,gBAAgB,CAAA;AAEpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,eAAe,CAErF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,cAAc,CAEnF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE/E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,aAAa,CAEjF;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE/E;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,YAAY,CAE/E;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,IAAI,gBAAgB,CAEvF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Semantic Node Types for GraphQL Interactive
3
+ *
4
+ * This module defines the semantic node types used to represent
5
+ * GraphQL schema information alongside tree-sitter syntax nodes.
6
+ */
7
+ /**
8
+ * Type guards for our custom wrapper types
9
+ */
10
+ export function isOutputField(node) {
11
+ return node != null && 'kind' in node && node.kind === 'OutputField';
12
+ }
13
+ export function isInputField(node) {
14
+ return node != null && 'kind' in node && node.kind === 'InputField';
15
+ }
16
+ export function isArgument(node) {
17
+ return node != null && 'kind' in node && node.kind === 'Argument';
18
+ }
19
+ export function isOperation(node) {
20
+ return node != null && 'kind' in node && node.kind === 'Operation';
21
+ }
22
+ export function isVariable(node) {
23
+ return node != null && 'kind' in node && node.kind === 'Variable';
24
+ }
25
+ export function isFragment(node) {
26
+ return node != null && 'kind' in node && node.kind === 'Fragment';
27
+ }
28
+ export function isInvalidField(node) {
29
+ return node != null && 'kind' in node && node.kind === 'InvalidField';
30
+ }
31
+ //# sourceMappingURL=semantic-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-nodes.js","sourceRoot":"","sources":["../../../../../src/template/components/GraphQLInteractive/lib/semantic-nodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuHH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAA8B;IAC1D,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAA8B;IACzD,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAA8B;IACxD,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAA8B;IACvD,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAA8B;IAC3D,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAA;AACvE,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { Callout, Tabs } from '@radix-ui/themes';
2
- export { GraphQLDocumentWithSchema } from './GraphQLDocumentWithSchema.js';
3
2
  //# sourceMappingURL=$$.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"$$.d.ts","sourceRoot":"","sources":["../../../../src/template/components/content/$$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA"}
1
+ {"version":3,"file":"$$.d.ts","sourceRoot":"","sources":["../../../../src/template/components/content/$$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,3 +1,2 @@
1
1
  export { Callout, Tabs } from '@radix-ui/themes';
2
- export { GraphQLDocumentWithSchema } from './GraphQLDocumentWithSchema.js';
3
2
  //# sourceMappingURL=$$.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"$$.js","sourceRoot":"","sources":["../../../../src/template/components/content/$$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA"}
1
+ {"version":3,"file":"$$.js","sourceRoot":"","sources":["../../../../src/template/components/content/$$.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polen",
3
- "version": "0.10.0-next.20",
3
+ "version": "0.10.0-next.22",
4
4
  "type": "module",
5
5
  "description": "A framework for delightful GraphQL developer portals",
6
6
  "author": {
@@ -47,24 +47,6 @@
47
47
  "#lib/task/task": {
48
48
  "default": "./build/lib/task/$$.js"
49
49
  },
50
- "#lib/graphql-document": {
51
- "default": "./build/lib/graphql-document/$.js"
52
- },
53
- "#lib/graphql-document/graphql-document": {
54
- "default": "./build/lib/graphql-document/$$.js"
55
- },
56
- "#lib/graphql-document/components/index": {
57
- "default": "./build/lib/graphql-document/components/index.js"
58
- },
59
- "#lib/graphql-document/components/GraphQLDocumentWithSchema": {
60
- "default": "./build/lib/graphql-document/components/GraphQLDocumentWithSchema.js"
61
- },
62
- "#lib/graphql-document/components/GraphQLDocument": {
63
- "default": "./build/lib/graphql-document/components/GraphQLDocument.js"
64
- },
65
- "#lib/graphql-document/schema-context": {
66
- "default": "./build/lib/graphql-document/schema-context.js"
67
- },
68
50
  "#template/components/content/$$": {
69
51
  "default": "./build/template/components/content/$$.js"
70
52
  },
@@ -107,6 +89,7 @@
107
89
  "@hiogawa/vite-plugin-ssr-css": "^0.0.1",
108
90
  "@hono/node-server": "^1.15.0",
109
91
  "@mdx-js/mdx": "^3.1.0",
92
+ "@mdx-js/react": "^3.1.0",
110
93
  "@mdx-js/rollup": "^3.1.0",
111
94
  "@radix-ui/react-icons": "^1.3.2",
112
95
  "@radix-ui/themes": "^3.2.1",
@@ -148,6 +131,7 @@
148
131
  "source-map": "^0.7.4",
149
132
  "superjson": "^2.2.2",
150
133
  "tinyglobby": "^0.2.14",
134
+ "tree-sitter-graphql-grammar-wasm": "^1.0.0",
151
135
  "tsx": "^4.20.3",
152
136
  "typescript": "^5.8.3",
153
137
  "unified": "^11.0.5",
@@ -155,9 +139,9 @@
155
139
  "vite": "npm:rolldown-vite@^7.0.4",
156
140
  "vite-plugin-inspect": "^11.3.0",
157
141
  "vite-plugin-restart": "^0.4.2",
142
+ "web-tree-sitter": "^0.25.6",
158
143
  "youch-core": "^0.3.3",
159
- "zx": "8.6.1",
160
- "@mdx-js/react": "^3.1.0"
144
+ "zx": "8.6.1"
161
145
  },
162
146
  "devDependencies": {
163
147
  "@actions/core": "^1.11.1",
@@ -35,7 +35,6 @@ export const build = async (input: BuildConfigInput) => {
35
35
  consola.info(`try it: npx serve ${viteUserConfig._polen.paths.project.relative.build.root} -p 4000`)
36
36
  } else if (input.architecture === `ssr`) {
37
37
  consola.info(`try it: node ${viteUserConfig._polen.paths.project.relative.build.root}/app.js`)
38
- // todo: no hardcoded port
39
- consola.info(`Then visit http://localhost:3001`)
38
+ consola.info(`Then visit http://localhost:${viteUserConfig._polen.server.port}`)
40
39
  }
41
40
  }
@@ -53,22 +53,34 @@ export interface ConfigInput {
53
53
  */
54
54
  schema?: SchemaConfigInput
55
55
  /**
56
- * Programmatically add descriptions and metadata to your GraphQL schema.
56
+ * Programmatically enhance your GraphQL schema documentation without modifying the schema files.
57
57
  *
58
- * Use this to enhance your schema documentation without modifying the SDL files.
58
+ * Perfect for adding implementation details, usage examples, deprecation notices,
59
+ * or any additional context that helps developers understand your API better.
59
60
  *
60
61
  * @example
61
62
  * ```ts
62
- * schemaAugmentations: [{
63
- * Query: {
64
- * description: 'The root query type',
65
- * fields: {
66
- * users: {
67
- * description: 'Get a list of all users'
68
- * }
69
- * }
63
+ * schemaAugmentations: [
64
+ * {
65
+ * type: 'description',
66
+ * on: {
67
+ * type: 'TargetType',
68
+ * name: 'User'
69
+ * },
70
+ * placement: 'after',
71
+ * content: '\n\nSee the [User Guide](/guides/users) for detailed usage.'
72
+ * },
73
+ * {
74
+ * type: 'description',
75
+ * on: {
76
+ * type: 'TargetField',
77
+ * targetType: 'Query',
78
+ * name: 'users'
79
+ * },
80
+ * placement: 'after',
81
+ * content: '\n\n**Rate limit:** 100 requests per minute'
70
82
  * }
71
- * }]
83
+ * ]
72
84
  * ```
73
85
  */
74
86
  schemaAugmentations?: SchemaAugmentation.Augmentation[]
@@ -159,6 +171,40 @@ export interface ConfigInput {
159
171
  */
160
172
  port?: number
161
173
  }
174
+ /**
175
+ * Configuration for developer experience warnings.
176
+ *
177
+ * Polen can show helpful warnings for common issues or misconfigurations.
178
+ * Each warning type can be individually enabled or disabled.
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * warnings: {
183
+ * interactiveWithoutSchema: {
184
+ * enabled: false // Disable warning when interactive code blocks are used without a schema
185
+ * }
186
+ * }
187
+ * ```
188
+ */
189
+ warnings?: {
190
+ /**
191
+ * Warning shown when GraphQL code blocks have the `interactive` flag
192
+ * but no schema is configured.
193
+ *
194
+ * Interactive features require a schema to provide field validation,
195
+ * type information, and auto-completion.
196
+ *
197
+ * @default { enabled: true }
198
+ */
199
+ interactiveWithoutSchema?: {
200
+ /**
201
+ * Whether to show this warning.
202
+ *
203
+ * @default true
204
+ */
205
+ enabled?: boolean
206
+ }
207
+ }
162
208
  /**
163
209
  * Advanced configuration options.
164
210
  *
@@ -295,6 +341,11 @@ export interface Config {
295
341
  ssr: {
296
342
  enabled: boolean
297
343
  }
344
+ warnings: {
345
+ interactiveWithoutSchema: {
346
+ enabled: boolean
347
+ }
348
+ }
298
349
  paths: {
299
350
  project: {
300
351
  rootDir: string
@@ -355,6 +406,11 @@ const configInputDefaults: Config = {
355
406
  ssr: {
356
407
  enabled: true,
357
408
  },
409
+ warnings: {
410
+ interactiveWithoutSchema: {
411
+ enabled: true,
412
+ },
413
+ },
358
414
  paths: buildPaths(process.cwd()),
359
415
  advanced: {
360
416
  isSelfContainedMode: false,
@@ -451,5 +507,10 @@ export const normalizeInput = async (
451
507
  config.server.port = configInput.server.port
452
508
  }
453
509
 
510
+ // Process warnings configuration
511
+ if (configInput?.warnings?.interactiveWithoutSchema?.enabled !== undefined) {
512
+ config.warnings.interactiveWithoutSchema.enabled = configInput.warnings.interactiveWithoutSchema.enabled
513
+ }
514
+
454
515
  return config
455
516
  }
@@ -17,33 +17,33 @@ export const mergeInputs = (
17
17
  const merged: ConfigInput = spreadShallow(base, overrides)
18
18
 
19
19
  // Merge schema if both have it
20
- if (base.schema || overrides.schema) {
20
+ if (base.schema ?? overrides.schema) {
21
21
  merged.schema = overrides.schema ?? base.schema
22
22
  }
23
23
 
24
24
  // Merge build config
25
- if (base.build || overrides.build) {
25
+ if (base.build ?? overrides.build) {
26
26
  merged.build = spreadShallow(base.build, overrides.build)
27
27
  }
28
28
 
29
29
  // Merge server config
30
- if (base.server || overrides.server) {
30
+ if (base.server ?? overrides.server) {
31
31
  merged.server = spreadShallow(base.server, overrides.server)
32
32
  }
33
33
 
34
34
  // Merge advanced config
35
- if (base.advanced || overrides.advanced) {
35
+ if (base.advanced ?? overrides.advanced) {
36
36
  merged.advanced = spreadShallow(base.advanced, overrides.advanced)
37
37
 
38
38
  // Merge advanced.watch config
39
- if (base.advanced?.watch || overrides.advanced?.watch) {
39
+ if (base.advanced?.watch ?? overrides.advanced?.watch) {
40
40
  merged.advanced.watch = spreadShallow(
41
41
  base.advanced?.watch,
42
42
  overrides.advanced?.watch,
43
43
  )
44
44
 
45
45
  // Merge watch.also arrays
46
- if (base.advanced?.watch?.also || overrides.advanced?.watch?.also) {
46
+ if (base.advanced?.watch?.also ?? overrides.advanced?.watch?.also) {
47
47
  merged.advanced.watch.also = [
48
48
  ...(base.advanced?.watch?.also ?? []),
49
49
  ...(overrides.advanced?.watch?.also ?? []),
@@ -73,7 +73,7 @@ export const scan = async (options: {
73
73
  // Update pages to have virtual root as parent if they don't have one
74
74
  const pagesWithVirtualRoot = pagesWithIds.map(page => ({
75
75
  ...page,
76
- parentId: page.parentId || `__virtual_root__`,
76
+ parentId: page.parentId ?? `__virtual_root__`,
77
77
  }))
78
78
 
79
79
  tree = Tree.fromList([virtualRoot, ...pagesWithVirtualRoot])
@@ -173,13 +173,13 @@ const buildSidebarForDirectory = (topLevelDir: string, pages: Page[]): Sidebar =
173
173
  }
174
174
 
175
175
  // Process top-level pages (direct children of the directory)
176
- const topLevelPages = pagesByParent.get(topLevelDir) || []
176
+ const topLevelPages = pagesByParent.get(topLevelDir) ?? []
177
177
 
178
178
  // Sort pages by their directory order (extracted from file path)
179
179
  const sortedTopLevelPages = [...topLevelPages].sort((a, b) => {
180
180
  // For sections, we need to look at the directory name in the file path
181
- const dirA = a.route.file.path.relative.dir.split(`/`).pop() || ``
182
- const dirB = b.route.file.path.relative.dir.split(`/`).pop() || ``
181
+ const dirA = a.route.file.path.relative.dir.split(`/`).pop() ?? ``
182
+ const dirB = b.route.file.path.relative.dir.split(`/`).pop() ?? ``
183
183
 
184
184
  // Extract order from directory names like "10_b", "20_c"
185
185
  const orderMatchA = /^(\d+)[_-]/.exec(dirA)
@@ -197,7 +197,7 @@ const buildSidebarForDirectory = (topLevelDir: string, pages: Page[]): Sidebar =
197
197
  for (const page of sortedTopLevelPages) {
198
198
  const pageName = page.route.logical.path[page.route.logical.path.length - 1]!
199
199
  const childPath = page.route.logical.path.join(`/`)
200
- const childPages = pagesByParent.get(childPath) || []
200
+ const childPages = pagesByParent.get(childPath) ?? []
201
201
 
202
202
  if (childPages.length > 0 || FileRouter.routeIsFromIndexFile(page.route)) {
203
203
  // This is a section (has children or is an index page for a subdirectory)
@@ -162,7 +162,7 @@ const BuildManifest = (config: Config.Config): Vite.Plugin => {
162
162
  const manifest: PolenBuildManifest = {
163
163
  type: config.build.architecture === `ssr` ? `ssr` : `ssg`,
164
164
  version: packageJson.version,
165
- basePath: config.build.base || `/`,
165
+ basePath: config.build.base ?? `/`,
166
166
  }
167
167
 
168
168
  // Emit the manifest as an asset
@@ -220,6 +220,7 @@ export const Core = (config: Config.Config): Vite.PluginOption[] => {
220
220
  + `/*`,
221
221
  },
222
222
  },
223
+ warnings: config.warnings,
223
224
  }
224
225
 
225
226
  // Return just the JSON string - let the JSON plugin handle the transformation
@@ -141,17 +141,17 @@ describe('property-based tests', () => {
141
141
  describe('mergeShallow', () => {
142
142
  test('merges objects while omitting undefined values', () => {
143
143
  const base = { a: 1, b: 2, c: 3 }
144
- const override = { b: undefined, c: 4, d: 5 }
144
+ const override = { a: 1, b: undefined, c: 4, d: 5 }
145
145
 
146
- expect(spreadShallow(base, override)).toEqual({ a: 1, b: 2, c: 4, d: 5 })
146
+ expect(spreadShallow<any>(base, override)).toEqual({ a: 1, b: 2, c: 4, d: 5 })
147
147
  })
148
148
 
149
149
  test('handles multiple objects', () => {
150
150
  const obj1 = { a: 1, b: 2 }
151
- const obj2 = { b: undefined, c: 3 }
152
- const obj3 = { c: undefined, d: 4 }
151
+ const obj2 = { a: 1, b: undefined, c: 3 }
152
+ const obj3 = { a: 1, b: 2, c: undefined, d: 4 }
153
153
 
154
- expect(spreadShallow(obj1, obj2, obj3)).toEqual({ a: 1, b: 2, c: 3, d: 4 })
154
+ expect(spreadShallow<any>(obj1, obj2, obj3)).toEqual({ a: 1, b: 2, c: 3, d: 4 })
155
155
  })
156
156
 
157
157
  test('handles empty objects', () => {
@@ -178,8 +178,8 @@ describe('mergeShallow', () => {
178
178
 
179
179
  test('preserves null values', () => {
180
180
  const obj1 = { a: 1, b: null }
181
- const obj2 = { b: 2, c: null }
182
- expect(spreadShallow(obj1, obj2)).toEqual({ a: 1, b: 2, c: null })
181
+ const obj2 = { a: 1, b: 2, c: null }
182
+ expect(spreadShallow<any>(obj1, obj2)).toEqual({ a: 1, b: 2, c: null })
183
183
  })
184
184
 
185
185
  test('preserves false and 0 values', () => {
@@ -191,7 +191,7 @@ describe('mergeShallow', () => {
191
191
  test('property-based: never includes undefined values', () => {
192
192
  fc.assert(
193
193
  fc.property(
194
- fc.array(fc.object({ withUndefined: true })),
194
+ fc.array(fc.dictionary(fc.string(), fc.option(fc.anything()))),
195
195
  (objects) => {
196
196
  const result = spreadShallow(...objects)
197
197
  Object.values(result).forEach(value => {
@@ -208,7 +208,7 @@ describe('mergeShallow', () => {
208
208
  fc.object(),
209
209
  fc.object(),
210
210
  fc.string(),
211
- fc.anything({ withUndefined: false }),
211
+ fc.anything().filter(v => v !== undefined),
212
212
  (obj1, obj2, key, value) => {
213
213
  // Set the same key in both objects
214
214
  obj1[key] = 'first'
@@ -41,7 +41,7 @@ export const _getPathsRecurse = (
41
41
  if (isIndexRoute(route)) {
42
42
  // Index route uses the parent's accumulated path.
43
43
  // If parentPath is empty (implying root), it should be ROOT_PATH
44
- collectedPaths.add(parentPath || ROOT_PATH)
44
+ collectedPaths.add(parentPath ?? ROOT_PATH)
45
45
 
46
46
  continue
47
47
  }
@@ -14,4 +14,5 @@ export interface ProjectData {
14
14
  route: string
15
15
  }
16
16
  }
17
+ warnings: Config.Config[`warnings`]
17
18
  }
package/src/sandbox.ts CHANGED
@@ -1,20 +1,43 @@
1
- import { filePathToRouteLogical } from '#lib/file-router/scan'
2
- import { Path } from '@wollybeard/kit'
1
+ import { buildSchema } from 'graphql'
2
+ import { parseGraphQLWithTreeSitter } from './template/components/GraphQLInteractive/lib/parser.js'
3
3
 
4
- // Test parsing of numbered directory
5
- const testPath1 = Path.parse(`a/10_b/index.md`)
6
- const logical1 = filePathToRouteLogical(testPath1)
7
- console.log(`Path 1:`, testPath1)
8
- console.log(`Logical 1:`, logical1)
4
+ const schema = buildSchema(`
5
+ type Pokemon {
6
+ id: ID!
7
+ name: String!
8
+ types: [PokemonType!]!
9
+ abilities: [Ability!]!
10
+ }
11
+
12
+ type Ability {
13
+ name: String!
14
+ description: String!
15
+ }
16
+
17
+ enum PokemonType {
18
+ FIRE
19
+ WATER
20
+ GRASS
21
+ ELECTRIC
22
+ PSYCHIC
23
+ }
24
+
25
+ type Query {
26
+ pokemon(id: ID!): Pokemon
27
+ }
28
+ `)
9
29
 
10
- // Test parsing of numbered file
11
- const testPath2 = Path.parse(`a/10_b/g.md`)
12
- const logical2 = filePathToRouteLogical(testPath2)
13
- console.log(`\nPath 2:`, testPath2)
14
- console.log(`Logical 2:`, logical2)
30
+ const code = `query GetPokemon($id: ID!) {
31
+ pokemon(id: $id) {
32
+ id
33
+ name
34
+ }
35
+ }`
15
36
 
16
- // Test directory structure
17
- const testPath3 = Path.parse(`a/30_d/index.md`)
18
- const logical3 = filePathToRouteLogical(testPath3)
19
- console.log(`\nPath 3:`, testPath3)
20
- console.log(`Logical 3:`, logical3)
37
+ console.log('Testing GraphQL parser...')
38
+ const tokens = await parseGraphQLWithTreeSitter(code, [], schema)
39
+ console.log('\nTotal tokens:', tokens.length)
40
+ console.log('\nInteractive tokens:')
41
+ tokens.filter(t => t.polen.isInteractive()).forEach(t => {
42
+ console.log(`- "${t.text}" (${t.highlighter.getCssClass()}) -> ${t.polen.getReferenceUrl()}`)
43
+ })