zudoku 0.0.0-eff6f9b → 0.0.0-f3858d6

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 (318) hide show
  1. package/cli.js +2 -2
  2. package/dist/app/entry.client.js +2 -2
  3. package/dist/app/entry.client.js.map +1 -1
  4. package/dist/app/entry.server.js +3 -0
  5. package/dist/app/entry.server.js.map +1 -1
  6. package/dist/app/main.d.ts +1 -0
  7. package/dist/app/main.js +9 -24
  8. package/dist/app/main.js.map +1 -1
  9. package/dist/app/standalone.js.map +1 -1
  10. package/dist/cli/common/machine-id/lib.js.map +1 -1
  11. package/dist/cli/common/outdated.js.map +1 -1
  12. package/dist/cli/common/utils/box.js.map +1 -1
  13. package/dist/cli/dev/handler.js +2 -2
  14. package/dist/cli/dev/handler.js.map +1 -1
  15. package/dist/config/config.d.ts +2 -1
  16. package/dist/config/validators/InputSidebarSchema.d.ts +2 -1
  17. package/dist/config/validators/SidebarSchema.d.ts +1 -1
  18. package/dist/config/validators/SidebarSchema.js +5 -9
  19. package/dist/config/validators/SidebarSchema.js.map +1 -1
  20. package/dist/config/validators/validate.d.ts +97 -30
  21. package/dist/config/validators/validate.js +10 -7
  22. package/dist/config/validators/validate.js.map +1 -1
  23. package/dist/index.d.ts +5 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/authentication/state.d.ts +16 -0
  27. package/dist/lib/authentication/state.js +5 -0
  28. package/dist/lib/authentication/state.js.map +1 -1
  29. package/dist/lib/components/Banner.js +7 -1
  30. package/dist/lib/components/Banner.js.map +1 -1
  31. package/dist/lib/components/ErrorPage.js +1 -2
  32. package/dist/lib/components/ErrorPage.js.map +1 -1
  33. package/dist/lib/components/Header.js +5 -1
  34. package/dist/lib/components/Header.js.map +1 -1
  35. package/dist/lib/components/InlineCode.d.ts +2 -1
  36. package/dist/lib/components/InlineCode.js +9 -1
  37. package/dist/lib/components/InlineCode.js.map +1 -1
  38. package/dist/lib/components/Layout.js +1 -1
  39. package/dist/lib/components/Layout.js.map +1 -1
  40. package/dist/lib/components/MobileTopNavigation.js +2 -1
  41. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  42. package/dist/lib/components/SlotletProvider.d.ts +5 -2
  43. package/dist/lib/components/SlotletProvider.js +6 -2
  44. package/dist/lib/components/SlotletProvider.js.map +1 -1
  45. package/dist/lib/components/TopNavigation.js +30 -5
  46. package/dist/lib/components/TopNavigation.js.map +1 -1
  47. package/dist/lib/components/context/ZudokuContext.d.ts +4 -9
  48. package/dist/lib/components/context/ZudokuContext.js +26 -20
  49. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  50. package/dist/lib/components/index.d.ts +2 -1
  51. package/dist/lib/components/index.js.map +1 -1
  52. package/dist/lib/components/navigation/Sidebar.js +3 -3
  53. package/dist/lib/components/navigation/Sidebar.js.map +1 -1
  54. package/dist/lib/components/navigation/SidebarCategory.js +1 -3
  55. package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
  56. package/dist/lib/components/navigation/SidebarItem.js +1 -3
  57. package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
  58. package/dist/lib/components/navigation/utils.js +10 -14
  59. package/dist/lib/components/navigation/utils.js.map +1 -1
  60. package/dist/lib/core/DevPortalContext.d.ts +4 -7
  61. package/dist/lib/core/DevPortalContext.js.map +1 -1
  62. package/dist/lib/core/plugins.d.ts +1 -0
  63. package/dist/lib/core/plugins.js.map +1 -1
  64. package/dist/lib/oas/graphql/index.d.ts +2 -1
  65. package/dist/lib/oas/graphql/index.js +23 -15
  66. package/dist/lib/oas/graphql/index.js.map +1 -1
  67. package/dist/lib/oas/parser/index.d.ts +1 -0
  68. package/dist/lib/oas/parser/index.js.map +1 -1
  69. package/dist/lib/plugins/{custom-page → custom-pages}/index.d.ts +2 -2
  70. package/dist/lib/plugins/{custom-page → custom-pages}/index.js +1 -1
  71. package/dist/lib/plugins/custom-pages/index.js.map +1 -0
  72. package/dist/lib/plugins/markdown/MdxPage.js +2 -2
  73. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  74. package/dist/lib/plugins/markdown/index.d.ts +5 -6
  75. package/dist/lib/plugins/markdown/index.js +31 -3
  76. package/dist/lib/plugins/markdown/index.js.map +1 -1
  77. package/dist/lib/plugins/markdown/resolver.d.ts +38 -0
  78. package/dist/lib/plugins/markdown/resolver.js +75 -0
  79. package/dist/lib/plugins/markdown/resolver.js.map +1 -0
  80. package/dist/lib/plugins/openapi/Endpoint.d.ts +1 -3
  81. package/dist/lib/plugins/openapi/Endpoint.js +46 -8
  82. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  83. package/dist/lib/plugins/openapi/OperationList.js +2 -2
  84. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  85. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +2 -1
  86. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +2 -2
  87. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  88. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  89. package/dist/lib/plugins/openapi/Route.d.ts +1 -1
  90. package/dist/lib/plugins/openapi/Route.js +1 -1
  91. package/dist/lib/plugins/openapi/Route.js.map +1 -1
  92. package/dist/lib/plugins/openapi/Sidecar.js +15 -4
  93. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  94. package/dist/lib/plugins/openapi/SimpleSelect.d.ts +2 -1
  95. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  96. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  97. package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
  98. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
  99. package/dist/lib/plugins/openapi/client/createWorkerClient.js +1 -1
  100. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -1
  101. package/dist/lib/plugins/openapi/client/worker.js.map +1 -1
  102. package/dist/lib/plugins/openapi/graphql/gql.d.ts +10 -2
  103. package/dist/lib/plugins/openapi/graphql/gql.js +2 -1
  104. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  105. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +26 -0
  106. package/dist/lib/plugins/openapi/graphql/graphql.js +87 -0
  107. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  108. package/dist/lib/plugins/openapi/index.js +3 -2
  109. package/dist/lib/plugins/openapi/index.js.map +1 -1
  110. package/dist/lib/plugins/openapi/playground/Playground.d.ts +2 -1
  111. package/dist/lib/plugins/openapi/playground/Playground.js +13 -5
  112. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  113. package/dist/lib/plugins/openapi/playground/ResponseTab.js +1 -1
  114. package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +1 -1
  115. package/dist/lib/plugins/openapi/playground/createUrl.js +3 -1
  116. package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -1
  117. package/dist/lib/ui/Callout.d.ts +36 -35
  118. package/dist/lib/ui/Callout.js.map +1 -1
  119. package/dist/lib/ui/Drawer.d.ts +8 -10
  120. package/dist/lib/ui/Drawer.js.map +1 -1
  121. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  122. package/dist/vite/build.js +7 -2
  123. package/dist/vite/build.js.map +1 -1
  124. package/dist/vite/config.d.ts +1 -1
  125. package/dist/vite/config.js +22 -16
  126. package/dist/vite/config.js.map +1 -1
  127. package/dist/vite/debug.d.ts +1 -0
  128. package/dist/vite/debug.js +10 -0
  129. package/dist/vite/debug.js.map +1 -0
  130. package/dist/vite/dev-server.d.ts +6 -1
  131. package/dist/vite/dev-server.js +14 -4
  132. package/dist/vite/dev-server.js.map +1 -1
  133. package/dist/vite/plugin-api.js +4 -7
  134. package/dist/vite/plugin-api.js.map +1 -1
  135. package/dist/vite/plugin-component.js +0 -1
  136. package/dist/vite/plugin-component.js.map +1 -1
  137. package/dist/vite/plugin-config-reload.js +9 -4
  138. package/dist/vite/plugin-config-reload.js.map +1 -1
  139. package/dist/vite/plugin-custom-pages.d.ts +4 -0
  140. package/dist/vite/plugin-custom-pages.js +30 -0
  141. package/dist/vite/plugin-custom-pages.js.map +1 -0
  142. package/dist/vite/plugin-docs.js +26 -26
  143. package/dist/vite/plugin-docs.js.map +1 -1
  144. package/dist/vite/plugin-frontmatter.d.ts +2 -0
  145. package/dist/vite/plugin-frontmatter.js +30 -0
  146. package/dist/vite/plugin-frontmatter.js.map +1 -0
  147. package/dist/vite/plugin-sidebar.js +19 -3
  148. package/dist/vite/plugin-sidebar.js.map +1 -1
  149. package/dist/vite/plugin.js +4 -2
  150. package/dist/vite/plugin.js.map +1 -1
  151. package/dist/vite/prerender.d.ts +5 -1
  152. package/dist/vite/prerender.js +6 -5
  153. package/dist/vite/prerender.js.map +1 -1
  154. package/lib/{utils-DtEHoAvg.js → AnchorLink-DovtSBJk.js} +214 -261
  155. package/lib/AnchorLink-DovtSBJk.js.map +1 -0
  156. package/lib/{AuthenticationPlugin-gtf8JS3V.js → AuthenticationPlugin-Cnqy9csQ.js} +3 -3
  157. package/lib/{AuthenticationPlugin-gtf8JS3V.js.map → AuthenticationPlugin-Cnqy9csQ.js.map} +1 -1
  158. package/lib/{CategoryHeading-XnFqN2lJ.js → CategoryHeading-C7VfgpFZ.js} +2 -2
  159. package/lib/{CategoryHeading-XnFqN2lJ.js.map → CategoryHeading-C7VfgpFZ.js.map} +1 -1
  160. package/lib/{DeveloperHint-FBb2uXJe.js → DeveloperHint-CNyuFROc.js} +2 -2
  161. package/lib/{DeveloperHint-FBb2uXJe.js.map → DeveloperHint-CNyuFROc.js.map} +1 -1
  162. package/lib/ErrorPage-CUz-Zzmx.js +16 -0
  163. package/lib/ErrorPage-CUz-Zzmx.js.map +1 -0
  164. package/lib/Input-x-t53FyR.js +2229 -0
  165. package/lib/Input-x-t53FyR.js.map +1 -0
  166. package/lib/{Markdown-B4aR03g6.js → Markdown-C-0TaxoY.js} +1448 -1286
  167. package/lib/Markdown-C-0TaxoY.js.map +1 -0
  168. package/lib/{MdxPage-BcftTg5g.js → MdxPage-C5I9c7R1.js} +19 -18
  169. package/lib/MdxPage-C5I9c7R1.js.map +1 -0
  170. package/lib/{OperationList-Da36LrGl.js → OperationList-qsBOguHS.js} +149 -108
  171. package/lib/OperationList-qsBOguHS.js.map +1 -0
  172. package/lib/{Route-CWj1ECzh.js → Route-DlKvXPAO.js} +3 -4
  173. package/lib/Route-DlKvXPAO.js.map +1 -0
  174. package/lib/SidebarBadge-DaA0-bFW.js +503 -0
  175. package/lib/SidebarBadge-DaA0-bFW.js.map +1 -0
  176. package/lib/{SlotletProvider-DJMaOUDs.js → SlotletProvider-BGEs7yyu.js} +28 -26
  177. package/lib/{SlotletProvider-DJMaOUDs.js.map → SlotletProvider-BGEs7yyu.js.map} +1 -1
  178. package/lib/ZudokuContext-DSipF8sq.js +1222 -0
  179. package/lib/ZudokuContext-DSipF8sq.js.map +1 -0
  180. package/lib/__vite-browser-external-BYRIRx8p.js +9 -0
  181. package/lib/__vite-browser-external-BYRIRx8p.js.map +1 -0
  182. package/lib/assets/{index-B9EWVYfo.js → index-B_Jk_Yzp.js} +968 -938
  183. package/lib/assets/index-B_Jk_Yzp.js.map +1 -0
  184. package/lib/assets/{worker-TYRbYl6N.js → worker-DaFlmuyf.js} +6549 -4277
  185. package/lib/assets/worker-DaFlmuyf.js.map +1 -0
  186. package/lib/{index-DIkaYL-l.js → index-BIl-R3aH.js} +1943 -1675
  187. package/lib/index-BIl-R3aH.js.map +1 -0
  188. package/lib/{index-B_9xr661.js → index-CKmSo0py.js} +3 -3
  189. package/lib/{index-B_9xr661.js.map → index-CKmSo0py.js.map} +1 -1
  190. package/lib/{index-CLd8ycZz.js → index-CkwDvuPt.js} +947 -917
  191. package/lib/index-CkwDvuPt.js.map +1 -0
  192. package/lib/index-D06ATMgg.js +2094 -0
  193. package/lib/index-D06ATMgg.js.map +1 -0
  194. package/lib/index-DJqnphbT.js +35 -0
  195. package/lib/index-DJqnphbT.js.map +1 -0
  196. package/lib/{index-BoXX7LeD.js → index-Dssw7Gff.js} +597 -544
  197. package/lib/index-Dssw7Gff.js.map +1 -0
  198. package/lib/{index-BG0g4WW0.js → index-SrtqdZ3j.js} +746 -736
  199. package/lib/index-SrtqdZ3j.js.map +1 -0
  200. package/lib/router-Oe6YmY6B.js +3024 -0
  201. package/lib/router-Oe6YmY6B.js.map +1 -0
  202. package/lib/state-CsuHT8ZO.js +183 -0
  203. package/lib/state-CsuHT8ZO.js.map +1 -0
  204. package/lib/urql-core-KJnLL26g.js +1455 -0
  205. package/lib/urql-core-KJnLL26g.js.map +1 -0
  206. package/lib/zudoku.auth-auth0.js +1 -1
  207. package/lib/zudoku.auth-clerk.js +2 -2
  208. package/lib/zudoku.auth-openid.js +363 -350
  209. package/lib/zudoku.auth-openid.js.map +1 -1
  210. package/lib/zudoku.components.js +1717 -1633
  211. package/lib/zudoku.components.js.map +1 -1
  212. package/lib/zudoku.openapi-worker.js +4485 -4283
  213. package/lib/zudoku.openapi-worker.js.map +1 -1
  214. package/lib/zudoku.plugin-api-keys.js +7 -7
  215. package/lib/{zudoku.plugin-custom-page.js → zudoku.plugin-custom-pages.js} +3 -3
  216. package/lib/zudoku.plugin-custom-pages.js.map +1 -0
  217. package/lib/zudoku.plugin-markdown.js +93 -27
  218. package/lib/zudoku.plugin-markdown.js.map +1 -1
  219. package/lib/zudoku.plugin-openapi.js +8 -8
  220. package/lib/zudoku.plugin-redirect.js +1 -1
  221. package/package.json +71 -69
  222. package/src/app/entry.client.tsx +4 -2
  223. package/src/app/entry.server.tsx +4 -0
  224. package/src/app/main.css +4 -0
  225. package/src/app/main.tsx +12 -28
  226. package/src/app/standalone.tsx +1 -1
  227. package/src/lib/authentication/state.ts +17 -0
  228. package/src/lib/components/Banner.tsx +12 -2
  229. package/src/lib/components/ErrorPage.tsx +0 -2
  230. package/src/lib/components/Header.tsx +13 -3
  231. package/src/lib/components/InlineCode.tsx +10 -0
  232. package/src/lib/components/Layout.tsx +2 -1
  233. package/src/lib/components/MobileTopNavigation.tsx +2 -0
  234. package/src/lib/components/SlotletProvider.tsx +20 -4
  235. package/src/lib/components/TopNavigation.tsx +58 -24
  236. package/src/lib/components/context/ZudokuContext.ts +28 -20
  237. package/src/lib/components/index.ts +1 -1
  238. package/src/lib/components/navigation/Sidebar.tsx +5 -5
  239. package/src/lib/components/navigation/SidebarCategory.tsx +1 -3
  240. package/src/lib/components/navigation/SidebarItem.tsx +1 -3
  241. package/src/lib/components/navigation/utils.ts +11 -16
  242. package/src/lib/core/DevPortalContext.ts +4 -3
  243. package/src/lib/core/plugins.ts +2 -0
  244. package/src/lib/oas/graphql/index.ts +35 -23
  245. package/src/lib/oas/parser/index.ts +1 -0
  246. package/src/lib/plugins/{custom-page → custom-pages}/index.tsx +3 -3
  247. package/src/lib/plugins/markdown/MdxPage.tsx +2 -2
  248. package/src/lib/plugins/markdown/index.tsx +49 -12
  249. package/src/lib/plugins/markdown/resolver.ts +92 -0
  250. package/src/lib/plugins/openapi/Endpoint.tsx +86 -22
  251. package/src/lib/plugins/openapi/OperationList.tsx +4 -2
  252. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +3 -0
  253. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +1 -1
  254. package/src/lib/plugins/openapi/Route.tsx +1 -2
  255. package/src/lib/plugins/openapi/Sidecar.tsx +19 -4
  256. package/src/lib/plugins/openapi/SimpleSelect.tsx +10 -2
  257. package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -6
  258. package/src/lib/plugins/openapi/client/createWorkerClient.ts +1 -6
  259. package/src/lib/plugins/openapi/client/worker.ts +2 -2
  260. package/src/lib/plugins/openapi/graphql/gql.ts +11 -3
  261. package/src/lib/plugins/openapi/graphql/graphql.ts +113 -1
  262. package/src/lib/plugins/openapi/index.tsx +4 -7
  263. package/src/lib/plugins/openapi/playground/Playground.tsx +39 -5
  264. package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -1
  265. package/src/lib/plugins/openapi/playground/createUrl.ts +6 -1
  266. package/src/lib/ui/Callout.tsx +7 -6
  267. package/src/lib/ui/Drawer.tsx +38 -36
  268. package/src/lib/util/useScrollToAnchor.ts +1 -1
  269. package/dist/lib/plugins/custom-page/index.js.map +0 -1
  270. package/dist/lib/plugins/markdown/generateRoutes.d.ts +0 -3
  271. package/dist/lib/plugins/markdown/generateRoutes.js +0 -21
  272. package/dist/lib/plugins/markdown/generateRoutes.js.map +0 -1
  273. package/dist/lib/plugins/openapi/playground/Editor.d.ts +0 -1
  274. package/dist/lib/plugins/openapi/playground/Editor.js +0 -5
  275. package/dist/lib/plugins/openapi/playground/Editor.js.map +0 -1
  276. package/dist/lib/plugins/openapi/util/urql.d.ts +0 -7
  277. package/dist/lib/plugins/openapi/util/urql.js +0 -8
  278. package/dist/lib/plugins/openapi/util/urql.js.map +0 -1
  279. package/dist/lib/util/slugify.d.ts +0 -2
  280. package/dist/lib/util/slugify.js +0 -3
  281. package/dist/lib/util/slugify.js.map +0 -1
  282. package/dist/vite/plugin-icons.d.ts +0 -3
  283. package/dist/vite/plugin-icons.js +0 -47
  284. package/dist/vite/plugin-icons.js.map +0 -1
  285. package/lib/ErrorPage-knunPbKI.js +0 -18
  286. package/lib/ErrorPage-knunPbKI.js.map +0 -1
  287. package/lib/Input-B1kkVL1R.js +0 -2198
  288. package/lib/Input-B1kkVL1R.js.map +0 -1
  289. package/lib/Markdown-B4aR03g6.js.map +0 -1
  290. package/lib/MdxPage-BcftTg5g.js.map +0 -1
  291. package/lib/OperationList-Da36LrGl.js.map +0 -1
  292. package/lib/Route-CWj1ECzh.js.map +0 -1
  293. package/lib/SidebarBadge-DdvT2qep.js +0 -498
  294. package/lib/SidebarBadge-DdvT2qep.js.map +0 -1
  295. package/lib/ZudokuContext-em1gHkIY.js +0 -1084
  296. package/lib/ZudokuContext-em1gHkIY.js.map +0 -1
  297. package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
  298. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  299. package/lib/assets/index-B9EWVYfo.js.map +0 -1
  300. package/lib/assets/worker-TYRbYl6N.js.map +0 -1
  301. package/lib/index-BG0g4WW0.js.map +0 -1
  302. package/lib/index-BoXX7LeD.js.map +0 -1
  303. package/lib/index-CLd8ycZz.js.map +0 -1
  304. package/lib/index-DIkaYL-l.js.map +0 -1
  305. package/lib/router-D2p7Olpn.js +0 -2971
  306. package/lib/router-D2p7Olpn.js.map +0 -1
  307. package/lib/slugify-DbLhpSPt.js +0 -28
  308. package/lib/slugify-DbLhpSPt.js.map +0 -1
  309. package/lib/state-BUM4jc0J.js +0 -288
  310. package/lib/state-BUM4jc0J.js.map +0 -1
  311. package/lib/urql-YhcsXYy8.js +0 -1591
  312. package/lib/urql-YhcsXYy8.js.map +0 -1
  313. package/lib/utils-DtEHoAvg.js.map +0 -1
  314. package/lib/zudoku.plugin-custom-page.js.map +0 -1
  315. package/src/lib/plugins/markdown/generateRoutes.tsx +0 -38
  316. package/src/lib/plugins/openapi/playground/Editor.tsx +0 -4
  317. package/src/lib/plugins/openapi/util/urql.ts +0 -8
  318. package/src/lib/util/slugify.ts +0 -3
