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.
Files changed (314) hide show
  1. package/build/api/api.d.ts +1 -0
  2. package/build/api/api.d.ts.map +1 -1
  3. package/build/api/api.js +1 -0
  4. package/build/api/api.js.map +1 -1
  5. package/build/api/config/configurator.d.ts +20 -3
  6. package/build/api/config/configurator.d.ts.map +1 -1
  7. package/build/api/config/configurator.js +27 -3
  8. package/build/api/config/configurator.js.map +1 -1
  9. package/build/api/schema/data-sources/memory/memory.d.ts +2 -2
  10. package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
  11. package/build/api/schema/data-sources/memory/memory.js +1 -3
  12. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  13. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts +7 -3
  14. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.d.ts.map +1 -1
  15. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +15 -11
  16. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
  17. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +16 -7
  18. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  19. package/build/api/schema/data-sources/schema-directory/schema-directory.js +26 -7
  20. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  21. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +7 -2
  22. package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
  23. package/build/api/schema/data-sources/schema-file/schema-file.js +13 -5
  24. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  25. package/build/api/schema/metadata.d.ts +8 -0
  26. package/build/api/schema/metadata.d.ts.map +1 -0
  27. package/build/api/schema/metadata.js +19 -0
  28. package/build/api/schema/metadata.js.map +1 -0
  29. package/build/api/schema/read.d.ts +3 -3
  30. package/build/api/schema/read.d.ts.map +1 -1
  31. package/build/api/schema/read.js.map +1 -1
  32. package/build/api/schema/schema.d.ts +33 -2
  33. package/build/api/schema/schema.d.ts.map +1 -1
  34. package/build/api/schema/schema.js +42 -0
  35. package/build/api/schema/schema.js.map +1 -1
  36. package/build/api/schema-source/index.d.ts +2 -0
  37. package/build/api/schema-source/index.d.ts.map +1 -0
  38. package/build/api/schema-source/index.js +2 -0
  39. package/build/api/schema-source/index.js.map +1 -0
  40. package/build/api/schema-source/schema-source.d.ts +33 -0
  41. package/build/api/schema-source/schema-source.d.ts.map +1 -0
  42. package/build/api/schema-source/schema-source.js +137 -0
  43. package/build/api/schema-source/schema-source.js.map +1 -0
  44. package/build/api/vite/plugins/core.d.ts +1 -0
  45. package/build/api/vite/plugins/core.d.ts.map +1 -1
  46. package/build/api/vite/plugins/core.js +21 -18
  47. package/build/api/vite/plugins/core.js.map +1 -1
  48. package/build/api/vite/plugins/schema-assets.d.ts +22 -0
  49. package/build/api/vite/plugins/schema-assets.d.ts.map +1 -0
  50. package/build/api/vite/plugins/schema-assets.js +269 -0
  51. package/build/api/vite/plugins/schema-assets.js.map +1 -0
  52. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  53. package/build/api/vite/plugins/serve.js +11 -0
  54. package/build/api/vite/plugins/serve.js.map +1 -1
  55. package/build/lib/graphql-change/change-groups.d.ts +2 -0
  56. package/build/lib/graphql-change/change-groups.d.ts.map +1 -1
  57. package/build/lib/graphql-change/change-groups.js +54 -0
  58. package/build/lib/graphql-change/change-groups.js.map +1 -1
  59. package/build/lib/kit-temp.d.ts +9 -0
  60. package/build/lib/kit-temp.d.ts.map +1 -1
  61. package/build/lib/kit-temp.js +12 -0
  62. package/build/lib/kit-temp.js.map +1 -1
  63. package/build/lib/path-map/path-map.d.ts.map +1 -1
  64. package/build/lib/path-map/path-map.js +3 -1
  65. package/build/lib/path-map/path-map.js.map +1 -1
  66. package/build/project-data.d.ts +3 -11
  67. package/build/project-data.d.ts.map +1 -1
  68. package/build/template/components/Changelog.d.ts +3 -3
  69. package/build/template/components/Changelog.d.ts.map +1 -1
  70. package/build/template/components/Changelog.js +8 -84
  71. package/build/template/components/Changelog.js.map +1 -1
  72. package/build/template/components/CodeBlock.d.ts +2 -0
  73. package/build/template/components/CodeBlock.d.ts.map +1 -1
  74. package/build/template/components/CodeBlock.js +1 -4
  75. package/build/template/components/CodeBlock.js.map +1 -1
  76. package/build/template/components/ComponentDispatch.d.ts +34 -0
  77. package/build/template/components/ComponentDispatch.d.ts.map +1 -0
  78. package/build/template/components/ComponentDispatch.js +33 -0
  79. package/build/template/components/ComponentDispatch.js.map +1 -0
  80. package/build/template/components/ReferenceLink.d.ts +19 -0
  81. package/build/template/components/ReferenceLink.d.ts.map +1 -0
  82. package/build/template/components/ReferenceLink.js +19 -0
  83. package/build/template/components/ReferenceLink.js.map +1 -0
  84. package/build/template/components/TypeAnnotation.d.ts.map +1 -1
  85. package/build/template/components/TypeAnnotation.js +3 -3
  86. package/build/template/components/TypeAnnotation.js.map +1 -1
  87. package/build/template/components/TypeFieldsLinkList.d.ts.map +1 -1
  88. package/build/template/components/TypeFieldsLinkList.js +4 -4
  89. package/build/template/components/TypeFieldsLinkList.js.map +1 -1
  90. package/build/template/components/TypeIndex.js +2 -2
  91. package/build/template/components/TypeIndex.js.map +1 -1
  92. package/build/template/components/VersionSelector.d.ts +7 -0
  93. package/build/template/components/VersionSelector.d.ts.map +1 -0
  94. package/build/template/components/VersionSelector.js +30 -0
  95. package/build/template/components/VersionSelector.js.map +1 -0
  96. package/build/template/components/graphql/type-link.d.ts.map +1 -1
  97. package/build/template/components/graphql/type-link.js +2 -2
  98. package/build/template/components/graphql/type-link.js.map +1 -1
  99. package/build/template/hooks/useVersionPath.d.ts +6 -0
  100. package/build/template/hooks/useVersionPath.d.ts.map +1 -0
  101. package/build/template/hooks/useVersionPath.js +10 -0
  102. package/build/template/hooks/useVersionPath.js.map +1 -0
  103. package/build/template/layouts/ChangelogLayout.d.ts.map +1 -0
  104. package/build/template/{components → layouts}/ChangelogLayout.js +1 -1
  105. package/build/template/layouts/ChangelogLayout.js.map +1 -0
  106. package/build/template/layouts/index.d.ts +1 -0
  107. package/build/template/layouts/index.d.ts.map +1 -1
  108. package/build/template/layouts/index.js +1 -0
  109. package/build/template/layouts/index.js.map +1 -1
  110. package/build/template/lib/fetch-text.d.ts +8 -0
  111. package/build/template/lib/fetch-text.d.ts.map +1 -0
  112. package/build/template/lib/fetch-text.js +14 -0
  113. package/build/template/lib/fetch-text.js.map +1 -0
  114. package/build/template/lib/polen-url.d.ts +14 -0
  115. package/build/template/lib/polen-url.d.ts.map +1 -1
  116. package/build/template/lib/polen-url.js +16 -0
  117. package/build/template/lib/polen-url.js.map +1 -1
  118. package/build/template/lib/schema-utils/constants.d.ts +5 -0
  119. package/build/template/lib/schema-utils/constants.d.ts.map +1 -0
  120. package/build/template/lib/schema-utils/constants.js +5 -0
  121. package/build/template/lib/schema-utils/constants.js.map +1 -0
  122. package/build/template/lib/schema-utils/schema-utils.d.ts +15 -0
  123. package/build/template/lib/schema-utils/schema-utils.d.ts.map +1 -0
  124. package/build/template/lib/schema-utils/schema-utils.js +37 -0
  125. package/build/template/lib/schema-utils/schema-utils.js.map +1 -0
  126. package/build/template/routes/changelog.d.ts +4 -3
  127. package/build/template/routes/changelog.d.ts.map +1 -1
  128. package/build/template/routes/changelog.js +13 -7
  129. package/build/template/routes/changelog.js.map +1 -1
  130. package/build/template/routes/pages.d.ts +10 -0
  131. package/build/template/routes/pages.d.ts.map +1 -0
  132. package/build/template/routes/pages.js +76 -0
  133. package/build/template/routes/pages.js.map +1 -0
  134. package/build/template/routes/reference.$type.$field.js +1 -1
  135. package/build/template/routes/reference.$type.$field.js.map +1 -1
  136. package/build/template/routes/reference.$type.d.ts +4 -0
  137. package/build/template/routes/reference.$type.d.ts.map +1 -1
  138. package/build/template/routes/reference.$type.js +2 -0
  139. package/build/template/routes/reference.$type.js.map +1 -1
  140. package/build/template/routes/reference.d.ts +9 -3
  141. package/build/template/routes/reference.d.ts.map +1 -1
  142. package/build/template/routes/reference.js +30 -8
  143. package/build/template/routes/reference.js.map +1 -1
  144. package/build/template/routes/reference.version.$version.$type.$field.d.ts +6 -0
  145. package/build/template/routes/reference.version.$version.$type.$field.d.ts.map +1 -0
  146. package/build/template/routes/reference.version.$version.$type.$field.js +32 -0
  147. package/build/template/routes/reference.version.$version.$type.$field.js.map +1 -0
  148. package/build/template/routes/reference.version.$version.$type.d.ts +11 -0
  149. package/build/template/routes/reference.version.$version.$type.d.ts.map +1 -0
  150. package/build/template/routes/reference.version.$version.$type.js +26 -0
  151. package/build/template/routes/reference.version.$version.$type.js.map +1 -0
  152. package/build/template/routes/root.d.ts.map +1 -1
  153. package/build/template/routes/root.js +8 -72
  154. package/build/template/routes/root.js.map +1 -1
  155. package/build/template/server/app.d.ts +22 -1
  156. package/build/template/server/app.d.ts.map +1 -1
  157. package/build/template/server/app.js +19 -9
  158. package/build/template/server/app.js.map +1 -1
  159. package/build/template/server/main.js +9 -1
  160. package/build/template/server/main.js.map +1 -1
  161. package/build/template/server/ssg/generate.js +2 -2
  162. package/build/template/server/ssg/generate.js.map +1 -1
  163. package/build/template/server/ssg/get-route-paths.d.ts +1 -1
  164. package/build/template/server/ssg/get-route-paths.d.ts.map +1 -1
  165. package/build/template/server/ssg/get-route-paths.js +51 -27
  166. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  167. package/build/template/sources/schema-source.d.ts +15 -0
  168. package/build/template/sources/schema-source.d.ts.map +1 -0
  169. package/build/template/sources/schema-source.js +63 -0
  170. package/build/template/sources/schema-source.js.map +1 -0
  171. package/package.json +1 -1
  172. package/src/api/api.ts +1 -0
  173. package/src/api/config/configurator.ts +51 -6
  174. package/src/api/schema/data-sources/memory/memory.ts +3 -5
  175. package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +29 -13
  176. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +56 -16
  177. package/src/api/schema/data-sources/schema-file/schema-file.ts +16 -7
  178. package/src/api/schema/metadata.ts +23 -0
  179. package/src/api/schema/read.ts +3 -3
  180. package/src/api/schema/schema.ts +62 -2
  181. package/src/api/schema-source/index.ts +1 -0
  182. package/src/api/schema-source/schema-source.ts +189 -0
  183. package/src/api/vite/plugins/core.ts +23 -18
  184. package/src/api/vite/plugins/schema-assets.ts +317 -0
  185. package/src/api/vite/plugins/serve.ts +15 -8
  186. package/src/lib/graphql-change/change-groups.ts +57 -0
  187. package/src/lib/kit-temp.ts +13 -0
  188. package/src/lib/path-map/$.test.ts +22 -19
  189. package/src/lib/path-map/path-map.ts +3 -1
  190. package/src/project-data.ts +3 -11
  191. package/src/template/components/Changelog.tsx +16 -67
  192. package/src/template/components/CodeBlock.tsx +3 -5
  193. package/src/template/components/ComponentDispatch.tsx +42 -0
  194. package/src/template/components/ReferenceLink.tsx +34 -0
  195. package/src/template/components/TypeAnnotation.tsx +5 -7
  196. package/src/template/components/TypeFieldsLinkList.tsx +20 -23
  197. package/src/template/components/TypeIndex.tsx +10 -12
  198. package/src/template/components/VersionSelector.tsx +50 -0
  199. package/src/template/components/graphql/type-link.tsx +4 -3
  200. package/src/template/hooks/useVersionPath.ts +10 -0
  201. package/src/template/{components → layouts}/ChangelogLayout.tsx +1 -1
  202. package/src/template/layouts/index.ts +1 -0
  203. package/src/template/lib/fetch-text.ts +13 -0
  204. package/src/template/lib/polen-url.ts +20 -0
  205. package/src/template/lib/schema-utils/constants.ts +4 -0
  206. package/src/template/lib/schema-utils/schema-utils.ts +42 -0
  207. package/src/template/routes/changelog.tsx +17 -8
  208. package/src/template/routes/pages.tsx +109 -0
  209. package/src/template/routes/reference.$type.$field.tsx +1 -1
  210. package/src/template/routes/reference.$type.tsx +2 -0
  211. package/src/template/routes/reference.tsx +38 -6
  212. package/src/template/routes/reference.version.$version.$type.$field.tsx +35 -0
  213. package/src/template/routes/reference.version.$version.$type.tsx +30 -0
  214. package/src/template/routes/root.tsx +8 -109
  215. package/src/template/server/app.ts +47 -14
  216. package/src/template/server/main.ts +9 -1
  217. package/src/template/server/ssg/generate.ts +2 -2
  218. package/src/template/server/ssg/get-route-paths.ts +53 -27
  219. package/src/template/sources/schema-source.ts +68 -0
  220. package/build/lib/graphql-document/$$.d.ts +0 -5
  221. package/build/lib/graphql-document/$$.d.ts.map +0 -1
  222. package/build/lib/graphql-document/$$.js +0 -5
  223. package/build/lib/graphql-document/$$.js.map +0 -1
  224. package/build/lib/graphql-document/$.d.ts +0 -2
  225. package/build/lib/graphql-document/$.d.ts.map +0 -1
  226. package/build/lib/graphql-document/$.js +0 -2
  227. package/build/lib/graphql-document/$.js.map +0 -1
  228. package/build/lib/graphql-document/analysis.d.ts +0 -44
  229. package/build/lib/graphql-document/analysis.d.ts.map +0 -1
  230. package/build/lib/graphql-document/analysis.js +0 -361
  231. package/build/lib/graphql-document/analysis.js.map +0 -1
  232. package/build/lib/graphql-document/components/GraphQLDocument.d.ts +0 -38
  233. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +0 -1
  234. package/build/lib/graphql-document/components/GraphQLDocument.js +0 -151
  235. package/build/lib/graphql-document/components/GraphQLDocument.js.map +0 -1
  236. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +0 -7
  237. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +0 -1
  238. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +0 -27
  239. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +0 -1
  240. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +0 -33
  241. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +0 -1
  242. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +0 -50
  243. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +0 -1
  244. package/build/lib/graphql-document/components/IdentifierLink.d.ts +0 -39
  245. package/build/lib/graphql-document/components/IdentifierLink.d.ts.map +0 -1
  246. package/build/lib/graphql-document/components/IdentifierLink.js +0 -75
  247. package/build/lib/graphql-document/components/IdentifierLink.js.map +0 -1
  248. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +0 -5
  249. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +0 -1
  250. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -144
  251. package/build/lib/graphql-document/components/graphql-document-styles.js.map +0 -1
  252. package/build/lib/graphql-document/components/index.d.ts +0 -5
  253. package/build/lib/graphql-document/components/index.d.ts.map +0 -1
  254. package/build/lib/graphql-document/components/index.js +0 -5
  255. package/build/lib/graphql-document/components/index.js.map +0 -1
  256. package/build/lib/graphql-document/example.d.ts +0 -25
  257. package/build/lib/graphql-document/example.d.ts.map +0 -1
  258. package/build/lib/graphql-document/example.js +0 -140
  259. package/build/lib/graphql-document/example.js.map +0 -1
  260. package/build/lib/graphql-document/graphql-document.d.ts +0 -35
  261. package/build/lib/graphql-document/graphql-document.d.ts.map +0 -1
  262. package/build/lib/graphql-document/graphql-document.js +0 -36
  263. package/build/lib/graphql-document/graphql-document.js.map +0 -1
  264. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts +0 -43
  265. package/build/lib/graphql-document/hooks/use-tooltip-state.d.ts.map +0 -1
  266. package/build/lib/graphql-document/hooks/use-tooltip-state.js +0 -132
  267. package/build/lib/graphql-document/hooks/use-tooltip-state.js.map +0 -1
  268. package/build/lib/graphql-document/positioning-simple.d.ts +0 -63
  269. package/build/lib/graphql-document/positioning-simple.d.ts.map +0 -1
  270. package/build/lib/graphql-document/positioning-simple.js +0 -185
  271. package/build/lib/graphql-document/positioning-simple.js.map +0 -1
  272. package/build/lib/graphql-document/schema-context.d.ts +0 -8
  273. package/build/lib/graphql-document/schema-context.d.ts.map +0 -1
  274. package/build/lib/graphql-document/schema-context.js +0 -11
  275. package/build/lib/graphql-document/schema-context.js.map +0 -1
  276. package/build/lib/graphql-document/schema-integration.d.ts +0 -135
  277. package/build/lib/graphql-document/schema-integration.d.ts.map +0 -1
  278. package/build/lib/graphql-document/schema-integration.js +0 -328
  279. package/build/lib/graphql-document/schema-integration.js.map +0 -1
  280. package/build/lib/graphql-document/types.d.ts +0 -117
  281. package/build/lib/graphql-document/types.d.ts.map +0 -1
  282. package/build/lib/graphql-document/types.js +0 -2
  283. package/build/lib/graphql-document/types.js.map +0 -1
  284. package/build/template/components/ChangelogLayout.d.ts.map +0 -1
  285. package/build/template/components/ChangelogLayout.js.map +0 -1
  286. package/build/template/components/CodeHikePre.d.ts +0 -16
  287. package/build/template/components/CodeHikePre.d.ts.map +0 -1
  288. package/build/template/components/CodeHikePre.js +0 -37
  289. package/build/template/components/CodeHikePre.js.map +0 -1
  290. package/src/lib/graphql-document/$$.ts +0 -4
  291. package/src/lib/graphql-document/$.test.ts +0 -132
  292. package/src/lib/graphql-document/$.ts +0 -1
  293. package/src/lib/graphql-document/README.md +0 -102
  294. package/src/lib/graphql-document/analysis.ts +0 -415
  295. package/src/lib/graphql-document/components/GraphQLDocument.tsx +0 -265
  296. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +0 -188
  297. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +0 -46
  298. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +0 -199
  299. package/src/lib/graphql-document/components/IdentifierLink.tsx +0 -160
  300. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -144
  301. package/src/lib/graphql-document/components/index.ts +0 -4
  302. package/src/lib/graphql-document/demo.md +0 -155
  303. package/src/lib/graphql-document/example.ts +0 -163
  304. package/src/lib/graphql-document/graphql-document.ts +0 -37
  305. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +0 -76
  306. package/src/lib/graphql-document/hooks/use-tooltip-state.ts +0 -191
  307. package/src/lib/graphql-document/positioning-simple.test.ts +0 -248
  308. package/src/lib/graphql-document/positioning-simple.ts +0 -260
  309. package/src/lib/graphql-document/schema-context.tsx +0 -20
  310. package/src/lib/graphql-document/schema-integration.test.ts +0 -365
  311. package/src/lib/graphql-document/schema-integration.ts +0 -488
  312. package/src/lib/graphql-document/types.ts +0 -129
  313. package/src/template/components/CodeHikePre.tsx +0 -51
  314. /package/build/template/{components → layouts}/ChangelogLayout.d.ts +0 -0
