eddev 0.3.35 → 2.0.0-beta.2

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 (567) hide show
  1. package/bin/eddev.js +1 -3
  2. package/css/devtools.css +15 -0
  3. package/css/editor-styles.css +94 -0
  4. package/dist/app/entry/Root.d.ts +1 -0
  5. package/dist/app/entry/Root.js +9 -0
  6. package/dist/app/entry/main.admin.d.ts +3 -0
  7. package/dist/app/entry/main.admin.js +10 -0
  8. package/dist/app/entry/main.frontend.spa.d.ts +3 -0
  9. package/dist/app/entry/main.frontend.spa.js +13 -0
  10. package/dist/app/entry/main.frontend.ssr.d.ts +21 -0
  11. package/dist/app/entry/main.frontend.ssr.js +79 -0
  12. package/dist/app/entry/main.serverless.dev.d.ts +4 -0
  13. package/dist/app/entry/main.serverless.dev.js +21 -0
  14. package/{admin → dist/app/lib/admin}/defineField.d.ts +2 -2
  15. package/dist/app/lib/admin/defineField.js +3 -0
  16. package/{admin → dist/app/lib/admin}/defineWidget.d.ts +1 -1
  17. package/dist/app/lib/admin/defineWidget.js +6 -0
  18. package/dist/app/lib/admin/index.d.ts +2 -0
  19. package/dist/app/lib/admin/index.js +2 -0
  20. package/dist/app/lib/admin/installFieldTypes.js +92 -0
  21. package/dist/app/lib/admin/runWidgets.js +38 -0
  22. package/dist/app/lib/blocks/ContentBlocks.d.ts +83 -0
  23. package/dist/app/lib/blocks/ContentBlocks.js +92 -0
  24. package/dist/app/lib/blocks/EditableText.d.ts +41 -0
  25. package/dist/app/lib/blocks/EditableText.js +50 -0
  26. package/{blocks → dist/app/lib/blocks}/ErrorBoundaryFrontend.d.ts +2 -2
  27. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +35 -0
  28. package/dist/app/lib/blocks/InnerBlocks.d.ts +42 -0
  29. package/dist/app/lib/blocks/InnerBlocks.js +55 -0
  30. package/dist/app/lib/blocks/block-utils.d.ts +24 -0
  31. package/dist/app/lib/blocks/block-utils.js +41 -0
  32. package/dist/app/lib/blocks/defineBlock.d.ts +2 -0
  33. package/dist/app/lib/blocks/defineBlock.js +3 -0
  34. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +5 -0
  35. package/dist/app/lib/blocks/editor/EditorSupport.js +19 -0
  36. package/{blocks → dist/app/lib/blocks/editor}/ErrorBoundaryEditor.d.ts +1 -1
  37. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.js +28 -0
  38. package/dist/app/lib/blocks/editor/block-templates.d.ts +3 -0
  39. package/dist/app/lib/blocks/editor/block-templates.js +9 -0
  40. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +7 -0
  41. package/dist/app/lib/blocks/editor/blocks-by-tag.js +42 -0
  42. package/dist/app/lib/blocks/editor/controls.d.ts +10 -0
  43. package/dist/app/lib/blocks/editor/controls.js +20 -0
  44. package/dist/app/lib/blocks/editor/editor-config.d.ts +58 -0
  45. package/dist/app/lib/blocks/editor/editor-config.js +191 -0
  46. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +2 -0
  47. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +131 -0
  48. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +27 -0
  49. package/dist/app/lib/blocks/editor/usePostEditor.js +79 -0
  50. package/dist/app/lib/blocks/index.d.ts +9 -0
  51. package/dist/app/lib/blocks/index.js +9 -0
  52. package/dist/app/lib/blocks/inline-editing.d.ts +54 -0
  53. package/dist/app/lib/blocks/inline-editing.js +114 -0
  54. package/dist/app/lib/devtools/components/BreakpointIndicator.js +79 -0
  55. package/{dev-ui → dist/app/lib/devtools}/components/DevUI.d.ts +1 -0
  56. package/dist/app/lib/devtools/components/DevUI.js +6 -0
  57. package/dist/app/lib/devtools/hooks/usePersistState.js +31 -0
  58. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +4184 -0
  59. package/dist/app/lib/devtools/hooks/useTailwind.js +6 -0
  60. package/dist/app/lib/devtools/index.js +1 -0
  61. package/dist/app/lib/devtools/loader.js +23 -0
  62. package/dist/app/lib/devtools/tailwind.config.d.ts +23 -0
  63. package/dist/app/lib/devtools/tailwind.config.js +24 -0
  64. package/{hooks → dist/app/lib/devtools}/useQueryDebug.d.ts +1 -1
  65. package/dist/app/lib/devtools/useQueryDebug.js +13 -0
  66. package/dist/app/lib/dynamic/dynamic.d.ts +8 -0
  67. package/dist/app/lib/dynamic/dynamic.js +25 -0
  68. package/dist/app/lib/dynamic/index.d.ts +1 -0
  69. package/dist/app/lib/dynamic/index.js +1 -0
  70. package/dist/app/lib/hooks/apiConfig.d.ts +18 -0
  71. package/dist/app/lib/hooks/apiConfig.js +4 -0
  72. package/{hooks → dist/app/lib/hooks}/index.d.ts +2 -0
  73. package/dist/app/lib/hooks/index.js +5 -0
  74. package/dist/app/lib/hooks/queryUtils.d.ts +46 -0
  75. package/dist/app/lib/hooks/queryUtils.js +183 -0
  76. package/dist/app/lib/hooks/useAppData.d.ts +4 -0
  77. package/dist/app/lib/hooks/useAppData.js +11 -0
  78. package/{hooks → dist/app/lib/hooks}/usePageLoad.d.ts +1 -1
  79. package/dist/app/lib/hooks/usePageLoad.js +5 -0
  80. package/dist/app/lib/hooks/useRPC.d.ts +9 -0
  81. package/dist/app/lib/hooks/useRPC.js +9 -0
  82. package/dist/app/lib/internal/index.d.ts +4 -0
  83. package/dist/app/lib/internal/index.js +4 -0
  84. package/dist/app/lib/internal/internal-store.d.ts +11 -0
  85. package/dist/app/lib/internal/internal-store.js +9 -0
  86. package/dist/app/lib/internal/read-admin-manifest.d.ts +19 -0
  87. package/dist/app/lib/internal/read-admin-manifest.js +17 -0
  88. package/dist/app/lib/internal/read-block-manifest.d.ts +15 -0
  89. package/dist/app/lib/internal/read-block-manifest.js +16 -0
  90. package/dist/app/lib/internal/read-view-manifest.d.ts +12 -0
  91. package/dist/app/lib/internal/read-view-manifest.js +3 -0
  92. package/dist/app/lib/legacy-stitches/createStitches.d.ts +615 -0
  93. package/dist/app/lib/legacy-stitches/createStitches.js +439 -0
  94. package/dist/app/lib/legacy-stitches/index.js +1 -0
  95. package/{components → dist/app/lib/routing/components}/BrowserRouter.d.ts +2 -4
  96. package/dist/app/lib/routing/components/BrowserRouter.js +351 -0
  97. package/dist/app/lib/routing/components/ClientOnly.d.ts +12 -0
  98. package/dist/app/lib/routing/components/ClientOnly.js +14 -0
  99. package/dist/app/lib/routing/components/Link.d.ts +26 -0
  100. package/dist/app/lib/routing/components/Link.js +93 -0
  101. package/dist/app/lib/routing/components/RouteRenderer.d.ts +9 -0
  102. package/dist/app/lib/routing/components/RouteRenderer.js +28 -0
  103. package/dist/app/lib/routing/components/SSRRouter.d.ts +9 -0
  104. package/dist/app/lib/routing/components/SSRRouter.js +14 -0
  105. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +15 -0
  106. package/dist/app/lib/routing/components/ScrollRestoration.js +32 -0
  107. package/dist/app/lib/routing/context.d.ts +5 -0
  108. package/dist/app/lib/routing/context.js +129 -0
  109. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +8 -0
  110. package/dist/app/lib/routing/hooks/useIsSSR.js +22 -0
  111. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +5 -0
  112. package/dist/app/lib/routing/hooks/useRestorableState.js +17 -0
  113. package/dist/app/lib/routing/hooks/useRoute.d.ts +2 -0
  114. package/dist/app/lib/routing/hooks/useRoute.js +5 -0
  115. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +4 -0
  116. package/dist/app/lib/routing/hooks/useRouteTransition.js +12 -0
  117. package/dist/app/lib/routing/hooks/useRouter.d.ts +2 -0
  118. package/dist/app/lib/routing/hooks/useRouter.js +11 -0
  119. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +2 -0
  120. package/dist/app/lib/routing/hooks/useRouterEvents.js +10 -0
  121. package/dist/app/lib/routing/hooks/useRouterState.d.ts +2 -0
  122. package/dist/app/lib/routing/hooks/useRouterState.js +8 -0
  123. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +10 -0
  124. package/dist/app/lib/routing/hooks/useSearchParams.js +30 -0
  125. package/dist/app/lib/routing/index.d.ts +13 -0
  126. package/dist/app/lib/routing/index.js +13 -0
  127. package/dist/app/lib/routing/loader.d.ts +30 -0
  128. package/dist/app/lib/routing/loader.js +106 -0
  129. package/dist/app/lib/routing/types.d.ts +138 -0
  130. package/dist/app/lib/routing/utils.d.ts +15 -0
  131. package/dist/app/lib/routing/utils.js +94 -0
  132. package/dist/app/lib/views/defineView.d.ts +4 -0
  133. package/dist/app/lib/views/defineView.js +3 -0
  134. package/dist/app/lib/views/index.js +1 -0
  135. package/dist/app/server/create-api-builtin-hono.d.ts +8 -0
  136. package/dist/app/server/create-api-builtin-hono.js +80 -0
  137. package/dist/app/server/create-ssr-hono.d.ts +18 -0
  138. package/dist/app/server/create-ssr-hono.js +104 -0
  139. package/dist/app/server/utils/headers.d.ts +4 -0
  140. package/dist/app/server/utils/headers.js +11 -0
  141. package/dist/app/server/utils/index.html.d.ts +2 -0
  142. package/dist/app/server/utils/index.html.js +14 -0
  143. package/dist/app/server/utils/replace-host.d.ts +8 -0
  144. package/dist/app/server/utils/replace-host.js +14 -0
  145. package/dist/app/utils/query-client.d.ts +2 -0
  146. package/dist/app/utils/query-client.js +16 -0
  147. package/dist/app/utils/wp.d.ts +26 -0
  148. package/dist/node/cli/cli-mode.d.ts +10 -0
  149. package/dist/node/cli/cli-mode.js +12 -0
  150. package/dist/node/cli/cli-worker.d.ts +13 -0
  151. package/dist/node/cli/cli-worker.js +114 -0
  152. package/dist/node/cli/cli.js +166 -0
  153. package/dist/node/cli/display/CLIApp.d.ts +16 -0
  154. package/dist/node/cli/display/CLIApp.js +117 -0
  155. package/dist/node/cli/display/boot-cli-app.d.ts +2 -0
  156. package/dist/node/cli/display/boot-cli-app.js +10 -0
  157. package/{cli → dist/node/cli}/display/components/Fullscreen.d.ts +1 -1
  158. package/dist/node/cli/display/components/Fullscreen.js +24 -0
  159. package/dist/node/cli/display/components/LogEntries.d.ts +13 -0
  160. package/dist/node/cli/display/components/LogEntries.js +87 -0
  161. package/dist/node/cli/display/components/MenuItem.d.ts +6 -0
  162. package/dist/node/cli/display/components/MenuItem.js +11 -0
  163. package/dist/node/cli/display/components/TextInput.d.ts +44 -0
  164. package/dist/node/cli/display/components/TextInput.js +105 -0
  165. package/dist/node/cli/display/hooks/useManifest.d.ts +2 -0
  166. package/dist/node/cli/display/hooks/useManifest.js +8 -0
  167. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +11 -0
  168. package/dist/node/cli/display/hooks/useStatefulLog.js +51 -0
  169. package/dist/node/cli/display/tools/BlockList.d.ts +2 -0
  170. package/dist/node/cli/display/tools/BlockList.js +10 -0
  171. package/dist/node/cli/display/tools/CreateBlock.d.ts +2 -0
  172. package/dist/node/cli/display/tools/CreateBlock.js +8 -0
  173. package/dist/node/cli/display/tools/cli-tool-list.d.ts +2 -0
  174. package/dist/node/cli/display/tools/cli-tool-list.js +23 -0
  175. package/dist/node/cli/display/tools/cli-tools.d.ts +26 -0
  176. package/dist/node/cli/display/tools/cli-tools.js +15 -0
  177. package/dist/node/cli/display/util/colors.d.ts +4 -0
  178. package/dist/node/cli/display/util/colors.js +63 -0
  179. package/dist/node/cli/version.d.ts +1 -0
  180. package/dist/node/cli/version.js +1 -0
  181. package/dist/node/compiler/bundler.admin.d.ts +13 -0
  182. package/dist/node/compiler/bundler.admin.js +37 -0
  183. package/dist/node/compiler/bundler.frontend.d.ts +13 -0
  184. package/dist/node/compiler/bundler.frontend.js +37 -0
  185. package/dist/node/compiler/index.html.d.ts +2 -0
  186. package/dist/node/compiler/index.html.js +15 -0
  187. package/dist/node/compiler/serverless.dev.d.ts +16 -0
  188. package/dist/node/compiler/serverless.dev.js +215 -0
  189. package/dist/node/compiler/vite/get-vite-config.d.ts +13 -0
  190. package/dist/node/compiler/vite/get-vite-config.js +315 -0
  191. package/dist/node/compiler/vite/plugin-admin.d.ts +4 -0
  192. package/dist/node/compiler/vite/plugin-admin.js +67 -0
  193. package/dist/node/compiler/vite/plugin-blocks.d.ts +4 -0
  194. package/dist/node/compiler/vite/plugin-blocks.js +73 -0
  195. package/dist/node/compiler/vite/plugin-entry.d.ts +6 -0
  196. package/dist/node/compiler/vite/plugin-entry.js +16 -0
  197. package/dist/node/compiler/vite/plugin-resolved-tailwind.d.ts +4 -0
  198. package/dist/node/compiler/vite/plugin-resolved-tailwind.js +29 -0
  199. package/dist/node/compiler/vite/plugin-theme.d.ts +4 -0
  200. package/dist/node/compiler/vite/plugin-theme.js +40 -0
  201. package/dist/node/compiler/vite/plugin-views.d.ts +4 -0
  202. package/dist/node/compiler/vite/plugin-views.js +51 -0
  203. package/dist/node/graphql/graphql-codegen.d.ts +30 -0
  204. package/dist/node/graphql/graphql-codegen.js +503 -0
  205. package/dist/node/graphql/graphql-schema-loader.d.ts +17 -0
  206. package/dist/node/graphql/graphql-schema-loader.js +94 -0
  207. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +14 -0
  208. package/dist/node/graphql/plugins/gql-plugin-files.js +66 -0
  209. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +8 -0
  210. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.js +10 -0
  211. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +8 -0
  212. package/dist/node/graphql/plugins/gql-plugin-queries.js +263 -0
  213. package/dist/node/graphql/query-files-loader.d.ts +26 -0
  214. package/dist/node/graphql/query-files-loader.js +54 -0
  215. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  216. package/dist/node/graphql/wp-info-query.js +29 -0
  217. package/{config/config-schema.d.ts → dist/node/project/config.d.ts} +54 -38
  218. package/dist/node/project/config.js +138 -0
  219. package/dist/node/project/eddev-build-file.d.ts +10 -0
  220. package/dist/node/project/eddev-build-file.js +79 -0
  221. package/dist/node/project/env.d.ts +39 -0
  222. package/dist/node/project/env.js +77 -0
  223. package/dist/node/project/favicons.d.ts +0 -0
  224. package/dist/node/project/favicons.js +1 -0
  225. package/dist/node/project/manifest/block-manifest.d.ts +19 -0
  226. package/dist/node/project/manifest/block-manifest.js +206 -0
  227. package/dist/node/project/manifest/field-manifest.d.ts +17 -0
  228. package/dist/node/project/manifest/field-manifest.js +42 -0
  229. package/dist/node/project/manifest/manifest.d.ts +30 -0
  230. package/dist/node/project/manifest/manifest.js +105 -0
  231. package/dist/node/project/manifest/view-manifest.d.ts +19 -0
  232. package/dist/node/project/manifest/view-manifest.js +152 -0
  233. package/dist/node/project/manifest/widget-manifest.d.ts +17 -0
  234. package/dist/node/project/manifest/widget-manifest.js +42 -0
  235. package/dist/node/project/project.d.ts +57 -0
  236. package/dist/node/project/project.js +115 -0
  237. package/dist/node/project/wp-info.d.ts +32 -0
  238. package/dist/node/project/wp-info.js +34 -0
  239. package/dist/node/types/block-type.d.ts +92 -0
  240. package/dist/node/types/block-type.js +82 -0
  241. package/dist/node/types/view-type.d.ts +31 -0
  242. package/dist/node/types/view-type.js +54 -0
  243. package/dist/node/utils/console.d.ts +21 -0
  244. package/dist/node/utils/console.js +28 -0
  245. package/dist/node/utils/export-extractor.d.ts +9 -0
  246. package/dist/node/utils/export-extractor.js +71 -0
  247. package/dist/node/utils/formatZodError.d.ts +3 -0
  248. package/dist/node/utils/formatZodError.js +33 -0
  249. package/dist/node/utils/fs.d.ts +106 -0
  250. package/dist/node/utils/fs.js +56 -0
  251. package/dist/node/utils/getRepoInfo.d.ts +7 -0
  252. package/dist/node/utils/getRepoInfo.js +21 -0
  253. package/dist/node/utils/helpers.d.ts +2 -0
  254. package/dist/node/utils/helpers.js +14 -0
  255. package/dist/node/utils/highlightCode.d.ts +10 -0
  256. package/dist/node/utils/highlightCode.js +30 -0
  257. package/dist/node/utils/isDeploying.d.ts +4 -0
  258. package/dist/node/utils/isDeploying.js +6 -0
  259. package/dist/node/utils/report-builder.d.ts +9 -0
  260. package/dist/node/utils/report-builder.js +51 -0
  261. package/dist/node/utils/selfSignedCert.d.ts +4 -0
  262. package/dist/node/utils/selfSignedCert.js +35 -0
  263. package/dist/node/utils/statefulLog.d.ts +65 -0
  264. package/dist/node/utils/statefulLog.js +223 -0
  265. package/dist/node/utils/unsafe-fetch.d.ts +2 -0
  266. package/dist/node/utils/unsafe-fetch.js +19 -0
  267. package/dist/node/utils/watchFileTree.d.ts +11 -0
  268. package/dist/node/utils/watchFileTree.js +58 -0
  269. package/package.json +123 -102
  270. package/stitches-archive/config.d.ts +210 -0
  271. package/stitches-archive/css-util.d.ts +119 -0
  272. package/stitches-archive/css.d.ts +9797 -0
  273. package/stitches-archive/index.d.mts +144 -0
  274. package/stitches-archive/index.d.ts +82 -0
  275. package/stitches-archive/index.mjs +2 -0
  276. package/stitches-archive/stitches.d.ts +288 -0
  277. package/stitches-archive/styled-component.d.ts +163 -0
  278. package/stitches-archive/theme.d.ts +43 -0
  279. package/stitches-archive/util.d.ts +32 -0
  280. package/tsconfig.app.json +20 -0
  281. package/tsconfig.json +2 -104
  282. package/tsconfig.node.json +20 -0
  283. package/tsup.config.ts +40 -0
  284. package/types.app.d.ts +22 -0
  285. package/types.app.internal.d.ts +13 -0
  286. package/types.env.d.ts +16 -0
  287. package/types.manifests.d.ts +22 -0
  288. package/types.meta.d.ts +319 -0
  289. package/types.node.d.ts +3 -0
  290. package/admin/components/FileWell.d.ts +0 -8
  291. package/admin/components/FileWell.js +0 -189
  292. package/admin/components/ImageWell.d.ts +0 -9
  293. package/admin/components/ImageWell.js +0 -209
  294. package/admin/defineField.js +0 -7
  295. package/admin/defineWidget.js +0 -10
  296. package/admin/index.d.ts +0 -4
  297. package/admin/index.js +0 -16
  298. package/admin/installFieldTypes.js +0 -71
  299. package/admin/runWidgets.js +0 -55
  300. package/admin/selectMedia.d.ts +0 -31
  301. package/admin/selectMedia.js +0 -9
  302. package/blocks/ContentBlocks.d.ts +0 -40
  303. package/blocks/ContentBlocks.js +0 -125
  304. package/blocks/ErrorBoundaryEditor.js +0 -64
  305. package/blocks/ErrorBoundaryFrontend.js +0 -69
  306. package/blocks/InspectorControls.d.ts +0 -2
  307. package/blocks/InspectorControls.js +0 -13
  308. package/blocks/blockAttributes.d.ts +0 -20
  309. package/blocks/blockAttributes.js +0 -81
  310. package/blocks/defineBlock.d.ts +0 -2
  311. package/blocks/defineBlock.js +0 -7
  312. package/blocks/index.d.ts +0 -5
  313. package/blocks/index.js +0 -23
  314. package/blocks/inlineEditing.d.ts +0 -32
  315. package/blocks/inlineEditing.js +0 -141
  316. package/blocks/installGutenbergHooks.d.ts +0 -2
  317. package/blocks/installGutenbergHooks.js +0 -211
  318. package/build/babel/plugin-name-defined-components.d.ts +0 -7
  319. package/build/babel/plugin-name-defined-components.js +0 -47
  320. package/build/build-favicon.d.ts +0 -1
  321. package/build/build-favicon.js +0 -71
  322. package/build/clean.d.ts +0 -1
  323. package/build/clean.js +0 -60
  324. package/build/create-codegen-worker.d.ts +0 -3
  325. package/build/create-codegen-worker.js +0 -71
  326. package/build/create-serverless-dev-worker.d.ts +0 -3
  327. package/build/create-serverless-dev-worker.js +0 -99
  328. package/build/create-webpack-worker.d.ts +0 -3
  329. package/build/create-webpack-worker.js +0 -64
  330. package/build/file-tree.d.ts +0 -5
  331. package/build/file-tree.js +0 -45
  332. package/build/get-webpack-config.d.ts +0 -3
  333. package/build/get-webpack-config.js +0 -426
  334. package/build/graphql-codegen/graphql-codegen-blocks.d.ts +0 -1
  335. package/build/graphql-codegen/graphql-codegen-blocks.js +0 -7
  336. package/build/graphql-codegen/graphql-codegen-files.js +0 -64
  337. package/build/graphql-codegen/graphql-codegen-no-duplicates.js +0 -13
  338. package/build/graphql-codegen/graphql-codegen-queries.d.ts +0 -1
  339. package/build/graphql-codegen/graphql-codegen-queries.js +0 -248
  340. package/build/manifests/manifest-blocks.d.ts +0 -12
  341. package/build/manifests/manifest-blocks.js +0 -61
  342. package/build/manifests/manifest-fields.d.ts +0 -12
  343. package/build/manifests/manifest-fields.js +0 -42
  344. package/build/manifests/manifest-views.d.ts +0 -12
  345. package/build/manifests/manifest-views.js +0 -49
  346. package/build/manifests/manifest-widgets.d.ts +0 -12
  347. package/build/manifests/manifest-widgets.js +0 -42
  348. package/build/manifests/manifest.d.ts +0 -11
  349. package/build/manifests/manifest.js +0 -100
  350. package/build/reporter.d.ts +0 -12
  351. package/build/reporter.js +0 -102
  352. package/build/serverless/create-next-app.d.ts +0 -9
  353. package/build/serverless/create-next-app.js +0 -536
  354. package/build/state/codegen-state.d.ts +0 -32
  355. package/build/state/codegen-state.js +0 -2
  356. package/build/state/compiler-state.d.ts +0 -49
  357. package/build/state/compiler-state.js +0 -2
  358. package/build/state/serverless-state.d.ts +0 -26
  359. package/build/state/serverless-state.js +0 -2
  360. package/build/workers/codegen-worker-script.d.ts +0 -2
  361. package/build/workers/codegen-worker-script.js +0 -624
  362. package/build/workers/serverless-worker-dev-script.d.ts +0 -1
  363. package/build/workers/serverless-worker-dev-script.js +0 -21
  364. package/build/workers/webpack-worker-script.d.ts +0 -2
  365. package/build/workers/webpack-worker-script.js +0 -171
  366. package/cli/build.dev.d.ts +0 -7
  367. package/cli/build.dev.js +0 -136
  368. package/cli/build.prod.d.ts +0 -5
  369. package/cli/build.prod.js +0 -107
  370. package/cli/cli.js +0 -90
  371. package/cli/display/components/BundleDisplay.d.ts +0 -5
  372. package/cli/display/components/BundleDisplay.js +0 -56
  373. package/cli/display/components/CodegenDisplay.d.ts +0 -5
  374. package/cli/display/components/CodegenDisplay.js +0 -62
  375. package/cli/display/components/DevCLIDisplay.d.ts +0 -12
  376. package/cli/display/components/DevCLIDisplay.js +0 -42
  377. package/cli/display/components/Fullscreen.js +0 -39
  378. package/cli/display/components/ServerlessDisplay.d.ts +0 -8
  379. package/cli/display/components/ServerlessDisplay.js +0 -68
  380. package/cli/display/components/StatusIcon.d.ts +0 -5
  381. package/cli/display/components/StatusIcon.js +0 -9
  382. package/cli/preinstall.d.ts +0 -1
  383. package/cli/preinstall.js +0 -19
  384. package/cli/setup.d.ts +0 -1
  385. package/cli/setup.js +0 -90
  386. package/components/AdminBar.d.ts +0 -1
  387. package/components/AdminBar.js +0 -9
  388. package/components/BrowserRouter.js +0 -155
  389. package/components/InlinePage.d.ts +0 -11
  390. package/components/InlinePage.js +0 -70
  391. package/components/NextRouter.d.ts +0 -9
  392. package/components/NextRouter.js +0 -45
  393. package/components/index.d.ts +0 -2
  394. package/components/index.js +0 -14
  395. package/config/config-schema.js +0 -38
  396. package/config/create-schema-file.d.ts +0 -1
  397. package/config/create-schema-file.js +0 -20
  398. package/config/get-config.d.ts +0 -78
  399. package/config/get-config.js +0 -32
  400. package/config/index.d.ts +0 -2
  401. package/config/index.js +0 -14
  402. package/config/parse-config.d.ts +0 -51
  403. package/config/parse-config.js +0 -8
  404. package/config/print-zod-errors.d.ts +0 -2
  405. package/config/print-zod-errors.js +0 -14
  406. package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -10
  407. package/dev-ui/components/BreakpointColumnHeader.js +0 -47
  408. package/dev-ui/components/BreakpointIndicator.js +0 -139
  409. package/dev-ui/components/DevUI.js +0 -28
  410. package/dev-ui/components/Launcher.d.ts +0 -98
  411. package/dev-ui/components/Launcher.js +0 -94
  412. package/dev-ui/components/PanelWrapper.d.ts +0 -8
  413. package/dev-ui/components/PanelWrapper.js +0 -37
  414. package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -7
  415. package/dev-ui/components/ResponsiveLerpControl.js +0 -176
  416. package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -25
  417. package/dev-ui/components/ResponsiveScaleEditor.js +0 -238
  418. package/dev-ui/components/atoms/Button.d.ts +0 -47
  419. package/dev-ui/components/atoms/Button.js +0 -67
  420. package/dev-ui/components/atoms/Dropdown.d.ts +0 -13
  421. package/dev-ui/components/atoms/Dropdown.js +0 -50
  422. package/dev-ui/components/atoms/NumberField.d.ts +0 -11
  423. package/dev-ui/components/atoms/NumberField.js +0 -111
  424. package/dev-ui/components/atoms/Spacer.d.ts +0 -42
  425. package/dev-ui/components/atoms/Spacer.js +0 -8
  426. package/dev-ui/components/atoms/Text.d.ts +0 -45
  427. package/dev-ui/components/atoms/Text.js +0 -39
  428. package/dev-ui/components/atoms/ToggleButton.d.ts +0 -8
  429. package/dev-ui/components/atoms/ToggleButton.js +0 -41
  430. package/dev-ui/components/atoms/Tooltip.d.ts +0 -9
  431. package/dev-ui/components/atoms/Tooltip.js +0 -66
  432. package/dev-ui/components/panels/AppDataDebugger.d.ts +0 -1
  433. package/dev-ui/components/panels/AppDataDebugger.js +0 -29
  434. package/dev-ui/components/panels/ColorEditor.d.ts +0 -1
  435. package/dev-ui/components/panels/ColorEditor.js +0 -128
  436. package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
  437. package/dev-ui/components/panels/PageDataDebugger.js +0 -30
  438. package/dev-ui/components/panels/QueryDebugger.d.ts +0 -1
  439. package/dev-ui/components/panels/QueryDebugger.js +0 -46
  440. package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
  441. package/dev-ui/components/panels/SpacingEditor.js +0 -88
  442. package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
  443. package/dev-ui/components/panels/TypographyEditor.js +0 -97
  444. package/dev-ui/hooks/useBreakpoint.d.ts +0 -11
  445. package/dev-ui/hooks/useBreakpoint.js +0 -59
  446. package/dev-ui/hooks/usePersistState.js +0 -36
  447. package/dev-ui/hooks/useStylesheet.d.ts +0 -4
  448. package/dev-ui/hooks/useStylesheet.js +0 -31
  449. package/dev-ui/icons.d.ts +0 -15
  450. package/dev-ui/icons.js +0 -30
  451. package/dev-ui/index.d.ts +0 -1
  452. package/dev-ui/index.js +0 -13
  453. package/dev-ui/loader.js +0 -44
  454. package/dev-ui/panels.d.ts +0 -11
  455. package/dev-ui/panels.js +0 -47
  456. package/dev-ui/theme.d.ts +0 -151
  457. package/dev-ui/theme.js +0 -50
  458. package/dynamic/dynamic-component.d.ts +0 -10
  459. package/dynamic/dynamic-component.js +0 -8
  460. package/dynamic/index.d.ts +0 -1
  461. package/dynamic/index.js +0 -13
  462. package/entry/Root.d.ts +0 -3
  463. package/entry/Root.js +0 -56
  464. package/entry/entry.admin.dev.d.ts +0 -1
  465. package/entry/entry.admin.dev.js +0 -26
  466. package/entry/entry.admin.prod.d.ts +0 -1
  467. package/entry/entry.admin.prod.js +0 -16
  468. package/entry/entry.monolith.dev.d.ts +0 -6
  469. package/entry/entry.monolith.dev.js +0 -19
  470. package/entry/entry.monolith.prod.d.ts +0 -6
  471. package/entry/entry.monolith.prod.js +0 -18
  472. package/entry/entry.publicPath.js +0 -6
  473. package/gravityforms/index.d.ts +0 -2
  474. package/gravityforms/index.js +0 -14
  475. package/gravityforms/types.d.ts +0 -140
  476. package/gravityforms/types.js +0 -2
  477. package/gravityforms/useGravityForm.d.ts +0 -30
  478. package/gravityforms/useGravityForm.js +0 -292
  479. package/hooks/index.js +0 -15
  480. package/hooks/queryUtils.d.ts +0 -63
  481. package/hooks/queryUtils.js +0 -281
  482. package/hooks/useAppData.d.ts +0 -10
  483. package/hooks/useAppData.js +0 -37
  484. package/hooks/usePageLoad.js +0 -11
  485. package/hooks/useQuery.d.ts +0 -1
  486. package/hooks/useQuery.js +0 -10
  487. package/hooks/useQueryDebug.js +0 -21
  488. package/hooks/useRPC.d.ts +0 -12
  489. package/hooks/useRPC.js +0 -20
  490. package/index.d.ts +0 -1
  491. package/index.js +0 -5
  492. package/routing/index.d.ts +0 -1
  493. package/routing/index.js +0 -13
  494. package/routing/remoteProps.d.ts +0 -22
  495. package/routing/remoteProps.js +0 -103
  496. package/routing/routing.d.ts +0 -96
  497. package/routing/routing.js +0 -442
  498. package/routing/updateEditLink.d.ts +0 -1
  499. package/routing/updateEditLink.js +0 -12
  500. package/routing/updateHeadTags.d.ts +0 -2
  501. package/routing/updateHeadTags.js +0 -11
  502. package/serverless/define-api.d.ts +0 -2
  503. package/serverless/define-api.js +0 -66
  504. package/serverless/define-rpc-router.d.ts +0 -6
  505. package/serverless/define-rpc-router.js +0 -35
  506. package/serverless/error-codes.d.ts +0 -2
  507. package/serverless/error-codes.js +0 -14
  508. package/serverless/index.d.ts +0 -5
  509. package/serverless/index.js +0 -18
  510. package/serverless/rpc-provider.d.ts +0 -1
  511. package/serverless/rpc-provider.js +0 -5
  512. package/serverless-template/README.md +0 -34
  513. package/serverless-template/_utils/PageMeta.tsx +0 -44
  514. package/serverless-template/_utils/ed-config.ts +0 -5
  515. package/serverless-template/_utils/fetch-wordpress-props.ts +0 -62
  516. package/serverless-template/_utils/fetch-wp.ts +0 -34
  517. package/serverless-template/_utils/swr.ts +0 -43
  518. package/serverless-template/global.d.ts +0 -15
  519. package/serverless-template/next-env.d.ts +0 -3
  520. package/serverless-template/next.config.js +0 -119
  521. package/serverless-template/null.ts +0 -1
  522. package/serverless-template/package.json +0 -21
  523. package/serverless-template/pages/404.tsx +0 -12
  524. package/serverless-template/pages/[...slug].tsx +0 -35
  525. package/serverless-template/pages/_app.tsx +0 -55
  526. package/serverless-template/pages/_document.tsx +0 -65
  527. package/serverless-template/pages/api/rest/[...method].ts +0 -54
  528. package/serverless-template/pages/api/robots.ts +0 -49
  529. package/serverless-template/pages/api/sitemap/[...sitemap].ts +0 -56
  530. package/serverless-template/pages/api/trpc/[...trpc].ts +0 -41
  531. package/serverless-template/pages/index.tsx +0 -15
  532. package/serverless-template/tsconfig.json +0 -39
  533. package/style/createStitches.d.ts +0 -1058
  534. package/style/createStitches.js +0 -443
  535. package/style/index.js +0 -13
  536. package/utils/Observable.d.ts +0 -11
  537. package/utils/Observable.js +0 -34
  538. package/utils/getRepoName.d.ts +0 -4
  539. package/utils/getRepoName.js +0 -30
  540. package/utils/merge-refs.d.ts +0 -2
  541. package/utils/merge-refs.js +0 -17
  542. package/utils/promptIfRepoNameIncorrect.d.ts +0 -1
  543. package/utils/promptIfRepoNameIncorrect.js +0 -72
  544. package/utils/refreshOverlayInterop.d.ts +0 -4
  545. package/utils/refreshOverlayInterop.js +0 -12
  546. package/utils/reportErrorStack.d.ts +0 -7
  547. package/utils/reportErrorStack.js +0 -13
  548. package/utils/serverlessAppContext.d.ts +0 -3
  549. package/utils/serverlessAppContext.js +0 -6
  550. package/utils/updateEnvFile.d.ts +0 -1
  551. package/utils/updateEnvFile.js +0 -76
  552. package/utils/useObservable.d.ts +0 -2
  553. package/utils/useObservable.js +0 -12
  554. package/views/defineView.d.ts +0 -2
  555. package/views/defineView.js +0 -7
  556. package/views/index.js +0 -13
  557. /package/{admin → dist/app/lib/admin}/installFieldTypes.d.ts +0 -0
  558. /package/{admin → dist/app/lib/admin}/runWidgets.d.ts +0 -0
  559. /package/{dev-ui → dist/app/lib/devtools}/components/BreakpointIndicator.d.ts +0 -0
  560. /package/{dev-ui → dist/app/lib/devtools}/hooks/usePersistState.d.ts +0 -0
  561. /package/{entry/entry.publicPath.d.ts → dist/app/lib/devtools/index.d.ts} +0 -0
  562. /package/{dev-ui → dist/app/lib/devtools}/loader.d.ts +0 -0
  563. /package/{style → dist/app/lib/legacy-stitches}/index.d.ts +0 -0
  564. /package/{build/graphql-codegen/graphql-codegen-files.d.ts → dist/app/lib/routing/types.js} +0 -0
  565. /package/{views → dist/app/lib/views}/index.d.ts +0 -0
  566. /package/{build/graphql-codegen/graphql-codegen-no-duplicates.d.ts → dist/app/utils/wp.js} +0 -0
  567. /package/{cli → dist/node/cli}/cli.d.ts +0 -0
