zudoku 0.0.0-fed343e → 0.0.0-ff3751f

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 (599) hide show
  1. package/README.md +121 -0
  2. package/cli.js +2 -2
  3. package/dist/app/entry.client.js +2 -2
  4. package/dist/app/entry.client.js.map +1 -1
  5. package/dist/app/entry.server.js +3 -0
  6. package/dist/app/entry.server.js.map +1 -1
  7. package/dist/app/main.d.ts +1 -0
  8. package/dist/app/main.js +12 -29
  9. package/dist/app/main.js.map +1 -1
  10. package/dist/app/standalone.js.map +1 -1
  11. package/dist/cli/cli.js +1 -2
  12. package/dist/cli/cli.js.map +1 -1
  13. package/dist/cli/common/machine-id/lib.js.map +1 -1
  14. package/dist/cli/common/outdated.js.map +1 -1
  15. package/dist/cli/common/utils/box.js.map +1 -1
  16. package/dist/cli/dev/handler.js +2 -2
  17. package/dist/cli/dev/handler.js.map +1 -1
  18. package/dist/config/config.d.ts +2 -6
  19. package/dist/config/validators/InputSidebarSchema.d.ts +21 -5
  20. package/dist/config/validators/InputSidebarSchema.js +7 -28
  21. package/dist/config/validators/InputSidebarSchema.js.map +1 -1
  22. package/dist/config/validators/SidebarSchema.d.ts +24 -1
  23. package/dist/config/validators/SidebarSchema.js +80 -44
  24. package/dist/config/validators/SidebarSchema.js.map +1 -1
  25. package/dist/config/validators/validate.d.ts +590 -311
  26. package/dist/config/validators/validate.js +42 -19
  27. package/dist/config/validators/validate.js.map +1 -1
  28. package/dist/index.d.ts +5 -1
  29. package/dist/index.js +1 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/lib/authentication/components/CallbackHandler.js +21 -31
  32. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  33. package/dist/lib/authentication/hook.d.ts +1 -1
  34. package/dist/lib/authentication/hook.js +1 -1
  35. package/dist/lib/authentication/hook.js.map +1 -1
  36. package/dist/lib/authentication/state.d.ts +16 -0
  37. package/dist/lib/authentication/state.js +5 -0
  38. package/dist/lib/authentication/state.js.map +1 -1
  39. package/dist/lib/components/Banner.js +7 -1
  40. package/dist/lib/components/Banner.js.map +1 -1
  41. package/dist/lib/components/ErrorPage.js +1 -2
  42. package/dist/lib/components/ErrorPage.js.map +1 -1
  43. package/dist/lib/components/Header.js +6 -1
  44. package/dist/lib/components/Header.js.map +1 -1
  45. package/dist/lib/components/Heading.d.ts +1 -1
  46. package/dist/lib/components/InlineCode.d.ts +2 -1
  47. package/dist/lib/components/InlineCode.js +9 -1
  48. package/dist/lib/components/InlineCode.js.map +1 -1
  49. package/dist/lib/components/Layout.js +1 -1
  50. package/dist/lib/components/Layout.js.map +1 -1
  51. package/dist/lib/components/MobileTopNavigation.js +5 -1
  52. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  53. package/dist/lib/components/Search.js +1 -1
  54. package/dist/lib/components/Search.js.map +1 -1
  55. package/dist/lib/components/SlotletProvider.d.ts +10 -2
  56. package/dist/lib/components/SlotletProvider.js +4 -2
  57. package/dist/lib/components/SlotletProvider.js.map +1 -1
  58. package/dist/lib/components/SyntaxHighlight.js +4 -1
  59. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  60. package/dist/lib/components/TopNavigation.d.ts +3 -0
  61. package/dist/lib/components/TopNavigation.js +38 -5
  62. package/dist/lib/components/TopNavigation.js.map +1 -1
  63. package/dist/lib/components/context/ZudokuContext.d.ts +6 -10
  64. package/dist/lib/components/context/ZudokuContext.js +26 -20
  65. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  66. package/dist/lib/components/index.d.ts +18 -8
  67. package/dist/lib/components/index.js +10 -3
  68. package/dist/lib/components/index.js.map +1 -1
  69. package/dist/lib/components/navigation/Sidebar.js +3 -3
  70. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  71. package/dist/lib/components/navigation/SidebarCategory.js +18 -9
  72. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  73. package/dist/lib/components/navigation/SidebarItem.js +12 -7
  74. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  75. package/dist/lib/components/navigation/utils.js +10 -14
  76. package/dist/lib/components/navigation/utils.js.map +1 -1
  77. package/dist/lib/core/DevPortalContext.d.ts +4 -7
  78. package/dist/lib/core/DevPortalContext.js.map +1 -1
  79. package/dist/lib/core/plugins.d.ts +1 -0
  80. package/dist/lib/core/plugins.js.map +1 -1
  81. package/dist/lib/errors/ErrorAlert.d.ts +1 -1
  82. package/dist/lib/errors/ErrorAlert.js +8 -3
  83. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  84. package/dist/lib/oas/graphql/index.d.ts +2 -1
  85. package/dist/lib/oas/graphql/index.js +24 -16
  86. package/dist/lib/oas/graphql/index.js.map +1 -1
  87. package/dist/lib/oas/parser/index.d.ts +1 -0
  88. package/dist/lib/oas/parser/index.js.map +1 -1
  89. package/dist/lib/plugins/api-keys/CreateApiKey.js +1 -1
  90. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  91. package/dist/lib/plugins/custom-pages/CustomPage.d.ts +2 -0
  92. package/dist/lib/plugins/custom-pages/CustomPage.js +11 -0
  93. package/dist/lib/plugins/custom-pages/CustomPage.js.map +1 -0
  94. package/dist/lib/plugins/custom-pages/index.d.ts +10 -0
  95. package/dist/lib/plugins/custom-pages/index.js +11 -0
  96. package/dist/lib/plugins/custom-pages/index.js.map +1 -0
  97. package/dist/lib/plugins/markdown/MdxPage.js +2 -2
  98. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  99. package/dist/lib/plugins/markdown/index.d.ts +5 -5
  100. package/dist/lib/plugins/markdown/index.js +31 -3
  101. package/dist/lib/plugins/markdown/index.js.map +1 -1
  102. package/dist/lib/plugins/markdown/resolver.d.ts +38 -0
  103. package/dist/lib/plugins/markdown/resolver.js +75 -0
  104. package/dist/lib/plugins/markdown/resolver.js.map +1 -0
  105. package/dist/lib/plugins/openapi/Endpoint.d.ts +1 -3
  106. package/dist/lib/plugins/openapi/Endpoint.js +46 -8
  107. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  108. package/dist/lib/plugins/openapi/OperationList.js +2 -2
  109. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  110. package/dist/lib/plugins/openapi/OperationListItem.js +1 -1
  111. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  112. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +2 -1
  113. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
  114. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  115. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  116. package/dist/lib/plugins/openapi/Route.d.ts +1 -1
  117. package/dist/lib/plugins/openapi/Route.js +1 -1
  118. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  119. package/dist/lib/plugins/openapi/Sidecar.js +17 -6
  120. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  121. package/dist/lib/plugins/openapi/SimpleSelect.d.ts +2 -1
  122. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  123. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  124. package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
  125. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
  126. package/dist/lib/plugins/openapi/client/createWorkerClient.js +1 -1
  127. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -1
  128. package/dist/lib/plugins/openapi/client/worker.js.map +1 -1
  129. package/dist/lib/plugins/openapi/graphql/gql.d.ts +10 -2
  130. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  131. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  132. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +29 -3
  133. package/dist/lib/plugins/openapi/graphql/graphql.js +87 -0
  134. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  135. package/dist/lib/plugins/openapi/index.js +1 -1
  136. package/dist/lib/plugins/openapi/index.js.map +1 -1
  137. package/dist/lib/plugins/openapi/interfaces.d.ts +3 -0
  138. package/dist/lib/plugins/openapi/playground/Playground.d.ts +2 -1
  139. package/dist/lib/plugins/openapi/playground/Playground.js +15 -6
  140. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  141. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +1 -1
  142. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  143. package/dist/lib/plugins/openapi/playground/ResponseTab.js +1 -1
  144. package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +1 -1
  145. package/dist/lib/plugins/openapi/playground/createUrl.js +3 -1
  146. package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -1
  147. package/dist/lib/plugins/redirect/index.d.ts +2 -5
  148. package/dist/lib/plugins/redirect/index.js +1 -1
  149. package/dist/lib/plugins/redirect/index.js.map +1 -1
  150. package/dist/lib/ui/Accordion.d.ts +7 -0
  151. package/dist/lib/ui/Accordion.js +14 -0
  152. package/dist/lib/ui/Accordion.js.map +1 -0
  153. package/dist/lib/ui/Alert.d.ts +8 -0
  154. package/dist/lib/ui/Alert.js +23 -0
  155. package/dist/lib/ui/Alert.js.map +1 -0
  156. package/dist/lib/ui/AlertDialog.d.ts +20 -0
  157. package/dist/lib/ui/AlertDialog.js +27 -0
  158. package/dist/lib/ui/AlertDialog.js.map +1 -0
  159. package/dist/lib/ui/AspectRatio.d.ts +3 -0
  160. package/dist/lib/ui/AspectRatio.js +4 -0
  161. package/dist/lib/ui/AspectRatio.js.map +1 -0
  162. package/dist/lib/ui/Badge.d.ts +9 -0
  163. package/dist/lib/ui/Badge.js +21 -0
  164. package/dist/lib/ui/Badge.js.map +1 -0
  165. package/dist/lib/ui/Breadcrumb.d.ts +19 -0
  166. package/dist/lib/ui/Breadcrumb.js +24 -0
  167. package/dist/lib/ui/Breadcrumb.js.map +1 -0
  168. package/dist/lib/ui/Button.d.ts +2 -3
  169. package/dist/lib/ui/Button.js +1 -1
  170. package/dist/lib/ui/Button.js.map +1 -1
  171. package/dist/lib/ui/Callout.d.ts +36 -35
  172. package/dist/lib/ui/Callout.js.map +1 -1
  173. package/dist/lib/ui/Carousel.d.ts +18 -0
  174. package/dist/lib/ui/Carousel.js +99 -0
  175. package/dist/lib/ui/Carousel.js.map +1 -0
  176. package/dist/lib/ui/Checkbox.d.ts +4 -0
  177. package/dist/lib/ui/Checkbox.js +9 -0
  178. package/dist/lib/ui/Checkbox.js.map +1 -0
  179. package/dist/lib/ui/Collapsible.d.ts +5 -0
  180. package/dist/lib/ui/Collapsible.js +6 -0
  181. package/dist/lib/ui/Collapsible.js.map +1 -0
  182. package/dist/lib/ui/Command.d.ts +80 -0
  183. package/dist/lib/ui/Command.js +31 -0
  184. package/dist/lib/ui/Command.js.map +1 -0
  185. package/dist/lib/{components → ui}/Dialog.js +2 -2
  186. package/dist/lib/ui/Dialog.js.map +1 -0
  187. package/dist/lib/ui/Drawer.d.ts +8 -10
  188. package/dist/lib/ui/Drawer.js.map +1 -1
  189. package/dist/lib/ui/Form.d.ts +23 -0
  190. package/dist/lib/ui/Form.js +63 -0
  191. package/dist/lib/ui/Form.js.map +1 -0
  192. package/dist/lib/ui/HoverCard.d.ts +6 -0
  193. package/dist/lib/ui/HoverCard.js +10 -0
  194. package/dist/lib/ui/HoverCard.js.map +1 -0
  195. package/dist/lib/ui/Label.d.ts +5 -0
  196. package/dist/lib/ui/Label.js +10 -0
  197. package/dist/lib/ui/Label.js.map +1 -0
  198. package/dist/lib/ui/Pagination.d.ts +28 -0
  199. package/dist/lib/ui/Pagination.js +24 -0
  200. package/dist/lib/ui/Pagination.js.map +1 -0
  201. package/dist/lib/ui/Popover.d.ts +6 -0
  202. package/dist/lib/ui/Popover.js +10 -0
  203. package/dist/lib/ui/Popover.js.map +1 -0
  204. package/dist/lib/ui/Progress.d.ts +4 -0
  205. package/dist/lib/ui/Progress.js +8 -0
  206. package/dist/lib/ui/Progress.js.map +1 -0
  207. package/dist/lib/ui/RadioGroup.d.ts +5 -0
  208. package/dist/lib/ui/RadioGroup.js +15 -0
  209. package/dist/lib/ui/RadioGroup.js.map +1 -0
  210. package/dist/lib/ui/ScrollArea.d.ts +5 -0
  211. package/dist/lib/ui/ScrollArea.js +12 -0
  212. package/dist/lib/ui/ScrollArea.js.map +1 -0
  213. package/dist/lib/ui/Select.js.map +1 -0
  214. package/dist/lib/ui/Skeleton.d.ts +2 -0
  215. package/dist/lib/ui/Skeleton.js +7 -0
  216. package/dist/lib/ui/Skeleton.js.map +1 -0
  217. package/dist/lib/ui/Slider.d.ts +4 -0
  218. package/dist/lib/ui/Slider.js +8 -0
  219. package/dist/lib/ui/Slider.js.map +1 -0
  220. package/dist/lib/ui/Switch.d.ts +4 -0
  221. package/dist/lib/ui/Switch.js +8 -0
  222. package/dist/lib/ui/Switch.js.map +1 -0
  223. package/dist/lib/ui/Textarea.d.ts +4 -0
  224. package/dist/lib/ui/Textarea.js +9 -0
  225. package/dist/lib/ui/Textarea.js.map +1 -0
  226. package/dist/lib/ui/Toggle.d.ts +12 -0
  227. package/dist/lib/ui/Toggle.js +26 -0
  228. package/dist/lib/ui/Toggle.js.map +1 -0
  229. package/dist/lib/ui/ToggleGroup.d.ts +12 -0
  230. package/dist/lib/ui/ToggleGroup.js +21 -0
  231. package/dist/lib/ui/ToggleGroup.js.map +1 -0
  232. package/dist/lib/ui/Tooltip.d.ts +7 -0
  233. package/dist/lib/ui/Tooltip.js +11 -0
  234. package/dist/lib/ui/Tooltip.js.map +1 -0
  235. package/dist/lib/util/MdxComponents.js.map +1 -1
  236. package/dist/lib/util/invariant.d.ts +9 -0
  237. package/dist/lib/util/invariant.js +7 -3
  238. package/dist/lib/util/invariant.js.map +1 -1
  239. package/dist/lib/util/useExposedProps.d.ts +2 -0
  240. package/dist/lib/util/useExposedProps.js +9 -0
  241. package/dist/lib/util/useExposedProps.js.map +1 -0
  242. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  243. package/dist/vite/build.js +12 -3
  244. package/dist/vite/build.js.map +1 -1
  245. package/dist/vite/config.d.ts +3 -9
  246. package/dist/vite/config.js +40 -69
  247. package/dist/vite/config.js.map +1 -1
  248. package/dist/vite/debug.d.ts +1 -0
  249. package/dist/vite/debug.js +10 -0
  250. package/dist/vite/debug.js.map +1 -0
  251. package/dist/vite/dev-server.d.ts +7 -1
  252. package/dist/vite/dev-server.js +20 -16
  253. package/dist/vite/dev-server.js.map +1 -1
  254. package/dist/vite/output.d.ts +101 -0
  255. package/dist/vite/output.js +30 -0
  256. package/dist/vite/output.js.map +1 -0
  257. package/dist/vite/plugin-api.js +4 -7
  258. package/dist/vite/plugin-api.js.map +1 -1
  259. package/dist/vite/plugin-component.js +17 -8
  260. package/dist/vite/plugin-component.js.map +1 -1
  261. package/dist/vite/plugin-config-reload.js +7 -4
  262. package/dist/vite/plugin-config-reload.js.map +1 -1
  263. package/dist/vite/plugin-config.d.ts +2 -3
  264. package/dist/vite/plugin-config.js +2 -3
  265. package/dist/vite/plugin-config.js.map +1 -1
  266. package/dist/vite/plugin-custom-pages.d.ts +4 -0
  267. package/dist/vite/plugin-custom-pages.js +30 -0
  268. package/dist/vite/plugin-custom-pages.js.map +1 -0
  269. package/dist/vite/plugin-docs.js +37 -24
  270. package/dist/vite/plugin-docs.js.map +1 -1
  271. package/dist/vite/plugin-frontmatter.d.ts +3 -0
  272. package/dist/vite/plugin-frontmatter.js +33 -0
  273. package/dist/vite/plugin-frontmatter.js.map +1 -0
  274. package/dist/vite/plugin-mdx.js +17 -0
  275. package/dist/vite/plugin-mdx.js.map +1 -1
  276. package/dist/vite/plugin-search.d.ts +3 -0
  277. package/dist/vite/plugin-search.js +26 -0
  278. package/dist/vite/plugin-search.js.map +1 -0
  279. package/dist/vite/plugin-sidebar.js +21 -7
  280. package/dist/vite/plugin-sidebar.js.map +1 -1
  281. package/dist/vite/plugin.js +7 -3
  282. package/dist/vite/plugin.js.map +1 -1
  283. package/dist/vite/prerender.d.ts +5 -1
  284. package/dist/vite/prerender.js +6 -5
  285. package/dist/vite/prerender.js.map +1 -1
  286. package/lib/{utils-ByIc_KIM.js → AnchorLink-BbB2q-jx.js} +231 -275
  287. package/lib/AnchorLink-BbB2q-jx.js.map +1 -0
  288. package/lib/{AuthenticationPlugin-Bx9FK124.js → AuthenticationPlugin-C9BHGXlE.js} +3 -3
  289. package/lib/{AuthenticationPlugin-Bx9FK124.js.map → AuthenticationPlugin-C9BHGXlE.js.map} +1 -1
  290. package/lib/{CategoryHeading-XnFqN2lJ.js → CategoryHeading-Bb9dqxD3.js} +4 -4
  291. package/lib/{CategoryHeading-XnFqN2lJ.js.map → CategoryHeading-Bb9dqxD3.js.map} +1 -1
  292. package/lib/ClientOnly-CVN6leDu.js +11 -0
  293. package/lib/ClientOnly-CVN6leDu.js.map +1 -0
  294. package/lib/{DeveloperHint-FBb2uXJe.js → DeveloperHint-DHdLXGHA.js} +2 -2
  295. package/lib/{DeveloperHint-FBb2uXJe.js.map → DeveloperHint-DHdLXGHA.js.map} +1 -1
  296. package/lib/Dialog-k70Qfukb.js +67 -0
  297. package/lib/Dialog-k70Qfukb.js.map +1 -0
  298. package/lib/{Markdown-B4aR03g6.js → Markdown-BDcCAWwm.js} +4298 -6518
  299. package/lib/Markdown-BDcCAWwm.js.map +1 -0
  300. package/lib/{MdxPage-BZyQsH8Z.js → MdxPage-DKMH_t0f.js} +25 -23
  301. package/lib/MdxPage-DKMH_t0f.js.map +1 -0
  302. package/lib/{OperationList-2NeWEM0u.js → OperationList-Tj7ubW_t.js} +181 -137
  303. package/lib/OperationList-Tj7ubW_t.js.map +1 -0
  304. package/lib/{Route-BZPewmrN.js → Route-C3DGB6OS.js} +3 -4
  305. package/lib/Route-C3DGB6OS.js.map +1 -0
  306. package/lib/Select-Bagt3Bme.js +223 -0
  307. package/lib/Select-Bagt3Bme.js.map +1 -0
  308. package/lib/SlotletProvider-Da7eFgd2.js +241 -0
  309. package/lib/SlotletProvider-Da7eFgd2.js.map +1 -0
  310. package/lib/Spinner-C6zroowC.js +40 -0
  311. package/lib/Spinner-C6zroowC.js.map +1 -0
  312. package/lib/StaggeredRender-DDHSzQKE.js +17 -0
  313. package/lib/StaggeredRender-DDHSzQKE.js.map +1 -0
  314. package/lib/ZudokuContext-BKXGJTmu.js +1222 -0
  315. package/lib/ZudokuContext-BKXGJTmu.js.map +1 -0
  316. package/lib/__vite-browser-external-BYRIRx8p.js +9 -0
  317. package/lib/__vite-browser-external-BYRIRx8p.js.map +1 -0
  318. package/lib/assets/{index-B9EWVYfo.js → index-B_Jk_Yzp.js} +968 -938
  319. package/lib/assets/index-B_Jk_Yzp.js.map +1 -0
  320. package/lib/assets/{worker-BvD7B6MG.js → worker-Bf8vjASY.js} +6769 -4411
  321. package/lib/assets/worker-Bf8vjASY.js.map +1 -0
  322. package/lib/cn-BmFQLtkS.js +2279 -0
  323. package/lib/cn-BmFQLtkS.js.map +1 -0
  324. package/lib/hook-sn0zMTkE.js +229 -0
  325. package/lib/hook-sn0zMTkE.js.map +1 -0
  326. package/lib/{index-Dv2KZuEw.js → index-AjWCJNGC.js} +1681 -1676
  327. package/lib/index-AjWCJNGC.js.map +1 -0
  328. package/lib/index-Bn6Lc9tq.js +9 -0
  329. package/lib/index-Bn6Lc9tq.js.map +1 -0
  330. package/lib/index-BuAyrJe3.js +46 -0
  331. package/lib/index-BuAyrJe3.js.map +1 -0
  332. package/lib/{index-BG0g4WW0.js → index-CRo94sKK.js} +750 -738
  333. package/lib/index-CRo94sKK.js.map +1 -0
  334. package/lib/{index-CLd8ycZz.js → index-CkwDvuPt.js} +947 -917
  335. package/lib/index-CkwDvuPt.js.map +1 -0
  336. package/lib/index-LNp6rxyU.js +2094 -0
  337. package/lib/index-LNp6rxyU.js.map +1 -0
  338. package/lib/index.esm-C5mr_sKO.js +1193 -0
  339. package/lib/index.esm-C5mr_sKO.js.map +1 -0
  340. package/lib/invariant-Caa8-XvF.js +26 -0
  341. package/lib/invariant-Caa8-XvF.js.map +1 -0
  342. package/lib/router-BsfSoK2j.js +3024 -0
  343. package/lib/router-BsfSoK2j.js.map +1 -0
  344. package/lib/state-CsuHT8ZO.js +183 -0
  345. package/lib/state-CsuHT8ZO.js.map +1 -0
  346. package/lib/ui/Accordion.js +47 -0
  347. package/lib/ui/Accordion.js.map +1 -0
  348. package/lib/ui/Alert.js +51 -0
  349. package/lib/ui/Alert.js.map +1 -0
  350. package/lib/ui/AlertDialog.js +114 -0
  351. package/lib/ui/AlertDialog.js.map +1 -0
  352. package/lib/ui/AspectRatio.js +6 -0
  353. package/lib/ui/AspectRatio.js.map +1 -0
  354. package/lib/ui/Badge.js +27 -0
  355. package/lib/ui/Badge.js.map +1 -0
  356. package/lib/ui/Breadcrumb.js +94 -0
  357. package/lib/ui/Breadcrumb.js.map +1 -0
  358. package/lib/ui/Button.js +49 -0
  359. package/lib/ui/Button.js.map +1 -0
  360. package/lib/ui/Callout.js +77 -0
  361. package/lib/ui/Callout.js.map +1 -0
  362. package/lib/ui/Card.js +62 -0
  363. package/lib/ui/Card.js.map +1 -0
  364. package/lib/ui/Carousel.js +1410 -0
  365. package/lib/ui/Carousel.js.map +1 -0
  366. package/lib/ui/Checkbox.js +28 -0
  367. package/lib/ui/Checkbox.js.map +1 -0
  368. package/lib/ui/Collapsible.js +8 -0
  369. package/lib/ui/Collapsible.js.map +1 -0
  370. package/lib/ui/Command.js +550 -0
  371. package/lib/ui/Command.js.map +1 -0
  372. package/lib/ui/Dialog.js +101 -0
  373. package/lib/ui/Dialog.js.map +1 -0
  374. package/lib/ui/Drawer.js +1153 -0
  375. package/lib/ui/Drawer.js.map +1 -0
  376. package/lib/ui/DropdownMenu.js +145 -0
  377. package/lib/ui/DropdownMenu.js.map +1 -0
  378. package/lib/ui/Form.js +95 -0
  379. package/lib/ui/Form.js.map +1 -0
  380. package/lib/ui/HoverCard.js +24 -0
  381. package/lib/ui/HoverCard.js.map +1 -0
  382. package/lib/ui/Input.js +22 -0
  383. package/lib/ui/Input.js.map +1 -0
  384. package/lib/ui/Label.js +20 -0
  385. package/lib/ui/Label.js.map +1 -0
  386. package/lib/ui/Pagination.js +106 -0
  387. package/lib/ui/Pagination.js.map +1 -0
  388. package/lib/ui/Popover.js +24 -0
  389. package/lib/ui/Popover.js.map +1 -0
  390. package/lib/ui/Progress.js +27 -0
  391. package/lib/ui/Progress.js.map +1 -0
  392. package/lib/ui/RadioGroup.js +32 -0
  393. package/lib/ui/RadioGroup.js.map +1 -0
  394. package/lib/ui/ScrollArea.js +39 -0
  395. package/lib/ui/ScrollArea.js.map +1 -0
  396. package/lib/ui/Select.js +122 -0
  397. package/lib/ui/Select.js.map +1 -0
  398. package/lib/ui/Skeleton.js +18 -0
  399. package/lib/ui/Skeleton.js.map +1 -0
  400. package/lib/ui/Slider.js +24 -0
  401. package/lib/ui/Slider.js.map +1 -0
  402. package/lib/ui/Switch.js +28 -0
  403. package/lib/ui/Switch.js.map +1 -0
  404. package/lib/ui/Tabs.js +47 -0
  405. package/lib/ui/Tabs.js.map +1 -0
  406. package/lib/ui/Textarea.js +21 -0
  407. package/lib/ui/Textarea.js.map +1 -0
  408. package/lib/ui/Toggle.js +38 -0
  409. package/lib/ui/Toggle.js.map +1 -0
  410. package/lib/ui/ToggleGroup.js +42 -0
  411. package/lib/ui/ToggleGroup.js.map +1 -0
  412. package/lib/ui/Tooltip.js +24 -0
  413. package/lib/ui/Tooltip.js.map +1 -0
  414. package/lib/urql-core-KJnLL26g.js +1455 -0
  415. package/lib/urql-core-KJnLL26g.js.map +1 -0
  416. package/lib/useExposedProps-ChOIUaS4.js +9 -0
  417. package/lib/useExposedProps-ChOIUaS4.js.map +1 -0
  418. package/lib/zudoku.auth-auth0.js +1 -1
  419. package/lib/zudoku.auth-clerk.js +2 -2
  420. package/lib/zudoku.auth-openid.js +541 -534
  421. package/lib/zudoku.auth-openid.js.map +1 -1
  422. package/lib/zudoku.components.js +953 -2849
  423. package/lib/zudoku.components.js.map +1 -1
  424. package/lib/zudoku.openapi-worker.js +4668 -4380
  425. package/lib/zudoku.openapi-worker.js.map +1 -1
  426. package/lib/zudoku.plugin-api-keys.js +69 -76
  427. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  428. package/lib/zudoku.plugin-custom-pages.js +22 -0
  429. package/lib/zudoku.plugin-custom-pages.js.map +1 -0
  430. package/lib/zudoku.plugin-markdown.js +93 -24
  431. package/lib/zudoku.plugin-markdown.js.map +1 -1
  432. package/lib/zudoku.plugin-openapi.js +9 -10
  433. package/lib/zudoku.plugin-openapi.js.map +1 -1
  434. package/lib/zudoku.plugin-redirect.js +2 -2
  435. package/lib/zudoku.plugin-redirect.js.map +1 -1
  436. package/lib/zudoku.plugin-search-inkeep.js +9 -13
  437. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  438. package/package.json +98 -72
  439. package/src/app/entry.client.tsx +4 -2
  440. package/src/app/entry.server.tsx +4 -0
  441. package/src/app/main.css +4 -1
  442. package/src/app/main.tsx +15 -33
  443. package/src/app/standalone.tsx +1 -1
  444. package/src/lib/authentication/components/CallbackHandler.tsx +20 -51
  445. package/src/lib/authentication/hook.ts +1 -1
  446. package/src/lib/authentication/state.ts +17 -0
  447. package/src/lib/components/Banner.tsx +12 -2
  448. package/src/lib/components/ErrorPage.tsx +0 -2
  449. package/src/lib/components/Header.tsx +21 -4
  450. package/src/lib/components/InlineCode.tsx +10 -0
  451. package/src/lib/components/Layout.tsx +2 -1
  452. package/src/lib/components/MobileTopNavigation.tsx +10 -2
  453. package/src/lib/components/Search.tsx +1 -1
  454. package/src/lib/components/SlotletProvider.tsx +29 -4
  455. package/src/lib/components/SyntaxHighlight.tsx +5 -1
  456. package/src/lib/components/TopNavigation.tsx +70 -23
  457. package/src/lib/components/context/ZudokuContext.ts +28 -20
  458. package/src/lib/components/index.ts +13 -4
  459. package/src/lib/components/navigation/Sidebar.tsx +6 -6
  460. package/src/lib/components/navigation/SidebarCategory.tsx +35 -29
  461. package/src/lib/components/navigation/SidebarItem.tsx +17 -20
  462. package/src/lib/components/navigation/utils.ts +11 -16
  463. package/src/lib/core/DevPortalContext.ts +4 -3
  464. package/src/lib/core/plugins.ts +2 -0
  465. package/src/lib/errors/ErrorAlert.tsx +18 -5
  466. package/src/lib/oas/graphql/index.ts +36 -24
  467. package/src/lib/oas/parser/index.ts +1 -0
  468. package/src/lib/plugins/api-keys/CreateApiKey.tsx +2 -2
  469. package/src/lib/plugins/custom-pages/CustomPage.tsx +18 -0
  470. package/src/lib/plugins/custom-pages/index.tsx +24 -0
  471. package/src/lib/plugins/markdown/MdxPage.tsx +11 -9
  472. package/src/lib/plugins/markdown/index.tsx +49 -10
  473. package/src/lib/plugins/markdown/resolver.ts +92 -0
  474. package/src/lib/plugins/openapi/Endpoint.tsx +86 -22
  475. package/src/lib/plugins/openapi/OperationList.tsx +4 -2
  476. package/src/lib/plugins/openapi/OperationListItem.tsx +1 -1
  477. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -0
  478. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +1 -1
  479. package/src/lib/plugins/openapi/Route.tsx +1 -2
  480. package/src/lib/plugins/openapi/Sidecar.tsx +21 -6
  481. package/src/lib/plugins/openapi/SimpleSelect.tsx +10 -2
  482. package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -6
  483. package/src/lib/plugins/openapi/client/createWorkerClient.ts +1 -6
  484. package/src/lib/plugins/openapi/client/worker.ts +2 -2
  485. package/src/lib/plugins/openapi/graphql/gql.ts +11 -3
  486. package/src/lib/plugins/openapi/graphql/graphql.ts +116 -4
  487. package/src/lib/plugins/openapi/index.tsx +2 -6
  488. package/src/lib/plugins/openapi/interfaces.ts +4 -1
  489. package/src/lib/plugins/openapi/playground/Playground.tsx +42 -7
  490. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +1 -1
  491. package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -1
  492. package/src/lib/plugins/openapi/playground/createUrl.ts +6 -1
  493. package/src/lib/plugins/redirect/index.tsx +3 -7
  494. package/src/lib/ui/Accordion.tsx +56 -0
  495. package/src/lib/ui/{Note.tsx → Alert.tsx} +11 -10
  496. package/src/lib/ui/AlertDialog.tsx +139 -0
  497. package/src/lib/ui/AspectRatio.tsx +5 -0
  498. package/src/lib/ui/Badge.tsx +36 -0
  499. package/src/lib/ui/Breadcrumb.tsx +115 -0
  500. package/src/lib/ui/Button.tsx +1 -1
  501. package/src/lib/ui/Callout.tsx +7 -6
  502. package/src/lib/ui/Carousel.tsx +260 -0
  503. package/src/lib/ui/Checkbox.tsx +28 -0
  504. package/src/lib/ui/Collapsible.tsx +9 -0
  505. package/src/lib/ui/Command.tsx +151 -0
  506. package/src/lib/{components → ui}/Dialog.tsx +4 -3
  507. package/src/lib/ui/Drawer.tsx +38 -36
  508. package/src/lib/ui/Form.tsx +177 -0
  509. package/src/lib/ui/HoverCard.tsx +27 -0
  510. package/src/lib/ui/Label.tsx +24 -0
  511. package/src/lib/ui/Pagination.tsx +117 -0
  512. package/src/lib/ui/Popover.tsx +29 -0
  513. package/src/lib/ui/Progress.tsx +26 -0
  514. package/src/lib/ui/RadioGroup.tsx +42 -0
  515. package/src/lib/ui/ScrollArea.tsx +46 -0
  516. package/src/lib/ui/Skeleton.tsx +15 -0
  517. package/src/lib/ui/Slider.tsx +26 -0
  518. package/src/lib/ui/Switch.tsx +27 -0
  519. package/src/lib/ui/Textarea.tsx +23 -0
  520. package/src/lib/ui/Toggle.tsx +43 -0
  521. package/src/lib/ui/ToggleGroup.tsx +59 -0
  522. package/src/lib/ui/Tooltip.tsx +28 -0
  523. package/src/lib/util/MdxComponents.tsx +0 -1
  524. package/src/lib/util/invariant.ts +15 -3
  525. package/src/lib/util/useExposedProps.tsx +16 -0
  526. package/src/lib/util/useScrollToAnchor.ts +1 -1
  527. package/dist/internal.d.ts +0 -1
  528. package/dist/internal.js +0 -2
  529. package/dist/internal.js.map +0 -1
  530. package/dist/lib/components/Dialog.js.map +0 -1
  531. package/dist/lib/components/Select.js.map +0 -1
  532. package/dist/lib/plugins/custom-page/index.d.ts +0 -8
  533. package/dist/lib/plugins/custom-page/index.js +0 -12
  534. package/dist/lib/plugins/custom-page/index.js.map +0 -1
  535. package/dist/lib/plugins/markdown/generateRoutes.d.ts +0 -3
  536. package/dist/lib/plugins/markdown/generateRoutes.js +0 -19
  537. package/dist/lib/plugins/markdown/generateRoutes.js.map +0 -1
  538. package/dist/lib/plugins/openapi/playground/Editor.d.ts +0 -1
  539. package/dist/lib/plugins/openapi/playground/Editor.js +0 -5
  540. package/dist/lib/plugins/openapi/playground/Editor.js.map +0 -1
  541. package/dist/lib/plugins/openapi/util/urql.d.ts +0 -7
  542. package/dist/lib/plugins/openapi/util/urql.js +0 -8
  543. package/dist/lib/plugins/openapi/util/urql.js.map +0 -1
  544. package/dist/lib/ui/Note.d.ts +0 -8
  545. package/dist/lib/ui/Note.js +0 -23
  546. package/dist/lib/ui/Note.js.map +0 -1
  547. package/dist/lib/util/slugify.d.ts +0 -2
  548. package/dist/lib/util/slugify.js +0 -3
  549. package/dist/lib/util/slugify.js.map +0 -1
  550. package/dist/vite/plugin-icons.d.ts +0 -3
  551. package/dist/vite/plugin-icons.js +0 -47
  552. package/dist/vite/plugin-icons.js.map +0 -1
  553. package/lib/ErrorPage-knunPbKI.js +0 -18
  554. package/lib/ErrorPage-knunPbKI.js.map +0 -1
  555. package/lib/Input-BEDZAKw0.js +0 -2198
  556. package/lib/Input-BEDZAKw0.js.map +0 -1
  557. package/lib/Markdown-B4aR03g6.js.map +0 -1
  558. package/lib/MdxPage-BZyQsH8Z.js.map +0 -1
  559. package/lib/OperationList-2NeWEM0u.js.map +0 -1
  560. package/lib/Route-BZPewmrN.js.map +0 -1
  561. package/lib/SidebarBadge-COz0hgfa.js +0 -498
  562. package/lib/SidebarBadge-COz0hgfa.js.map +0 -1
  563. package/lib/SlotletProvider-DJMaOUDs.js +0 -238
  564. package/lib/SlotletProvider-DJMaOUDs.js.map +0 -1
  565. package/lib/Spinner-3cQDBVGr.js +0 -7
  566. package/lib/Spinner-3cQDBVGr.js.map +0 -1
  567. package/lib/ZudokuContext-cr-pTRY1.js +0 -1084
  568. package/lib/ZudokuContext-cr-pTRY1.js.map +0 -1
  569. package/lib/assets/index-B9EWVYfo.js.map +0 -1
  570. package/lib/assets/worker-BvD7B6MG.js.map +0 -1
  571. package/lib/index-1EDgIO6b.js +0 -124
  572. package/lib/index-1EDgIO6b.js.map +0 -1
  573. package/lib/index-BG0g4WW0.js.map +0 -1
  574. package/lib/index-CLd8ycZz.js.map +0 -1
  575. package/lib/index-Dv2KZuEw.js.map +0 -1
  576. package/lib/index-Zezcv0xb.js +0 -2814
  577. package/lib/index-Zezcv0xb.js.map +0 -1
  578. package/lib/joinPath-B7kNnUX4.js +0 -8
  579. package/lib/joinPath-B7kNnUX4.js.map +0 -1
  580. package/lib/router-D2p7Olpn.js +0 -2971
  581. package/lib/router-D2p7Olpn.js.map +0 -1
  582. package/lib/slugify-DbLhpSPt.js +0 -28
  583. package/lib/slugify-DbLhpSPt.js.map +0 -1
  584. package/lib/state-lIwt9isb.js +0 -288
  585. package/lib/state-lIwt9isb.js.map +0 -1
  586. package/lib/urql-YhcsXYy8.js +0 -1591
  587. package/lib/urql-YhcsXYy8.js.map +0 -1
  588. package/lib/utils-ByIc_KIM.js.map +0 -1
  589. package/lib/zudoku.plugin-custom-page.js +0 -13
  590. package/lib/zudoku.plugin-custom-page.js.map +0 -1
  591. package/src/lib/plugins/custom-page/index.tsx +0 -22
  592. package/src/lib/plugins/markdown/generateRoutes.tsx +0 -35
  593. package/src/lib/plugins/openapi/playground/Editor.tsx +0 -4
  594. package/src/lib/plugins/openapi/util/urql.ts +0 -8
  595. package/src/lib/util/slugify.ts +0 -3
  596. /package/dist/lib/{components → ui}/Dialog.d.ts +0 -0
  597. /package/dist/lib/{components → ui}/Select.d.ts +0 -0
  598. /package/dist/lib/{components → ui}/Select.js +0 -0
  599. /package/src/lib/{components → ui}/Select.tsx +0 -0