@@ -1,7 +1,38 @@
1
1
  import type { GraphqlChangeset } from '#lib/graphql-changeset/index';
2
2
  export * as DataSources from './data-sources/data-sources.js';
3
3
  export * from './read.js';
4
- export interface Schema {
5
- versions: [GraphqlChangeset.ChangeSet, ...GraphqlChangeset.ChangeSet[]];
4
+ export * from './metadata.js';
5
+ export type ChangeSets = GraphqlChangeset.ChangeSet[];
6
+ export type NonEmptyChangeSets = [GraphqlChangeset.ChangeSet, ...GraphqlChangeset.ChangeSet[]];
7
+ /**
8
+ * Changelog data structure for JSON serialization
9
+ */
10
+ export interface ChangelogData {
11
+ changes: GraphqlChangeset.ChangeSet['changes'];
12
+ date: string;
6
13
  }
14
+ /**
15
+ * Constants for schema versioning
16
+ */
17
+ /**
18
+ * The version identifier for the latest schema
19
+ */
20
+ export declare const VERSION_LATEST = "latest";
21
+ /**
22
+ * Fallback version name when date parsing fails
23
+ */
24
+ export declare const VERSION_UNKNOWN_FALLBACK = "unknown";
25
+ /**
26
+ * Convert a date to a version string in YYYY-MM-DD format
27
+ */
28
+ export declare const dateToVersionString: (date: Date) => string;
29
+ /**
30
+ * Determine if a version at the given index should have a changelog file.
31
+ * Only non-oldest versions get changelog files.
32
+ */
33
+ export declare const shouldVersionHaveChangelog: (versionIndex: number, totalVersions: number) => boolean;
34
+ /**
35
+ * Convert a version string back to a Date
36
+ */
37
+ export declare const versionStringToDate: (version: string) => Date;
7
38
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/api/schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAA;AAE7D,cAAc,WAAW,CAAA;AAEzB,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;CACxE"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/api/schema/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAEpE,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAA;AAE7D,cAAc,WAAW,CAAA;AAEzB,cAAc,eAAe,CAAA;AAE7B,MAAM,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;AAE9F;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC9C,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,WAAW,CAAA;AAEtC;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAAY,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,KAAG,MAEhD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,cAAc,MAAM,EAAE,eAAe,MAAM,KAAG,OAExF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,IAgBrD,CAAA"}
@@ -1,3 +1,45 @@
1
1
  export * as DataSources from './data-sources/data-sources.js';
