zudoku 0.3.0-dev.30 → 0.3.0-dev.32

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 (224) hide show
  1. package/dist/app/App.d.ts +1 -0
  2. package/dist/app/App.js +2 -0
  3. package/dist/app/App.js.map +1 -0
  4. package/dist/app/demo.js +15 -11
  5. package/dist/app/demo.js.map +1 -1
  6. package/dist/app/entry.client.d.ts +5 -0
  7. package/dist/app/entry.client.js +28 -0
  8. package/dist/app/entry.client.js.map +1 -0
  9. package/dist/app/entry.server.d.ts +10 -0
  10. package/dist/app/entry.server.js +107 -0
  11. package/dist/app/entry.server.js.map +1 -0
  12. package/dist/app/main.d.ts +26 -2
  13. package/dist/app/main.js +39 -15
  14. package/dist/app/main.js.map +1 -1
  15. package/dist/app/standalone.js +14 -10
  16. package/dist/app/standalone.js.map +1 -1
  17. package/dist/app/tailwind.d.ts +1 -1
  18. package/dist/app/tailwind.js +0 -4
  19. package/dist/app/tailwind.js.map +1 -1
  20. package/dist/app/zudoku-manifest.d.ts +1 -0
  21. package/dist/app/zudoku-manifest.js +20 -0
  22. package/dist/app/zudoku-manifest.js.map +1 -0
  23. package/dist/cli/cmds/dev.js +5 -0
  24. package/dist/cli/cmds/dev.js.map +1 -1
  25. package/dist/cli/dev/handler.d.ts +1 -0
  26. package/dist/cli/dev/handler.js +3 -1
  27. package/dist/cli/dev/handler.js.map +1 -1
  28. package/dist/config/config.d.ts +5 -0
  29. package/dist/lib/authentication/providers/clerk.js +2 -0
  30. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  31. package/dist/lib/components/DevPortal.d.ts +5 -2
  32. package/dist/lib/components/DevPortal.js +11 -10
  33. package/dist/lib/components/DevPortal.js.map +1 -1
  34. package/dist/lib/components/ErrorPage.d.ts +6 -0
  35. package/dist/lib/components/ErrorPage.js +9 -0
  36. package/dist/lib/components/ErrorPage.js.map +1 -0
  37. package/dist/lib/components/InlineCode.d.ts +5 -0
  38. package/dist/lib/components/InlineCode.js +4 -0
  39. package/dist/lib/components/InlineCode.js.map +1 -0
  40. package/dist/lib/components/Layout.js +2 -1
  41. package/dist/lib/components/Layout.js.map +1 -1
  42. package/dist/lib/components/NotFoundPage.d.ts +1 -0
  43. package/dist/lib/components/NotFoundPage.js +12 -0
  44. package/dist/lib/components/NotFoundPage.js.map +1 -0
  45. package/dist/lib/components/SyntaxHighlight.d.ts +3 -2
  46. package/dist/lib/components/SyntaxHighlight.js +20 -22
  47. package/dist/lib/components/SyntaxHighlight.js.map +1 -1
  48. package/dist/lib/components/index.d.ts +4 -1
  49. package/dist/lib/errors/ErrorAlert.d.ts +3 -0
  50. package/dist/lib/errors/ErrorAlert.js +8 -0
  51. package/dist/lib/errors/ErrorAlert.js.map +1 -0
  52. package/dist/lib/errors/RouterError.d.ts +1 -0
  53. package/dist/lib/errors/RouterError.js +12 -0
  54. package/dist/lib/errors/RouterError.js.map +1 -0
  55. package/dist/lib/errors/ServerError.d.ts +3 -0
  56. package/dist/lib/errors/ServerError.js +6 -0
  57. package/dist/lib/errors/ServerError.js.map +1 -0
  58. package/dist/lib/errors/TopLevelError.d.ts +2 -0
  59. package/dist/lib/errors/TopLevelError.js +7 -0
  60. package/dist/lib/errors/TopLevelError.js.map +1 -0
  61. package/dist/lib/oas/parser/index.d.ts +1 -1
  62. package/dist/lib/oas/parser/index.js +38 -14
  63. package/dist/lib/oas/parser/index.js.map +1 -1
  64. package/dist/lib/plugins/api-keys/index.js +3 -8
  65. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  66. package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
  67. package/dist/lib/plugins/markdown/index.js +3 -7
  68. package/dist/lib/plugins/markdown/index.js.map +1 -1
  69. package/dist/lib/plugins/openapi/OperationList.js +11 -1
  70. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  71. package/dist/lib/plugins/openapi/OperationListItem.js +2 -1
  72. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  73. package/dist/lib/plugins/openapi/SchemaListView.js +2 -1
  74. package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
  75. package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
  76. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
  77. package/dist/lib/plugins/openapi/index.js +9 -1
  78. package/dist/lib/plugins/openapi/index.js.map +1 -1
  79. package/dist/lib/plugins/redirect/index.js +2 -3
  80. package/dist/lib/plugins/redirect/index.js.map +1 -1
  81. package/dist/lib/ui/Callout.js +1 -1
  82. package/dist/lib/ui/Callout.js.map +1 -1
  83. package/dist/lib/ui/button-variants.d.ts +1 -1
  84. package/dist/lib/util/MdxComponents.js +2 -2
  85. package/dist/lib/util/MdxComponents.js.map +1 -1
  86. package/dist/lib/util/groupBy.d.ts +1 -6
  87. package/dist/lib/util/groupBy.js +10 -8
  88. package/dist/lib/util/groupBy.js.map +1 -1
  89. package/dist/vite/build.js +23 -10
  90. package/dist/vite/build.js.map +1 -1
  91. package/dist/vite/config.d.ts +2 -2
  92. package/dist/vite/config.js +36 -8
  93. package/dist/vite/config.js.map +1 -1
  94. package/dist/vite/dev-server.d.ts +1 -1
  95. package/dist/vite/dev-server.js +15 -9
  96. package/dist/vite/dev-server.js.map +1 -1
  97. package/dist/vite/html.js +5 -4
  98. package/dist/vite/html.js.map +1 -1
  99. package/dist/vite/plugin-custom-css.d.ts +6 -0
  100. package/dist/vite/plugin-custom-css.js +55 -0
  101. package/dist/vite/plugin-custom-css.js.map +1 -0
  102. package/dist/vite/plugin-docs.js +14 -5
  103. package/dist/vite/plugin-docs.js.map +1 -1
  104. package/dist/vite/plugin-openapi-worker.js +4 -1
  105. package/dist/vite/plugin-openapi-worker.js.map +1 -1
  106. package/dist/vite/plugin.js +2 -0
  107. package/dist/vite/plugin.js.map +1 -1
  108. package/dist/vite/prerender.d.ts +1 -0
  109. package/dist/vite/prerender.js +57 -0
  110. package/dist/vite/prerender.js.map +1 -0
  111. package/lib/{DevPortalProvider--xZTs0RJ.js → DevPortalProvider-BlxLX6GG.js} +230 -250
  112. package/lib/DevPortalProvider-BlxLX6GG.js.map +1 -0
  113. package/lib/{Markdown-oJFqm0uk.js → Markdown-CL8KPvJN.js} +8 -9
  114. package/lib/{Markdown-oJFqm0uk.js.map → Markdown-CL8KPvJN.js.map} +1 -1
  115. package/lib/MdxComponents-Ev_hBHb2.js +5885 -0
  116. package/lib/MdxComponents-Ev_hBHb2.js.map +1 -0
  117. package/lib/{MdxPage-BV_9ncEk.js → MdxPage-Z3HKNTrj.js} +92 -89
  118. package/lib/MdxPage-Z3HKNTrj.js.map +1 -0
  119. package/lib/{OperationList-DfG_E0Xa.js → OperationList-KoITgfDT.js} +1967 -1785
  120. package/lib/OperationList-KoITgfDT.js.map +1 -0
  121. package/lib/Route-Bf1_D_vC.js +13 -0
  122. package/lib/{Route-CHqr53jb.js.map → Route-Bf1_D_vC.js.map} +1 -1
  123. package/lib/Select-DSa3bN4t.js +4770 -0
  124. package/lib/Select-DSa3bN4t.js.map +1 -0
  125. package/lib/assets/{worker-BXS8hiSM.js → worker-BjPv-hjP.js} +3100 -2720
  126. package/lib/assets/worker-BjPv-hjP.js.map +1 -0
  127. package/lib/hook-CTmJ6CWq.js +35 -0
  128. package/lib/hook-CTmJ6CWq.js.map +1 -0
  129. package/lib/index-BdWBDosx.js +74 -0
  130. package/lib/index-BdWBDosx.js.map +1 -0
  131. package/lib/{index-B2qLeglF.js → index-BoWzKb_9.js} +57 -41
  132. package/lib/index-BoWzKb_9.js.map +1 -0
  133. package/lib/{AnchorLink-BtVKbEwm.js → index.esm-CPEExBJE.js} +156 -168
  134. package/lib/index.esm-CPEExBJE.js.map +1 -0
  135. package/lib/jsx-runtime-CM0TzjGp.js +866 -0
  136. package/lib/jsx-runtime-CM0TzjGp.js.map +1 -0
  137. package/lib/mutation-91kw0lHb.js +208 -0
  138. package/lib/mutation-91kw0lHb.js.map +1 -0
  139. package/lib/router-CcYTwKjf.js +183 -0
  140. package/lib/router-CcYTwKjf.js.map +1 -0
  141. package/lib/zudoku.auth-clerk.js.map +1 -1
  142. package/lib/zudoku.auth-openid.js +588 -441
  143. package/lib/zudoku.auth-openid.js.map +1 -1
  144. package/lib/zudoku.components.js +330 -543
  145. package/lib/zudoku.components.js.map +1 -1
  146. package/lib/zudoku.openapi-worker.js +18 -18
  147. package/lib/zudoku.plugin-api-keys.js +143 -98
  148. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  149. package/lib/zudoku.plugin-markdown.js +2 -49
  150. package/lib/zudoku.plugin-markdown.js.map +1 -1
  151. package/lib/zudoku.plugin-openapi.js +5 -3
  152. package/lib/zudoku.plugin-openapi.js.map +1 -1
  153. package/lib/zudoku.plugin-redirect.js +6 -7
  154. package/lib/zudoku.plugin-redirect.js.map +1 -1
  155. package/package.json +3 -1
  156. package/src/app/App.tsx +0 -0
  157. package/src/app/demo.tsx +18 -13
  158. package/src/app/entry.client.tsx +51 -0
  159. package/src/app/entry.server.tsx +158 -0
  160. package/src/app/main.tsx +65 -41
  161. package/src/app/standalone.tsx +15 -11
  162. package/src/app/tailwind.ts +2 -6
  163. package/src/app/zudoku-manifest.ts +22 -0
  164. package/src/lib/authentication/providers/clerk.tsx +1 -0
  165. package/src/lib/components/DevPortal.tsx +34 -33
  166. package/src/lib/components/ErrorPage.tsx +28 -0
  167. package/src/lib/components/InlineCode.tsx +19 -0
  168. package/src/lib/components/Layout.tsx +7 -4
  169. package/src/lib/components/NotFoundPage.tsx +39 -0
  170. package/src/lib/components/SyntaxHighlight.tsx +26 -22
  171. package/src/lib/errors/ErrorAlert.tsx +21 -0
  172. package/src/lib/errors/RouterError.tsx +13 -0
  173. package/src/lib/errors/ServerError.tsx +5 -0
  174. package/src/lib/errors/TopLevelError.tsx +8 -0
  175. package/src/lib/oas/parser/index.ts +41 -22
  176. package/src/lib/plugins/api-keys/index.tsx +4 -16
  177. package/src/lib/plugins/markdown/generateRoutes.tsx +1 -1
  178. package/src/lib/plugins/markdown/index.tsx +3 -7
  179. package/src/lib/plugins/openapi/OperationList.tsx +30 -0
  180. package/src/lib/plugins/openapi/OperationListItem.tsx +3 -1
  181. package/src/lib/plugins/openapi/SchemaListView.tsx +8 -10
  182. package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -1
  183. package/src/lib/plugins/openapi/index.tsx +18 -1
  184. package/src/lib/plugins/redirect/index.tsx +2 -2
  185. package/src/lib/ui/Callout.tsx +2 -2
  186. package/src/lib/util/MdxComponents.tsx +2 -11
  187. package/src/lib/util/groupBy.ts +7 -12
  188. package/dist/lib/components/Error.d.ts +0 -1
  189. package/dist/lib/components/Error.js +0 -10
  190. package/dist/lib/components/Error.js.map +0 -1
  191. package/dist/lib/components/Router.d.ts +0 -4
  192. package/dist/lib/components/Router.js +0 -21
  193. package/dist/lib/components/Router.js.map +0 -1
  194. package/lib/AnchorLink-BtVKbEwm.js.map +0 -1
  195. package/lib/DevPortalProvider--xZTs0RJ.js.map +0 -1
  196. package/lib/MdxComponents-CsU8yR42.js +0 -3019
  197. package/lib/MdxComponents-CsU8yR42.js.map +0 -1
  198. package/lib/MdxPage-BV_9ncEk.js.map +0 -1
  199. package/lib/OperationList-DfG_E0Xa.js.map +0 -1
  200. package/lib/Route-CHqr53jb.js +0 -14
  201. package/lib/Select-CNmXi4JU.js +0 -4572
  202. package/lib/Select-CNmXi4JU.js.map +0 -1
  203. package/lib/Spinner-By5opWs5.js +0 -182
  204. package/lib/Spinner-By5opWs5.js.map +0 -1
  205. package/lib/assets/worker-BXS8hiSM.js.map +0 -1
  206. package/lib/cn-DpqTslo9.js +0 -2342
  207. package/lib/cn-DpqTslo9.js.map +0 -1
  208. package/lib/hook-kVJ4gpk5.js +0 -25
  209. package/lib/hook-kVJ4gpk5.js.map +0 -1
  210. package/lib/index-B2qLeglF.js.map +0 -1
  211. package/lib/index-CUIxJAeE.js +0 -713
  212. package/lib/index-CUIxJAeE.js.map +0 -1
  213. package/lib/index-Cr3hgaqt.js +0 -412
  214. package/lib/index-Cr3hgaqt.js.map +0 -1
  215. package/lib/index-fXFJf9Ua.js +0 -464
  216. package/lib/index-fXFJf9Ua.js.map +0 -1
  217. package/lib/jsx-runtime-D7DwziLW.js +0 -3009
  218. package/lib/jsx-runtime-D7DwziLW.js.map +0 -1
  219. package/lib/loglevel-CA34MiFn.js +0 -153
  220. package/lib/loglevel-CA34MiFn.js.map +0 -1
  221. package/lib/util-DnDPBx_j.js +0 -41
  222. package/lib/util-DnDPBx_j.js.map +0 -1
  223. package/src/lib/components/Error.tsx +0 -15
  224. package/src/lib/components/Router.tsx +0 -23