@@ -21,17 +21,14 @@ const viteApiPlugin = (getConfig) => {
21
21
  for (const c of apis) {
22
22
  let apiConfig;
23
23
  if (c.type === "file") {
24
- const raw = await readFile(c.input, "utf-8");
25
- let data;
26
- if (raw.trim().startsWith("{")) {
27
- data = JSON.parse(raw);
28
- }
29
- else {
24
+ let data = await readFile(c.input, "utf-8");
25
+ if (!data.trim().startsWith("{")) {
30
26
  const yaml = await import("yaml");
31
- data = yaml.parse(raw);
27
+ data = yaml.parse(data);
32
28
  }
33
29
  apiConfig = {
34
30
  ...c,
31
+ type: "raw",
35
32
  input: data,
36
33
  };
37
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/vite/plugin-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,MAAM,aAAa,GAAG,CAAC,SAAoC,EAAU,EAAE;IACrE,MAAM,eAAe,GAAG,4BAA4B,CAAC;IACrD,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,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO;YACpB,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,MAAM,IAAI,GAAG;oBACX,yDAAyD;oBACzD,kCAAkC;iBACnC,CAAC;gBAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,IAAI,SAA+B,CAAC;wBACpC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BACtB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BAE7C,IAAI,IAAa,CAAC;4BAClB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACzB,CAAC;iCAAM,CAAC;gCACN,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gCAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACzB,CAAC;4BAED,SAAS,GAAG;gCACV,GAAG,CAAC;gCACJ,KAAK,EAAE,IAAI;6BACZ,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,SAAS,GAAG,CAAC,CAAC;wBAChB,CAAC;wBAED,IAAI,CAAC,IAAI,CACP,GAAG;4BACD,eAAe,EAAE,qBAAqB;4BACtC,2CAA2C,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC,KAAK;yBACvI,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAE9C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"plugin-api.js","sourceRoot":"","sources":["../../src/vite/plugin-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKvC,MAAM,aAAa,GAAG,CAAC,SAAoC,EAAU,EAAE;IACrE,MAAM,eAAe,GAAG,4BAA4B,CAAC;IACrD,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,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO;YACpB,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,MAAM,IAAI,GAAG;oBACX,yDAAyD;oBACzD,kCAAkC;iBACnC,CAAC;gBAEF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,IAAI,SAA+B,CAAC;wBACpC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BACtB,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;4BAE5C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gCAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC1B,CAAC;4BAED,SAAS,GAAG;gCACV,GAAG,CAAC;gCACJ,IAAI,EAAE,KAAK;gCACX,KAAK,EAAE,IAAI;6BACZ,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,SAAS,GAAG,CAAC,CAAC;wBAChB,CAAC;wBAED,IAAI,CAAC,IAAI,CACP,GAAG;4BACD,eAAe,EAAE,qBAAqB;4BACtC,2CAA2C,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC,KAAK;yBACvI,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAE9C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -10,7 +10,6 @@ const viteAliasPlugin = (getConfig) => {
10
10
  "zudoku/components": `${config.moduleDir}/src/lib/components/index.ts`,
11
11
  "zudoku/internal": `${config.moduleDir}/src/internal.ts`,
12
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
13
  "zudoku/plugins/openapi": `${config.moduleDir}/src/lib/plugins/openapi/index.tsx`,
15
14
  "zudoku/plugins/search-inkeep": `${config.moduleDir}/src/lib/plugins/search-inkeep/index.tsx`,
16
15
  },
@@ -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;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,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,21 +1,26 @@
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 (!file.startsWith(currentConfig.rootDir))
13
+ return;
14
+ if (!importDependencies.includes(file))
14
15
  return;
15
16
  const newConfig = await onConfigChange();
16
17
  currentConfig = { ...initialConfig, ...newConfig };
18
+ importDependencies = newConfig.__meta.dependencies;
19
+ // Assume `.tsx` files are handled by HMR (skip if the config file itself changed)
20
+ if (file !== newConfig.__meta.path && file.endsWith(".tsx"))
21
+ return;
17
22
  await restart();
18
- printDiagnosticsToConsole(`${new Date().toLocaleTimeString()} Config ${path.basename(file)} changed. Restarted server.`);
23
+ printDiagnosticsToConsole(`[${new Date().toLocaleTimeString()}]: Config ${path.basename(currentConfig.__meta.path)} changed. Restarted server.`);
19
24
  });
20
25
  },
21
26
  };
