eddev 0.3.38 → 2.0.0-beta.10

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 (559) 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/boot-admin.d.ts +1 -0
  5. package/dist/app/entry/boot-admin.js +8 -0
  6. package/dist/app/entry/spa-root.d.ts +1 -0
  7. package/dist/app/entry/spa-root.js +9 -0
  8. package/dist/app/entry/ssr-root-client.d.ts +4 -0
  9. package/dist/app/entry/ssr-root-client.js +9 -0
  10. package/dist/app/entry/ssr-root.d.ts +9 -0
  11. package/dist/app/entry/ssr-root.js +21 -0
  12. package/{admin → dist/app/lib/admin}/defineField.d.ts +2 -2
  13. package/dist/app/lib/admin/defineField.js +3 -0
  14. package/{admin → dist/app/lib/admin}/defineWidget.d.ts +1 -1
  15. package/dist/app/lib/admin/defineWidget.js +6 -0
  16. package/dist/app/lib/admin/index.d.ts +2 -0
  17. package/dist/app/lib/admin/index.js +2 -0
  18. package/dist/app/lib/admin/installFieldTypes.js +92 -0
  19. package/dist/app/lib/admin/runWidgets.js +38 -0
  20. package/dist/app/lib/blocks/ContentBlocks.d.ts +83 -0
  21. package/dist/app/lib/blocks/ContentBlocks.js +92 -0
  22. package/dist/app/lib/blocks/EditableText.d.ts +41 -0
  23. package/dist/app/lib/blocks/EditableText.js +50 -0
  24. package/{blocks → dist/app/lib/blocks}/ErrorBoundaryFrontend.d.ts +2 -2
  25. package/dist/app/lib/blocks/ErrorBoundaryFrontend.js +35 -0
  26. package/dist/app/lib/blocks/InnerBlocks.d.ts +42 -0
  27. package/dist/app/lib/blocks/InnerBlocks.js +55 -0
  28. package/dist/app/lib/blocks/block-utils.d.ts +24 -0
  29. package/dist/app/lib/blocks/block-utils.js +41 -0
  30. package/dist/app/lib/blocks/defineBlock.d.ts +2 -0
  31. package/dist/app/lib/blocks/defineBlock.js +3 -0
  32. package/dist/app/lib/blocks/editor/EditorSupport.d.ts +5 -0
  33. package/dist/app/lib/blocks/editor/EditorSupport.js +19 -0
  34. package/{blocks → dist/app/lib/blocks/editor}/ErrorBoundaryEditor.d.ts +1 -1
  35. package/dist/app/lib/blocks/editor/ErrorBoundaryEditor.js +28 -0
  36. package/dist/app/lib/blocks/editor/block-templates.d.ts +3 -0
  37. package/dist/app/lib/blocks/editor/block-templates.js +9 -0
  38. package/dist/app/lib/blocks/editor/blocks-by-tag.d.ts +7 -0
  39. package/dist/app/lib/blocks/editor/blocks-by-tag.js +42 -0
  40. package/dist/app/lib/blocks/editor/controls.d.ts +10 -0
  41. package/dist/app/lib/blocks/editor/controls.js +20 -0
  42. package/dist/app/lib/blocks/editor/editor-config.d.ts +58 -0
  43. package/dist/app/lib/blocks/editor/editor-config.js +191 -0
  44. package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +2 -0
  45. package/dist/app/lib/blocks/editor/installGutenbergHooks.js +131 -0
  46. package/dist/app/lib/blocks/editor/usePostEditor.d.ts +27 -0
  47. package/dist/app/lib/blocks/editor/usePostEditor.js +79 -0
  48. package/dist/app/lib/blocks/index.d.ts +9 -0
  49. package/dist/app/lib/blocks/index.js +9 -0
  50. package/dist/app/lib/blocks/inline-editing.d.ts +54 -0
  51. package/dist/app/lib/blocks/inline-editing.js +114 -0
  52. package/dist/app/lib/devtools/components/BreakpointIndicator.js +81 -0
  53. package/{dev-ui → dist/app/lib/devtools}/components/DevUI.d.ts +1 -0
  54. package/dist/app/lib/devtools/components/DevUI.js +6 -0
  55. package/dist/app/lib/devtools/dev-tools-store.d.ts +9 -0
  56. package/dist/app/lib/devtools/dev-tools-store.js +8 -0
  57. package/dist/app/lib/devtools/hooks/usePersistState.js +31 -0
  58. package/dist/app/lib/devtools/hooks/useTailwind.d.ts +4183 -0
  59. package/dist/app/lib/devtools/hooks/useTailwind.js +9 -0
  60. package/dist/app/lib/devtools/index.d.ts +1 -0
  61. package/dist/app/lib/devtools/index.js +1 -0
  62. package/dist/app/lib/devtools/loader.js +23 -0
  63. package/dist/app/lib/devtools/tailwind.config.d.ts +23 -0
  64. package/dist/app/lib/devtools/tailwind.config.js +24 -0
  65. package/{hooks → dist/app/lib/devtools}/useQueryDebug.d.ts +1 -1
  66. package/dist/app/lib/devtools/useQueryDebug.js +13 -0
  67. package/dist/app/lib/dynamic/dynamic.d.ts +8 -0
  68. package/dist/app/lib/dynamic/dynamic.js +25 -0
  69. package/dist/app/lib/dynamic/index.d.ts +1 -0
  70. package/dist/app/lib/dynamic/index.js +1 -0
  71. package/dist/app/lib/hooks/apiConfig.d.ts +18 -0
  72. package/dist/app/lib/hooks/apiConfig.js +4 -0
  73. package/{hooks → dist/app/lib/hooks}/index.d.ts +2 -0
  74. package/dist/app/lib/hooks/index.js +5 -0
  75. package/dist/app/lib/hooks/queryUtils.d.ts +49 -0
  76. package/dist/app/lib/hooks/queryUtils.js +180 -0
  77. package/dist/app/lib/hooks/useAppData.d.ts +4 -0
  78. package/dist/app/lib/hooks/useAppData.js +11 -0
  79. package/{hooks → dist/app/lib/hooks}/usePageLoad.d.ts +1 -1
  80. package/dist/app/lib/hooks/usePageLoad.js +5 -0
  81. package/dist/app/lib/hooks/useRPC.d.ts +9 -0
  82. package/dist/app/lib/hooks/useRPC.js +9 -0
  83. package/dist/app/lib/internal/index.d.ts +4 -0
  84. package/dist/app/lib/internal/index.js +4 -0
  85. package/dist/app/lib/internal/internal-store.d.ts +9 -0
  86. package/dist/app/lib/internal/internal-store.js +7 -0
  87. package/dist/app/lib/internal/read-admin-manifest.d.ts +19 -0
  88. package/dist/app/lib/internal/read-admin-manifest.js +17 -0
  89. package/dist/app/lib/internal/read-block-manifest.d.ts +15 -0
  90. package/dist/app/lib/internal/read-block-manifest.js +16 -0
  91. package/dist/app/lib/internal/read-view-manifest.d.ts +12 -0
  92. package/dist/app/lib/internal/read-view-manifest.js +3 -0
  93. package/dist/app/lib/legacy-stitches/createStitches.d.ts +615 -0
  94. package/dist/app/lib/legacy-stitches/createStitches.js +439 -0
  95. package/dist/app/lib/legacy-stitches/index.js +1 -0
  96. package/{components → dist/app/lib/routing/components}/BrowserRouter.d.ts +2 -4
  97. package/dist/app/lib/routing/components/BrowserRouter.js +351 -0
  98. package/dist/app/lib/routing/components/ClientOnly.d.ts +12 -0
  99. package/dist/app/lib/routing/components/ClientOnly.js +14 -0
  100. package/dist/app/lib/routing/components/Link.d.ts +26 -0
  101. package/dist/app/lib/routing/components/Link.js +93 -0
  102. package/dist/app/lib/routing/components/RouteRenderer.d.ts +9 -0
  103. package/dist/app/lib/routing/components/RouteRenderer.js +28 -0
  104. package/dist/app/lib/routing/components/SSRRouter.d.ts +9 -0
  105. package/dist/app/lib/routing/components/SSRRouter.js +14 -0
  106. package/dist/app/lib/routing/components/ScrollRestoration.d.ts +15 -0
  107. package/dist/app/lib/routing/components/ScrollRestoration.js +32 -0
  108. package/dist/app/lib/routing/context.d.ts +5 -0
  109. package/dist/app/lib/routing/context.js +129 -0
  110. package/dist/app/lib/routing/hooks/useIsSSR.d.ts +8 -0
  111. package/dist/app/lib/routing/hooks/useIsSSR.js +22 -0
  112. package/dist/app/lib/routing/hooks/useRestorableState.d.ts +5 -0
  113. package/dist/app/lib/routing/hooks/useRestorableState.js +17 -0
  114. package/dist/app/lib/routing/hooks/useRoute.d.ts +2 -0
  115. package/dist/app/lib/routing/hooks/useRoute.js +5 -0
  116. package/dist/app/lib/routing/hooks/useRouteTransition.d.ts +4 -0
  117. package/dist/app/lib/routing/hooks/useRouteTransition.js +12 -0
  118. package/dist/app/lib/routing/hooks/useRouter.d.ts +2 -0
  119. package/dist/app/lib/routing/hooks/useRouter.js +11 -0
  120. package/dist/app/lib/routing/hooks/useRouterEvents.d.ts +2 -0
  121. package/dist/app/lib/routing/hooks/useRouterEvents.js +10 -0
  122. package/dist/app/lib/routing/hooks/useRouterState.d.ts +2 -0
  123. package/dist/app/lib/routing/hooks/useRouterState.js +8 -0
  124. package/dist/app/lib/routing/hooks/useSearchParams.d.ts +10 -0
  125. package/dist/app/lib/routing/hooks/useSearchParams.js +30 -0
  126. package/dist/app/lib/routing/index.d.ts +13 -0
  127. package/dist/app/lib/routing/index.js +13 -0
  128. package/dist/app/lib/routing/loader.d.ts +30 -0
  129. package/dist/app/lib/routing/loader.js +108 -0
  130. package/dist/app/lib/routing/types.d.ts +138 -0
  131. package/dist/app/lib/routing/utils.d.ts +15 -0
  132. package/dist/app/lib/routing/utils.js +94 -0
  133. package/dist/app/lib/views/defineView.d.ts +4 -0
  134. package/dist/app/lib/views/defineView.js +3 -0
  135. package/dist/app/lib/views/index.js +1 -0
  136. package/dist/app/server/index.d.ts +3 -0
  137. package/dist/app/server/index.js +3 -0
  138. package/dist/app/server/proxy-wp-admin.d.ts +3 -0
  139. package/dist/app/server/proxy-wp-admin.js +106 -0
  140. package/dist/app/server/render-ssr-page.d.ts +2 -0
  141. package/dist/app/server/render-ssr-page.js +22 -0
  142. package/dist/app/server/server-context.d.ts +34 -0
  143. package/dist/app/server/server-context.js +116 -0
  144. package/dist/app/server/utils/headers.d.ts +5 -0
  145. package/dist/app/server/utils/headers.js +28 -0
  146. package/dist/app/server/utils/index.html.d.ts +2 -0
  147. package/dist/app/server/utils/index.html.js +14 -0
  148. package/dist/app/server/utils/replace-host.d.ts +10 -0
  149. package/dist/app/server/utils/replace-host.js +61 -0
  150. package/dist/app/utils/query-client.d.ts +2 -0
  151. package/dist/app/utils/query-client.js +16 -0
  152. package/dist/app/utils/wp.d.ts +26 -0
  153. package/dist/node/cli/cli-mode.d.ts +10 -0
  154. package/dist/node/cli/cli-mode.js +12 -0
  155. package/dist/node/cli/cli-worker.d.ts +13 -0
  156. package/dist/node/cli/cli-worker.js +117 -0
  157. package/dist/node/cli/cli.js +197 -0
  158. package/dist/node/cli/display/CLIApp.d.ts +16 -0
  159. package/dist/node/cli/display/CLIApp.js +117 -0
  160. package/dist/node/cli/display/boot-cli-app.d.ts +2 -0
  161. package/dist/node/cli/display/boot-cli-app.js +10 -0
  162. package/{cli → dist/node/cli}/display/components/Fullscreen.d.ts +1 -1
  163. package/dist/node/cli/display/components/Fullscreen.js +24 -0
  164. package/dist/node/cli/display/components/LogEntries.d.ts +13 -0
  165. package/dist/node/cli/display/components/LogEntries.js +87 -0
  166. package/dist/node/cli/display/components/MenuItem.d.ts +6 -0
  167. package/dist/node/cli/display/components/MenuItem.js +11 -0
  168. package/dist/node/cli/display/components/TextInput.d.ts +44 -0
  169. package/dist/node/cli/display/components/TextInput.js +105 -0
  170. package/dist/node/cli/display/hooks/useManifest.d.ts +2 -0
  171. package/dist/node/cli/display/hooks/useManifest.js +8 -0
  172. package/dist/node/cli/display/hooks/useStatefulLog.d.ts +11 -0
  173. package/dist/node/cli/display/hooks/useStatefulLog.js +51 -0
  174. package/dist/node/cli/display/tools/BlockList.d.ts +2 -0
  175. package/dist/node/cli/display/tools/BlockList.js +10 -0
  176. package/dist/node/cli/display/tools/CreateBlock.d.ts +2 -0
  177. package/dist/node/cli/display/tools/CreateBlock.js +8 -0
  178. package/dist/node/cli/display/tools/cli-tool-list.d.ts +2 -0
  179. package/dist/node/cli/display/tools/cli-tool-list.js +23 -0
  180. package/dist/node/cli/display/tools/cli-tools.d.ts +26 -0
  181. package/dist/node/cli/display/tools/cli-tools.js +15 -0
  182. package/dist/node/cli/display/util/colors.d.ts +4 -0
  183. package/dist/node/cli/display/util/colors.js +63 -0
  184. package/dist/node/cli/version.d.ts +1 -0
  185. package/dist/node/cli/version.js +1 -0
  186. package/dist/node/compiler/build-vinxi.d.ts +8 -0
  187. package/dist/node/compiler/build-vinxi.js +37 -0
  188. package/dist/node/compiler/bundler.admin.d.ts +13 -0
  189. package/dist/node/compiler/bundler.admin.js +37 -0
  190. package/dist/node/compiler/bundler.frontend.d.ts +13 -0
  191. package/dist/node/compiler/bundler.frontend.js +37 -0
  192. package/dist/node/compiler/dev-server.d.ts +18 -0
  193. package/dist/node/compiler/dev-server.js +97 -0
  194. package/dist/node/compiler/get-vite-config.d.ts +19 -0
  195. package/dist/node/compiler/get-vite-config.js +184 -0
  196. package/dist/node/compiler/vinxi-app.d.ts +10 -0
  197. package/dist/node/compiler/vinxi-app.js +121 -0
  198. package/dist/node/compiler/vinxi-codegen.d.ts +12 -0
  199. package/dist/node/compiler/vinxi-codegen.js +408 -0
  200. package/dist/node/graphql/graphql-codegen.d.ts +30 -0
  201. package/dist/node/graphql/graphql-codegen.js +503 -0
  202. package/dist/node/graphql/graphql-schema-loader.d.ts +17 -0
  203. package/dist/node/graphql/graphql-schema-loader.js +91 -0
  204. package/dist/node/graphql/plugins/gql-plugin-files.d.ts +14 -0
  205. package/dist/node/graphql/plugins/gql-plugin-files.js +66 -0
  206. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.d.ts +8 -0
  207. package/dist/node/graphql/plugins/gql-plugin-no-duplicates.js +10 -0
  208. package/dist/node/graphql/plugins/gql-plugin-queries.d.ts +8 -0
  209. package/dist/node/graphql/plugins/gql-plugin-queries.js +263 -0
  210. package/dist/node/graphql/query-files-loader.d.ts +26 -0
  211. package/dist/node/graphql/query-files-loader.js +54 -0
  212. package/dist/node/graphql/wp-info-query.d.ts +1 -0
  213. package/dist/node/graphql/wp-info-query.js +29 -0
  214. package/{config/config-schema.d.ts → dist/node/project/config.d.ts} +54 -38
  215. package/dist/node/project/config.js +138 -0
  216. package/dist/node/project/eddev-build-file.d.ts +10 -0
  217. package/dist/node/project/eddev-build-file.js +79 -0
  218. package/dist/node/project/env.d.ts +39 -0
  219. package/dist/node/project/env.js +77 -0
  220. package/dist/node/project/favicons.js +1 -0
  221. package/dist/node/project/manifest/block-manifest.d.ts +19 -0
  222. package/dist/node/project/manifest/block-manifest.js +206 -0
  223. package/dist/node/project/manifest/field-manifest.d.ts +17 -0
  224. package/dist/node/project/manifest/field-manifest.js +42 -0
  225. package/dist/node/project/manifest/manifest.d.ts +30 -0
  226. package/dist/node/project/manifest/manifest.js +105 -0
  227. package/dist/node/project/manifest/view-manifest.d.ts +19 -0
  228. package/dist/node/project/manifest/view-manifest.js +152 -0
  229. package/dist/node/project/manifest/widget-manifest.d.ts +17 -0
  230. package/dist/node/project/manifest/widget-manifest.js +42 -0
  231. package/dist/node/project/project.d.ts +58 -0
  232. package/dist/node/project/project.js +113 -0
  233. package/dist/node/project/wp-info.d.ts +32 -0
  234. package/dist/node/project/wp-info.js +32 -0
  235. package/dist/node/types/block-type.d.ts +92 -0
  236. package/dist/node/types/block-type.js +82 -0
  237. package/dist/node/types/view-type.d.ts +31 -0
  238. package/dist/node/types/view-type.js +53 -0
  239. package/dist/node/utils/format-zod-error.d.ts +3 -0
  240. package/dist/node/utils/format-zod-error.js +33 -0
  241. package/dist/node/utils/fs-codegen.d.ts +40 -0
  242. package/dist/node/utils/fs-codegen.js +97 -0
  243. package/dist/node/utils/fs.d.ts +106 -0
  244. package/dist/node/utils/fs.js +58 -0
  245. package/dist/node/utils/get-repo-info.d.ts +7 -0
  246. package/dist/node/utils/get-repo-info.js +21 -0
  247. package/dist/node/utils/helpers.d.ts +2 -0
  248. package/dist/node/utils/helpers.js +14 -0
  249. package/dist/node/utils/highlight-code.d.ts +10 -0
  250. package/dist/node/utils/highlight-code.js +30 -0
  251. package/dist/node/utils/is-deploying.d.ts +4 -0
  252. package/dist/node/utils/is-deploying.js +6 -0
  253. package/dist/node/utils/report-builder.d.ts +9 -0
  254. package/dist/node/utils/report-builder.js +51 -0
  255. package/dist/node/utils/self-signed-cert.d.ts +4 -0
  256. package/dist/node/utils/self-signed-cert.js +35 -0
  257. package/dist/node/utils/stateful-log.d.ts +65 -0
  258. package/dist/node/utils/stateful-log.js +223 -0
  259. package/dist/node/utils/ts-export-extractor.d.ts +9 -0
  260. package/dist/node/utils/ts-export-extractor.js +71 -0
  261. package/dist/node/utils/watch-file-tree.d.ts +11 -0
  262. package/dist/node/utils/watch-file-tree.js +58 -0
  263. package/package.json +121 -102
  264. package/stitches-archive/config.d.ts +210 -0
  265. package/stitches-archive/css-util.d.ts +119 -0
  266. package/stitches-archive/css.d.ts +9797 -0
  267. package/stitches-archive/index.d.mts +144 -0
  268. package/stitches-archive/index.d.ts +82 -0
  269. package/stitches-archive/index.mjs +2 -0
  270. package/stitches-archive/stitches.d.ts +288 -0
  271. package/stitches-archive/styled-component.d.ts +163 -0
  272. package/stitches-archive/theme.d.ts +43 -0
  273. package/stitches-archive/util.d.ts +32 -0
  274. package/tsconfig.app.json +20 -0
  275. package/tsconfig.json +2 -104
  276. package/tsconfig.node.json +20 -0
  277. package/types.app.d.ts +22 -0
  278. package/types.app.internal.d.ts +13 -0
  279. package/types.env.d.ts +16 -0
  280. package/types.meta.d.ts +319 -0
  281. package/types.node.d.ts +3 -0
  282. package/admin/components/FileWell.d.ts +0 -8
  283. package/admin/components/FileWell.js +0 -189
  284. package/admin/components/ImageWell.d.ts +0 -9
  285. package/admin/components/ImageWell.js +0 -209
  286. package/admin/defineField.js +0 -7
  287. package/admin/defineWidget.js +0 -10
  288. package/admin/index.d.ts +0 -4
  289. package/admin/index.js +0 -16
  290. package/admin/installFieldTypes.js +0 -71
  291. package/admin/runWidgets.js +0 -55
  292. package/admin/selectMedia.d.ts +0 -31
  293. package/admin/selectMedia.js +0 -9
  294. package/blocks/ContentBlocks.d.ts +0 -40
  295. package/blocks/ContentBlocks.js +0 -125
  296. package/blocks/ErrorBoundaryEditor.js +0 -64
  297. package/blocks/ErrorBoundaryFrontend.js +0 -69
  298. package/blocks/InspectorControls.d.ts +0 -2
  299. package/blocks/InspectorControls.js +0 -13
  300. package/blocks/blockAttributes.d.ts +0 -20
  301. package/blocks/blockAttributes.js +0 -81
  302. package/blocks/defineBlock.d.ts +0 -2
  303. package/blocks/defineBlock.js +0 -7
  304. package/blocks/index.d.ts +0 -5
  305. package/blocks/index.js +0 -23
  306. package/blocks/inlineEditing.d.ts +0 -32
  307. package/blocks/inlineEditing.js +0 -141
  308. package/blocks/installGutenbergHooks.d.ts +0 -2
  309. package/blocks/installGutenbergHooks.js +0 -211
  310. package/build/babel/plugin-name-defined-components.d.ts +0 -7
  311. package/build/babel/plugin-name-defined-components.js +0 -47
  312. package/build/build-favicon.d.ts +0 -1
  313. package/build/build-favicon.js +0 -71
  314. package/build/clean.d.ts +0 -1
  315. package/build/clean.js +0 -60
  316. package/build/create-codegen-worker.d.ts +0 -3
  317. package/build/create-codegen-worker.js +0 -71
  318. package/build/create-serverless-dev-worker.d.ts +0 -3
  319. package/build/create-serverless-dev-worker.js +0 -99
  320. package/build/create-webpack-worker.d.ts +0 -3
  321. package/build/create-webpack-worker.js +0 -64
  322. package/build/file-tree.d.ts +0 -5
  323. package/build/file-tree.js +0 -45
  324. package/build/get-webpack-config.d.ts +0 -3
  325. package/build/get-webpack-config.js +0 -426
  326. package/build/graphql-codegen/graphql-codegen-blocks.d.ts +0 -1
  327. package/build/graphql-codegen/graphql-codegen-blocks.js +0 -7
  328. package/build/graphql-codegen/graphql-codegen-files.js +0 -64
  329. package/build/graphql-codegen/graphql-codegen-no-duplicates.js +0 -13
  330. package/build/graphql-codegen/graphql-codegen-queries.d.ts +0 -1
  331. package/build/graphql-codegen/graphql-codegen-queries.js +0 -248
  332. package/build/manifests/manifest-blocks.d.ts +0 -12
  333. package/build/manifests/manifest-blocks.js +0 -61
  334. package/build/manifests/manifest-fields.d.ts +0 -12
  335. package/build/manifests/manifest-fields.js +0 -42
  336. package/build/manifests/manifest-views.d.ts +0 -12
  337. package/build/manifests/manifest-views.js +0 -49
  338. package/build/manifests/manifest-widgets.d.ts +0 -12
  339. package/build/manifests/manifest-widgets.js +0 -42
  340. package/build/manifests/manifest.d.ts +0 -11
  341. package/build/manifests/manifest.js +0 -100
  342. package/build/reporter.d.ts +0 -12
  343. package/build/reporter.js +0 -102
  344. package/build/serverless/create-next-app.d.ts +0 -9
  345. package/build/serverless/create-next-app.js +0 -536
  346. package/build/state/codegen-state.d.ts +0 -32
  347. package/build/state/codegen-state.js +0 -2
  348. package/build/state/compiler-state.d.ts +0 -49
  349. package/build/state/compiler-state.js +0 -2
  350. package/build/state/serverless-state.d.ts +0 -26
  351. package/build/state/serverless-state.js +0 -2
  352. package/build/workers/codegen-worker-script.d.ts +0 -2
  353. package/build/workers/codegen-worker-script.js +0 -624
  354. package/build/workers/serverless-worker-dev-script.d.ts +0 -1
  355. package/build/workers/serverless-worker-dev-script.js +0 -21
  356. package/build/workers/webpack-worker-script.d.ts +0 -2
  357. package/build/workers/webpack-worker-script.js +0 -171
  358. package/cli/build.dev.d.ts +0 -7
  359. package/cli/build.dev.js +0 -136
  360. package/cli/build.prod.d.ts +0 -5
  361. package/cli/build.prod.js +0 -107
  362. package/cli/cli.js +0 -90
  363. package/cli/display/components/BundleDisplay.d.ts +0 -5
  364. package/cli/display/components/BundleDisplay.js +0 -56
  365. package/cli/display/components/CodegenDisplay.d.ts +0 -5
  366. package/cli/display/components/CodegenDisplay.js +0 -62
  367. package/cli/display/components/DevCLIDisplay.d.ts +0 -12
  368. package/cli/display/components/DevCLIDisplay.js +0 -42
  369. package/cli/display/components/Fullscreen.js +0 -39
  370. package/cli/display/components/ServerlessDisplay.d.ts +0 -8
  371. package/cli/display/components/ServerlessDisplay.js +0 -68
  372. package/cli/display/components/StatusIcon.d.ts +0 -5
  373. package/cli/display/components/StatusIcon.js +0 -9
  374. package/cli/preinstall.d.ts +0 -1
  375. package/cli/preinstall.js +0 -19
  376. package/cli/setup.d.ts +0 -1
  377. package/cli/setup.js +0 -90
  378. package/components/AdminBar.d.ts +0 -1
  379. package/components/AdminBar.js +0 -9
  380. package/components/BrowserRouter.js +0 -155
  381. package/components/InlinePage.d.ts +0 -11
  382. package/components/InlinePage.js +0 -70
  383. package/components/NextRouter.d.ts +0 -9
  384. package/components/NextRouter.js +0 -45
  385. package/components/index.d.ts +0 -2
  386. package/components/index.js +0 -14
  387. package/config/config-schema.js +0 -38
  388. package/config/create-schema-file.d.ts +0 -1
  389. package/config/create-schema-file.js +0 -20
  390. package/config/get-config.d.ts +0 -78
  391. package/config/get-config.js +0 -32
  392. package/config/index.d.ts +0 -2
  393. package/config/index.js +0 -14
  394. package/config/parse-config.d.ts +0 -51
  395. package/config/parse-config.js +0 -8
  396. package/config/print-zod-errors.d.ts +0 -2
  397. package/config/print-zod-errors.js +0 -14
  398. package/dev-ui/components/BreakpointColumnHeader.d.ts +0 -10
  399. package/dev-ui/components/BreakpointColumnHeader.js +0 -47
  400. package/dev-ui/components/BreakpointIndicator.js +0 -139
  401. package/dev-ui/components/DevUI.js +0 -28
  402. package/dev-ui/components/Launcher.d.ts +0 -98
  403. package/dev-ui/components/Launcher.js +0 -94
  404. package/dev-ui/components/PanelWrapper.d.ts +0 -8
  405. package/dev-ui/components/PanelWrapper.js +0 -37
  406. package/dev-ui/components/ResponsiveLerpControl.d.ts +0 -7
  407. package/dev-ui/components/ResponsiveLerpControl.js +0 -176
  408. package/dev-ui/components/ResponsiveScaleEditor.d.ts +0 -25
  409. package/dev-ui/components/ResponsiveScaleEditor.js +0 -238
  410. package/dev-ui/components/atoms/Button.d.ts +0 -47
  411. package/dev-ui/components/atoms/Button.js +0 -67
  412. package/dev-ui/components/atoms/Dropdown.d.ts +0 -13
  413. package/dev-ui/components/atoms/Dropdown.js +0 -50
  414. package/dev-ui/components/atoms/NumberField.d.ts +0 -11
  415. package/dev-ui/components/atoms/NumberField.js +0 -111
  416. package/dev-ui/components/atoms/Spacer.d.ts +0 -42
  417. package/dev-ui/components/atoms/Spacer.js +0 -8
  418. package/dev-ui/components/atoms/Text.d.ts +0 -45
  419. package/dev-ui/components/atoms/Text.js +0 -39
  420. package/dev-ui/components/atoms/ToggleButton.d.ts +0 -8
  421. package/dev-ui/components/atoms/ToggleButton.js +0 -41
  422. package/dev-ui/components/atoms/Tooltip.d.ts +0 -9
  423. package/dev-ui/components/atoms/Tooltip.js +0 -66
  424. package/dev-ui/components/panels/AppDataDebugger.d.ts +0 -1
  425. package/dev-ui/components/panels/AppDataDebugger.js +0 -29
  426. package/dev-ui/components/panels/ColorEditor.d.ts +0 -1
  427. package/dev-ui/components/panels/ColorEditor.js +0 -128
  428. package/dev-ui/components/panels/PageDataDebugger.d.ts +0 -1
  429. package/dev-ui/components/panels/PageDataDebugger.js +0 -30
  430. package/dev-ui/components/panels/QueryDebugger.d.ts +0 -1
  431. package/dev-ui/components/panels/QueryDebugger.js +0 -46
  432. package/dev-ui/components/panels/SpacingEditor.d.ts +0 -1
  433. package/dev-ui/components/panels/SpacingEditor.js +0 -88
  434. package/dev-ui/components/panels/TypographyEditor.d.ts +0 -1
  435. package/dev-ui/components/panels/TypographyEditor.js +0 -97
  436. package/dev-ui/hooks/useBreakpoint.d.ts +0 -11
  437. package/dev-ui/hooks/useBreakpoint.js +0 -59
  438. package/dev-ui/hooks/usePersistState.js +0 -36
  439. package/dev-ui/hooks/useStylesheet.d.ts +0 -4
  440. package/dev-ui/hooks/useStylesheet.js +0 -31
  441. package/dev-ui/icons.d.ts +0 -15
  442. package/dev-ui/icons.js +0 -30
  443. package/dev-ui/index.d.ts +0 -1
  444. package/dev-ui/index.js +0 -13
  445. package/dev-ui/loader.js +0 -44
  446. package/dev-ui/panels.d.ts +0 -11
  447. package/dev-ui/panels.js +0 -47
  448. package/dev-ui/theme.d.ts +0 -151
  449. package/dev-ui/theme.js +0 -50
  450. package/dynamic/dynamic-component.d.ts +0 -10
  451. package/dynamic/dynamic-component.js +0 -8
  452. package/dynamic/index.d.ts +0 -1
  453. package/dynamic/index.js +0 -13
  454. package/entry/Root.d.ts +0 -3
  455. package/entry/Root.js +0 -56
  456. package/entry/entry.admin.dev.d.ts +0 -1
  457. package/entry/entry.admin.dev.js +0 -26
  458. package/entry/entry.admin.prod.d.ts +0 -1
  459. package/entry/entry.admin.prod.js +0 -16
  460. package/entry/entry.monolith.dev.d.ts +0 -6
  461. package/entry/entry.monolith.dev.js +0 -19
  462. package/entry/entry.monolith.prod.d.ts +0 -6
  463. package/entry/entry.monolith.prod.js +0 -18
  464. package/entry/entry.publicPath.js +0 -6
  465. package/gravityforms/index.d.ts +0 -2
  466. package/gravityforms/index.js +0 -14
  467. package/gravityforms/types.d.ts +0 -140
  468. package/gravityforms/types.js +0 -2
  469. package/gravityforms/useGravityForm.d.ts +0 -30
  470. package/gravityforms/useGravityForm.js +0 -292
  471. package/hooks/index.js +0 -15
  472. package/hooks/queryUtils.d.ts +0 -63
  473. package/hooks/queryUtils.js +0 -281
  474. package/hooks/useAppData.d.ts +0 -10
  475. package/hooks/useAppData.js +0 -37
  476. package/hooks/usePageLoad.js +0 -11
  477. package/hooks/useQuery.d.ts +0 -1
  478. package/hooks/useQuery.js +0 -10
  479. package/hooks/useQueryDebug.js +0 -21
  480. package/hooks/useRPC.d.ts +0 -12
  481. package/hooks/useRPC.js +0 -20
  482. package/index.d.ts +0 -1
  483. package/index.js +0 -5
  484. package/routing/index.d.ts +0 -1
  485. package/routing/index.js +0 -13
  486. package/routing/remoteProps.d.ts +0 -22
  487. package/routing/remoteProps.js +0 -103
  488. package/routing/routing.d.ts +0 -96
  489. package/routing/routing.js +0 -442
  490. package/routing/updateEditLink.d.ts +0 -1
  491. package/routing/updateEditLink.js +0 -12
  492. package/routing/updateHeadTags.d.ts +0 -2
  493. package/routing/updateHeadTags.js +0 -11
  494. package/serverless/define-api.d.ts +0 -2
  495. package/serverless/define-api.js +0 -66
  496. package/serverless/define-rpc-router.d.ts +0 -6
  497. package/serverless/define-rpc-router.js +0 -35
  498. package/serverless/error-codes.d.ts +0 -2
  499. package/serverless/error-codes.js +0 -14
  500. package/serverless/index.d.ts +0 -5
  501. package/serverless/index.js +0 -18
  502. package/serverless/rpc-provider.d.ts +0 -1
  503. package/serverless/rpc-provider.js +0 -5
  504. package/serverless-template/README.md +0 -34
  505. package/serverless-template/_utils/PageMeta.tsx +0 -44
  506. package/serverless-template/_utils/ed-config.ts +0 -5
  507. package/serverless-template/_utils/fetch-wordpress-props.ts +0 -62
  508. package/serverless-template/_utils/fetch-wp.ts +0 -34
  509. package/serverless-template/_utils/swr.ts +0 -43
  510. package/serverless-template/global.d.ts +0 -15
  511. package/serverless-template/next-env.d.ts +0 -3
  512. package/serverless-template/next.config.js +0 -119
  513. package/serverless-template/null.ts +0 -1
  514. package/serverless-template/package.json +0 -21
  515. package/serverless-template/pages/404.tsx +0 -12
  516. package/serverless-template/pages/[...slug].tsx +0 -35
  517. package/serverless-template/pages/_app.tsx +0 -55
  518. package/serverless-template/pages/_document.tsx +0 -65
  519. package/serverless-template/pages/api/rest/[...method].ts +0 -59
  520. package/serverless-template/pages/api/robots.ts +0 -49
  521. package/serverless-template/pages/api/sitemap/[...sitemap].ts +0 -56
  522. package/serverless-template/pages/api/trpc/[...trpc].ts +0 -41
  523. package/serverless-template/pages/index.tsx +0 -15
  524. package/serverless-template/tsconfig.json +0 -39
  525. package/style/createStitches.d.ts +0 -1058
  526. package/style/createStitches.js +0 -443
  527. package/style/index.js +0 -13
  528. package/utils/Observable.d.ts +0 -11
  529. package/utils/Observable.js +0 -34
  530. package/utils/getRepoName.d.ts +0 -4
  531. package/utils/getRepoName.js +0 -30
  532. package/utils/merge-refs.d.ts +0 -2
  533. package/utils/merge-refs.js +0 -17
  534. package/utils/promptIfRepoNameIncorrect.d.ts +0 -1
  535. package/utils/promptIfRepoNameIncorrect.js +0 -72
  536. package/utils/refreshOverlayInterop.d.ts +0 -4
  537. package/utils/refreshOverlayInterop.js +0 -12
  538. package/utils/reportErrorStack.d.ts +0 -7
  539. package/utils/reportErrorStack.js +0 -13
  540. package/utils/serverlessAppContext.d.ts +0 -3
  541. package/utils/serverlessAppContext.js +0 -6
  542. package/utils/updateEnvFile.d.ts +0 -1
  543. package/utils/updateEnvFile.js +0 -76
  544. package/utils/useObservable.d.ts +0 -2
  545. package/utils/useObservable.js +0 -12
  546. package/views/defineView.d.ts +0 -2
  547. package/views/defineView.js +0 -7
  548. package/views/index.js +0 -13
  549. /package/{admin → dist/app/lib/admin}/installFieldTypes.d.ts +0 -0
  550. /package/{admin → dist/app/lib/admin}/runWidgets.d.ts +0 -0
  551. /package/{dev-ui → dist/app/lib/devtools}/components/BreakpointIndicator.d.ts +0 -0
  552. /package/{dev-ui → dist/app/lib/devtools}/hooks/usePersistState.d.ts +0 -0
  553. /package/{dev-ui → dist/app/lib/devtools}/loader.d.ts +0 -0
  554. /package/{style → dist/app/lib/legacy-stitches}/index.d.ts +0 -0
  555. /package/{build/graphql-codegen/graphql-codegen-files.d.ts → dist/app/lib/routing/types.js} +0 -0
  556. /package/{views → dist/app/lib/views}/index.d.ts +0 -0
  557. /package/{build/graphql-codegen/graphql-codegen-no-duplicates.d.ts → dist/app/utils/wp.js} +0 -0
  558. /package/{cli → dist/node/cli}/cli.d.ts +0 -0
  559. /package/{entry/entry.publicPath.d.ts → dist/node/project/favicons.d.ts} +0 -0
