eddev 2.0.0-beta.17 → 2.0.0-beta.170

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 (453) hide show
  1. package/css/editor-styles.css +4 -0
  2. package/dist/app/entry/HydrationOverlay.d.ts +2 -0
  3. package/dist/app/entry/HydrationOverlay.d.ts.map +1 -0
  4. package/dist/app/entry/HydrationOverlay.js +2 -0
  5. package/dist/app/entry/MetaTags.d.ts +8 -0
  6. package/dist/app/entry/MetaTags.d.ts.map +1 -0
  7. package/dist/app/entry/MetaTags.js +30 -0
  8. package/dist/app/entry/boot-admin.d.ts +1 -0
  9. package/dist/app/entry/boot-admin.d.ts.map +1 -0
  10. package/dist/app/entry/boot-admin.js +7 -3
  11. package/dist/app/entry/hydration-script.d.ts +2 -0
  12. package/dist/app/entry/hydration-script.d.ts.map +1 -0
  13. package/dist/app/entry/hydration-script.js +18 -0
  14. package/dist/app/entry/spa-root.d.ts +1 -0
  15. package/dist/app/entry/spa-root.d.ts.map +1 -0
  16. package/dist/app/entry/spa-root.js +3 -5
  17. package/dist/app/entry/ssr-root-client.d.ts +4 -1
  18. package/dist/app/entry/ssr-root-client.d.ts.map +1 -0
  19. package/dist/app/entry/ssr-root-client.js +18 -6
  20. package/dist/app/entry/ssr-root.d.ts +5 -4
  21. package/dist/app/entry/ssr-root.d.ts.map +1 -0
  22. package/dist/app/entry/ssr-root.js +20 -19
  23. package/dist/app/lib/admin/defineField.d.ts +1 -0
  24. package/dist/app/lib/admin/defineField.d.ts.map +1 -0
  25. package/dist/app/lib/admin/defineWidget.d.ts +1 -0
  26. package/dist/app/lib/admin/defineWidget.d.ts.map +1 -0
  27. package/dist/app/lib/admin/index.d.ts +1 -0
  28. package/dist/app/lib/admin/index.d.ts.map +1 -0
  29. package/dist/app/lib/admin/installFieldTypes.d.ts +1 -0
  30. package/dist/app/lib/admin/installFieldTypes.d.ts.map +1 -0
  31. package/dist/app/lib/admin/installFieldTypes.js +2 -0
  32. package/dist/app/lib/admin/runWidgets.d.ts +1 -0
  33. package/dist/app/lib/admin/runWidgets.d.ts.map +1 -0
  34. package/dist/app/lib/admin/runWidgets.js +7 -2
  35. package/dist/app/lib/blocks/ContentBlocks.d.ts +7 -4
  36. package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -0
  37. package/dist/app/lib/blocks/ContentBlocks.js +7 -2
  38. package/dist/app/lib/blocks/EditableText.d.ts +30 -5
  39. package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
  40. package/dist/app/lib/blocks/EditableText.js +34 -5
  41. package/dist/app/lib/blocks/InnerBlocks.d.ts +21 -6
  42. package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
  43. package/dist/app/lib/blocks/InnerBlocks.js +73 -25
  44. package/dist/app/lib/blocks/SlotBlocks.d.ts +8 -0
  45. package/dist/app/lib/blocks/SlotBlocks.d.ts.map +1 -0
  46. package/dist/app/lib/blocks/SlotBlocks.js +40 -0
  47. package/dist/app/lib/blocks/block-utils.d.ts +2 -1
  48. package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
  49. package/dist/app/lib/blocks/block-utils.js +1 -1
  50. package/dist/app/lib/blocks/builtin-blocks.d.ts +2 -0
  51. package/dist/app/lib/blocks/builtin-blocks.d.ts.map +1 -0
  52. package/dist/app/lib/blocks/builtin-blocks.js +34 -0
  53. package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
  54. package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
  55. package/dist/app/lib/blocks/defineBlock.js +9 -0
  56. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +8 -0
  57. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
  58. package/dist/app/lib/blocks/editor/EditorHighlights.js +164 -0
  59. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -0
  60. package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
  61. package/dist/app/lib/blocks/editor/EditorSupport.js +17 -10
  62. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +2 -1
  63. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
  64. package/dist/app/lib/blocks/editor/block-templates.d.ts +8 -1
  65. package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
  66. package/dist/app/lib/blocks/editor/block-templates.js +71 -2
  67. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
  68. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
  69. package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
  70. package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
  71. package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
  72. package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
  73. package/dist/app/lib/blocks/editor/create-block.js +13 -0
  74. package/dist/app/lib/blocks/editor/editor-config.d.ts +77 -8
  75. package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
  76. package/dist/app/lib/blocks/editor/editor-config.js +29 -62
  77. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
  78. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
  79. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +111 -20
  80. package/dist/app/lib/blocks/editor/root-blocks.d.ts +7 -0
  81. package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
  82. package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
  83. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
  84. package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
  85. package/dist/app/lib/blocks/editor/usePostEditor.js +28 -13
  86. package/dist/app/lib/blocks/index.d.ts +8 -5
  87. package/dist/app/lib/blocks/index.d.ts.map +1 -0
  88. package/dist/app/lib/blocks/index.js +7 -5
  89. package/dist/app/lib/blocks/inline-editing.d.ts +10 -0
  90. package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
  91. package/dist/app/lib/blocks/inline-editing.js +12 -2
  92. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
  93. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
  94. package/dist/app/lib/devtools/components/BreakpointIndicator.js +2 -2
  95. package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
  96. package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
  97. package/dist/app/lib/devtools/components/DevUI.js +3 -2
  98. package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
  99. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
  100. package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
  101. package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
  102. package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
  103. package/dist/app/lib/devtools/hooks/usePersistState.d.ts +2 -1
  104. package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
  105. package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
  106. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1380 -335
  107. package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
  108. package/dist/app/lib/devtools/index.d.ts +1 -0
  109. package/dist/app/lib/devtools/index.d.ts.map +1 -0
  110. package/dist/app/lib/devtools/loader.d.ts +1 -0
  111. package/dist/app/lib/devtools/loader.d.ts.map +1 -0
  112. package/dist/app/lib/devtools/loader.js +6 -5
  113. package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
  114. package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
  115. package/dist/app/lib/devtools/useQueryDebug.d.ts +8 -1
  116. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
  117. package/dist/app/lib/devtools/useQueryDebug.js +5 -8
  118. package/dist/app/lib/dynamic/dynamic.d.ts +2 -1
  119. package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
  120. package/dist/app/lib/dynamic/dynamic.js +5 -1
  121. package/dist/app/lib/dynamic/index.d.ts +1 -0
  122. package/dist/app/lib/dynamic/index.d.ts.map +1 -0
  123. package/dist/app/lib/hooks/index.d.ts +3 -3
  124. package/dist/app/lib/hooks/index.d.ts.map +1 -0
  125. package/dist/app/lib/hooks/index.js +2 -3
  126. package/dist/app/lib/hooks/{queryUtils.d.ts → query-hooks.d.ts} +38 -3
  127. package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -0
  128. package/dist/app/lib/hooks/{queryUtils.js → query-hooks.js} +82 -28
  129. package/dist/app/lib/hooks/useAppData.d.ts +1 -0
  130. package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
  131. package/dist/app/lib/hooks/useAppData.js +11 -0
  132. package/dist/app/lib/hooks/useRPC.d.ts +1 -4
  133. package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
  134. package/dist/app/lib/hooks/useRPC.js +0 -8
  135. package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
  136. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
  137. package/dist/app/lib/integrations/gravityforms/index.js +2 -0
  138. package/dist/app/lib/integrations/gravityforms/types.d.ts +141 -0
  139. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
  140. package/dist/app/lib/integrations/gravityforms/types.js +1 -0
  141. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
  142. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
  143. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +285 -0
  144. package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
  145. package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
  146. package/dist/app/lib/internal/finalize-rpc.js +3 -0
  147. package/dist/app/lib/internal/index.d.ts +2 -0
  148. package/dist/app/lib/internal/index.d.ts.map +1 -0
  149. package/dist/app/lib/internal/index.js +1 -0
  150. package/dist/app/lib/internal/internal-store.d.ts +1 -0
  151. package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
  152. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
  153. package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
  154. package/dist/app/lib/internal/read-block-manifest.d.ts +1 -0
  155. package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
  156. package/dist/app/lib/internal/read-view-manifest.d.ts +1 -0
  157. package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
  158. package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
  159. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  160. package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
  161. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  162. package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
  163. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  164. package/dist/app/lib/routing/components/BackButton.js +47 -0
  165. package/dist/app/lib/routing/components/BrowserRouter.d.ts +6 -1
  166. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
  167. package/dist/app/lib/routing/components/BrowserRouter.js +120 -18
  168. package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
  169. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  170. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  171. package/dist/app/lib/routing/components/Link.d.ts +19 -2
  172. package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
  173. package/dist/app/lib/routing/components/Link.js +43 -23
  174. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +10 -0
  175. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -0
  176. package/dist/app/lib/routing/components/NativeLinkHandler.js +23 -0
  177. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
  178. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  179. package/dist/app/lib/routing/components/RouteRenderer.js +4 -3
  180. package/dist/app/lib/routing/components/SSRRouter.d.ts +2 -0
  181. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  182. package/dist/app/lib/routing/components/SSRRouter.js +2 -2
  183. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
  184. package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
  185. package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
  186. package/dist/app/lib/routing/context.d.ts +9 -5
  187. package/dist/app/lib/routing/context.d.ts.map +1 -0
  188. package/dist/app/lib/routing/context.js +12 -95
  189. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
  190. package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
  191. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
  192. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  193. package/dist/app/lib/routing/hooks/useRoute.d.ts +16 -0
  194. package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
  195. package/dist/app/lib/routing/hooks/useRoute.js +21 -0
  196. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
  197. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
  198. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  199. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
  200. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  201. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
  202. package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
  203. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
  204. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
  205. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
  206. package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
  207. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +78 -6
  208. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  209. package/dist/app/lib/routing/hooks/useSearchParams.js +70 -11
  210. package/dist/app/lib/routing/index.d.ts +3 -0
  211. package/dist/app/lib/routing/index.d.ts.map +1 -0
  212. package/dist/app/lib/routing/index.js +2 -0
  213. package/dist/app/lib/routing/loader.d.ts +1 -0
  214. package/dist/app/lib/routing/loader.d.ts.map +1 -0
  215. package/dist/app/lib/routing/loader.js +19 -10
  216. package/dist/app/lib/routing/types.d.ts +54 -12
  217. package/dist/app/lib/routing/types.d.ts.map +1 -0
  218. package/dist/app/lib/routing/utils.d.ts +7 -2
  219. package/dist/app/lib/routing/utils.d.ts.map +1 -0
  220. package/dist/app/lib/routing/utils.js +38 -4
  221. package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +11 -2
  222. package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
  223. package/dist/app/lib/runtime/apiConfig.js +6 -0
  224. package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
  225. package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
  226. package/dist/app/lib/runtime/errorHandling.js +6 -0
  227. package/dist/app/lib/runtime/index.d.ts +3 -0
  228. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  229. package/dist/app/lib/runtime/index.js +2 -0
  230. package/dist/app/lib/views/defineView.d.ts +2 -1
  231. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  232. package/dist/app/lib/views/index.d.ts +1 -0
  233. package/dist/app/lib/views/index.d.ts.map +1 -0
  234. package/dist/app/server/index.d.ts +2 -0
  235. package/dist/app/server/index.d.ts.map +1 -0
  236. package/dist/app/server/index.js +1 -0
  237. package/dist/app/server/proxy-wp-admin.d.ts +2 -2
  238. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  239. package/dist/app/server/proxy-wp-admin.js +46 -13
  240. package/dist/app/server/render-ssr-page.d.ts +31 -3
  241. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  242. package/dist/app/server/render-ssr-page.js +227 -11
  243. package/dist/app/server/rpc.d.ts +49 -0
  244. package/dist/app/server/rpc.d.ts.map +1 -0
  245. package/dist/app/server/rpc.js +18 -0
  246. package/dist/app/server/server-context.d.ts +44 -6
  247. package/dist/app/server/server-context.d.ts.map +1 -0
  248. package/dist/app/server/server-context.js +331 -27
  249. package/dist/app/server/server-custom-config.d.ts +3 -0
  250. package/dist/app/server/server-custom-config.d.ts.map +1 -0
  251. package/dist/app/server/server-custom-config.js +1 -0
  252. package/dist/app/server/utils/content-security.d.ts +26 -0
  253. package/dist/app/server/utils/content-security.d.ts.map +1 -0
  254. package/dist/app/server/utils/content-security.js +124 -0
  255. package/dist/app/server/utils/headers.d.ts +1 -0
  256. package/dist/app/server/utils/headers.d.ts.map +1 -0
  257. package/dist/app/server/utils/replace-host.d.ts +2 -1
  258. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  259. package/dist/app/server/utils/replace-host.js +10 -2
  260. package/dist/app/server/utils/swr-cache.d.ts +5 -0
  261. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  262. package/dist/app/server/utils/swr-cache.js +31 -0
  263. package/dist/app/utils/APIProvider.d.ts +3 -0
  264. package/dist/app/utils/APIProvider.d.ts.map +1 -0
  265. package/dist/app/utils/APIProvider.js +5 -0
  266. package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
  267. package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
  268. package/dist/app/utils/BlockErrorBoundary.js +38 -0
  269. package/dist/app/utils/ErrorMessage.d.ts +6 -0
  270. package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
  271. package/dist/app/utils/ErrorMessage.js +14 -0
  272. package/dist/app/utils/RouteErrorBoundary.d.ts +19 -0
  273. package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
  274. package/dist/app/utils/RouteErrorBoundary.js +38 -0
  275. package/dist/app/utils/asset-capture.d.ts +3 -0
  276. package/dist/app/utils/asset-capture.d.ts.map +1 -0
  277. package/dist/app/utils/asset-capture.js +5 -0
  278. package/dist/app/utils/hydration-debugger.d.ts +14 -0
  279. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  280. package/dist/app/utils/hydration-debugger.js +11 -0
  281. package/dist/app/utils/query-client.d.ts +3 -0
  282. package/dist/app/utils/query-client.d.ts.map +1 -0
  283. package/dist/app/utils/query-client.js +5 -1
  284. package/dist/app/utils/query-monitor.d.ts +27 -0
  285. package/dist/app/utils/query-monitor.d.ts.map +1 -0
  286. package/dist/app/utils/query-monitor.js +7 -0
  287. package/dist/app/utils/trpc-client.d.ts +3 -0
  288. package/dist/app/utils/trpc-client.d.ts.map +1 -0
  289. package/dist/app/utils/trpc-client.js +39 -0
  290. package/dist/app/utils/wp.d.ts +11 -10
  291. package/dist/app/utils/wp.d.ts.map +1 -0
  292. package/dist/node/cli/cli-mode.d.ts +1 -0
  293. package/dist/node/cli/cli-mode.d.ts.map +1 -0
  294. package/dist/node/cli/cli-worker.d.ts +1 -0
  295. package/dist/node/cli/cli-worker.d.ts.map +1 -0
  296. package/dist/node/cli/cli-worker.js +11 -5
  297. package/dist/node/cli/cli.d.ts +1 -0
  298. package/dist/node/cli/cli.d.ts.map +1 -0
  299. package/dist/node/cli/cli.js +164 -11
  300. package/dist/node/cli/display/CLIApp.d.ts +1 -0
  301. package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
  302. package/dist/node/cli/display/CLIApp.js +1 -1
  303. package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
  304. package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
  305. package/dist/node/cli/display/boot-cli-app.js +1 -1
  306. package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
  307. package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
  308. package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
  309. package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
  310. package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
  311. package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
  312. package/dist/node/cli/display/components/TextInput.d.ts +1 -0
  313. package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
  314. package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
  315. package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
  316. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
  317. package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
  318. package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
  319. package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
  320. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
  321. package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
  322. package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
  323. package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
  324. package/dist/node/cli/display/tools/cli-tools.d.ts +1 -0
  325. package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
  326. package/dist/node/cli/display/util/colors.d.ts +1 -0
  327. package/dist/node/cli/display/util/colors.d.ts.map +1 -0
  328. package/dist/node/cli/version.d.ts +2 -1
  329. package/dist/node/cli/version.d.ts.map +1 -0
  330. package/dist/node/cli/version.js +1 -1
  331. package/dist/node/compiler/build-vinxi.d.ts +1 -0
  332. package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
  333. package/dist/node/compiler/build-vinxi.js +2 -1
  334. package/dist/node/compiler/bundler.admin.d.ts +2 -1
  335. package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
  336. package/dist/node/compiler/bundler.admin.js +1 -1
  337. package/dist/node/compiler/bundler.frontend.d.ts +2 -0
  338. package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
  339. package/dist/node/compiler/bundler.frontend.js +26 -12
  340. package/dist/node/compiler/dev-server.d.ts +1 -0
  341. package/dist/node/compiler/dev-server.d.ts.map +1 -0
  342. package/dist/node/compiler/dev-server.js +17 -1
  343. package/dist/node/compiler/get-vite-config.d.ts +12 -1
  344. package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
  345. package/dist/node/compiler/get-vite-config.js +173 -42
  346. package/dist/node/compiler/vinxi-app.d.ts +13 -0
  347. package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
  348. package/dist/node/compiler/vinxi-app.js +140 -32
  349. package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
  350. package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
  351. package/dist/node/compiler/vinxi-codegen.js +370 -107
  352. package/dist/node/graphql/graphql-codegen.d.ts +12 -1
  353. package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
  354. package/dist/node/graphql/graphql-codegen.js +239 -37
  355. package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
  356. package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
  357. package/dist/node/graphql/graphql-schema-loader.js +5 -16
  358. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +3 -1
  359. package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
  360. package/dist/node/graphql/plugins/gql-plugin-files.js +3 -2
  361. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
  362. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
  363. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
  364. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
  365. package/dist/node/graphql/plugins/gql-plugin-queries.js +2 -2
  366. package/dist/node/graphql/query-files-loader.d.ts +4 -0
  367. package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
  368. package/dist/node/graphql/query-files-loader.js +5 -0
  369. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  370. package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
  371. package/dist/node/project/config.d.ts +207 -73
  372. package/dist/node/project/config.d.ts.map +1 -0
  373. package/dist/node/project/config.js +94 -20
  374. package/dist/node/project/eddev-build-file.d.ts +1 -0
  375. package/dist/node/project/eddev-build-file.d.ts.map +1 -0
  376. package/dist/node/project/eddev-build-file.js +4 -2
  377. package/dist/node/project/env.d.ts +5 -0
  378. package/dist/node/project/env.d.ts.map +1 -0
  379. package/dist/node/project/env.js +1 -0
  380. package/dist/node/project/favicons.d.ts +1 -1
  381. package/dist/node/project/favicons.d.ts.map +1 -0
  382. package/dist/node/project/favicons.js +1 -1
  383. package/dist/node/project/manifest/block-manifest.d.ts +1 -0
  384. package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
  385. package/dist/node/project/manifest/block-manifest.js +6 -2
  386. package/dist/node/project/manifest/field-manifest.d.ts +1 -0
  387. package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
  388. package/dist/node/project/manifest/manifest.d.ts +2 -0
  389. package/dist/node/project/manifest/manifest.d.ts.map +1 -0
  390. package/dist/node/project/manifest/manifest.js +14 -10
  391. package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
  392. package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
  393. package/dist/node/project/manifest/routes-manifest.js +74 -0
  394. package/dist/node/project/manifest/view-manifest.d.ts +1 -0
  395. package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
  396. package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
  397. package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
  398. package/dist/node/project/project.d.ts +12 -0
  399. package/dist/node/project/project.d.ts.map +1 -0
  400. package/dist/node/project/project.js +57 -3
  401. package/dist/node/project/wp-info.d.ts +3 -0
  402. package/dist/node/project/wp-info.d.ts.map +1 -0
  403. package/dist/node/project/wp-info.js +13 -1
  404. package/dist/node/storybook/index.d.ts +3 -0
  405. package/dist/node/storybook/index.d.ts.map +1 -0
  406. package/dist/node/storybook/index.js +13 -0
  407. package/dist/node/types/block-type.d.ts +57 -25
  408. package/dist/node/types/block-type.d.ts.map +1 -0
  409. package/dist/node/types/block-type.js +4 -1
  410. package/dist/node/types/view-type.d.ts +8 -7
  411. package/dist/node/types/view-type.d.ts.map +1 -0
  412. package/dist/node/utils/fetch-wp.d.ts +2 -0
  413. package/dist/node/utils/fetch-wp.d.ts.map +1 -0
  414. package/dist/node/utils/fetch-wp.js +27 -0
  415. package/dist/node/utils/format-zod-error.d.ts +1 -0
  416. package/dist/node/utils/format-zod-error.d.ts.map +1 -0
  417. package/dist/node/utils/fs-codegen.d.ts +4 -0
  418. package/dist/node/utils/fs-codegen.d.ts.map +1 -0
  419. package/dist/node/utils/fs-codegen.js +10 -2
  420. package/dist/node/utils/fs.d.ts +6 -1
  421. package/dist/node/utils/fs.d.ts.map +1 -0
  422. package/dist/node/utils/get-repo-info.d.ts +1 -0
  423. package/dist/node/utils/get-repo-info.d.ts.map +1 -0
  424. package/dist/node/utils/helpers.d.ts +1 -0
  425. package/dist/node/utils/helpers.d.ts.map +1 -0
  426. package/dist/node/utils/highlight-code.d.ts +1 -0
  427. package/dist/node/utils/highlight-code.d.ts.map +1 -0
  428. package/dist/node/utils/is-deploying.d.ts +1 -0
  429. package/dist/node/utils/is-deploying.d.ts.map +1 -0
  430. package/dist/node/utils/is-deploying.js +1 -1
  431. package/dist/node/utils/report-builder.d.ts +7 -6
  432. package/dist/node/utils/report-builder.d.ts.map +1 -0
  433. package/dist/node/utils/self-signed-cert.d.ts +5 -0
  434. package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
  435. package/dist/node/utils/self-signed-cert.js +28 -4
  436. package/dist/node/utils/stateful-log.d.ts +1 -0
  437. package/dist/node/utils/stateful-log.d.ts.map +1 -0
  438. package/dist/node/utils/stateful-log.js +2 -0
  439. package/dist/node/utils/ts-export-extractor.d.ts +1 -0
  440. package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
  441. package/dist/node/utils/watch-file-tree.d.ts +18 -3
  442. package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
  443. package/dist/node/utils/watch-file-tree.js +12 -5
  444. package/package.json +40 -25
  445. package/tsconfig.app.json +10 -5
  446. package/tsconfig.node.json +3 -2
  447. package/types.app.d.ts +2 -0
  448. package/types.meta.d.ts +132 -2
  449. package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
  450. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
  451. package/dist/app/lib/hooks/apiConfig.js +0 -4
  452. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  453. package/dist/app/lib/hooks/usePageLoad.js +0 -5