@@ -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,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC;oBAAE,OAAO;gBACpD,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"}
@@ -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,4 +1,8 @@
1
- const DEFAULT_DOCS_FILES = "/pages/**/*.{md,mdx}";
1
+ import { glob } from "glob";
2
+ import path from "path";
3
+ import { DocResolver } from "../lib/plugins/markdown/resolver.js";
4
+ import { writePluginDebugCode } from "./debug.js";
5
+ const ensureLeadingSlash = (str) => str.startsWith("/") ? str : `/${str}`;
2
6
  const viteDocsPlugin = (getConfig) => {
3
7
  const virtualModuleId = "virtual:zudoku-docs-plugins";
4
8
  const resolvedVirtualModuleId = "\0" + virtualModuleId;
@@ -9,7 +13,7 @@ const viteDocsPlugin = (getConfig) => {
9
13
  return resolvedVirtualModuleId;
10
14
  }
11
15
  },
12
- load(id) {
16
+ async load(id) {
13
17
  if (id === resolvedVirtualModuleId) {
14
18
  const config = getConfig();
15
19
  if (config.mode === "standalone") {
@@ -21,31 +25,27 @@ const viteDocsPlugin = (getConfig) => {
21
25
  config.mode === "internal"
22
26
  ? `import { markdownPlugin } from "${config.moduleDir}/src/lib/plugins/markdown/index.tsx";`
23
27
  : `import { markdownPlugin } from "zudoku/plugins/markdown";`,
24
- `const configuredDocsPlugins = [];`,
28
+ `const docsPluginOptions = [];`,
25
29
  ];
26
- const docsConfigs = config.docs
27
- ? Array.isArray(config.docs)
28
- ? config.docs
29
- : [config.docs]
30
- : [{ files: DEFAULT_DOCS_FILES }];
31
- docsConfigs.forEach((docsConfig) => {
32
- code.push(...[
33
- `// @ts-ignore`, // To make tests pass
34
- `const markdownFiles = import.meta.glob(${JSON.stringify(docsConfig.files)}, {`,
35
- ` eager: false,`,
36
- `});`,
37
- `configuredDocsPlugins.push(markdownPlugin({ `,
38
- ` markdownFiles,`,
39
- ` defaultOptions: ${JSON.stringify(docsConfig.defaultOptions)},`,
40
- ` filesPath: ${JSON.stringify(docsConfig.files)}`,
41
- `}));`,
42
- ]);
43
- });
44
- code.push(`export { configuredDocsPlugins };`);
45
- return {
46
- code: code.join("\n"),
47
- map: null,
48
- };
30
+ const resolver = new DocResolver(config);
31
+ const docsConfigs = resolver.getDocsConfigs();
32
+ for (let i = 0; i < docsConfigs.length; i++) {
33
+ const docsConfig = docsConfigs[i];
34
+ if (!docsConfig)
35
+ continue;
36
+ const globbedFiles = await glob(docsConfig.files, {
37
+ root: config.rootDir,
38
+ ignore: ["**/node_modules/**", "**/dist/**", "**/.git/**"],
39
+ absolute: false,
40
+ });
41
+ code.push(`const fileImports${i} = Object.assign({`, ...globbedFiles.map((file) => ` "${ensureLeadingSlash(file)}": () => import("${ensureLeadingSlash(path.join(config.basePath ?? "", file))}"),`), `});`, `docsPluginOptions.push({`, ` fileImports: fileImports${i},`, ` defaultOptions: ${JSON.stringify(docsConfig.defaultOptions)},`, ` files: ${JSON.stringify(docsConfig.files)}`, `});`);
42
+ }
43
+ // Even though this returns an array, the plugin should be a single
44
+ // instance because we need to make sure that there are not duplicate
45
+ // routes even if different folders have been used.
46
+ code.push(`const configuredDocsPlugins = [markdownPlugin(docsPluginOptions)]`, `export { configuredDocsPlugins };`);
47
+ await writePluginDebugCode(config.rootDir, "docs-plugin", code);
48
+ return code.join("\n");
49
49
  }
50
50
  },
51
51
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-docs.js","sourceRoot":"","sources":["../../src/vite/plugin-docs.ts"],"names":[],"mappings":"AAIA,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAElD,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;gBAEF,MAAM,WAAW,GAAuB,MAAM,CAAC,IAAI;oBACjD,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,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAEpC,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,8CAA8C;wBAC9C,iBAAiB;wBACjB,oBAAoB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG;wBAChE,eAAe,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;wBACjD,MAAM;qBACP,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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE,CACzC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;AAExC,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,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,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,+BAA+B;iBAChC,CAAC;gBAEF,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAElC,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAE1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;wBAChD,IAAI,EAAE,MAAM,CAAC,OAAO;wBACpB,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,YAAY,CAAC;wBAC1D,QAAQ,EAAE,KAAK;qBAChB,CAAC,CAAC;oBAEH,IAAI,CAAC,IAAI,CACP,oBAAoB,CAAC,oBAAoB,EACzC,GAAG,YAAY,CAAC,GAAG,CACjB,CAAC,IAAI,EAAE,EAAE,CACP,MAAM,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CACpH,EACD,KAAK,EACL,0BAA0B,EAC1B,6BAA6B,CAAC,GAAG,EACjC,qBAAqB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EACjE,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAC9C,KAAK,CACN,CAAC;gBACJ,CAAC;gBAED,mEAAmE;gBACnE,qEAAqE;gBACrE,mDAAmD;gBACnD,IAAI,CAAC,IAAI,CACP,mEAAmE,EACnE,mCAAmC,CACpC,CAAC;gBAEF,MAAM,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAEhE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { Plugin } from "vite";
2
+ export declare const viteFrontmatterPlugin: () => Plugin;
@@ -0,0 +1,30 @@
1
+ import matter from "gray-matter";
2
+ import { readFile } from "node:fs/promises";
3
+ // This plugin is responsible to restart the dev server when the frontmatter changed inside a markdown file.
4
+ export const viteFrontmatterPlugin = () => {
5
+ const frontmatterMap = new Map();
6
+ return {
7
+ // set enforce: "pre" so it's run before the MDX plugin
8
+ enforce: "pre",
9
+ name: "zudoku-frontmatter-plugin",
10
+ configureServer: ({ watcher, restart }) => {
11
+ watcher.on("change", async (filePath) => {
12
+ if (/\.mdx?$/.test(filePath)) {
13
+ const fm = matter(await readFile(filePath, "utf-8"));
14
+ const prevFm = frontmatterMap.get(filePath);
15
+ if (prevFm && JSON.stringify(prevFm) !== JSON.stringify(fm.data)) {
16
+ frontmatterMap.set(filePath, fm.data);
17
+ await restart();
18
+ }
19
+ }
20
+ });
21
+ },
22
+ async load(id) {
23
+ if (/\.mdx?$/.test(id)) {
24
+ const fm = matter(await readFile(id, "utf-8"));
25
+ frontmatterMap.set(id, fm.data);
26
+ }
27
+ },
28
+ };
29
+ };
30
+ //# 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,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,4GAA4G;AAC5G,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAW,EAAE;IAChD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEjD,OAAO;QACL,uDAAuD;QACvD,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,2BAA2B;QACjC,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YACxC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACtC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAE5C,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjE,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;wBACtC,MAAM,OAAO,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC/C,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,19 @@
1
1
  import { resolveSidebar } from "../config/validators/SidebarSchema.js";
2
- import { replaceSidebarIcons } from "./plugin-icons.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;
@@ -16,9 +30,11 @@ export const viteSidebarPlugin = (getConfig) => {
16
30
  const config = getConfig();
17
31
  const resolvedSidebar = Object.fromEntries(await Promise.all(Object.entries(config.sidebar ?? {}).map(async ([parentId, sidebar]) => [
18
32
  parentId,
19
- await resolveSidebar(config.rootDir, parentId, sidebar),
33
+ await resolveSidebar(config.rootDir, sidebar),
20
34
  ])));
21
- return JSON.stringify(resolvedSidebar);
35
+ const code = JSON.stringify(resolvedSidebar);
36
+ await writePluginDebugCode(config.rootDir, "sidebar-plugin", code, "json");
37
+ return code;
22
38
  },
23
39
  async transform(code, id) {
24
40
  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,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,OAAO,CAAC;aAC9C,CACF,CACF,CACF,CAAC;YAEF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAC7C,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,9 +6,10 @@ 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";
14
15
  import { viteSidebarPlugin } from "./plugin-sidebar.js";
@@ -19,9 +20,10 @@ export default function vitePlugin(initialConfig, onConfigChange) {
19
20
  react({ include: /\.(mdx?|jsx?|tsx?)$/ }),
20
21
  viteConfigPlugin(initialConfig),
21
22
  viteApiKeysPlugin(getCurrentConfig),
23
+ viteCustomPagesPlugin(getCurrentConfig),
22
24
  viteAuthPlugin(getCurrentConfig),
23
25
  viteDocsPlugin(getCurrentConfig),
24
- viteIconsPlugin(),
26
+ viteFrontmatterPlugin(),
25
27
  viteSidebarPlugin(getCurrentConfig),
26
28
  viteApiPlugin(getCurrentConfig),
27
29
  viteAliasPlugin(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,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,qBAAqB,CAAC,gBAAgB,CAAC;QACvC,cAAc,CAAC,gBAAgB,CAAC;QAChC,cAAc,CAAC,gBAAgB,CAAC;QAChC,qBAAqB,EAAE;QACvB,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"}
@@ -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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"}