@@ -0,0 +1,117 @@
1
+ import { Worker, isMainThread, parentPort, workerData } from "node:worker_threads";
2
+ import { AdminBundler, adminLog } from "../compiler/bundler.admin.js";
3
+ import { FrontendBundler, frontendLog } from "../compiler/bundler.frontend.js";
4
+ import { GraphQLGenerator, graphqlLog } from "../graphql/graphql-codegen.js";
5
+ import { Project } from "../project/project.js";
6
+ import { configureCliMode } from "./cli-mode.js";
7
+ export class CLIWorker {
8
+ worker;
9
+ constructor({ log, mode, verbose }) {
10
+ const worker = new Worker(new URL(import.meta.url), {
11
+ workerData: {
12
+ mode,
13
+ verbose,
14
+ },
15
+ stdout: true,
16
+ stderr: true,
17
+ });
18
+ this.worker = worker;
19
+ worker.stdout?.on("data", (data) => {
20
+ log.log(data.toString());
21
+ });
22
+ worker.stderr?.on("data", (data) => {
23
+ log.warn(data.toString());
24
+ });
25
+ worker.on("message", (msg) => {
26
+ try {
27
+ const payload = JSON.parse(msg);
28
+ if (payload && typeof payload === "object" && payload.type === "log") {
29
+ log.copy(payload.log);
30
+ }
31
+ }
32
+ catch (err) {
33
+ log.warn("Unknown worker message:", msg);
34
+ }
35
+ });
36
+ worker.on("error", (err) => {
37
+ log.error("Worker error", err);
38
+ });
39
+ worker.on("exit", (code) => {
40
+ log.info("Worker exited", code);
41
+ });
42
+ }
43
+ async shutdown() {
44
+ await this.worker.terminate();
45
+ }
46
+ }
47
+ if (!isMainThread) {
48
+ const mode = workerData.mode;
49
+ /** Ignore self-signed certificate errors in dev mode */
50
+ process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = "0";
51
+ configureCliMode({
52
+ interactive: true,
53
+ readonly: false,
54
+ exitOnValidationError: true,
55
+ detailed: false,
56
+ verbose: workerData.verbose,
57
+ watch: true,
58
+ rootDir: process.cwd(),
59
+ });
60
+ // Load the project info
61
+ const project = await Project.create({
62
+ rootDir: process.cwd(),
63
+ reportPluginCompatibility: false,
64
+ });
65
+ function serializeLogData(data) {
66
+ if (data instanceof Error) {
67
+ return {
68
+ __is_error: true,
69
+ message: data.message,
70
+ stack: data.stack,
71
+ name: data.name,
72
+ cause: data.cause,
73
+ };
74
+ }
75
+ else if (data && Array.isArray(data)) {
76
+ return data.map(serializeLogData);
77
+ }
78
+ else if (data && typeof data === "object") {
79
+ const obj = { ...data };
80
+ for (const key in obj) {
81
+ obj[key] = serializeLogData(obj[key]);
82
+ }
83
+ return obj;
84
+ }
85
+ return data;
86
+ }
87
+ function pipeLog(log) {
88
+ log.subscribe((log) => {
89
+ // We ignore SSL errors in dev mode.
90
+ parentPort?.postMessage(JSON.stringify({ type: "log", log: serializeLogData(log) }));
91
+ });
92
+ }
93
+ if (mode === "admin") {
94
+ new AdminBundler(project, {
95
+ mode: "development",
96
+ });
97
+ pipeLog(adminLog);
98
+ }
99
+ else if (mode === "frontend") {
100
+ new FrontendBundler(project, {
101
+ mode: "development",
102
+ watch: true,
103
+ });
104
+ pipeLog(frontendLog);
105
+ }
106
+ else if (mode === "graphql") {
107
+ const codegen = new GraphQLGenerator(project);
108
+ codegen.start();
109
+ pipeLog(graphqlLog);
110
+ }
111
+ else if (mode === "serverless") {
112
+ // new ServerlessDevServer(project, {
113
+ // mode: "development",
114
+ // })
115
+ // pipeLog(serverlessLog)
116
+ }
117
+ }
@@ -0,0 +1,197 @@
1
+ import chalk from "chalk";
2
+ import { Command } from "commander";
3
+ import { setDefaultResultOrder } from "dns";
4
+ import { config as importDotEnv } from "dotenv";
5
+ import { adminLog } from "../compiler/bundler.admin.js";
6
+ import { frontendLog } from "../compiler/bundler.frontend.js";
7
+ import { DevServer, serverlessLog } from "../compiler/dev-server.js";
8
+ import { createVinxiCodegen } from "../compiler/vinxi-codegen.js";
9
+ import { graphqlLog } from "../graphql/graphql-codegen.js";
10
+ import { BuildInfoWriter } from "../project/eddev-build-file.js";
11
+ import { Project, projectLog } from "../project/project.js";
12
+ import { describeBlockManifest } from "../types/block-type.js";
13
+ import { describeViewManifest } from "../types/view-type.js";
14
+ import { configureCliMode } from "./cli-mode.js";
15
+ import { CLIWorker } from "./cli-worker.js";
16
+ import { bootCLIUI } from "./display/boot-cli-app.js";
17
+ import { VERSION } from "./version.js";
18
+ import { buildVinxi } from "../compiler/build-vinxi.js";
19
+ import { createConsole } from "../utils/stateful-log.js";
20
+ importDotEnv();
21
+ const program = new Command()
22
+ .version(VERSION)
23
+ .name("eddev")
24
+ .description("⚡️ ED. Stack\nSee https://eddev.ed.studio for docs.");
25
+ const init = (verbose) => {
26
+ console.log(`\n<⚡️ ED. Stack v${VERSION}>\n`);
27
+ };
28
+ program
29
+ .command("dev")
30
+ .description("Run in dev mode")
31
+ .option("-m, --mode <mode>", "Comma separated list of modes, or a single mode.", "frontend,admin,graphql,serverless")
32
+ .option("--verbose", "Show extra debugging info", false)
33
+ .action(async (options) => {
34
+ process.env["NODE_ENV"] = "development";
35
+ /** Ignore self-signed certificate errors in dev mode */
36
+ process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = "0";
37
+ serverlessLog.info(chalk.yellowBright(`⚡️ ED. Stack v${VERSION}`));
38
+ const tasks = {
39
+ admin: !options.mode || options.mode.includes("admin"),
40
+ frontend: !options.mode || options.mode.includes("frontend"),
41
+ serverless: !options.mode || options.mode.includes("serverless"),
42
+ graphql: !options.mode || options.mode.includes("graphql"),
43
+ };
44
+ // https://github.com/node-fetch/node-fetch/issues/1624#issuecomment-1407717012
45
+ setDefaultResultOrder("ipv4first");
46
+ configureCliMode({
47
+ interactive: true,
48
+ readonly: false,
49
+ exitOnValidationError: true,
50
+ detailed: false,
51
+ verbose: options.verbose,
52
+ watch: true,
53
+ rootDir: process.cwd(),
54
+ });
55
+ bootCLIUI({
56
+ getProject: () => project,
57
+ logs: {
58
+ project: projectLog,
59
+ adminBundle: tasks.admin ? adminLog : undefined,
60
+ frontendBundle: tasks.frontend ? frontendLog : undefined,
61
+ serverless: tasks.serverless ? serverlessLog : undefined,
62
+ graphql: tasks.graphql ? graphqlLog : undefined,
63
+ },
64
+ });
65
+ // Load the project info
66
+ const project = await Project.create({
67
+ rootDir: process.cwd(),
68
+ reportPluginCompatibility: true,
69
+ });
70
+ const infoWriter = new BuildInfoWriter(project);
71
+ infoWriter.watch();
72
+ infoWriter.write();
73
+ if (tasks.admin || tasks.frontend) {
74
+ const spaStaging = createVinxiCodegen({
75
+ mode: "development",
76
+ project,
77
+ serverless: false,
78
+ endpoint: "",
79
+ });
80
+ spaStaging.runAndWatch();
81
+ }
82
+ // Boot up admin in a worker
83
+ if (tasks.admin) {
84
+ new CLIWorker({
85
+ log: adminLog,
86
+ mode: "admin",
87
+ verbose: options.verbose,
88
+ });
89
+ }
90
+ // Boot up frontend in a worker
91
+ if (tasks.frontend) {
92
+ new CLIWorker({
93
+ log: frontendLog,
94
+ mode: "frontend",
95
+ verbose: options.verbose,
96
+ });
97
+ }
98
+ // Load the compiler
99
+ if (tasks.serverless) {
100
+ console.log = (...args) => {
101
+ serverlessLog.log(...args);
102
+ };
103
+ console.error = (...args) => {
104
+ // We ignore SSL errors in dev mode.
105
+ if (typeof args[0] === "string" && args[0].includes("NODE_TLS_REJECT_UNAUTHORIZED"))
106
+ return;
107
+ serverlessLog.error(...args);
108
+ };
109
+ console.warn = (...args) => {
110
+ serverlessLog.warn(...args);
111
+ };
112
+ console.info = (...args) => {
113
+ serverlessLog.info(...args);
114
+ };
115
+ const serverlessStaging = createVinxiCodegen({
116
+ mode: "development",
117
+ project,
118
+ serverless: true,
119
+ endpoint: "",
120
+ });
121
+ await serverlessStaging.runAndWatch();
122
+ new DevServer(project, {
123
+ mode: "development",
124
+ });
125
+ }
126
+ // GraphQL codegen
127
+ if (tasks.graphql) {
128
+ new CLIWorker({
129
+ log: graphqlLog,
130
+ mode: "graphql",
131
+ verbose: options.verbose,
132
+ });
133
+ }
134
+ });
135
+ program
136
+ .command("build")
137
+ .description("Build in production mode")
138
+ .option("-s, --serverless", 'Build in "serverless" mode', false)
139
+ .option("--verbose", "Show extra debugging info", false)
140
+ .action(async (options) => {
141
+ init(options.verbose);
142
+ configureCliMode({
143
+ interactive: false,
144
+ readonly: false,
145
+ exitOnValidationError: true,
146
+ detailed: true,
147
+ verbose: options.verbose,
148
+ watch: false,
149
+ rootDir: process.cwd(),
150
+ });
151
+ const console = createConsole("build");
152
+ // Load the project info
153
+ const project = await Project.create({
154
+ rootDir: process.cwd(),
155
+ });
156
+ const buildServerless = options.serverless || process.env.VERCEL;
157
+ if (buildServerless) {
158
+ await buildVinxi({
159
+ project,
160
+ console,
161
+ });
162
+ }
163
+ // Load the compiler
164
+ // new AdminBundler(project, {
165
+ // mode: "development",
166
+ // })
167
+ // new FrontendBundler(project, {
168
+ // mode: "production",
169
+ // })
170
+ });
171
+ program
172
+ .command("info")
173
+ .description("Return info about this project")
174
+ .option("--verbose", "Show extra debugging info", false)
175
+ .action(async (options) => {
176
+ init(options.verbose);
177
+ configureCliMode({
178
+ interactive: false,
179
+ readonly: true,
180
+ exitOnValidationError: false,
181
+ detailed: true,
182
+ verbose: options.verbose,
183
+ watch: false,
184
+ rootDir: process.cwd(),
185
+ });
186
+ // Load the project
187
+ const project = await Project.create({
188
+ rootDir: process.cwd(),
189
+ });
190
+ // Load the blocks
191
+ const blocks = await project.blocks.get();
192
+ console.log(describeBlockManifest(blocks));
193
+ // Load the views
194
+ const views = await project.views.get();
195
+ console.log(describeViewManifest(views));
196
+ });
197
+ program.parse(process.argv);
@@ -0,0 +1,16 @@
1
+ import type { graphqlLog } from "../../graphql/graphql-codegen.js";
2
+ import type { Project, projectLog } from "../../project/project.js";
3
+ import type { adminLog } from "../../compiler/bundler.admin.js";
4
+ import type { frontendLog } from "../../compiler/bundler.frontend.js";
5
+ import { serverlessLog } from "../../compiler/dev-server.js";
6
+ export type CLIDisplayProps = {
7
+ getProject: () => Project;
8
+ logs: {
9
+ project?: typeof projectLog;
10
+ graphql?: typeof graphqlLog;
11
+ frontendBundle?: typeof frontendLog;
12
+ serverless?: typeof serverlessLog;
13
+ adminBundle?: typeof adminLog;
14
+ };
15
+ };
16
+ export declare function CLIApp(props: CLIDisplayProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,117 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Static, Text, useInput } from "ink";
3
+ import Spinner from "ink-spinner";
4
+ import { VERSION } from "../version.js";
5
+ import { LogEntries, LogItem } from "./components/LogEntries.js";
6
+ import { useStatefulLogs } from "./hooks/useStatefulLog.js";
7
+ import { statusColor, statusIcon } from "./util/colors.js";
8
+ import { serverlessLog } from "../../compiler/dev-server.js";
9
+ import { useEffect, useState } from "react";
10
+ import TextInput from "./components/TextInput.js";
11
+ import { findTools } from "./tools/cli-tools.js";
12
+ import { TOOLS } from "./tools/cli-tool-list.js";
13
+ function useRedraw() {
14
+ const [_, setTick] = useState(0);
15
+ return () => setTick((tick) => tick + 1);
16
+ }
17
+ export function CLIApp(props) {
18
+ const redraw = useRedraw();
19
+ const [showingMenu, setShowingMenu] = useState(false);
20
+ const [activeScreen, setActiveScreen] = useState("main");
21
+ const activeTool = TOOLS[activeScreen];
22
+ const ToolComponent = activeTool?.component;
23
+ useInput((input, key) => {
24
+ if (key.escape) {
25
+ setTimeout(() => {
26
+ if (activeScreen !== "main") {
27
+ setShowingMenu(true);
28
+ setActiveScreen("main");
29
+ }
30
+ else {
31
+ setShowingMenu((showing) => !showing);
32
+ }
33
+ }, 1);
34
+ }
35
+ else if (activeScreen === "main" && !showingMenu) {
36
+ if (input === "c" || input === "k") {
37
+ process.stdout.write("\u001b[3J\u001b[1J");
38
+ console.clear();
39
+ props.logs.serverless?.resetLog();
40
+ redraw();
41
+ }
42
+ else if (input === "q") {
43
+ process.exit(0);
44
+ }
45
+ }
46
+ });
47
+ const logs = useStatefulLogs({
48
+ projectLog: props.logs.project,
49
+ graphqlLog: props.logs.graphql,
50
+ frontendLog: props.logs.frontendBundle,
51
+ adminLog: props.logs.adminBundle,
52
+ serverlessLog: props.logs.serverless,
53
+ });
54
+ const mainLog = logs.serverlessLog || logs.frontendLog || logs.adminLog || logs.graphqlLog || logs.projectLog;
55
+ const logList = Object.entries(logs).filter(([key, log]) => log !== mainLog);
56
+ return (_jsxs(_Fragment, { children: [_jsx(Static, { items: mainLog ? mainLog.entries : [], children: (item, i) => {
57
+ return _jsx(LogItem, { item: item }, item.id);
58
+ } }), showingMenu ? (_jsx(MainMenu, { onSelect: (tool) => {
59
+ setActiveScreen(tool);
60
+ setShowingMenu(false);
61
+ } })) : activeScreen === "main" ? (_jsxs(_Fragment, { children: [_jsx(Box, { width: "100%", flexDirection: "column", children: _jsx(Panel, { label: "Dev Server", color: "#F53AF4", icon: "\u2730", info: `eddev@${VERSION}`, children: _jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: "#88DEFF", children: "Frontend:" }), _jsx(Text, { color: "#D98D73", children: serverlessLog.state?.serverlessUrl })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: "#88DEFF", children: "WordPress Origin:" }), _jsx(Text, { color: "#D98D73", children: serverlessLog.state?.wordpressUrl })] }), _jsx(Text, { color: "#88DEFF", children: "Service Status:" }), _jsx(Box, { width: "100%", flexWrap: "wrap", paddingLeft: 1, children: logList.map(([key, log]) => (_jsx(Box, { children: _jsx(LogStatus, { log: log }) }, key))) })] }) }) }), _jsx(Box, { flexDirection: "column", children: logList.map(([key, log]) => {
62
+ return _jsx(MiniLog, { log: log }, key);
63
+ }) })] })) : (_jsx(Panel, { label: activeTool.name, color: "yellow", icon: "!", children: _jsx(ToolComponent, { project: props.getProject(), close: () => {
64
+ setActiveScreen("main");
65
+ setShowingMenu(false);
66
+ } }) }))] }));
67
+ }
68
+ function MainMenu(props) {
69
+ const [focusIndex, setFocusIndex] = useState(0);
70
+ const [search, setSearch] = useState("");
71
+ // let matches = Object.entries(TOOLS)
72
+ // if (search) {
73
+ // matches = matches.filter(([key, tool]) => tool.name.toLowerCase().includes(search.toLowerCase()))
74
+ // }
75
+ const matches = findTools(search);
76
+ useInput((input, key) => {
77
+ if (key.downArrow) {
78
+ setFocusIndex((index) => (index + 1) % matches.length);
79
+ }
80
+ else if (key.upArrow) {
81
+ setFocusIndex((index) => (index - 1 + matches.length) % matches.length);
82
+ }
83
+ else if (key.return) {
84
+ const match = matches[focusIndex];
85
+ if (match) {
86
+ props.onSelect(match.tool.id);
87
+ }
88
+ }
89
+ });
90
+ return (_jsx(Panel, { label: "Main Menu", icon: "\u25C8", color: "yellow", info: "[ESC] to close", children: _jsxs(Box, { width: "100%", flexDirection: "column", paddingX: 1, paddingY: 0, children: [_jsxs(Box, { gap: 1, flexDirection: "row", children: [_jsx(Text, { color: "whiteBright", children: "What would you like to do?" }), _jsx(Text, { color: "gray", children: "[ESC] to close" })] }), _jsxs(Box, { paddingBottom: 1, children: [_jsx(Text, { color: "white", children: "> " }), _jsx(TextInput, { value: search, onChange: (value) => {
91
+ setSearch(value);
92
+ setFocusIndex(0);
93
+ }, showCursor: true, focus: true, placeholder: "Search..." })] }), matches.length === 0 ? _jsx(Text, { color: "redBright", children: "😓 No results" }) : null, matches.map((item, index) => {
94
+ const focused = focusIndex === index;
95
+ return (_jsxs(Box, { children: [_jsx(Box, { width: 3, children: _jsx(Text, { children: focused ? "👉" : "" }) }), _jsxs(Box, { children: [_jsx(Text, { color: focused ? "yellow" : "white", children: item.tool.name }), _jsx(Text, { children: String(item.score) })] })] }, item.tool.id));
96
+ })] }) }));
97
+ }
98
+ function MiniLog({ log, border }) {
99
+ const color = statusColor(log.status);
100
+ const shouldShow = log.status !== "success";
101
+ const [active, setActive] = useState(shouldShow);
102
+ useEffect(() => {
103
+ const timer = setTimeout(() => {
104
+ setActive(shouldShow);
105
+ }, 1000);
106
+ return () => clearTimeout(timer);
107
+ }, [shouldShow]);
108
+ if (!active && !shouldShow)
109
+ return null;
110
+ return (_jsx(Panel, { label: log.label, time: log.status !== "working" ? log.time : 0, color: color, icon: log.status === "working" ? _jsx(Spinner, {}) : statusIcon(log.status), children: _jsx(LogEntries, { entries: log.entries }) }));
111
+ }
112
+ function LogStatus({ log }) {
113
+ return (_jsxs(Text, { color: statusColor(log.status), children: [log.status === "working" ? _jsx(Spinner, {}) : statusIcon(log.status), " ", log.label, " ", log.time > 0 ? _jsx(Text, { dimColor: true, children: log.time + "ms" }) : null] }));
114
+ }
115
+ function Panel(props) {
116
+ return (_jsxs(Box, { flexGrow: 1, flexShrink: 1, flexBasis: "100%", flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsxs(Text, { color: props.color, children: ["╭ ", props.icon, " ", props.label, " ", props.time > 0 ? _jsx(Text, { dimColor: true, children: props.time + "ms" }) : null] }), props.info && (_jsx(_Fragment, { children: _jsx(Text, { color: props.color, dimColor: true, children: props.info }) }))] }), _jsx(Box, { borderStyle: "round", borderColor: props.color, paddingLeft: 1, borderTop: false, borderRight: false, children: props.children })] }));
117
+ }
@@ -0,0 +1,2 @@
1
+ import { CLIDisplayProps } from "./CLIApp.js";
2
+ export declare function bootCLIUI(props: CLIDisplayProps): void;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render } from "ink";
3
+ import { CLIApp } from "./CLIApp.js";
4
+ export function bootCLIUI(props) {
5
+ console.clear();
6
+ render(_jsx(CLIApp, { ...props }), {
7
+ exitOnCtrlC: true,
8
+ patchConsole: true,
9
+ });
10
+ }
@@ -1,4 +1,4 @@
1
1
  import { PropsWithChildren } from "react";