2
2
  export * from './read.js';
3
+ export * from './metadata.js';
4
+ /**
5
+ * Constants for schema versioning
6
+ */
7
+ /**
8
+ * The version identifier for the latest schema
9
+ */
10
+ export const VERSION_LATEST = `latest`;
11
+ /**
12
+ * Fallback version name when date parsing fails
13
+ */
14
+ export const VERSION_UNKNOWN_FALLBACK = `unknown`;
15
+ /**
16
+ * Convert a date to a version string in YYYY-MM-DD format
17
+ */
18
+ export const dateToVersionString = (date) => {
19
+ return date.toLocaleDateString('en-CA');
20
+ };
21
+ /**
22
+ * Determine if a version at the given index should have a changelog file.
23
+ * Only non-oldest versions get changelog files.
24
+ */
25
+ export const shouldVersionHaveChangelog = (versionIndex, totalVersions) => {
26
+ return versionIndex < totalVersions - 1;
27
+ };
28
+ /**
29
+ * Convert a version string back to a Date
30
+ */
31
+ export const versionStringToDate = (version) => {
32
+ if (version === VERSION_LATEST) {
33
+ return new Date();
34
+ }
35
+ // Use modern date parsing - the version string should be in YYYY-MM-DD format
36
+ // which is ISO 8601 compatible
37
+ const parsedDate = new Date(version + 'T00:00:00Z');
38
+ // Check if the date is valid
39
+ if (!isNaN(parsedDate.getTime())) {
40
+ return parsedDate;
41
+ }
42
+ // Throw error for invalid dates instead of silently defaulting
43
+ throw new Error(`Invalid version string: ${version}`);
44
+ };
3
45
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/api/schema/schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAA;AAE7D,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/api/schema/schema.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,gCAAgC,CAAA;AAE7D,cAAc,WAAW,CAAA;AAEzB,cAAc,eAAe,CAAA;AAc7B;;GAEG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAA;AAEjD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAU,EAAE;IACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;AACzC,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,YAAoB,EAAE,aAAqB,EAAW,EAAE;IACjG,OAAO,YAAY,GAAG,aAAa,GAAG,CAAC,CAAA;AACzC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAQ,EAAE;IAC3D,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,OAAO,IAAI,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,8EAA8E;IAC9E,+BAA+B;IAC/B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,CAAA;IAEnD,6BAA6B;IAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACjC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,+DAA+D;IAC/D,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './schema-source.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/schema-source/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './schema-source.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/schema-source/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { Schema } from '#api/schema/index';
2
+ import type { GraphqlChangeset } from '#lib/graphql-changeset/index';
3
+ import type { GraphQLSchema } from 'graphql';
4
+ type WriteFile = (path: string, content: string) => Promise<void>;
5
+ type ReadFile = (locator: string) => Promise<string>;
6
+ type ClearDirectory = (path: string) => Promise<void>;
7
+ type RemoveFile = (path: string) => Promise<void>;
8
+ interface SchemaSourceConfig {
9
+ io: {
10
+ read: ReadFile;
11
+ write?: WriteFile;
12
+ clearDirectory?: ClearDirectory;
13
+ removeFile?: RemoveFile;
14
+ };
15
+ versions: string[];
16
+ assetsPath: string;
17
+ }
18
+ export declare const createSchemaSource: (config: SchemaSourceConfig) => {
19
+ versions: string[];
20
+ isEmpty: boolean;
21
+ get: (version: string) => Promise<GraphQLSchema>;
22
+ getChangelog: (version: string) => Promise<Schema.ChangelogData>;
23
+ getAllChangesets: () => Promise<GraphqlChangeset.ChangeSet[]>;
24
+ clearCache: () => void;
25
+ writeSchema: (version: string, schema: GraphQLSchema) => Promise<void>;
26
+ writeChangelog: (version: string, changelog: Schema.ChangelogData) => Promise<void>;
27
+ clearAllAssets: () => Promise<void>;
28
+ removeAsset: (version: string) => Promise<void>;
29
+ writeMetadata: (metadata: Schema.SchemaMetadata) => Promise<void>;
30
+ writeAllAssets: (schemaData: Awaited<ReturnType<typeof Schema.readOrThrow>>, metadata: Schema.SchemaMetadata) => Promise<void>;
31
+ };
32
+ export {};
33
+ //# sourceMappingURL=schema-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-source.d.ts","sourceRoot":"","sources":["../../../src/api/schema-source/schema-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEjE,KAAK,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAEpD,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAErD,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAcjD,UAAU,kBAAkB;IAC1B,EAAE,EAAE;QACF,IAAI,EAAE,QAAQ,CAAA;QACd,KAAK,CAAC,EAAE,SAAS,CAAA;QACjB,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,UAAU,CAAC,EAAE,UAAU,CAAA;KACxB,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,kBAAkB,GAAI,QAAQ,kBAAkB;;;mBAgB/B,MAAM,KAAG,OAAO,CAAC,aAAa,CAAC;4BAOtB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;4BAKxC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;;2BA4DzC,MAAM,UAAU,aAAa;8BAK1B,MAAM,aAAa,MAAM,CAAC,aAAa;;2BAS1C,MAAM;8BAcH,MAAM,CAAC,cAAc;iCAKvC,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,YAChD,MAAM,CAAC,cAAc;CA4BpC,CAAA"}
@@ -0,0 +1,137 @@
1
+ import { Schema } from '#api/schema/index';
2
+ import { Grafaid } from '#lib/grafaid/index';
3
+ import { astToSchema } from '#template/lib/schema-utils/schema-utils';
4
+ import { Cache } from '@wollybeard/kit';
5
+ const NoImplementationWriteFile = async (path, content) => {
6
+ throw new Error('Write operations not supported in this environment');
7
+ };
8
+ const NoImplementationClearDirectory = async (path) => {
9
+ throw new Error('Directory operations not supported in this environment');
10
+ };
11
+ const NoImplementationRemoveFile = async (path) => {
12
+ throw new Error('File removal operations not supported in this environment');
13
+ };
14
+ export const createSchemaSource = (config) => {
15
+ const getSchemaPath = (version) => `${config.assetsPath}/schemas/${version}.json`;
16
+ const getChangelogPath = (version) => `${config.assetsPath}/schemas/${version}.changelog.json`;
17
+ const getSchemasDirectory = () => `${config.assetsPath}/schemas`;
18
+ const getMetadataPath = () => `${config.assetsPath}/schemas/metadata.json`;
19
+ const ioWrite = config.io.write || NoImplementationWriteFile;
20
+ const ioClearDirectory = config.io.clearDirectory || NoImplementationClearDirectory;
21
+ const ioRemoveFile = config.io.removeFile || NoImplementationRemoveFile;
22
+ // Memoize only the base IO read operation
23
+ const ioReadMemoized = Cache.memoize(config.io.read);
24
+ const get = async (version) => {
25
+ const content = await ioReadMemoized(getSchemaPath(version));
26
+ const schemaAst = JSON.parse(content);
27
+ const schema = astToSchema(schemaAst);
28
+ return schema;
29
+ };
30
+ const getChangelog = async (version) => {
31
+ const content = await ioReadMemoized(getChangelogPath(version));
32
+ return JSON.parse(content);
33
+ };
34
+ const getAllChangesets = async () => {
35
+ const changesets = [];
36
+ for (let i = 0; i < config.versions.length; i++) {
37
+ const version = config.versions[i];
38
+ if (!version)
39
+ continue;
40
+ const schema = await get(version);
41
+ if (!schema)
42
+ continue;
43
+ // Only try to read changelog for non-oldest versions (matching writeDevAssets logic)
44
+ let changelogData = null;
45
+ if (i < config.versions.length - 1) {
46
+ changelogData = await getChangelog(version);
47
+ }
48
+ if (changelogData) {
49
+ const prevVersion = config.versions[i + 1];
50
+ const prevSchema = prevVersion ? await get(prevVersion) : null;
51
+ if (prevSchema) {
52
+ changesets.push({
53
+ after: schema,
54
+ before: prevSchema,
55
+ changes: changelogData.changes,
56
+ date: new Date(changelogData.date),
57
+ });
58
+ }
59
+ }
60
+ else {
61
+ // Oldest version - no changelog, use existing utility
62
+ changesets.push({
63
+ after: schema,
64
+ before: Grafaid.Schema.empty,
65
+ changes: [],
66
+ date: Schema.versionStringToDate(version),
67
+ });
68
+ }
69
+ }
70
+ return changesets;
71
+ };
72
+ return {
73
+ //
74
+ // Properties
75
+ //
76
+ versions: config.versions,
77
+ isEmpty: config.versions.length === 0,
78
+ //
79
+ // Methods
80
+ //
81
+ get,
82
+ getChangelog,
83
+ getAllChangesets,
84
+ // Expose the memoized reader's clear method
85
+ clearCache: ioReadMemoized.clear,
86
+ // Write operations (use the writer, which throws if not provided)
87
+ writeSchema: async (version, schema) => {
88
+ const ast = Grafaid.Schema.AST.parse(Grafaid.Schema.print(schema));
89
+ await ioWrite(getSchemaPath(version), JSON.stringify(ast));
90
+ },
91
+ writeChangelog: async (version, changelog) => {
92
+ await ioWrite(getChangelogPath(version), JSON.stringify(changelog));
93
+ },
94
+ // Directory operations
95
+ clearAllAssets: async () => {
96
+ await ioClearDirectory(getSchemasDirectory());
97
+ },
98
+ removeAsset: async (version) => {
99
+ try {
100
+ await ioRemoveFile(getSchemaPath(version));
101
+ }
102
+ catch (error) {
103
+ // Swallow errors for file removal as requested
104
+ }
105
+ try {
106
+ await ioRemoveFile(getChangelogPath(version));
107
+ }
108
+ catch (error) {
109
+ // Swallow errors for file removal as requested
110
+ }
111
+ },
112
+ writeMetadata: async (metadata) => {
113
+ await ioWrite(getMetadataPath(), JSON.stringify(metadata, null, 2));
114
+ },
115
+ writeAllAssets: async (schemaData, metadata) => {
116
+ if (!schemaData)
117
+ return;
118
+ // Write schema and changelog files
119
+ for (const [index, version] of schemaData.entries()) {
120
+ const versionName = index === 0 ? Schema.VERSION_LATEST : Schema.dateToVersionString(version.date);
121
+ // Write schema file
122
+ await ioWrite(getSchemaPath(versionName), JSON.stringify(Grafaid.Schema.AST.parse(Grafaid.Schema.print(version.after))));
123
+ // Write changelog file (except for the oldest/last version)
124
+ if (Schema.shouldVersionHaveChangelog(index, schemaData.length)) {
125
+ const changelogData = {
126
+ changes: version.changes,
127
+ date: version.date.toISOString(),
128
+ };
129
+ await ioWrite(getChangelogPath(versionName), JSON.stringify(changelogData));
130
+ }
131
+ }
132
+ // Write metadata file
133
+ await ioWrite(getMetadataPath(), JSON.stringify(metadata, null, 2));
134
+ },
135
+ };
136
+ };
137
+ //# sourceMappingURL=schema-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-source.js","sourceRoot":"","sources":["../../../src/api/schema-source/schema-source.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { ReactRouter } from '#dep/react-router/index';
3
3
  import type { Vite } from '#dep/vite/index';
