eddev 2.0.0-beta.22 → 2.0.0-beta.221

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 (459) 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 +6 -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 +8 -5
  36. package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -0
  37. package/dist/app/lib/blocks/ContentBlocks.js +16 -3
  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 +46 -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 +3 -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 +55 -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 +126 -21
  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 +1378 -333
  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} +42 -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} +90 -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 +145 -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 +295 -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 +2 -0
  155. package/dist/app/lib/internal/read-block-manifest.d.ts.map +1 -0
  156. package/dist/app/lib/internal/read-block-manifest.js +7 -0
  157. package/dist/app/lib/internal/read-view-manifest.d.ts +7 -4
  158. package/dist/app/lib/internal/read-view-manifest.d.ts.map +1 -0
  159. package/dist/app/lib/internal/read-view-manifest.js +18 -0
  160. package/dist/app/lib/legacy-stitches/createStitches.d.ts +510 -1
  161. package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -0
  162. package/dist/app/lib/legacy-stitches/index.d.ts +1 -0
  163. package/dist/app/lib/legacy-stitches/index.d.ts.map +1 -0
  164. package/dist/app/lib/routing/components/BackButton.d.ts +50 -0
  165. package/dist/app/lib/routing/components/BackButton.d.ts.map +1 -0
  166. package/dist/app/lib/routing/components/BackButton.js +47 -0
  167. package/dist/app/lib/routing/components/BrowserRouter.d.ts +10 -1
  168. package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -0
  169. package/dist/app/lib/routing/components/BrowserRouter.js +137 -21
  170. package/dist/app/lib/routing/components/ClientOnly.d.ts +2 -1
  171. package/dist/app/lib/routing/components/ClientOnly.d.ts.map +1 -0
  172. package/dist/app/lib/routing/components/ClientOnly.js +1 -1
  173. package/dist/app/lib/routing/components/Link.d.ts +19 -2
  174. package/dist/app/lib/routing/components/Link.d.ts.map +1 -0
  175. package/dist/app/lib/routing/components/Link.js +43 -23
  176. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts +10 -0
  177. package/dist/app/lib/routing/components/NativeLinkHandler.d.ts.map +1 -0
  178. package/dist/app/lib/routing/components/NativeLinkHandler.js +23 -0
  179. package/dist/app/lib/routing/components/RouteRenderer.d.ts +1 -0
  180. package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -0
  181. package/dist/app/lib/routing/components/RouteRenderer.js +17 -3
  182. package/dist/app/lib/routing/components/SSRRouter.d.ts +3 -0
  183. package/dist/app/lib/routing/components/SSRRouter.d.ts.map +1 -0
  184. package/dist/app/lib/routing/components/SSRRouter.js +3 -2
  185. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +1 -0
  186. package/dist/app/lib/routing/components/ScrollRestoration.d.ts.map +1 -0
  187. package/dist/app/lib/routing/components/ScrollRestoration.js +4 -1
  188. package/dist/app/lib/routing/context.d.ts +9 -5
  189. package/dist/app/lib/routing/context.d.ts.map +1 -0
  190. package/dist/app/lib/routing/context.js +12 -95
  191. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +1 -0
  192. package/dist/app/lib/routing/hooks/useIsSSR.d.ts.map +1 -0
  193. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +3 -1
  194. package/dist/app/lib/routing/hooks/useRestorableState.d.ts.map +1 -0
  195. package/dist/app/lib/routing/hooks/useRoute.d.ts +16 -0
  196. package/dist/app/lib/routing/hooks/useRoute.d.ts.map +1 -0
  197. package/dist/app/lib/routing/hooks/useRoute.js +21 -0
  198. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts +6 -0
  199. package/dist/app/lib/routing/hooks/useRouteMeta.d.ts.map +1 -0
  200. package/dist/app/lib/routing/hooks/useRouteMeta.js +9 -0
  201. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +1 -0
  202. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts.map +1 -0
  203. package/dist/app/lib/routing/hooks/useRouter.d.ts +1 -0
  204. package/dist/app/lib/routing/hooks/useRouter.d.ts.map +1 -0
  205. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +1 -0
  206. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts.map +1 -0
  207. package/dist/app/lib/routing/hooks/useRouterState.d.ts +1 -0
  208. package/dist/app/lib/routing/hooks/useRouterState.d.ts.map +1 -0
  209. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +78 -6
  210. package/dist/app/lib/routing/hooks/useSearchParams.d.ts.map +1 -0
  211. package/dist/app/lib/routing/hooks/useSearchParams.js +75 -15
  212. package/dist/app/lib/routing/index.d.ts +4 -0
  213. package/dist/app/lib/routing/index.d.ts.map +1 -0
  214. package/dist/app/lib/routing/index.js +3 -0
  215. package/dist/app/lib/routing/loader.d.ts +1 -0
  216. package/dist/app/lib/routing/loader.d.ts.map +1 -0
  217. package/dist/app/lib/routing/loader.js +19 -10
  218. package/dist/app/lib/routing/types.d.ts +61 -12
  219. package/dist/app/lib/routing/types.d.ts.map +1 -0
  220. package/dist/app/lib/routing/utils.d.ts +7 -2
  221. package/dist/app/lib/routing/utils.d.ts.map +1 -0
  222. package/dist/app/lib/routing/utils.js +41 -4
  223. package/dist/app/lib/{hooks → runtime}/apiConfig.d.ts +11 -2
  224. package/dist/app/lib/runtime/apiConfig.d.ts.map +1 -0
  225. package/dist/app/lib/runtime/apiConfig.js +6 -0
  226. package/dist/app/lib/runtime/errorHandling.d.ts +40 -0
  227. package/dist/app/lib/runtime/errorHandling.d.ts.map +1 -0
  228. package/dist/app/lib/runtime/errorHandling.js +6 -0
  229. package/dist/app/lib/runtime/index.d.ts +3 -0
  230. package/dist/app/lib/runtime/index.d.ts.map +1 -0
  231. package/dist/app/lib/runtime/index.js +2 -0
  232. package/dist/app/lib/views/defineView.d.ts +2 -1
  233. package/dist/app/lib/views/defineView.d.ts.map +1 -0
  234. package/dist/app/lib/views/index.d.ts +1 -0
  235. package/dist/app/lib/views/index.d.ts.map +1 -0
  236. package/dist/app/server/index.d.ts +4 -1
  237. package/dist/app/server/index.d.ts.map +1 -0
  238. package/dist/app/server/index.js +3 -1
  239. package/dist/app/server/proxy-wp-admin.d.ts +2 -2
  240. package/dist/app/server/proxy-wp-admin.d.ts.map +1 -0
  241. package/dist/app/server/proxy-wp-admin.js +46 -13
  242. package/dist/app/server/render-ai-page.d.ts +13 -0
  243. package/dist/app/server/render-ai-page.d.ts.map +1 -0
  244. package/dist/app/server/render-ai-page.js +100 -0
  245. package/dist/app/server/render-ssr-page.d.ts +32 -3
  246. package/dist/app/server/render-ssr-page.d.ts.map +1 -0
  247. package/dist/app/server/render-ssr-page.js +240 -10
  248. package/dist/app/server/rpc.d.ts +52 -0
  249. package/dist/app/server/rpc.d.ts.map +1 -0
  250. package/dist/app/server/rpc.js +18 -0
  251. package/dist/app/server/server-context.d.ts +50 -7
  252. package/dist/app/server/server-context.d.ts.map +1 -0
  253. package/dist/app/server/server-context.js +352 -37
  254. package/dist/app/server/server-custom-config.d.ts +3 -0
  255. package/dist/app/server/server-custom-config.d.ts.map +1 -0
  256. package/dist/app/server/server-custom-config.js +1 -0
  257. package/dist/app/server/utils/content-security.d.ts +26 -0
  258. package/dist/app/server/utils/content-security.d.ts.map +1 -0
  259. package/dist/app/server/utils/content-security.js +124 -0
  260. package/dist/app/server/utils/headers.d.ts +1 -0
  261. package/dist/app/server/utils/headers.d.ts.map +1 -0
  262. package/dist/app/server/utils/replace-host.d.ts +2 -1
  263. package/dist/app/server/utils/replace-host.d.ts.map +1 -0
  264. package/dist/app/server/utils/replace-host.js +10 -2
  265. package/dist/app/server/utils/swr-cache.d.ts +5 -0
  266. package/dist/app/server/utils/swr-cache.d.ts.map +1 -0
  267. package/dist/app/server/utils/swr-cache.js +31 -0
  268. package/dist/app/utils/APIProvider.d.ts +3 -0
  269. package/dist/app/utils/APIProvider.d.ts.map +1 -0
  270. package/dist/app/utils/APIProvider.js +5 -0
  271. package/dist/app/utils/BlockErrorBoundary.d.ts +20 -0
  272. package/dist/app/utils/BlockErrorBoundary.d.ts.map +1 -0
  273. package/dist/app/utils/BlockErrorBoundary.js +38 -0
  274. package/dist/app/utils/ErrorMessage.d.ts +6 -0
  275. package/dist/app/utils/ErrorMessage.d.ts.map +1 -0
  276. package/dist/app/utils/ErrorMessage.js +14 -0
  277. package/dist/app/utils/RouteErrorBoundary.d.ts +20 -0
  278. package/dist/app/utils/RouteErrorBoundary.d.ts.map +1 -0
  279. package/dist/app/utils/RouteErrorBoundary.js +41 -0
  280. package/dist/app/utils/asset-capture.d.ts +3 -0
  281. package/dist/app/utils/asset-capture.d.ts.map +1 -0
  282. package/dist/app/utils/asset-capture.js +5 -0
  283. package/dist/app/utils/hydration-debugger.d.ts +14 -0
  284. package/dist/app/utils/hydration-debugger.d.ts.map +1 -0
  285. package/dist/app/utils/hydration-debugger.js +11 -0
  286. package/dist/app/utils/query-client.d.ts +3 -0
  287. package/dist/app/utils/query-client.d.ts.map +1 -0
  288. package/dist/app/utils/query-client.js +5 -1
  289. package/dist/app/utils/query-monitor.d.ts +27 -0
  290. package/dist/app/utils/query-monitor.d.ts.map +1 -0
  291. package/dist/app/utils/query-monitor.js +7 -0
  292. package/dist/app/utils/trpc-client.d.ts +3 -0
  293. package/dist/app/utils/trpc-client.d.ts.map +1 -0
  294. package/dist/app/utils/trpc-client.js +39 -0
  295. package/dist/app/utils/wp.d.ts +11 -10
  296. package/dist/app/utils/wp.d.ts.map +1 -0
  297. package/dist/node/cli/cli-mode.d.ts +1 -0
  298. package/dist/node/cli/cli-mode.d.ts.map +1 -0
  299. package/dist/node/cli/cli-worker.d.ts +1 -0
  300. package/dist/node/cli/cli-worker.d.ts.map +1 -0
  301. package/dist/node/cli/cli-worker.js +7 -3
  302. package/dist/node/cli/cli.d.ts +1 -0
  303. package/dist/node/cli/cli.d.ts.map +1 -0
  304. package/dist/node/cli/cli.js +122 -8
  305. package/dist/node/cli/display/CLIApp.d.ts +1 -0
  306. package/dist/node/cli/display/CLIApp.d.ts.map +1 -0
  307. package/dist/node/cli/display/CLIApp.js +1 -1
  308. package/dist/node/cli/display/boot-cli-app.d.ts +1 -0
  309. package/dist/node/cli/display/boot-cli-app.d.ts.map +1 -0
  310. package/dist/node/cli/display/boot-cli-app.js +1 -1
  311. package/dist/node/cli/display/components/Fullscreen.d.ts +1 -0
  312. package/dist/node/cli/display/components/Fullscreen.d.ts.map +1 -0
  313. package/dist/node/cli/display/components/LogEntries.d.ts +1 -0
  314. package/dist/node/cli/display/components/LogEntries.d.ts.map +1 -0
  315. package/dist/node/cli/display/components/MenuItem.d.ts +1 -0
  316. package/dist/node/cli/display/components/MenuItem.d.ts.map +1 -0
  317. package/dist/node/cli/display/components/TextInput.d.ts +1 -0
  318. package/dist/node/cli/display/components/TextInput.d.ts.map +1 -0
  319. package/dist/node/cli/display/hooks/useManifest.d.ts +1 -0
  320. package/dist/node/cli/display/hooks/useManifest.d.ts.map +1 -0
  321. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +1 -0
  322. package/dist/node/cli/display/hooks/useStatefulLog.d.ts.map +1 -0
  323. package/dist/node/cli/display/tools/BlockList.d.ts +1 -0
  324. package/dist/node/cli/display/tools/BlockList.d.ts.map +1 -0
  325. package/dist/node/cli/display/tools/CreateBlock.d.ts +1 -0
  326. package/dist/node/cli/display/tools/CreateBlock.d.ts.map +1 -0
  327. package/dist/node/cli/display/tools/cli-tool-list.d.ts +1 -0
  328. package/dist/node/cli/display/tools/cli-tool-list.d.ts.map +1 -0
  329. package/dist/node/cli/display/tools/cli-tools.d.ts +1 -0
  330. package/dist/node/cli/display/tools/cli-tools.d.ts.map +1 -0
  331. package/dist/node/cli/display/util/colors.d.ts +1 -0
  332. package/dist/node/cli/display/util/colors.d.ts.map +1 -0
  333. package/dist/node/cli/version.d.ts +2 -1
  334. package/dist/node/cli/version.d.ts.map +1 -0
  335. package/dist/node/cli/version.js +1 -1
  336. package/dist/node/compiler/build-vinxi.d.ts +1 -0
  337. package/dist/node/compiler/build-vinxi.d.ts.map +1 -0
  338. package/dist/node/compiler/build-vinxi.js +2 -1
  339. package/dist/node/compiler/bundler.admin.d.ts +1 -0
  340. package/dist/node/compiler/bundler.admin.d.ts.map +1 -0
  341. package/dist/node/compiler/bundler.admin.js +1 -0
  342. package/dist/node/compiler/bundler.frontend.d.ts +2 -0
  343. package/dist/node/compiler/bundler.frontend.d.ts.map +1 -0
  344. package/dist/node/compiler/bundler.frontend.js +26 -11
  345. package/dist/node/compiler/dev-server.d.ts +4 -1
  346. package/dist/node/compiler/dev-server.d.ts.map +1 -0
  347. package/dist/node/compiler/dev-server.js +34 -11
  348. package/dist/node/compiler/get-vite-config.d.ts +12 -1
  349. package/dist/node/compiler/get-vite-config.d.ts.map +1 -0
  350. package/dist/node/compiler/get-vite-config.js +176 -42
  351. package/dist/node/compiler/vinxi-app.d.ts +13 -0
  352. package/dist/node/compiler/vinxi-app.d.ts.map +1 -0
  353. package/dist/node/compiler/vinxi-app.js +165 -32
  354. package/dist/node/compiler/vinxi-codegen.d.ts +1 -0
  355. package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -0
  356. package/dist/node/compiler/vinxi-codegen.js +372 -108
  357. package/dist/node/graphql/graphql-codegen.d.ts +12 -1
  358. package/dist/node/graphql/graphql-codegen.d.ts.map +1 -0
  359. package/dist/node/graphql/graphql-codegen.js +239 -37
  360. package/dist/node/graphql/graphql-schema-loader.d.ts +3 -1
  361. package/dist/node/graphql/graphql-schema-loader.d.ts.map +1 -0
  362. package/dist/node/graphql/graphql-schema-loader.js +5 -16
  363. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +3 -1
  364. package/dist/node/graphql/plugins/gql-plugin-files.d.ts.map +1 -0
  365. package/dist/node/graphql/plugins/gql-plugin-files.js +3 -2
  366. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +1 -0
  367. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts.map +1 -0
  368. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +1 -0
  369. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts.map +1 -0
  370. package/dist/node/graphql/plugins/gql-plugin-queries.js +2 -2
  371. package/dist/node/graphql/query-files-loader.d.ts +4 -0
  372. package/dist/node/graphql/query-files-loader.d.ts.map +1 -0
  373. package/dist/node/graphql/query-files-loader.js +5 -0
  374. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  375. package/dist/node/graphql/wp-info-query.d.ts.map +1 -0
  376. package/dist/node/project/config.d.ts +207 -73
  377. package/dist/node/project/config.d.ts.map +1 -0
  378. package/dist/node/project/config.js +94 -20
  379. package/dist/node/project/eddev-build-file.d.ts +1 -0
  380. package/dist/node/project/eddev-build-file.d.ts.map +1 -0
  381. package/dist/node/project/eddev-build-file.js +4 -2
  382. package/dist/node/project/env.d.ts +5 -0
  383. package/dist/node/project/env.d.ts.map +1 -0
  384. package/dist/node/project/env.js +1 -0
  385. package/dist/node/project/favicons.d.ts +1 -1
  386. package/dist/node/project/favicons.d.ts.map +1 -0
  387. package/dist/node/project/favicons.js +1 -1
  388. package/dist/node/project/manifest/block-manifest.d.ts +1 -0
  389. package/dist/node/project/manifest/block-manifest.d.ts.map +1 -0
  390. package/dist/node/project/manifest/block-manifest.js +6 -2
  391. package/dist/node/project/manifest/field-manifest.d.ts +1 -0
  392. package/dist/node/project/manifest/field-manifest.d.ts.map +1 -0
  393. package/dist/node/project/manifest/manifest.d.ts +2 -0
  394. package/dist/node/project/manifest/manifest.d.ts.map +1 -0
  395. package/dist/node/project/manifest/manifest.js +14 -10
  396. package/dist/node/project/manifest/routes-manifest.d.ts +21 -0
  397. package/dist/node/project/manifest/routes-manifest.d.ts.map +1 -0
  398. package/dist/node/project/manifest/routes-manifest.js +74 -0
  399. package/dist/node/project/manifest/view-manifest.d.ts +1 -0
  400. package/dist/node/project/manifest/view-manifest.d.ts.map +1 -0
  401. package/dist/node/project/manifest/widget-manifest.d.ts +1 -0
  402. package/dist/node/project/manifest/widget-manifest.d.ts.map +1 -0
  403. package/dist/node/project/project.d.ts +12 -0
  404. package/dist/node/project/project.d.ts.map +1 -0
  405. package/dist/node/project/project.js +55 -1
  406. package/dist/node/project/wp-info.d.ts +3 -0
  407. package/dist/node/project/wp-info.d.ts.map +1 -0
  408. package/dist/node/project/wp-info.js +10 -1
  409. package/dist/node/storybook/index.d.ts +3 -0
  410. package/dist/node/storybook/index.d.ts.map +1 -0
  411. package/dist/node/storybook/index.js +13 -0
  412. package/dist/node/types/block-type.d.ts +57 -25
  413. package/dist/node/types/block-type.d.ts.map +1 -0
  414. package/dist/node/types/block-type.js +4 -1
  415. package/dist/node/types/view-type.d.ts +8 -7
  416. package/dist/node/types/view-type.d.ts.map +1 -0
  417. package/dist/node/utils/fetch-wp.d.ts +2 -0
  418. package/dist/node/utils/fetch-wp.d.ts.map +1 -0
  419. package/dist/node/utils/fetch-wp.js +28 -0
  420. package/dist/node/utils/format-zod-error.d.ts +1 -0
  421. package/dist/node/utils/format-zod-error.d.ts.map +1 -0
  422. package/dist/node/utils/fs-codegen.d.ts +4 -0
  423. package/dist/node/utils/fs-codegen.d.ts.map +1 -0
  424. package/dist/node/utils/fs-codegen.js +10 -2
  425. package/dist/node/utils/fs.d.ts +6 -1
  426. package/dist/node/utils/fs.d.ts.map +1 -0
  427. package/dist/node/utils/get-repo-info.d.ts +1 -0
  428. package/dist/node/utils/get-repo-info.d.ts.map +1 -0
  429. package/dist/node/utils/helpers.d.ts +1 -0
  430. package/dist/node/utils/helpers.d.ts.map +1 -0
  431. package/dist/node/utils/highlight-code.d.ts +1 -0
  432. package/dist/node/utils/highlight-code.d.ts.map +1 -0
  433. package/dist/node/utils/is-deploying.d.ts +1 -0
  434. package/dist/node/utils/is-deploying.d.ts.map +1 -0
  435. package/dist/node/utils/is-deploying.js +1 -1
  436. package/dist/node/utils/report-builder.d.ts +7 -6
  437. package/dist/node/utils/report-builder.d.ts.map +1 -0
  438. package/dist/node/utils/self-signed-cert.d.ts +5 -0
  439. package/dist/node/utils/self-signed-cert.d.ts.map +1 -0
  440. package/dist/node/utils/self-signed-cert.js +28 -4
  441. package/dist/node/utils/stateful-log.d.ts +1 -0
  442. package/dist/node/utils/stateful-log.d.ts.map +1 -0
  443. package/dist/node/utils/stateful-log.js +2 -0
  444. package/dist/node/utils/ts-export-extractor.d.ts +1 -0
  445. package/dist/node/utils/ts-export-extractor.d.ts.map +1 -0
  446. package/dist/node/utils/watch-file-tree.d.ts +18 -3
  447. package/dist/node/utils/watch-file-tree.d.ts.map +1 -0
  448. package/dist/node/utils/watch-file-tree.js +12 -5
  449. package/package.json +40 -24
  450. package/tsconfig.app.json +10 -5
  451. package/tsconfig.node.json +3 -2
  452. package/types.app.d.ts +2 -0
  453. package/types.env.d.ts +3 -0
  454. package/types.meta.d.ts +449 -136
  455. package/dist/app/lib/blocks/ErrorBoundaryFrontend.d.ts +0 -15
  456. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +0 -35
  457. package/dist/app/lib/hooks/apiConfig.js +0 -4
  458. package/dist/app/lib/hooks/usePageLoad.d.ts +0 -6
  459. package/dist/app/lib/hooks/usePageLoad.js +0 -5
