polen 0.10.0-next.13 → 0.10.0-next.15

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 (942) hide show
  1. package/README.md +13 -89
  2. package/build/api/api.d.ts +4 -4
  3. package/build/api/api.js +4 -4
  4. package/build/api/builder/builder.js +1 -9
  5. package/build/api/builder/builder.js.map +1 -1
  6. package/build/api/builder/index.d.ts +1 -1
  7. package/build/api/builder/index.js +1 -1
  8. package/build/api/config/config.d.ts +4 -4
  9. package/build/api/config/config.js +4 -4
  10. package/build/api/config/configurator.d.ts +89 -9
  11. package/build/api/config/configurator.d.ts.map +1 -1
  12. package/build/api/config/configurator.js +5 -5
  13. package/build/api/config/configurator.js.map +1 -1
  14. package/build/api/config/define.d.ts +1 -1
  15. package/build/api/config/index.d.ts +1 -1
  16. package/build/api/config/index.js +1 -1
  17. package/build/api/config/load.d.ts +1 -1
  18. package/build/api/config/load.d.ts.map +1 -1
  19. package/build/api/config/load.js +1 -12
  20. package/build/api/config/load.js.map +1 -1
  21. package/build/api/config/merge.d.ts +1 -1
  22. package/build/api/config/merge.d.ts.map +1 -1
  23. package/build/api/config/merge.js +1 -3
  24. package/build/api/config/merge.js.map +1 -1
  25. package/build/api/config-resolver/config-resolver.d.ts +2 -2
  26. package/build/api/config-resolver/config-resolver.js +2 -2
  27. package/build/api/config-resolver/index.d.ts +1 -1
  28. package/build/api/config-resolver/index.js +1 -1
  29. package/build/api/config-resolver/resolve.d.ts +3 -3
  30. package/build/api/config-resolver/resolve.js +4 -4
  31. package/build/api/config-resolver/vite.d.ts +1 -1
  32. package/build/api/content/$$.d.ts +6 -6
  33. package/build/api/content/$$.js +6 -6
  34. package/build/api/content/$.d.ts +1 -1
  35. package/build/api/content/$.js +1 -1
  36. package/build/api/content/navbar.d.ts +1 -1
  37. package/build/api/content/navbar.js +2 -2
  38. package/build/api/content/page.d.ts +1 -1
  39. package/build/api/content/scan.d.ts +1 -1
  40. package/build/api/content/scan.js +7 -7
  41. package/build/api/content/sidebar.d.ts +5 -5
  42. package/build/api/content/sidebar.d.ts.map +1 -1
  43. package/build/api/content/sidebar.js +14 -14
  44. package/build/api/content/sidebar.js.map +1 -1
  45. package/build/api/index.d.ts +1 -1
  46. package/build/api/index.js +1 -1
  47. package/build/api/schema/data-sources/data-sources.d.ts +3 -3
  48. package/build/api/schema/data-sources/data-sources.js +3 -3
  49. package/build/api/schema/data-sources/index.d.ts +1 -1
  50. package/build/api/schema/data-sources/index.js +1 -1
  51. package/build/api/schema/data-sources/memory/memory.d.ts +36 -1
  52. package/build/api/schema/data-sources/memory/memory.d.ts.map +1 -1
  53. package/build/api/schema/data-sources/memory/memory.js.map +1 -1
  54. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js +0 -1
  55. package/build/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.js.map +1 -1
  56. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.d.ts +1 -1
  57. package/build/api/schema/data-sources/schema-directory/file-name-expression/index.js +1 -1
  58. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts +30 -1
  59. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  60. package/build/api/schema/data-sources/schema-directory/schema-directory.js +1 -1
  61. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  62. package/build/api/schema/data-sources/schema-file/schema-file.d.ts +20 -1
  63. package/build/api/schema/data-sources/schema-file/schema-file.d.ts.map +1 -1
  64. package/build/api/schema/data-sources/schema-file/schema-file.js.map +1 -1
  65. package/build/api/schema/index.d.ts +1 -1
  66. package/build/api/schema/index.js +1 -1
  67. package/build/api/schema/read.d.ts +43 -2
  68. package/build/api/schema/read.d.ts.map +1 -1
  69. package/build/api/schema/read.js +1 -1
  70. package/build/api/schema/read.js.map +1 -1
  71. package/build/api/schema/schema.d.ts +2 -2
  72. package/build/api/schema/schema.js +2 -2
  73. package/build/api/schema-augmentation/augmentations/description.d.ts +1 -1
  74. package/build/api/schema-augmentation/augmentations/description.js +1 -1
  75. package/build/api/schema-augmentation/index.d.ts +1 -1
  76. package/build/api/schema-augmentation/index.js +1 -1
  77. package/build/api/schema-augmentation/schema-augmentation.d.ts +1 -1
  78. package/build/api/schema-augmentation/schema-augmentation.d.ts.map +1 -1
  79. package/build/api/schema-augmentation/schema-augmentation.js +1 -2
  80. package/build/api/schema-augmentation/schema-augmentation.js.map +1 -1
  81. package/build/api/server/report-error.js +7 -5
  82. package/build/api/server/report-error.js.map +1 -1
  83. package/build/api/singletons/markdown/index.d.ts +1 -1
  84. package/build/api/singletons/markdown/index.js +1 -1
  85. package/build/api/singletons/markdown/markdown.d.ts.map +1 -1
  86. package/build/api/singletons/markdown/markdown.js +4 -22
  87. package/build/api/singletons/markdown/markdown.js.map +1 -1
  88. package/build/api/static/index.d.ts +1 -1
  89. package/build/api/static/index.js +1 -1
  90. package/build/api/static/manifest.js +3 -3
  91. package/build/api/static/rebase.d.ts +2 -2
  92. package/build/api/static/rebase.js +8 -8
  93. package/build/api/static/rebase.js.map +1 -1
  94. package/build/api/static/static.d.ts +2 -2
  95. package/build/api/static/static.js +2 -2
  96. package/build/api/utils/asset-url/index.d.ts +1 -1
  97. package/build/api/utils/asset-url/index.js +1 -1
  98. package/build/api/vite/logger.js +5 -5
  99. package/build/api/vite/plugins/{branding/index.d.ts → branding.d.ts} +1 -1
  100. package/build/api/vite/plugins/branding.d.ts.map +1 -0
  101. package/build/api/vite/plugins/{branding/index.js → branding.js} +9 -9
  102. package/build/api/vite/plugins/branding.js.map +1 -0
  103. package/build/api/vite/plugins/build.d.ts.map +1 -1
  104. package/build/api/vite/plugins/build.js +22 -24
  105. package/build/api/vite/plugins/build.js.map +1 -1
  106. package/build/api/vite/plugins/core.d.ts +2 -0
  107. package/build/api/vite/plugins/core.d.ts.map +1 -1
  108. package/build/api/vite/plugins/core.js +39 -42
  109. package/build/api/vite/plugins/core.js.map +1 -1
  110. package/build/api/vite/plugins/main.d.ts.map +1 -1
  111. package/build/api/vite/plugins/main.js +25 -23
  112. package/build/api/vite/plugins/main.js.map +1 -1
  113. package/build/api/vite/plugins/pages.d.ts +3 -5
  114. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  115. package/build/api/vite/plugins/pages.js +18 -46
  116. package/build/api/vite/plugins/pages.js.map +1 -1
  117. package/build/api/vite/plugins/serve.d.ts.map +1 -1
  118. package/build/api/vite/plugins/serve.js +59 -10
  119. package/build/api/vite/plugins/serve.js.map +1 -1
  120. package/build/cli/commands/build.js +0 -1
  121. package/build/cli/commands/build.js.map +1 -1
  122. package/build/cli/commands/config/$default.d.ts +2 -0
  123. package/build/cli/commands/config/$default.d.ts.map +1 -0
  124. package/build/cli/commands/config/$default.js +7 -0
  125. package/build/cli/commands/config/$default.js.map +1 -0
  126. package/build/cli/commands/config/create.d.ts +2 -0
  127. package/build/cli/commands/config/create.d.ts.map +1 -0
  128. package/build/cli/commands/config/create.js +21 -0
  129. package/build/cli/commands/config/create.js.map +1 -0
  130. package/build/cli/commands/config.d.ts +3 -0
  131. package/build/cli/commands/config.d.ts.map +1 -0
  132. package/build/cli/commands/config.js +5 -0
  133. package/build/cli/commands/config.js.map +1 -0
  134. package/build/cli/commands/create.js +2 -3
  135. package/build/cli/commands/create.js.map +1 -1
  136. package/build/cli/commands/dev.js +0 -1
  137. package/build/cli/commands/dev.js.map +1 -1
  138. package/build/cli/commands/open.js +0 -1
  139. package/build/cli/commands/open.js.map +1 -1
  140. package/build/cli/commands/static/rebase.js +0 -1
  141. package/build/cli/commands/static/rebase.js.map +1 -1
  142. package/build/cli/commands/static.js +1 -1
  143. package/build/dep/graphql-inspector/index.d.ts +1 -1
  144. package/build/dep/graphql-inspector/index.js +1 -1
  145. package/build/dep/hono/hono.d.ts +1 -1
  146. package/build/dep/hono/hono.js +1 -1
  147. package/build/dep/hono/index.d.ts +1 -1
  148. package/build/dep/hono/index.js +1 -1
  149. package/build/dep/superjson/index.d.ts +1 -1
  150. package/build/dep/superjson/index.js +1 -1
  151. package/build/dep/tiny-globby/index.d.ts +1 -1
  152. package/build/dep/tiny-globby/index.js +1 -1
  153. package/build/dep/vite/index.d.ts +1 -1
  154. package/build/dep/vite/index.js +1 -1
  155. package/build/exports/components.d.ts +3 -3
  156. package/build/exports/components.d.ts.map +1 -1
  157. package/build/exports/components.js +3 -3
  158. package/build/exports/components.js.map +1 -1
  159. package/build/exports/index.d.ts +1 -1
  160. package/build/exports/index.js +1 -1
  161. package/build/lib/apple-touch-icon/index.d.ts +1 -1
  162. package/build/lib/apple-touch-icon/index.js +1 -1
  163. package/build/lib/errors/ContextualAggregateError.d.ts +1 -1
  164. package/build/lib/errors/ContextualAggregateError.js +1 -1
  165. package/build/lib/errors/ContextualError.d.ts +1 -1
  166. package/build/lib/errors/ErrorInternal.d.ts +2 -2
  167. package/build/lib/errors/ErrorInternal.js +1 -1
  168. package/build/lib/errors/errors.d.ts +4 -4
  169. package/build/lib/errors/errors.js +4 -4
  170. package/build/lib/errors/index.d.ts +1 -1
  171. package/build/lib/errors/index.js +1 -1
  172. package/build/lib/errors/types.d.ts +1 -1
  173. package/build/lib/extensible-data/index.d.ts +1 -1
  174. package/build/lib/extensible-data/index.js +1 -1
  175. package/build/lib/favicon/index.d.ts +1 -1
  176. package/build/lib/favicon/index.js +1 -1
  177. package/build/lib/file-router/diagnostic-reporter.d.ts +1 -1
  178. package/build/lib/file-router/diagnostic-reporter.js +9 -9
  179. package/build/lib/file-router/diagnostic-reporter.js.map +1 -1
  180. package/build/lib/file-router/file-router.d.ts +3 -3
  181. package/build/lib/file-router/file-router.js +3 -3
  182. package/build/lib/file-router/index.d.ts +1 -1
  183. package/build/lib/file-router/index.js +1 -1
  184. package/build/lib/file-router/linter.d.ts +5 -5
  185. package/build/lib/file-router/linter.js +7 -7
  186. package/build/lib/file-router/scan.d.ts +2 -2
  187. package/build/lib/file-router/scan.js +3 -3
  188. package/build/lib/grafaid/_Nodes.d.ts +1 -1
  189. package/build/lib/grafaid/_Nodes.js +1 -1
  190. package/build/lib/grafaid/document/OperationTypeNode.d.ts +1 -1
  191. package/build/lib/grafaid/document/OperationTypeNode.js +1 -1
  192. package/build/lib/grafaid/document/kind.d.ts +1 -1
  193. package/build/lib/grafaid/document/kind.js +1 -1
  194. package/build/lib/grafaid/document.d.ts +4 -4
  195. package/build/lib/grafaid/document.js +6 -6
  196. package/build/lib/grafaid/grafaid.d.ts +4 -4
  197. package/build/lib/grafaid/grafaid.js +4 -4
  198. package/build/lib/grafaid/graphql.d.ts +2 -2
  199. package/build/lib/grafaid/graphql.js +2 -2
  200. package/build/lib/grafaid/http/__.d.ts +1 -1
  201. package/build/lib/grafaid/http/__.js +1 -1
  202. package/build/lib/grafaid/http/http.js +1 -1
  203. package/build/lib/grafaid/index.d.ts +1 -1
  204. package/build/lib/grafaid/index.js +1 -1
  205. package/build/lib/grafaid/schema/KindMap/_.d.ts +3 -3
  206. package/build/lib/grafaid/schema/KindMap/_.js +4 -4
  207. package/build/lib/grafaid/schema/KindMap/__.d.ts +2 -2
  208. package/build/lib/grafaid/schema/KindMap/__.js +1 -1
  209. package/build/lib/grafaid/schema/OperationType/__.d.ts +2 -2
  210. package/build/lib/grafaid/schema/OperationType/__.js +1 -1
  211. package/build/lib/grafaid/schema/RootDetails.d.ts +3 -3
  212. package/build/lib/grafaid/schema/RootDetails.js +2 -2
  213. package/build/lib/grafaid/schema/RootTypeMap.d.ts +2 -2
  214. package/build/lib/grafaid/schema/RootTypeMap.js +2 -2
  215. package/build/lib/grafaid/schema/nodes-like.d.ts +1 -1
  216. package/build/lib/grafaid/schema/nodes-like.js +1 -1
  217. package/build/lib/grafaid/schema/schema.d.ts +14 -14
  218. package/build/lib/grafaid/schema/schema.js +15 -15
  219. package/build/lib/grafaid/schema/type-kind-name.d.ts +1 -1
  220. package/build/lib/grafaid/schema/type-kind-name.js +1 -1
  221. package/build/lib/grafaid/schema/type.d.ts +1 -1
  222. package/build/lib/grafaid/schema/typeGuards.js +1 -1
  223. package/build/lib/grafaid-old/grafaid.d.ts +1 -1
  224. package/build/lib/grafaid-old/grafaid.js +1 -1
  225. package/build/lib/grafaid-old/index.d.ts +1 -1
  226. package/build/lib/grafaid-old/index.js +1 -1
  227. package/build/lib/graphql-change/index.d.ts +1 -1
  228. package/build/lib/graphql-change/index.js +1 -1
  229. package/build/lib/graphql-changeset/index.d.ts +1 -1
  230. package/build/lib/graphql-changeset/index.js +1 -1
  231. package/build/lib/graphql-document/$$.d.ts +4 -4
  232. package/build/lib/graphql-document/$$.js +4 -4
  233. package/build/lib/graphql-document/$.d.ts +1 -1
  234. package/build/lib/graphql-document/$.js +1 -1
  235. package/build/lib/graphql-document/analysis.d.ts +1 -1
  236. package/build/lib/graphql-document/analysis.js +46 -46
  237. package/build/lib/graphql-document/components/GraphQLDocument.d.ts.map +1 -1
  238. package/build/lib/graphql-document/components/GraphQLDocument.js +46 -27
  239. package/build/lib/graphql-document/components/GraphQLDocument.js.map +1 -1
  240. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts +3 -3
  241. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.d.ts.map +1 -1
  242. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js +14 -30
  243. package/build/lib/graphql-document/components/GraphQLDocumentWithSchema.js.map +1 -1
  244. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts +2 -2
  245. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.d.ts.map +1 -1
  246. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js +26 -24
  247. package/build/lib/graphql-document/components/GraphQLIdentifierPopover.js.map +1 -1
  248. package/build/lib/graphql-document/components/IdentifierLink.d.ts +3 -3
  249. package/build/lib/graphql-document/components/IdentifierLink.js +22 -22
  250. package/build/lib/graphql-document/components/IdentifierLink.js.map +1 -1
  251. package/build/lib/graphql-document/components/graphql-document-styles.d.ts +1 -1
  252. package/build/lib/graphql-document/components/graphql-document-styles.d.ts.map +1 -1
  253. package/build/lib/graphql-document/components/graphql-document-styles.js +0 -23
  254. package/build/lib/graphql-document/components/graphql-document-styles.js.map +1 -1
  255. package/build/lib/graphql-document/components/index.d.ts +4 -5
  256. package/build/lib/graphql-document/components/index.d.ts.map +1 -1
  257. package/build/lib/graphql-document/components/index.js +4 -5
  258. package/build/lib/graphql-document/components/index.js.map +1 -1
  259. package/build/lib/graphql-document/example.d.ts +1 -1
  260. package/build/lib/graphql-document/example.js +36 -36
  261. package/build/lib/graphql-document/example.js.map +1 -1
  262. package/build/lib/graphql-document/graphql-document.d.ts +9 -9
  263. package/build/lib/graphql-document/graphql-document.d.ts.map +1 -1
  264. package/build/lib/graphql-document/graphql-document.js +9 -9
  265. package/build/lib/graphql-document/graphql-document.js.map +1 -1
  266. package/build/lib/graphql-document/positioning-simple.d.ts +1 -6
  267. package/build/lib/graphql-document/positioning-simple.d.ts.map +1 -1
  268. package/build/lib/graphql-document/positioning-simple.js +96 -108
  269. package/build/lib/graphql-document/positioning-simple.js.map +1 -1
  270. package/build/lib/graphql-document/schema-integration.d.ts +5 -5
  271. package/build/lib/graphql-document/schema-integration.d.ts.map +1 -1
  272. package/build/lib/graphql-document/schema-integration.js +22 -22
  273. package/build/lib/graphql-document/schema-integration.js.map +1 -1
  274. package/build/lib/graphql-document/types.d.ts +4 -4
  275. package/build/lib/graphql-schema-loader/index.d.ts +1 -1
  276. package/build/lib/graphql-schema-loader/index.js +1 -1
  277. package/build/lib/helpers.js +1 -1
  278. package/build/lib/hono-aid/index.d.ts +1 -1
  279. package/build/lib/hono-aid/index.js +1 -1
  280. package/build/lib/html-utils/html-transformer.d.ts +4 -0
  281. package/build/lib/html-utils/html-transformer.d.ts.map +1 -0
  282. package/build/lib/html-utils/html-transformer.js +3 -0
  283. package/build/lib/html-utils/html-transformer.js.map +1 -0
  284. package/build/lib/html-utils/inject-global-data.d.ts +41 -0
  285. package/build/lib/html-utils/inject-global-data.d.ts.map +1 -0
  286. package/build/lib/html-utils/inject-global-data.js +65 -0
  287. package/build/lib/html-utils/inject-global-data.js.map +1 -0
  288. package/build/lib/kit-temp.d.ts +169 -2
  289. package/build/lib/kit-temp.d.ts.map +1 -1
  290. package/build/lib/kit-temp.js +270 -6
  291. package/build/lib/kit-temp.js.map +1 -1
  292. package/build/lib/kit-temp.test-d.js +16 -16
  293. package/build/lib/kit-temp.test-d.js.map +1 -1
  294. package/build/lib/mask/$$.d.ts +2 -2
  295. package/build/lib/mask/$$.js +2 -2
  296. package/build/lib/mask/$.d.ts +1 -1
  297. package/build/lib/mask/$.js +1 -1
  298. package/build/lib/mask/apply.d.ts +9 -9
  299. package/build/lib/mask/apply.d.ts.map +1 -1
  300. package/build/lib/mask/apply.js +3 -3
  301. package/build/lib/mask/apply.js.map +1 -1
  302. package/build/lib/mask/mask.d.ts +7 -7
  303. package/build/lib/mask/mask.d.ts.map +1 -1
  304. package/build/lib/mask/mask.js +12 -12
  305. package/build/lib/mask/mask.test-d.js +14 -14
  306. package/build/lib/mask/mask.test-d.js.map +1 -1
  307. package/build/lib/mutation-type.js +3 -3
  308. package/build/lib/path-map/$$.d.ts +7 -0
  309. package/build/lib/path-map/$$.d.ts.map +1 -0
  310. package/build/lib/path-map/$$.js +7 -0
  311. package/build/lib/path-map/$$.js.map +1 -0
  312. package/build/lib/path-map/$.d.ts +7 -0
  313. package/build/lib/path-map/$.d.ts.map +1 -0
  314. package/build/lib/path-map/$.js +7 -0
  315. package/build/lib/path-map/$.js.map +1 -0
  316. package/build/lib/path-map/path-map.d.ts +110 -0
  317. package/build/lib/path-map/path-map.d.ts.map +1 -0
  318. package/build/lib/path-map/path-map.js +126 -0
  319. package/build/lib/path-map/path-map.js.map +1 -0
  320. package/build/lib/react-router-aid/index.d.ts +1 -1
  321. package/build/lib/react-router-aid/index.js +1 -1
  322. package/build/lib/react-router-aid/react-router-aid.d.ts +1 -1
  323. package/build/lib/react-router-aid/react-router-aid.js +1 -1
  324. package/build/lib/react-router-loader/react-router-loader.d.ts.map +1 -1
  325. package/build/lib/react-router-loader/react-router-loader.js +1 -4
  326. package/build/lib/react-router-loader/react-router-loader.js.map +1 -1
  327. package/build/lib/stack-processor/index.d.ts +1 -1
  328. package/build/lib/stack-processor/index.js +1 -1
  329. package/build/lib/stack-processor/stack-processor.d.ts.map +1 -1
  330. package/build/lib/stack-processor/stack-processor.js +0 -1
  331. package/build/lib/stack-processor/stack-processor.js.map +1 -1
  332. package/build/lib/superjson-codec/codecs/graphql-schema.d.ts +1 -1
  333. package/build/lib/superjson-codec/codecs/graphql-schema.js +1 -1
  334. package/build/lib/superjson-codec/exports.d.ts +2 -2
  335. package/build/lib/superjson-codec/exports.js +2 -2
  336. package/build/lib/superjson-codec/index.d.ts +1 -1
  337. package/build/lib/superjson-codec/index.js +1 -1
  338. package/build/lib/task/$$.d.ts +2 -2
  339. package/build/lib/task/$$.js +2 -2
  340. package/build/lib/task/$.d.ts +1 -1
  341. package/build/lib/task/$.js +1 -1
  342. package/build/lib/task/report.d.ts +1 -1
  343. package/build/lib/task/task.d.ts +1 -1
  344. package/build/lib/task/task.js +2 -2
  345. package/build/lib/theme/$.d.ts +2 -0
  346. package/build/lib/theme/$.d.ts.map +1 -0
  347. package/build/lib/theme/$.js +3 -0
  348. package/build/lib/theme/$.js.map +1 -0
  349. package/build/lib/theme/theme.d.ts +68 -0
  350. package/build/lib/theme/theme.d.ts.map +1 -0
  351. package/build/lib/theme/theme.js +123 -0
  352. package/build/lib/theme/theme.js.map +1 -0
  353. package/build/lib/vite-plugin-json/index.d.ts +1 -1
  354. package/build/lib/vite-plugin-json/index.js +1 -1
  355. package/build/lib/vite-plugin-json/vite-plugin-json.js +3 -4
  356. package/build/lib/vite-plugin-json/vite-plugin-json.js.map +1 -1
  357. package/build/lib/vite-plugin-mdx/index.d.ts +1 -1
  358. package/build/lib/vite-plugin-mdx/index.js +1 -1
  359. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts +1 -1
  360. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.d.ts.map +1 -1
  361. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js +2 -6
  362. package/build/lib/vite-plugin-mdx/vite-plugin-mdx.js.map +1 -1
  363. package/build/lib/vite-plugin-reactive-data/index.d.ts +1 -1
  364. package/build/lib/vite-plugin-reactive-data/index.js +1 -1
  365. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts +2 -9
  366. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.d.ts.map +1 -1
  367. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js +48 -55
  368. package/build/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.js.map +1 -1
  369. package/build/lib/vite-plugins/index.d.ts +1 -1
  370. package/build/lib/vite-plugins/index.js +1 -1
  371. package/build/lib/vite-plugins/vite-plugins.d.ts +1 -1
  372. package/build/lib/vite-plugins/vite-plugins.js +1 -1
  373. package/build/lib/vite-virtual/identified-loader.d.ts +2 -2
  374. package/build/lib/vite-virtual/identified-loader.js +2 -2
  375. package/build/lib/vite-virtual/identifier.js +1 -1
  376. package/build/lib/vite-virtual/index.d.ts +1 -1
  377. package/build/lib/vite-virtual/index.js +1 -1
  378. package/build/lib/vite-virtual/vite-virtual.d.ts +3 -3
  379. package/build/lib/vite-virtual/vite-virtual.js +3 -3
  380. package/build/package-paths.d.ts +18 -6
  381. package/build/package-paths.d.ts.map +1 -1
  382. package/build/package-paths.js +19 -6
  383. package/build/package-paths.js.map +1 -1
  384. package/build/project-data.d.ts +3 -1
  385. package/build/project-data.d.ts.map +1 -1
  386. package/build/sandbox.js +9 -9
  387. package/build/template/components/ArgumentList.js +1 -1
  388. package/build/template/components/ArgumentList.js.map +1 -1
  389. package/build/template/components/ArgumentListAnnotation.js +2 -2
  390. package/build/template/components/ArgumentListAnnotation.js.map +1 -1
  391. package/build/template/components/Changelog.d.ts +1 -1
  392. package/build/template/components/Changelog.js +1 -1
  393. package/build/template/components/CodeBlock.d.ts +0 -8
  394. package/build/template/components/CodeBlock.d.ts.map +1 -1
  395. package/build/template/components/CodeBlock.js +3 -38
  396. package/build/template/components/CodeBlock.js.map +1 -1
  397. package/build/template/components/CodeBlockEnhancer.js +41 -41
  398. package/build/template/components/CodeBlockEnhancer.js.map +1 -1
  399. package/build/template/components/DeprecationReason.js +1 -1
  400. package/build/template/components/DeprecationReason.js.map +1 -1
  401. package/build/template/components/Description.js +1 -1
  402. package/build/template/components/Description.js.map +1 -1
  403. package/build/template/components/Field.js +4 -4
  404. package/build/template/components/Field.js.map +1 -1
  405. package/build/template/components/FieldList.js +1 -1
  406. package/build/template/components/FieldList.js.map +1 -1
  407. package/build/template/components/FieldListSection.js +1 -1
  408. package/build/template/components/FieldListSection.js.map +1 -1
  409. package/build/template/components/HamburgerMenu.js +11 -11
  410. package/build/template/components/HamburgerMenu.js.map +1 -1
  411. package/build/template/components/Link.d.ts +3 -3
  412. package/build/template/components/Link.d.ts.map +1 -1
  413. package/build/template/components/Link.js +29 -20
  414. package/build/template/components/Link.js.map +1 -1
  415. package/build/template/components/Logo.js +4 -4
  416. package/build/template/components/MDXComponents.d.ts +0 -1
  417. package/build/template/components/MDXComponents.d.ts.map +1 -1
  418. package/build/template/components/MDXComponents.js +1 -59
  419. package/build/template/components/MDXComponents.js.map +1 -1
  420. package/build/template/components/NamedType.js +2 -2
  421. package/build/template/components/NamedType.js.map +1 -1
  422. package/build/template/components/TestComponent.js +2 -2
  423. package/build/template/components/Texts/MinorHeading.js +4 -4
  424. package/build/template/components/Texts/index.d.ts +1 -1
  425. package/build/template/components/Texts/index.js +1 -1
  426. package/build/template/components/Texts/texts.d.ts +1 -1
  427. package/build/template/components/Texts/texts.d.ts.map +1 -1
  428. package/build/template/components/Texts/texts.js +1 -1
  429. package/build/template/components/Texts/texts.js.map +1 -1
  430. package/build/template/components/ThemeToggle.d.ts.map +1 -1
  431. package/build/template/components/ThemeToggle.js +25 -4
  432. package/build/template/components/ThemeToggle.js.map +1 -1
  433. package/build/template/components/TypeAnnotation.js +1 -1
  434. package/build/template/components/TypeAnnotation.js.map +1 -1
  435. package/build/template/components/TypeFieldsLinkList.js +1 -1
  436. package/build/template/components/TypeFieldsLinkList.js.map +1 -1
  437. package/build/template/components/TypeIndex.js +1 -1
  438. package/build/template/components/TypeIndex.js.map +1 -1
  439. package/build/template/components/content/$$.d.ts +1 -1
  440. package/build/template/components/content/$$.d.ts.map +1 -1
  441. package/build/template/components/content/$$.js +1 -1
  442. package/build/template/components/content/$$.js.map +1 -1
  443. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts +2 -2
  444. package/build/template/components/content/GraphQLDocumentWithSchema.d.ts.map +1 -1
  445. package/build/template/components/content/GraphQLDocumentWithSchema.js +1 -4
  446. package/build/template/components/content/GraphQLDocumentWithSchema.js.map +1 -1
  447. package/build/template/components/content/GraphQLDocumentWrapper.d.ts +2 -2
  448. package/build/template/components/content/GraphQLDocumentWrapper.d.ts.map +1 -1
  449. package/build/template/components/content/GraphQLDocumentWrapper.js +13 -27
  450. package/build/template/components/content/GraphQLDocumentWrapper.js.map +1 -1
  451. package/build/template/components/graphql/graphql.d.ts +2 -2
  452. package/build/template/components/graphql/graphql.d.ts.map +1 -1
  453. package/build/template/components/graphql/graphql.js +2 -2
  454. package/build/template/components/graphql/graphql.js.map +1 -1
  455. package/build/template/components/graphql/index.d.ts +1 -1
  456. package/build/template/components/graphql/index.d.ts.map +1 -1
  457. package/build/template/components/graphql/index.js +1 -1
  458. package/build/template/components/graphql/index.js.map +1 -1
  459. package/build/template/components/graphql/type-kind-icon.d.ts.map +1 -1
  460. package/build/template/components/graphql/type-kind-icon.js +1 -2
  461. package/build/template/components/graphql/type-kind-icon.js.map +1 -1
  462. package/build/template/components/graphql/type-link.js +3 -3
  463. package/build/template/components/graphql/type-link.js.map +1 -1
  464. package/build/template/components/sidebar/Sidebar.js +1 -1
  465. package/build/template/components/sidebar/Sidebar.js.map +1 -1
  466. package/build/template/components/sidebar/SidebarItem.js +6 -6
  467. package/build/template/components/sidebar/SidebarItem.js.map +1 -1
  468. package/build/template/constants.d.ts +17 -0
  469. package/build/template/constants.d.ts.map +1 -0
  470. package/build/template/constants.js +11 -0
  471. package/build/template/constants.js.map +1 -0
  472. package/build/template/contexts/ThemeContext.d.ts +3 -1
  473. package/build/template/contexts/ThemeContext.d.ts.map +1 -1
  474. package/build/template/contexts/ThemeContext.js +50 -22
  475. package/build/template/contexts/ThemeContext.js.map +1 -1
  476. package/build/template/entry.client.d.ts.map +1 -1
  477. package/build/template/entry.client.js +6 -5
  478. package/build/template/entry.client.js.map +1 -1
  479. package/build/template/hooks/useClientOnly.d.ts +9 -0
  480. package/build/template/hooks/useClientOnly.d.ts.map +1 -0
  481. package/build/template/hooks/useClientOnly.js +16 -0
  482. package/build/template/hooks/useClientOnly.js.map +1 -0
  483. package/build/template/routes/changelog.d.ts +1 -1
  484. package/build/template/routes/changelog.js +1 -1
  485. package/build/template/routes/changelog.js.map +1 -1
  486. package/build/template/routes/reference.$type.$field.js +2 -2
  487. package/build/template/routes/reference.$type.$field.js.map +1 -1
  488. package/build/template/routes/reference.$type.js +2 -2
  489. package/build/template/routes/reference.$type.js.map +1 -1
  490. package/build/template/routes/reference.js +2 -2
  491. package/build/template/routes/reference.js.map +1 -1
  492. package/build/template/routes/root.d.ts.map +1 -1
  493. package/build/template/routes/root.js +29 -174
  494. package/build/template/routes/root.js.map +1 -1
  495. package/build/template/routes.js +1 -1
  496. package/build/template/routes.js.map +1 -1
  497. package/build/template/server/app.d.ts +8 -1
  498. package/build/template/server/app.d.ts.map +1 -1
  499. package/build/template/server/app.js +30 -21
  500. package/build/template/server/app.js.map +1 -1
  501. package/build/template/server/create-page-html-response.d.ts +8 -0
  502. package/build/template/server/create-page-html-response.d.ts.map +1 -0
  503. package/build/template/server/{render-page.js → create-page-html-response.js} +42 -18
  504. package/build/template/server/create-page-html-response.js.map +1 -0
  505. package/build/template/server/main.js +4 -3
  506. package/build/template/server/main.js.map +1 -1
  507. package/build/template/server/middleware/page.d.ts +4 -0
  508. package/build/template/server/middleware/page.d.ts.map +1 -0
  509. package/build/template/server/middleware/page.js +15 -0
  510. package/build/template/server/middleware/page.js.map +1 -0
  511. package/build/template/server/middleware/unsupported-assets.d.ts +10 -0
  512. package/build/template/server/middleware/unsupported-assets.d.ts.map +1 -0
  513. package/build/template/server/middleware/unsupported-assets.js +21 -0
  514. package/build/template/server/middleware/unsupported-assets.js.map +1 -0
  515. package/build/template/server/ssg/generate.d.ts.map +1 -1
  516. package/build/template/server/ssg/generate.js +45 -36
  517. package/build/template/server/ssg/generate.js.map +1 -1
  518. package/build/template/server/ssg/get-route-paths.js +1 -1
  519. package/build/template/server/ssg/get-route-paths.js.map +1 -1
  520. package/build/template/server/transformers/inject-polen-data.d.ts +6 -0
  521. package/build/template/server/transformers/inject-polen-data.d.ts.map +1 -0
  522. package/build/template/server/transformers/inject-polen-data.js +28 -0
  523. package/build/template/server/transformers/inject-polen-data.js.map +1 -0
  524. package/build/template/server/transformers/inject-theme-init.d.ts +6 -0
  525. package/build/template/server/transformers/inject-theme-init.d.ts.map +1 -0
  526. package/build/template/server/transformers/inject-theme-init.js +29 -0
  527. package/build/template/server/transformers/inject-theme-init.js.map +1 -0
  528. package/build/template/server/view.js +1 -1
  529. package/build/template/server/view.js.map +1 -1
  530. package/build/template/styles/code-block.css +218 -0
  531. package/package.json +32 -77
  532. package/src/api/api.ts +4 -4
  533. package/src/api/builder/index.ts +1 -1
  534. package/src/api/config/config.ts +4 -4
  535. package/src/api/config/configurator.ts +94 -15
  536. package/src/api/config/define.ts +1 -1
  537. package/src/api/config/index.ts +1 -1
  538. package/src/api/config/load.ts +1 -4
  539. package/src/api/config/merge.ts +1 -2
  540. package/src/api/config-resolver/config-resolver.ts +2 -2
  541. package/src/api/config-resolver/index.ts +1 -1
  542. package/src/api/config-resolver/resolve.ts +4 -4
  543. package/src/api/config-resolver/vite.ts +1 -1
  544. package/src/api/content/$$.ts +6 -6
  545. package/src/api/content/$.test.ts +1 -1
  546. package/src/api/content/$.ts +1 -1
  547. package/src/api/content/navbar.test.ts +2 -2
  548. package/src/api/content/navbar.ts +3 -3
  549. package/src/api/content/page.ts +1 -1
  550. package/src/api/content/scan.ts +8 -8
  551. package/src/api/content/sidebar.test.ts +3 -3
  552. package/src/api/content/sidebar.ts +20 -20
  553. package/src/api/index.ts +1 -1
  554. package/src/api/schema/data-sources/data-sources.ts +3 -3
  555. package/src/api/schema/data-sources/index.ts +1 -1
  556. package/src/api/schema/data-sources/memory/memory.ts +36 -1
  557. package/src/api/schema/data-sources/schema-directory/file-name-expression/file-name-expression.ts +0 -1
  558. package/src/api/schema/data-sources/schema-directory/file-name-expression/index.ts +1 -1
  559. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +31 -2
  560. package/src/api/schema/data-sources/schema-file/schema-file.ts +20 -1
  561. package/src/api/schema/index.ts +1 -1
  562. package/src/api/schema/read.ts +43 -2
  563. package/src/api/schema/schema.ts +2 -2
  564. package/src/api/schema-augmentation/augmentations/description.ts +2 -2
  565. package/src/api/schema-augmentation/index.ts +1 -1
  566. package/src/api/schema-augmentation/schema-augmentation.ts +1 -2
  567. package/src/api/server/report-error.ts +7 -5
  568. package/src/api/singletons/markdown/index.ts +1 -1
  569. package/src/api/singletons/markdown/markdown.test.ts +27 -30
  570. package/src/api/singletons/markdown/markdown.ts +4 -23
  571. package/src/api/static/index.ts +1 -1
  572. package/src/api/static/manifest.test.ts +1 -1
  573. package/src/api/static/manifest.ts +3 -3
  574. package/src/api/static/rebase.test.ts +2 -2
  575. package/src/api/static/rebase.ts +11 -11
  576. package/src/api/static/static.ts +2 -2
  577. package/src/api/utils/asset-url/asset-url.test.ts +1 -1
  578. package/src/api/utils/asset-url/index.ts +1 -1
  579. package/src/api/vite/logger.ts +5 -5
  580. package/src/api/vite/plugins/{branding/index.ts → branding.ts} +9 -9
  581. package/src/api/vite/plugins/build.ts +103 -97
  582. package/src/api/vite/plugins/core.ts +45 -43
  583. package/src/api/vite/plugins/main.ts +25 -22
  584. package/src/api/vite/plugins/pages.ts +20 -53
  585. package/src/api/vite/plugins/serve.ts +74 -11
  586. package/src/cli/commands/build.ts +0 -1
  587. package/src/cli/commands/config/$default.ts +7 -0
  588. package/src/cli/commands/config/create.ts +25 -0
  589. package/src/cli/commands/config.ts +6 -0
  590. package/src/cli/commands/create.ts +2 -3
  591. package/src/cli/commands/dev.ts +0 -1
  592. package/src/cli/commands/open.ts +0 -1
  593. package/src/cli/commands/static/rebase.ts +0 -1
  594. package/src/cli/commands/static.ts +1 -1
  595. package/src/dep/graphql-inspector/index.ts +1 -1
  596. package/src/dep/hono/hono.ts +1 -1
  597. package/src/dep/hono/index.ts +1 -1
  598. package/src/dep/superjson/index.ts +1 -1
  599. package/src/dep/tiny-globby/index.ts +1 -1
  600. package/src/dep/vite/index.ts +1 -1
  601. package/src/exports/components.ts +3 -3
  602. package/src/exports/index.ts +1 -1
  603. package/src/lib/apple-touch-icon/index.ts +1 -1
  604. package/src/lib/errors/ContextualAggregateError.ts +1 -1
  605. package/src/lib/errors/ContextualError.ts +1 -1
  606. package/src/lib/errors/ErrorInternal.ts +2 -2
  607. package/src/lib/errors/errors.ts +4 -4
  608. package/src/lib/errors/index.ts +1 -1
  609. package/src/lib/errors/types.ts +1 -1
  610. package/src/lib/extensible-data/index.ts +1 -1
  611. package/src/lib/favicon/index.ts +1 -1
  612. package/src/lib/file-router/diagnostic-reporter.ts +10 -10
  613. package/src/lib/file-router/file-router.ts +3 -3
  614. package/src/lib/file-router/index.test.ts +2 -2
  615. package/src/lib/file-router/index.ts +1 -1
  616. package/src/lib/file-router/linter.test.ts +2 -2
  617. package/src/lib/file-router/linter.ts +11 -11
  618. package/src/lib/file-router/scan.ts +4 -4
  619. package/src/lib/grafaid/_Nodes.ts +1 -1
  620. package/src/lib/grafaid/document/OperationTypeNode.ts +1 -1
  621. package/src/lib/grafaid/document/kind.ts +1 -1
  622. package/src/lib/grafaid/document.ts +6 -6
  623. package/src/lib/grafaid/grafaid.ts +4 -4
  624. package/src/lib/grafaid/graphql.ts +3 -3
  625. package/src/lib/grafaid/http/__.ts +1 -1
  626. package/src/lib/grafaid/http/http.ts +1 -1
  627. package/src/lib/grafaid/index.ts +1 -1
  628. package/src/lib/grafaid/schema/KindMap/_.ts +6 -6
  629. package/src/lib/grafaid/schema/KindMap/__.ts +2 -2
  630. package/src/lib/grafaid/schema/OperationType/__.ts +2 -2
  631. package/src/lib/grafaid/schema/RootDetails.ts +3 -3
  632. package/src/lib/grafaid/schema/RootTypeMap.ts +2 -2
  633. package/src/lib/grafaid/schema/nodes-like.ts +2 -2
  634. package/src/lib/grafaid/schema/schema.ts +15 -15
  635. package/src/lib/grafaid/schema/type-kind-name.ts +1 -1
  636. package/src/lib/grafaid/schema/type.ts +1 -1
  637. package/src/lib/grafaid/schema/typeGuards.ts +1 -1
  638. package/src/lib/grafaid-old/grafaid.ts +1 -1
  639. package/src/lib/grafaid-old/index.ts +1 -1
  640. package/src/lib/graphql-change/index.ts +1 -1
  641. package/src/lib/graphql-changeset/index.ts +1 -1
  642. package/src/lib/graphql-document/$$.ts +4 -4
  643. package/src/lib/graphql-document/$.test.ts +3 -3
  644. package/src/lib/graphql-document/$.ts +1 -1
  645. package/src/lib/graphql-document/analysis.ts +49 -49
  646. package/src/lib/graphql-document/components/GraphQLDocument.tsx +56 -45
  647. package/src/lib/graphql-document/components/GraphQLDocument.unit.test.ts +4 -4
  648. package/src/lib/graphql-document/components/GraphQLDocumentWithSchema.tsx +18 -37
  649. package/src/lib/graphql-document/components/GraphQLIdentifierPopover.tsx +31 -29
  650. package/src/lib/graphql-document/components/IdentifierLink.tsx +25 -25
  651. package/src/lib/graphql-document/components/graphql-document-styles.ts +0 -23
  652. package/src/lib/graphql-document/components/index.ts +4 -5
  653. package/src/lib/graphql-document/example.ts +35 -35
  654. package/src/lib/graphql-document/graphql-document.ts +9 -9
  655. package/src/lib/graphql-document/hooks/use-tooltip-state.test.ts +1 -1
  656. package/src/lib/graphql-document/positioning-simple.test.ts +22 -26
  657. package/src/lib/graphql-document/positioning-simple.ts +116 -127
  658. package/src/lib/graphql-document/schema-integration.test.ts +1 -1
  659. package/src/lib/graphql-document/schema-integration.ts +27 -36
  660. package/src/lib/graphql-document/types.ts +4 -4
  661. package/src/lib/graphql-schema-loader/index.ts +1 -1
  662. package/src/lib/helpers.ts +1 -1
  663. package/src/lib/hono-aid/index.ts +1 -1
  664. package/src/lib/html-utils/html-transformer.ts +6 -0
  665. package/src/lib/html-utils/inject-global-data.test.ts +89 -0
  666. package/src/lib/html-utils/inject-global-data.ts +80 -0
  667. package/src/lib/kit-temp.test-d.ts +27 -22
  668. package/src/lib/kit-temp.test.ts +15 -3
  669. package/src/lib/kit-temp.ts +383 -11
  670. package/src/lib/mask/$$.ts +2 -2
  671. package/src/lib/mask/$.test.ts +1 -1
  672. package/src/lib/mask/$.ts +1 -1
  673. package/src/lib/mask/apply.ts +15 -15
  674. package/src/lib/mask/mask.test-d.ts +30 -18
  675. package/src/lib/mask/mask.ts +18 -18
  676. package/src/lib/mutation-type.ts +3 -3
  677. package/src/lib/path-map/$$.ts +7 -0
  678. package/src/lib/path-map/$.test.ts +370 -0
  679. package/src/lib/path-map/$.ts +7 -0
  680. package/src/lib/path-map/path-map.ts +244 -0
  681. package/src/lib/react-router-aid/index.ts +1 -1
  682. package/src/lib/react-router-aid/react-router-aid.ts +1 -1
  683. package/src/lib/react-router-loader/react-router-loader.ts +1 -4
  684. package/src/lib/stack-processor/index.ts +1 -1
  685. package/src/lib/stack-processor/stack-processor.ts +0 -1
  686. package/src/lib/superjson-codec/codecs/graphql-schema.ts +1 -1
  687. package/src/lib/superjson-codec/exports.ts +2 -2
  688. package/src/lib/superjson-codec/index.ts +1 -1
  689. package/src/lib/task/$$.ts +2 -2
  690. package/src/lib/task/$.test.ts +2 -2
  691. package/src/lib/task/$.ts +1 -1
  692. package/src/lib/task/report.ts +1 -1
  693. package/src/lib/task/task.ts +3 -3
  694. package/src/lib/theme/$.ts +2 -0
  695. package/src/lib/theme/theme.test.ts +190 -0
  696. package/src/lib/theme/theme.ts +210 -0
  697. package/src/lib/vite-plugin-json/index.ts +1 -1
  698. package/src/lib/vite-plugin-json/vite-plugin-json.ts +4 -4
  699. package/src/lib/vite-plugin-mdx/index.ts +1 -1
  700. package/src/lib/vite-plugin-mdx/vite-plugin-mdx.ts +1 -5
  701. package/src/lib/vite-plugin-reactive-data/index.ts +1 -1
  702. package/src/lib/vite-plugin-reactive-data/vite-plugin-reactive-data.ts +53 -60
  703. package/src/lib/vite-plugins/index.ts +1 -1
  704. package/src/lib/vite-plugins/vite-plugins.ts +1 -1
  705. package/src/lib/vite-virtual/identified-loader.ts +4 -4
  706. package/src/lib/vite-virtual/identifier.ts +1 -1
  707. package/src/lib/vite-virtual/index.ts +1 -1
  708. package/src/lib/vite-virtual/vite-virtual.ts +3 -3
  709. package/src/package-paths.ts +38 -12
  710. package/src/project-data.ts +3 -1
  711. package/src/sandbox.ts +9 -9
  712. package/src/template/components/ArgumentList.tsx +1 -1
  713. package/src/template/components/ArgumentListAnnotation.tsx +2 -2
  714. package/src/template/components/Changelog.tsx +2 -2
  715. package/src/template/components/CodeBlock.tsx +4 -58
  716. package/src/template/components/CodeBlockEnhancer.tsx +41 -41
  717. package/src/template/components/DeprecationReason.tsx +1 -1
  718. package/src/template/components/Description.tsx +1 -1
  719. package/src/template/components/Field.tsx +4 -4
  720. package/src/template/components/FieldList.tsx +1 -1
  721. package/src/template/components/FieldListSection.tsx +1 -1
  722. package/src/template/components/HamburgerMenu.tsx +11 -11
  723. package/src/template/components/Link.tsx +37 -29
  724. package/src/template/components/Logo.tsx +4 -4
  725. package/src/template/components/MDXComponents.tsx +1 -85
  726. package/src/template/components/NamedType.tsx +2 -2
  727. package/src/template/components/TestComponent.tsx +2 -2
  728. package/src/template/components/Texts/MinorHeading.tsx +4 -4
  729. package/src/template/components/Texts/index.ts +1 -1
  730. package/src/template/components/Texts/texts.ts +1 -1
  731. package/src/template/components/ThemeToggle.tsx +29 -7
  732. package/src/template/components/TypeAnnotation.tsx +1 -1
  733. package/src/template/components/TypeFieldsLinkList.tsx +1 -1
  734. package/src/template/components/TypeIndex.tsx +1 -1
  735. package/src/template/components/content/$$.ts +1 -1
  736. package/src/template/components/content/GraphQLDocumentWithSchema.tsx +3 -8
  737. package/src/template/components/content/GraphQLDocumentWrapper.tsx +20 -30
  738. package/src/template/components/graphql/graphql.tsx +2 -2
  739. package/src/template/components/graphql/index.ts +1 -1
  740. package/src/template/components/graphql/type-kind-icon.tsx +1 -2
  741. package/src/template/components/graphql/type-link.tsx +3 -3
  742. package/src/template/components/sidebar/Sidebar.tsx +1 -1
  743. package/src/template/components/sidebar/SidebarItem.tsx +6 -6
  744. package/src/template/constants.ts +17 -0
  745. package/src/template/contexts/ThemeContext.tsx +55 -24
  746. package/src/template/entry.client.tsx +7 -5
  747. package/src/template/global.d.ts +7 -0
  748. package/src/template/hooks/useClientOnly.ts +21 -0
  749. package/src/template/routes/changelog.tsx +1 -1
  750. package/src/template/routes/reference.$type.$field.tsx +3 -3
  751. package/src/template/routes/reference.$type.tsx +3 -3
  752. package/src/template/routes/reference.tsx +2 -2
  753. package/src/template/routes/root.tsx +46 -209
  754. package/src/template/routes.tsx +1 -1
  755. package/src/template/server/app.ts +40 -23
  756. package/src/template/server/{render-page.tsx → create-page-html-response.ts} +58 -20
  757. package/src/template/server/main.ts +4 -3
  758. package/src/template/server/middleware/page.ts +19 -0
  759. package/src/template/server/middleware/unsupported-assets.ts +25 -0
  760. package/src/template/server/ssg/generate.ts +79 -73
  761. package/src/template/server/ssg/get-route-paths.ts +1 -1
  762. package/src/template/server/transformers/inject-polen-data.ts +32 -0
  763. package/src/template/server/transformers/inject-theme-init.ts +30 -0
  764. package/src/template/server/view.ts +1 -1
  765. package/build/api/vite/data/navbar.d.ts +0 -9
  766. package/build/api/vite/data/navbar.d.ts.map +0 -1
  767. package/build/api/vite/data/navbar.js +0 -6
  768. package/build/api/vite/data/navbar.js.map +0 -1
  769. package/build/api/vite/plugins/branding/index.d.ts.map +0 -1
  770. package/build/api/vite/plugins/branding/index.js.map +0 -1
  771. package/build/lib/demos/builder.d.ts +0 -83
  772. package/build/lib/demos/builder.d.ts.map +0 -1
  773. package/build/lib/demos/builder.js +0 -237
  774. package/build/lib/demos/builder.js.map +0 -1
  775. package/build/lib/demos/config-schema.d.ts +0 -243
  776. package/build/lib/demos/config-schema.d.ts.map +0 -1
  777. package/build/lib/demos/config-schema.js +0 -52
  778. package/build/lib/demos/config-schema.js.map +0 -1
  779. package/build/lib/demos/config.d.ts +0 -40
  780. package/build/lib/demos/config.d.ts.map +0 -1
  781. package/build/lib/demos/config.js +0 -180
  782. package/build/lib/demos/config.js.map +0 -1
  783. package/build/lib/demos/index.d.ts +0 -9
  784. package/build/lib/demos/index.d.ts.map +0 -1
  785. package/build/lib/demos/index.js +0 -8
  786. package/build/lib/demos/index.js.map +0 -1
  787. package/build/lib/demos/ui/components.d.ts +0 -33
  788. package/build/lib/demos/ui/components.d.ts.map +0 -1
  789. package/build/lib/demos/ui/components.js +0 -699
  790. package/build/lib/demos/ui/components.js.map +0 -1
  791. package/build/lib/demos/ui/data-collector.d.ts +0 -88
  792. package/build/lib/demos/ui/data-collector.d.ts.map +0 -1
  793. package/build/lib/demos/ui/data-collector.js +0 -174
  794. package/build/lib/demos/ui/data-collector.js.map +0 -1
  795. package/build/lib/demos/ui/landing-page-cli.d.ts +0 -3
  796. package/build/lib/demos/ui/landing-page-cli.d.ts.map +0 -1
  797. package/build/lib/demos/ui/landing-page-cli.js +0 -21
  798. package/build/lib/demos/ui/landing-page-cli.js.map +0 -1
  799. package/build/lib/demos/ui/landing-page.d.ts +0 -32
  800. package/build/lib/demos/ui/landing-page.d.ts.map +0 -1
  801. package/build/lib/demos/ui/landing-page.js +0 -83
  802. package/build/lib/demos/ui/landing-page.js.map +0 -1
  803. package/build/lib/demos/ui/page-renderer.d.ts +0 -26
  804. package/build/lib/demos/ui/page-renderer.d.ts.map +0 -1
  805. package/build/lib/demos/ui/page-renderer.js +0 -104
  806. package/build/lib/demos/ui/page-renderer.js.map +0 -1
  807. package/build/lib/demos/utils.d.ts +0 -14
  808. package/build/lib/demos/utils.d.ts.map +0 -1
  809. package/build/lib/demos/utils.js +0 -37
  810. package/build/lib/demos/utils.js.map +0 -1
  811. package/build/lib/deployment/$$.d.ts +0 -3
  812. package/build/lib/deployment/$$.d.ts.map +0 -1
  813. package/build/lib/deployment/$$.js +0 -3
  814. package/build/lib/deployment/$$.js.map +0 -1
  815. package/build/lib/deployment/$.d.ts +0 -2
  816. package/build/lib/deployment/$.d.ts.map +0 -1
  817. package/build/lib/deployment/$.js +0 -2
  818. package/build/lib/deployment/$.js.map +0 -1
  819. package/build/lib/deployment/metadata.d.ts +0 -32
  820. package/build/lib/deployment/metadata.d.ts.map +0 -1
  821. package/build/lib/deployment/metadata.js +0 -37
  822. package/build/lib/deployment/metadata.js.map +0 -1
  823. package/build/lib/deployment/path-manager.d.ts +0 -41
  824. package/build/lib/deployment/path-manager.d.ts.map +0 -1
  825. package/build/lib/deployment/path-manager.js +0 -157
  826. package/build/lib/deployment/path-manager.js.map +0 -1
  827. package/build/lib/github-actions/git-controller.d.ts +0 -50
  828. package/build/lib/github-actions/git-controller.d.ts.map +0 -1
  829. package/build/lib/github-actions/git-controller.js +0 -90
  830. package/build/lib/github-actions/git-controller.js.map +0 -1
  831. package/build/lib/github-actions/github-actions.d.ts +0 -7
  832. package/build/lib/github-actions/github-actions.d.ts.map +0 -1
  833. package/build/lib/github-actions/github-actions.js +0 -7
  834. package/build/lib/github-actions/github-actions.js.map +0 -1
  835. package/build/lib/github-actions/index.d.ts +0 -2
  836. package/build/lib/github-actions/index.d.ts.map +0 -1
  837. package/build/lib/github-actions/index.js +0 -2
  838. package/build/lib/github-actions/index.js.map +0 -1
  839. package/build/lib/github-actions/lib/get-pr-deployments.d.ts +0 -12
  840. package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +0 -1
  841. package/build/lib/github-actions/lib/get-pr-deployments.js +0 -51
  842. package/build/lib/github-actions/lib/get-pr-deployments.js.map +0 -1
  843. package/build/lib/github-actions/pr-controller.d.ts +0 -39
  844. package/build/lib/github-actions/pr-controller.d.ts.map +0 -1
  845. package/build/lib/github-actions/pr-controller.js +0 -122
  846. package/build/lib/github-actions/pr-controller.js.map +0 -1
  847. package/build/lib/github-actions/run-step-cli.d.ts +0 -9
  848. package/build/lib/github-actions/run-step-cli.d.ts.map +0 -1
  849. package/build/lib/github-actions/run-step-cli.js +0 -71
  850. package/build/lib/github-actions/run-step-cli.js.map +0 -1
  851. package/build/lib/github-actions/runner.d.ts +0 -17
  852. package/build/lib/github-actions/runner.d.ts.map +0 -1
  853. package/build/lib/github-actions/runner.js +0 -195
  854. package/build/lib/github-actions/runner.js.map +0 -1
  855. package/build/lib/github-actions/schemas/context.d.ts +0 -933
  856. package/build/lib/github-actions/schemas/context.d.ts.map +0 -1
  857. package/build/lib/github-actions/schemas/context.js +0 -407
  858. package/build/lib/github-actions/schemas/context.js.map +0 -1
  859. package/build/lib/github-actions/schemas/index.d.ts +0 -5
  860. package/build/lib/github-actions/schemas/index.d.ts.map +0 -1
  861. package/build/lib/github-actions/schemas/index.js +0 -5
  862. package/build/lib/github-actions/schemas/index.js.map +0 -1
  863. package/build/lib/github-actions/search-module.d.ts +0 -38
  864. package/build/lib/github-actions/search-module.d.ts.map +0 -1
  865. package/build/lib/github-actions/search-module.js +0 -40
  866. package/build/lib/github-actions/search-module.js.map +0 -1
  867. package/build/lib/github-actions/step.d.ts +0 -163
  868. package/build/lib/github-actions/step.d.ts.map +0 -1
  869. package/build/lib/github-actions/step.js +0 -121
  870. package/build/lib/github-actions/step.js.map +0 -1
  871. package/build/lib/graphql-document/components/CopyButton.d.ts +0 -19
  872. package/build/lib/graphql-document/components/CopyButton.d.ts.map +0 -1
  873. package/build/lib/graphql-document/components/CopyButton.js +0 -43
  874. package/build/lib/graphql-document/components/CopyButton.js.map +0 -1
  875. package/build/lib/graphql-document/schema-integration-example.d.ts +0 -27
  876. package/build/lib/graphql-document/schema-integration-example.d.ts.map +0 -1
  877. package/build/lib/graphql-document/schema-integration-example.js +0 -297
  878. package/build/lib/graphql-document/schema-integration-example.js.map +0 -1
  879. package/build/lib/shiki/index.d.ts +0 -2
  880. package/build/lib/shiki/index.d.ts.map +0 -1
  881. package/build/lib/shiki/index.js +0 -2
  882. package/build/lib/shiki/index.js.map +0 -1
  883. package/build/lib/shiki/shiki.d.ts +0 -26
  884. package/build/lib/shiki/shiki.d.ts.map +0 -1
  885. package/build/lib/shiki/shiki.js +0 -105
  886. package/build/lib/shiki/shiki.js.map +0 -1
  887. package/build/lib/version-history/index.d.ts +0 -3
  888. package/build/lib/version-history/index.d.ts.map +0 -1
  889. package/build/lib/version-history/index.js +0 -2
  890. package/build/lib/version-history/index.js.map +0 -1
  891. package/build/lib/version-history/types.d.ts +0 -64
  892. package/build/lib/version-history/types.d.ts.map +0 -1
  893. package/build/lib/version-history/types.js +0 -5
  894. package/build/lib/version-history/types.js.map +0 -1
  895. package/build/lib/version-history/version-history.d.ts +0 -85
  896. package/build/lib/version-history/version-history.d.ts.map +0 -1
  897. package/build/lib/version-history/version-history.js +0 -248
  898. package/build/lib/version-history/version-history.js.map +0 -1
  899. package/build/template/server/render-page.d.ts +0 -3
  900. package/build/template/server/render-page.d.ts.map +0 -1
  901. package/build/template/server/render-page.js.map +0 -1
  902. package/src/api/vite/data/navbar.ts +0 -15
  903. package/src/lib/demos/builder.ts +0 -298
  904. package/src/lib/demos/config-schema.ts +0 -56
  905. package/src/lib/demos/config.test.ts +0 -193
  906. package/src/lib/demos/config.ts +0 -205
  907. package/src/lib/demos/index.ts +0 -9
  908. package/src/lib/demos/ui/components.ts +0 -739
  909. package/src/lib/demos/ui/data-collector.ts +0 -246
  910. package/src/lib/demos/ui/landing-page-cli.ts +0 -23
  911. package/src/lib/demos/ui/landing-page.ts +0 -126
  912. package/src/lib/demos/ui/page-renderer.ts +0 -124
  913. package/src/lib/demos/utils.ts +0 -43
  914. package/src/lib/deployment/$$.ts +0 -2
  915. package/src/lib/deployment/$.test.ts +0 -53
  916. package/src/lib/deployment/$.ts +0 -1
  917. package/src/lib/deployment/metadata.ts +0 -40
  918. package/src/lib/deployment/path-manager.ts +0 -186
  919. package/src/lib/github-actions/git-controller.ts +0 -151
  920. package/src/lib/github-actions/github-actions.ts +0 -6
  921. package/src/lib/github-actions/index.ts +0 -1
  922. package/src/lib/github-actions/lib/get-pr-deployments.ts +0 -76
  923. package/src/lib/github-actions/pr-controller.test.ts +0 -172
  924. package/src/lib/github-actions/pr-controller.ts +0 -183
  925. package/src/lib/github-actions/run-step-cli.ts +0 -84
  926. package/src/lib/github-actions/runner.test.ts +0 -192
  927. package/src/lib/github-actions/runner.ts +0 -226
  928. package/src/lib/github-actions/schemas/context.ts +0 -424
  929. package/src/lib/github-actions/schemas/index.ts +0 -5
  930. package/src/lib/github-actions/search-module.test.ts +0 -110
  931. package/src/lib/github-actions/search-module.ts +0 -76
  932. package/src/lib/github-actions/step.test.ts +0 -149
  933. package/src/lib/github-actions/step.ts +0 -232
  934. package/src/lib/graphql-document/components/CopyButton.tsx +0 -76
  935. package/src/lib/graphql-document/schema-integration-example.ts +0 -341
  936. package/src/lib/shiki/index.ts +0 -1
  937. package/src/lib/shiki/shiki.test.ts +0 -107
  938. package/src/lib/shiki/shiki.ts +0 -161
  939. package/src/lib/version-history/index.test.ts +0 -196
  940. package/src/lib/version-history/index.ts +0 -4
  941. package/src/lib/version-history/types.ts +0 -68
  942. package/src/lib/version-history/version-history.ts +0 -293
