polen 0.10.0-next.14 → 0.10.0-next.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/README.md +1 -2
  2. package/build/api/builder/builder.js +1 -1
  3. package/build/api/builder/builder.js.map +1 -1
  4. package/build/api/config/load.js +6 -6
  5. package/build/api/config/load.js.map +1 -1
  6. package/build/api/config-resolver/resolve.js +2 -2
  7. package/build/api/config-resolver/resolve.js.map +1 -1
  8. package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
  9. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  10. package/build/api/vite/plugins/branding/index.js +4 -4
  11. package/build/api/vite/plugins/branding/index.js.map +1 -1
  12. package/build/api/vite/plugins/build.d.ts.map +1 -1
  13. package/build/api/vite/plugins/build.js +4 -12
  14. package/build/api/vite/plugins/build.js.map +1 -1
  15. package/build/api/vite/plugins/core.d.ts +2 -2
  16. package/build/api/vite/plugins/core.d.ts.map +1 -1
  17. package/build/api/vite/plugins/core.js +13 -13
  18. package/build/api/vite/plugins/core.js.map +1 -1
  19. package/build/api/vite/plugins/pages.d.ts +14 -8
  20. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  21. package/build/api/vite/plugins/pages.js +185 -111
  22. package/build/api/vite/plugins/pages.js.map +1 -1
  23. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  24. package/build/api/vite/plugins/serve.js +12 -52
  25. package/build/api/vite/plugins/serve.js.map +1 -1
  26. package/build/cli/_/self-contained-mode.js +5 -5
  27. package/build/cli/_/self-contained-mode.js.map +1 -1
  28. package/build/lib/demos/config-schema.d.ts +20 -20
  29. package/build/lib/file-router/diagnostic-reporter.js +2 -2
  30. package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
  31. package/build/lib/file-router/file-router.d.ts +2 -0
  32. package/build/lib/file-router/file-router.d.ts.map +1 -1
  33. package/build/lib/file-router/file-router.js +2 -0
  34. package/build/lib/file-router/file-router.js.map +1 -1
  35. package/build/lib/file-router/route.d.ts +0 -2
  36. package/build/lib/file-router/route.d.ts.map +1 -1
  37. package/build/lib/file-router/route.js.map +1 -1
  38. package/build/lib/file-router/scan-tree.d.ts +20 -0
  39. package/build/lib/file-router/scan-tree.d.ts.map +1 -0
  40. package/build/lib/file-router/scan-tree.js +158 -0
  41. package/build/lib/file-router/scan-tree.js.map +1 -0
  42. package/build/lib/file-router/scan.d.ts.map +1 -1
  43. package/build/lib/file-router/scan.js +13 -22
  44. package/build/lib/file-router/scan.js.map +1 -1
  45. package/build/lib/file-router/sidebar/index.d.ts +3 -0
  46. package/build/lib/file-router/sidebar/index.d.ts.map +1 -0
  47. package/build/lib/file-router/sidebar/index.js +4 -0
  48. package/build/lib/file-router/sidebar/index.js.map +1 -0
  49. package/build/lib/file-router/sidebar/sidebar-tree.d.ts +9 -0
  50. package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +1 -0
  51. package/build/lib/file-router/sidebar/sidebar-tree.js +85 -0
  52. package/build/lib/file-router/sidebar/sidebar-tree.js.map +1 -0
  53. package/build/lib/file-router/sidebar/types.d.ts +17 -0
  54. package/build/lib/file-router/sidebar/types.d.ts.map +1 -0
  55. package/build/lib/file-router/sidebar/types.js.map +1 -0
  56. package/build/lib/github-actions/runner.js +2 -2
  57. package/build/lib/github-actions/runner.js.map +1 -1
  58. package/build/lib/github-actions/schemas/context.d.ts +2 -2
  59. package/build/lib/kit-temp.d.ts +0 -103
  60. package/build/lib/kit-temp.d.ts.map +1 -1
  61. package/build/lib/kit-temp.js +3 -239
  62. package/build/lib/kit-temp.js.map +1 -1
  63. package/build/lib/tree/index.d.ts +3 -0
  64. package/build/lib/tree/index.d.ts.map +1 -0
  65. package/build/lib/tree/index.js +2 -0
  66. package/build/lib/tree/index.js.map +1 -0
  67. package/build/lib/tree/tree.d.ts +62 -0
  68. package/build/lib/tree/tree.d.ts.map +1 -0
  69. package/build/lib/tree/tree.js +134 -0
  70. package/build/lib/tree/tree.js.map +1 -0
  71. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +8 -1
  72. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
  73. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +53 -48
  74. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
  75. package/build/package-paths.js +3 -3
  76. package/build/package-paths.js.map +1 -1
  77. package/build/sandbox.js +2 -17
  78. package/build/sandbox.js.map +1 -1
  79. package/build/singletons/debug.d.ts +1 -1
  80. package/build/singletons/debug.d.ts.map +1 -1
  81. package/build/singletons/debug.js +1 -1
  82. package/build/singletons/debug.js.map +1 -1
  83. package/build/template/components/ArgumentAnnotation.jsx +16 -0
  84. package/build/template/components/ArgumentAnnotation.jsx.map +1 -0
  85. package/build/template/components/ArgumentList.jsx +16 -0
  86. package/build/template/components/ArgumentList.jsx.map +1 -0
  87. package/build/template/components/ArgumentListAnnotation.jsx +23 -0
  88. package/build/template/components/ArgumentListAnnotation.jsx.map +1 -0
  89. package/build/template/components/Changelog.jsx +68 -0
  90. package/build/template/components/Changelog.jsx.map +1 -0
  91. package/build/template/components/{CodeBlock.js → CodeBlock.jsx} +5 -4
  92. package/build/template/components/{CodeBlock.js.map → CodeBlock.jsx.map} +1 -1
  93. package/build/template/components/DeprecationReason.jsx +10 -0
  94. package/build/template/components/DeprecationReason.jsx.map +1 -0
  95. package/build/template/components/Description.jsx +10 -0
  96. package/build/template/components/Description.jsx.map +1 -0
  97. package/build/template/components/Field.jsx +22 -0
  98. package/build/template/components/Field.jsx.map +1 -0
  99. package/build/template/components/{FieldList.js → FieldList.jsx} +5 -4
  100. package/build/template/components/FieldList.jsx.map +1 -0
  101. package/build/template/components/{FieldListSection.js → FieldListSection.jsx} +6 -4
  102. package/build/template/components/FieldListSection.jsx.map +1 -0
  103. package/build/template/components/Link.d.ts +2 -2
  104. package/build/template/components/Link.d.ts.map +1 -1
  105. package/build/template/components/{Link.js → Link.jsx} +9 -17
  106. package/build/template/components/Link.jsx.map +1 -0
  107. package/build/template/components/Logo.jsx +29 -0
  108. package/build/template/components/Logo.jsx.map +1 -0
  109. package/build/template/components/{Markdown.js → Markdown.jsx} +2 -3
  110. package/build/template/components/Markdown.jsx.map +1 -0
  111. package/build/template/components/MissingSchema.d.ts +1 -1
  112. package/build/template/components/MissingSchema.d.ts.map +1 -1
  113. package/build/template/components/MissingSchema.jsx +4 -0
  114. package/build/template/components/MissingSchema.jsx.map +1 -0
  115. package/build/template/components/NamedType.jsx +17 -0
  116. package/build/template/components/NamedType.jsx.map +1 -0
  117. package/build/template/components/{RadixLink.js → RadixLink.jsx} +1 -1
  118. package/build/template/components/RadixLink.jsx.map +1 -0
  119. package/build/template/components/Texts/{MinorHeading.js → MinorHeading.jsx} +3 -4
  120. package/build/template/components/Texts/MinorHeading.jsx.map +1 -0
  121. package/build/template/components/Texts/texts.js +1 -1
  122. package/build/template/components/Texts/texts.js.map +1 -1
  123. package/build/template/components/{TypeAnnotation.js → TypeAnnotation.jsx} +18 -8
  124. package/build/template/components/TypeAnnotation.jsx.map +1 -0
  125. package/build/template/components/TypeFieldsLinkList.jsx +17 -0
  126. package/build/template/components/TypeFieldsLinkList.jsx.map +1 -0
  127. package/build/template/components/TypeIndex.jsx +27 -0
  128. package/build/template/components/TypeIndex.jsx.map +1 -0
  129. package/build/template/components/graphql/graphql.d.ts +2 -2
  130. package/build/template/components/graphql/graphql.jsx +3 -0
  131. package/build/template/components/graphql/graphql.jsx.map +1 -0
  132. package/build/template/components/graphql/index.d.ts +1 -1
  133. package/build/template/components/graphql/index.js +1 -1
  134. package/build/template/components/graphql/index.js.map +1 -1
  135. package/build/template/components/graphql/{type-kind-icon.js → type-kind-icon.jsx} +2 -3
  136. package/build/template/components/graphql/type-kind-icon.jsx.map +1 -0
  137. package/build/template/components/graphql/type-link.jsx +16 -0
  138. package/build/template/components/graphql/type-link.jsx.map +1 -0
  139. package/build/template/components/sidebar/Sidebar.d.ts +3 -3
  140. package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
  141. package/build/template/components/sidebar/Sidebar.jsx +15 -0
  142. package/build/template/components/sidebar/Sidebar.jsx.map +1 -0
  143. package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
  144. package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
  145. package/build/template/components/sidebar/{SidebarItem.js → SidebarItem.jsx} +35 -18
  146. package/build/template/components/sidebar/SidebarItem.jsx.map +1 -0
  147. package/build/template/components/sidebar/ToggleButton.d.ts +1 -1
  148. package/build/template/components/sidebar/ToggleButton.d.ts.map +1 -1
  149. package/build/template/components/sidebar/ToggleButton.jsx +6 -0
  150. package/build/template/components/sidebar/ToggleButton.jsx.map +1 -0
  151. package/build/template/entry.client.d.ts +0 -1
  152. package/build/template/entry.client.d.ts.map +1 -1
  153. package/build/template/{entry.client.js → entry.client.jsx} +9 -5
  154. package/build/template/entry.client.jsx.map +1 -0
  155. package/build/template/routes/changelog.d.ts +1 -1
  156. package/build/template/routes/{changelog.js → changelog.jsx} +4 -5
  157. package/build/template/routes/changelog.jsx.map +1 -0
  158. package/build/template/routes/{index.js → index.jsx} +2 -3
  159. package/build/template/routes/index.jsx.map +1 -0
  160. package/build/template/routes/reference.$type.$field.d.ts +1 -1
  161. package/build/template/routes/{reference.$type.$field.js → reference.$type.$field.jsx} +5 -6
  162. package/build/template/routes/reference.$type.$field.jsx.map +1 -0
  163. package/build/template/routes/reference.$type.d.ts +1 -1
  164. package/build/template/routes/{reference.$type.js → reference.$type.jsx} +5 -6
  165. package/build/template/routes/reference.$type.jsx.map +1 -0
  166. package/build/template/routes/reference.d.ts +2 -2
  167. package/build/template/routes/reference.d.ts.map +1 -1
  168. package/build/template/routes/{reference.js → reference.jsx} +12 -7
  169. package/build/template/routes/reference.jsx.map +1 -0
  170. package/build/template/routes/root.d.ts +2 -2
  171. package/build/template/routes/root.d.ts.map +1 -1
  172. package/build/template/routes/root.jsx +188 -0
  173. package/build/template/routes/root.jsx.map +1 -0
  174. package/build/template/routes.jsx +5 -0
  175. package/build/template/routes.jsx.map +1 -0
  176. package/build/template/server/app.d.ts +1 -8
  177. package/build/template/server/app.d.ts.map +1 -1
  178. package/build/template/server/app.js +21 -21
  179. package/build/template/server/app.js.map +1 -1
  180. package/build/template/server/main.js +1 -2
  181. package/build/template/server/main.js.map +1 -1
  182. package/build/template/server/render-page.d.ts +3 -0
  183. package/build/template/server/render-page.d.ts.map +1 -0
  184. package/build/template/server/{create-page-html-response.js → render-page.jsx} +17 -11
  185. package/build/template/server/render-page.jsx.map +1 -0
  186. package/build/template/server/ssg/generate.d.ts.map +1 -1
  187. package/build/template/server/ssg/generate.js +34 -33
  188. package/build/template/server/ssg/generate.js.map +1 -1
  189. package/build/template/server/ssg/get-route-paths.js +1 -1
  190. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  191. package/build/template/server/view.js +1 -1
  192. package/build/template/server/view.js.map +1 -1
  193. package/package.json +9 -66
  194. package/src/api/config/load.ts +5 -5
  195. package/src/api/config-resolver/resolve.ts +2 -2
  196. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +1 -1
  197. package/src/api/singletons/markdown/markdown.test.ts +1 -1
  198. package/src/api/vite/plugins/branding/index.ts +4 -4
  199. package/src/api/vite/plugins/build.ts +89 -97
  200. package/src/api/vite/plugins/core.ts +16 -18
  201. package/src/api/vite/plugins/pages.ts +209 -135
  202. package/src/api/vite/plugins/serve.ts +14 -67
  203. package/src/cli/_/self-contained-mode.ts +5 -5
  204. package/src/lib/deployment/$$.ts +1 -1
  205. package/src/lib/deployment/$.test.ts +3 -3
  206. package/src/lib/deployment/$.ts +1 -1
  207. package/src/lib/file-router/diagnostic-reporter.ts +2 -2
  208. package/src/lib/file-router/file-router.ts +2 -0
  209. package/src/lib/file-router/linter.test.ts +0 -2
  210. package/src/lib/file-router/route.ts +0 -2
  211. package/src/lib/file-router/scan-tree.test.ts +189 -0
  212. package/src/lib/file-router/scan-tree.ts +205 -0
  213. package/src/lib/file-router/scan.ts +14 -26
  214. package/src/lib/file-router/sidebar/index.ts +3 -0
  215. package/src/lib/file-router/sidebar/sidebar-tree.test.ts +123 -0
  216. package/src/lib/file-router/sidebar/sidebar-tree.ts +110 -0
  217. package/src/lib/file-router/sidebar/types.ts +19 -0
  218. package/src/lib/kit-temp.test.ts +7 -19
  219. package/src/lib/kit-temp.ts +5 -307
  220. package/src/lib/task/$.test.ts +3 -3
  221. package/src/lib/tree/index.ts +2 -0
  222. package/src/lib/tree/tree.test.ts +117 -0
  223. package/src/lib/tree/tree.ts +183 -0
  224. package/src/lib/version-history/index.test.ts +4 -12
  225. package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +58 -52
  226. package/src/package-paths.ts +3 -3
  227. package/src/sandbox.ts +1 -20
  228. package/src/singletons/debug.ts +1 -1
  229. package/src/template/components/ArgumentAnnotation.tsx +1 -1
  230. package/src/template/components/ArgumentList.tsx +1 -1
  231. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  232. package/src/template/components/DeprecationReason.tsx +1 -1
  233. package/src/template/components/Description.tsx +1 -1
  234. package/src/template/components/Field.tsx +4 -4
  235. package/src/template/components/FieldList.tsx +1 -1
  236. package/src/template/components/FieldListSection.tsx +1 -1
  237. package/src/template/components/Link.tsx +14 -22
  238. package/src/template/components/NamedType.tsx +2 -2
  239. package/src/template/components/TypeAnnotation.tsx +1 -1
  240. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  241. package/src/template/components/TypeIndex.tsx +1 -1
  242. package/src/template/components/graphql/graphql.tsx +2 -2
  243. package/src/template/components/graphql/index.ts +1 -1
  244. package/src/template/components/graphql/type-link.tsx +2 -2
  245. package/src/template/components/sidebar/Sidebar.tsx +2 -2
  246. package/src/template/components/sidebar/SidebarItem.tsx +14 -14
  247. package/src/template/entry.client.tsx +5 -2
  248. package/src/template/routes/changelog.tsx +1 -1
  249. package/src/template/routes/reference.$type.$field.tsx +3 -3
  250. package/src/template/routes/reference.$type.tsx +3 -3
  251. package/src/template/routes/reference.tsx +10 -6
  252. package/src/template/routes/root.tsx +108 -112
  253. package/src/template/routes.tsx +1 -1
  254. package/src/template/server/app.ts +23 -33
  255. package/src/template/server/main.ts +1 -2
  256. package/src/template/server/{create-page-html-response.ts → render-page.tsx} +16 -19
  257. package/src/template/server/ssg/generate.ts +72 -68
  258. package/src/template/server/ssg/get-route-paths.ts +1 -1
  259. package/src/template/server/view.ts +1 -1
  260. package/src/template/styles/code-block.css +0 -32
  261. package/build/api/content/$$.d.ts +0 -7
  262. package/build/api/content/$$.d.ts.map +0 -1
  263. package/build/api/content/$$.js +0 -7
  264. package/build/api/content/$$.js.map +0 -1
  265. package/build/api/content/$.d.ts +0 -2
  266. package/build/api/content/$.d.ts.map +0 -1
  267. package/build/api/content/$.js +0 -2
  268. package/build/api/content/$.js.map +0 -1
  269. package/build/api/content/metadata.d.ts +0 -10
  270. package/build/api/content/metadata.d.ts.map +0 -1
  271. package/build/api/content/metadata.js +0 -9
  272. package/build/api/content/metadata.js.map +0 -1
  273. package/build/api/content/navbar.d.ts +0 -10
  274. package/build/api/content/navbar.d.ts.map +0 -1
  275. package/build/api/content/navbar.js +0 -45
  276. package/build/api/content/navbar.js.map +0 -1
  277. package/build/api/content/page.d.ts +0 -11
  278. package/build/api/content/page.d.ts.map +0 -1
  279. package/build/api/content/page.js +0 -2
  280. package/build/api/content/page.js.map +0 -1
  281. package/build/api/content/scan.d.ts +0 -19
  282. package/build/api/content/scan.d.ts.map +0 -1
  283. package/build/api/content/scan.js +0 -90
  284. package/build/api/content/scan.js.map +0 -1
  285. package/build/api/content/sidebar.d.ts +0 -104
  286. package/build/api/content/sidebar.d.ts.map +0 -1
  287. package/build/api/content/sidebar.js +0 -166
  288. package/build/api/content/sidebar.js.map +0 -1
  289. package/build/api/content/utils.d.ts +0 -5
  290. package/build/api/content/utils.d.ts.map +0 -1
  291. package/build/api/content/utils.js +0 -8
  292. package/build/api/content/utils.js.map +0 -1
  293. package/build/exports/components.d.ts +0 -5
  294. package/build/exports/components.d.ts.map +0 -1
  295. package/build/exports/components.js +0 -5
  296. package/build/exports/components.js.map +0 -1
  297. package/build/lib/graphql-document/$$.d.ts +0 -5
  298. package/build/lib/graphql-document/$$.d.ts.map +0 -1
  299. package/build/lib/graphql-document/$$.js +0 -5
  300. package/build/lib/graphql-document/$$.js.map +0 -1
  301. package/build/lib/graphql-document/$.d.ts +0 -2
  302. package/build/lib/graphql-document/$.d.ts.map +0 -1
  303. package/build/lib/graphql-document/$.js +0 -2
  304. package/build/lib/graphql-document/$.js.map +0 -1
  305. package/build/lib/graphql-document/analysis.d.ts +0 -44
  306. package/build/lib/graphql-document/analysis.d.ts.map +0 -1
  307. package/build/lib/graphql-document/analysis.js +0 -361
  308. package/build/lib/graphql-document/analysis.js.map +0 -1
  309. package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
  310. package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
  311. package/build/lib/graphql-document/components/CopyButton.js +0 -43
  312. package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
  313. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
  314. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
  315. package/build/lib/graphql-document/components/GraphQLDocument.js +0 -142
  316. package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
  317. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
  318. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
  319. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -45
  320. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
  321. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
  322. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
  323. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -48
  324. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
  325. package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
  326. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
  327. package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
  328. package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
  329. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
  330. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
  331. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -167
  332. package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
  333. package/build/lib/graphql-document/components/index.d.ts +0 -6
  334. package/build/lib/graphql-document/components/index.d.ts.map +0 -1
  335. package/build/lib/graphql-document/components/index.js +0 -6
  336. package/build/lib/graphql-document/components/index.js.map +0 -1
  337. package/build/lib/graphql-document/example.d.ts +0 -25
  338. package/build/lib/graphql-document/example.d.ts.map +0 -1
  339. package/build/lib/graphql-document/example.js +0 -140
  340. package/build/lib/graphql-document/example.js.map +0 -1
  341. package/build/lib/graphql-document/graphql-document.d.ts +0 -35
  342. package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
  343. package/build/lib/graphql-document/graphql-document.js +0 -36
  344. package/build/lib/graphql-document/graphql-document.js.map +0 -1
  345. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
  346. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
  347. package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
  348. package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
  349. package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
  350. package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
  351. package/build/lib/graphql-document/positioning-simple.js +0 -185
  352. package/build/lib/graphql-document/positioning-simple.js.map +0 -1
  353. package/build/lib/graphql-document/schema-context.d.ts +0 -8
  354. package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
  355. package/build/lib/graphql-document/schema-context.js +0 -11
  356. package/build/lib/graphql-document/schema-context.js.map +0 -1
  357. package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
  358. package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
  359. package/build/lib/graphql-document/schema-integration-example.js +0 -297
  360. package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
  361. package/build/lib/graphql-document/schema-integration.d.ts +0 -135
  362. package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
  363. package/build/lib/graphql-document/schema-integration.js +0 -328
  364. package/build/lib/graphql-document/schema-integration.js.map +0 -1
  365. package/build/lib/graphql-document/types.d.ts +0 -117
  366. package/build/lib/graphql-document/types.d.ts.map +0 -1
  367. package/build/lib/graphql-document/types.js.map +0 -1
  368. package/build/template/components/ArgumentAnnotation.js +0 -10
  369. package/build/template/components/ArgumentAnnotation.js.map +0 -1
  370. package/build/template/components/ArgumentList.js +0 -9
  371. package/build/template/components/ArgumentList.js.map +0 -1
  372. package/build/template/components/ArgumentListAnnotation.js +0 -15
  373. package/build/template/components/ArgumentListAnnotation.js.map +0 -1
  374. package/build/template/components/Changelog.js +0 -44
  375. package/build/template/components/Changelog.js.map +0 -1
  376. package/build/template/components/CodeBlockEnhancer.d.ts +0 -2
  377. package/build/template/components/CodeBlockEnhancer.d.ts.map +0 -1
  378. package/build/template/components/CodeBlockEnhancer.js +0 -175
  379. package/build/template/components/CodeBlockEnhancer.js.map +0 -1
  380. package/build/template/components/DeprecationReason.js +0 -9
  381. package/build/template/components/DeprecationReason.js.map +0 -1
  382. package/build/template/components/Description.js +0 -9
  383. package/build/template/components/Description.js.map +0 -1
  384. package/build/template/components/Field.js +0 -14
  385. package/build/template/components/Field.js.map +0 -1
  386. package/build/template/components/FieldList.js.map +0 -1
  387. package/build/template/components/FieldListSection.js.map +0 -1
  388. package/build/template/components/HamburgerMenu.d.ts +0 -9
  389. package/build/template/components/HamburgerMenu.d.ts.map +0 -1
  390. package/build/template/components/HamburgerMenu.js +0 -30
  391. package/build/template/components/HamburgerMenu.js.map +0 -1
  392. package/build/template/components/Link.js.map +0 -1
  393. package/build/template/components/Logo.js +0 -20
  394. package/build/template/components/Logo.js.map +0 -1
  395. package/build/template/components/MDXComponents.d.ts +0 -11
  396. package/build/template/components/MDXComponents.d.ts.map +0 -1
  397. package/build/template/components/MDXComponents.js +0 -70
  398. package/build/template/components/MDXComponents.js.map +0 -1
  399. package/build/template/components/Markdown.js.map +0 -1
  400. package/build/template/components/MissingSchema.js +0 -5
  401. package/build/template/components/MissingSchema.js.map +0 -1
  402. package/build/template/components/NamedType.js +0 -12
  403. package/build/template/components/NamedType.js.map +0 -1
  404. package/build/template/components/NotFound.d.ts +0 -2
  405. package/build/template/components/NotFound.d.ts.map +0 -1
  406. package/build/template/components/NotFound.js +0 -7
  407. package/build/template/components/NotFound.js.map +0 -1
  408. package/build/template/components/RadixLink.js.map +0 -1
  409. package/build/template/components/TestComponent.d.ts +0 -5
  410. package/build/template/components/TestComponent.d.ts.map +0 -1
  411. package/build/template/components/TestComponent.js +0 -7
  412. package/build/template/components/TestComponent.js.map +0 -1
  413. package/build/template/components/Texts/MinorHeading.js.map +0 -1
  414. package/build/template/components/ThemeToggle.d.ts +0 -3
  415. package/build/template/components/ThemeToggle.d.ts.map +0 -1
  416. package/build/template/components/ThemeToggle.js +0 -9
  417. package/build/template/components/ThemeToggle.js.map +0 -1
  418. package/build/template/components/TypeAnnotation.js.map +0 -1
  419. package/build/template/components/TypeFieldsLinkList.js +0 -9
  420. package/build/template/components/TypeFieldsLinkList.js.map +0 -1
  421. package/build/template/components/TypeIndex.js +0 -17
  422. package/build/template/components/TypeIndex.js.map +0 -1
  423. package/build/template/components/content/$$.d.ts +0 -3
  424. package/build/template/components/content/$$.d.ts.map +0 -1
  425. package/build/template/components/content/$$.js +0 -3
  426. package/build/template/components/content/$$.js.map +0 -1
  427. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +0 -8
  428. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +0 -1
  429. package/build/template/components/content/GraphQLDocumentWithSchema.js +0 -13
  430. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +0 -1
  431. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +0 -7
  432. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +0 -1
  433. package/build/template/components/content/GraphQLDocumentWrapper.js +0 -63
  434. package/build/template/components/content/GraphQLDocumentWrapper.js.map +0 -1
  435. package/build/template/components/graphql/graphql.js +0 -3
  436. package/build/template/components/graphql/graphql.js.map +0 -1
  437. package/build/template/components/graphql/type-kind-icon.js.map +0 -1
  438. package/build/template/components/graphql/type-link.js +0 -11
  439. package/build/template/components/graphql/type-link.js.map +0 -1
  440. package/build/template/components/sidebar/Sidebar.js +0 -11
  441. package/build/template/components/sidebar/Sidebar.js.map +0 -1
  442. package/build/template/components/sidebar/SidebarItem.js.map +0 -1
  443. package/build/template/components/sidebar/ToggleButton.js +0 -5
  444. package/build/template/components/sidebar/ToggleButton.js.map +0 -1
  445. package/build/template/contexts/ThemeContext.d.ts +0 -12
  446. package/build/template/contexts/ThemeContext.d.ts.map +0 -1
  447. package/build/template/contexts/ThemeContext.js +0 -40
  448. package/build/template/contexts/ThemeContext.js.map +0 -1
  449. package/build/template/entry.client.js.map +0 -1
  450. package/build/template/hooks/useClientOnly.d.ts +0 -9
  451. package/build/template/hooks/useClientOnly.d.ts.map +0 -1
  452. package/build/template/hooks/useClientOnly.js +0 -16
  453. package/build/template/hooks/useClientOnly.js.map +0 -1
  454. package/build/template/routes/changelog.js.map +0 -1
  455. package/build/template/routes/index.js.map +0 -1
  456. package/build/template/routes/reference.$type.$field.js.map +0 -1
  457. package/build/template/routes/reference.$type.js.map +0 -1
  458. package/build/template/routes/reference.js.map +0 -1
  459. package/build/template/routes/root.js +0 -138
  460. package/build/template/routes/root.js.map +0 -1
  461. package/build/template/routes.js +0 -5
  462. package/build/template/routes.js.map +0 -1
  463. package/build/template/server/create-page-html-response.d.ts +0 -7
  464. package/build/template/server/create-page-html-response.d.ts.map +0 -1
  465. package/build/template/server/create-page-html-response.js.map +0 -1
  466. package/build/template/server/middleware/page.d.ts +0 -4
  467. package/build/template/server/middleware/page.d.ts.map +0 -1
  468. package/build/template/server/middleware/page.js +0 -15
  469. package/build/template/server/middleware/page.js.map +0 -1
  470. package/build/template/server/middleware/unsupported-assets.d.ts +0 -10
  471. package/build/template/server/middleware/unsupported-assets.d.ts.map +0 -1
  472. package/build/template/server/middleware/unsupported-assets.js +0 -21
  473. package/build/template/server/middleware/unsupported-assets.js.map +0 -1
  474. package/build/template/styles/code-block.css +0 -218
  475. package/src/api/content/$$.ts +0 -6
  476. package/src/api/content/$.test.ts +0 -72
  477. package/src/api/content/$.ts +0 -1
  478. package/src/api/content/metadata.ts +0 -11
  479. package/src/api/content/navbar.test.ts +0 -55
  480. package/src/api/content/navbar.ts +0 -61
  481. package/src/api/content/page.ts +0 -12
  482. package/src/api/content/scan.ts +0 -117
  483. package/src/api/content/sidebar.test.ts +0 -297
  484. package/src/api/content/sidebar.ts +0 -283
  485. package/src/api/content/utils.ts +0 -7
  486. package/src/exports/components.ts +0 -4
  487. package/src/lib/graphql-document/$$.ts +0 -4
  488. package/src/lib/graphql-document/$.test.ts +0 -132
  489. package/src/lib/graphql-document/$.ts +0 -1
  490. package/src/lib/graphql-document/README.md +0 -102
  491. package/src/lib/graphql-document/analysis.ts +0 -415
  492. package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
  493. package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -262
  494. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
  495. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -70
  496. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -197
  497. package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
  498. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -167
  499. package/src/lib/graphql-document/components/index.ts +0 -5
  500. package/src/lib/graphql-document/demo.md +0 -155
  501. package/src/lib/graphql-document/example.ts +0 -163
  502. package/src/lib/graphql-document/graphql-document.ts +0 -37
  503. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
  504. package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
  505. package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
  506. package/src/lib/graphql-document/positioning-simple.ts +0 -260
  507. package/src/lib/graphql-document/schema-context.tsx +0 -20
  508. package/src/lib/graphql-document/schema-integration-example.ts +0 -341
  509. package/src/lib/graphql-document/schema-integration.test.ts +0 -365
  510. package/src/lib/graphql-document/schema-integration.ts +0 -497
  511. package/src/lib/graphql-document/types.ts +0 -129
  512. package/src/template/components/CodeBlockEnhancer.tsx +0 -192
  513. package/src/template/components/HamburgerMenu.tsx +0 -96
  514. package/src/template/components/MDXComponents.tsx +0 -101
  515. package/src/template/components/NotFound.tsx +0 -28
  516. package/src/template/components/TestComponent.tsx +0 -6
  517. package/src/template/components/ThemeToggle.tsx +0 -21
  518. package/src/template/components/content/$$.ts +0 -2
  519. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +0 -13
  520. package/src/template/components/content/GraphQLDocumentWrapper.tsx +0 -89
  521. package/src/template/contexts/ThemeContext.tsx +0 -60
  522. package/src/template/hooks/useClientOnly.ts +0 -21
  523. package/src/template/server/middleware/page.ts +0 -19
  524. package/src/template/server/middleware/unsupported-assets.ts +0 -25
  525. /package/build/lib/{graphql-document → file-router/sidebar}/types.js +0 -0
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Generic tree data structure and utilities
3
+ */
4
+
5
+ export interface TreeNode<T> {
6
+ value: T
7
+ children: TreeNode<T>[]
8
+ }
9
+
10
+ export type TreeVisitor<T, R = void> = (node: TreeNode<T>, depth: number, path: T[]) => R
11
+
12
+ export type TreeMapper<T, U> = (value: T, depth: number, path: T[]) => U
13
+
14
+ export type TreePredicate<T> = (value: T, depth: number, path: T[]) => boolean
15
+
16
+ /**
17
+ * Create a new tree node
18
+ */
19
+ export const node = <T>(value: T, children: TreeNode<T>[] = []): TreeNode<T> => ({
20
+ value,
21
+ children,
22
+ })
23
+
24
+ /**
25
+ * Map over a tree, transforming each node's value
26
+ */
27
+ export const map = <T, U>(
28
+ tree: TreeNode<T>,
29
+ mapper: TreeMapper<T, U>,
30
+ depth = 0,
31
+ path: T[] = [],
32
+ ): TreeNode<U> => {
33
+ const newPath = [...path, tree.value]
34
+ return {
35
+ value: mapper(tree.value, depth, path),
36
+ children: tree.children.map(child => map(child, mapper, depth + 1, newPath)),
37
+ }
38
+ }
39
+
40
+ /**
41
+ * Visit each node in the tree (depth-first)
42
+ */
43
+ export const visit = <T>(
44
+ tree: TreeNode<T>,
45
+ visitor: TreeVisitor<T>,
46
+ depth = 0,
47
+ path: T[] = [],
48
+ ): void => {
49
+ visitor(tree, depth, path)
50
+ const newPath = [...path, tree.value]
51
+ tree.children.forEach(child => visit(child, visitor, depth + 1, newPath))
52
+ }
53
+
54
+ /**
55
+ * Find a node in the tree
56
+ */
57
+ export const find = <T>(
58
+ tree: TreeNode<T>,
59
+ predicate: TreePredicate<T>,
60
+ depth = 0,
61
+ path: T[] = [],
62
+ ): TreeNode<T> | undefined => {
63
+ if (predicate(tree.value, depth, path)) {
64
+ return tree
65
+ }
66
+ const newPath = [...path, tree.value]
67
+ for (const child of tree.children) {
68
+ const found = find(child, predicate, depth + 1, newPath)
69
+ if (found) return found
70
+ }
71
+ return undefined
72
+ }
73
+
74
+ /**
75
+ * Filter tree nodes (keeps structure, removes non-matching nodes)
76
+ */
77
+ export const filter = <T>(
78
+ tree: TreeNode<T>,
79
+ predicate: TreePredicate<T>,
80
+ depth = 0,
81
+ path: T[] = [],
82
+ ): TreeNode<T> | undefined => {
83
+ const newPath = [...path, tree.value]
84
+ const filteredChildren = tree.children
85
+ .map(child => filter(child, predicate, depth + 1, newPath))
86
+ .filter((child): child is TreeNode<T> => child !== undefined)
87
+
88
+ // Keep node if it matches or has matching children
89
+ if (predicate(tree.value, depth, path) || filteredChildren.length > 0) {
90
+ return {
91
+ value: tree.value,
92
+ children: filteredChildren,
93
+ }
94
+ }
95
+
96
+ return undefined
97
+ }
98
+
99
+ /**
100
+ * Sort a tree's children at each level
101
+ */
102
+ export const sort = <T>(
103
+ tree: TreeNode<T>,
104
+ compareFn: (a: T, b: T) => number,
105
+ ): TreeNode<T> => ({
106
+ value: tree.value,
107
+ children: tree.children
108
+ .map(child => sort(child, compareFn))
109
+ .sort((a, b) => compareFn(a.value, b.value)),
110
+ })
111
+
112
+ /**
113
+ * Flatten a tree into an array (depth-first)
114
+ */
115
+ export const flatten = <T>(tree: TreeNode<T>): T[] => {
116
+ const result: T[] = [tree.value]
117
+ tree.children.forEach(child => {
118
+ result.push(...flatten(child))
119
+ })
120
+ return result
121
+ }
122
+
123
+ /**
124
+ * Get the depth of the tree
125
+ */
126
+ export const depth = <T>(tree: TreeNode<T>): number => {
127
+ if (tree.children.length === 0) return 0
128
+ return 1 + Math.max(...tree.children.map(depth))
129
+ }
130
+
131
+ /**
132
+ * Count total nodes in the tree
133
+ */
134
+ export const count = <T>(tree: TreeNode<T>): number => {
135
+ return 1 + tree.children.reduce((sum, child) => sum + count(child), 0)
136
+ }
137
+
138
+ /**
139
+ * Check if a node is a leaf (has no children)
140
+ */
141
+ export const isLeaf = <T>(node: TreeNode<T>): boolean => {
142
+ return node.children.length === 0
143
+ }
144
+
145
+ /**
146
+ * Get all leaf nodes
147
+ */
148
+ export const leaves = <T>(tree: TreeNode<T>): TreeNode<T>[] => {
149
+ if (isLeaf(tree)) return [tree]
150
+ return tree.children.flatMap(leaves)
151
+ }
152
+
153
+ /**
154
+ * Build a tree from a flat list with parent references
155
+ */
156
+ export const fromList = <T extends { id: string; parentId?: string }>(
157
+ items: T[],
158
+ rootId?: string,
159
+ ): TreeNode<T>[] => {
160
+ const itemMap = new Map(items.map(item => [item.id, item]))
161
+ const roots: TreeNode<T>[] = []
162
+ const nodeMap = new Map<string, TreeNode<T>>()
163
+
164
+ // Create all nodes
165
+ items.forEach(item => {
166
+ nodeMap.set(item.id, node(item))
167
+ })
168
+
169
+ // Build hierarchy
170
+ items.forEach(item => {
171
+ const itemNode = nodeMap.get(item.id)!
172
+ if (item.parentId === rootId) {
173
+ roots.push(itemNode)
174
+ } else if (item.parentId) {
175
+ const parent = nodeMap.get(item.parentId)
176
+ if (parent) {
177
+ parent.children.push(itemNode)
178
+ }
179
+ }
180
+ })
181
+
182
+ return roots
183
+ }
@@ -3,11 +3,6 @@ import type { SimpleGit } from 'simple-git'
3
3
  import { beforeEach, describe, expect, it, type Mock, vi } from 'vitest'