@@ -1,4 +1,6 @@
1
- import { code } from "ts-poet";
1
+ import { camelCase, pascalCase } from "change-case-all";
2
+ import { code, imp } from "ts-poet";
3
+ import { ProjectEnvUtils } from "../project/env.js";
2
4
  import { FSCodegen } from "../utils/fs-codegen.js";
3
5
  export function getVinxiFolder(opts) {
4
6
  return (opts.mode === "development" ? "dev" : "prod") + (opts.serverless ? "" : "-spa");
@@ -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
 
@@ -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,149 +177,283 @@ 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",
188
+ generate: code /* tsx */ `
189
+ /// <reference types="vinxi/types/server" />
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"
194
+
195
+ const router = createRouter()
196
+ .get(
197
+ "/enable",
198
+ eventHandler(async (event) => {
199
+ if (!BYPASS_TOKEN) return false
200
+
201
+ setCookie(event, COOKIE_NAME, BYPASS_TOKEN, {
202
+ expires: new Date(Date.now() + 1000 * 60 * 60 * 24),
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
+ }
232
+ if (opts.serverless) {
233
+ codegen.registerFile({
234
+ name: "handler.ssr-page.ts",
157
235
  generate: code /* tsx */ `
158
236
  /// <reference types="vinxi/types/server" />
159
- import { createRouter, eventHandler, getRouterParam, getQuery, getWebRequest, getRequestHeaders } from "vinxi/http"
237
+ import "../../${project.cssEntryFile}"
238
+ import "./manifest/blocks.js"
239
+ import "./manifest/styles.js"
240
+ import "./manifest/views.js"
241
+ import "./context.js"
242
+ import { proxyWpAdmin, renderPage, renderPageForIndexing, ServerContext } from "eddev/server"
243
+ import {
244
+ createRouter,
245
+ eventHandler,
246
+ getQuery,
247
+ getRequestHeaders,
248
+ getRequestURL,
249
+ getRouterParam,
250
+ getWebRequest,
251
+ getCookie
252
+ } from "vinxi/http"
253
+ import { handleRPC } from "./rpc.js"
160
254
  import { serverContext } from "./context.js"
255
+ import { getManifest } from "vinxi/manifest"
256
+ import { inspect } from "node:util"
257
+ import { withTrailingSlash } from 'ufo'
258
+ import { viewManifestReader, blockManifestReader } from 'eddev/_internal'
161
259
 
162
260
  const router = createRouter()
163
261
  .get(
164
- "/route/",
262
+ "/_data/route/",
165
263
  eventHandler(async (event) => {
166
264
  const id = "/"
265
+ const url = getRequestURL(event)
167
266
 
168
- return await serverContext.fetchRouteData({
169
- pathname: id,
170
- withAppData: false,
171
- })
267
+ return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin, bypass: serverContext.shouldBypass(event) })
172
268
  }),