2
- declare type Props = PropsWithChildren<{}>;
2
+ type Props = PropsWithChildren<{}>;
3
3
  export declare function Fullscreen(props: Props): import("react/jsx-runtime").JSX.Element;
4
4
  export {};
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box } from "ink";
3
+ import { useEffect, useState } from "react";
4
+ export function Fullscreen(props) {
5
+ const [size, setSize] = useState({
6
+ columns: process.stdout.columns,
7
+ rows: process.stdout.rows,
8
+ });
9
+ useEffect(() => {
10
+ function onResize() {
11
+ setSize({
12
+ columns: process.stdout.columns,
13
+ rows: process.stdout.rows + 10,
14
+ });
15
+ }
16
+ process.stdout.on("resize", onResize);
17
+ // process.stdout.write("\x1b[?1049h")
18
+ return () => {
19
+ process.stdout.off("resize", onResize);
20
+ // process.stdout.write("\x1b[?1049l")
21
+ };
22
+ }, []);
23
+ return (_jsx(Box, { width: size.columns, minHeight: size.rows, children: props.children }));
24
+ }
@@ -0,0 +1,13 @@
1
+ import type { LogEntry, LogGroup, LogGroupOrEntry } from "../../../utils/stateful-log.js";
2
+ export declare function LogEntries(props: {
3
+ entries: LogGroupOrEntry[];
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ export declare function LogItem({ item }: {
6
+ item: LogGroupOrEntry;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export declare function LogGroup(props: {
9
+ group: LogGroup;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ export declare function LogEntry(props: {
12
+ entry: LogEntry;
13
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { statusColor, statusIcon } from "../util/colors.js";
4
+ import { inspect } from "util";
5
+ import chalk from "chalk";
6
+ export function LogEntries(props) {
7
+ return (_jsx(Box, { flexDirection: "column", children: props.entries.map((entry, index) => {
8
+ if (entry.type === "group") {
9
+ return _jsx(LogGroup, { group: { ...entry } }, index);
10
+ }
11
+ else {
12
+ return _jsx(LogEntry, { entry: entry }, index);
13
+ }
14
+ }) }));
15
+ }
16
+ export function LogItem({ item }) {
17
+ if (item.type === "group") {
18
+ return _jsx(LogGroup, { group: item });
19
+ }
20
+ else {
21
+ return _jsx(LogEntry, { entry: item });
22
+ }
23
+ }
24
+ export function LogGroup(props) {
25
+ const color = statusColor(props.group.kind);
26
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { color: color, children: [_jsx(Text, { children: statusIcon(props.group.kind) }), " ", props.group.label, ":"] }), _jsx(Box, { flexDirection: "column", paddingLeft: 1, borderStyle: "round", borderColor: color, borderTop: false, borderRight: false, width: "100%", children: _jsx(LogEntries, { entries: props.group.entries }) })] }));
27
+ }
28
+ function formatError(error) {
29
+ let type = error.name;
30
+ let message = error.message;
31
+ let stack = error.stack;
32
+ let output = "";
33
+ if (error.name)
34
+ output += chalk.red(type) + ": ";
35
+ if (error.message)
36
+ output += message + "\n";
37
+ if (error.stack)
38
+ output += chalk.dim(stack);
39
+ return output;
40
+ }
41
+ const rawValue = (value) => {
42
+ if (value instanceof Error || (value && typeof value === "object" && value.__is_error)) {
43
+ return formatError(value);
44
+ }
45
+ else if (typeof value === "object") {
46
+ return inspect(value, false, 4, true);
47
+ }
48
+ return String(value);
49
+ };
50
+ const paths = [
51
+ { find: "file://" + encodeURI(process.cwd().replace(/\/?$/, "/")), replace: "./" },
52
+ { find: "file://" + encodeURI(process.cwd().replace(/\/[^\/]+\/?$/, "/")), replace: "../" },
53
+ { find: process.cwd().replace(/\/?$/, "/"), replace: "./" },
54
+ ];
55
+ const shortenErrors = (value) => {
56
+ for (let path of paths) {
57
+ value = value.replaceAll(path.find, path.replace);
58
+ }
59
+ return value;
60
+ };
61
+ const stringify = (value) => {
62
+ return shortenErrors(rawValue(value));
63
+ };
64
+ export function LogEntry(props) {
65
+ let tag = "";
66
+ let icon = statusIcon(props.entry.kind);
67
+ let iconFG = statusColor(props.entry.kind);
68
+ let textFG = "whiteBright";
69
+ let tagBG = "blue";
70
+ let tagFG = "whiteBright";
71
+ if (props.entry.kind === "verbose") {
72
+ textFG = "gray";
73
+ }
74
+ else if (props.entry.kind === "error") {
75
+ tag = "ERROR";
76
+ tagBG = "red";
77
+ tagFG = "black";
78
+ }
79
+ if (tag) {
80
+ const first = props.entry.items[0];
81
+ const rest = props.entry.items.slice(1);
82
+ return (_jsxs(_Fragment, { children: [_jsxs(Text, { color: "black", backgroundColor: tagBG, children: [_jsxs(Text, { children: [" ", icon, " "] }), tag, " ", _jsx(Text, { children: stringify(first) })] }), rest ? (_jsx(Box, { borderStyle: "round", borderRight: false, borderTop: false, borderColor: tagBG, paddingLeft: 1, children: _jsx(Text, { children: rest.map(stringify).join(" ") }) })) : null] }));
83
+ }
84
+ else {
85
+ return (_jsxs(Box, { children: [_jsx(Box, { width: 2, flexShrink: 0, flexGrow: 0, flexBasis: 2, children: _jsx(Text, { color: iconFG, children: icon }) }), _jsx(Text, { color: textFG, children: props.entry.items.map(stringify).join(" ") })] }));
86
+ }
87
+ }
@@ -0,0 +1,6 @@
1
+ type Props = {
2
+ label: string;
3
+ onSelect: () => void;
4
+ };
5
+ export declare function MenuItem(props: Props): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useFocus, useInput } from "ink";
3
+ export function MenuItem(props) {
4
+ const { isFocused } = useFocus();
5
+ useInput((input, key) => {
6
+ if (key.return) {
7
+ props.onSelect();
8
+ }
9
+ });
10
+ return (_jsxs(Box, { children: [_jsx(Box, { width: 3, children: _jsx(Text, { children: isFocused ? "👉" : "" }) }), _jsx(Box, { children: _jsx(Text, { color: isFocused ? "yellow" : "white", children: props.label }) })] }));
11
+ }
@@ -0,0 +1,44 @@
1
+ export type Props = {
2
+ /**
3
+ * Text to display when `value` is empty.
4
+ */
5
+ readonly placeholder?: string;
6
+ /**
7
+ * Listen to user's input. Useful in case there are multiple input components
8
+ * at the same time and input must be "routed" to a specific component.
9
+ */
10
+ readonly focus?: boolean;
11
+ /**
12
+ * Replace all chars and mask the value. Useful for password inputs.
13
+ */
14
+ readonly mask?: string;
15
+ /**
16
+ * Whether to show cursor and allow navigation inside text input with arrow keys.
17
+ */
18
+ readonly showCursor?: boolean;
19
+ /**
20
+ * Highlight pasted text
21
+ */
22
+ readonly highlightPastedText?: boolean;
23
+ /**
24
+ * Value to display in a text input.
25
+ */
26
+ readonly value: string;
27
+ /**
28
+ * Function to call when value updates.
29
+ */
30
+ readonly onChange: (value: string) => void;
31
+ /**
32
+ * Function to call when `Enter` is pressed, where first argument is a value of the input.
33
+ */
34
+ readonly onSubmit?: (value: string) => void;
35
+ };
36
+ declare function TextInput({ value: originalValue, placeholder, focus, mask, highlightPastedText, showCursor, onChange, onSubmit, }: Props): import("react/jsx-runtime").JSX.Element;
37
+ export default TextInput;
38
+ type UncontrolledProps = {
39
+ /**
40
+ * Initial value.
41
+ */
42
+ readonly initialValue?: string;
43
+ } & Omit<Props, "value" | "onChange">;
44
+ export declare function UncontrolledTextInput({ initialValue, ...props }: UncontrolledProps): import("react/jsx-runtime").JSX.Element;