@@ -15,7 +15,7 @@ export const createClient = () => {
15
15
  fetch: async (req, init) => {
16
16
  if (!init?.body)
17
17
  throw new Error("No body");
18
- const response = await localServer.fetch(new Request("/__z/graphql", {
18
+ const response = await localServer.fetch(new Request("http://localhost/__z/graphql", {
19
19
  method: "POST",
20
20
  body: init.body,
21
21
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"createMemoryClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createMemoryClient.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,GAAG,EAAE;IACrD,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,cAAc;QACnB,8GAA8G;QAC9G,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,OAAO,CAAC,cAAc,EAAE;gBAC1B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CACH,CAAC;YACF,OAAO,QAAQ,CAAC;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,iCAAiC;YACjC,qCAAqC;QACvC,CAAC;QACD,SAAS,EAAE;YACT,aAAa;YACb,WAAW,CAAC;gBACV,OAAO,CAAC,KAAK,EAAE,SAAS;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;YACF,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"createMemoryClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createMemoryClient.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,GAAG,EAAE;IACrD,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,cAAc;QACnB,8GAA8G;QAC9G,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,OAAO,CAAC,8BAA8B,EAAE;gBAC1C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CACH,CAAC;YACF,OAAO,QAAQ,CAAC;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,iCAAiC;YACjC,qCAAqC;QACvC,CAAC;QACD,SAAS,EAAE;YACT,aAAa;YACb,WAAW,CAAC;gBACV,OAAO,CAAC,KAAK,EAAE,SAAS;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;YACF,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { matchPath } from "react-router-dom";
2
+ import { matchPath, useRouteError } from "react-router-dom";
3
3
  import { MethodBadge } from "./MethodBadge.js";
4
4
  import { graphql } from "./graphql/index.js";
5
5
  import { Client as UrqlClient, cacheExchange, fetchExchange, } from "./util/urql.js";
6
6
  import { createClient } from "virtual:zudoku-openapi-worker";
7
+ import { ErrorPage } from "../../components/ErrorPage.js";
8
+ import { SyntaxHighlight } from "../../components/SyntaxHighlight.js";
7
9
  const GetCategoriesQuery = graphql(`
8
10
  query GetCategories($input: JSON!, $type: SchemaType!) {
9
11
  schema(input: $input, type: $type) {
@@ -23,6 +25,11 @@ const GetCategoriesQuery = graphql(`
23
25
  }
24
26
  }
25
27
  `);
28
+ const OpenApiErrorPage = () => {
29
+ const error = useRouteError();
30
+ const message = error instanceof Error ? (_jsx(SyntaxHighlight, { code: error.message })) : ("An unknown error occurred");
31
+ return (_jsx(ErrorPage, { category: "Error", title: "An error occurred", message: message }));
32
+ };
26
33
  export const openApiPlugin = (config) => {
27
34
  const basePath = config.path ?? "/reference";
28
35
  const client = config.server
@@ -79,6 +86,7 @@ export const openApiPlugin = (config) => {
79
86
  element: _jsx(OpenApiRoute, { client: client, config: config }),
80
87
  };
81
88
  },
89
+ errorElement: _jsx(OpenApiErrorPage, {}),
82
90
  children: [
83
91
  {
84
92
  path: basePath,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AAK9E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE,MAAM,kBAAkB,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;CAkBlC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CACvB,KAAC,eAAe,IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,GAAI,CACzC,CAAC,CAAC,CAAC,CACF,2BAA2B,CAC5B,CAAC;IAEJ,OAAO,CACL,KAAC,SAAS,IAAC,QAAQ,EAAC,OAAO,EAAC,KAAK,EAAC,mBAAmB,EAAC,OAAO,EAAE,OAAO,GAAI,CAC3E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAuB,EAAmB,EAAE;IACxE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC;IAE7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;QAC1B,CAAC,CAAC,IAAI,UAAU,CAAC;YACb,GAAG,EAAE,MAAM,CAAC,MAAM;YAClB,SAAS,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;SAC1C,CAAC;QACJ,CAAC,CAAC,YAAY,EAAE,CAAC;IAEnB,OAAO;QACL,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1B,OAAO,CACL,eACE,GAAG,EAAC,SAAS,EACb,IAAI,EAAE,MAAM,CAAC,KAAK,EAClB,EAAE,EAAC,OAAO,EACV,WAAW,EAAC,WAAW,GACvB,CACH,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,eAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAI,CAAC;YACxD,CAAC;QACH,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;gBACrD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACtD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YAErB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;iBAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC1C,GAAG,CAA2B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI;gBACJ,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;gBACrB,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC3C,IAAI,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE;oBAC1B,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU;oBAC7B,KAAK,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI;oBAC1C,KAAK,EAAE,CACL,eAAK,SAAS,EAAC,2CAA2C,aACxD,eAAM,SAAS,EAAC,UAAU,YACvB,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,GAC/B,EACP,KAAC,WAAW,IAAC,MAAM,EAAE,SAAS,CAAC,MAAM,GAAI,IACrC,CACP;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC,CAAC;YAEN,UAAU,CAAC,OAAO,CAAC;gBACjB,IAAI;gBACJ,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;aAC3D,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,SAAS,EAAE,GAAG,EAAE,CACd;YACE;gBACE,KAAK,CAAC,IAAI;oBACR,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;oBACpD,OAAO;wBACL,OAAO,EAAE,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAI;qBAC1D,CAAC;gBACJ,CAAC;gBACD,YAAY,EAAE,KAAC,gBAAgB,KAAG;gBAClC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE;4BACR;gCACE,KAAK,EAAE,IAAI;gCACX,KAAK,CAAC,IAAI;oCACR,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CACpC,oBAAoB,CACrB,CAAC;oCACF,OAAO,EAAE,OAAO,EAAE,KAAC,aAAa,KAAG,EAAE,CAAC;gCACxC,CAAC;6BACF;yBACF;qBACF;iBACF;aACF;SACsB;KAC5B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,10 +1,9 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Navigate } from "react-router-dom";
1
+ import { redirect } from "react-router-dom";
3
2
  export const redirectPlugin = (options) => {
4
3
  return {
5
4
  getRoutes: () => options.redirects.map(({ from, to, replace }) => ({
6
5
  path: from,
7
- element: _jsx(Navigate, { to: to, replace: replace }),
6
+ loader: () => redirect(to),
8
7
  })),
9
8
  };
10
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/redirect/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAE9B,EAAmB,EAAE;IACpB,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CACd,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,KAAC,QAAQ,IAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,GAAI;SAChD,CAAC,CAAC;KACN,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/redirect/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAS5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAE9B,EAAmB,EAAE;IACpB,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CACd,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SAC3B,CAAC,CAAC;KACN,CAAC;AACJ,CAAC,CAAC"}
@@ -45,6 +45,6 @@ const stylesMap = {
45
45
  };
46
46
  export const Callout = ({ type, children, title, className }) => {
47
47
  const { border, bg, iconColor, titleColor, textColor, Icon } = stylesMap[type];
48
- return (_jsxs("div", { className: cn("not-prose grid grid-cols-[fit-content_1fr] grid-rows-[fit-content_1fr] gap-x-4 gap-y-2 text-md rounded-md border p-4", "[&_a]:underline [&_a]:decoration-current [&_a]:decoration-from-font [&_a]:underline-offset-4 hover:[&_a]:decoration-1", "[&_code]:!bg-transparent [&_code]:!border-none", title && "items-center", border, bg, className), children: [_jsx(Icon, { className: cn(!title && "mt-1 translate-y-px", iconColor), size: 20, "aria-hidden": "true" }), title && _jsx("h3", { className: cn("font-medium", titleColor), children: title }), _jsx("div", { className: cn("col-start-2", !title && "row-start-1", textColor), children: children })] }));
48
+ return (_jsxs("div", { className: cn("not-prose grid grid-cols-[min-content_1fr] grid-rows-[fit-content_1fr] gap-x-4 gap-y-2 text-md rounded-md border p-4", "[&_a]:underline [&_a]:decoration-current [&_a]:decoration-from-font [&_a]:underline-offset-4 hover:[&_a]:decoration-1", "[&_code]:!bg-gray-50 [&_code]:dark:!bg-gray-800 [&_code]:!border-none", title && "items-center", border, bg, className), children: [_jsx(Icon, { className: cn(!title && "mt-1 translate-y-px", iconColor), size: 20, "aria-hidden": "true" }), title && _jsx("h3", { className: cn("font-medium", titleColor), children: title }), _jsx("div", { className: cn("col-start-2", !title && "row-start-1", textColor), children: children })] }));
49
49
  };
50
50
  //# sourceMappingURL=Callout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.js","sourceRoot":"","sources":["../../../src/lib/ui/Callout.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,sCAAsC;QAC9C,EAAE,EAAE,iCAAiC;QACrC,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,MAAM,EAAE,wCAAwC;QAChD,EAAE,EAAE,sCAAsC;QAC1C,SAAS,EAAE,oCAAoC;QAC/C,UAAU,EAAE,oCAAoC;QAChD,SAAS,EAAE,mCAAmC;QAC9C,IAAI,EAAE,aAAa;KACpB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,yCAAyC;QACjD,EAAE,EAAE,gCAAgC;QACpC,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE;QACP,MAAM,EAAE,6CAA6C;QACrD,EAAE,EAAE,wCAAwC;QAC5C,SAAS,EAAE,sCAAsC;QACjD,UAAU,EAAE,sCAAsC;QAClD,SAAS,EAAE,sCAAsC;QACjD,IAAI,EAAE,iBAAiB;KACxB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,sCAAsC;QAC9C,EAAE,EAAE,gCAAgC;QACpC,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,eAAe;KACtB;CACF,CAAC;AASF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAgB,EAAE,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAC1D,SAAS,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,uHAAuH,EACvH,gDAAgD,EAChD,KAAK,IAAI,cAAc,EACvB,MAAM,EACN,EAAE,EACF,SAAS,CACV,aAED,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,qBAAqB,EAAE,SAAS,CAAC,EACzD,IAAI,EAAE,EAAE,iBACI,MAAM,GAClB,EACD,KAAK,IAAI,aAAI,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,YAAG,KAAK,GAAM,EACpE,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,aAAa,EAAE,SAAS,CAAC,YAClE,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Callout.js","sourceRoot":"","sources":["../../../src/lib/ui/Callout.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE;QACJ,MAAM,EAAE,sCAAsC;QAC9C,EAAE,EAAE,iCAAiC;QACrC,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,QAAQ;KACf;IACD,GAAG,EAAE;QACH,MAAM,EAAE,wCAAwC;QAChD,EAAE,EAAE,sCAAsC;QAC1C,SAAS,EAAE,oCAAoC;QAC/C,UAAU,EAAE,oCAAoC;QAChD,SAAS,EAAE,mCAAmC;QAC9C,IAAI,EAAE,aAAa;KACpB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,yCAAyC;QACjD,EAAE,EAAE,gCAAgC;QACpC,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,QAAQ;KACf;IACD,OAAO,EAAE;QACP,MAAM,EAAE,6CAA6C;QACrD,EAAE,EAAE,wCAAwC;QAC5C,SAAS,EAAE,sCAAsC;QACjD,UAAU,EAAE,sCAAsC;QAClD,SAAS,EAAE,sCAAsC;QACjD,IAAI,EAAE,iBAAiB;KACxB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,sCAAsC;QAC9C,EAAE,EAAE,gCAAgC;QACpC,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,kCAAkC;QAC9C,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,eAAe;KACtB;CACF,CAAC;AASF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAgB,EAAE,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,GAC1D,SAAS,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,sHAAsH,EACtH,uHAAuH,EACvH,uEAAuE,EACvE,KAAK,IAAI,cAAc,EACvB,MAAM,EACN,EAAE,EACF,SAAS,CACV,aAED,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,qBAAqB,EAAE,SAAS,CAAC,EACzD,IAAI,EAAE,EAAE,iBACI,MAAM,GAClB,EACD,KAAK,IAAI,aAAI,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,YAAG,KAAK,GAAM,EACpE,cAAK,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,IAAI,aAAa,EAAE,SAAS,CAAC,YAClE,QAAQ,GACL,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export declare const buttonVariants: (props?: ({
2
2
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
3
- size?: "default" | "icon" | "sm" | "lg" | null | undefined;
3
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Link } from "react-router-dom";
3
3
  import { Heading } from "../components/Heading.js";
4
+ import { InlineCode } from "../components/InlineCode.js";
4
5
  import { SyntaxHighlight } from "../components/SyntaxHighlight.js";
5
6
  import { Callout } from "../ui/Callout.js";
6
- import { cn } from "./cn.js";
7
7
  export const MdxComponents = {
8
8
  img: (props) => {
9
9
  if (/\.(mp4|webm|mov|avi)$/.test(props.src ?? "")) {
@@ -34,7 +34,7 @@ export const MdxComponents = {
34
34
  const match = className?.match(/language?-(\w+)/);
35
35
  return (_jsx(SyntaxHighlight, { language: match?.[1] ?? "markup", className: "rounded-xl overflow-x-auto p-4 border border-border dark:!bg-foreground/10 dark:border-transparent", showLanguageIndicator: true, code: String(children).trim() }));
36
36
  }
37
- return (_jsx("code", { className: cn(className, "font-mono border border-border p-1 py-0.5 rounded bg-border/50 dark:bg-border/70 whitespace-nowrap"), children: children }));
37
+ return _jsx(InlineCode, { className: className, children: children });
38
38
  },
39
39
  };
40
40
  //# sourceMappingURL=MdxComponents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MdxComponents.js","sourceRoot":"","sources":["../../../src/lib/util/MdxComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MdxComponents.js","sourceRoot":"","sources":["../../../src/lib/util/MdxComponents.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAM3C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;QACb,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;YAClD,OAAO,gBAAO,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,QAAC,WAAW,QAAC,QAAQ,QAAC,IAAI,SAAG,CAAC;QACtE,CAAC;QACD,OAAO,iBAAS,KAAK,EAAE,SAAS,EAAC,YAAY,GAAG,CAAC;IACnD,CAAC;IACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,YACtB,QAAQ,GACD,CACX;IACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,YACtB,QAAQ,GACD,CACX;IACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,YACtB,QAAQ,GACD,CACX;IACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,YACtB,QAAQ,GACD,CACX;IACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,YACtB,QAAQ,GACD,CACX;IACD,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,YACtB,QAAQ,GACD,CACX;IACD,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CACxB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CACjC,KAAC,IAAI,IAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,KAAK,KAAK,GAAI,CAC9C,CAAC,CAAC,CAAC,CACF,YAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAC,QAAQ,KAAK,KAAK,EAAE,GAAG,EAAC,YAAY,GAAG,CAC9D;IACH,OAAO;IACP,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,KAAK,KAAK,KAAK,GAAI;IACjD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,KAAK,KAAK,GAAI;IACnD,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,KAAK,KAAK,GAAI;IACnD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,SAAS,KAAK,KAAK,GAAI;IACzD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,SAAS,KAAK,KAAK,GAAI;IACzD,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,KAAK,KAAK,GAAI;IAEvD,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,4BAAG,QAAQ,GAAI;IACtC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QAC1C,qFAAqF;QACrF,8DAA8D;QAC9D,MAAM,MAAM,GAAI,KAAa,CAAC,MAAM,CAAC;QAErC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAElD,OAAO,CACL,KAAC,eAAe,IACd,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,EAChC,SAAS,EAAC,oGAAoG,EAC9G,qBAAqB,QACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAC7B,CACH,CAAC;QACJ,CAAC;QAED,OAAO,KAAC,UAAU,IAAC,SAAS,EAAE,SAAS,YAAG,QAAQ,GAAc,CAAC;IACnE,CAAC;CAC0B,CAAC"}
@@ -1,6 +1 @@
1
- type MapValuesToKeysIfAllowed<T> = {
2
- [K in keyof T]: T[K] extends PropertyKey ? K : never;
3
- };
4
- type Filter<T> = MapValuesToKeysIfAllowed<T>[keyof T];
5
- export declare const groupBy: <T extends Record<PropertyKey, any>, Key extends Filter<T>>(arr: T[], key: Key) => Record<T[Key], T[]>;
6
- export {};
1
+ export declare const groupBy: <T extends Record<PropertyKey, any>, KeySelector extends (item: T) => PropertyKey>(arr: T[], keySelector: KeySelector) => Partial<Record<ReturnType<KeySelector>, T[]>>;
@@ -1,9 +1,11 @@
1
- export const groupBy = (arr, key) => arr.reduce((accumulator, val) => {
2
- const groupedKey = val[key];
3
- if (!accumulator[groupedKey]) {
4
- accumulator[groupedKey] = [];
5
- }
6
- accumulator[groupedKey].push(val);
7
- return accumulator;
8
- }, {});
1
+ export const groupBy = (arr, keySelector) => {
2
+ return arr.reduce((accumulator, val) => {
3
+ const groupedKey = keySelector(val);
4
+ if (!accumulator[groupedKey]) {
5
+ accumulator[groupedKey] = [];
6
+ }
7
+ accumulator[groupedKey].push(val);
8
+ return accumulator;
9
+ }, {});
10
+ };
9
11
  //# sourceMappingURL=groupBy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../../src/lib/util/groupBy.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,OAAO,GAAG,CAKrB,GAAQ,EACR,GAAQ,EACa,EAAE,CACvB,GAAG,CAAC,MAAM,CACR,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;IACnB,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,WAAW,CAAC;AACrB,CAAC,EACD,EAAyB,CAC1B,CAAC"}
1
+ {"version":3,"file":"groupBy.js","sourceRoot":"","sources":["../../../src/lib/util/groupBy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CAIrB,GAAQ,EACR,WAAwB,EACuB,EAAE;IACjD,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAA4B,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC/B,CAAC;QACD,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,WAAW,CAAC;IACrB,CAAC,EACD,EAA0C,CAC3C,CAAC;AACJ,CAAC,CAAC"}
@@ -1,24 +1,37 @@
1
- import { writeFile } from "fs/promises";
1
+ import { rm, writeFile } from "fs/promises";
2
2
  import { build as viteBuild } from "vite";
3
3
  import { getViteConfig } from "./config.js";
4
4
  import { getBuildHtml } from "./html.js";
5
+ import { prerender } from "./prerender.js";
5
6
  export async function runBuild(options) {
6
- const viteConfig = await getViteConfig(options.dir, {
7
- mode: "production",
8
- command: "build",
9
- });
10
- const result = await viteBuild(viteConfig);
11
- if (Array.isArray(result)) {
7
+ const [viteClientConfig, viteServerConfig] = await Promise.all([
8
+ getViteConfig(options.dir, {
9
+ mode: "production",
10
+ command: "build",
11
+ }),
12
+ getViteConfig(options.dir, {
13
+ mode: "production",
14
+ command: "build",
15
+ isSsrBuild: true,
16
+ }),
17
+ ]);
18
+ const [clientResult, serverResult] = await Promise.all([
19
+ viteBuild(viteClientConfig),
20
+ viteBuild(viteServerConfig),
21
+ ]);
22
+ if (Array.isArray(clientResult)) {
12
23
  throw new Error("Build failed");
13
24
  }
14
- if ("output" in result) {
15
- const jsEntry = result.output.find((o) => "isEntry" in o && o.isEntry)?.fileName;
16
- const cssEntry = result.output.find((o) => o.fileName.endsWith(".css"))?.fileName;
25
+ if ("output" in clientResult) {
26
+ const jsEntry = clientResult.output.find((o) => "isEntry" in o && o.isEntry)?.fileName;
27
+ const cssEntry = clientResult.output.find((o) => o.fileName.endsWith(".css"))?.fileName;
17
28
  const html = getBuildHtml({
18
29
  jsEntry: `/${jsEntry}`,
19
30
  cssEntry: `/${cssEntry}`,
20
31
  });
32
+ await prerender(html, options.dir);
21
33
  await writeFile(`${options.dir}/dist/index.html`, html, "utf-8");
34
+ await rm(`${options.dir}/dist/server`, { recursive: true, force: true });
22
35
  return;
23
36
  }
24
37
  throw new Error("Build failed");
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/vite/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;QAClD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CACnC,EAAE,QAAQ,CAAC;QACZ,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,EAAE,QAAQ,CAAC;QAEZ,MAAM,IAAI,GAAG,YAAY,CAAC;YACxB,OAAO,EAAE,IAAI,OAAO,EAAE;YACtB,QAAQ,EAAE,IAAI,QAAQ,EAAE;SACzB,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/vite/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACrD,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7D,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;SACjB,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE;YACzB,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,IAAI;SACjB,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,SAAS,CAAC,gBAAgB,CAAC;QAC3B,SAAS,CAAC,gBAAgB,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CACnC,EAAE,QAAQ,CAAC;QACZ,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC5B,EAAE,QAAQ,CAAC;QAEZ,MAAM,IAAI,GAAG,YAAY,CAAC;YACxB,OAAO,EAAE,IAAI,OAAO,EAAE;YACtB,QAAQ,EAAE,IAAI,QAAQ,EAAE;SACzB,CAAC,CAAC;QAEH,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC"}
@@ -9,8 +9,8 @@ export type ZudokuConfigEnv = ConfigEnv & {
9
9
  mode: "development" | "production";
10
10
  };
11
11
  export declare function loadZuploConfig(rootDir: string, configEnv: ZudokuConfigEnv): Promise<ZudokuConfig>;
12
- export declare function getModuleDir(): string;
13
- export declare function getAppMainTsxPath(): string;
12
+ export declare function getAppClientEntryPath(): string;
13
+ export declare function getAppServerEntryPath(): string;
14
14
  export declare function getPluginOptions({ dir, mode, }: {
15
15
  dir: string;
16
16
  mode: ZudokuPluginOptions["mode"];
@@ -1,3 +1,4 @@
1
+ import { vitePluginSsrCss } from "@hiogawa/vite-plugin-ssr-css";
1
2
  import autoprefixer from "autoprefixer";
2
3
  import { stat } from "node:fs/promises";
3
4
  import path from "node:path";
@@ -63,7 +64,7 @@ export async function loadZuploConfig(rootDir, configEnv) {
63
64
  });
64
65
  process.exit(1);
65
66
  }
66
- export function getModuleDir() {
67
+ function getModuleDir() {
67
68
  // NOTE: This is relative to the /dist folder because the dev server
68
69
  // runs the compiled JS files, but vite uses the raw TS files
69
70
  const moduleDir = new URL("../../", import.meta.url).pathname;
@@ -74,9 +75,13 @@ export function getModuleDir() {
74
75
  return moduleDir;
75
76
  }
76
77
  }
77
- export function getAppMainTsxPath() {
78
+ export function getAppClientEntryPath() {
78
79
  const modDir = getModuleDir();
79
- return path.join(modDir, "src", "app", "main.tsx");
80
+ return path.join(modDir, "src", "app", "entry.client.tsx");
81
+ }
82
+ export function getAppServerEntryPath() {
83
+ const modDir = getModuleDir();
84
+ return path.join(modDir, "src", "app", "entry.server.tsx");
80
85
  }
81
86
  export function getPluginOptions({ dir, mode, }) {
82
87
  const moduleDir = getModuleDir();
@@ -110,6 +115,10 @@ export async function getViteConfig(dir, configEnv) {
110
115
  worker: {
111
116
  format: "es",
112
117
  },
118
+ ssr: {
119
+ target: "node",
120
+ noExternal: ["react-helmet-async"],
121
+ },
113
122
  server: {
114
123
  middlewareMode: true,
115
124
  open: true,
@@ -127,32 +136,51 @@ export async function getViteConfig(dir, configEnv) {
127
136
  },
128
137
  },
129
138
  build: {
139
+ ssr: configEnv.isSsrBuild,
130
140
  sourcemap: true,
131
- outDir: path.resolve(dir, "dist"),
141
+ outDir: path.resolve(path.join(dir, "dist", configEnv.isSsrBuild ? "server" : "")),
132
142
  rollupOptions: {
133
143
  ...config.build?.rollupOptions,
134
- input: configEnv.command === "build" ? "zudoku/app/main.tsx" : undefined,
144
+ input: configEnv.command === "build"
145
+ ? configEnv.isSsrBuild
146
+ ? ["zudoku/app/entry.server.tsx", "zudoku/app/zudoku-manifest.ts"]
147
+ : "zudoku/app/entry.client.tsx"
148
+ : undefined,
135
149
  },
136
150
  },
137
151
  optimizeDeps: {
138
- entries: [getAppMainTsxPath()],
152
+ entries: [
153
+ configEnv.isSsrBuild
154
+ ? getAppServerEntryPath()
155
+ : getAppClientEntryPath(),
156
+ ],
139
157
  exclude: [
140
158
  // Vite does not like optimizing the worker dependency
141
159
  "zudoku/openapi-worker",
142
160
  "virtual:zudoku-openapi-worker",
143
161
  ],
144
162
  },
145
- plugins: [vitePlugin(pluginOptions)],
163
+ plugins: [
164
+ vitePluginSsrCss({
165
+ entries: [`${pluginOptions.moduleDir}/src/app/entry.client.tsx`],
166
+ }),
167
+ vitePlugin(pluginOptions),
168
+ ],
146
169
  css: {
147
170
  postcss: {
148
171
  plugins: [
149
172
  tailwindcss({
150
173
  ...tailwindConfig,
151
174
  content: [
152
- `${pluginOptions.moduleDir}/src/**/*.{js,ts,jsx,tsx,md,mdx}`,
175
+ // Zudoku components and styles
153
176
  // Tailwind seems to crash if it tries to parse compiled .js files
154
177
  // as a workaround, we will just ship the source file and use those
155
178
  // `${moduleDir}/lib/**/*.{js,ts,jsx,tsx,md,mdx}`,
179
+ `${pluginOptions.moduleDir}/src/lib/**/*.{js,ts,jsx,tsx,md,mdx}`,
180
+ // Users custom components
181
+ // NOTE: For now we are requiring components to be in `src` folder
182
+ // would be good to make this more dynamic though because users
183
+ // could put their components anywhere
156
184
  `${dir}/src/**/*.{js,ts,jsx,tsx,md,mdx}`,
157
185
  ],
158
186
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/vite/config.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  export declare class DevServer {
2
2
  private options;
3
3
  private server;
4
- private viteServer;
5
4
  constructor(options: {
6
5
  port: number;
7
6
  dir: string;
7
+ ssr?: boolean;
8
8
  });
9
9
  watch(): Promise<void>;
10
10
  start(): Promise<void>;
@@ -5,12 +5,11 @@ import { createServer as createViteServer } from "vite";
5
5
  import { logger } from "../cli/common/logger.js";
6
6
  import { printDiagnosticsToConsole } from "../cli/common/output.js";
7
7
  import { createGraphQLServer } from "../lib/oas/graphql/index.js";
8
- import { getAppMainTsxPath, getViteConfig, zuploConfigFiles, } from "./config.js";
8
+ import { getAppClientEntryPath, getAppServerEntryPath, getViteConfig, zuploConfigFiles, } from "./config.js";
9
9
  import { getDevHtml } from "./html.js";
10
10
  export class DevServer {
11
11
  options;
12
12
  server;
13
- viteServer;
14
13
  constructor(options) {
15
14
  this.options = options;
16
15
  }
@@ -32,22 +31,29 @@ export class DevServer {
32
31
  mode: "development",
33
32
  command: "serve",
34
33
  });
35
- this.viteServer = await createViteServer(viteConfig);
34
+ const vite = await createViteServer(viteConfig);
36
35
  const graphql = createGraphQLServer({
37
36
  graphqlEndpoint: "/__z/graphql",
38
37
  });
39
38
  app.use(graphql.graphqlEndpoint, graphql);
40
- app.use(this.viteServer.middlewares);
39
+ app.use(vite.middlewares);
40
+ printDiagnosticsToConsole(`Server-side rendering ${this.options.ssr ? "enabled" : "disabled"}`);
41
41
  app.use("*", async (req, res) => {
42
+ const url = req.originalUrl;
42
43
  try {
43
- const entryJs = getAppMainTsxPath();
44
+ const entryJs = getAppClientEntryPath();
44
45
  const rawHtml = getDevHtml(entryJs);
45
- const indexHtml = await this.viteServer.transformIndexHtml(req.url, rawHtml);
46
- // Send the transformed index.html back to the client
47
- res.status(200).set({ "Content-Type": "text/html" }).end(indexHtml);
46
+ const template = await vite.transformIndexHtml(url, rawHtml);
47
+ if (this.options.ssr) {
48
+ const { render } = await vite.ssrLoadModule(getAppServerEntryPath());
49
+ render({ template, expressRequest: req, response: res });
50
+ }
51
+ else {
52
+ res.status(200).set({ "Content-Type": "text/html" }).end(template);
53
+ }
48
54
  }
49
55
  catch (e) {
50
- this.viteServer.ssrFixStacktrace(e);
56
+ vite.ssrFixStacktrace(e);
51
57
  logger.error(e);
52
58
  res.status(500).end(e.message);
53
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/vite/dev-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../../src/vite/dev-server.ts"],"names":[],"mappings":"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"}
package/dist/vite/html.js CHANGED
@@ -1,12 +1,13 @@
1
1
  export function getDevHtml(jsEntry) {
2
2
  return `<!doctype html>
3
- <html lang="en" class="dark">
3
+ <html lang="en">
4
4
  <head>
5
5
  <meta charset="UTF-8" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <!--app-helmet-->
7
8
  </head>
8
9
  <body>
9
- <div id="root"></div>
10
+ <div id="root"><!--app-html--></div>
10
11
  <script type="module" src="${jsEntry}"></script>
11
12
  </body>
12
13
  </html>
@@ -18,12 +19,12 @@ export function getBuildHtml({ jsEntry, cssEntry, }) {
18
19
  <head>
19
20
  <meta charset="UTF-8" />
20
21
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
21
- <title>Vite + React + TS</title>
22
22
  <script type="module" crossorigin src="${jsEntry}"></script>
23
23
  <link rel="stylesheet" crossorigin href="${cssEntry}">
24
+ <!--app-helmet-->
24
25
  </head>
25
26
  <body>
26
- <div id="root"></div>
27
+ <div id="root"><!--app-html--></div>
27
28
  </body>
28
29
  </html>`;
29
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/vite/html.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO;;;;;;;;iCAQwB,OAAO;;;CAGvC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,GAIT;IACC,OAAO;;;;;;6CAMoC,OAAO;+CACL,QAAQ;;;;;QAK/C,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/vite/html.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO;;;;;;;;;iCASwB,OAAO;;;CAGvC,CAAC;AACF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,QAAQ,GAIT;IACC,OAAO;;;;;6CAKoC,OAAO;+CACL,QAAQ;;;;;;QAM/C,CAAC;AACT,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Plugin } from "vite";
2
+ import { ZudokuPluginOptions } from "../config/config.js";
3
+ declare const THEME_VARIABLES: readonly ["background", "foreground", "card", "cardForeground", "popover", "popoverForeground", "primary", "primaryForeground", "secondary", "secondaryForeground", "muted", "mutedForeground", "accent", "accentForeground", "destructive", "destructiveForeground", "border", "input", "ring", "radius"];
4
+ export type Theme = Partial<Record<(typeof THEME_VARIABLES)[number], string>>;
5
+ declare const viteCustomCss: (config: ZudokuPluginOptions) => Plugin;
6
+ export default viteCustomCss;
@@ -0,0 +1,55 @@
1
+ import { objectEntries } from "../lib/util/objectEntries.js";
2
+ const THEME_VARIABLES = [
3
+ "background",
4
+ "foreground",
5
+ "card",
6
+ "cardForeground",
7
+ "popover",
8
+ "popoverForeground",
9
+ "primary",
10
+ "primaryForeground",
11
+ "secondary",
12
+ "secondaryForeground",
13
+ "muted",
14
+ "mutedForeground",
15
+ "accent",
16
+ "accentForeground",
17
+ "destructive",
18
+ "destructiveForeground",
19
+ "border",
20
+ "input",
21
+ "ring",
22
+ "radius",
23
+ ];
24
+ const uncamelize = (str) => str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
25
+ const generateCss = (theme) => objectEntries(theme)
26
+ .filter(([key]) => THEME_VARIABLES.includes(key))
27
+ .map(([key, value]) => `--${uncamelize(key)}:${value};`)
28
+ .join("\n");
29
+ const viteCustomCss = (config) => {
30
+ const virtualModuleId = "virtual:vite-zudoku-custom-css.css";
31
+ const resolvedVirtualModuleId = "\0" + virtualModuleId;
32
+ return {
33
+ name: "vite-zudoku-custom-css",
34
+ enforce: "post",
35
+ resolveId(id) {
36
+ if (id === virtualModuleId) {
37
+ return resolvedVirtualModuleId;
38
+ }
39
+ },
40
+ load(id) {
41
+ if (id !== resolvedVirtualModuleId)
42
+ return;
43
+ const cssParts = [];
44
+ if (config.theme?.light) {
45
+ cssParts.push(`:root:root { ${generateCss(config.theme.light)} }`);
46
+ }
47
+ if (config.theme?.dark) {
48
+ cssParts.push(`.dark.dark { ${generateCss(config.theme.dark)} }`);
49
+ }
50
+ return cssParts.join("\n");
51
+ },
52
+ };
53
+ };
54
+ export default viteCustomCss;
55
+ //# sourceMappingURL=plugin-custom-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-custom-css.js","sourceRoot":"","sources":["../../src/vite/plugin-custom-css.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,YAAY;IACZ,MAAM;IACN,gBAAgB;IAChB,SAAS;IACT,mBAAmB;IACnB,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,qBAAqB;IACrB,OAAO;IACP,iBAAiB;IACjB,QAAQ;IACR,kBAAkB;IAClB,aAAa;IACb,uBAAuB;IACvB,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;CACA,CAAC;AAEX,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAIhE,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,EAAE,CACnC,aAAa,CAAC,KAAK,CAAC;KACjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KAChD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;KACvD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAU,EAAE;IAC5D,MAAM,eAAe,GAAG,oCAAoC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,MAAM;QACf,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;gBAAE,OAAO;YAE3C,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,3 +1,10 @@
1
+ function getDefaultConfigIfFilesExist() {
2
+ const defaultDocs = import.meta.glob("/pages/**/*.mdx");
3
+ if (Object.keys(defaultDocs).length) {
4
+ return [{ files: "/pages/**/*.mdx" }];
5
+ }
6
+ return [];
7
+ }
1
8
  const viteDocsPlugin = (config) => {
2
9
  const virtualModuleId = "virtual:zudoku-docs-plugins";
3
10
  const resolvedVirtualModuleId = "\0" + virtualModuleId;
@@ -10,8 +17,8 @@ const viteDocsPlugin = (config) => {
10
17
  },
11
18
  load(id) {
12
19
  if (id === resolvedVirtualModuleId) {
13
- if (!config.docs || config.mode === "standalone") {
14
- return `export const configuredDocsPlugins = undefined;`;
20
+ if (config.mode === "standalone") {
21
+ return `export const configuredDocsPlugins = [];`;
15
22
  }
16
23
  const code = [
17
24
  // IMPORTANT! This path here is important, we MUST resolve
@@ -21,9 +28,11 @@ const viteDocsPlugin = (config) => {
21
28
  : `import { markdownPlugin } from "zudoku/plugins/markdown";`,
22
29
  `const configuredDocsPlugins = [];`,
23
30
  ];
24
- const docsConfigs = Array.isArray(config.docs)
25
- ? config.docs
26
- : [config.docs];
31
+ const docsConfigs = config.docs
32
+ ? Array.isArray(config.docs)
33
+ ? config.docs
34
+ : [config.docs]
35
+ : getDefaultConfigIfFilesExist();
27
36
  docsConfigs.forEach((docsConfig) => {
28
37
  code.push(...[
29
38
  `// @ts-ignore`, // To make tests pass