@@ -1,5 +1,7 @@
1
- import { code } from "ts-poet";
1
+ import { code, imp } from "ts-poet";
2
2
  import { FSCodegen } from "../utils/fs-codegen.js";
3
+ import { camelCase, pascalCase } from "change-case-all";
4
+ import { ProjectEnvUtils } from "../project/env.js";
3
5
  export function getVinxiFolder(opts) {
4
6
  return (opts.mode === "development" ? "dev" : "prod") + (opts.serverless ? "" : "-spa");
5
7
  }
@@ -17,28 +19,36 @@ export function createVinxiCodegen(opts) {
17
19
  if (opts.serverless) {
18
20
  codegen.registerFile({
19
21
  name: "context.ts",
20
- generate: () => {
22
+ generate: async () => {
21
23
  const args = {
22
- dev: true,
24
+ dev: opts.mode === "development",
23
25
  origin: project.origin,
24
26
  replaceUrls: {
25
27
  from: project.origin,
26
28
  to: opts.endpoint ?? "",
27
29
  prefixes: [
28
- { prefix: "/wp-content/uploads", replace: project.config?.serverless.uploads === "proxy" },
29
- { prefix: "/wp-content/plugins", replace: project.config?.serverless.plugins === "proxy" },
30
+ { prefix: "/wp-content/uploads", replace: project.config?.serverless.uploads === "remote" },
31
+ { prefix: "/wp-content/plugins", replace: project.config?.serverless.plugins === "remote" },
30
32
  ],
31
33
  },
34
+ rpcBases: (await project.serverRoutes.get()).bases ?? [],
35
+ config: project.config,
32
36
  };
33
37
  return code /* tsx */ `
34
38
  import { ServerContext } from "eddev/server"
35
39
  import { getManifest } from "vinxi/manifest"
40
+ import { apiConfig } from 'eddev/hooks'
41
+
42
+ ServerContext.setRuntime({
43
+ getManifest
44
+ })
36
45
 
37
46
  export const serverContext = new ServerContext({${Object.entries(args)
38
47
  .map(([key, value]) => `${key}: ${JSON.stringify(value)}`)
39
- .join(",\n")},
40
- getManifest
48
+ .join(",\n")}
41
49
  })
50
+
51
+ apiConfig.apiKey = ${JSON.stringify(ProjectEnvUtils.getSafe("SITE_API_KEY") ?? "")}
42
52
  `.toString();
43
53
  },
44
54
  });
@@ -54,13 +64,31 @@ export function createVinxiCodegen(opts) {
54
64
  `,
55
65
  });
56
66
  }
67
+ if (opts.serverless) {
68
+ // codegen.registerFile({
69
+ // name: "manifest/extra-routes.ts",
70
+ // generate: code/* tsx */ `
71
+ // import { createRouter, eventHandler, getRouterParam, getQuery, getWebRequest, getRequestHeaders } from "vinxi/http"
72
+ // import { serverContext } from "./context.js"
73
+ // export const routes = [
74
+ // {
75
+ // pattern: '/test1',
76
+ // handler: () => import('../../../test.ts')
77
+ // }
78
+ // ]
79
+ // export default eventHandler((event) => {
80
+ // routes
81
+ // })
82
+ // `,
83
+ // })
84
+ }
57
85
  codegen.registerFile({
58
86
  name: "entry.admin.tsx",
59
87
  generate: () => {
60
88
  return code /* tsx */ `
61
89
  ${opts.serverless ? `import "./react-shim.js"` : ""}
62
90
  ${opts.serverless ? `import "vinxi/client"` : ""}
63
- import "../../views/index.css"
91
+ import "../../${project.cssEntryFile}"
64
92
  import "./manifest/admin"
65
93
  import "./manifest/blocks"
66
94
  import "./manifest/styles"
@@ -85,7 +113,7 @@ export function createVinxiCodegen(opts) {
85
113
  * Also ensures that the assets used during SSR are loaded.
86
114
  */
87
115
  import "vinxi/client"
88
- import "../../views/index.css"
116
+ import "../../${project.cssEntryFile}"
89
117
  import "./manifest/blocks"
90
118
  import "./manifest/views"
91
119
 
@@ -97,7 +125,7 @@ export function createVinxiCodegen(opts) {
97
125
  import { devToolsStore } from 'eddev/devtools'
98
126
 
99
127
  // Set up a dynamic entry which will load the configured tailwind manifest
100
- devToolsStore.loadTailwindConfig = () => import('./manifest/tailwind-config')
128
+ devToolsStore.loadTailwindConfig = () => import('./manifest/tailwind-config.js')
101
129
 
102
130
  // Create the asset renderer, which will ensure scripts/styles are mounted correctly
103
131
  function getAssets() {
@@ -108,15 +136,17 @@ export function createVinxiCodegen(opts) {
108
136
  window.$reactRoot =
109
137
  window.$reactRoot ||
110
138
  hydrateRoot(
111
- document,
112
- <SSRClientRoot assets={getAssets()} />,
139
+ document.getElementById('root')!,
140
+ <React.Suspense><SSRClientRoot assets={getAssets()} metaTags={window._PAGE_DATA?.meta?.head} /></React.Suspense>,
141
+ {
142
+ identifierPrefix: "ed",
143
+ }
113
144
  )
114
145
 
115
146
  if (import.meta.hot) {
116
147
  import.meta.hot.accept((mod) => {
117
148
  if (mod) {
118
- const Assets = createAssets(getManifest("client").handler, getManifest("client"))
119
- const app = <SSRClientRoot assets={getAssets()} />
149
+ const app = <React.Suspense><SSRClientRoot assets={getAssets()} metaTags={window._PAGE_DATA?.meta?.head} /></React.Suspense>
120
150
  window.$reactRoot?.render(app)
121
151
  }
122
152
  })
@@ -125,6 +155,7 @@ export function createVinxiCodegen(opts) {
125
155
  declare global {
126
156
  interface Window {
127
157
  $reactRoot?: Root
158
+ _PAGE_DATA: any
128
159
  }
129
160
  }
130
161
 
@@ -138,7 +169,7 @@ export function createVinxiCodegen(opts) {
138
169
  */
139
170
  import "./manifest/blocks"
140
171
  import "./manifest/views"
141
- import "../../views/index.css"
172
+ import "../../${project.cssEntryFile}"
142
173
  import { devToolsStore } from 'eddev/devtools'
143
174
  import { createRoot } from "react-dom/client"
144
175
  import { SPARoot } from "eddev/_internal/spa-root.js"
@@ -146,148 +177,287 @@ export function createVinxiCodegen(opts) {
146
177
 
147
178
  devToolsStore.loadTailwindConfig = () => import('./manifest/tailwind-config')
148
179
 
149
- createRoot(document.getElementById("root")!).render(<SPARoot />)
180
+ createRoot(document.getElementById("root")!).render(<React.Suspense><SPARoot /></React.Suspense>)
150
181
  `;
151
182
  }
152
183
  },
153
184
  });
154
185
  if (opts.serverless) {
155
186
  codegen.registerFile({
156
- name: "handler.data-api.ts",
187
+ name: "handler.bypass.ts",
157
188
  generate: code /* tsx */ `
158
189
  /// <reference types="vinxi/types/server" />
159
- import { createRouter, eventHandler, getRouterParam, getQuery, getWebRequest, getRequestHeaders } from "vinxi/http"
160
- import { serverContext } from "./context"
190
+ import { createRouter, eventHandler, getCookie, setCookie } from "vinxi/http"
191
+
192
+ const BYPASS_TOKEN = process.env.VERCEL_BYPASS_TOKEN
193
+ const COOKIE_NAME = "__prerender_bypass"
161
194
 
162
195
  const router = createRouter()
163
196
  .get(
164
- "/route/",
197
+ "/enable",
165
198
  eventHandler(async (event) => {
166
- const id = "/"
199
+ if (!BYPASS_TOKEN) return false
167
200
 
168
- return await serverContext.fetchRouteData({
169
- pathname: id,
170
- withAppData: false,
201
+ setCookie(event, COOKIE_NAME, BYPASS_TOKEN, {
202
+ expires: new Date(Date.now() + 1000 * 60 * 60 * 24),
171
203
  })
204
+
205
+ return true
206
+ }),
207
+ )
208
+ .get(
209
+ "/disable",
210
+ eventHandler(async (event) => {
211
+ setCookie(event, COOKIE_NAME, "")
212
+
213
+ return true
214
+ }),
215
+ )
216
+ .get(
217
+ "/check",
218
+ eventHandler(async (event) => {
219
+ const cookie = getCookie(event, COOKIE_NAME)
220
+
221
+ if (cookie === BYPASS_TOKEN) {
222
+ return true
223
+ }
224
+
225
+ return false
226
+ }),
227
+ )
228
+ export default router.handler
229
+ `,
230
+ });
231
+ // codegen.registerFile({
232
+ // name: "handler.data-api.ts",
233
+ // generate: code/* tsx */ `
234
+ // /// <reference types="vinxi/types/server" />
235
+ // import { createRouter, eventHandler, getRouterParam, getQuery, getWebRequest, getRequestHeaders, getRequestURL } from "vinxi/http"
236
+ // import { serverContext } from "./context.js"
237
+ // const router = createRouter()
238
+ // .get(
239
+ // "/route/",
240
+ // eventHandler(async (event) => {
241
+ // const id = "/"
242
+ // const url = getRequestURL(event);
243
+ // return await serverContext.fetchRouteData({
244
+ // pathname: id,
245
+ // newOrigin: url.origin,
246
+ // })
247
+ // }),
248
+ // )
249
+ // .get(
250
+ // "/route/**:name",
251
+ // eventHandler(async (event) => {
252
+ // const id = "/" + getRouterParam(event, "name")
253
+ // const url = getRequestURL(event);
254
+ // return await serverContext.fetchRouteData({
255
+ // pathname: id,
256
+ // newOrigin: url.origin,
257
+ // })
258
+ // }),
259
+ // )
260
+ // .get(
261
+ // "/query/**:name",
262
+ // eventHandler(async (event) => {
263
+ // const id = "/" + getRouterParam(event, "name")
264
+ // const paramString = getQuery(event).params
265
+ // const params = typeof paramString === "string" && paramString.length ? JSON.parse(paramString) : {}
266
+ // return await serverContext.fetchNamedQuery({
267
+ // name: id,
268
+ // params: params,
269
+ // headers: getRequestHeaders(event),
270
+ // })
271
+ // }),
272
+ // )
273
+ // .post(
274
+ // "/mutation/**:name",
275
+ // eventHandler(async (event) => {
276
+ // const id = "/" + getRouterParam(event, "name")
277
+ // const body = await getWebRequest(event).json()
278
+ // return await serverContext.fetchMutation({
279
+ // name: id,
280
+ // body,
281
+ // headers: getRequestHeaders(event),
282
+ // })
283
+ // }),
284
+ // )
285
+ // export default router.handler
286
+ // `,
287
+ // })
288
+ }
289
+ if (opts.serverless) {
290
+ codegen.registerFile({
291
+ name: "handler.ssr-page.ts",
292
+ generate: code /* tsx */ `
293
+ /// <reference types="vinxi/types/server" />
294
+ import "../../${project.cssEntryFile}"
295
+ import "./manifest/blocks.js"
296
+ import "./manifest/styles.js"
297
+ import "./manifest/views.js"
298
+ import "./context.js"
299
+ import { proxyWpAdmin, renderPage, ServerContext } from "eddev/server"
300
+ import {
301
+ createRouter,
302
+ eventHandler,
303
+ getQuery,
304
+ getRequestHeaders,
305
+ getRequestURL,
306
+ getRouterParam,
307
+ getWebRequest,
308
+ } from "vinxi/http"
309
+ import { handleRPC } from "./rpc.js"
310
+ import { serverContext } from "./context.js"
311
+ import { getManifest } from "vinxi/manifest"
312
+ import { inspect } from "node:util"
313
+ import { withTrailingSlash } from 'ufo'
314
+
315
+ const router = createRouter()
316
+ .get(
317
+ "/_data/route/",
318
+ eventHandler(async (event) => {
319
+ const id = "/"
320
+ const url = getRequestURL(event)
321
+
322
+ return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin })
172
323
  }),
173
324
  )
174
325
  .get(
175
- "/route/**:name",
326
+ "/_data/route/**:name",
176
327
  eventHandler(async (event) => {
177
328
  const id = "/" + getRouterParam(event, "name")
329
+ const url = getRequestURL(event)
178
330
 
179
- return await serverContext.fetchRouteData({
180
- pathname: id,
181
- withAppData: false,
182
- })
331
+ return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin })
183
332
  }),
184
333
  )
185
334
  .get(
186
- "/query/**:name",
335
+ "/_data/query/**:name",
187
336
  eventHandler(async (event) => {
188
337
  const id = "/" + getRouterParam(event, "name")
189
338
  const paramString = getQuery(event).params
190
339
 
191
340
  const params = typeof paramString === "string" && paramString.length ? JSON.parse(paramString) : {}
192
341
 
193
- return await serverContext.fetchNamedQuery({
194
- name: id,
195
- params: params,
196
- headers: getRequestHeaders(event),
197
- })
342
+ return await serverContext.fetchNamedQuery({ name: id, params: params, headers: getRequestHeaders(event) })
343
+ }),
344
+ )
345
+ .get(
346
+ "/_data/manifest/**:input",
347
+ eventHandler(async (event) => {
348
+ const manifest = getManifest("client")
349
+ const id = getRouterParam(event, "input")
350
+ const input = manifest.inputs[id === 'handler' ? manifest.handler : id]
351
+ const result = {
352
+ ...input,
353
+ id,
354
+ assets: await input.assets(),
355
+ }
356
+ const code = inspect(result, { depth: 10 })
357
+ return new Response(code, { headers: { "Content-Type": "text/plain" } })
198
358
  }),
199
359
  )
200
360
  .post(
201
- "/mutation/**:name",
361
+ "/_data/mutation/**:name",
202
362
  eventHandler(async (event) => {
203
363
  const id = "/" + getRouterParam(event, "name")
204
364
  const body = await getWebRequest(event).json()
205
- return await serverContext.fetchMutation({
206
- name: id,
207
- body,
208
- headers: {},
365
+ return await serverContext.fetchMutation({ name: id, body, headers: getRequestHeaders(event) })
366
+ }),
367
+ )
368
+ .post(
369
+ "/_data/submit-gf",
370
+ eventHandler(async (event) => {
371
+ const req = getWebRequest(event)
372
+ const headers = new Headers(req.headers)
373
+ headers.delete("content-length")
374
+ headers.delete("host")
375
+ headers.delete("connection")
376
+ headers.delete("pragma")
377
+ return await serverContext.fetchOrigin("/wp-json/ed/v1/gf/submit/", {
378
+ method: "POST",
379
+ headers: headers,
380
+ body: await req.blob(),
209
381
  })
210
382
  }),
211
383
  )
212
384
 
213
- export default router.handler
385
+ export default eventHandler({
386
+ handler: async (event) => {
387
+ const serverContext = ServerContext.main
388
+ const url = getRequestURL(event)
214
389
 
215
- `,
216
- });
217
- }
218
- if (opts.serverless) {
219
- codegen.registerFile({
220
- name: "handler.ssr-page.ts",
221
- generate: code /* tsx */ `
222
- /// <reference types="vinxi/types/server" />
223
- import "../../views/index.css"
224
- import "./manifest/blocks"
225
- import "./manifest/styles"
226
- import "./manifest/views"
227
-
228
- import { renderPageToSSRStream, proxyWpAdmin } from "eddev/server"
229
- import { eventHandler, setResponseHeader, setResponseStatus, getRequestURL } from "vinxi/http"
230
- import { serverContext } from "./context"
231
-
232
- export default eventHandler({
233
- handler: async (event) => {
234
- const url = getRequestURL(event)
235
-
236
- if (url.pathname.includes('.')) {
237
- return proxyWpAdmin(event, serverContext)
238
- }
390
+ // RPC
391
+ const isRPC = serverContext.rpcBases.some((base) => url.pathname.startsWith(base))
392
+ if (isRPC) {
393
+ return handleRPC(event)
394
+ }
239
395
 
240
- const response = await serverContext.fetchRouteData({
241
- pathname: url.pathname,
242
- withAppData: true,
243
- headers: {},
244
- query: {},
245
- })
246
- if (response.ok) {
247
- setResponseStatus(event, response.status)
248
- setResponseHeader(event, "Content-Type", "text/html; charset=utf-8")
249
- return renderPageToSSRStream(url.pathname, await response.json(), serverContext)
250
- } else {
251
- return response
252
- }
253
- },
254
- })
396
+ // Data API
397
+ if (url.pathname.startsWith("/_data/")) {
398
+ return router.handler(event)
399
+ }
400
+
401
+ // Proxy WordPress
402
+ if (url.pathname.includes(".") || url.pathname.startsWith("/graphql") || url.pathname.startsWith("/wp-")) {
403
+ return proxyWpAdmin(event)
404
+ }
405
+
406
+ // Enforce trailing slashes
407
+ if (!url.pathname.endsWith("/")) {
408
+ url.pathname = withTrailingSlash(url.pathname)
409
+ return Response.redirect(url, 301)
410
+ }
255
411
 
412
+ // SSR
413
+ return renderPage({ pathname: url.pathname, newOrigin: url.origin, hostname: url.hostname })
414
+ },
415
+ })
256
416
  `,
257
417
  });
258
418
  }
259
419
  if (opts.serverless) {
260
- codegen.registerFile({
261
- name: "handler.wp-proxy.ts",
262
- generate: code /* tsx */ `
263
- /// <reference types="vinxi/types/server" />
264
- import { proxyWpAdmin } from "eddev/server"
265
- import { eventHandler } from "vinxi/http"
266
- import { serverContext } from "./context"
267
-
268
- export default eventHandler(async (event) => {
269
- return proxyWpAdmin(event, serverContext)
270
- })
271
- `,
272
- });
420
+ // codegen.registerFile({
421
+ // name: "handler.wp-proxy.ts",
422
+ // generate: code/* tsx */ `
423
+ // /// <reference types="vinxi/types/server" />
424
+ // import { proxyWpAdmin } from "eddev/server"
425
+ // import { eventHandler } from "vinxi/http"
426
+ // import "./context.js"
427
+ // export default eventHandler(async (event) => {
428
+ // return proxyWpAdmin(event)
429
+ // })
430
+ // `,
431
+ // })
273
432
  }
274
433
  codegen.registerFile({
275
434
  name: "manifest/blocks.ts",
276
435
  generate: async () => {
277
436
  const blockManifest = await project.blocks.get();
437
+ let blockImports = [];
438
+ let blockEntries = [];
439
+ for (const [name, block] of Object.entries(blockManifest.blocks)) {
440
+ if (name.match(/^_[a-z]+$/i))
441
+ continue;
442
+ const importSource = JSON.stringify("../../../" + block.fileName);
443
+ const jsName = pascalCase(name);
444
+ if (block.dynamic) {
445
+ const importStatement = `dynamic(() => import(${importSource}), ${JSON.stringify(block.fileName)})`;
446
+ blockEntries.push(JSON.stringify(block.acfName) + ": " + importStatement);
447
+ }
448
+ else {
449
+ blockImports.push(`import ${jsName} from ${importSource}`);
450
+ blockEntries.push(JSON.stringify(block.acfName) + ": " + jsName);
451
+ }
452
+ }
278
453
  return code /* ts */ `
279
454
  import { blockManifestReader } from 'eddev/_internal'
280
455
  import { dynamic } from 'eddev/dynamic'
281
456
  import core from '../../../blocks/_core'
457
+ ${blockImports.join("\n")}
282
458
 
283
459
  const manifest = {
284
- ${Object.entries(blockManifest.blocks)
285
- .filter(([name]) => !name.match(/^_[a-z]+$/i))
286
- .map(([name, block]) => {
287
- const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + block.fileName)}))`;
288
- return JSON.stringify(block.acfName) + ": " + importStatement;
289
- })
290
- .join(",\n")},
460
+ ${blockEntries.join(",\n")},
291
461
  ...core
292
462
  }
293
463
 
@@ -368,12 +538,17 @@ export function createVinxiCodegen(opts) {
368
538
  return code /* ts */ `
369
539
  import { viewManifestReader } from 'eddev/_internal'
370
540
  import { dynamic } from 'eddev/dynamic'
371
- const manifest = {${Object.entries(viewManifest.views)
372
- .map(([name, view]) => {
373
- const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + view.fileName)}))`;
374
- return JSON.stringify(view.slug) + ": " + importStatement;
375
- })
376
- .join(",\n")}}
541
+ const manifest = {${Object.entries(viewManifest.views).map(([name, view]) => {
542
+ const src = "../../../" + view.fileName;
543
+ let importStatement;
544
+ if (name.startsWith("_")) {
545
+ importStatement = imp(name + "=" + src);
546
+ }
547
+ else {
548
+ importStatement = code `dynamic(() => import(${JSON.stringify(src)}), ${JSON.stringify(view.fileName)})`;
549
+ }
550
+ return code `${JSON.stringify(view.slug)}: ${importStatement},\n`;
551
+ })}}
377
552
 