4
4
  import { ViteVirtual } from '#lib/vite-virtual/index';
5
5
  export declare const viProjectData: ViteVirtual.Identifier.Identifier;
6
+ export declare const viProjectSchema: ViteVirtual.Identifier.Identifier;
6
7
  export interface ProjectRoutesModule {
7
8
  routes: ReactRouter.RouteObject[];
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAarD,eAAO,MAAM,aAAa,mCAA+E,CAAA;AAEzG,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,CAAA;CAClC;AAED,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,YAAY,EA8M7D,CAAA"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAiBrD,eAAO,MAAM,aAAa,mCAA+E,CAAA;AACzG,eAAO,MAAM,eAAe,mCAAiF,CAAA;AAE7G,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC,WAAW,EAAE,CAAA;CAClC;AAED,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,YAAY,EA6M7D,CAAA"}
@@ -1,19 +1,25 @@
1
1
  import { Content } from '#api/content/$';
2
2
  import { createNavbar } from '#api/content/navbar';
3
3
  import { VitePluginSelfContainedMode } from '#cli/_/self-contained-mode';
4
+ import { Hono } from '#dep/hono/index';
4
5
  import { VitePluginJson } from '#lib/vite-plugin-json/index';
5
6
  import { ViteVirtual } from '#lib/vite-virtual/index';