173
269
  )
174
270
  .get(
175
- "/route/**:name",
271
+ "/_data/route/**:name",
176
272
  eventHandler(async (event) => {
177
273
  const id = "/" + getRouterParam(event, "name")
274
+ const url = getRequestURL(event)
178
275
 
179
- return await serverContext.fetchRouteData({
180
- pathname: id,
181
- withAppData: false,
182
- })
276
+ return await serverContext.fetchRouteData({ pathname: id, newOrigin: url.origin, bypass: serverContext.shouldBypass(event) })
183
277
  }),
184
278
  )
185
279
  .get(
186
- "/query/**:name",
280
+ "/_data/query/**:name",
187
281
  eventHandler(async (event) => {
188
282
  const id = "/" + getRouterParam(event, "name")
283
+ const url = getRequestURL(event)
189
284
  const paramString = getQuery(event).params
190
285
 
191
- const params = typeof paramString === "string" && paramString.length ? JSON.parse(paramString) : {}
286
+ const req = getWebRequest(event)
192
287
 
193
- return await serverContext.fetchNamedQuery({
194
- name: id,
195
- params: params,
196
- headers: getRequestHeaders(event),
197
- })
288
+ let params = {}
289
+ try {
290
+ params = typeof paramString === "string" && paramString.length ? JSON.parse(paramString) : {}
291
+ } catch (e) {
292
+ throw new Error("Invalid query parameters")
293
+ }
294
+
295
+ return await serverContext.fetchNamedQuery({ name: id, params: params, headers: getRequestHeaders(event), bypass: serverContext.shouldBypass(event) })
296
+ }),
297
+ )
298
+ .get(
299
+ "/_data/manifest/**:input",
300
+ eventHandler(async (event) => {
301
+ const manifest = getManifest("client")
302
+ const id = getRouterParam(event, "input")
303
+ const input = manifest.inputs[id === 'handler' ? manifest.handler : id]
304
+ const result = {
305
+ ...input,
306
+ id,
307
+ assets: await input.assets(),
308
+ }
309
+ const code = inspect(result, { depth: 10 })
310
+ return new Response(code, { headers: { "Content-Type": "text/plain" } })
198
311
  }),
199
312
  )