378
553
  viewManifestReader.value = manifest
379
554
 
@@ -399,7 +574,7 @@ export function createVinxiCodegen(opts) {
399
574
  name: "manifest/tailwind-config.ts",
400
575
  generate: async () => {
401
576
  return code /* ts */ `
402
- import tw from "../../../tailwind.config"
577
+ import tw from "../../../tailwind.config.ts"
403
578
  import resolveConfig from 'tailwindcss/resolveConfig'
404
579
  import { devToolsStore } from 'eddev/devtools'
405
580
 
@@ -412,5 +587,93 @@ export function createVinxiCodegen(opts) {
412
587
  `;
413
588
  },
414
589
  });
590
+ if (opts.serverless) {
591
+ codegen.registerFile({
592
+ name: "manifest/routes.ts",
593
+ generate: async () => {
594
+ const routeManifest = await project.serverRoutes.get();
595
+ return code /* ts */ `
596
+ import { instantiateRouter } from "eddev/server"
597
+ ${routeManifest.contextFileName
598
+ ? code /*ts*/ `
599
+ import createContext from "../../../${routeManifest.contextFileName}"
600
+ `
601
+ : code /*ts*/ `
602
+ const createContext = () => ({})
603
+ `}
604
+
605
+ const router = instantiateRouter({${Object.entries(routeManifest.routes).map(([name, route]) => {
606
+ const src = "../../../" + route.fileName;
607
+ const importStatement = imp(camelCase(name) + "=" + src);
608
+ return code `${JSON.stringify(route.prefix)}: ${importStatement},\n`;
609
+ })}})
610
+
611
+ export { createContext, router }
612
+ `;
613
+ },
614
+ subscribe: project.serverRoutes.subscribe,
615
+ });
616
+ codegen.registerFile({
617
+ name: "rpc.ts",
618
+ generate: code /* tsx */ `
619
+ /// <reference types="vinxi/types/server" />
620
+ import "./context.js"
621
+ import { fetchRequestHandler } from "@trpc/server/adapters/fetch"
622
+ import { parseURL, stringifyParsedURL } from "ufo"
623
+ import { EventHandlerRequest, getWebRequest, H3Event, setResponseHeaders } from "vinxi/http"
624
+ import { createContext, router } from "./manifest/routes.ts"
625
+ import { ServerContext } from "eddev/server"
626
+
627
+ export function handleRPC(event: H3Event<EventHandlerRequest>) {
628
+ const serverContext = ServerContext.main
629
+
630
+ // Handle CORS
631
+ setResponseHeaders(event, serverContext.getCorsHeaders(event.headers.get("origin") ?? event.headers.get("referer") ?? ""))
632
+ if (event.method === "OPTIONS") {
633
+ event.node.res.statusCode = 204
634
+ event.node.res.statusMessage = "No Content."
635
+ return "OK"
636
+ }
637
+
638
+ // Update URLs with dots, which tRPC prefers
639
+ const originalReq = getWebRequest(event)
640
+ const parsed = parseURL(originalReq.url)
641
+ parsed.pathname = "/" + parsed.pathname.replace(/(^\\/|\\/$)/g, "").replace(/\\//g, ".")
642
+ const req = new Request(stringifyParsedURL(parsed), originalReq)
643
+
644
+ // Handle any early results which are Responses
645
+ function processEarlyResult(value: any): Response | undefined {
646
+ if (value instanceof Response) {
647
+ return value
648
+ }
649
+ }
650
+
651
+ return new Promise(async (resolve) => {
652
+ let sent = false
653
+ const defaultResponse = await fetchRequestHandler({
654
+ endpoint: "/",
655
+ req: req,
656
+ router: router,
657
+ createContext,
658
+ onError: (err) => console.error(err),
659
+ batching: { enabled: false },
660
+ // If a Response object is returned by a route, it will be sent as the response
661
+ responseMeta(opts) {
662
+ const value = opts?.data?.[0]?.["result"]?.["data"]
663
+ const response = processEarlyResult(value)
664
+ if (response) {
665
+ sent = true
666
+ resolve(response)
667
+ }
668
+ return {}
669
+ },
670
+ })
671
+ if (sent) return
672
+ resolve(defaultResponse)
673
+ })
674
+ }
675
+ `,
676
+ });
677
+ }
415
678
  return codegen;
416
679
  }