@@ -0,0 +1,105 @@
1
+ import { getFileTree, watchFileTree } from "../../utils/watchFileTree.js";
2
+ import { relative } from "path";
3
+ export function createManifestGenerator(args) {
4
+ let subscribers = new Set();
5
+ let files = [];
6
+ let cache = new Map();
7
+ let disposed = false;
8
+ let disposers = [];
9
+ let debouncer = 0;
10
+ disposers.push(() => {
11
+ clearTimeout(debouncer);
12
+ });
13
+ let value = null;
14
+ async function load() {
15
+ let resolvedFirst = false;
16
+ return new Promise(async (resolve) => {
17
+ files = [];
18
+ let events = [];
19
+ const update = async () => {
20
+ value = await generate(files);
21
+ clearTimeout(debouncer);
22
+ debouncer = setTimeout(() => {
23
+ if (!disposed)
24
+ subscribers.forEach((func) => func(value, events));
25
+ events = [];
26
+ }, 200);
27
+ if (!resolvedFirst) {
28
+ resolvedFirst = true;
29
+ resolve(value);
30
+ events = [];
31
+ }
32
+ };
33
+ if (args.watch) {
34
+ const disposer = await watchFileTree(args.pattern, (fileList, event) => {
35
+ files = fileList;
36
+ cache = new Map();
37
+ if (args.onFileChange)
38
+ fileList.forEach(args.onFileChange);
39
+ update();
40
+ if (event) {
41
+ events.push(event);
42
+ }
43
+ });
44
+ disposers.push(disposer);
45
+ }
46
+ else {
47
+ files = await getFileTree(args.pattern);
48
+ update();
49
+ }
50
+ });
51
+ }
52
+ async function generate(files) {
53
+ const entries = {};
54
+ await Promise.all(files.map(async (file) => {
55
+ const key = args.getKey(file);
56
+ if (key === null)
57
+ return;
58
+ const value = await args.loadValue(file, key);
59
+ entries[key] = {
60
+ key,
61
+ relativePath: relative(args.baseDir, file),
62
+ fullPath: file,
63
+ value,
64
+ };
65
+ }));
66
+ return args.generateManifest(entries);
67
+ }
68
+ let hasBooted = false;
69
+ return {
70
+ dispose() {
71
+ disposed = true;
72
+ disposers.forEach((disposer) => disposer());
73
+ },
74
+ subscribe(callback) {
75
+ if (!hasBooted) {
76
+ load();
77
+ hasBooted = true;
78
+ }
79
+ subscribers.add(callback);
80
+ if (value) {
81
+ setImmediate(() => callback(value));
82
+ }
83
+ return () => {
84
+ subscribers.delete(callback);
85
+ };
86
+ },
87
+ subscribeFuture(callback) {
88
+ subscribers.add(callback);
89
+ return () => {
90
+ subscribers.delete(callback);
91
+ };
92
+ },
93
+ get() {
94
+ return new Promise((resolve) => {
95
+ const disposer = this.subscribe((manifest) => {
96
+ resolve(manifest);
97
+ disposer();
98
+ });
99
+ });
100
+ },
101
+ getLast() {
102
+ return value;
103
+ },
104
+ };
105
+ }
@@ -0,0 +1,19 @@
1
+ import { ViewMetadata, ViewMetadataConstructor } from "../../types/view-type.js";
2
+ import { Project } from "../project.js";
3
+ export type ViewManifest = {
4
+ views: {
5
+ [K: string]: ViewMetadata;
6
+ };
7
+ validationMessages: {
8
+ viewKey: string;
9
+ message: string;
10
+ severity: "error" | "warning";
11
+ }[];
12
+ };
13
+ type ViewLoadResult = {
14
+ data: ViewMetadataConstructor | null;
15
+ error?: string;
16
+ };
17
+ export type ViewManifestGenerator = ReturnType<typeof loadViewManifest>;
18
+ export declare function loadViewManifest(project: Project): import("./manifest.js").ManifestGenerator<ViewLoadResult, ViewManifest>;
19
+ export {};
@@ -0,0 +1,152 @@
1
+ import { basename } from "node:path";
2
+ import { cliMode } from "../../cli/cli-mode.js";
3
+ import { ViewMetaSchema } from "../../types/view-type.js";
4
+ import { metaExtractor } from "../../utils/export-extractor.js";
5
+ import { formatZodError } from "../../utils/formatZodError.js";
6
+ import { fs } from "../../utils/fs.js";
7
+ import { createManifestGenerator } from "./manifest.js";
8
+ export function loadViewManifest(project) {
9
+ return createManifestGenerator({
10
+ baseDir: project.rootDir,
11
+ pattern: "views/**/*.tsx",
12
+ watch: cliMode.watch,
13
+ async generateManifest(entries) {
14
+ let result = {
15
+ views: {},
16
+ validationMessages: [],
17
+ };
18
+ Object.entries(entries)
19
+ .sort(([b1], [b2]) => {
20
+ return b1.localeCompare(b2);
21
+ })
22
+ .forEach(([key, entry]) => {
23
+ const { data, error: initialError } = entry.value;
24
+ // Add the view to the manifest, even though it might be broken.
25
+ // Any broken views will have warnings/errors attached.
26
+ result.views[key] = data;
27
+ // If there was an error loading the view, add it to the manifest
28
+ if (initialError) {
29
+ result.validationMessages.push({
30
+ viewKey: key,
31
+ message: initialError,
32
+ severity: "error",
33
+ });
34
+ return;
35
+ }
36
+ else {
37
+ // Validate the structure of the metadata
38
+ const parsed = ViewMetaSchema.safeParse(data);
39
+ if (parsed.success) {
40
+ // The view metadata matches our schema, and may have been transformed
41
+ result.views[key] = parsed.data;
42
+ }
43
+ else {
44
+ result.validationMessages.push({
45
+ viewKey: key,
46
+ message: "Metadata validation error:\n" + formatZodError(parsed.error),
47
+ severity: "warning",
48
+ });
49
+ }
50
+ }
51
+ });
52
+ return result;
53
+ },
54
+ getKey(path) {
55
+ // Strip the views folder name + extension
56
+ return path.replace(/\.tsx$/, "").replace(/^views\//, "");
57
+ },
58
+ onFileChange(path) {
59
+ metaExtractor.invalidate(path);
60
+ },
61
+ async loadValue(path, key) {
62
+ const contents = await fs.readFile(path, "utf8");
63
+ // Start with a default value
64
+ let metadata = {
65
+ fileName: path,
66
+ slug: key,
67
+ title: key,
68
+ cache: true,
69
+ };
70
+ let result = null;
71
+ /**
72
+ * If the project is configured to use legacy metadata, read the metadata from
73
+ * the comment header.
74
+ *
75
+ * Otherwise, we'll pull it as JSON straight from the .tsx file
76
+ */
77
+ if (project.config?.legacyMetadata) {
78
+ result = readViewDataAsComment(contents);
79
+ }
80
+ else {
81
+ result = readViewDataAsJSONExport(path, contents);
82
+ }
83
+ if (result) {
84
+ Object.assign(metadata, result);
85
+ }
86
+ // Compute the various names for this view
87
+ return {
88
+ data: metadata,
89
+ };
90
+ },
91
+ });
92
+ }
93
+ /**
94
+ * Rip the JSON metadata directly from the .tsx file
95
+ */
96
+ function readViewDataAsJSONExport(file, contents) {
97
+ const userData = metaExtractor.extract(file, contents);
98
+ if (!userData)
99
+ return null;
100
+ const result = {};
101
+ if (userData.templateName) {
102
+ const name = basename(file);
103
+ result.title = userData.templateName;
104
+ result.isCustomTemplate = true;
105
+ const inferredPostTypes = name
106
+ .match(/^single-(.+)\.tsx$/i)?.[1]
107
+ .split("-")
108
+ .map((_frag, i, arr) => {
109
+ return arr.slice(0, i + 1).join("-");
110
+ });
111
+ result.postType = Array.isArray(userData.postType)
112
+ ? userData.postType
113
+ : typeof userData.postType === "string"
114
+ ? [userData.postType]
115
+ : inferredPostTypes
116
+ ? inferredPostTypes
117
+ : ["page"];
118
+ }
119
+ result.cache = userData.cache;
120
+ return result;
121
+ }
122
+ /**
123
+ * Parse as a legacy comment header
124
+ */
125
+ function readViewDataAsComment(file) {
126
+ let meta = {};
127
+ // Ensure the comment header is set
128
+ if (!/^\/\*.+?\*\//s.test(file))
129
+ return null;
130
+ // Get the comment section
131
+ const commentSection = file.match(/^.+\*\//s);
132
+ if (!commentSection)
133
+ return null;
134
+ const lines = commentSection[0].split("\n");
135
+ lines.forEach((line, i) => {
136
+ const match = line.match(/\s*\*?\s*([^:]+):\s*(.+)\s*/);
137
+ if (!match)
138
+ return;
139
+ let key = match[1].replace(/\s/g, "").toLocaleLowerCase();
140
+ let value = match[2].trim();
141
+ switch (key) {
142
+ case "templatename":
143
+ meta.title = value;
144
+ meta.isCustomTemplate = true;
145
+ return;
146
+ case "cache":
147
+ meta.cache = value === "true";
148
+ return;
149
+ }
150
+ });
151
+ return meta;
152
+ }
@@ -0,0 +1,17 @@
1
+ import { Project } from "../project.js";
2
+ export type WidgetManifest = {
3
+ widgets: Record<string, WidgetInfo>;
4
+ validationMessages: {
5
+ fieldKey: string;
6
+ message: string;
7
+ severity: "error" | "warning";
8
+ }[];
9
+ };
10
+ type WidgetInfo = {
11
+ slug: string;
12
+ fileName: string;
13
+ error?: string;
14
+ };
15
+ export type WidgetManifestGenerator = ReturnType<typeof loadWidgetManifest>;
16
+ export declare function loadWidgetManifest(project: Project): import("./manifest.js").ManifestGenerator<WidgetInfo, WidgetManifest>;
17
+ export {};
@@ -0,0 +1,42 @@
1
+ import { cliMode } from "../../cli/cli-mode.js";
2
+ import { createManifestGenerator } from "./manifest.js";
3
+ export function loadWidgetManifest(project) {
4
+ return createManifestGenerator({
5
+ baseDir: project.rootDir,
6
+ pattern: "backend/widgets/*.tsx",
7
+ watch: cliMode.watch,
8
+ async generateManifest(entries) {
9
+ let result = {
10
+ widgets: {},
11
+ validationMessages: [],
12
+ };
13
+ Object.entries(entries)
14
+ .sort(([b1], [b2]) => {
15
+ return b1.localeCompare(b2);
16
+ })
17
+ .forEach(([key, entry]) => {
18
+ const { error: initialError } = entry.value;
19
+ result.widgets[key] = entry.value;
20
+ if (initialError) {
21
+ result.validationMessages.push({
22
+ fieldKey: key,
23
+ message: initialError,
24
+ severity: "error",
25
+ });
26
+ return;
27
+ }
28
+ });
29
+ return result;
30
+ },
31
+ getKey(path) {
32
+ // Strip the views folder name + extension
33
+ return path.replace(/\.tsx$/, "").replace(/^backend\/widgets\//, "");
34
+ },
35
+ async loadValue(fileName, key) {
36
+ return {
37
+ slug: key,
38
+ fileName,
39
+ };
40
+ },
41
+ });
42
+ }
@@ -0,0 +1,57 @@
1
+ import { EDConfig } from "./config.js";
2
+ import { BlockManifestGenerator } from "./manifest/block-manifest.js";
3
+ import { ViewManifestGenerator } from "./manifest/view-manifest.js";
4
+ import { FieldManifestGenerator } from "./manifest/field-manifest.js";
5
+ import { WidgetManifestGenerator } from "./manifest/widget-manifest.js";
6
+ export declare const projectLog: import("../utils/statefulLog.js").StatefulLog<Project>;
7
+ type ProjectArgs = {
8
+ rootDir: string;
9
+ reportPluginCompatibility?: boolean;
10
+ };
11
+ /**
12
+ * This class represents a single app project created using the stack.
13
+ * It has methods and properties that are useful for working with the project.
14
+ */
15
+ export declare class Project {
16
+ rootDir: string;
17
+ themeName: string;
18
+ publicUrl: string;
19
+ repoUrl: string;
20
+ configFile: string;
21
+ config?: EDConfig;
22
+ blocks: BlockManifestGenerator;
23
+ views: ViewManifestGenerator;
24
+ fields: FieldManifestGenerator;
25
+ widgets: WidgetManifestGenerator;
26
+ private wp;
27
+ reportPluginCompatibility: boolean;
28
+ private constructor();
29
+ private load;
30
+ reportProjectInfo(): string;
31
+ getWordpressInfo(): Promise<{
32
+ postTypes: {
33
+ name: string;
34
+ label: string;
35
+ hasArchive: boolean;
36
+ graphqlSingleName: string;
37
+ graphqlPluralName: string;
38
+ excludeFromSearch: boolean;
39
+ }[];
40
+ plugins: {
41
+ name: string;
42
+ slug: string;
43
+ version: string;
44
+ url: string;
45
+ }[];
46
+ coreBlocks: string[];
47
+ blockTags: string[];
48
+ scalarTypes: Record<string, string>;
49
+ postMetaTypes: {
50
+ key: string;
51
+ isScalar: boolean;
52
+ typeName: string;
53
+ }[];
54
+ }>;
55
+ static create(args: ProjectArgs): Promise<Project>;
56
+ }
57
+ export {};
@@ -0,0 +1,115 @@
1
+ import * as clack from "@clack/prompts";
2
+ import { relative, resolve } from "path";
3
+ import { undent } from "undent";
4
+ import { cliMode } from "../cli/cli-mode.js";
5
+ // import { console } from "../utils/console.js"
6
+ import { objFormat } from "obj-console";
7
+ import { getRepoInfo } from "../utils/getRepoInfo.js";
8
+ import { isDeploying } from "../utils/isDeploying.js";
9
+ import { createConsole } from "../utils/statefulLog.js";
10
+ import { Configurator } from "./config.js";
11
+ import { loadBlockManifest } from "./manifest/block-manifest.js";
12
+ import { loadViewManifest } from "./manifest/view-manifest.js";
13
+ import { WPInfo } from "./wp-info.js";
14
+ import { ProjectEnvUtils } from "./env.js";
15
+ import { loadFieldManifest } from "./manifest/field-manifest.js";
16
+ import { loadWidgetManifest } from "./manifest/widget-manifest.js";
17
+ const console = createConsole("Project", "project");
18
+ export const projectLog = console;
19
+ /**
20
+ * This class represents a single app project created using the stack.
21
+ * It has methods and properties that are useful for working with the project.
22
+ */
23
+ export class Project {
24
+ rootDir = "";
25
+ themeName = "";
26
+ publicUrl = "";
27
+ repoUrl = "";
28
+ configFile = "";
29
+ config;
30
+ blocks;
31
+ views;
32
+ fields;
33
+ widgets;
34
+ wp;
35
+ reportPluginCompatibility = false;
36
+ constructor(opts) {
37
+ this.rootDir = opts.rootDir;
38
+ this.reportPluginCompatibility = opts.reportPluginCompatibility || false;
39
+ this.blocks = loadBlockManifest(this);
40
+ this.views = loadViewManifest(this);
41
+ this.fields = loadFieldManifest(this);
42
+ this.widgets = loadWidgetManifest(this);
43
+ this.wp = new WPInfo(ProjectEnvUtils.get("SITE_URL"));
44
+ }
45
+ async load() {
46
+ console.setWorking(true);
47
+ console.setState(this);
48
+ const repoInfo = await getRepoInfo(this.rootDir);
49
+ this.themeName = repoInfo.themeName;
50
+ this.publicUrl = `/wp-content/themes/${repoInfo.themeName}/`;
51
+ this.configFile = relative(process.cwd(), resolve(this.rootDir, "ed.config.json"));
52
+ this.repoUrl = repoInfo.repoURL?.replace("git@github.com:", "https://github.com/").replace(".git", "") || "";
53
+ this.reportProjectInfo();
54
+ /**
55
+ * Make sure the git repo name matches
56
+ */
57
+ if (repoInfo.repoName && repoInfo.repoName !== repoInfo.themeName && !isDeploying()) {
58
+ console.warn(undent `
59
+ Theme ↔ Repo Name Mismatch!
60
+ The folder ('${repoInfo.themeName}') and repo name ('${repoInfo.repoName}') should be the same.
61
+ The repo name is used for generating the public theme URL, used by assets.
62
+
63
+ You should rename the folder to match the repo name, or vice versa.
64
+ `);
65
+ if (cliMode.interactive) {
66
+ await clack.confirm({
67
+ message: `Ignore and continue anyway?`,
68
+ });
69
+ }
70
+ else {
71
+ console.flush();
72
+ process.exit(1);
73
+ }
74
+ }
75
+ /**
76
+ * Load configuration
77
+ */
78
+ const configurator = await Configurator.create(this);
79
+ this.config = configurator.config;
80
+ /**
81
+ * Report plugins errors
82
+ **/
83
+ if (this.reportPluginCompatibility) {
84
+ const issues = await this.wp.getPluginIssues().catch(() => []);
85
+ if (issues.length) {
86
+ issues.forEach((issue) => console.warn(issue));
87
+ }
88
+ }
89
+ console.setWorking(false);
90
+ console.info(this.reportProjectInfo());
91
+ }
92
+ reportProjectInfo() {
93
+ return objFormat({
94
+ "Theme Name": this.themeName,
95
+ "Theme URL": this.publicUrl,
96
+ "Repo URL": this.repoUrl,
97
+ "Config File": this.configFile,
98
+ }, {
99
+ unfoldDepth: 2,
100
+ omitBrackets: true,
101
+ quote: "",
102
+ omitEolCommas: true,
103
+ padding: "",
104
+ }).trim();
105
+ }
106
+ async getWordpressInfo() {
107
+ const info = await this.wp.getInfo();
108
+ return info;
109
+ }
110
+ static async create(args) {
111
+ const project = new Project(args);
112
+ await project.load();
113
+ return project;
114
+ }
115
+ }
@@ -0,0 +1,32 @@
1
+ type WPInfoData = {
2
+ postTypes: {
3
+ name: string;
4
+ label: string;
5
+ hasArchive: boolean;
6
+ graphqlSingleName: string;
7
+ graphqlPluralName: string;
8
+ excludeFromSearch: boolean;
9
+ }[];
10
+ plugins: {
11
+ name: string;
12
+ slug: string;
13
+ version: string;
14
+ url: string;
15
+ }[];
16
+ coreBlocks: string[];
17
+ blockTags: string[];
18
+ scalarTypes: Record<string, string>;
19
+ postMetaTypes: {
20
+ key: string;
21
+ isScalar: boolean;
22
+ typeName: string;
23
+ }[];
24
+ };
25
+ export declare class WPInfo {
26
+ siteUrl: string;
27
+ private cached?;
28
+ constructor(siteUrl: string);
29
+ getInfo(force?: boolean): Promise<WPInfoData>;
30
+ getPluginIssues(): Promise<string[]>;
31
+ }
32
+ export {};
@@ -0,0 +1,34 @@
1
+ import { resolveURL } from "ufo";
2
+ import { getUnsafeFetch } from "../utils/unsafe-fetch.js";
3
+ export class WPInfo {
4
+ siteUrl;
5
+ cached;
6
+ constructor(siteUrl) {
7
+ this.siteUrl = siteUrl;
8
+ }
9
+ async getInfo(force = false) {
10
+ if (this.cached && !force)
11
+ return this.cached;
12
+ const url = resolveURL(this.siteUrl, "/wp-json/ed/v1/dev/site-info");
13
+ const fetch = getUnsafeFetch(this.siteUrl);
14
+ const response = await fetch(url);
15
+ const result = (await response.json());
16
+ this.cached = result;
17
+ return result;
18
+ }
19
+ async getPluginIssues() {
20
+ const info = await this.getInfo();
21
+ if (!info)
22
+ return [];
23
+ const issues = [];
24
+ info.plugins.forEach((plugin) => {
25
+ if (plugin.name.includes("Disable Comments")) {
26
+ issues.push(`The "Disable Comments" plugin is not needed, as comments are now disabled by default.`);
27
+ }
28
+ else if (plugin.name.includes("Better Admin Bar")) {
29
+ issues.push(`The "Better Admin Bar" plugin is not needed, as this functionality is handled by the stack.`);
30
+ }
31
+ });
32
+ return issues;
33
+ }
34
+ }
@@ -0,0 +1,92 @@
1
+ import { z } from "zod";
2
+ import { BlockManifest } from "../project/manifest/block-manifest.js";
3
+ export declare const BlockMetaSchema: z.ZodObject<{
4
+ acfName: z.ZodString;
5
+ fileName: z.ZodString;
6
+ slug: z.ZodString;
7
+ graphqlFieldName: z.ZodString;
8
+ title: z.ZodString;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ category: z.ZodDefault<z.ZodString>;
11
+ icon: z.ZodOptional<z.ZodString>;
12
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ types: z.ZodArray<z.ZodString, "many">;
14
+ templates: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
15
+ mode: z.ZodDefault<z.ZodEnum<["preview", "edit", "both"]>>;
16
+ tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
17
+ flags: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
18
+ childTags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
19
+ childBlocks: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
20
+ parent: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
21
+ ancestors: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
22
+ dynamic: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
23
+ cache: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
24
+ allowMultiple: z.ZodDefault<z.ZodBoolean>;
25
+ postMetaBlock: z.ZodOptional<z.ZodObject<{
26
+ fieldName: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ fieldName: string;
29
+ }, {
30
+ fieldName: string;
31
+ }>>;
32
+ frontendMode: z.ZodDefault<z.ZodEnum<["hidden", "childrenOnly", "default"]>>;
33
+ inserter: z.ZodDefault<z.ZodBoolean>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ cache: boolean;
36
+ acfName: string;
37
+ fileName: string;
38
+ slug: string;
39
+ graphqlFieldName: string;
40
+ title: string;
41
+ category: string;
42
+ types: string[];
43
+ mode: "preview" | "edit" | "both";
44
+ tags: string[];
45
+ flags: Record<string, any>;
46
+ childTags: string[];
47
+ childBlocks: string[];
48
+ parent: string[];
49
+ ancestors: string[];
50
+ dynamic: boolean;
51
+ allowMultiple: boolean;
52
+ frontendMode: "hidden" | "childrenOnly" | "default";
53
+ inserter: boolean;
54
+ description?: string | undefined;
55
+ icon?: string | undefined;
56
+ keywords?: string[] | undefined;
57
+ templates?: string[] | null | undefined;
58
+ postMetaBlock?: {
59
+ fieldName: string;
60
+ } | undefined;
61
+ }, {
62
+ acfName: string;
63
+ fileName: string;
64
+ slug: string;
65
+ graphqlFieldName: string;
66
+ title: string;
67
+ types: string[];
68
+ cache?: boolean | undefined;
69
+ description?: string | undefined;
70
+ category?: string | undefined;
71
+ icon?: string | undefined;
72
+ keywords?: string[] | undefined;
73
+ templates?: string[] | null | undefined;
74
+ mode?: "preview" | "edit" | "both" | undefined;
75
+ tags?: string[] | undefined;
76
+ flags?: Record<string, any> | undefined;
77
+ childTags?: string[] | undefined;
78
+ childBlocks?: string[] | undefined;
79
+ parent?: string[] | undefined;
80
+ ancestors?: string[] | undefined;
81
+ dynamic?: boolean | undefined;
82
+ allowMultiple?: boolean | undefined;
83
+ postMetaBlock?: {
84
+ fieldName: string;
85
+ } | undefined;
86
+ frontendMode?: "hidden" | "childrenOnly" | "default" | undefined;
87
+ inserter?: boolean | undefined;
88
+ }>;
89
+ export type BlockMetadata = z.infer<typeof BlockMetaSchema>;
90
+ export type BlockMetadataConstructor = z.input<typeof BlockMetaSchema>;
91
+ export declare function describeBlock(block: BlockMetadata): string;
92
+ export declare function describeBlockManifest(manifest: BlockManifest): string;