@@ -3,17 +3,26 @@ const viteAliasPlugin = (getConfig) => {
3
3
  name: "zudoku-component-plugin",
4
4
  config: () => {
5
5
  const config = getConfig();
6
+ const replacements = {
7
+ "zudoku/components": `${config.moduleDir}/src/lib/components/index.ts`,
8
+ "zudoku/openapi-worker": `${config.moduleDir}/src/lib/plugins/openapi/client/createWorkerClient.ts`,
9
+ "zudoku/plugins/openapi": `${config.moduleDir}/src/lib/plugins/openapi/index.tsx`,
10
+ "zudoku/plugins/search-inkeep": `${config.moduleDir}/src/lib/plugins/search-inkeep/index.tsx`,
11
+ };
12
+ const expandedReplacements = Object.entries(replacements).map(([find, replacement]) => ({
13
+ find,
14
+ replacement,
15
+ }));
6
16
  return config.mode === "internal" || config.mode === "standalone"
7
17
  ? {
8
18
  resolve: {
9
- alias: {
10
- "zudoku/components": `${config.moduleDir}/src/lib/components/index.ts`,
11
- "zudoku/internal": `${config.moduleDir}/src/internal.ts`,
12
- "zudoku/openapi-worker": `${config.moduleDir}/src/lib/plugins/openapi/client/createWorkerClient.ts`,
13
- "zudoku/plugins/custom-page": `${config.moduleDir}/src/lib/plugins/custom-page/index.tsx`,
14
- "zudoku/plugins/openapi": `${config.moduleDir}/src/lib/plugins/openapi/index.tsx`,
15
- "zudoku/plugins/search-inkeep": `${config.moduleDir}/src/lib/plugins/search-inkeep/index.tsx`,
16
- },
19
+ alias: [
20
+ ...expandedReplacements,
21
+ {
22
+ find: /^zudoku\/ui\/(.*).js/,
23
+ replacement: `${config.moduleDir}/src/lib/ui/$1.tsx`,
24
+ },
25
+ ],
17
26
  },
18
27
  }
19
28
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-component.js","sourceRoot":"","sources":["../../src/vite/plugin-component.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAG,CAAC,SAAoC,EAAU,EAAE;IACvE,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;gBAC/D,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,mBAAmB,EAAE,GAAG,MAAM,CAAC,SAAS,8BAA8B;4BACtE,iBAAiB,EAAE,GAAG,MAAM,CAAC,SAAS,kBAAkB;4BACxD,uBAAuB,EAAE,GAAG,MAAM,CAAC,SAAS,uDAAuD;4BACnG,4BAA4B,EAAE,GAAG,MAAM,CAAC,SAAS,wCAAwC;4BACzF,wBAAwB,EAAE,GAAG,MAAM,CAAC,SAAS,oCAAoC;4BACjF,8BAA8B,EAAE,GAAG,MAAM,CAAC,SAAS,0CAA0C;yBAC9F;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"plugin-component.js","sourceRoot":"","sources":["../../src/vite/plugin-component.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAG,CAAC,SAAoC,EAAU,EAAE;IACvE,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,GAAG,EAAE;YACX,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,YAAY,GAAG;gBACnB,mBAAmB,EAAE,GAAG,MAAM,CAAC,SAAS,8BAA8B;gBACtE,uBAAuB,EAAE,GAAG,MAAM,CAAC,SAAS,uDAAuD;gBACnG,wBAAwB,EAAE,GAAG,MAAM,CAAC,SAAS,oCAAoC;gBACjF,8BAA8B,EAAE,GAAG,MAAM,CAAC,SAAS,0CAA0C;aAC9F,CAAC;YAEF,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxB,IAAI;gBACJ,WAAW;aACZ,CAAC,CACH,CAAC;YAEF,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;gBAC/D,CAAC,CAAC;oBACE,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,GAAG,oBAAoB;4BACvB;gCACE,IAAI,EAAE,sBAAsB;gCAC5B,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,oBAAoB;6BACrD;yBACF;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,21 +1,24 @@
1
1
  import path from "node:path";
2
2
  import { printDiagnosticsToConsole } from "../cli/common/output.js";
3
- import { getConfigFilePath } from "./config.js";
4
3
  export const createConfigReloadPlugin = (initialConfig, onConfigChange) => {
5
4
  let currentConfig = initialConfig;
5
+ let importDependencies = initialConfig.__meta.dependencies;
6
6
  const plugin = {
7
7
  name: "zudoku-config-reload",
8
8
  configureServer: ({ watcher, restart }) => {
9
9
  if (!onConfigChange)
10
10
  return;
11
11
  watcher.on("change", async (file) => {
12
- const configFilePath = await getConfigFilePath(currentConfig.rootDir);
13
- if (file !== configFilePath)
12
+ if (!importDependencies.includes(file))
14
13
  return;
15
14
  const newConfig = await onConfigChange();
16
15
  currentConfig = { ...initialConfig, ...newConfig };
16
+ importDependencies = newConfig.__meta.dependencies;
17
+ // Assume `.tsx` files are handled by HMR (skip if the config file itself changed)
18
+ if (file !== newConfig.__meta.path && file.endsWith(".tsx"))
19
+ return;
17
20
  await restart();
18
- printDiagnosticsToConsole(`${new Date().toLocaleTimeString()} Config ${path.basename(file)} changed. Restarted server.`);
21
+ printDiagnosticsToConsole(`[${new Date().toLocaleTimeString()}]: Config ${path.basename(currentConfig.__meta.path)} changed. Restarted server.`);
19
22
  });
20
23
  },
21
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-config-reload.js","sourceRoot":"","sources":["../../src/vite/plugin-config-reload.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAkC,EAClC,cAA4C,EACP,EAAE;IACvC,IAAI,aAAa,GAAG,aAAa,CAAC;IAElC,MAAM,MAAM,GAAG;QACb,IAAI,EAAE,sBAAsB;QAC5B,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YACxC,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAEtE,IAAI,IAAI,KAAK,cAAc;oBAAE,OAAO;gBAEpC,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAC;gBACzC,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;gBACnD,MAAM,OAAO,EAAE,CAAC;gBAChB,yBAAyB,CACvB,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,6BAA6B,CAC9F,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACe,CAAC;IAEnB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAU,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin-config-reload.js","sourceRoot":"","sources":["../../src/vite/plugin-config-reload.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAIpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAkC,EAClC,cAA4C,EACP,EAAE;IACvC,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC;IAE3D,MAAM,MAAM,GAAW;QACrB,IAAI,EAAE,sBAAsB;QAC5B,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YACxC,IAAI,CAAC,cAAc;gBAAE,OAAO;YAE5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,OAAO;gBAE/C,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAC;gBACzC,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;gBAEnD,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC;gBAEnD,kFAAkF;gBAClF,IAAI,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAAE,OAAO;gBAEpE,MAAM,OAAO,EAAE,CAAC;gBAChB,yBAAyB,CACvB,IAAI,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,aAAa,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CACtH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,CAAU,CAAC;AAChD,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { type Plugin } from "vite";
2
- declare const viteConfigPlugin: ({ rootDir }: {
3
- rootDir: string;
4
- }) => Plugin;
2
+ import type { ZudokuPluginOptions } from "../config/config.js";
3
+ declare const viteConfigPlugin: (getConfig: () => ZudokuPluginOptions) => Plugin;
5
4
  export default viteConfigPlugin;
@@ -1,11 +1,10 @@
1
- import { getConfigFilePath } from "./config.js";
2
- const viteConfigPlugin = ({ rootDir }) => {
1
+ const viteConfigPlugin = (getConfig) => {
3
2
  const virtualModuleId = "virtual:zudoku-config";
4
3
  return {
5
4
  name: "zudoku-config-plugin",
6
5
  resolveId(id) {
7
6
  if (id === virtualModuleId) {
8
- return getConfigFilePath(rootDir);
7
+ return getConfig().__meta.path;
9
8
  }
10
9
  },
11
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-config.js","sourceRoot":"","sources":["../../src/vite/plugin-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,gBAAgB,GAAG,CAAC,EAAE,OAAO,EAAuB,EAAU,EAAE;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"plugin-config.js","sourceRoot":"","sources":["../../src/vite/plugin-config.ts"],"names":[],"mappings":"AAGA,MAAM,gBAAgB,GAAG,CAAC,SAAoC,EAAU,EAAE;IACxE,MAAM,eAAe,GAAG,uBAAuB,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Plugin } from "vite";
2
+ import { type ZudokuPluginOptions } from "../config/config.js";
3
+ declare const viteCustomPagesPlugin: (getConfig: () => ZudokuPluginOptions) => Plugin;
4
+ export default viteCustomPagesPlugin;
@@ -0,0 +1,30 @@
1
+ const viteCustomPagesPlugin = (getConfig) => {
2
+ const virtualModuleId = "virtual:zudoku-custom-pages-plugin";
3
+ const resolvedVirtualModuleId = "\0" + virtualModuleId;
4
+ return {
5
+ name: "zudoku-custom-pages-plugin",
6
+ resolveId(id) {
7
+ if (id === virtualModuleId) {
8
+ return resolvedVirtualModuleId;
9
+ }
10
+ },
11
+ async load(id) {
12
+ if (id === resolvedVirtualModuleId) {
13
+ const config = getConfig();
14
+ if (!config.customPages || config.mode === "standalone") {
15
+ return `export const configuredCustomPagesPlugin = undefined;`;
16
+ }
17
+ const code = [
18
+ `import config from "virtual:zudoku-config";`,
19
+ config.mode === "internal"
20
+ ? `import { customPagesPlugin } from "${config.moduleDir}/src/lib/plugins/custom-pages/index.tsx";`
21
+ : `import { customPagesPlugin } from "zudoku/plugins/custom-pages";`,
22
+ `export const configuredCustomPagesPlugin = customPagesPlugin(config.customPages);`,
23
+ ];
24
+ return code.join("\n");
25
+ }
26
+ },
27
+ };
28
+ };
29
+ export default viteCustomPagesPlugin;
30
+ //# sourceMappingURL=plugin-custom-pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-custom-pages.js","sourceRoot":"","sources":["../../src/vite/plugin-custom-pages.ts"],"names":[],"mappings":"AAGA,MAAM,qBAAqB,GAAG,CAC5B,SAAoC,EAC5B,EAAE;IACV,MAAM,eAAe,GAAG,oCAAoC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACxD,OAAO,uDAAuD,CAAC;gBACjE,CAAC;gBAED,MAAM,IAAI,GAAG;oBACX,6CAA6C;oBAC7C,MAAM,CAAC,IAAI,KAAK,UAAU;wBACxB,CAAC,CAAC,sCAAsC,MAAM,CAAC,SAAS,2CAA2C;wBACnG,CAAC,CAAC,kEAAkE;oBACtE,mFAAmF;iBACpF,CAAC;gBAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -1,6 +1,8 @@
1
- function getDefaultConfigIfFilesExist() {
2
- return [{ files: "/pages/**/*.{md,mdx}" }];
3
- }
1
+ import { glob } from "glob";
2
+ import path from "node:path";
3
+ import { DocResolver } from "../lib/plugins/markdown/resolver.js";
4
+ import { writePluginDebugCode } from "./debug.js";
5
+ const ensureLeadingSlash = (str) => str.startsWith("/") ? str : `/${str}`;
4
6
  const viteDocsPlugin = (getConfig) => {
5
7
  const virtualModuleId = "virtual:zudoku-docs-plugins";
6
8
  const resolvedVirtualModuleId = "\0" + virtualModuleId;
@@ -11,7 +13,7 @@ const viteDocsPlugin = (getConfig) => {
11
13
  return resolvedVirtualModuleId;
12
14
  }
13
15
  },
14
- load(id) {
16
+ async load(id) {
15
17
  if (id === resolvedVirtualModuleId) {
16
18
  const config = getConfig();
17
19
  if (config.mode === "standalone") {
@@ -23,27 +25,38 @@ const viteDocsPlugin = (getConfig) => {
23
25
  config.mode === "internal"
24
26
  ? `import { markdownPlugin } from "${config.moduleDir}/src/lib/plugins/markdown/index.tsx";`
25
27
  : `import { markdownPlugin } from "zudoku/plugins/markdown";`,
26
- `const configuredDocsPlugins = [];`,
28
+ `const docsPluginOptions = [];`,
27
29
  ];
28
- const docsConfigs = config.docs
29
- ? Array.isArray(config.docs)
30
- ? config.docs
31
- : [config.docs]
32
- : getDefaultConfigIfFilesExist();
33
- docsConfigs.forEach((docsConfig) => {
34
- code.push(...[
35
- `// @ts-ignore`, // To make tests pass
36
- `const markdownFiles = import.meta.glob(${JSON.stringify(docsConfig.files)}, {`,
37
- ` eager: false,`,
38
- `});`,
39
- `configuredDocsPlugins.push(markdownPlugin({ markdownFiles, defaultOptions: ${JSON.stringify(docsConfig.defaultOptions)} }));`,
40
- ]);
41
- });
42
- code.push(`export { configuredDocsPlugins };`);
43
- return {
44
- code: code.join("\n"),
45
- map: null,
46
- };
30
+ const resolver = new DocResolver(config);
31
+ const docsConfigs = resolver.getDocsConfigs();
32
+ const globImportBasePath = process.env.NODE_ENV === "development" ? (config.basePath ?? "") : "";
33
+ for (let i = 0; i < docsConfigs.length; i++) {
34
+ const docsConfig = docsConfigs[i];
35
+ if (!docsConfig)
36
+ continue;
37
+ // This is a workaround for a bug(?) in Vite where `import.meta.glob` failed us:
38
+ // - Root dir is `/path/to/docs`
39
+ // - The Markdown docs config is `/docs/**/*.md`
40
+ // - The basePath config is set to `/docs`
41
+ // This results in:
42
+ // > `Internal server error: Failed to resolve import "/some.md" from "virtual:zudoku-docs-plugins". Does the file exist?`
43
+ // Mind that the `docs` part that should be prepended is not in there
44
+ //
45
+ // This does only happen in dev SSR environments, so for prod the `basePath` is not added
46
+ const globbedFiles = await glob(docsConfig.files, {
47
+ root: config.rootDir,
48
+ ignore: ["**/node_modules/**", "**/dist/**", "**/.git/**"],
49
+ absolute: false,
50
+ posix: true,
51
+ });
52
+ code.push(`const fileImports${i} = Object.assign({`, ...globbedFiles.map((file) => ` "${ensureLeadingSlash(file)}": () => import("${ensureLeadingSlash(path.posix.join(globImportBasePath, file))}"),`), `});`, `docsPluginOptions.push({`, ` fileImports: fileImports${i},`, ` defaultOptions: ${JSON.stringify(docsConfig.defaultOptions)},`, ` files: ${JSON.stringify(docsConfig.files)}`, `});`);
53
+ }
54
+ // Even though this returns an array, the plugin should be a single
55
+ // instance because we need to make sure that there are not duplicate
56
+ // routes even if different folders have been used.
57
+ code.push(`const configuredDocsPlugins = [markdownPlugin(docsPluginOptions)]`, `export { configuredDocsPlugins };`);
58
+ await writePluginDebugCode(config.rootDir, "docs-plugin", code);
59
+ return code.join("\n");
47
60
  }
48
61
  },
49
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-docs.js","sourceRoot":"","sources":["../../src/vite/plugin-docs.ts"],"names":[],"mappings":"AAGA,SAAS,4BAA4B;IACnC,OAAO,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,SAAoC,EAAU,EAAE;IACtE,MAAM,eAAe,GAAG,6BAA6B,CAAC;IACtD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,EAAE;YACL,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACjC,OAAO,0CAA0C,CAAC;gBACpD,CAAC;gBAED,MAAM,IAAI,GAAa;oBACrB,0DAA0D;oBAC1D,2CAA2C;oBAC3C,MAAM,CAAC,IAAI,KAAK,UAAU;wBACxB,CAAC,CAAC,mCAAmC,MAAM,CAAC,SAAS,uCAAuC;wBAC5F,CAAC,CAAC,2DAA2D;oBAC/D,mCAAmC;iBACpC,CAAC;gBACF,MAAM,WAAW,GAAiB,MAAM,CAAC,IAAI;oBAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI;wBACb,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,CAAC,CAAC,4BAA4B,EAAE,CAAC;gBAEnC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBACjC,IAAI,CAAC,IAAI,CACP,GAAG;wBACD,eAAe,EAAE,qBAAqB;wBACtC,0CAA0C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;wBAC/E,iBAAiB;wBACjB,KAAK;wBACL,8EAA8E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO;qBAC/H,CACF,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBAE/C,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACrB,GAAG,EAAE,IAAI;iBACV,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"plugin-docs.js","sourceRoot":"","sources":["../../src/vite/plugin-docs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from "vite";
2
+ import type { ZudokuPluginOptions } from "../config/config.js";
3
+ export declare const viteFrontmatterPlugin: (getConfig: () => ZudokuPluginOptions) => Plugin;
@@ -0,0 +1,33 @@
1
+ import { glob } from "glob";
2
+ import matter from "gray-matter";
3
+ import { readFile } from "node:fs/promises";
4
+ // This plugin is responsible to restart the dev server when the frontmatter changed inside a markdown file.
5
+ export const viteFrontmatterPlugin = (getConfig) => ({
6
+ // set enforce: "pre" so it's run before the MDX plugin
7
+ enforce: "pre",
8
+ name: "zudoku-frontmatter-plugin",
9
+ configureServer: async ({ watcher, restart }) => {
10
+ const config = getConfig();
11
+ const files = await glob("**/*.{md,mdx}", {
12
+ cwd: config.rootDir,
13
+ ignore: ["node_modules", "dist"],
14
+ absolute: true,
15
+ });
16
+ const frontmatterMap = new Map(await Promise.all(files.map(async (file) => {
17
+ const content = await readFile(file, "utf-8");
18
+ const fm = matter(content);
19
+ return [file, fm.data];
20
+ })));
21
+ watcher.on("change", async (filePath) => {
22
+ if (/\.mdx?$/.test(filePath)) {
23
+ const fm = matter(await readFile(filePath, "utf-8"));
24
+ const prevFm = frontmatterMap.get(filePath);
25
+ if (prevFm && JSON.stringify(prevFm) !== JSON.stringify(fm.data)) {
26
+ frontmatterMap.set(filePath, fm.data);
27
+ await restart();
28
+ }
29
+ }
30
+ });
31
+ },
32
+ });
33
+ //# sourceMappingURL=plugin-frontmatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-frontmatter.js","sourceRoot":"","sources":["../../src/vite/plugin-frontmatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,4GAA4G;AAC5G,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,SAAoC,EAC5B,EAAE,CAAC,CAAC;IACZ,uDAAuD;IACvD,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,2BAA2B;IACjC,eAAe,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE;YACxC,GAAG,EAAE,MAAM,CAAC,OAAO;YACnB,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAU,CAAC;QAClC,CAAC,CAAC,CACH,CACF,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACtC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5C,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjE,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBACtC,MAAM,OAAO,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -30,6 +30,19 @@ const remarkLinkRewritePlugin = () => (tree) => {
30
30
  node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
31
31
  });
32
32
  };
33
+ const rehypeMediaBasePath = (basePath = "") =>
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ (tree) => {
36
+ if (!basePath)
37
+ return;
38
+ visit(tree, "element", (node) => {
39
+ if (node.tagName !== "img" && node.tagName !== "video")
40
+ return;
41
+ if (node.properties.src && !node.properties.src.startsWith("http")) {
42
+ node.properties.src = path.join(basePath, node.properties.src);
43
+ }
44
+ });
45
+ };
33
46
  const viteMdxPlugin = (getConfig) => {
34
47
  const config = getConfig();
35
48
  return {
@@ -38,6 +51,9 @@ const viteMdxPlugin = (getConfig) => {
38
51
  providerImportSource: config.mode === "internal" || config.mode === "standalone"
39
52
  ? "@mdx-js/react"
40
53
  : "zudoku/components",
54
+ // Treat .md files as MDX
55
+ mdxExtensions: [".md", ".mdx"],
56
+ format: "mdx",
41
57
  remarkPlugins: [
42
58
  remarkComment,
43
59
  remarkGfm,
@@ -52,6 +68,7 @@ const viteMdxPlugin = (getConfig) => {
52
68
  rehypeSlug,
53
69
  rehypeCodeBlockPlugin,
54
70
  rehypeMetaAsAttributes,
71
+ [rehypeMediaBasePath, config.basePath],
55
72
  withToc,
56
73
  withTocExport,
57
74
  ...(config.build?.rehypePlugins ?? []),
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,GAAqB,MAAM,gBAAgB,CAAC;AACnD,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAQF,MAAM,aAAa,GAAG,CAAC,SAAoC,EAAU,EAAE;IACrE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO;QACL,OAAO,EAAE,KAAK;QACd,GAAG,GAAG,CAAC;YACL,oBAAoB,EAClB,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;gBACxD,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,mBAAmB;YACzB,aAAa,EAAE;gBACb,aAAa;gBACb,SAAS;gBACT,iBAAiB;gBACjB,oBAAoB;gBACpB,eAAe;gBACf,qBAAqB;gBACrB,uBAAuB;gBACvB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;aACvC;YACD,aAAa,EAAE;gBACb,UAAU;gBACV,qBAAqB;gBACrB,sBAAsB;gBACtB,OAAO;gBACP,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE,CAAC;aACvC;SACF,CAAC;QACF,IAAI,EAAE,mBAAmB;KAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type Plugin } from "vite";
2
+ import { type ZudokuPluginOptions } from "../config/config.js";
3
+ export declare const viteSearchPlugin: (getConfig: () => ZudokuPluginOptions) => Plugin;
@@ -0,0 +1,26 @@
1
+ export const viteSearchPlugin = (getConfig) => {
2
+ const virtualModuleId = "virtual:zudoku-search-plugin";
3
+ const resolvedVirtualModuleId = "\0" + virtualModuleId;
4
+ return {
5
+ name: "zudoku-search-plugin",
6
+ resolveId(id) {
7
+ if (id === virtualModuleId) {
8
+ return resolvedVirtualModuleId;
9
+ }
10
+ },
11
+ async load(id) {
12
+ if (id !== resolvedVirtualModuleId)
13
+ return;
14
+ const config = getConfig();
15
+ if (!config.search || config.mode === "standalone") {
16
+ return `export const configuredSearchPlugin = undefined;`;
17
+ }
18
+ const code = [];
19
+ if (config.search.type === "inkeep") {
20
+ code.push(`import config from 'virtual:zudoku-config';`, `import { inkeepSearchPlugin } from "zudoku/plugins/search-inkeep";`, `export const configuredSearchPlugin = inkeepSearchPlugin(config.search);`);
21
+ return code.join("\n");
22
+ }
23
+ },
24
+ };
25
+ };
26
+ //# sourceMappingURL=plugin-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-search.js","sourceRoot":"","sources":["../../src/vite/plugin-search.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAoC,EAC5B,EAAE;IACV,MAAM,eAAe,GAAG,8BAA8B,CAAC;IACvD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,sBAAsB;QAC5B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAE3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACnD,OAAO,kDAAkD,CAAC;YAC5D,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,CAAC;YAEhB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CACP,6CAA6C,EAC7C,oEAAoE,EACpE,0EAA0E,CAC3E,CAAC;gBAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,19 @@
1
- import { resolveSidebar } from "../config/validators/SidebarSchema.js";
2
- import { replaceSidebarIcons } from "./plugin-icons.js";
1
+ import { SidebarManager } from "../config/validators/SidebarSchema.js";
2
+ import { writePluginDebugCode } from "./debug.js";
3
+ const matchIconAnnotation = /"icon":\s*"(.*?)"/g;
4
+ const toPascalCase = (str) => str.replace(/(^\w|-\w)/g, (match) => match.replace("-", "").toUpperCase());
5
+ const replaceSidebarIcons = (code) => {
6
+ const collectedIcons = new Set();
7
+ let match;
8
+ while ((match = matchIconAnnotation.exec(code)) !== null) {
9
+ collectedIcons.add(match[1]);
10
+ }
11
+ const importStatement = `import { ${[...collectedIcons].map(toPascalCase).join(", ")} } from "zudoku/icons";`;
12
+ const replacedString = code.replaceAll(matchIconAnnotation,
13
+ // The element will be created by the implementers side
14
+ (_, iconName) => `"icon": ${toPascalCase(iconName)}`);
15
+ return `${importStatement}export const configuredSidebar = ${replacedString};`;
16
+ };
3
17
  export const viteSidebarPlugin = (getConfig) => {
4
18
  const virtualModuleId = "virtual:zudoku-sidebar";
5
19
  const resolvedVirtualModuleId = "\0" + virtualModuleId;
@@ -14,11 +28,11 @@ export const viteSidebarPlugin = (getConfig) => {
14
28
  if (id !== resolvedVirtualModuleId)
15
29
  return;
16
30
  const config = getConfig();
17
- const resolvedSidebar = Object.fromEntries(await Promise.all(Object.entries(config.sidebar ?? {}).map(async ([parentId, sidebar]) => [
18
- parentId,
19
- await resolveSidebar(config.rootDir, parentId, sidebar),
20
- ])));
21
- return JSON.stringify(resolvedSidebar);
31
+ const manager = new SidebarManager(config.rootDir, config.sidebar);
32
+ const resolvedSidebars = await manager.resolveSidebars();
33
+ const code = JSON.stringify(resolvedSidebars);
34
+ await writePluginDebugCode(config.rootDir, "sidebar-plugin", code, "json");
35
+ return code;
22
36
  },
23
37
  async transform(code, id) {
24
38
  if (id !== resolvedVirtualModuleId)
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-sidebar.js","sourceRoot":"","sources":["../../src/vite/plugin-sidebar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAoC,EAC5B,EAAE;IACV,MAAM,eAAe,GAAG,wBAAwB,CAAC;IACjD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CACxC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CACtC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC7B,QAAQ;gBACR,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC;aACxD,CACF,CACF,CACF,CAAC;YAEF,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAE3C,uFAAuF;YACvF,0CAA0C;YAC1C,iEAAiE;YACjE,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin-sidebar.js","sourceRoot":"","sources":["../../src/vite/plugin-sidebar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CACnC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAE7E,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC;IAC9G,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CACpC,mBAAmB;IACnB,uDAAuD;IACvD,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,WAAW,YAAY,CAAC,QAAQ,CAAC,EAAE,CACrD,CAAC;IAEF,OAAO,GAAG,eAAe,oCAAoC,cAAc,GAAG,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,SAAoC,EAC5B,EAAE;IACV,MAAM,eAAe,GAAG,wBAAwB,CAAC;IACjD,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,uBAAuB;QAC7B,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,oBAAoB,CACxB,MAAM,CAAC,OAAO,EACd,gBAAgB,EAChB,IAAI,EACJ,MAAM,CACP,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,EAAE,KAAK,uBAAuB;gBAAE,OAAO;YAE3C,uFAAuF;YACvF,0CAA0C;YAC1C,iEAAiE;YACjE,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -6,24 +6,28 @@ import viteAliasPlugin from "./plugin-component.js";
6
6
  import { createConfigReloadPlugin } from "./plugin-config-reload.js";
7
7
  import viteConfigPlugin from "./plugin-config.js";
8
8
  import viteCustomCss from "./plugin-custom-css.js";
9
+ import viteCustomPagesPlugin from "./plugin-custom-pages.js";
9
10
  import viteDocsPlugin from "./plugin-docs.js";
11
+ import { viteFrontmatterPlugin } from "./plugin-frontmatter.js";
10
12
  import { viteHtmlTransform } from "./plugin-html-transform.js";
11
- import { viteIconsPlugin } from "./plugin-icons.js";
12
13
  import viteMdxPlugin from "./plugin-mdx.js";
13
14
  import viteRedirectPlugin from "./plugin-redirect.js";
15
+ import { viteSearchPlugin } from "./plugin-search.js";
14
16
  import { viteSidebarPlugin } from "./plugin-sidebar.js";
15
17
  export default function vitePlugin(initialConfig, onConfigChange) {
16
18
  const [configReloadPlugin, getCurrentConfig] = createConfigReloadPlugin(initialConfig, onConfigChange);
17
19
  return [
18
20
  viteMdxPlugin(getCurrentConfig),
19
21
  react({ include: /\.(mdx?|jsx?|tsx?)$/ }),
20
- viteConfigPlugin(initialConfig),
22
+ viteConfigPlugin(getCurrentConfig),
21
23
  viteApiKeysPlugin(getCurrentConfig),
24
+ viteCustomPagesPlugin(getCurrentConfig),
22
25
  viteAuthPlugin(getCurrentConfig),
23
26
  viteDocsPlugin(getCurrentConfig),
24
- viteIconsPlugin(),
27
+ viteFrontmatterPlugin(getCurrentConfig),
25
28
  viteSidebarPlugin(getCurrentConfig),
26
29
  viteApiPlugin(getCurrentConfig),
30
+ viteSearchPlugin(getCurrentConfig),
27
31
  viteAliasPlugin(getCurrentConfig),
28
32
  viteRedirectPlugin(getCurrentConfig),
29
33
  viteCustomCss(getCurrentConfig),
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAIzC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,aAAkC,EAClC,cAA4C;IAE5C,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,wBAAwB,CACrE,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,gBAAgB,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACzC,gBAAgB,CAAC,aAAa,CAAC;QAC/B,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,eAAe,EAAE;QACjB,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,eAAe,CAAC,gBAAgB,CAAC;QACjC,kBAAkB,CAAC,gBAAgB,CAAC;QACpC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,iBAAiB,EAAE;QACnB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AAIzC,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,qBAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,aAAkC,EAClC,cAA4C;IAE5C,MAAM,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,GAAG,wBAAwB,CACrE,aAAa,EACb,cAAc,CACf,CAAC;IAEF,OAAO;QACL,aAAa,CAAC,gBAAgB,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACzC,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,iBAAiB,CAAC,gBAAgB,CAAC;QACnC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,gBAAgB,CAAC,gBAAgB,CAAC;QAClC,eAAe,CAAC,gBAAgB,CAAC;QACjC,kBAAkB,CAAC,gBAAgB,CAAC;QACpC,aAAa,CAAC,gBAAgB,CAAC;QAC/B,iBAAiB,EAAE;QACnB,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
@@ -14,4 +14,8 @@ export declare class FileWritingResponse {
14
14
  end(chunk?: string): Promise<void>;
15
15
  isSent(): Promise<void>;
16
16
  }
17
- export declare const prerender: (html: string, dir: string) => Promise<string[]>;
17
+ export declare const prerender: ({ html, dir, base, }: {
18
+ html: string;
19
+ dir: string;
20
+ base?: string;
21
+ }) => Promise<string[]>;
@@ -56,11 +56,12 @@ const routesToPaths = (routes) => {
56
56
  addPaths(routes);
57
57
  return paths;
58
58
  };
59
- export const prerender = async (html, dir) => {
59
+ export const prerender = async ({ html, dir, base = "", }) => {
60
60
  // eslint-disable-next-line no-console
61
61
  console.log("Prerendering...");
62
- const config = await import(path.join(dir, "dist/server/zudoku.config.js")).then((m) => m.default);
63
- const module = await import(path.join(dir, "dist/server/entry.server.js"));
62
+ const distDir = path.join(dir, "dist", base);
63
+ const config = await import(path.join(distDir, "server/zudoku.config.js")).then((m) => m.default);
64
+ const module = await import(path.join(distDir, "server/entry.server.js"));
64
65
  const render = module.render;
65
66
  const getRoutes = module.getRoutesByConfig;
66
67
  const routes = getRoutes(config);
@@ -69,7 +70,7 @@ export const prerender = async (html, dir) => {
69
70
  for (const urlPath of paths) {
70
71
  const req = new Request(new URL(joinPath(config.basePath, urlPath), "http://localhost").href);
71
72
  const filename = urlPath === "/" ? "/index.html" : `${urlPath}.html`;
72
- const response = new FileWritingResponse(path.join(dir, "dist/", filename));
73
+ const response = new FileWritingResponse(path.join(distDir, filename));
73
74
  await render({ template: html, request: req, response, config });
74
75
  await response.isSent();
75
76
  writtenFiles.push(filename);
@@ -78,7 +79,7 @@ export const prerender = async (html, dir) => {
78
79
  basePath: config.basePath,
79
80
  outputUrls: paths,
80
81
  config: config.sitemap,
81
- baseOutputDir: path.join(dir, "dist"),
82
+ baseOutputDir: distDir,
82
83
  });
83
84
  // eslint-disable-next-line no-console
84
85
  console.log(`Prerendered ${paths.length} pages`);
@@ -1 +1 @@
1
- {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}