4
4
  import { VersionHistory } from './index.ts'
5
5
 
6
- // Mock the simple-git module
7
- vi.mock('simple-git', () => ({
8
- simpleGit: vi.fn(),
9
- }))
10
-
11
6
  describe('VersionHistory', () => {
12
7
  describe('parseSemver', () => {
13
8
  it('parses standard semver tags', () => {
@@ -104,19 +99,16 @@ describe('VersionHistory', () => {
104
99
  tag: Mock
105
100
  }
106
101
 
107
- beforeEach(async () => {
108
- vi.clearAllMocks()
109
-
102
+ beforeEach(() => {
110
103
  mockGit = {
111
104
  tags: vi.fn(),
112
105
  show: vi.fn(),
113
106
  revparse: vi.fn(),
114
107
  tag: vi.fn(),
115
108
  }
116
-
117
- // Mock the simpleGit function to return our mock git instance
118
- const { simpleGit } = await import('simple-git')
119
- vi.mocked(simpleGit).mockReturnValue(mockGit as unknown as SimpleGit)
109
+ // versionHistory = new VersionHistory()
110
+ // @ts-expect-error - mocking private property
111
+ VersionHistory.git = mockGit as unknown as SimpleGit
120
112
  })
121
113
 
122
114
  it('returns latest stable and newer prereleases', async () => {
@@ -1,6 +1,8 @@
1
+ import { ensureEnd } from '#lib/kit-temp'
1
2
  import { VitePluginJson } from '#lib/vite-plugin-json/index'
2
- import { debugPolen } from '#singletons/debug'
3
+ import { superjson } from '#singletons/superjson'
3
4
  import { type ComputedRef, effect, isRef } from '@vue/reactivity'
5
+ import { Debug } from '@wollybeard/kit'
4
6
  import type { Plugin, ViteDevServer } from 'vite'
5
7
 
6
8
  interface ReactiveDataOptions {
@@ -17,9 +19,11 @@ interface ReactiveDataOptions {
17
19
  * - A reactive value directly
18
20
  */
19
21
  data: ComputedRef<object | unknown[]> | (() => object | unknown[]) | object | unknown[]
22
+ /** Debounce updates (ms). If not set, uses process.nextTick for batching */
23
+ debounce?: number
20
24
  /**
21
25
  * JSON codec to use (e.g., superjson)
22
- * Default: JSON
26
+ * Default: superjson
23
27
  * Only used when includeJsonPlugin is true
24
28
  */
25
29
  codec?: VitePluginJson.Codec
@@ -28,46 +32,47 @@ interface ReactiveDataOptions {
28
32
  @default 'reactive-data'
29
33
  */
30
34
  name?: string
35
+ /**
36
+ * Module type to return. Default: 'json'
37
+ * Use 'superjson' to avoid conflicts with built-in JSON plugin
38
+ */
39
+ moduleType?: string
31
40
  }
32
41
 
33
- const pluginDebug = debugPolen.sub('vite-reactive-data')
42
+ const debug = Debug.create('vite-plugin-reactive-data')
34
43
 
35
44
  export const create = (options: ReactiveDataOptions): Plugin => {
36
- const codec = options.codec ?? JSON
37
- const moduleId = options.moduleId
45
+ const codec = options.codec ?? superjson
46
+ const moduleType = options.moduleType ?? 'json'
47
+ const moduleId = ensureEnd(options.moduleId, `.${moduleType}`)
38
48
  const name = options.name ?? `reactive-data`
39
49
 
40
- const debug = pluginDebug.sub(name)
41
- debug('constructor', { moduleId })
50
+ let server: ViteDevServer
51
+ let updateTimer: NodeJS.Timeout | undefined
52
+ let updateScheduled = false
42
53
 
43
- let $server: ViteDevServer
44
- let $invalidationScheduled = false
45
-
46
- const tryInvalidate = () => {
47
- $invalidationScheduled = false
48
- // updateTimer = undefined
49
- if (!$server) throw new Error('Server not available yet - this should be impossible')
50
- const moduleNode = $server.moduleGraph.getModuleById(moduleId)
54
+ const doUpdate = () => {
55
+ debug('update')
56
+ updateTimer = undefined
57
+ updateScheduled = false
58
+ if (!server) return
59
+ const moduleNode = server.moduleGraph.getModuleById(moduleId)
51
60
  if (moduleNode) {
52
- debug('invalidate', { id: moduleNode.id })
53
- $server.moduleGraph.invalidateModule(moduleNode)
54
- } else {
55
- debug('cannot invalidate', {
56
- reason: 'notInModuleGraph',
57
- moduleId,
58
- hint: 'maybe it was not loaded yet',
59
- })
61
+ server.moduleGraph.invalidateModule(moduleNode)
60
62
  }
61
63
  }
62
64
 
63
- const scheduleInvalidate = () => {
64
- if ($invalidationScheduled) return // already scheduled
65
-
66
- $invalidationScheduled = true
67
-
68
- if (!$server) return // server will flush when ready
69
-
70
- tryInvalidate()
65
+ const scheduleUpdate = () => {
66
+ if (options.debounce) {
67
+ // User wants actual debouncing for rapid updates
68
+ if (updateTimer) clearTimeout(updateTimer)
69
+ updateTimer = setTimeout(doUpdate, options.debounce)
70
+ } else {
71
+ // Just batch synchronous updates using nextTick
72
+ if (updateScheduled) return
73
+ updateScheduled = true
74
+ process.nextTick(doUpdate)
75
+ }
71
76
  }
72
77
 
73
78
  // Helper to get the current data value
@@ -85,21 +90,20 @@ export const create = (options: ReactiveDataOptions): Plugin => {
85
90
  effect(() => {
86
91
  // Access data to track dependencies
87
92
  const data = getData()
88
- debug('effect triggered', { data })
89
-
90
- scheduleInvalidate()
93
+ debug('data changed:', data)
94
+ // Trigger update only if server is available
95
+ if (server) {
96
+ scheduleUpdate()
97
+ }
91
98
  })
92
99
 
93
100
  return {
94
101
  name,
95
102
 
96
103
  configureServer(_server) {
97
- debug('hook configureServer')
98
- $server = _server
99
- if ($invalidationScheduled) {
100
- debug('try invalidate scheduled before server was ready')
101
- tryInvalidate()
102
- }
104
+ server = _server
105
+ // Trigger initial update since server is now available
106
+ scheduleUpdate()
103
107
  },
104
108
 
105
109
  resolveId(id) {
@@ -108,18 +112,20 @@ export const create = (options: ReactiveDataOptions): Plugin => {
108
112
  }
109
113
  },
110
114
 
111
- // todo make use of Vite's builtin json plugin
112
- // for example, call it here somehow
113
- load(id) {
114
- if (id !== moduleId) return
115
-
116
- const data = getData()
117
- debug('hook load', { data })
118
-
119
- return {
120
- code: codec.stringify(data),
121
- map: null,
122
- }
115
+ load: {
116
+ // todo: doesn't work for some reason, prefer over handler
117
+ // filter: {
118
+ // id: {
119
+ // include: moduleId,
120
+ // },
121
+ // },
122
+ handler: (id) => {
123
+ if (id !== moduleId) return
124
+
125
+ const data = getData()
126
+ // Return just the raw JSON string - let the JSON plugin handle the transformation
127
+ return codec.stringify(data)
128
+ },
123
129
  },
124
130
  }
125
131
  }
@@ -49,11 +49,11 @@ export const packagePaths: PackagePaths = {
49
49
  template: {
50
50
  rootDir: templateDir,
51
51
  server: {
52
- app: Path.join(templateDir, `server/app${sourceKind}`),
53
- entrypoint: Path.join(templateDir, `server/main${sourceKind}`),
52
+ app: Path.join(templateDir, `server/app.js`),
53
+ entrypoint: Path.join(templateDir, `server/main.js`),
54
54
  },
55
55
  client: {
56
- entrypoint: Path.join(templateDir, `entry.client${isRunningFromSource ? `.tsx` : `.js`}`),
56
+ entrypoint: Path.join(templateDir, `entry.client.jsx`),
57
57
  },
58
58
  },
59
59
  }
package/src/sandbox.ts CHANGED
@@ -1,20 +1 @@
1
- import { filePathToRouteLogical } from '#lib/file-router/scan'
2
- import { Path } from '@wollybeard/kit'
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)
9
-
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)
15
-
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)
1
+ // Sandbox file for temporary testing
@@ -1,3 +1,3 @@
1
1
  import { Debug } from '@wollybeard/kit'
2
2
 
3
- export const debugPolen = Debug.create(`polen`)
3
+ export const debug = Debug.create(`polen`)
@@ -1,7 +1,7 @@
1
1
  import { Box, Flex, Text } from '@radix-ui/themes'
2
2
  import type { GraphQLArgument } from 'graphql'
3
3
  import type { FC } from 'react'
4
- import { TypeAnnotation } from './TypeAnnotation.js'
4
+ import { TypeAnnotation } from './TypeAnnotation.jsx'
5
5
 
6
6
  export interface Props {
7
7
  data: GraphQLArgument
@@ -1,7 +1,7 @@
1
1
  import { Box, Flex, Heading, Text } from '@radix-ui/themes'
2
2
  import type { GraphQLArgument } from 'graphql'
3
3
  import type { FC } from 'react'
4
- import { TypeAnnotation } from './TypeAnnotation.tsx'
4
+ import { TypeAnnotation } from './TypeAnnotation.jsx'
5
5
 
6
6
  export interface Props {
7
7
  args: readonly GraphQLArgument[]
@@ -2,8 +2,8 @@ import { GrafaidOld } from '#lib/grafaid-old/index'
2
2
  import { Box, Text } from '@radix-ui/themes'
3
3
  import type { GraphQLField } from 'graphql'
4
4
  import type { FC } from 'react'
5
- import { ArgumentAnnotation } from './ArgumentAnnotation.tsx'
6
- import { FieldList } from './FieldList.tsx'
5
+ import { ArgumentAnnotation } from './ArgumentAnnotation.jsx'
6
+ import { FieldList } from './FieldList.jsx'
7
7
 
8
8
  export interface Props {
9
9
  field: GraphQLField<any, any>
@@ -1,7 +1,7 @@
1
1
  import type { GrafaidOld } from '#lib/grafaid-old/index'
2
2
  import { Text } from '@radix-ui/themes'
3
3
  import type { FC } from 'react'
4
- import { Markdown } from './Markdown.tsx'
4
+ import { Markdown } from './Markdown.jsx'
5
5
 
6
6
  export const DeprecationReason: FC<{ data: GrafaidOld.GraphQLField }> = ({ data }) => {
7
7
  if (!data.deprecationReason) return null
@@ -1,6 +1,6 @@
1
1
  import { Text } from '@radix-ui/themes'
2
2
  import type { FC } from 'react'
3
- import { Markdown } from './Markdown.tsx'
3
+ import { Markdown } from './Markdown.jsx'
4
4
  // import type { Grafaid } from '#lib/grafaid'
5
5
  import type { GrafaidOld } from '#lib/grafaid-old/index'
6
6
  import type { GraphQLNamedType } from 'graphql'
@@ -2,10 +2,10 @@ import { GrafaidOld } from '#lib/grafaid-old/index'
2
2
  import type { BoxProps } from '@radix-ui/themes'
3
3
  import { Box, Text } from '@radix-ui/themes'
4
4
  import type { FC } from 'react'
5
- import { ArgumentListAnnotation } from './ArgumentListAnnotation.tsx'
6
- import { DeprecationReason } from './DeprecationReason.tsx'
7
- import { Description } from './Description.tsx'
8
- import { TypeAnnotation } from './TypeAnnotation.tsx'
5
+ import { ArgumentListAnnotation } from './ArgumentListAnnotation.jsx'
6
+ import { DeprecationReason } from './DeprecationReason.jsx'
7
+ import { Description } from './Description.jsx'
8
+ import { TypeAnnotation } from './TypeAnnotation.jsx'
9
9
 
10
10
  export type Props = BoxProps & {
11
11
  data: GrafaidOld.GraphQLField
@@ -1,7 +1,7 @@
1
1
  import { Grafaid } from '#lib/grafaid/index'
2
2
  import { Box } from '@radix-ui/themes'
3
3
  import type { FC } from 'react'
4
- import { Field } from './Field.tsx'
4
+ import { Field } from './Field.jsx'
5
5
 
6
6
  export interface Props {
7
7
  data: Grafaid.Schema.TypesLike.Named
@@ -2,7 +2,7 @@ import { Grafaid } from '#lib/grafaid/index'
2
2
  import { Box, Heading } from '@radix-ui/themes'
3
3
  import type { GraphQLNamedType } from 'graphql'
4
4
  import type { FC } from 'react'
5
- import { FieldList } from './FieldList.tsx'
5
+ import { FieldList } from './FieldList.jsx'
6
6
 
7
7
  export interface Props {
8
8
  data: GraphQLNamedType
@@ -3,9 +3,8 @@ import type { LinkProps as LinkPropsReactRouter } from 'react-router'
3
3
  import { Link as LinkReactRouter, useLocation } from 'react-router'
4
4
  // todo: #lib/kit-temp does not work as import
5
5
  import { ObjPartition } from '../../lib/kit-temp.ts'
6
- import { useClientOnly } from '../hooks/useClientOnly.ts'
7
- import type { LinkPropsRadix } from './RadixLink.tsx'
8
- import { LinkRadix } from './RadixLink.tsx'
6
+ import type { LinkPropsRadix } from './RadixLink.jsx'
7
+ import { LinkRadix } from './RadixLink.jsx'
9
8
 
10
9
  const reactRouterPropKeys = [
11
10
  'discover',
@@ -23,25 +22,18 @@ const reactRouterPropKeys = [
23
22
  export const Link: FC<LinkPropsReactRouter & Omit<LinkPropsRadix, 'asChild'>> = props => {
24
23
  const location = useLocation()
25
24
  const toPathExp = typeof props.to === 'string' ? props.to : props.to.pathname || ''
26
-
27
- const active = useClientOnly(
28
- () => getPathActiveReport(toPathExp, location.pathname),
29
- { is: false, isDirect: false, isDescendant: false },
30
- )
25
+ const active = getPathActiveReport(toPathExp, location.pathname)
31
26
 
32
27
  const { picked: reactRouterProps, omitted: radixProps } = ObjPartition(props, reactRouterPropKeys)
33
28
 
34
- // Only add data attributes if they're true
35
- const linkRadixProps = {
36
- ...radixProps,
37
- asChild: true,
38
- ...(active.is && { 'data-active': true }),
39
- ...(active.isDirect && { 'data-active-direct': true }),
40
- ...(active.isDescendant && { 'data-active-descendant': true }),
41
- }
42
-
43
29
  return (
44
- <LinkRadix {...linkRadixProps}>
30
+ <LinkRadix
31
+ asChild
32
+ {...radixProps}
33
+ data-active={active.is || undefined}
34
+ data-active-direct={active.isDirect || undefined}
35
+ data-active-descendant={active.isdescendant || undefined}
36
+ >
45
37
  <LinkReactRouter {...reactRouterProps} />
46
38
  </LinkRadix>
47
39
  )
@@ -50,7 +42,7 @@ export const Link: FC<LinkPropsReactRouter & Omit<LinkPropsRadix, 'asChild'>> =
50
42
  export interface PathActiveReport {
51
43
  is: boolean
52
44
  isDirect: boolean
53
- isDescendant: boolean
45
+ isdescendant: boolean
54
46
  }
55
47
 
56
48
  export const getPathActiveReport = (
@@ -62,13 +54,13 @@ export const getPathActiveReport = (
62
54
  const normalizedCurrentPath = currentPathExp.startsWith('/') ? currentPathExp.slice(1) : currentPathExp
63
55
 
64
56
  const isDirect = normalizedCurrentPath === normalizedPath
65
- const isDescendant = normalizedCurrentPath.startsWith(normalizedPath + '/')
57
+ const isdescendant = normalizedCurrentPath.startsWith(normalizedPath + '/')
66
58
  && normalizedCurrentPath !== normalizedPath
67
- const is = isDirect || isDescendant
59
+ const is = isDirect || isdescendant
68
60
 
69
61
  return {
70
62
  is,
71
63
  isDirect,
72
- isDescendant,
64
+ isdescendant,
73
65
  }
74
66
  }
@@ -1,8 +1,8 @@
1
1
  import { Box, Heading, Text } from '@radix-ui/themes'
2
2
  import { type GraphQLNamedType } from 'graphql'
3
3
  import type { FC } from 'react'
4
- import { FieldListSection } from './FieldListSection.tsx'
5
- import { Markdown } from './Markdown.tsx'
4
+ import { FieldListSection } from './FieldListSection.jsx'
5
+ import { Markdown } from './Markdown.jsx'
6
6
 
7
7
  export interface Props {
8
8
  data: GraphQLNamedType
@@ -2,7 +2,7 @@ import { Text } from '@radix-ui/themes'
2
2
  import type { GraphQLType } from 'graphql'
3
3
  import { isInputObjectType, isListType, isNamedType, isNonNullType, isScalarType } from 'graphql'
4
4
  import type { FC } from 'react'
5
- import { Link } from './Link.tsx'
5
+ import { Link } from './Link.jsx'
6
6
 
7
7
  export interface Props {
8
8
  type: GraphQLType // Can be either GraphQLInputType or GraphQLOutputType
@@ -1,7 +1,7 @@
1
1
  import { Box, Flex, Heading } from '@radix-ui/themes'
2
2
  import type { GraphQLInterfaceType, GraphQLObjectType } from 'graphql'
3
3
  import type { FC } from 'react'
4
- import { Link } from './Link.tsx'
4
+ import { Link } from './Link.jsx'
5
5
 
6
6
  export interface Props {
7
7
  type: GraphQLObjectType | GraphQLInterfaceType
@@ -3,7 +3,7 @@ import { Box, Flex, Heading } from '@radix-ui/themes'
3
3
  import { Obj } from '@wollybeard/kit'
4
4
  import type { GraphQLNamedType, GraphQLSchema } from 'graphql'
5
5
  import type { FC } from 'react'
6
- import { Link } from './Link.tsx'
6
+ import { Link } from './Link.jsx'
7
7
 
8
8
  export interface Props {
9
9
  schema: GraphQLSchema
@@ -1,2 +1,2 @@
1
- export * from './type-kind-icon.tsx'
2
- export * from './type-link.tsx'
1
+ export * from './type-kind-icon.jsx'
2
+ export * from './type-link.jsx'
@@ -1 +1 @@
1
- export * as Graphql from './graphql.tsx'
1
+ export * as Graphql from './graphql.jsx'
@@ -1,7 +1,7 @@
1
1
  import { Grafaid } from '#lib/grafaid/index'
2
2
  import { Code, Flex } from '@radix-ui/themes'
3
- import { Link } from '../Link.tsx'
4
- import { TypeKindIcon } from './graphql.tsx'
3
+ import { Link } from '../Link.jsx'
4
+ import { TypeKindIcon } from './graphql.jsx'
5
5
  import { typeKindTokensIndex } from './type-kind-tokens.ts'
6
6
 
7
7
  export const TypeLink: React.FC<{ type: Grafaid.Schema.TypesLike.Named }> = ({ type }) => {
@@ -1,10 +1,10 @@
1
- import type { Content } from '#api/content/$'
1
+ import type { FileRouter } from '#lib/file-router/index'
2
2
  import { Box } from '@radix-ui/themes'
3
3
  import type { BoxOwnProps, LayoutProps, MarginProps } from '@radix-ui/themes/props'
4
4
  import { Items } from './SidebarItem.tsx'
5
5
 
6
6
  interface SidebarProps extends LayoutProps, MarginProps, BoxOwnProps {
7
- data: Content.Item[]
7
+ data: FileRouter.Sidebar.Item[]
8
8
  style?: React.CSSProperties
9
9
  }
10
10