200
313
  .post(
201
- "/mutation/**:name",
314
+ "/_data/mutation/**:name",
202
315
  eventHandler(async (event) => {
203
316
  const id = "/" + getRouterParam(event, "name")
204
317
  const body = await getWebRequest(event).json()
205
- return await serverContext.fetchMutation({
206
- name: id,
207
- body,
208
- headers: {},
318
+ return await serverContext.fetchMutation({ name: id, body, headers: getRequestHeaders(event) })
319
+ }),
320
+ )
321
+ .post(
322
+ "/_data/submit-gf",
323
+ eventHandler(async (event) => {
324
+ const req = getWebRequest(event)
325
+ const headers = new Headers(req.headers)
326
+ headers.delete("content-length")
327
+ headers.delete("host")
328
+ headers.delete("connection")
329
+ headers.delete("pragma")
330
+ return await serverContext.fetchOrigin("/wp-json/ed/v1/gf/submit/", {
331
+ method: "POST",
332
+ headers: headers,
333
+ body: await req.blob(),
334
+ })
335
+ }),
336
+ )
337
+
338
+ const aiRouter = createRouter()
339
+ .get(
340
+ "/_ai/page",
341
+ eventHandler(async (event) => {
342
+ const id = "/"
343
+ const url = getRequestURL(event)
344
+ const page = await renderPageForIndexing({ pathname: id, newOrigin: url.origin, hostname: url.hostname })
345
+ return new Response(page.contents, {
346
+ headers: {
347
+ "Content-Type": "text/html; charset=utf-8",
348
+ "Cache-Control": "no-store",
349
+ },
350
+ })
351
+ }),
352
+ )
353
+ .get(
354
+ "/_ai/page/**:name",
355
+ eventHandler(async (event) => {
356
+ const id = "/" + getRouterParam(event, "name")
357
+ const url = getRequestURL(event)
358
+
359
+ const page = await renderPageForIndexing({ pathname: id, newOrigin: url.origin, hostname: url.hostname })
360
+ return new Response(page.contents, {
361
+ headers: {
362
+ "Content-Type": "text/html; charset=utf-8",
363
+ "Cache-Control": "no-store",
364
+ },
209
365
  })
210
366
  }),
211
367
  )
212
368
 
213
- export default router.handler
369
+ export default eventHandler({
370
+ handler: async (event) => {
371
+ const serverContext = ServerContext.main
372
+ const url = getRequestURL(event)
214
373
 
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.js"
225
- import "./manifest/styles.js"
226
- import "./manifest/views.js"
227
-
228
- import { renderPageToSSRStream, proxyWpAdmin } from "eddev/server"
229
- import { eventHandler, setResponseHeader, setResponseStatus, getRequestURL } from "vinxi/http"
230
- import { serverContext } from "./context.js"
231
- import { getManifest } from "vinxi/manifest"
232
-
233
- export default eventHandler({
234
- handler: async (event) => {
235
- const url = getRequestURL(event)
236
-
237
- if (url.pathname.includes('.')) {
238
- return proxyWpAdmin(event, serverContext)
239
- }
374
+ await Promise.allSettled([viewManifestReader.preloadAll(), blockManifestReader.preloadAll()])
240
375
 
241
- const response = await serverContext.fetchRouteData({
242
- pathname: url.pathname,
243
- withAppData: true,
244
- headers: {},
245
- query: {},
246
- })
247
- if (response.ok) {
248
- setResponseStatus(event, response.status)
249
- setResponseHeader(event, "Content-Type", "text/html; charset=utf-8")
250
- return renderPageToSSRStream(url.pathname, await response.json(), serverContext)
251
- } else {
252
- return response
253
- }
254
- },
255
- })
376
+ // RPC
377
+ const isRPC = serverContext.rpcBases.some((base) => url.pathname.startsWith(base))
378
+ if (isRPC) {
379
+ return handleRPC(event)
380
+ }
381
+
382
+ // Data API
383
+ if (url.pathname.startsWith("/_data/")) {
384
+ return router.handler(event)
385
+ }
386
+
387
+ // LLM indexing route
388
+ if (url.pathname.startsWith("/_ai/")) {
389
+ return aiRouter.handler(event)
390
+ }
256
391
 
392
+ // Outdated build assets
393
+ if (url.pathname.match(/^\\/(_build|_admin)/)) {
394
+ return new Response("", { status: 404 })
395
+ }
396
+
397
+ // Proxy WordPress
398
+ if (url.pathname.includes(".") || url.pathname.startsWith("/graphql") || url.pathname.startsWith("/wp-")) {
399
+ return proxyWpAdmin(event)
400
+ }
401
+
402
+ // Enforce trailing slashes
403
+ if (!url.pathname.endsWith("/")) {
404
+ url.pathname = withTrailingSlash(url.pathname)
405
+ return Response.redirect(url, 301)
406
+ }
407
+
408
+ // SSR
409
+ return renderPage({ pathname: url.pathname, newOrigin: url.origin, hostname: url.hostname, bypass: shouldBypass(event) })
410
+ },
411
+ })
257
412
  `,
258
413
  });
259
414
  }
260
415
  if (opts.serverless) {
261
- codegen.registerFile({
262
- name: "handler.wp-proxy.ts",
263
- generate: code /* tsx */ `
264
- /// <reference types="vinxi/types/server" />
265
- import { proxyWpAdmin } from "eddev/server"
266
- import { eventHandler } from "vinxi/http"
267
- import { serverContext } from "./context.js"
268
-
269
- export default eventHandler(async (event) => {
270
- return proxyWpAdmin(event, serverContext)
271
- })
272
- `,
273
- });
416
+ // codegen.registerFile({
417
+ // name: "handler.wp-proxy.ts",
418
+ // generate: code/* tsx */ `
419
+ // /// <reference types="vinxi/types/server" />
420
+ // import { proxyWpAdmin } from "eddev/server"
421
+ // import { eventHandler } from "vinxi/http"
422
+ // import "./context.js"
423
+ // export default eventHandler(async (event) => {
424
+ // return proxyWpAdmin(event)
425
+ // })
426
+ // `,
427
+ // })
274
428
  }
275
429
  codegen.registerFile({
276
430
  name: "manifest/blocks.ts",
277
431
  generate: async () => {
278
432
  const blockManifest = await project.blocks.get();
433
+ let blockImports = [];
434
+ let blockEntries = [];
435
+ for (const [name, block] of Object.entries(blockManifest.blocks)) {
436
+ if (name.match(/^_[a-z]+$/i))
437
+ continue;
438
+ const importSource = JSON.stringify("../../../" + block.fileName);
439
+ const jsName = pascalCase(name);
440
+ if (block.dynamic) {
441
+ const importStatement = `dynamic(() => import(${importSource}), ${JSON.stringify(block.fileName)})`;
442
+ blockEntries.push(JSON.stringify(block.acfName) + ": " + importStatement);
443
+ }
444
+ else {
445
+ blockImports.push(`import ${jsName} from ${importSource}`);
446
+ blockEntries.push(JSON.stringify(block.acfName) + ": " + jsName);
447
+ }
448
+ }
279
449
  return code /* ts */ `
280
450
  import { blockManifestReader } from 'eddev/_internal'
281
451
  import { dynamic } from 'eddev/dynamic'
282
452
  import core from '../../../blocks/_core'
453
+ ${blockImports.join("\n")}
283
454
 
284
455
  const manifest = {
285
- ${Object.entries(blockManifest.blocks)
286
- .filter(([name]) => !name.match(/^_[a-z]+$/i))
287
- .map(([name, block]) => {
288
- const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + block.fileName)}))`;
289
- return JSON.stringify(block.acfName) + ": " + importStatement;
290
- })
291
- .join(",\n")},
456
+ ${blockEntries.join(",\n")},
292
457
  ...core
293
458
  }
