polen 0.9.1-next.1 → 0.10.0-next.10

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 (481) hide show
  1. package/README.md +49 -364
  2. package/build/api/api.d.ts +1 -0
  3. package/build/api/api.d.ts.map +1 -1
  4. package/build/api/api.js +1 -0
  5. package/build/api/api.js.map +1 -1
  6. package/build/api/config/configurator.d.ts +9 -1
  7. package/build/api/config/configurator.d.ts.map +1 -1
  8. package/build/api/config/configurator.js +18 -6
  9. package/build/api/config/configurator.js.map +1 -1
  10. package/build/api/config/load.js +5 -5
  11. package/build/api/config/load.js.map +1 -1
  12. package/build/api/config-resolver/resolve.js +2 -2
  13. package/build/api/config-resolver/resolve.js.map +1 -1
  14. package/build/api/content/$$.d.ts +7 -0
  15. package/build/api/content/$$.d.ts.map +1 -0
  16. package/build/api/content/$$.js +7 -0
  17. package/build/api/content/$$.js.map +1 -0
  18. package/build/api/content/$.d.ts +2 -0
  19. package/build/api/content/$.d.ts.map +1 -0
  20. package/build/api/content/$.js +2 -0
  21. package/build/api/content/$.js.map +1 -0
  22. package/build/api/content/metadata.d.ts +10 -0
  23. package/build/api/content/metadata.d.ts.map +1 -0
  24. package/build/api/content/metadata.js +9 -0
  25. package/build/api/content/metadata.js.map +1 -0
  26. package/build/api/content/navbar.d.ts +10 -0
  27. package/build/api/content/navbar.d.ts.map +1 -0
  28. package/build/api/content/navbar.js +45 -0
  29. package/build/api/content/navbar.js.map +1 -0
  30. package/build/api/content/page.d.ts +11 -0
  31. package/build/api/content/page.d.ts.map +1 -0
  32. package/build/api/content/page.js +2 -0
  33. package/build/api/content/page.js.map +1 -0
  34. package/build/api/content/scan.d.ts +19 -0
  35. package/build/api/content/scan.d.ts.map +1 -0
  36. package/build/api/content/scan.js +90 -0
  37. package/build/api/content/scan.js.map +1 -0
  38. package/build/api/content/sidebar.d.ts +104 -0
  39. package/build/api/content/sidebar.d.ts.map +1 -0
  40. package/build/api/content/sidebar.js +166 -0
  41. package/build/api/content/sidebar.js.map +1 -0
  42. package/build/api/content/utils.d.ts +5 -0
  43. package/build/api/content/utils.d.ts.map +1 -0
  44. package/build/api/content/utils.js +8 -0
  45. package/build/api/content/utils.js.map +1 -0
  46. package/build/api/schema/data-sources/schema-directory/schema-directory.d.ts.map +1 -1
  47. package/build/api/schema/data-sources/schema-directory/schema-directory.js +3 -2
  48. package/build/api/schema/data-sources/schema-directory/schema-directory.js.map +1 -1
  49. package/build/api/static/index.d.ts +2 -0
  50. package/build/api/static/index.d.ts.map +1 -0
  51. package/build/api/static/index.js +2 -0
  52. package/build/api/static/index.js.map +1 -0
  53. package/build/api/static/manifest.d.ts +18 -0
  54. package/build/api/static/manifest.d.ts.map +1 -0
  55. package/build/api/static/manifest.js +13 -0
  56. package/build/api/static/manifest.js.map +1 -0
  57. package/build/api/static/rebase.d.ts +14 -0
  58. package/build/api/static/rebase.d.ts.map +1 -0
  59. package/build/api/static/rebase.js +110 -0
  60. package/build/api/static/rebase.js.map +1 -0
  61. package/build/api/static/static.d.ts +3 -0
  62. package/build/api/static/static.d.ts.map +1 -0
  63. package/build/api/static/static.js +3 -0
  64. package/build/api/static/static.js.map +1 -0
  65. package/build/api/vite/plugins/branding/index.d.ts +4 -0
  66. package/build/api/vite/plugins/branding/index.d.ts.map +1 -0
  67. package/build/api/vite/plugins/branding/index.js +80 -0
  68. package/build/api/vite/plugins/branding/index.js.map +1 -0
  69. package/build/api/vite/plugins/build.d.ts.map +1 -1
  70. package/build/api/vite/plugins/build.js +22 -1
  71. package/build/api/vite/plugins/build.js.map +1 -1
  72. package/build/api/vite/plugins/core.d.ts +2 -2
  73. package/build/api/vite/plugins/core.d.ts.map +1 -1
  74. package/build/api/vite/plugins/core.js +4 -5
  75. package/build/api/vite/plugins/core.js.map +1 -1
  76. package/build/api/vite/plugins/main.d.ts.map +1 -1
  77. package/build/api/vite/plugins/main.js +2 -1
  78. package/build/api/vite/plugins/main.js.map +1 -1
  79. package/build/api/vite/plugins/pages.d.ts +8 -14
  80. package/build/api/vite/plugins/pages.d.ts.map +1 -1
  81. package/build/api/vite/plugins/pages.js +110 -183
  82. package/build/api/vite/plugins/pages.js.map +1 -1
  83. package/build/api/vite/plugins/serve.js +5 -5
  84. package/build/api/vite/plugins/serve.js.map +1 -1
  85. package/build/cli/_/self-contained-mode.js +5 -5
  86. package/build/cli/_/self-contained-mode.js.map +1 -1
  87. package/build/cli/commands/static/$default.d.ts +3 -0
  88. package/build/cli/commands/static/$default.d.ts.map +1 -0
  89. package/build/cli/commands/static/$default.js +38 -0
  90. package/build/cli/commands/static/$default.js.map +1 -0
  91. package/build/cli/commands/static/rebase.d.ts +2 -0
  92. package/build/cli/commands/static/rebase.d.ts.map +1 -0
  93. package/build/cli/commands/static/rebase.js +26 -0
  94. package/build/cli/commands/static/rebase.js.map +1 -0
  95. package/build/cli/commands/static.d.ts +3 -0
  96. package/build/cli/commands/static.d.ts.map +1 -0
  97. package/build/cli/commands/static.js +5 -0
  98. package/build/cli/commands/static.js.map +1 -0
  99. package/build/exports/components.d.ts +2 -0
  100. package/build/exports/components.d.ts.map +1 -0
  101. package/build/exports/components.js +2 -0
  102. package/build/exports/components.js.map +1 -0
  103. package/build/lib/demos/builder.d.ts +83 -0
  104. package/build/lib/demos/builder.d.ts.map +1 -0
  105. package/build/lib/demos/builder.js +237 -0
  106. package/build/lib/demos/builder.js.map +1 -0
  107. package/build/lib/demos/config-schema.d.ts +243 -0
  108. package/build/lib/demos/config-schema.d.ts.map +1 -0
  109. package/build/lib/demos/config-schema.js +52 -0
  110. package/build/lib/demos/config-schema.js.map +1 -0
  111. package/build/lib/demos/config.d.ts +40 -0
  112. package/build/lib/demos/config.d.ts.map +1 -0
  113. package/build/lib/demos/config.js +180 -0
  114. package/build/lib/demos/config.js.map +1 -0
  115. package/build/lib/demos/index.d.ts +9 -0
  116. package/build/lib/demos/index.d.ts.map +1 -0
  117. package/build/lib/demos/index.js +8 -0
  118. package/build/lib/demos/index.js.map +1 -0
  119. package/build/lib/demos/ui/components.d.ts +33 -0
  120. package/build/lib/demos/ui/components.d.ts.map +1 -0
  121. package/build/lib/demos/ui/components.js +699 -0
  122. package/build/lib/demos/ui/components.js.map +1 -0
  123. package/build/lib/demos/ui/data-collector.d.ts +88 -0
  124. package/build/lib/demos/ui/data-collector.d.ts.map +1 -0
  125. package/build/lib/demos/ui/data-collector.js +174 -0
  126. package/build/lib/demos/ui/data-collector.js.map +1 -0
  127. package/build/lib/demos/ui/landing-page-cli.d.ts +3 -0
  128. package/build/lib/demos/ui/landing-page-cli.d.ts.map +1 -0
  129. package/build/lib/demos/ui/landing-page-cli.js +21 -0
  130. package/build/lib/demos/ui/landing-page-cli.js.map +1 -0
  131. package/build/lib/demos/ui/landing-page.d.ts +32 -0
  132. package/build/lib/demos/ui/landing-page.d.ts.map +1 -0
  133. package/build/lib/demos/ui/landing-page.js +83 -0
  134. package/build/lib/demos/ui/landing-page.js.map +1 -0
  135. package/build/lib/demos/ui/page-renderer.d.ts +26 -0
  136. package/build/lib/demos/ui/page-renderer.d.ts.map +1 -0
  137. package/build/lib/demos/ui/page-renderer.js +104 -0
  138. package/build/lib/demos/ui/page-renderer.js.map +1 -0
  139. package/build/lib/demos/utils.d.ts +14 -0
  140. package/build/lib/demos/utils.d.ts.map +1 -0
  141. package/build/lib/demos/utils.js +37 -0
  142. package/build/lib/demos/utils.js.map +1 -0
  143. package/build/lib/deployment/$$.d.ts +3 -0
  144. package/build/lib/deployment/$$.d.ts.map +1 -0
  145. package/build/lib/deployment/$$.js +3 -0
  146. package/build/lib/deployment/$$.js.map +1 -0
  147. package/build/lib/deployment/$.d.ts +2 -0
  148. package/build/lib/deployment/$.d.ts.map +1 -0
  149. package/build/lib/deployment/$.js +2 -0
  150. package/build/lib/deployment/$.js.map +1 -0
  151. package/build/lib/deployment/metadata.d.ts +32 -0
  152. package/build/lib/deployment/metadata.d.ts.map +1 -0
  153. package/build/lib/deployment/metadata.js +37 -0
  154. package/build/lib/deployment/metadata.js.map +1 -0
  155. package/build/lib/deployment/path-manager.d.ts +41 -0
  156. package/build/lib/deployment/path-manager.d.ts.map +1 -0
  157. package/build/lib/deployment/path-manager.js +157 -0
  158. package/build/lib/deployment/path-manager.js.map +1 -0
  159. package/build/lib/file-router/file-router.d.ts +0 -2
  160. package/build/lib/file-router/file-router.d.ts.map +1 -1
  161. package/build/lib/file-router/file-router.js +0 -2
  162. package/build/lib/file-router/file-router.js.map +1 -1
  163. package/build/lib/file-router/route.d.ts +2 -0
  164. package/build/lib/file-router/route.d.ts.map +1 -1
  165. package/build/lib/file-router/route.js.map +1 -1
  166. package/build/lib/file-router/scan.d.ts.map +1 -1
  167. package/build/lib/file-router/scan.js +22 -13
  168. package/build/lib/file-router/scan.js.map +1 -1
  169. package/build/lib/github-actions/git-controller.d.ts +50 -0
  170. package/build/lib/github-actions/git-controller.d.ts.map +1 -0
  171. package/build/lib/github-actions/git-controller.js +90 -0
  172. package/build/lib/github-actions/git-controller.js.map +1 -0
  173. package/build/lib/github-actions/github-actions.d.ts +7 -0
  174. package/build/lib/github-actions/github-actions.d.ts.map +1 -0
  175. package/build/lib/github-actions/github-actions.js +7 -0
  176. package/build/lib/github-actions/github-actions.js.map +1 -0
  177. package/build/lib/github-actions/index.d.ts +2 -0
  178. package/build/lib/github-actions/index.d.ts.map +1 -0
  179. package/build/lib/github-actions/index.js +2 -0
  180. package/build/lib/github-actions/index.js.map +1 -0
  181. package/build/lib/github-actions/lib/get-pr-deployments.d.ts +12 -0
  182. package/build/lib/github-actions/lib/get-pr-deployments.d.ts.map +1 -0
  183. package/build/lib/github-actions/lib/get-pr-deployments.js +51 -0
  184. package/build/lib/github-actions/lib/get-pr-deployments.js.map +1 -0
  185. package/build/lib/github-actions/pr-controller.d.ts +39 -0
  186. package/build/lib/github-actions/pr-controller.d.ts.map +1 -0
  187. package/build/lib/github-actions/pr-controller.js +122 -0
  188. package/build/lib/github-actions/pr-controller.js.map +1 -0
  189. package/build/lib/github-actions/run-step-cli.d.ts +9 -0
  190. package/build/lib/github-actions/run-step-cli.d.ts.map +1 -0
  191. package/build/lib/github-actions/run-step-cli.js +71 -0
  192. package/build/lib/github-actions/run-step-cli.js.map +1 -0
  193. package/build/lib/github-actions/runner.d.ts +17 -0
  194. package/build/lib/github-actions/runner.d.ts.map +1 -0
  195. package/build/lib/github-actions/runner.js +195 -0
  196. package/build/lib/github-actions/runner.js.map +1 -0
  197. package/build/lib/github-actions/schemas/context.d.ts +933 -0
  198. package/build/lib/github-actions/schemas/context.d.ts.map +1 -0
  199. package/build/lib/github-actions/schemas/context.js +407 -0
  200. package/build/lib/github-actions/schemas/context.js.map +1 -0
  201. package/build/lib/github-actions/schemas/index.d.ts +5 -0
  202. package/build/lib/github-actions/schemas/index.d.ts.map +1 -0
  203. package/build/lib/github-actions/schemas/index.js +5 -0
  204. package/build/lib/github-actions/schemas/index.js.map +1 -0
  205. package/build/lib/github-actions/search-module.d.ts +38 -0
  206. package/build/lib/github-actions/search-module.d.ts.map +1 -0
  207. package/build/lib/github-actions/search-module.js +40 -0
  208. package/build/lib/github-actions/search-module.js.map +1 -0
  209. package/build/lib/github-actions/step.d.ts +163 -0
  210. package/build/lib/github-actions/step.d.ts.map +1 -0
  211. package/build/lib/github-actions/step.js +121 -0
  212. package/build/lib/github-actions/step.js.map +1 -0
  213. package/build/lib/helpers.d.ts.map +1 -1
  214. package/build/lib/helpers.js +5 -3
  215. package/build/lib/helpers.js.map +1 -1
  216. package/build/lib/kit-temp.d.ts +54 -0
  217. package/build/lib/kit-temp.d.ts.map +1 -1
  218. package/build/lib/kit-temp.js +82 -14
  219. package/build/lib/kit-temp.js.map +1 -1
  220. package/build/lib/kit-temp.test-d.d.ts +2 -0
  221. package/build/lib/kit-temp.test-d.d.ts.map +1 -0
  222. package/build/lib/kit-temp.test-d.js +75 -0
  223. package/build/lib/kit-temp.test-d.js.map +1 -0
  224. package/build/lib/mask/$$.d.ts +3 -0
  225. package/build/lib/mask/$$.d.ts.map +1 -0
  226. package/build/lib/mask/$$.js +3 -0
  227. package/build/lib/mask/$$.js.map +1 -0
  228. package/build/lib/mask/$.d.ts +2 -0
  229. package/build/lib/mask/$.d.ts.map +1 -0
  230. package/build/lib/mask/$.js +2 -0
  231. package/build/lib/mask/$.js.map +1 -0
  232. package/build/lib/mask/apply.d.ts +86 -0
  233. package/build/lib/mask/apply.d.ts.map +1 -0
  234. package/build/lib/mask/apply.js +86 -0
  235. package/build/lib/mask/apply.js.map +1 -0
  236. package/build/lib/mask/mask.d.ts +124 -0
  237. package/build/lib/mask/mask.d.ts.map +1 -0
  238. package/build/lib/mask/mask.js +137 -0
  239. package/build/lib/mask/mask.js.map +1 -0
  240. package/build/lib/mask/mask.test-d.d.ts +2 -0
  241. package/build/lib/mask/mask.test-d.d.ts.map +1 -0
  242. package/build/lib/mask/mask.test-d.js +102 -0
  243. package/build/lib/mask/mask.test-d.js.map +1 -0
  244. package/build/lib/mutation-type.d.ts +18 -0
  245. package/build/lib/mutation-type.d.ts.map +1 -0
  246. package/build/lib/mutation-type.js +16 -0
  247. package/build/lib/mutation-type.js.map +1 -0
  248. package/build/lib/task/$$.d.ts +3 -0
  249. package/build/lib/task/$$.d.ts.map +1 -0
  250. package/build/lib/task/$$.js +3 -0
  251. package/build/lib/task/$$.js.map +1 -0
  252. package/build/lib/task/$.d.ts +2 -0
  253. package/build/lib/task/$.d.ts.map +1 -0
  254. package/build/lib/task/$.js +2 -0
  255. package/build/lib/task/$.js.map +1 -0
  256. package/build/lib/task/report.d.ts +28 -0
  257. package/build/lib/task/report.d.ts.map +1 -0
  258. package/build/lib/task/report.js +33 -0
  259. package/build/lib/task/report.js.map +1 -0
  260. package/build/lib/task/task.d.ts +44 -0
  261. package/build/lib/task/task.d.ts.map +1 -0
  262. package/build/lib/task/task.js +63 -0
  263. package/build/lib/task/task.js.map +1 -0
  264. package/build/lib/version-history/index.d.ts +3 -0
  265. package/build/lib/version-history/index.d.ts.map +1 -0
  266. package/build/lib/version-history/index.js +2 -0
  267. package/build/lib/version-history/index.js.map +1 -0
  268. package/build/lib/version-history/types.d.ts +64 -0
  269. package/build/lib/version-history/types.d.ts.map +1 -0
  270. package/build/lib/version-history/types.js +5 -0
  271. package/build/lib/version-history/types.js.map +1 -0
  272. package/build/lib/version-history/version-history.d.ts +85 -0
  273. package/build/lib/version-history/version-history.d.ts.map +1 -0
  274. package/build/lib/version-history/version-history.js +248 -0
  275. package/build/lib/version-history/version-history.js.map +1 -0
  276. package/build/lib/vite-virtual/debug.d.ts +1 -1
  277. package/build/lib/vite-virtual/debug.d.ts.map +1 -1
  278. package/build/lib/vite-virtual/debug.js +1 -1
  279. package/build/lib/vite-virtual/debug.js.map +1 -1
  280. package/build/project-data.d.ts +0 -1
  281. package/build/project-data.d.ts.map +1 -1
  282. package/build/sandbox.d.ts +2 -0
  283. package/build/sandbox.d.ts.map +1 -0
  284. package/build/sandbox.js +18 -0
  285. package/build/sandbox.js.map +1 -0
  286. package/build/singletons/debug.d.ts +2 -2
  287. package/build/singletons/debug.d.ts.map +1 -1
  288. package/build/singletons/debug.js +2 -2
  289. package/build/singletons/debug.js.map +1 -1
  290. package/build/template/components/HamburgerMenu.d.ts +9 -0
  291. package/build/template/components/HamburgerMenu.d.ts.map +1 -0
  292. package/build/template/components/HamburgerMenu.jsx +53 -0
  293. package/build/template/components/HamburgerMenu.jsx.map +1 -0
  294. package/build/template/components/Link.jsx +1 -1
  295. package/build/template/components/Logo.d.ts +9 -0
  296. package/build/template/components/Logo.d.ts.map +1 -0
  297. package/build/template/components/Logo.jsx +29 -0
  298. package/build/template/components/Logo.jsx.map +1 -0
  299. package/build/template/components/NotFound.d.ts +2 -0
  300. package/build/template/components/NotFound.d.ts.map +1 -0
  301. package/build/template/components/NotFound.jsx +26 -0
  302. package/build/template/components/NotFound.jsx.map +1 -0
  303. package/build/template/components/ThemeToggle.d.ts +3 -0
  304. package/build/template/components/ThemeToggle.d.ts.map +1 -0
  305. package/build/template/components/ThemeToggle.jsx +10 -0
  306. package/build/template/components/ThemeToggle.jsx.map +1 -0
  307. package/build/template/components/content/$$.d.ts +2 -0
  308. package/build/template/components/content/$$.d.ts.map +1 -0
  309. package/build/template/components/content/$$.js +2 -0
  310. package/build/template/components/content/$$.js.map +1 -0
  311. package/build/template/components/sidebar/Sidebar.d.ts +2 -2
  312. package/build/template/components/sidebar/Sidebar.d.ts.map +1 -1
  313. package/build/template/components/sidebar/SidebarItem.d.ts +3 -3
  314. package/build/template/components/sidebar/SidebarItem.d.ts.map +1 -1
  315. package/build/template/components/sidebar/SidebarItem.jsx +1 -1
  316. package/build/template/components/sidebar/SidebarItem.jsx.map +1 -1
  317. package/build/template/contexts/ThemeContext.d.ts +12 -0
  318. package/build/template/contexts/ThemeContext.d.ts.map +1 -0
  319. package/build/template/contexts/ThemeContext.jsx +41 -0
  320. package/build/template/contexts/ThemeContext.jsx.map +1 -0
  321. package/build/template/routes/root.d.ts.map +1 -1
  322. package/build/template/routes/root.jsx +66 -53
  323. package/build/template/routes/root.jsx.map +1 -1
  324. package/build/template/server/app.d.ts.map +1 -1
  325. package/build/template/server/app.js +2 -21
  326. package/build/template/server/app.js.map +1 -1
  327. package/package.json +42 -28
  328. package/src/api/api.ts +1 -0
  329. package/src/api/config/configurator.ts +28 -6
  330. package/src/api/config/load.ts +5 -5
  331. package/src/api/config-resolver/resolve.ts +2 -2
  332. package/src/api/content/$$.ts +6 -0
  333. package/src/api/content/$.test.ts +72 -0
  334. package/src/api/content/$.ts +1 -0
  335. package/src/api/content/metadata.ts +11 -0
  336. package/src/api/content/navbar.test.ts +55 -0
  337. package/src/api/content/navbar.ts +61 -0
  338. package/src/api/content/page.ts +12 -0
  339. package/src/api/content/scan.ts +117 -0
  340. package/src/api/content/sidebar.test.ts +297 -0
  341. package/src/api/content/sidebar.ts +283 -0
  342. package/src/api/content/utils.ts +7 -0
  343. package/src/api/schema/data-sources/schema-directory/schema-directory.ts +3 -2
  344. package/src/api/singletons/markdown/markdown.test.ts +1 -1
  345. package/src/api/static/index.ts +1 -0
  346. package/src/api/static/manifest.test.ts +106 -0
  347. package/src/api/static/manifest.ts +16 -0
  348. package/src/api/static/rebase.test.ts +229 -0
  349. package/src/api/static/rebase.ts +140 -0
  350. package/src/api/static/static.ts +2 -0
  351. package/src/api/utils/asset-url/asset-url.test.ts +4 -4
  352. package/src/api/vite/plugins/branding/index.ts +108 -0
  353. package/src/api/vite/plugins/build.ts +25 -1
  354. package/src/api/vite/plugins/core.ts +6 -7
  355. package/src/api/vite/plugins/main.ts +2 -0
  356. package/src/api/vite/plugins/pages.ts +131 -207
  357. package/src/api/vite/plugins/serve.ts +5 -5
  358. package/src/cli/_/self-contained-mode.ts +5 -5
  359. package/src/cli/commands/static/$default.ts +43 -0
  360. package/src/cli/commands/static/rebase.ts +37 -0
  361. package/src/cli/commands/static.ts +6 -0
  362. package/src/exports/components.ts +1 -0
  363. package/src/lib/demos/builder.ts +298 -0
  364. package/src/lib/demos/config-schema.ts +56 -0
  365. package/src/lib/demos/config.test.ts +193 -0
  366. package/src/lib/demos/config.ts +205 -0
  367. package/src/lib/demos/index.ts +9 -0
  368. package/src/lib/demos/ui/components.ts +739 -0
  369. package/src/lib/demos/ui/data-collector.ts +246 -0
  370. package/src/lib/demos/ui/landing-page-cli.ts +23 -0
  371. package/src/lib/demos/ui/landing-page.ts +126 -0
  372. package/src/lib/demos/ui/page-renderer.ts +124 -0
  373. package/src/lib/demos/utils.ts +43 -0
  374. package/src/lib/deployment/$$.ts +2 -0
  375. package/src/lib/deployment/$.test.ts +53 -0
  376. package/src/lib/deployment/$.ts +1 -0
  377. package/src/lib/deployment/metadata.ts +40 -0
  378. package/src/lib/deployment/path-manager.ts +186 -0
  379. package/src/lib/file-router/file-router.ts +0 -2
  380. package/src/lib/file-router/linter.test.ts +2 -0
  381. package/src/lib/file-router/route.ts +2 -0
  382. package/src/lib/file-router/scan.ts +26 -14
  383. package/src/lib/github-actions/git-controller.ts +151 -0
  384. package/src/lib/github-actions/github-actions.ts +6 -0
  385. package/src/lib/github-actions/index.ts +1 -0
  386. package/src/lib/github-actions/lib/get-pr-deployments.ts +76 -0
  387. package/src/lib/github-actions/pr-controller.test.ts +172 -0
  388. package/src/lib/github-actions/pr-controller.ts +183 -0
  389. package/src/lib/github-actions/run-step-cli.ts +84 -0
  390. package/src/lib/github-actions/runner.test.ts +192 -0
  391. package/src/lib/github-actions/runner.ts +226 -0
  392. package/src/lib/github-actions/schemas/context.ts +424 -0
  393. package/src/lib/github-actions/schemas/index.ts +5 -0
  394. package/src/lib/github-actions/search-module.test.ts +110 -0
  395. package/src/lib/github-actions/search-module.ts +76 -0
  396. package/src/lib/github-actions/step.test.ts +149 -0
  397. package/src/lib/github-actions/step.ts +232 -0
  398. package/src/lib/helpers.ts +4 -3
  399. package/src/lib/kit-temp.test-d.ts +115 -0
  400. package/src/lib/kit-temp.test.ts +127 -0
  401. package/src/lib/kit-temp.ts +128 -14
  402. package/src/lib/mask/$$.ts +2 -0
  403. package/src/lib/mask/$.test.ts +248 -0
  404. package/src/lib/mask/$.ts +1 -0
  405. package/src/lib/mask/apply.ts +134 -0
  406. package/src/lib/mask/mask.test-d.ts +144 -0
  407. package/src/lib/mask/mask.ts +244 -0
  408. package/src/lib/mutation-type.ts +20 -0
  409. package/src/lib/shiki/shiki.test.ts +1 -1
  410. package/src/lib/task/$$.ts +2 -0
  411. package/src/lib/task/$.test.ts +209 -0
  412. package/src/lib/task/$.ts +1 -0
  413. package/src/lib/task/report.ts +72 -0
  414. package/src/lib/task/task.ts +112 -0
  415. package/src/lib/version-history/index.test.ts +196 -0
  416. package/src/lib/version-history/index.ts +4 -0
  417. package/src/lib/version-history/types.ts +68 -0
  418. package/src/lib/version-history/version-history.ts +293 -0
  419. package/src/lib/vite-virtual/debug.ts +1 -1
  420. package/src/project-data.ts +0 -1
  421. package/src/sandbox.ts +20 -0
  422. package/src/singletons/debug.ts +2 -2
  423. package/src/template/components/HamburgerMenu.tsx +96 -0
  424. package/src/template/components/Link.tsx +1 -1
  425. package/src/template/components/Logo.tsx +46 -0
  426. package/src/template/components/NotFound.tsx +28 -0
  427. package/src/template/components/ThemeToggle.tsx +21 -0
  428. package/src/template/components/content/$$.ts +1 -0
  429. package/src/template/components/sidebar/Sidebar.tsx +2 -2
  430. package/src/template/components/sidebar/SidebarItem.tsx +8 -8
  431. package/src/template/contexts/ThemeContext.tsx +60 -0
  432. package/src/template/routes/root.tsx +85 -74
  433. package/src/template/server/app.ts +2 -27
  434. package/build/lib/debug/debug.d.ts +0 -13
  435. package/build/lib/debug/debug.d.ts.map +0 -1
  436. package/build/lib/debug/debug.js +0 -86
  437. package/build/lib/debug/debug.js.map +0 -1
  438. package/build/lib/debug/environment-variable.d.ts +0 -6
  439. package/build/lib/debug/environment-variable.d.ts.map +0 -1
  440. package/build/lib/debug/environment-variable.js +0 -48
  441. package/build/lib/debug/environment-variable.js.map +0 -1
  442. package/build/lib/debug/index.d.ts +0 -2
  443. package/build/lib/debug/index.d.ts.map +0 -1
  444. package/build/lib/debug/index.js +0 -2
  445. package/build/lib/debug/index.js.map +0 -1
  446. package/build/lib/file-router/scan-tree.d.ts +0 -20
  447. package/build/lib/file-router/scan-tree.d.ts.map +0 -1
  448. package/build/lib/file-router/scan-tree.js +0 -158
  449. package/build/lib/file-router/scan-tree.js.map +0 -1
  450. package/build/lib/file-router/sidebar/index.d.ts +0 -3
  451. package/build/lib/file-router/sidebar/index.d.ts.map +0 -1
  452. package/build/lib/file-router/sidebar/index.js +0 -4
  453. package/build/lib/file-router/sidebar/index.js.map +0 -1
  454. package/build/lib/file-router/sidebar/sidebar-tree.d.ts +0 -9
  455. package/build/lib/file-router/sidebar/sidebar-tree.d.ts.map +0 -1
  456. package/build/lib/file-router/sidebar/sidebar-tree.js +0 -85
  457. package/build/lib/file-router/sidebar/sidebar-tree.js.map +0 -1
  458. package/build/lib/file-router/sidebar/types.d.ts +0 -17
  459. package/build/lib/file-router/sidebar/types.d.ts.map +0 -1
  460. package/build/lib/file-router/sidebar/types.js +0 -2
  461. package/build/lib/file-router/sidebar/types.js.map +0 -1
  462. package/build/lib/tree/index.d.ts +0 -3
  463. package/build/lib/tree/index.d.ts.map +0 -1
  464. package/build/lib/tree/index.js +0 -2
  465. package/build/lib/tree/index.js.map +0 -1
  466. package/build/lib/tree/tree.d.ts +0 -62
  467. package/build/lib/tree/tree.d.ts.map +0 -1
  468. package/build/lib/tree/tree.js +0 -134
  469. package/build/lib/tree/tree.js.map +0 -1
  470. package/src/lib/debug/debug.ts +0 -120
  471. package/src/lib/debug/environment-variable.ts +0 -56
  472. package/src/lib/debug/index.ts +0 -1
  473. package/src/lib/file-router/scan-tree.test.ts +0 -189
  474. package/src/lib/file-router/scan-tree.ts +0 -205
  475. package/src/lib/file-router/sidebar/index.ts +0 -3
  476. package/src/lib/file-router/sidebar/sidebar-tree.test.ts +0 -123
  477. package/src/lib/file-router/sidebar/sidebar-tree.ts +0 -110
  478. package/src/lib/file-router/sidebar/types.ts +0 -19
  479. package/src/lib/tree/index.ts +0 -2
  480. package/src/lib/tree/tree.test.ts +0 -117
  481. package/src/lib/tree/tree.ts +0 -183
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/lib/demos/ui/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Data collection for demo landing pages
3
+ */
4
+ export interface DemoMetadata {
5
+ title: string;
6
+ description: string;
7
+ enabled: boolean;
8
+ reason?: string;
9
+ }
10
+ export interface TrunkDeployment {
11
+ sha: string;
12
+ shortSha: string;
13
+ tag: string | null;
14
+ }
15
+ export interface TrunkDeploymentsData {
16
+ latest: TrunkDeployment | null;
17
+ previous: TrunkDeployment[];
18
+ }
19
+ export interface PrDeployment {
20
+ number: number;
21
+ sha?: string;
22
+ ref?: string;
23
+ previousDeployments?: string[];
24
+ }
25
+ export interface DistTagsData {
26
+ [key: string]: string;
27
+ }
28
+ export interface LandingPageData {
29
+ demoMetadata: Record<string, DemoMetadata>;
30
+ demoExamples: string[];
31
+ trunkDeployments?: TrunkDeploymentsData;
32
+ prDeployments?: PrDeployment[];
33
+ distTags?: DistTagsData;
34
+ config: {
35
+ basePath: string;
36
+ mode: 'production' | 'development';
37
+ prNumber?: string;
38
+ currentSha?: string;
39
+ };
40
+ }
41
+ /**
42
+ * Collects all data needed for generating demo landing pages
43
+ */
44
+ export declare class DemoDataCollector {
45
+ private workingDir;
46
+ constructor(workingDir?: string);
47
+ /**
48
+ * Collect all data for landing page generation
49
+ */
50
+ collectLandingPageData(options: {
51
+ mode?: 'production' | 'development';
52
+ basePath?: string;
53
+ prNumber?: string;
54
+ currentSha?: string;
55
+ trunkDeployments?: string | TrunkDeploymentsData;
56
+ prDeployments?: string | PrDeployment[];
57
+ distTags?: string | DistTagsData;
58
+ }): Promise<LandingPageData>;
59
+ /**
60
+ * Get demo examples using existing utility
61
+ */
62
+ private getDemoExamples;
63
+ /**
64
+ * Load metadata for all demos (enabled and disabled)
65
+ */
66
+ private loadDemoMetadata;
67
+ /**
68
+ * Parse trunk deployments from JSON string or object
69
+ */
70
+ private parseTrunkDeployments;
71
+ /**
72
+ * Parse PR deployments from JSON string or array
73
+ */
74
+ private parsePrDeployments;
75
+ /**
76
+ * Parse dist-tags from JSON string or object
77
+ */
78
+ private parseDistTags;
79
+ /**
80
+ * Get mock data for development mode
81
+ */
82
+ private getMockTrunkDeployments;
83
+ /**
84
+ * Get mock dist-tags for development mode
85
+ */
86
+ private getMockDistTags;
87
+ }
88
+ //# sourceMappingURL=data-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-collector.d.ts","sourceRoot":"","sources":["../../../../src/lib/demos/ui/data-collector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IAC9B,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC1C,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,gBAAgB,CAAC,EAAE,oBAAoB,CAAA;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,YAAY,GAAG,aAAa,CAAA;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,UAAU;gBAAV,UAAU,GAAE,MAAsB;IAEtD;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE;QACpC,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;QACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAA;QAChD,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAA;QACvC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;KACjC,GAAG,OAAO,CAAC,eAAe,CAAC;IA+C5B;;OAEG;YACW,eAAe;IAQ7B;;OAEG;YACW,gBAAgB;IAwC9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,OAAO,CAAC,eAAe;CAMxB"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Data collection for demo landing pages
3
+ */
4
+ import { Str } from '@wollybeard/kit';
5
+ import { readFileSync } from 'node:fs';
6
+ import { join } from 'node:path';
7
+ import { getDemoConfig, getDemoExamples } from "../index.js";
8
+ /**
9
+ * Collects all data needed for generating demo landing pages
10
+ */
11
+ export class DemoDataCollector {
12
+ workingDir;
13
+ constructor(workingDir = process.cwd()) {
14
+ this.workingDir = workingDir;
15
+ }
16
+ /**
17
+ * Collect all data for landing page generation
18
+ */
19
+ async collectLandingPageData(options) {
20
+ try {
21
+ const { mode = 'production', basePath = '/', prNumber, currentSha, trunkDeployments, prDeployments, distTags, } = options;
22
+ // Get demo examples
23
+ const demoExamples = await this.getDemoExamples();
24
+ // Load demo metadata
25
+ const demoMetadata = await this.loadDemoMetadata(demoExamples);
26
+ // Parse deployment data based on mode
27
+ const parsedTrunkDeployments = mode === 'development'
28
+ ? this.getMockTrunkDeployments()
29
+ : this.parseTrunkDeployments(trunkDeployments);
30
+ const parsedPrDeployments = this.parsePrDeployments(prDeployments);
31
+ const parsedDistTags = mode === 'development'
32
+ ? this.getMockDistTags()
33
+ : this.parseDistTags(distTags);
34
+ return {
35
+ demoMetadata,
36
+ demoExamples,
37
+ trunkDeployments: parsedTrunkDeployments,
38
+ prDeployments: parsedPrDeployments,
39
+ distTags: parsedDistTags,
40
+ config: {
41
+ mode,
42
+ basePath,
43
+ prNumber,
44
+ currentSha,
45
+ },
46
+ };
47
+ }
48
+ catch (error) {
49
+ throw new Error(`Failed to collect landing page data: ${error instanceof Error ? error.message : String(error)}`);
50
+ }
51
+ }
52
+ /**
53
+ * Get demo examples using existing utility
54
+ */
55
+ async getDemoExamples() {
56
+ try {
57
+ return await getDemoExamples();
58
+ }
59
+ catch (error) {
60
+ throw new Error(`Failed to get demo examples: ${error instanceof Error ? error.message : String(error)}`);
61
+ }
62
+ }
63
+ /**
64
+ * Load metadata for all demos (enabled and disabled)
65
+ */
66
+ async loadDemoMetadata(demoExamples) {
67
+ const metadata = {};
68
+ const config = getDemoConfig().fullConfig;
69
+ // Load metadata from package.json files for enabled examples
70
+ for (const example of demoExamples) {
71
+ try {
72
+ const packageJsonPath = join(this.workingDir, 'examples', example, 'package.json');
73
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
74
+ metadata[example] = {
75
+ title: packageJson.displayName || Str.Case.title(packageJson.name || example),
76
+ description: packageJson.description
77
+ || `Explore the ${example} GraphQL API with comprehensive documentation.`,
78
+ enabled: true,
79
+ };
80
+ }
81
+ catch {
82
+ // Fallback if package.json is missing or invalid
83
+ metadata[example] = {
84
+ title: Str.Case.title(example),
85
+ description: `Explore the ${example} GraphQL API with comprehensive documentation.`,
86
+ enabled: true,
87
+ };
88
+ }
89
+ }
90
+ // Add disabled demos from configuration
91
+ const disabledDemos = getDemoConfig().getDisabledDemos();
92
+ for (const [name, disabledDemo] of Object.entries(disabledDemos)) {
93
+ metadata[name] = {
94
+ title: disabledDemo.title,
95
+ description: disabledDemo.description,
96
+ enabled: false,
97
+ reason: disabledDemo.reason,
98
+ };
99
+ }
100
+ return metadata;
101
+ }
102
+ /**
103
+ * Parse trunk deployments from JSON string or object
104
+ */
105
+ parseTrunkDeployments(trunkDeployments) {
106
+ if (!trunkDeployments)
107
+ return undefined;
108
+ if (typeof trunkDeployments === 'string') {
109
+ try {
110
+ return JSON.parse(trunkDeployments);
111
+ }
112
+ catch {
113
+ return undefined;
114
+ }
115
+ }
116
+ return trunkDeployments;
117
+ }
118
+ /**
119
+ * Parse PR deployments from JSON string or array
120
+ */
121
+ parsePrDeployments(prDeployments) {
122
+ if (!prDeployments)
123
+ return undefined;
124
+ if (typeof prDeployments === 'string') {
125
+ try {
126
+ return JSON.parse(prDeployments);
127
+ }
128
+ catch {
129
+ return undefined;
130
+ }
131
+ }
132
+ return prDeployments;
133
+ }
134
+ /**
135
+ * Parse dist-tags from JSON string or object
136
+ */
137
+ parseDistTags(distTags) {
138
+ if (!distTags)
139
+ return undefined;
140
+ if (typeof distTags === 'string') {
141
+ try {
142
+ return JSON.parse(distTags);
143
+ }
144
+ catch {
145
+ return undefined;
146
+ }
147
+ }
148
+ return distTags;
149
+ }
150
+ /**
151
+ * Get mock data for development mode
152
+ */
153
+ getMockTrunkDeployments() {
154
+ return {
155
+ latest: { sha: '1.2.0', shortSha: '1.2.0', tag: '1.2.0' },
156
+ previous: [
157
+ { sha: '1.1.0', shortSha: '1.1.0', tag: '1.1.0' },
158
+ { sha: '1.0.0', shortSha: '1.0.0', tag: '1.0.0' },
159
+ { sha: '0.9.1', shortSha: '0.9.1', tag: '0.9.1' },
160
+ { sha: '0.9.0', shortSha: '0.9.0', tag: '0.9.0' },
161
+ ],
162
+ };
163
+ }
164
+ /**
165
+ * Get mock dist-tags for development mode
166
+ */
167
+ getMockDistTags() {
168
+ return {
169
+ latest: '1.2.0',
170
+ next: '1.3.0-beta.2',
171
+ };
172
+ }
173
+ }
174
+ //# sourceMappingURL=data-collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-collector.js","sourceRoot":"","sources":["../../../../src/lib/demos/ui/data-collector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=landing-page-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landing-page-cli.d.ts","sourceRoot":"","sources":["../../../../src/lib/demos/ui/landing-page-cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from '@molt/command';
3
+ import { z } from 'zod';
4
+ import { buildDemosHome } from "./landing-page.js";
5
+ /**
6
+ * CLI entry point
7
+ */
8
+ const command = Command.create()
9
+ .parameter('basePath', z.string().optional().describe('Base path for demo links'))
10
+ .parameter('prNumber', z.string().optional().describe('PR number for preview mode'))
11
+ .parameter('currentSha', z.string().optional().describe('Current commit SHA'))
12
+ .parameter('mode', z.enum(['production', 'development']).optional().describe('Page mode'))
13
+ .parameter('prDeployments', z.string().optional().describe('JSON string of PR deployments'))
14
+ .parameter('trunkDeployments', z.string().optional().describe('JSON string of trunk deployments'))
15
+ .parameter('distTags', z.string().optional().describe('JSON string of dist-tags'))
16
+ .parameter('serve', z.boolean().optional().describe('Start development server'))
17
+ .parameter('outputDir', z.string().optional().describe('Output directory'))
18
+ .parameter('outputPath', z.string().optional().describe('Output file path (overrides outputDir)'));
19
+ const args = await command.parse();
20
+ await buildDemosHome(args);
21
+ //# sourceMappingURL=landing-page-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landing-page-cli.js","sourceRoot":"","sources":["../../../../src/lib/demos/ui/landing-page-cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD;;GAEG;AACH,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE;KAC7B,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;KACjF,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;KACnF,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;KAC7E,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;KACzF,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;KAC3F,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;KACjG,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;KACjF,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;KAC/E,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;KAC1E,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC,CAAA;AAEpG,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;AAClC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Main entry point for demo landing page generation
3
+ */
4
+ import type { VersionCatalog } from '#lib/version-history/index';
5
+ export interface Options {
6
+ basePath?: string;
7
+ prNumber?: string;
8
+ currentSha?: string;
9
+ mode?: 'production' | 'development';
10
+ prDeployments?: string | any[];
11
+ trunkDeployments?: string | any;
12
+ distTags?: string | Record<string, string>;
13
+ outputDir?: string;
14
+ outputPath?: string;
15
+ }
16
+ export interface CatalogOptions {
17
+ basePath?: string;
18
+ prNumber?: string;
19
+ currentSha?: string;
20
+ mode?: 'production' | 'development';
21
+ prDeployments?: string | any[];
22
+ catalog: VersionCatalog;
23
+ outputDir?: string;
24
+ outputPath?: string;
25
+ }
26
+ /**
27
+ * Build demos home page with a version catalog
28
+ */
29
+ export declare function buildDemosHomeWithCatalog(options: CatalogOptions): Promise<void>;
30
+ export declare function buildDemosHome(options: CatalogOptions): Promise<void>;
31
+ export declare function buildDemosHome(options?: Options): Promise<void>;
32
+ //# sourceMappingURL=landing-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landing-page.d.ts","sourceRoot":"","sources":["../../../../src/lib/demos/ui/landing-page.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAOhE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IAC9B,OAAO,EAAE,cAAc,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCtF;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAC5E,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -0,0 +1,83 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import { dirname, extname, join } from 'node:path';
3
+ import { DemoDataCollector } from "./data-collector.js";
4
+ import { DemoPageRenderer } from "./page-renderer.js";
5
+ /**
6
+ * Build demos home page with a version catalog
7
+ */
8
+ export async function buildDemosHomeWithCatalog(options) {
9
+ const { catalog, ...otherOptions } = options;
10
+ // Transform catalog data inline
11
+ const latestStable = catalog.distTags.latest || catalog.stable[0] || null;
12
+ const trunkDeployments = {
13
+ latest: latestStable
14
+ ? {
15
+ sha: latestStable.git.sha,
16
+ shortSha: latestStable.git.sha.substring(0, 7),
17
+ tag: latestStable.git.tag,
18
+ }
19
+ : null,
20
+ previous: catalog.versions
21
+ .filter(v => v.git.tag !== latestStable?.git.tag)
22
+ .slice(0, 10)
23
+ .map(v => ({
24
+ sha: v.git.sha,
25
+ shortSha: v.git.sha.substring(0, 7),
26
+ tag: v.git.tag,
27
+ })),
28
+ };
29
+ const distTags = {};
30
+ for (const [name, version] of Object.entries(catalog.distTags)) {
31
+ if (version) {
32
+ distTags[name] = version.git.tag;
33
+ }
34
+ }
35
+ // Use the existing function with transformed data
36
+ return buildDemosHome({
37
+ ...otherOptions,
38
+ trunkDeployments,
39
+ distTags,
40
+ });
41
+ }
42
+ /**
43
+ * Main function that builds the demos home page
44
+ */
45
+ export async function buildDemosHome(options = {}) {
46
+ // Check if catalog is provided
47
+ if ('catalog' in options && options.catalog) {
48
+ return buildDemosHomeWithCatalog(options);
49
+ }
50
+ const config = {
51
+ basePath: '/',
52
+ mode: 'production',
53
+ outputDir: 'dist-demos',
54
+ ...options,
55
+ };
56
+ // Collect all required data
57
+ const dataCollector = new DemoDataCollector();
58
+ const data = await dataCollector.collectLandingPageData(config);
59
+ // Render the page
60
+ const renderer = new DemoPageRenderer();
61
+ const html = renderer.renderPage(data);
62
+ // Determine output path
63
+ let outputPath;
64
+ if (config.outputPath) {
65
+ // Use provided outputPath
66
+ outputPath = config.outputPath;
67
+ // If it's a directory (no extension), append the filename
68
+ if (!extname(outputPath)) {
69
+ const fileName = 'index.html';
70
+ outputPath = join(outputPath, fileName);
71
+ }
72
+ // Ensure parent directory exists
73
+ await fs.mkdir(dirname(outputPath), { recursive: true });
74
+ }
75
+ else {
76
+ // Use outputDir (legacy behavior)
77
+ await fs.mkdir(config.outputDir, { recursive: true });
78
+ const fileName = 'index.html';
79
+ outputPath = join(config.outputDir, fileName);
80
+ }
81
+ await fs.writeFile(outputPath, html);
82
+ }
83
+ //# sourceMappingURL=landing-page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../../../../src/lib/demos/ui/landing-page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * HTML page renderer for demo landing pages
3
+ */
4
+ import type { LandingPageData } from './data-collector.ts';
5
+ /**
6
+ * Renders complete HTML pages for demo landing
7
+ */
8
+ export declare class DemoPageRenderer {
9
+ /**
10
+ * Render main demo landing page
11
+ */
12
+ renderMainLandingPage(data: LandingPageData): string;
13
+ /**
14
+ * Render development page with mock data
15
+ */
16
+ renderDevPage(data: LandingPageData): string;
17
+ /**
18
+ * Render page based on mode
19
+ */
20
+ renderPage(data: LandingPageData): string;
21
+ }
22
+ /**
23
+ * Utility function for quick page rendering
24
+ */
25
+ export declare function renderDemoLandingPage(data: LandingPageData): Promise<string>;
26
+ //# sourceMappingURL=page-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-renderer.d.ts","sourceRoot":"","sources":["../../../../src/lib/demos/ui/page-renderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE1D;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAuCpD;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IAmC5C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;CAW1C;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * HTML page renderer for demo landing pages
3
+ */
4
+ import { getDemoConfig } from "../index.js";
5
+ import { generateDemosGrid, generateFooter, generateHeader, generatePrBanner, generateVersionInfo, getDemoPageStyles, } from "./components.js";
6
+ /**
7
+ * Renders complete HTML pages for demo landing
8
+ */
9
+ export class DemoPageRenderer {
10
+ /**
11
+ * Render main demo landing page
12
+ */
13
+ renderMainLandingPage(data) {
14
+ const config = getDemoConfig().fullConfig;
15
+ const { mode, prNumber } = data.config;
16
+ let pageTitle = config.ui.branding.title;
17
+ if (prNumber) {
18
+ pageTitle = `${pageTitle} - PR #${prNumber} Preview`;
19
+ }
20
+ const prBannerHtml = prNumber ? generatePrBanner(prNumber) : '';
21
+ const headerHtml = generateHeader(data);
22
+ const demosGridHtml = generateDemosGrid(data);
23
+ const versionInfoHtml = generateVersionInfo(data);
24
+ const footerHtml = generateFooter();
25
+ return `<!DOCTYPE html>
26
+ <html lang="en">
27
+ <head>
28
+ <meta charset="UTF-8">
29
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
30
+ <title>${pageTitle}</title>
31
+ <meta name="description" content="${config.ui.branding.description}">
32
+ ${config.ui.branding.logoUrl ? `<link rel="icon" href="${config.ui.branding.logoUrl}">` : ''}
33
+ <style>
34
+ ${getDemoPageStyles()}
35
+ </style>
36
+ </head>
37
+ <body>
38
+ ${prBannerHtml}
39
+ <div class="container">
40
+ ${headerHtml}
41
+ ${demosGridHtml}
42
+ ${versionInfoHtml}
43
+ ${footerHtml}
44
+ </div>
45
+ </body>
46
+ </html>`;
47
+ }
48
+ /**
49
+ * Render development page with mock data
50
+ */
51
+ renderDevPage(data) {
52
+ const headerHtml = generateHeader(data);
53
+ const demosGridHtml = generateDemosGrid(data);
54
+ const versionInfoHtml = generateVersionInfo(data);
55
+ const footerHtml = generateFooter();
56
+ const devNoticeHtml = `
57
+ <div style="background: #fff3cd; border: 1px solid #ffeaa7; padding: 1rem; margin-bottom: 2rem; border-radius: 4px;">
58
+ <strong>Development Mode:</strong> This page is using mock data for development purposes.
59
+ </div>
60
+ `;
61
+ return `<!DOCTYPE html>
62
+ <html lang="en">
63
+ <head>
64
+ <meta charset="UTF-8">
65
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
66
+ <title>Polen Demos - Development</title>
67
+ <meta name="description" content="Development version of Polen demos">
68
+ <style>
69
+ ${getDemoPageStyles()}
70
+ </style>
71
+ </head>
72
+ <body>
73
+ <div class="container">
74
+ ${devNoticeHtml}
75
+ ${headerHtml}
76
+ ${demosGridHtml}
77
+ ${versionInfoHtml}
78
+ ${footerHtml}
79
+ </div>
80
+ </body>
81
+ </html>`;
82
+ }
83
+ /**
84
+ * Render page based on mode
85
+ */
86
+ renderPage(data) {
87
+ const { mode } = data.config;
88
+ switch (mode) {
89
+ case 'development':
90
+ return this.renderDevPage(data);
91
+ case 'production':
92
+ default:
93
+ return this.renderMainLandingPage(data);
94
+ }
95
+ }
96
+ }
97
+ /**
98
+ * Utility function for quick page rendering
99
+ */
100
+ export async function renderDemoLandingPage(data) {
101
+ const renderer = new DemoPageRenderer();
102
+ return renderer.renderPage(data);
103
+ }
104
+ //# sourceMappingURL=page-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-renderer.js","sourceRoot":"","sources":["../../../../src/lib/demos/ui/page-renderer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAA;AAGxB;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,qBAAqB,CAAC,IAAqB;QACzC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC,UAAU,CAAA;QACzC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAEtC,IAAI,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAA;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,SAAS,UAAU,QAAQ,UAAU,CAAA;QACtD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;QAEnC,OAAO;;;;;WAKA,SAAS;sCACkB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW;IAChE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE;;MAExF,iBAAiB,EAAE;;;;IAIrB,YAAY;;MAEV,UAAU;MACV,aAAa;MACb,eAAe;MACf,UAAU;;;QAGR,CAAA;IACN,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,IAAqB;QACjC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;QAEnC,MAAM,aAAa,GAAG;;;;KAIrB,CAAA;QAED,OAAO;;;;;;;;MAQL,iBAAiB,EAAE;;;;;MAKnB,aAAa;MACb,UAAU;MACV,aAAa;MACb,eAAe;MACf,UAAU;;;QAGR,CAAA;IACN,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAqB;QAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAE5B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;YACjC,KAAK,YAAY,CAAC;YAClB;gBACE,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAA;IACvC,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAClC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Utility functions for demo management
3
+ */
4
+ import type { Version } from '#lib/version-history/index';
5
+ /**
6
+ * Get list of demo examples from the examples directory
7
+ */
8
+ export declare function getDemoExamples(): Promise<string[]>;
9
+ /**
10
+ * Get deployment path for a version
11
+ */
12
+ export declare const getDistTagPath: (version: Version) => string;
13
+ export declare const getSemverPath: (version: Version) => string;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/demos/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAKzD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBzD;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,KAAG,MAEjD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,KAAG,MAEhD,CAAA"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Utility functions for demo management
3
+ */
4
+ import { promises as fs } from 'node:fs';
5
+ import { join } from 'node:path';
6
+ import { getDemoConfig } from "./config.js";
7
+ /**
8
+ * Get list of demo examples from the examples directory
9
+ */
10
+ export async function getDemoExamples() {
11
+ const examplesDir = join(process.cwd(), 'examples');
12
+ const examples = [];
13
+ // Read all directories in examples/
14
+ try {
15
+ const dirs = await fs.readdir(examplesDir, { withFileTypes: true });
16
+ const dirNames = dirs
17
+ .filter(dirent => dirent.isDirectory())
18
+ .map(dirent => dirent.name);
19
+ examples.push(...dirNames);
20
+ }
21
+ catch (e) {
22
+ console.error(`Error reading examples directory:`, e.message);
23
+ }
24
+ // Use DemoConfig to filter and order examples
25
+ const config = getDemoConfig();
26
+ return config.getOrderedDemos(examples);
27
+ }
28
+ /**
29
+ * Get deployment path for a version
30
+ */
31
+ export const getDistTagPath = (version) => {
32
+ return version.isPrerelease ? `/next/` : '/latest/';
33
+ };
34
+ export const getSemverPath = (version) => {
35
+ return `/${version.semver}/`;
36
+ };
37
+ //# sourceMappingURL=utils.js.map