@@ -1,26 +1,35 @@
1
1
  import { Hono } from '#dep/hono/index';
2
- import { AppleTouchIcon } from '#lib/apple-touch-icon/index';
3
- import { Favicon } from '#lib/favicon/index';
2
+ import { createHtmlTransformer } from '#lib/html-utils/html-transformer';
4
3
  import { serveStatic } from '@hono/node-server/serve-static';
5
- import { Http } from '@wollybeard/kit';
6
4
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper';
7
- import { renderPage } from "./render-page.js";
8
- import { view } from "./view.js";
9
- export const app = new Hono.Hono();
10
- if (__BUILDING__) {
11
- app.use(PROJECT_DATA.server.static.route, serveStatic({ root: PROJECT_DATA.server.static.directory }));
12
- }
13
- app.all(`*`, async (ctx) => {
14
- const staticHandlerContext = await view.query(ctx.req.raw);
15
- if (staticHandlerContext instanceof Response) {
16
- return staticHandlerContext;
5
+ import viteClientAssetManifest from 'virtual:polen/vite/client/manifest';
6
+ import { injectManifestIntoHtml } from './manifest.js';
7
+ import { PageMiddleware } from './middleware/page.js';
8
+ import { UnsupportedAssetsMiddleware } from './middleware/unsupported-assets.js';
9
+ import { createPolenDataInjector } from './transformers/inject-polen-data.js';
10
+ import { createThemeInitInjector } from './transformers/inject-theme-init.js';
11
+ export const createApp = (options = {}) => {
12
+ const app = new Hono.Hono();
13
+ // Collect all HTML transformers
14
+ const htmlTransformers = [
15
+ // Always inject Polen global data (both dev and prod)
16
+ createPolenDataInjector(),
17
+ // Theme initialization must come after Polen data
18
+ createThemeInitInjector(),
19
+ ...(options.hooks?.transformHtml || []),
20
+ ];
21
+ // Core middleware
22
+ app.use(`*`, UnsupportedAssetsMiddleware());
23
+ // Production-specific setup
24
+ if (__BUILDING__) {
25
+ // Add manifest transformer
26
+ htmlTransformers.push(createHtmlTransformer((html, ___ctx) => {
27
+ return injectManifestIntoHtml(html, viteClientAssetManifest, PROJECT_DATA.basePath);
28
+ }));
29
+ // Static file serving
30
+ app.use(PROJECT_DATA.server.static.route, serveStatic({ root: PROJECT_DATA.server.static.directory }));
17
31
  }
18
- if (Favicon.fileNamePattern.test(ctx.req.path)) {
19
- return Http.Response.notFound;
20
- }
21
- if (AppleTouchIcon.fileNamePattern.test(ctx.req.path)) {
22
- return Http.Response.notFound;
23
- }
24
- return renderPage(staticHandlerContext);
25
- });
32
+ app.all(`*`, PageMiddleware(htmlTransformers));
33
+ return app;
34
+ };
26
35
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/template/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAmB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;AAElC,IAAI,YAAY,EAAE,CAAC;IACjB,GAAG,CAAC,GAAG,CACL,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAChC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAC5D,CAAA;AACH,CAAC;AAED,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAE1D,IAAI,oBAAoB,YAAY,QAAQ,EAAE,CAAC;QAC7C,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,IAAI,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;IAC/B,CAAC;IAED,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAA;AACzC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/template/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAwB,MAAM,kCAAkC,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,uBAAuB,MAAM,oCAAoC,CAAA;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAU7E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAsB,EAAE,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;IAE3B,gCAAgC;IAChC,MAAM,gBAAgB,GAAsB;QAC1C,sDAAsD;QACtD,uBAAuB,EAAE;QACzB,kDAAkD;QAClD,uBAAuB,EAAE;QACzB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;KACxC,CAAA;IAED,kBAAkB;IAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,2BAA2B,EAAE,CAAC,CAAA;IAE3C,4BAA4B;IAC5B,IAAI,YAAY,EAAE,CAAC;QACjB,2BAA2B;QAC3B,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAC3D,OAAO,sBAAsB,CAAC,IAAI,EAAE,uBAAuB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;QACrF,CAAC,CAAC,CAAC,CAAA;QAEH,sBAAsB;QACtB,GAAG,CAAC,GAAG,CACL,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAChC,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAC5D,CAAA;IACH,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAE9C,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import type { Hono } from '#dep/hono/index';
2
+ import type { ReactRouter } from '#dep/react-router/index';
3
+ interface RenderHooks {
4
+ transformHtml?: (html: string) => Promise<string> | string;
5
+ }
6
+ export declare const createPageHtmlResponse: (staticHandlerContext: ReactRouter.StaticHandlerContext, hooks?: RenderHooks, ctx?: Hono.Context) => Promise<Response>;
7
+ export {};
8
+ //# sourceMappingURL=create-page-html-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page-html-response.d.ts","sourceRoot":"","sources":["../../../src/template/server/create-page-html-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAY1D,UAAU,WAAW;IACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;CAC3D;AAED,eAAO,MAAM,sBAAsB,GACjC,sBAAsB,WAAW,CAAC,oBAAoB,EACtD,QAAQ,WAAW,EACnB,MAAM,IAAI,CAAC,OAAO,sBAqEnB,CAAA"}
@@ -1,32 +1,56 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import { reportError } from '#api/server/report-error';
2
+ import { React } from '#dep/react/index';
3
3
  import { ResponseInternalServerError } from '#lib/kit-temp';
4
+ import * as Theme from '#lib/theme/theme';
4
5
  import { Arr } from '@wollybeard/kit';
5
- import { StrictMode } from 'react';
6
6
  import * as ReactDomServer from 'react-dom/server';
7
7
  import { createStaticRouter, StaticRouterProvider } from 'react-router';
8
- import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper';
9
- import viteClientAssetManifest from 'virtual:polen/vite/client/manifest';
10
- import { injectManifestIntoHtml } from "./manifest.js";
11
- import { view } from "./view.js";
12
- export const renderPage = (staticHandlerContext) => {
8
+ import { templateVariables } from 'virtual:polen/template/variables';
9
+ import { view } from './view.js';
10
+ export const createPageHtmlResponse = async (staticHandlerContext, hooks, ctx) => {
11
+ // Set up Polen global data before React SSR if context is provided
12
+ if (ctx) {
13
+ const themeManager = Theme.createThemeManager({
14
+ cookieName: `polen-theme-preference`,
15
+ });
16
+ const cookies = ctx.req.header(`cookie`) || ``;
17
+ const cookieTheme = themeManager.readCookie(cookies);
18
+ const polenData = {
19
+ serverContext: {
20
+ theme: cookieTheme || 'system', // No cookie means system preference
21
+ isDev: !__BUILDING__,
22
+ },
23
+ };
24
+ globalThis.__POLEN__ = polenData;
25
+ }
13
26
  const router = createStaticRouter(view.dataRoutes, staticHandlerContext);
14
- let html = ``;
27
+ let appHtml = ``;
15
28
  try {
16
- html = ReactDomServer.renderToString(_jsx(StrictMode, { children: _jsx(StaticRouterProvider, { router: router, context: staticHandlerContext }) }));
29
+ appHtml = ReactDomServer.renderToString(React.createElement(React.StrictMode, null, React.createElement(StaticRouterProvider, {
30
+ router,
31
+ context: staticHandlerContext,
32
+ })));
17
33
  }
18
34
  catch (cause) {
19
35
  reportError(new Error(`Failed to server side render the HTML`, { cause }));
20
36
  return ResponseInternalServerError();
21
37
  }
22
- if (__BUILDING__) {
23
- html = injectManifestIntoHtml(html, viteClientAssetManifest, PROJECT_DATA.basePath);
24
- }
25
- // todo: what is this?
26
- if (import.meta.env.DEV) {
27
- // const env = ctx.env as { viteDevServer: Vite.ViteDevServer }
28
- // html = await env.viteDevServer.transformIndexHtml(ctx.req.url, html)
29
- // await env.viteDevServer.transformIndexHtml(ctx.req.url, html)
38
+ // Create the base HTML document
39
+ let html = `
40
+ <html lang="en">
41
+ <head>
42
+ <meta charset="utf-8">
43
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
44
+ <title>${templateVariables.title}</title>
45
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
46
+ </head>
47
+ <body>
48
+ <div id="app">${appHtml}</div>
49
+ </body>
50
+ </html>`;
51
+ // Apply HTML transformation hook to the full document
52
+ if (hooks?.transformHtml) {
53
+ html = await hooks.transformHtml(html);
30
54
  }
31
55
  const headers = getRouteHeaders(staticHandlerContext);
32
56
  headers.set(`Content-Type`, `text/html; charset=utf-8`);
@@ -63,4 +87,4 @@ const getRouteHeaders = (context) => {
63
87
  }
64
88
  return headers;
65
89
  };
66
- //# sourceMappingURL=render-page.js.map
90
+ //# sourceMappingURL=create-page-html-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-page-html-response.js","sourceRoot":"","sources":["../../../src/template/server/create-page-html-response.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { serve } from '@hono/node-server'; // TODO: support non-node platforms.
2
2
  import { neverCase } from '@wollybeard/kit/language';
3
- import { app } from "./app.js";
4
- import { generate } from "./ssg/generate.js";
5
- import { view } from "./view.js";
3
+ import { createApp } from './app.js';
4
+ import { generate } from './ssg/generate.js';
5
+ import { view } from './view.js';
6
6
  if (__BUILDING__) {
7
7
  switch (__BUILD_ARCHITECTURE__) {
8
8
  case `ssg`:
@@ -10,6 +10,7 @@ if (__BUILDING__) {
10
10
  break;
11
11
  case `ssr`:
12
12
  const port = process.env[`PORT`] ? parseInt(process.env[`PORT`]) : 3001; // todo viteConfigResolved.server.port + 1
13
+ const app = createApp();
13
14
  serve({ fetch: app.fetch, port });
14
15
  break;
15
16
  case `spa`:
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/template/server/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA,CAAC,oCAAoC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,IAAI,YAAY,EAAE,CAAC;IACjB,QAAQ,sBAAsB,EAAE,CAAC;QAC/B,KAAK,KAAK;YACR,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpB,MAAK;QACP,KAAK,KAAK;YACR,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,0CAA0C;YAClH,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACjC,MAAK;QACP,KAAK,KAAK;YACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD;YACE,SAAS,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/template/server/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA,CAAC,oCAAoC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,IAAI,YAAY,EAAE,CAAC;IACjB,QAAQ,sBAAsB,EAAE,CAAC;QAC/B,KAAK,KAAK;YACR,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;YACpB,MAAK;QACP,KAAK,KAAK;YACR,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,CAAC,0CAA0C;YAClH,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;YACvB,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACjC,MAAK;QACP,KAAK,KAAK;YACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD;YACE,SAAS,CAAC,sBAAsB,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Hono } from '#dep/hono/index';
2
+ import type { HtmlTransformer } from '#lib/html-utils/html-transformer';
3
+ export declare const PageMiddleware: (transformers: HtmlTransformer[]) => (ctx: Hono.Context) => Promise<Response>;
4
+ //# sourceMappingURL=page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../src/template/server/middleware/page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAKvE,eAAO,MAAM,cAAc,GAAI,cAAc,eAAe,EAAE,MAC9C,KAAK,IAAI,CAAC,OAAO,sBAWhC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { asyncReduceWith } from '#lib/kit-temp';
2
+ import { createPageHtmlResponse } from '../create-page-html-response.js';
3
+ import { view } from '../view.js';
4
+ export const PageMiddleware = (transformers) => {
5
+ return async (ctx) => {
6
+ const staticHandlerContext = await view.query(ctx.req.raw);
7
+ if (staticHandlerContext instanceof Response) {
8
+ return staticHandlerContext;
9
+ }
10
+ return createPageHtmlResponse(staticHandlerContext, {
11
+ transformHtml: asyncReduceWith(transformers, ctx),
12
+ }, ctx);
13
+ };
14
+ };
15
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../src/template/server/middleware/page.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAA+B,EAAE,EAAE;IAChE,OAAO,KAAK,EAAE,GAAiB,EAAE,EAAE;QACjC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE1D,IAAI,oBAAoB,YAAY,QAAQ,EAAE,CAAC;YAC7C,OAAO,oBAAoB,CAAA;QAC7B,CAAC;QAED,OAAO,sBAAsB,CAAC,oBAAoB,EAAE;YAClD,aAAa,EAAE,eAAe,CAAC,YAAY,EAAE,GAAG,CAAC;SAClD,EAAE,GAAG,CAAC,CAAA;IACT,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { Hono } from '#dep/hono/index';
2
+ /**
3
+ * Temporary middleware to block unsupported asset requests
4
+ *
5
+ * TODO: Polen should eventually support favicon and apple-touch-icon generation
6
+ * For now, we return 404 immediately to prevent these requests from reaching
7
+ * React Router and causing unnecessary processing or errors.
8
+ */
9
+ export declare const UnsupportedAssetsMiddleware: () => Hono.MiddlewareHandler;
10
+ //# sourceMappingURL=unsupported-assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsupported-assets.d.ts","sourceRoot":"","sources":["../../../../src/template/server/middleware/unsupported-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAK3C;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,QAAO,IAAI,CAAC,iBAYnD,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { AppleTouchIcon } from '#lib/apple-touch-icon/index';
2
+ import { Favicon } from '#lib/favicon/index';
3
+ import { Http } from '@wollybeard/kit';
4
+ /**
5
+ * Temporary middleware to block unsupported asset requests
6
+ *
7
+ * TODO: Polen should eventually support favicon and apple-touch-icon generation
8
+ * For now, we return 404 immediately to prevent these requests from reaching
9
+ * React Router and causing unnecessary processing or errors.
10
+ */
11
+ export const UnsupportedAssetsMiddleware = () => {
12
+ return async (ctx, next) => {
13
+ // Block these asset requests until Polen supports them
14
+ if (Favicon.fileNamePattern.test(ctx.req.path)
15
+ || AppleTouchIcon.fileNamePattern.test(ctx.req.path)) {
16
+ return Http.Response.notFound;
17
+ }
18
+ await next();
19
+ };
20
+ };
21
+ //# sourceMappingURL=unsupported-assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unsupported-assets.js","sourceRoot":"","sources":["../../../../src/template/server/middleware/unsupported-assets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAA2B,EAAE;IACtE,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,uDAAuD;QACvD,IACE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;eACvC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EACpD,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/template/server/ssg/generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAO1D,eAAO,MAAM,QAAQ,GAAU,MAAM,WAAW,CAAC,aAAa,kBAsF7D,CAAA"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/template/server/ssg/generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAY1D,eAAO,MAAM,QAAQ,GAAU,MAAM,WAAW,CAAC,aAAa,kBAuF7D,CAAA"}
@@ -1,43 +1,29 @@
1
1
  import { Hono } from '#dep/hono/index';
2
- import { app } from '#template/server/app';
2
+ import { asyncParallel, chunk } from '#lib/kit-temp';
3
+ import { debugPolen } from '#singletons/debug';
3
4
  import * as NodeFs from 'node:fs/promises';
4
5
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper';
5
- import { renderPage } from "../render-page.js";
6
- import { getRoutesPaths } from "./get-route-paths.js";
6
+ import viteClientAssetManifest from 'virtual:polen/vite/client/manifest';
7
+ import { createPageHtmlResponse } from '../create-page-html-response.js';
8
+ import { injectManifestIntoHtml } from '../manifest.js';
9
+ import { createPolenDataInjector } from '../transformers/inject-polen-data.js';
10
+ import { createThemeInitInjector } from '../transformers/inject-theme-init.js';
11
+ import { getRoutesPaths } from './get-route-paths.js';
7
12
  export const generate = async (view) => {
8
- const handler = async (ctx) => {
9
- // For SSG, we need to create a request with the base path prepended
10
- // so React Router can match it correctly
11
- const url = new URL(ctx.req.raw.url);
12
- const basePath = PROJECT_DATA.basePath === '/' ? '' : PROJECT_DATA.basePath.slice(0, -1);
13
- // Create a new request with the base path prepended to the pathname
14
- const modifiedRequest = new Request(`${url.protocol}//${url.host}${basePath}${url.pathname}${url.search}`, {
15
- method: ctx.req.raw.method,
16
- headers: ctx.req.raw.headers,
17
- body: ctx.req.raw.body,
18
- });
19
- const staticHandlerContext = await view.query(modifiedRequest);
20
- if (staticHandlerContext instanceof Response) {
21
- return staticHandlerContext;
22
- }
23
- return renderPage(staticHandlerContext);
24
- };
13
+ const debug = debugPolen.sub(`ssg`);
25
14
  const routePaths = getRoutesPaths();
26
- for (const routePath of routePaths) {
27
- app.get(routePath, handler);
28
- }
29
- // For large schemas, we need to process in smaller batches to avoid memory issues
30
- const BATCH_SIZE = 50;
31
15
  const totalPaths = routePaths.length;
32
- console.log(`[info] Generating ${totalPaths} static pages...`);
33
- for (let i = 0; i < totalPaths; i += BATCH_SIZE) {
34
- const batchPaths = routePaths.slice(i, i + BATCH_SIZE);
16
+ debug(`start`, { totalPaths });
17
+ // Process routes in batches using the new utilities
18
+ const batchSize = 50;
19
+ const batches = chunk(routePaths, batchSize);
20
+ const result = await asyncParallel(batches, async (batchPaths, batchIndex) => {
35
21
  const batchApp = new Hono.Hono();
36
22
  // Create a custom handler for batch processing that includes base path handling
37
23
  const batchHandler = async (ctx) => {
38
24
  // For SSG, we need to create a request with the base path prepended
39
25
  const url = new URL(ctx.req.raw.url);
40
- const basePath = PROJECT_DATA.basePath === '/' ? '' : PROJECT_DATA.basePath.slice(0, -1);
26
+ const basePath = PROJECT_DATA.basePath === `/` ? `` : PROJECT_DATA.basePath.slice(0, -1);
41
27
  // Create a new request with the base path prepended to the pathname
42
28
  const modifiedRequest = new Request(`${url.protocol}//${url.host}${basePath}${url.pathname}${url.search}`, {
43
29
  method: ctx.req.raw.method,
@@ -48,23 +34,46 @@ export const generate = async (view) => {
48
34
  if (staticHandlerContext instanceof Response) {
49
35
  return staticHandlerContext;
50
36
  }
51
- return renderPage(staticHandlerContext);
37
+ // SSG needs Polen data injection, theme init, and manifest transformation
38
+ const polenDataInjector = createPolenDataInjector();
39
+ const themeInitInjector = createThemeInitInjector();
40
+ const transformHtml = async (html) => {
41
+ // First inject Polen data
42
+ html = await polenDataInjector(html, ctx);
43
+ // Then inject theme initialization
44
+ html = await themeInitInjector(html, ctx);
45
+ // Finally inject manifest
46
+ return injectManifestIntoHtml(html, viteClientAssetManifest, PROJECT_DATA.basePath);
47
+ };
48
+ // Pass ctx for SSG to set up Polen data
49
+ return createPageHtmlResponse(staticHandlerContext, { transformHtml }, ctx);
52
50
  };
53
51
  // Register only the routes for this batch
54
52
  for (const routePath of batchPaths) {
55
53
  batchApp.get(routePath, batchHandler);
56
54
  }
57
- console.log(`[info] Processing batch ${Math.floor(i / BATCH_SIZE) + 1}/${Math.ceil(totalPaths / BATCH_SIZE)} (${batchPaths.length} pages)...`);
58
- const result = await Hono.SSG.toSSG(batchApp, NodeFs, {
55
+ debug(`batch:start`, {
56
+ batchIndex: batchIndex + 1,
57
+ totalBatches: batches.length,
58
+ pagesInBatch: batchPaths.length,
59
+ });
60
+ const ssgResult = await Hono.SSG.toSSG(batchApp, NodeFs, {
59
61
  concurrency: 5, // Reduced concurrency for memory efficiency
60
62
  dir: PROJECT_DATA.paths.relative.build.root,
61
63
  });
62
- if (!result.success) {
63
- throw new Error(`Failed to generate static site at batch ${Math.floor(i / BATCH_SIZE) + 1}`, {
64
- cause: result.error,
64
+ if (!ssgResult.success) {
65
+ throw new Error(`Failed to generate static site at batch ${batchIndex + 1}`, {
66
+ cause: ssgResult.error,
65
67
  });
66
68
  }
69
+ return ssgResult;
70
+ }, {
71
+ concurrency: 1, // Process batches sequentially to avoid memory issues
72
+ failFast: true, // Stop on first batch failure
73
+ });
74
+ if (!result.success) {
75
+ throw new Error(`SSG generation failed`, { cause: result.errors[0] });
67
76
  }
68
- console.log(`[info] Successfully generated ${totalPaths} static pages.`);
77
+ debug(`complete`, { totalPaths });
69
78
  };
70
79
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/template/server/ssg/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAA;AAC1C,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAA+B,EAAE,EAAE;IAChE,MAAM,OAAO,GAAiB,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,oEAAoE;QACpE,yCAAyC;QACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAExF,oEAAoE;QACpE,MAAM,eAAe,GAAG,IAAI,OAAO,CACjC,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,EACrE;YACE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;YAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO;YAC5B,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;SACvB,CACF,CAAA;QAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAC9D,IAAI,oBAAoB,YAAY,QAAQ,EAAE,CAAC;YAC7C,OAAO,oBAAoB,CAAA;QAC7B,CAAC;QACD,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAA;IACzC,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;IAEnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAC7B,CAAC;IAED,kFAAkF;IAClF,MAAM,UAAU,GAAG,EAAE,CAAA;IACrB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAA;IACpC,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,kBAAkB,CAAC,CAAA;IAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAA;QAEhC,gFAAgF;QAChF,MAAM,YAAY,GAAiB,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/C,oEAAoE;YACpE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAExF,oEAAoE;YACpE,MAAM,eAAe,GAAG,IAAI,OAAO,CACjC,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,EACrE;gBACE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;gBAC1B,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO;gBAC5B,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;aACvB,CACF,CAAA;YAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAC9D,IAAI,oBAAoB,YAAY,QAAQ,EAAE,CAAC;gBAC7C,OAAO,oBAAoB,CAAA;YAC7B,CAAC;YACD,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAA;QACzC,CAAC,CAAA;QAED,0CAA0C;QAC1C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,CAAC,GAAG,CACT,2BAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IACvD,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CACnC,KAAK,UAAU,CAAC,MAAM,YAAY,CACnC,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE;YACpD,WAAW,EAAE,CAAC,EAAE,4CAA4C;YAC5D,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;SAC5C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;gBAC3F,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,gBAAgB,CAAC,CAAA;AAC1E,CAAC,CAAA"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../src/template/server/ssg/generate.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { visit } from 'graphql';
3
3
  // Or your specific import path for this type
4
4
  import { ReactRouterAid } from '#lib/react-router-aid/index';
5
5
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper';
6
- import { routes } from "../../routes.js";
6
+ import { routes } from '../../routes.js';
7
7
  // todo: Frameworks tend to colocate ssg data loaders with routes to solve the following
8
8
  // problem which is we have to map data loaders to paramterized routes.
9
9
  // Maybe we can figure something out too.
@@ -1 +1 @@
1
- {"version":3,"file":"get-route-paths.js","sourceRoot":"","sources":["../../../../src/template/server/ssg/get-route-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAkB,CAAA;AAEzC,wFAAwF;AACxF,uEAAuE;AACvE,yCAAyC;AACzC,MAAM,kCAAkC,GAAG;IACzC,cAAc,EAAE,kBAAkB;CACnC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAa,EAAE;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEnE,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,kCAAkC,CAAC,cAAc,EAAE,CAAC;YAC9D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;gBACpD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAClE,KAAK,CAAC,GAAG,EAAE;oBACT,SAAS,CAAC,QAAQ;wBAChB,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;oBAChD,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACN,cAAc;YACd,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,gCAAgC;AAClE,CAAC,CAAA"}
1
+ {"version":3,"file":"get-route-paths.js","sourceRoot":"","sources":["../../../../src/template/server/ssg/get-route-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,wFAAwF;AACxF,uEAAuE;AACvE,yCAAyC;AACzC,MAAM,kCAAkC,GAAG;IACzC,cAAc,EAAE,kBAAkB;CACnC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAa,EAAE;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,gBAAgB,GAAG,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEnE,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,kCAAkC,CAAC,cAAc,EAAE,CAAC;YAC9D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;gBACpD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;gBAClE,KAAK,CAAC,GAAG,EAAE;oBACT,SAAS,CAAC,QAAQ;wBAChB,KAAK,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;oBAChD,CAAC;iBACF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACN,cAAc;YACd,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA,CAAC,gCAAgC;AAClE,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * HTML transformer that injects Polen global data based on request context
3
+ * This runs in both dev and production modes to ensure consistent behavior
4
+ */
5
+ export declare const createPolenDataInjector: () => import("#lib/html-utils/html-transformer").HtmlTransformer;
6
+ //# sourceMappingURL=inject-polen-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-polen-data.d.ts","sourceRoot":"","sources":["../../../../src/template/server/transformers/inject-polen-data.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kEAsBnC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { createHtmlTransformer } from '#lib/html-utils/html-transformer';
2
+ import { injectGlobalDataIntoHTML } from '#lib/html-utils/inject-global-data';
3
+ import * as Theme from '#lib/theme/theme';
4
+ /**
5
+ * HTML transformer that injects Polen global data based on request context
6
+ * This runs in both dev and production modes to ensure consistent behavior
7
+ */
8
+ export const createPolenDataInjector = () => {
9
+ return createHtmlTransformer((html, ctx) => {
10
+ // Create theme manager to read cookies
11
+ const themeManager = Theme.createThemeManager({
12
+ cookieName: `polen-theme-preference`,
13
+ });
14
+ // Get theme from request cookies
15
+ const cookies = ctx.req.header(`cookie`) || ``;
16
+ const cookieTheme = themeManager.readCookie(cookies);
17
+ // Use existing Polen global data if available, otherwise create new
18
+ const polenData = globalThis.__POLEN__ || {
19
+ serverContext: {
20
+ theme: cookieTheme || 'system', // No cookie means system preference
21
+ isDev: !__BUILDING__, // true in dev, false in production
22
+ },
23
+ };
24
+ // Just inject the Polen data, no additional code
25
+ return injectGlobalDataIntoHTML(html, '__POLEN__', polenData);
26
+ });
27
+ };
28
+ //# sourceMappingURL=inject-polen-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-polen-data.js","sourceRoot":"","sources":["../../../../src/template/server/transformers/inject-polen-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAGzC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,OAAO,qBAAqB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzC,uCAAuC;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,kBAAkB,CAAC;YAC5C,UAAU,EAAE,wBAAwB;SACrC,CAAC,CAAA;QAEF,iCAAiC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC9C,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEpD,oEAAoE;QACpE,MAAM,SAAS,GAAoB,UAAU,CAAC,SAAS,IAAI;YACzD,aAAa,EAAE;gBACb,KAAK,EAAE,WAAW,IAAI,QAAQ,EAAE,oCAAoC;gBACpE,KAAK,EAAE,CAAC,YAAY,EAAE,mCAAmC;aAC1D;SACF,CAAA;QAED,iDAAiD;QACjD,OAAO,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * HTML transformer that injects theme initialization script
3
+ * This must run AFTER inject-polen-data transformer since it depends on window.__POLEN__
4
+ */
5
+ export declare const createThemeInitInjector: () => import("#lib/html-utils/html-transformer").HtmlTransformer;
6
+ //# sourceMappingURL=inject-theme-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-theme-init.d.ts","sourceRoot":"","sources":["../../../../src/template/server/transformers/inject-theme-init.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,kEAuBnC,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { createHtmlTransformer } from '#lib/html-utils/html-transformer';
2
+ /**
3
+ * HTML transformer that injects theme initialization script
4
+ * This must run AFTER inject-polen-data transformer since it depends on window.__POLEN__
5
+ */
6
+ export const createThemeInitInjector = () => {
7
+ return createHtmlTransformer((html, ___ctx) => {
8
+ // Theme initialization script that runs immediately to prevent FOUC
9
+ const themeInitScript = `
10
+ <script>
11
+ // Apply theme immediately to prevent FOUC
12
+ (function() {
13
+ let theme = globalThis.__POLEN__.serverContext.theme;
14
+
15
+ // If system preference, detect actual theme
16
+ if (theme === 'system') {
17
+ theme = globalThis.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
18
+ }
19
+
20
+ document.documentElement.setAttribute('data-theme', theme);
21
+ document.documentElement.className = 'radix-themes ' + theme;
22
+ })();
23
+ </script>`;
24
+ // Inject the script right after the Polen data script
25
+ // This ensures __POLEN__ is available when this script runs
26
+ return html.replace('</head>', `${themeInitScript}\n</head>`);
27
+ });
28
+ };
29
+ //# sourceMappingURL=inject-theme-init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inject-theme-init.js","sourceRoot":"","sources":["../../../../src/template/server/transformers/inject-theme-init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,OAAO,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAC5C,oEAAoE;QACpE,MAAM,eAAe,GAAG;;;;;;;;;;;;;;UAclB,CAAA;QAEN,sDAAsD;QACtD,4DAA4D;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,eAAe,WAAW,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { createStaticHandler } from 'react-router';
2
2
  import PROJECT_DATA from 'virtual:polen/project/data.jsonsuper';
3
- import { routes } from "../routes.js";
3
+ import { routes } from '../routes.js';
4
4
  export const view = createStaticHandler(routes, {
5
5
  basename: PROJECT_DATA.basePath === `/` ? undefined : PROJECT_DATA.basePath.slice(0, -1), // Remove trailing slash for React Router
6
6
  });
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/template/server/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAe,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC;CACpI,CAAC,CAAA"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/template/server/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,MAAM,CAAC,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,EAAE;IAC9C,QAAQ,EAAE,YAAY,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,yCAAyC;CACpI,CAAC,CAAA"}