6
7
  import { debugPolen } from '#singletons/debug';
7
8
  import { superjson } from '#singletons/superjson';
9
+ import * as HonoNodeServer from '@hono/node-server';
10
+ import { serveStatic } from '@hono/node-server/serve-static';
8
11
  import { Json, Str } from '@wollybeard/kit';
12
+ import * as NodePath from 'node:path';
9
13
  import { SchemaAugmentation } from '../../schema-augmentation/index.js';
10
14
  import { Schema } from '../../schema/index.js';
11
15
  import { createLogger } from '../logger.js';
12
16
  import { polenVirtual } from '../vi.js';
13
17
  import { Pages } from './pages.js';
18
+ import { SchemaAssets } from './schema-assets.js';
14
19
  const viTemplateVariables = polenVirtual([`template`, `variables`]);
15
20
  const viTemplateSchemaAugmentations = polenVirtual([`template`, `schema-augmentations`]);
16
21
  export const viProjectData = polenVirtual([`project`, `data.jsonsuper`], { allowPluginProcessing: true });
22
+ export const viProjectSchema = polenVirtual([`project`, `schema.jsonsuper`], { allowPluginProcessing: true });
17
23
  export const Core = (config) => {
18
24
  let schemaCache = null;
19
25
  const readSchema = async () => {
@@ -23,7 +29,7 @@ export const Core = (config) => {
23
29
  projectRoot: config.paths.project.rootDir,
24
30
  });
25
31
  // todo: augmentations scoped to a version
26
- schema?.versions.forEach(version => {
32
+ schema?.forEach(version => {
27
33
  SchemaAugmentation.apply(version.after, config.schemaAugmentations);
28
34
  });
29
35
  schemaCache = schema;
@@ -53,6 +59,7 @@ export const Core = (config) => {
53
59
  });
54
60
  return [
55
61
  ...plugins,
62
+ SchemaAssets(config),
56
63
  /**
57
64
  * If a `polen*` import is encountered from the user's project, resolve it to the currently
58
65
  * running source code of Polen rather than the user's node_modules.
@@ -111,11 +118,11 @@ export const Core = (config) => {
111
118
  __BUILD_ARCHITECTURE_SSG__: Json.encode(config.build.architecture === `ssg`),
112
119
  'process.env.NODE_ENV': Json.encode(config.advanced.debug ? 'development' : 'production'),
113
120
  },
114
- customLogger: createLogger(config),
121
+ // customLogger: createLogger(config),
115
122
  esbuild: false,
116
123
  build: {
117
124
  target: `esnext`,
118
- assetsDir: config.paths.project.relative.build.relative.assets,
125
+ assetsDir: config.paths.project.relative.build.relative.assets.root,
119
126
  rollupOptions: {
120
127
  treeshake: {
121
128
  // Aggressive tree-shaking for smallest bundles
@@ -131,6 +138,14 @@ export const Core = (config) => {
131
138
  };
132
139
  },
133
140
  ...ViteVirtual.IdentifiedLoader.toHooks({
141
+ identifier: viProjectSchema,
142
+ async loader() {
143
+ const debug = debugPolen.sub(`module-project-schema`);
144
+ debug(`load`, { id: viProjectSchema.id });
145
+ const schema = await readSchema();
146
+ return superjson.stringify(schema);
147
+ },
148
+ }, {
134
149
  identifier: viTemplateVariables,
135
150
  loader() {
136
151
  const s = `export const templateVariables = ${JSON.stringify(config.templateVariables)}`;
@@ -156,7 +171,7 @@ export const Core = (config) => {
156
171
  // hydration mismatches between SSR (where base path is prepended) and client
157
172
  // (where basename is configured). This ensures consistent behavior.
158
173
  navbar.push({ pathExp: `/reference`, title: `Reference` });
159
- if (schema.versions.length > 1) {
174
+ if (schema.length > 1) {
160
175
  navbar.push({ pathExp: `/changelog`, title: `Changelog` });
161
176
  }
162
177
  }
@@ -171,22 +186,10 @@ export const Core = (config) => {
171
186
  // ━━ Put It All together
172
187
  //
173
188
  const projectData = {
174
- schema,
175
189
  basePath: config.build.base,
176
- paths: config.paths.project,
190
+ paths: config.paths,
177
191
  navbar, // Complete navbar with schema and pages
178
- server: {
179
- port: config.server.port,
180
- static: {
181
- // todo
182
- // relative from CWD of process that boots n1ode server
183
- // can easily break! Use path relative in server??
184
- directory: `./` + config.paths.project.relative.build.root,
185
- // Uses Hono route syntax - includes base path
186
- route: config.build.base.slice(0, -1) + `/` + config.paths.project.relative.build.relative.assets
187
- + `/*`,
188
- },
189
- },
192
+ server: config.server,
190
193
  warnings: config.warnings,
191
194
  };
192
195
  // Return just the JSON string - let the JSON plugin handle the transformation
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../../src/api/vite/plugins/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { Config } from '#api/config/index';
2
+ import type { Vite } from '#dep/vite/index';
3
+ import { ViteVirtual } from '#lib/vite-virtual/index';
4
+ export declare const viProjectSchemaMetadata: ViteVirtual.Identifier.Identifier;
5
+ /**
6
+ * Vite plugin that generates JSON assets for GraphQL schemas at build time.
7
+ *
8
+ * This plugin:
9
+ * - Reads GraphQL schema files from the project
10
+ * - Applies schema augmentations
11
+ * - Converts schemas to AST format and emits as JSON assets
12
+ * - Creates a metadata file with available versions
13
+ * - Provides a virtual module for accessing schema metadata
14
+ *
15
+ * The generated assets enable client-side loading of different schema versions
16
+ * without requiring all schemas to be bundled into the main JavaScript bundle.
17
+ *
18
+ * @param config - Polen configuration object
19
+ * @returns Vite plugin instance
20
+ */
21
+ export declare const SchemaAssets: (config: Config.Config) => Vite.Plugin;
22
+ //# sourceMappingURL=schema-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-assets.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/schema-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAOrD,eAAO,MAAM,uBAAuB,mCAA+C,CAAA;AAEnF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,CAAC,MAAM,KAAG,IAAI,CAAC,MA6RzD,CAAA"}