eddev 2.0.0-beta.14 → 2.0.0-beta.141

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 (441) 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 +8 -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 +4 -4
  21. package/dist/app/entry/ssr-root.d.ts.map +1 -0
  22. package/dist/app/entry/ssr-root.js +19 -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 +4 -3
  38. package/dist/app/lib/blocks/EditableText.d.ts +15 -1
  39. package/dist/app/lib/blocks/EditableText.d.ts.map +1 -0
  40. package/dist/app/lib/blocks/EditableText.js +10 -3
  41. package/dist/app/lib/blocks/InnerBlocks.d.ts +20 -5
  42. package/dist/app/lib/blocks/InnerBlocks.d.ts.map +1 -0
  43. package/dist/app/lib/blocks/InnerBlocks.js +72 -25
  44. package/dist/app/lib/blocks/block-utils.d.ts +2 -1
  45. package/dist/app/lib/blocks/block-utils.d.ts.map +1 -0
  46. package/dist/app/lib/blocks/block-utils.js +1 -1
  47. package/dist/app/lib/blocks/defineBlock.d.ts +4 -0
  48. package/dist/app/lib/blocks/defineBlock.d.ts.map +1 -0
  49. package/dist/app/lib/blocks/defineBlock.js +9 -0
  50. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts +8 -0
  51. package/dist/app/lib/blocks/editor/EditorHighlights.d.ts.map +1 -0
  52. package/dist/app/lib/blocks/editor/EditorHighlights.js +164 -0
  53. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +1 -0
  54. package/dist/app/lib/blocks/editor/EditorSupport.d.ts.map +1 -0
  55. package/dist/app/lib/blocks/editor/EditorSupport.js +15 -10
  56. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts +2 -1
  57. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.d.ts.map +1 -0
  58. package/dist/app/lib/blocks/editor/block-templates.d.ts +7 -0
  59. package/dist/app/lib/blocks/editor/block-templates.d.ts.map +1 -0
  60. package/dist/app/lib/blocks/editor/block-templates.js +64 -0
  61. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +1 -0
  62. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts.map +1 -0
  63. package/dist/app/lib/blocks/editor/controls.d.ts +1 -0
  64. package/dist/app/lib/blocks/editor/controls.d.ts.map +1 -0
  65. package/dist/app/lib/blocks/editor/create-block.d.ts +10 -0
  66. package/dist/app/lib/blocks/editor/create-block.d.ts.map +1 -0
  67. package/dist/app/lib/blocks/editor/create-block.js +13 -0
  68. package/dist/app/lib/blocks/editor/editor-config.d.ts +70 -6
  69. package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -0
  70. package/dist/app/lib/blocks/editor/editor-config.js +29 -62
  71. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +4 -0
  72. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -0
  73. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +92 -14
  74. package/dist/app/lib/blocks/editor/root-blocks.d.ts +7 -0
  75. package/dist/app/lib/blocks/editor/root-blocks.d.ts.map +1 -0
  76. package/dist/app/lib/blocks/editor/root-blocks.js +30 -0
  77. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +12 -1
  78. package/dist/app/lib/blocks/editor/usePostEditor.d.ts.map +1 -0
  79. package/dist/app/lib/blocks/editor/usePostEditor.js +28 -13
  80. package/dist/app/lib/blocks/index.d.ts +6 -4
  81. package/dist/app/lib/blocks/index.d.ts.map +1 -0
  82. package/dist/app/lib/blocks/index.js +5 -4
  83. package/dist/app/lib/blocks/inline-editing.d.ts +10 -0
  84. package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -0
  85. package/dist/app/lib/blocks/inline-editing.js +13 -3
  86. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts +1 -0
  87. package/dist/app/lib/devtools/components/BreakpointIndicator.d.ts.map +1 -0
  88. package/dist/app/lib/devtools/components/BreakpointIndicator.js +2 -2
  89. package/dist/app/lib/devtools/components/DevUI.d.ts +1 -0
  90. package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -0
  91. package/dist/app/lib/devtools/components/DevUI.js +3 -2
  92. package/dist/app/lib/devtools/components/GridIndicator.d.ts +2 -0
  93. package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -0
  94. package/dist/app/lib/devtools/components/GridIndicator.js +29 -0
  95. package/dist/app/lib/devtools/dev-tools-store.d.ts +1 -0
  96. package/dist/app/lib/devtools/dev-tools-store.d.ts.map +1 -0
  97. package/dist/app/lib/devtools/hooks/usePersistState.d.ts +2 -1
  98. package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -0
  99. package/dist/app/lib/devtools/hooks/usePersistState.js +11 -2
  100. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +1376 -331
  101. package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -0
  102. package/dist/app/lib/devtools/index.d.ts +1 -0
  103. package/dist/app/lib/devtools/index.d.ts.map +1 -0
  104. package/dist/app/lib/devtools/loader.d.ts +1 -0
  105. package/dist/app/lib/devtools/loader.d.ts.map +1 -0
  106. package/dist/app/lib/devtools/loader.js +7 -6
  107. package/dist/app/lib/devtools/tailwind.config.d.ts +1 -0
  108. package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -0
  109. package/dist/app/lib/devtools/useQueryDebug.d.ts +8 -1
  110. package/dist/app/lib/devtools/useQueryDebug.d.ts.map +1 -0
  111. package/dist/app/lib/devtools/useQueryDebug.js +5 -8
  112. package/dist/app/lib/dynamic/dynamic.d.ts +2 -1
  113. package/dist/app/lib/dynamic/dynamic.d.ts.map +1 -0
  114. package/dist/app/lib/dynamic/dynamic.js +5 -1
  115. package/dist/app/lib/dynamic/index.d.ts +1 -0
  116. package/dist/app/lib/dynamic/index.d.ts.map +1 -0
  117. package/dist/app/lib/hooks/index.d.ts +3 -3
  118. package/dist/app/lib/hooks/index.d.ts.map +1 -0
  119. package/dist/app/lib/hooks/index.js +2 -3
  120. package/dist/app/lib/hooks/{queryUtils.d.ts → query-hooks.d.ts} +37 -2
  121. package/dist/app/lib/hooks/query-hooks.d.ts.map +1 -0
  122. package/dist/app/lib/hooks/{queryUtils.js → query-hooks.js} +78 -26
  123. package/dist/app/lib/hooks/useAppData.d.ts +1 -0
  124. package/dist/app/lib/hooks/useAppData.d.ts.map +1 -0
  125. package/dist/app/lib/hooks/useAppData.js +12 -1
  126. package/dist/app/lib/hooks/useRPC.d.ts +1 -4
  127. package/dist/app/lib/hooks/useRPC.d.ts.map +1 -0
  128. package/dist/app/lib/hooks/useRPC.js +1 -8
  129. package/dist/app/lib/integrations/gravityforms/index.d.ts +3 -0
  130. package/dist/app/lib/integrations/gravityforms/index.d.ts.map +1 -0
  131. package/dist/app/lib/integrations/gravityforms/index.js +2 -0
  132. package/dist/app/lib/integrations/gravityforms/types.d.ts +141 -0
  133. package/dist/app/lib/integrations/gravityforms/types.d.ts.map +1 -0
  134. package/dist/app/lib/integrations/gravityforms/types.js +1 -0
  135. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts +31 -0
  136. package/dist/app/lib/integrations/gravityforms/useGravityForm.d.ts.map +1 -0
  137. package/dist/app/lib/integrations/gravityforms/useGravityForm.js +285 -0
  138. package/dist/app/lib/internal/finalize-rpc.d.ts +18 -0
  139. package/dist/app/lib/internal/finalize-rpc.d.ts.map +1 -0
  140. package/dist/app/lib/internal/finalize-rpc.js +3 -0
  141. package/dist/app/lib/internal/index.d.ts +2 -0
  142. package/dist/app/lib/internal/index.d.ts.map +1 -0
  143. package/dist/app/lib/internal/index.js +1 -0
  144. package/dist/app/lib/internal/internal-store.d.ts +1 -0
  145. package/dist/app/lib/internal/internal-store.d.ts.map +1 -0
  146. package/dist/app/lib/internal/read-admin-manifest.d.ts +1 -0
  147. package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -0
  148. package/dist/app/lib/internal/read-block-manifest.d.ts +1 -0
  149. package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
  150. package/dist/app/lib/internal/read-view-manifest.d.ts +1 -0
  151. package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
  152. package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
  153. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  154. package/dist/app/lib/legacy-stitches/createStitches.js +1 -1
  155. package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
  156. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  157. package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
  158. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  159. package/dist/app/lib/routing/components/BackButton.js +47 -0
  160. package/dist/app/lib/routing/components/BrowserRouter.d.ts +6 -1
  161. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
  162. package/dist/app/lib/routing/components/BrowserRouter.js +96 -17
  163. package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
  164. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  165. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  166. package/dist/app/lib/routing/components/Link.d.ts +2 -0
  167. package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
  168. package/dist/app/lib/routing/components/Link.js +11 -9
  169. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
  170. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  171. package/dist/app/lib/routing/components/RouteRenderer.js +4 -3
  172. package/dist/app/lib/routing/components/SSRRouter.d.ts +1 -0
  173. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  174. package/dist/app/lib/routing/components/SSRRouter.js +1 -2
  175. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
  176. package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
  177. package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
  178. package/dist/app/lib/routing/context.d.ts +6 -1
  179. package/dist/app/lib/routing/context.d.ts.map +1 -0
  180. package/dist/app/lib/routing/context.js +12 -0
  181. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
  182. package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
  183. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
  184. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  185. package/dist/app/lib/routing/hooks/useRestorableState.js +2 -1
  186. package/dist/app/lib/routing/hooks/useRoute.d.ts +17 -1
  187. package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
  188. package/dist/app/lib/routing/hooks/useRoute.js +21 -0
  189. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
  190. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
  191. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  192. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
  193. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  194. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
  195. package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
  196. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
  197. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
  198. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
  199. package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
  200. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +76 -4
  201. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  202. package/dist/app/lib/routing/hooks/useSearchParams.js +70 -11
  203. package/dist/app/lib/routing/index.d.ts +2 -0
  204. package/dist/app/lib/routing/index.d.ts.map +1 -0
  205. package/dist/app/lib/routing/index.js +1 -0
  206. package/dist/app/lib/routing/loader.d.ts +1 -0
  207. package/dist/app/lib/routing/loader.d.ts.map +1 -0
  208. package/dist/app/lib/routing/loader.js +19 -10
  209. package/dist/app/lib/routing/types.d.ts +49 -8
  210. package/dist/app/lib/routing/types.d.ts.map +1 -0
  211. package/dist/app/lib/routing/utils.d.ts +6 -2
  212. package/dist/app/lib/routing/utils.d.ts.map +1 -0
  213. package/dist/app/lib/routing/utils.js +36 -3
  214. package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +11 -2
  215. package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
  216. package/dist/app/lib/runtime/apiConfig.js +6 -0
  217. package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
  218. package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
  219. package/dist/app/lib/runtime/errorHandling.js +6 -0
  220. package/dist/app/lib/runtime/index.d.ts +3 -0
  221. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  222. package/dist/app/lib/runtime/index.js +2 -0
  223. package/dist/app/lib/views/defineView.d.ts +2 -1
  224. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  225. package/dist/app/lib/views/index.d.ts +1 -0
  226. package/dist/app/lib/views/index.d.ts.map +1 -0
  227. package/dist/app/server/index.d.ts +2 -0
  228. package/dist/app/server/index.d.ts.map +1 -0
  229. package/dist/app/server/index.js +1 -0
  230. package/dist/app/server/proxy-wp-admin.d.ts +2 -2
  231. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  232. package/dist/app/server/proxy-wp-admin.js +43 -14
  233. package/dist/app/server/render-ssr-page.d.ts +27 -2
  234. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  235. package/dist/app/server/render-ssr-page.js +212 -12
  236. package/dist/app/server/rpc.d.ts +49 -0
  237. package/dist/app/server/rpc.d.ts.map +1 -0
  238. package/dist/app/server/rpc.js +18 -0
  239. package/dist/app/server/server-context.d.ts +45 -4
  240. package/dist/app/server/server-context.d.ts.map +1 -0
  241. package/dist/app/server/server-context.js +329 -33
  242. package/dist/app/server/utils/headers.d.ts +1 -0
  243. package/dist/app/server/utils/headers.d.ts.map +1 -0
  244. package/dist/app/server/utils/replace-host.d.ts +2 -1
  245. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  246. package/dist/app/server/utils/replace-host.js +10 -2
  247. package/dist/app/server/utils/swr-cache.d.ts +5 -0
  248. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  249. package/dist/app/server/utils/swr-cache.js +31 -0
  250. package/dist/app/utils/APIProvider.d.ts +3 -0
  251. package/dist/app/utils/APIProvider.d.ts.map +1 -0
  252. package/dist/app/utils/APIProvider.js +5 -0
  253. package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
  254. package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
  255. package/dist/app/utils/BlockErrorBoundary.js +38 -0
  256. package/dist/app/utils/ErrorMessage.d.ts +6 -0
  257. package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
  258. package/dist/app/utils/ErrorMessage.js +14 -0
  259. package/dist/app/utils/RouteErrorBoundary.d.ts +19 -0
  260. package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
  261. package/dist/app/utils/RouteErrorBoundary.js +38 -0
  262. package/dist/app/utils/asset-capture.d.ts +3 -0
  263. package/dist/app/utils/asset-capture.d.ts.map +1 -0
  264. package/dist/app/utils/asset-capture.js +5 -0
  265. package/dist/app/utils/hydration-debugger.d.ts +14 -0
  266. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  267. package/dist/app/utils/hydration-debugger.js +11 -0
  268. package/dist/app/utils/query-client.d.ts +3 -0
  269. package/dist/app/utils/query-client.d.ts.map +1 -0
  270. package/dist/app/utils/query-client.js +5 -1
  271. package/dist/app/utils/query-monitor.d.ts +27 -0
  272. package/dist/app/utils/query-monitor.d.ts.map +1 -0
  273. package/dist/app/utils/query-monitor.js +7 -0
  274. package/dist/app/utils/trpc-client.d.ts +3 -0
  275. package/dist/app/utils/trpc-client.d.ts.map +1 -0
  276. package/dist/app/utils/trpc-client.js +39 -0
  277. package/dist/app/utils/wp.d.ts +11 -10
  278. package/dist/app/utils/wp.d.ts.map +1 -0
  279. package/dist/node/cli/cli-mode.d.ts +1 -0
  280. package/dist/node/cli/cli-mode.d.ts.map +1 -0
  281. package/dist/node/cli/cli-worker.d.ts +1 -0
  282. package/dist/node/cli/cli-worker.d.ts.map +1 -0
  283. package/dist/node/cli/cli-worker.js +11 -5
  284. package/dist/node/cli/cli.d.ts +1 -0
  285. package/dist/node/cli/cli.d.ts.map +1 -0
  286. package/dist/node/cli/cli.js +85 -11
  287. package/dist/node/cli/display/CLIApp.d.ts +1 -0
  288. package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
  289. package/dist/node/cli/display/CLIApp.js +3 -6
  290. package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
  291. package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
  292. package/dist/node/cli/display/boot-cli-app.js +1 -1
  293. package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
  294. package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
  295. package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
  296. package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
  297. package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
  298. package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
  299. package/dist/node/cli/display/components/TextInput.d.ts +1 -0
  300. package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
  301. package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
  302. package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
  303. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
  304. package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
  305. package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
  306. package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
  307. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
  308. package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
  309. package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
  310. package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
  311. package/dist/node/cli/display/tools/cli-tools.d.ts +2 -1
  312. package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
  313. package/dist/node/cli/display/util/colors.d.ts +1 -0
  314. package/dist/node/cli/display/util/colors.d.ts.map +1 -0
  315. package/dist/node/cli/version.d.ts +2 -1
  316. package/dist/node/cli/version.d.ts.map +1 -0
  317. package/dist/node/cli/version.js +1 -1
  318. package/dist/node/compiler/build-vinxi.d.ts +1 -0
  319. package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
  320. package/dist/node/compiler/build-vinxi.js +2 -1
  321. package/dist/node/compiler/bundler.admin.d.ts +2 -1
  322. package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
  323. package/dist/node/compiler/bundler.admin.js +1 -1
  324. package/dist/node/compiler/bundler.frontend.d.ts +1 -0
  325. package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
  326. package/dist/node/compiler/bundler.frontend.js +1 -1
  327. package/dist/node/compiler/dev-server.d.ts +1 -0
  328. package/dist/node/compiler/dev-server.d.ts.map +1 -0
  329. package/dist/node/compiler/dev-server.js +11 -0
  330. package/dist/node/compiler/get-vite-config.d.ts +12 -1
  331. package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
  332. package/dist/node/compiler/get-vite-config.js +170 -41
  333. package/dist/node/compiler/vinxi-app.d.ts +13 -0
  334. package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
  335. package/dist/node/compiler/vinxi-app.js +140 -32
  336. package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
  337. package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
  338. package/dist/node/compiler/vinxi-codegen.js +371 -111
  339. package/dist/node/graphql/graphql-codegen.d.ts +12 -1
  340. package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
  341. package/dist/node/graphql/graphql-codegen.js +216 -34
  342. package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
  343. package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
  344. package/dist/node/graphql/graphql-schema-loader.js +5 -16
  345. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +2 -0
  346. package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
  347. package/dist/node/graphql/plugins/gql-plugin-files.js +1 -0
  348. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
  349. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
  350. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
  351. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
  352. package/dist/node/graphql/plugins/gql-plugin-queries.js +1 -1
  353. package/dist/node/graphql/query-files-loader.d.ts +4 -0
  354. package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
  355. package/dist/node/graphql/query-files-loader.js +5 -0
  356. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  357. package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
  358. package/dist/node/project/config.d.ts +160 -73
  359. package/dist/node/project/config.d.ts.map +1 -0
  360. package/dist/node/project/config.js +69 -20
  361. package/dist/node/project/eddev-build-file.d.ts +1 -0
  362. package/dist/node/project/eddev-build-file.d.ts.map +1 -0
  363. package/dist/node/project/eddev-build-file.js +2 -2
  364. package/dist/node/project/env.d.ts +5 -0
  365. package/dist/node/project/env.d.ts.map +1 -0
  366. package/dist/node/project/env.js +1 -0
  367. package/dist/node/project/favicons.d.ts +1 -1
  368. package/dist/node/project/favicons.d.ts.map +1 -0
  369. package/dist/node/project/favicons.js +1 -1
  370. package/dist/node/project/manifest/block-manifest.d.ts +1 -0
  371. package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
  372. package/dist/node/project/manifest/block-manifest.js +3 -1
  373. package/dist/node/project/manifest/field-manifest.d.ts +1 -0
  374. package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
  375. package/dist/node/project/manifest/manifest.d.ts +2 -0
  376. package/dist/node/project/manifest/manifest.d.ts.map +1 -0
  377. package/dist/node/project/manifest/manifest.js +14 -10
  378. package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
  379. package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
  380. package/dist/node/project/manifest/routes-manifest.js +74 -0
  381. package/dist/node/project/manifest/view-manifest.d.ts +1 -0
  382. package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
  383. package/dist/node/project/manifest/view-manifest.js +1 -1
  384. package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
  385. package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
  386. package/dist/node/project/project.d.ts +12 -1
  387. package/dist/node/project/project.d.ts.map +1 -0
  388. package/dist/node/project/project.js +61 -7
  389. package/dist/node/project/wp-info.d.ts +2 -0
  390. package/dist/node/project/wp-info.d.ts.map +1 -0
  391. package/dist/node/project/wp-info.js +13 -1
  392. package/dist/node/storybook/index.d.ts +3 -0
  393. package/dist/node/storybook/index.d.ts.map +1 -0
  394. package/dist/node/storybook/index.js +13 -0
  395. package/dist/node/types/block-type.d.ts +22 -16
  396. package/dist/node/types/block-type.d.ts.map +1 -0
  397. package/dist/node/types/block-type.js +1 -0
  398. package/dist/node/types/view-type.d.ts +8 -7
  399. package/dist/node/types/view-type.d.ts.map +1 -0
  400. package/dist/node/utils/fetch-wp.d.ts +2 -0
  401. package/dist/node/utils/fetch-wp.d.ts.map +1 -0
  402. package/dist/node/utils/fetch-wp.js +27 -0
  403. package/dist/node/utils/format-zod-error.d.ts +1 -0
  404. package/dist/node/utils/format-zod-error.d.ts.map +1 -0
  405. package/dist/node/utils/fs-codegen.d.ts +3 -0
  406. package/dist/node/utils/fs-codegen.d.ts.map +1 -0
  407. package/dist/node/utils/fs-codegen.js +2 -1
  408. package/dist/node/utils/fs.d.ts +5 -0
  409. package/dist/node/utils/fs.d.ts.map +1 -0
  410. package/dist/node/utils/get-repo-info.d.ts +1 -0
  411. package/dist/node/utils/get-repo-info.d.ts.map +1 -0
  412. package/dist/node/utils/helpers.d.ts +1 -0
  413. package/dist/node/utils/helpers.d.ts.map +1 -0
  414. package/dist/node/utils/highlight-code.d.ts +1 -0
  415. package/dist/node/utils/highlight-code.d.ts.map +1 -0
  416. package/dist/node/utils/is-deploying.d.ts +1 -0
  417. package/dist/node/utils/is-deploying.d.ts.map +1 -0
  418. package/dist/node/utils/is-deploying.js +1 -1
  419. package/dist/node/utils/report-builder.d.ts +7 -6
  420. package/dist/node/utils/report-builder.d.ts.map +1 -0
  421. package/dist/node/utils/self-signed-cert.d.ts +3 -0
  422. package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
  423. package/dist/node/utils/self-signed-cert.js +10 -2
  424. package/dist/node/utils/stateful-log.d.ts +1 -0
  425. package/dist/node/utils/stateful-log.d.ts.map +1 -0
  426. package/dist/node/utils/stateful-log.js +2 -0
  427. package/dist/node/utils/ts-export-extractor.d.ts +1 -0
  428. package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
  429. package/dist/node/utils/watch-file-tree.d.ts +18 -3
  430. package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
  431. package/dist/node/utils/watch-file-tree.js +12 -5
  432. package/package.json +36 -24
  433. package/tsconfig.app.json +10 -5
  434. package/tsconfig.node.json +3 -2
  435. package/types.app.d.ts +2 -0
  436. package/types.meta.d.ts +116 -0
  437. package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
  438. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
  439. package/dist/app/lib/hooks/apiConfig.js +0 -4
  440. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  441. 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 } 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,22 +19,38 @@ export function createVinxiCodegen(opts) {
17
19
  if (opts.serverless) {
18
20
  codegen.registerFile({
19
21
  name: "context.ts",
20
- generate: code /* tsx */ `
21
- import { ServerContext } from "eddev/server"
22
-
23
- export const serverContext = new ServerContext(${JSON.stringify({
24
- dev: true,
25
- origin: project.origin,
26
- replaceUrls: {
27
- from: project.origin,
28
- to: opts.endpoint ?? "",
29
- prefixes: [
30
- { prefix: "/wp-content/uploads", replace: project.config?.serverless.uploads === "proxy" },
31
- { prefix: "/wp-content/plugins", replace: project.config?.serverless.plugins === "proxy" },
32
- ],
33
- },
34
- })})
35
- `.toString(),
22
+ generate: async () => {
23
+ const args = {
24
+ dev: opts.mode === "development",
25
+ origin: project.origin,
26
+ replaceUrls: {
27
+ from: project.origin,
28
+ to: opts.endpoint ?? "",
29
+ prefixes: [
30
+ { prefix: "/wp-content/uploads", replace: project.config?.serverless.uploads === "proxy" },
31
+ { prefix: "/wp-content/plugins", replace: project.config?.serverless.plugins === "proxy" },
32
+ ],
33
+ },
34
+ rpcBases: (await project.serverRoutes.get()).bases ?? [],
35
+ config: project.config,
36
+ };
37
+ return code /* tsx */ `
38
+ import { ServerContext } from "eddev/server"
39
+ import { getManifest } from "vinxi/manifest"
40
+ import { apiConfig } from 'eddev/hooks'
41
+
42
+ ServerContext.setRuntime({
43
+ getManifest
44
+ })
45
+
46
+ export const serverContext = new ServerContext({${Object.entries(args)
47
+ .map(([key, value]) => `${key}: ${JSON.stringify(value)}`)
48
+ .join(",\n")}
49
+ })
50
+
51
+ apiConfig.apiKey = ${JSON.stringify(ProjectEnvUtils.getSafe("SITE_API_KEY") ?? "")}
52
+ `.toString();
53
+ },
36
54
  });
37
55
  }
38
56
  if (opts.serverless) {
@@ -46,13 +64,31 @@ export function createVinxiCodegen(opts) {
46
64
  `,
47
65
  });
48
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
+ }
49
85
  codegen.registerFile({
50
86
  name: "entry.admin.tsx",
51
87
  generate: () => {
52
88
  return code /* tsx */ `
53
89
  ${opts.serverless ? `import "./react-shim.js"` : ""}
54
90
  ${opts.serverless ? `import "vinxi/client"` : ""}
55
- import "../../views/index.css"
91
+ import "../../${project.cssEntryFile}"
56
92
  import "./manifest/admin"
57
93
  import "./manifest/blocks"
58
94
  import "./manifest/styles"
@@ -77,7 +113,7 @@ export function createVinxiCodegen(opts) {
77
113
  * Also ensures that the assets used during SSR are loaded.
78
114
  */
79
115
  import "vinxi/client"
80
- import "../../views/index.css"
116
+ import "../../${project.cssEntryFile}"
81
117
  import "./manifest/blocks"
82
118
  import "./manifest/views"
83
119
 
@@ -89,7 +125,7 @@ export function createVinxiCodegen(opts) {
89
125
  import { devToolsStore } from 'eddev/devtools'
90
126
 
91
127
  // Set up a dynamic entry which will load the configured tailwind manifest
92
- devToolsStore.loadTailwindConfig = () => import('./manifest/tailwind-config')
128
+ devToolsStore.loadTailwindConfig = () => import('./manifest/tailwind-config.js')
93
129
 
94
130
  // Create the asset renderer, which will ensure scripts/styles are mounted correctly
95
131
  function getAssets() {
@@ -100,15 +136,17 @@ export function createVinxiCodegen(opts) {
100
136
  window.$reactRoot =
101
137
  window.$reactRoot ||
102
138
  hydrateRoot(
103
- document,
104
- <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
+ }
105
144
  )
106
145
 
107
146
  if (import.meta.hot) {
108
147
  import.meta.hot.accept((mod) => {
109
148
  if (mod) {
110
- const Assets = createAssets(getManifest("client").handler, getManifest("client"))
111
- const app = <SSRClientRoot assets={getAssets()} />
149
+ const app = <React.Suspense><SSRClientRoot assets={getAssets()} metaTags={window._PAGE_DATA?.meta?.head} /></React.Suspense>
112
150
  window.$reactRoot?.render(app)
113
151
  }
114
152
  })
@@ -117,6 +155,7 @@ export function createVinxiCodegen(opts) {
117
155
  declare global {
118
156
  interface Window {
119
157
  $reactRoot?: Root
158
+ _PAGE_DATA: any
120
159
  }
121
160
  }
122
161
 
@@ -130,7 +169,7 @@ export function createVinxiCodegen(opts) {
130
169
  */
131
170
  import "./manifest/blocks"
132
171
  import "./manifest/views"
133
- import "../../views/index.css"
172
+ import "../../${project.cssEntryFile}"
134
173
  import { devToolsStore } from 'eddev/devtools'
135
174
  import { createRoot } from "react-dom/client"
136
175
  import { SPARoot } from "eddev/_internal/spa-root.js"
@@ -138,130 +177,258 @@ export function createVinxiCodegen(opts) {
138
177
 
139
178
  devToolsStore.loadTailwindConfig = () => import('./manifest/tailwind-config')
140
179
 
141
- createRoot(document.getElementById("root")!).render(<SPARoot />)
180
+ createRoot(document.getElementById("root")!).render(<React.Suspense><SPARoot /></React.Suspense>)
142
181
  `;
143
182
  }
144
183
  },
145
184
  });
146
185
  if (opts.serverless) {
147
186
  codegen.registerFile({
148
- name: "handler.data-api.ts",
187
+ name: "handler.bypass.ts",
149
188
  generate: code /* tsx */ `
150
189
  /// <reference types="vinxi/types/server" />
151
- import { createRouter, eventHandler, getRouterParam, getQuery, getWebRequest, getRequestHeaders } from "vinxi/http"
152
- 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"
153
194
 
154
195
  const router = createRouter()
155
196
  .get(
156
- "/route/",
197
+ "/enable",
157
198
  eventHandler(async (event) => {
158
- const id = "/"
199
+ if (!BYPASS_TOKEN) return false
159
200
 
160
- return await serverContext.fetchRouteData({
161
- pathname: id,
162
- withAppData: false,
201
+ setCookie(event, COOKIE_NAME, BYPASS_TOKEN, {
202
+ expires: new Date(Date.now() + 1000 * 60 * 60 * 24),
163
203
  })
204
+
205
+ return true
206
+ }),
207
+ )
208
+ .get(
209
+ "/disable",
210
+ eventHandler(async (event) => {
211
+ setCookie(event, COOKIE_NAME, "")
212
+
213
+ return true
164
214
  }),
165
215
  )
166
216
  .get(
167
- "/route/**:name",
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 })
323
+ }),
324
+ )
325
+ .get(
326
+ "/_data/route/**:name",
168
327
  eventHandler(async (event) => {
169
328
  const id = "/" + getRouterParam(event, "name")
329
+ const url = getRequestURL(event)
170
330
 
171
- return await serverContext.fetchRouteData({
172
- pathname: id,
173
- withAppData: false,
174
- })
331
+ return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin })
175
332
  }),
176
333
  )
177
334
  .get(
178
- "/query/**:name",
335
+ "/_data/query/**:name",
179
336
  eventHandler(async (event) => {
180
337
  const id = "/" + getRouterParam(event, "name")
181
338
  const paramString = getQuery(event).params
182
339
 
183
340
  const params = typeof paramString === "string" && paramString.length ? JSON.parse(paramString) : {}
184
341
 
185
- return await serverContext.fetchNamedQuery({
186
- name: id,
187
- params: params,
188
- headers: getRequestHeaders(event),
189
- })
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" } })
190
358
  }),
191
359
  )
192
360
  .post(
193
- "/mutation/**:name",
361
+ "/_data/mutation/**:name",
194
362
  eventHandler(async (event) => {
195
363
  const id = "/" + getRouterParam(event, "name")
196
364
  const body = await getWebRequest(event).json()
197
- return await serverContext.fetchMutation({
198
- name: id,
199
- body,
200
- 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(),
201
381
  })
202
382
  }),
203
383
  )
204
384
 
205
- export default router.handler
385
+ export default eventHandler({
386
+ handler: async (event) => {
387
+ const serverContext = ServerContext.main
388
+ const url = getRequestURL(event)
206
389
 
207
- `,
208
- });
209
- }
210
- if (opts.serverless) {
211
- codegen.registerFile({
212
- name: "handler.ssr-page.ts",
213
- generate: code /* tsx */ `
214
- /// <reference types="vinxi/types/server" />
215
- import "../../views/index.css"
216
- import "./manifest/blocks"
217
- import "./manifest/styles"
218
- import "./manifest/views"
219
-
220
- import { renderPageToSSRStream, proxyWpAdmin } from "eddev/server"
221
- import { eventHandler, setResponseHeader, setResponseStatus, getRequestURL } from "vinxi/http"
222
- import { serverContext } from "./context"
223
-
224
- export default eventHandler({
225
- handler: async (event) => {
226
- const url = getRequestURL(event)
227
-
228
- if (url.pathname.includes('.')) {
229
- return proxyWpAdmin(event, serverContext)
230
- }
390
+ // RPC
391
+ const isRPC = serverContext.rpcBases.some((base) => url.pathname.startsWith(base))
392
+ if (isRPC) {
393
+ return handleRPC(event)
394
+ }
231
395
 
232
- const response = await serverContext.fetchRouteData({
233
- pathname: url.pathname,
234
- withAppData: true,
235
- headers: {},
236
- query: {},
237
- })
238
- if (response.ok) {
239
- setResponseStatus(event, response.status)
240
- setResponseHeader(event, "Content-Type", "text/html; charset=utf-8")
241
- return renderPageToSSRStream(url.pathname, await response.json())
242
- } else {
243
- return response
244
- }
245
- },
246
- })
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
+ }
247
411
 
412
+ // SSR
413
+ return renderPage({ pathname: url.pathname, newOrigin: url.origin })
414
+ },
415
+ })
248
416
  `,
249
417
  });
250
418
  }
251
419
  if (opts.serverless) {
252
- codegen.registerFile({
253
- name: "handler.wp-proxy.ts",
254
- generate: code /* tsx */ `
255
- /// <reference types="vinxi/types/server" />
256
- import { proxyWpAdmin } from "eddev/server"
257
- import { eventHandler } from "vinxi/http"
258
- import { serverContext } from "./context"
259
-
260
- export default eventHandler(async (event) => {
261
- return proxyWpAdmin(event, serverContext)
262
- })
263
- `,
264
- });
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
+ // })
265
432
  }
266
433
  codegen.registerFile({
267
434
  name: "manifest/blocks.ts",
@@ -276,7 +443,7 @@ export function createVinxiCodegen(opts) {
276
443
  ${Object.entries(blockManifest.blocks)
277
444
  .filter(([name]) => !name.match(/^_[a-z]+$/i))
278
445
  .map(([name, block]) => {
279
- const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + block.fileName)}))`;
446
+ const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + block.fileName)}), ${JSON.stringify(block.fileName)})`;
280
447
  return JSON.stringify(block.acfName) + ": " + importStatement;
281
448
  })
282
449
  .join(",\n")},
@@ -360,12 +527,17 @@ export function createVinxiCodegen(opts) {
360
527
  return code /* ts */ `
361
528
  import { viewManifestReader } from 'eddev/_internal'
362
529
  import { dynamic } from 'eddev/dynamic'
363
- const manifest = {${Object.entries(viewManifest.views)
364
- .map(([name, view]) => {
365
- const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + view.fileName)}))`;
366
- return JSON.stringify(view.slug) + ": " + importStatement;
367
- })
368
- .join(",\n")}}
530
+ const manifest = {${Object.entries(viewManifest.views).map(([name, view]) => {
531
+ const src = "../../../" + view.fileName;
532
+ let importStatement;
533
+ if (name.startsWith("_")) {
534
+ importStatement = imp(name + "=" + src);
535
+ }
536
+ else {
537
+ importStatement = code `dynamic(() => import(${JSON.stringify(src)}), ${JSON.stringify(view.fileName)})`;
538
+ }
539
+ return code `${JSON.stringify(view.slug)}: ${importStatement},\n`;
540
+ })}}
369
541
 
370
542
  viewManifestReader.value = manifest
371
543
 
@@ -391,7 +563,7 @@ export function createVinxiCodegen(opts) {
391
563
  name: "manifest/tailwind-config.ts",
392
564
  generate: async () => {
393
565
  return code /* ts */ `
394
- import tw from "../../../tailwind.config"
566
+ import tw from "../../../tailwind.config.ts"
395
567
  import resolveConfig from 'tailwindcss/resolveConfig'
396
568
  import { devToolsStore } from 'eddev/devtools'
397
569
 
@@ -404,5 +576,93 @@ export function createVinxiCodegen(opts) {
404
576
  `;
405
577
  },
406
578
  });
579
+ if (opts.serverless) {
580
+ codegen.registerFile({
581
+ name: "manifest/routes.ts",
582
+ generate: async () => {
583
+ const routeManifest = await project.serverRoutes.get();
584
+ return code /* ts */ `
585
+ import { instantiateRouter } from "eddev/server"
586
+ ${routeManifest.contextFileName
587
+ ? code /*ts*/ `
588
+ import createContext from "../../../${routeManifest.contextFileName}"
589
+ `
590
+ : code /*ts*/ `
591
+ const createContext = () => ({})
592
+ `}
593
+
594
+ const router = instantiateRouter({${Object.entries(routeManifest.routes).map(([name, route]) => {
595
+ const src = "../../../" + route.fileName;
596
+ const importStatement = imp(camelCase(name) + "=" + src);
597
+ return code `${JSON.stringify(route.prefix)}: ${importStatement},\n`;
598
+ })}})
599
+
600
+ export { createContext, router }
601
+ `;
602
+ },
603
+ subscribe: project.serverRoutes.subscribe,
604
+ });
605
+ codegen.registerFile({
606
+ name: "rpc.ts",
607
+ generate: code /* tsx */ `
608
+ /// <reference types="vinxi/types/server" />
609
+ import "./context.js"
610
+ import { fetchRequestHandler } from "@trpc/server/adapters/fetch"
611
+ import { parseURL, stringifyParsedURL } from "ufo"
612
+ import { EventHandlerRequest, getWebRequest, H3Event, setResponseHeaders } from "vinxi/http"
613
+ import { createContext, router } from "./manifest/routes.ts"
614
+ import { ServerContext } from "eddev/server"
615
+
616
+ export function handleRPC(event: H3Event<EventHandlerRequest>) {
617
+ const serverContext = ServerContext.main
618
+
619
+ // Handle CORS
620
+ setResponseHeaders(event, serverContext.getCorsHeaders(event.headers.get("origin") ?? event.headers.get("referer") ?? ""))
621
+ if (event.method === "OPTIONS") {
622
+ event.node.res.statusCode = 204
623
+ event.node.res.statusMessage = "No Content."
624
+ return "OK"
625
+ }
626
+
627
+ // Update URLs with dots, which tRPC prefers
628
+ const originalReq = getWebRequest(event)
629
+ const parsed = parseURL(originalReq.url)
630
+ parsed.pathname = "/" + parsed.pathname.replace(/(^\\/|\\/$)/g, "").replace(/\\//g, ".")
631
+ const req = new Request(stringifyParsedURL(parsed), originalReq)
632
+
633
+ // Handle any early results which are Responses
634
+ function processEarlyResult(value: any): Response | undefined {
635
+ if (value instanceof Response) {
636
+ return value
637
+ }
638
+ }
639
+
640
+ return new Promise(async (resolve) => {
641
+ let sent = false
642
+ const defaultResponse = await fetchRequestHandler({
643
+ endpoint: "/",
644
+ req: req,
645
+ router: router,
646
+ createContext,
647
+ onError: (err) => console.error(err),
648
+ batching: { enabled: false },
649
+ // If a Response object is returned by a route, it will be sent as the response
650
+ responseMeta(opts) {
651
+ const value = opts?.data?.[0]?.["result"]?.["data"]
652
+ const response = processEarlyResult(value)
653
+ if (response) {
654
+ sent = true
655
+ resolve(response)
656
+ }
657
+ return {}
658
+ },
659
+ })
660
+ if (sent) return
661
+ resolve(defaultResponse)
662
+ })
663
+ }
664
+ `,
665
+ });
666
+ }
407
667
  return codegen;
408
668
  }
@@ -1,7 +1,13 @@
1
1
  import { Project } from "../project/project.js";
2
2
  export declare const graphqlLog: import("../utils/stateful-log.js").StatefulLog<GraphQLGenerator>;
3
+ type GraphQLGeneratorOptions = {
4
+ watch?: boolean;
5
+ optimize?: boolean;
6
+ generate?: boolean;
7
+ };
3
8
  export declare class GraphQLGenerator {
4
9
  project: Project;
10
+ opts: GraphQLGeneratorOptions;
5
11
  private needsRegenerate;
6
12
  private needsReload;
7
13
  private regenerateReason;
@@ -9,22 +15,27 @@ export declare class GraphQLGenerator {
9
15
  private isGenerating;
10
16
  private schemaLoader;
11
17
  private fileLoader;
18
+ private optimizeWriter;
12
19
  private debouncer?;
13
20
  private retryTimer?;
14
- constructor(project: Project);
21
+ constructor(project: Project, opts: GraphQLGeneratorOptions);
15
22
  queueRegenerate(full: boolean, reason: string, info?: string | string[]): Promise<void>;
16
23
  start(): Promise<void>;
17
24
  private listen;
18
25
  scheduleRetry(): void;
19
26
  generate(): Promise<void>;
27
+ private getOptimizedQueries;
20
28
  /**
21
29
  * Validates a GraphQL manifest against a schema, ensuring there are no user errors.
22
30
  */
23
31
  private validateGraphQLFiles;
24
32
  private generateTS;
25
33
  generateUtilTypes(): Promise<unknown[]>;
34
+ generateAPITypes(): Promise<unknown[]>;
26
35
  /**
27
36
  * Saves the schema to a file, for use by the VSCode GraphQL extension
28
37
  */
29
38
  private writeSchemaFile;
30
39
  }
40
+ export {};
41
+ //# sourceMappingURL=graphql-codegen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-codegen.d.ts","sourceRoot":"","sources":["../../../src/node/graphql/graphql-codegen.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAkB/C,eAAO,MAAM,UAAU,kEAAgE,CAAA;AA4CvF,KAAK,uBAAuB,GAAG;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,gBAAgB;IAiBlB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,uBAAuB;IAjBtC,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAgC;IAElD,OAAO,CAAC,cAAc,CAAW;IAEjC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAElC,OAAO,CAAC,UAAU,CAAC,CAAgB;gBAG1B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,uBAAuB;IA8DhC,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAkBvE,KAAK;YA8BG,MAAM;IA+CpB,aAAa;IAOP,QAAQ;IA6Md,OAAO,CAAC,mBAAmB;IAwE3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;YAoEd,UAAU;IAqDlB,iBAAiB;IAkFjB,gBAAgB;IAyCtB;;OAEG;YACW,eAAe;CAQ9B"}