294
459
 
@@ -369,14 +534,19 @@ export function createVinxiCodegen(opts) {
369
534
  return code /* ts */ `
370
535
  import { viewManifestReader } from 'eddev/_internal'
371
536
  import { dynamic } from 'eddev/dynamic'
372
- const manifest = {${Object.entries(viewManifest.views)
373
- .map(([name, view]) => {
374
- const importStatement = `dynamic(() => import(${JSON.stringify("../../../" + view.fileName)}))`;
375
- return JSON.stringify(view.slug) + ": " + importStatement;
376
- })
377
- .join(",\n")}}
378
-
379
- viewManifestReader.value = manifest
537
+ const manifest = {${Object.entries(viewManifest.views).map(([name, view]) => {
538
+ const src = "../../../" + view.fileName;
539
+ let importStatement;
540
+ if (name.startsWith("_")) {
541
+ importStatement = imp(name + "=" + src);
542
+ }
543
+ else {
544
+ importStatement = code `dynamic(() => import(${JSON.stringify(src)}), ${JSON.stringify(view.fileName)})`;
545
+ }
546
+ return code `${JSON.stringify(view.slug)}: ${importStatement},\n`;
547
+ })}}
548
+
549
+ viewManifestReader.set(manifest)
380
550
 
381
551
  export default manifest
382
552
 
@@ -413,5 +583,99 @@ export function createVinxiCodegen(opts) {
413
583
  `;
414
584
  },
415
585
  });
586
+ if (opts.serverless) {
587
+ codegen.registerFile({
588
+ name: "manifest/routes.ts",
589
+ generate: async () => {
590
+ const routeManifest = await project.serverRoutes.get();
591
+ return code /* ts */ `
592
+ import { instantiateRouter } from "eddev/server"
593
+ ${routeManifest.contextFileName
594
+ ? code /*ts*/ `
595
+ import createContext from "../../../${routeManifest.contextFileName}"
596
+ `
597
+ : code /*ts*/ `
598
+ const createContext = () => ({})
599
+ `}
600
+
601
+ const router = instantiateRouter({${Object.entries(routeManifest.routes).map(([name, route]) => {
602
+ const src = "../../../" + route.fileName;
603
+ const importStatement = imp(camelCase(name) + "=" + src);
604
+ return code `${JSON.stringify(route.prefix)}: ${importStatement},\n`;
605
+ })}})
606
+
607
+ export { createContext, router }
608
+ `;
609
+ },
610
+ subscribe: project.serverRoutes.subscribe,
611
+ });
612
+ codegen.registerFile({
613
+ name: "rpc.ts",
614
+ generate: code /* tsx */ `
615
+ /// <reference types="vinxi/types/server" />
616
+ import "./context.js"
617
+ import { fetchRequestHandler } from "@trpc/server/adapters/fetch"
618
+ import { parseURL, stringifyParsedURL } from "ufo"
619
+ import { EventHandlerRequest, getWebRequest, H3Event, setResponseHeaders } from "vinxi/http"
620
+ import { createContext, router } from "./manifest/routes.ts"
621
+ import { ServerContext } from "eddev/server"
622
+
623
+ export function handleRPC(event: H3Event<EventHandlerRequest>) {
624
+ const serverContext = ServerContext.main
625
+
626
+ // Handle CORS
627
+ setResponseHeaders(event, serverContext.getCorsHeaders(event.headers.get("origin") ?? event.headers.get("referer") ?? ""))
628
+ if (event.method === "OPTIONS") {
629
+ event.node.res.statusCode = 204
630
+ event.node.res.statusMessage = "No Content."
631
+ return "OK"
632
+ }
633
+
634
+ // Update URLs with dots, which tRPC prefers
635
+ const originalReq = getWebRequest(event)
636
+ const parsed = parseURL(originalReq.url)
637
+ parsed.pathname = "/" + parsed.pathname.replace(/(^\\/|\\/$)/g, "").replace(/\\//g, ".")
638
+ const req = new Request(stringifyParsedURL(parsed), originalReq)
639
+
640
+ // Handle any early results which are Responses
641
+ function processEarlyResult(value: any): Response | undefined {
642
+ if (value instanceof Response) {
643
+ return value
644
+ }
645
+ }
646
+
647
+ return new Promise(async (resolve) => {
648
+ let sent = false
649
+ const defaultResponse = await fetchRequestHandler({
650
+ endpoint: "/",
651
+ req: req,
652
+ router: router,
653
+ createContext: async (opts) => {
654
+ return {
655
+ ...(await createContext(opts)),
656
+ searchParams: opts.info.url?.searchParams,
657
+ server: serverContext,
658
+ }
659
+ },
660
+ onError: (err) => console.error(err),
661
+ batching: { enabled: false },
662
+ // If a Response object is returned by a route, it will be sent as the response
663
+ responseMeta(opts) {
664
+ const value = opts?.data?.[0]?.["result"]?.["data"]
665
+ const response = processEarlyResult(value)
666
+ if (response) {
667
+ sent = true
668
+ resolve(response)
669
+ }
670
+ return {}
671
+ },
672
+ })
673
+ if (sent) return
674
+ resolve(defaultResponse)
675
+ })
676
+ }
677
+ `,
678
+ });
679
+ }
416
680
  return codegen;
417
681
  }
@@ -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;IAsOd,OAAO,CAAC,mBAAmB;IAwE3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;YAoEd,UAAU;IAqDlB,iBAAiB;IAkFjB,gBAAgB;IAyCtB;;OAEG;YACW,eAAe;CAQ9B"}