studiocms 0.1.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 (582) hide show
  1. package/CHANGELOG.md +501 -0
  2. package/LICENSE +21 -0
  3. package/README.md +59 -0
  4. package/custom-renderers/index.ts +4 -0
  5. package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactRenderer.tsx +8 -0
  6. package/custom-renderers/markdocRenderers/markdocReact-components/MarkDocReactWrapper.astro +13 -0
  7. package/custom-renderers/markdocRenderers/markdocReact.ts +56 -0
  8. package/dist/auth.d.js +0 -0
  9. package/dist/auth.d.ts +397 -0
  10. package/dist/cli/cmds/get-turso.d.ts +1 -0
  11. package/dist/cli/cmds/get-turso.js +10 -0
  12. package/dist/cli/cmds/init/index.d.ts +4 -0
  13. package/dist/cli/cmds/init/index.js +52 -0
  14. package/dist/cli/cmds/init/steps/data/studiocmsEnv.d.ts +3 -0
  15. package/dist/cli/cmds/init/steps/data/studiocmsEnv.js +71 -0
  16. package/dist/cli/cmds/init/steps/envBuilder.d.ts +21 -0
  17. package/dist/cli/cmds/init/steps/envBuilder.js +368 -0
  18. package/dist/cli/cmds/init/steps/nextSteps.d.ts +2 -0
  19. package/dist/cli/cmds/init/steps/nextSteps.js +38 -0
  20. package/dist/cli/cmds/init.d.ts +1 -0
  21. package/dist/cli/cmds/init.js +4 -0
  22. package/dist/cli/index.d.ts +1 -0
  23. package/dist/cli/index.js +9 -0
  24. package/dist/cli/lib/commander.d.ts +39 -0
  25. package/dist/cli/lib/commander.js +87 -0
  26. package/dist/cli/lib/context.d.ts +28 -0
  27. package/dist/cli/lib/context.js +55 -0
  28. package/dist/cli/lib/pathUtil.d.ts +5 -0
  29. package/dist/cli/lib/pathUtil.js +14 -0
  30. package/dist/cli/lib/runExternal.d.ts +20 -0
  31. package/dist/cli/lib/runExternal.js +40 -0
  32. package/dist/cli/lib/seasonal.d.ts +5 -0
  33. package/dist/cli/lib/seasonal.js +88 -0
  34. package/dist/cli/lib/utils.d.ts +55 -0
  35. package/dist/cli/lib/utils.js +310 -0
  36. package/dist/cli/shared/intro.d.ts +2 -0
  37. package/dist/cli/shared/intro.js +24 -0
  38. package/dist/components/DefaultEditor.astro +138 -0
  39. package/dist/components/FormattedDate.astro +12 -0
  40. package/dist/components/Generator.astro +7 -0
  41. package/dist/components/Renderer.astro +13 -0
  42. package/dist/components/auth/OAuthButton.astro +21 -0
  43. package/dist/components/auth/OAuthButtonStack.astro +36 -0
  44. package/dist/components/auth/StaticAuthCheck.astro +20 -0
  45. package/dist/components/auth/StudioCMSLogoSVG.astro +13 -0
  46. package/dist/components/auth/oAuthButtonProviders.d.ts +8 -0
  47. package/dist/components/auth/oAuthButtonProviders.js +35 -0
  48. package/dist/components/dashboard/AstroCodeDiffsScript.astro +25 -0
  49. package/dist/components/dashboard/BaseHead.astro +41 -0
  50. package/dist/components/dashboard/Code.astro +23 -0
  51. package/dist/components/dashboard/DashboardPageHeader.astro +77 -0
  52. package/dist/components/dashboard/DoubleSidebar.astro +26 -0
  53. package/dist/components/dashboard/Footer.astro +16 -0
  54. package/dist/components/dashboard/MainSidebarContent.astro +317 -0
  55. package/dist/components/dashboard/PageHeader.astro +52 -0
  56. package/dist/components/dashboard/SidebarLink.astro +61 -0
  57. package/dist/components/dashboard/SidebarModals.astro +6 -0
  58. package/dist/components/dashboard/SidebarPluginLink.astro +45 -0
  59. package/dist/components/dashboard/SingleSidebar.astro +23 -0
  60. package/dist/components/dashboard/StudioCMSLogo.astro +12 -0
  61. package/dist/components/dashboard/ThemeManager.astro +53 -0
  62. package/dist/components/dashboard/component-scripts/TinyMDE.astro +6 -0
  63. package/dist/components/dashboard/component-scripts/dateTimeListener.d.ts +1 -0
  64. package/dist/components/dashboard/component-scripts/dateTimeListener.js +14 -0
  65. package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.d.ts +1 -0
  66. package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.js +12 -0
  67. package/dist/components/dashboard/component-scripts/makeClientRoutable.d.ts +1 -0
  68. package/dist/components/dashboard/component-scripts/makeClientRoutable.js +9 -0
  69. package/dist/components/dashboard/component-scripts/timeAgo.d.ts +1 -0
  70. package/dist/components/dashboard/component-scripts/timeAgo.js +21 -0
  71. package/dist/components/dashboard/islands/LoginChecker.astro +52 -0
  72. package/dist/components/dashboard/islands/configuration/ConfigForm.astro +317 -0
  73. package/dist/components/dashboard/islands/configuration/LightVsDark.astro +67 -0
  74. package/dist/components/dashboard/islands/content-mgmt/CreateFolder.astro +118 -0
  75. package/dist/components/dashboard/islands/content-mgmt/CreatePage.astro +380 -0
  76. package/dist/components/dashboard/islands/content-mgmt/EditFolder.astro +138 -0
  77. package/dist/components/dashboard/islands/content-mgmt/EditPage.astro +432 -0
  78. package/dist/components/dashboard/islands/content-mgmt/InnerSidebarElement.astro +299 -0
  79. package/dist/components/dashboard/islands/content-mgmt/PageHeader.astro +455 -0
  80. package/dist/components/dashboard/islands/content-mgmt/PageList.astro +49 -0
  81. package/dist/components/dashboard/islands/content-mgmt/PluginFields.astro +29 -0
  82. package/dist/components/dashboard/islands/content-mgmt/TreeRenderer.astro +75 -0
  83. package/dist/components/dashboard/islands/content-mgmt/TreeSidebarFolder.astro +53 -0
  84. package/dist/components/dashboard/islands/content-mgmt/TreeSidebarLink.astro +51 -0
  85. package/dist/components/dashboard/islands/content-mgmt/runtime.d.ts +10 -0
  86. package/dist/components/dashboard/islands/content-mgmt/runtime.js +33 -0
  87. package/dist/components/dashboard/islands/content-mgmt/shared.d.ts +27 -0
  88. package/dist/components/dashboard/islands/content-mgmt/shared.js +31 -0
  89. package/dist/components/dashboard/islands/dashboard/DashboardGrid.astro +39 -0
  90. package/dist/components/dashboard/islands/dashboard/DashboardGridItem.astro +34 -0
  91. package/dist/components/dashboard/islands/dashboard/Test.astro +5 -0
  92. package/dist/components/dashboard/islands/dashboard/UserName.astro +6 -0
  93. package/dist/components/dashboard/islands/dashboard/shared.d.ts +2 -0
  94. package/dist/components/dashboard/islands/dashboard/shared.js +0 -0
  95. package/dist/components/dashboard/islands/plugins/SettingsRenderer.astro +29 -0
  96. package/dist/components/dashboard/islands/profile/APITokens.astro +306 -0
  97. package/dist/components/dashboard/islands/profile/BasicInfo.astro +140 -0
  98. package/dist/components/dashboard/islands/profile/BasicInfoFallback.astro +43 -0
  99. package/dist/components/dashboard/islands/profile/SocialSignin.astro +181 -0
  100. package/dist/components/dashboard/islands/profile/SocialSigninFallback.astro +83 -0
  101. package/dist/components/dashboard/islands/profile/UpdatePassword.astro +166 -0
  102. package/dist/components/dashboard/islands/profile/UpdatePasswordFallback.astro +47 -0
  103. package/dist/components/dashboard/islands/profile/oAuthButtonProviders.d.ts +8 -0
  104. package/dist/components/dashboard/islands/profile/oAuthButtonProviders.js +35 -0
  105. package/dist/components/dashboard/islands/sidebar/UserAccount.astro +23 -0
  106. package/dist/components/dashboard/islands/sidebar/VersionCheck.astro +127 -0
  107. package/dist/components/dashboard/islands/sidebar/VersionCheckChangelog.astro +107 -0
  108. package/dist/components/dashboard/islands/user-mgmt/InnerSidebarElement.astro +348 -0
  109. package/dist/components/dashboard/islands/user-mgmt/RankCheck.astro +49 -0
  110. package/dist/components/dashboard/islands/user-mgmt/SocialSignin.astro +109 -0
  111. package/dist/components/dashboard/islands/user-mgmt/UserListItem.astro +60 -0
  112. package/dist/components/dashboard/sidebar-modals/UserManagementModals.astro +103 -0
  113. package/dist/components/dashboard/sidebar-modals/VersionModal.astro +267 -0
  114. package/dist/components/dashboard/sidebarConfig.d.ts +32 -0
  115. package/dist/components/dashboard/sidebarConfig.js +88 -0
  116. package/dist/components/default-grid-items/Recently-created-pages.astro +91 -0
  117. package/dist/components/default-grid-items/Recently-signed-up.astro +71 -0
  118. package/dist/components/default-grid-items/Recently-updated-pages.astro +96 -0
  119. package/dist/components/default-grid-items/Totals.astro +107 -0
  120. package/dist/components/default-grid-items/utils.d.ts +17 -0
  121. package/dist/components/default-grid-items/utils.js +26 -0
  122. package/dist/components/image/CustomImage.astro +90 -0
  123. package/dist/components/user-quick-tools.d.ts +42 -0
  124. package/dist/components/user-quick-tools.js +312 -0
  125. package/dist/config.d.ts +3 -0
  126. package/dist/config.js +4 -0
  127. package/dist/consts.d.ts +61 -0
  128. package/dist/consts.js +39 -0
  129. package/dist/core.d.js +0 -0
  130. package/dist/core.d.ts +226 -0
  131. package/dist/db/config.d.ts +4 -0
  132. package/dist/db/config.js +6 -0
  133. package/dist/db/tables.js +168 -0
  134. package/dist/errors.d.ts +19 -0
  135. package/dist/errors.js +11 -0
  136. package/dist/index.d.ts +152 -0
  137. package/dist/index.js +1179 -0
  138. package/dist/layouts/auth/AuthLayout.astro +74 -0
  139. package/dist/layouts/auth/FallbackCanvas.astro +123 -0
  140. package/dist/layouts/auth/ThemeManager.astro +53 -0
  141. package/dist/layouts/auth/ThreeCanvasLoader.astro +18 -0
  142. package/dist/layouts/dashboard/Layout.astro +64 -0
  143. package/dist/lib/auth/encryption.d.ts +30 -0
  144. package/dist/lib/auth/encryption.js +39 -0
  145. package/dist/lib/auth/password.d.ts +27 -0
  146. package/dist/lib/auth/password.js +42 -0
  147. package/dist/lib/auth/rate-limit.d.ts +136 -0
  148. package/dist/lib/auth/rate-limit.js +214 -0
  149. package/dist/lib/auth/session.d.ts +85 -0
  150. package/dist/lib/auth/session.js +93 -0
  151. package/dist/lib/auth/types.d.ts +83 -0
  152. package/dist/lib/auth/types.js +0 -0
  153. package/dist/lib/auth/user.d.ts +148 -0
  154. package/dist/lib/auth/user.js +133 -0
  155. package/dist/lib/dashboardGrid.d.ts +119 -0
  156. package/dist/lib/dashboardGrid.js +0 -0
  157. package/dist/lib/dynamic-sitemap/index.d.ts +42 -0
  158. package/dist/lib/dynamic-sitemap/index.js +45 -0
  159. package/dist/lib/dynamic-sitemap/sitemap-index.xml.d.ts +8 -0
  160. package/dist/lib/dynamic-sitemap/sitemap-index.xml.js +20 -0
  161. package/dist/lib/dynamic-sitemap/sitemap-index.xml.ts +45 -0
  162. package/dist/lib/head.d.ts +9 -0
  163. package/dist/lib/head.js +65 -0
  164. package/dist/lib/headDefaults.d.ts +18 -0
  165. package/dist/lib/headDefaults.js +75 -0
  166. package/dist/lib/i18n/LanguageSelector.astro +114 -0
  167. package/dist/lib/i18n/client.d.ts +591 -0
  168. package/dist/lib/i18n/client.js +83 -0
  169. package/dist/lib/i18n/config.d.ts +16 -0
  170. package/dist/lib/i18n/config.js +8 -0
  171. package/dist/lib/i18n/index.d.ts +578 -0
  172. package/dist/lib/i18n/index.js +63 -0
  173. package/dist/lib/i18n/translations/de.json +64 -0
  174. package/dist/lib/i18n/translations/en-us.json +238 -0
  175. package/dist/lib/i18n/translations/es.json +64 -0
  176. package/dist/lib/i18n/translations/fr.json +64 -0
  177. package/dist/lib/index.d.ts +7 -0
  178. package/dist/lib/index.js +7 -0
  179. package/dist/lib/jsonUtils.d.ts +2 -0
  180. package/dist/lib/jsonUtils.js +11 -0
  181. package/dist/lib/makeAPIRoute.d.ts +45 -0
  182. package/dist/lib/makeAPIRoute.js +16 -0
  183. package/dist/lib/makePublicRoute.d.ts +7 -0
  184. package/dist/lib/makePublicRoute.js +6 -0
  185. package/dist/lib/pathGenerators.d.ts +20 -0
  186. package/dist/lib/pathGenerators.js +66 -0
  187. package/dist/lib/plugins/dashboard-pages.d.ts +71 -0
  188. package/dist/lib/plugins/dashboard-pages.js +11 -0
  189. package/dist/lib/plugins/frontend-navigation.d.ts +18 -0
  190. package/dist/lib/plugins/frontend-navigation.js +39 -0
  191. package/dist/lib/plugins/index.d.ts +2 -0
  192. package/dist/lib/plugins/index.js +2 -0
  193. package/dist/lib/removeLeadingTrailingSlashes.d.ts +7 -0
  194. package/dist/lib/removeLeadingTrailingSlashes.js +13 -0
  195. package/dist/lib/renderer/astro-remark.d.ts +13 -0
  196. package/dist/lib/renderer/astro-remark.js +11 -0
  197. package/dist/lib/renderer/contentRenderer.d.ts +13 -0
  198. package/dist/lib/renderer/contentRenderer.js +31 -0
  199. package/dist/lib/renderer/errors.d.ts +5 -0
  200. package/dist/lib/renderer/errors.js +25 -0
  201. package/dist/lib/renderer/markdoc-renderers/markdocHTML.d.ts +3 -0
  202. package/dist/lib/renderer/markdoc-renderers/markdocHTML.js +14 -0
  203. package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.d.ts +3 -0
  204. package/dist/lib/renderer/markdoc-renderers/markdocReactStatic.js +14 -0
  205. package/dist/lib/renderer/markdoc.d.ts +11 -0
  206. package/dist/lib/renderer/markdoc.js +28 -0
  207. package/dist/lib/renderer/mdx.d.ts +10 -0
  208. package/dist/lib/renderer/mdx.js +37 -0
  209. package/dist/lib/renderer/runtime.d.ts +8 -0
  210. package/dist/lib/renderer/runtime.js +30 -0
  211. package/dist/lib/renderer/shared.d.ts +15 -0
  212. package/dist/lib/renderer/shared.js +13 -0
  213. package/dist/lib/renderer/studiocms.d.ts +11 -0
  214. package/dist/lib/renderer/studiocms.js +22 -0
  215. package/dist/lib/renderer/types.d.ts +12 -0
  216. package/dist/lib/renderer/types.js +0 -0
  217. package/dist/lib/robots/core.d.ts +24 -0
  218. package/dist/lib/robots/core.js +187 -0
  219. package/dist/lib/robots/index.d.ts +11 -0
  220. package/dist/lib/robots/index.js +47 -0
  221. package/dist/lib/robots/types.d.ts +185 -0
  222. package/dist/lib/robots/types.js +0 -0
  223. package/dist/lib/robots/utils.d.ts +22 -0
  224. package/dist/lib/robots/utils.js +22 -0
  225. package/dist/lib/routeMap.d.ts +257 -0
  226. package/dist/lib/routeMap.js +249 -0
  227. package/dist/lib/urlGen.d.ts +11 -0
  228. package/dist/lib/urlGen.js +26 -0
  229. package/dist/lib/webVitals/checkForWebVitalsPlugin.d.ts +18 -0
  230. package/dist/lib/webVitals/checkForWebVitalsPlugin.js +82 -0
  231. package/dist/lib/webVitals/consts.d.ts +240 -0
  232. package/dist/lib/webVitals/consts.js +40 -0
  233. package/dist/lib/webVitals/dashboard-grid-items/CoreVitals.astro +66 -0
  234. package/dist/lib/webVitals/dashboard-grid-items/MetricCard.astro +24 -0
  235. package/dist/lib/webVitals/dashboard-grid-items/SummaryCard.astro +56 -0
  236. package/dist/lib/webVitals/dashboard-grid-items/metric.css +103 -0
  237. package/dist/lib/webVitals/dashboard-grid-items/shared.d.ts +29 -0
  238. package/dist/lib/webVitals/dashboard-grid-items/shared.js +35 -0
  239. package/dist/lib/webVitals/pages/analytics/body.astro +186 -0
  240. package/dist/lib/webVitals/pages/analytics/header.astro +42 -0
  241. package/dist/lib/webVitals/schemas.d.ts +78 -0
  242. package/dist/lib/webVitals/schemas.js +37 -0
  243. package/dist/lib/webVitals/types.d.ts +156 -0
  244. package/dist/lib/webVitals/types.js +0 -0
  245. package/dist/lib/webVitals/utils/buildDataObject.d.ts +8 -0
  246. package/dist/lib/webVitals/utils/buildDataObject.js +28 -0
  247. package/dist/lib/webVitals/utils/buildPageRouteDataObject.d.ts +15 -0
  248. package/dist/lib/webVitals/utils/buildPageRouteDataObject.js +70 -0
  249. package/dist/lib/webVitals/utils/buildPerPageDataObject.d.ts +23 -0
  250. package/dist/lib/webVitals/utils/buildPerPageDataObject.js +209 -0
  251. package/dist/lib/webVitals/utils/checkDate.d.ts +5 -0
  252. package/dist/lib/webVitals/utils/checkDate.js +19 -0
  253. package/dist/lib/webVitals/utils/webVitalsUtils.d.ts +24 -0
  254. package/dist/lib/webVitals/utils/webVitalsUtils.js +234 -0
  255. package/dist/lib/webVitals/webVital.d.ts +20 -0
  256. package/dist/lib/webVitals/webVital.js +40 -0
  257. package/dist/lib/webVitals/webVitalsRouteSummary.d.ts +19 -0
  258. package/dist/lib/webVitals/webVitalsRouteSummary.js +59 -0
  259. package/dist/lib/webVitals/webVitalsSummary.d.ts +19 -0
  260. package/dist/lib/webVitals/webVitalsSummary.js +49 -0
  261. package/dist/plugins.d.ts +2 -0
  262. package/dist/plugins.js +6 -0
  263. package/dist/renderer.d.js +0 -0
  264. package/dist/renderer.d.ts +23 -0
  265. package/dist/routes/api/render.astro +25 -0
  266. package/dist/routes/auth/api/auth0/callback.d.ts +4 -0
  267. package/dist/routes/auth/api/auth0/callback.js +117 -0
  268. package/dist/routes/auth/api/auth0/index.d.ts +4 -0
  269. package/dist/routes/auth/api/auth0/index.js +36 -0
  270. package/dist/routes/auth/api/auth0/shared.d.ts +13 -0
  271. package/dist/routes/auth/api/auth0/shared.js +24 -0
  272. package/dist/routes/auth/api/discord/callback.d.ts +4 -0
  273. package/dist/routes/auth/api/discord/callback.js +112 -0
  274. package/dist/routes/auth/api/discord/index.d.ts +4 -0
  275. package/dist/routes/auth/api/discord/index.js +36 -0
  276. package/dist/routes/auth/api/discord/shared.d.ts +12 -0
  277. package/dist/routes/auth/api/discord/shared.js +17 -0
  278. package/dist/routes/auth/api/github/callback.d.ts +4 -0
  279. package/dist/routes/auth/api/github/callback.js +112 -0
  280. package/dist/routes/auth/api/github/index.d.ts +4 -0
  281. package/dist/routes/auth/api/github/index.js +36 -0
  282. package/dist/routes/auth/api/github/shared.d.ts +13 -0
  283. package/dist/routes/auth/api/github/shared.js +14 -0
  284. package/dist/routes/auth/api/google/callback.d.ts +4 -0
  285. package/dist/routes/auth/api/google/callback.js +115 -0
  286. package/dist/routes/auth/api/google/index.d.ts +4 -0
  287. package/dist/routes/auth/api/google/index.js +38 -0
  288. package/dist/routes/auth/api/google/shared.d.ts +12 -0
  289. package/dist/routes/auth/api/google/shared.js +19 -0
  290. package/dist/routes/auth/api/login.d.ts +4 -0
  291. package/dist/routes/auth/api/login.js +46 -0
  292. package/dist/routes/auth/api/logout.d.ts +5 -0
  293. package/dist/routes/auth/api/logout.js +55 -0
  294. package/dist/routes/auth/api/register.d.ts +4 -0
  295. package/dist/routes/auth/api/register.js +64 -0
  296. package/dist/routes/auth/api/shared.d.ts +2 -0
  297. package/dist/routes/auth/api/shared.js +21 -0
  298. package/dist/routes/auth/login.astro +118 -0
  299. package/dist/routes/auth/logout.astro +28 -0
  300. package/dist/routes/auth/signup.astro +124 -0
  301. package/dist/routes/dashboard/[...pluginPage].astro +88 -0
  302. package/dist/routes/dashboard/configuration.astro +61 -0
  303. package/dist/routes/dashboard/content-management/createfolder.astro +83 -0
  304. package/dist/routes/dashboard/content-management/createpage.astro +86 -0
  305. package/dist/routes/dashboard/content-management/diff.astro +135 -0
  306. package/dist/routes/dashboard/content-management/editfolder.astro +67 -0
  307. package/dist/routes/dashboard/content-management/editpage.astro +71 -0
  308. package/dist/routes/dashboard/content-management/index.astro +91 -0
  309. package/dist/routes/dashboard/index.astro +56 -0
  310. package/dist/routes/dashboard/password-reset.astro +206 -0
  311. package/dist/routes/dashboard/plugins/[plugin].astro +104 -0
  312. package/dist/routes/dashboard/profile.astro +87 -0
  313. package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.d.ts +5 -0
  314. package/dist/routes/dashboard/studiocms_api/dashboard/api-tokens.js +90 -0
  315. package/dist/routes/dashboard/studiocms_api/dashboard/config.d.ts +4 -0
  316. package/dist/routes/dashboard/studiocms_api/dashboard/config.js +63 -0
  317. package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.d.ts +6 -0
  318. package/dist/routes/dashboard/studiocms_api/dashboard/content/folder.js +121 -0
  319. package/dist/routes/dashboard/studiocms_api/dashboard/content/page.d.ts +6 -0
  320. package/dist/routes/dashboard/studiocms_api/dashboard/content/page.js +258 -0
  321. package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.d.ts +4 -0
  322. package/dist/routes/dashboard/studiocms_api/dashboard/create-reset-link.js +59 -0
  323. package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.d.ts +4 -0
  324. package/dist/routes/dashboard/studiocms_api/dashboard/create-user-invite.js +105 -0
  325. package/dist/routes/dashboard/studiocms_api/dashboard/create-user.d.ts +4 -0
  326. package/dist/routes/dashboard/studiocms_api/dashboard/create-user.js +100 -0
  327. package/dist/routes/dashboard/studiocms_api/dashboard/partials/Editor.astro +61 -0
  328. package/dist/routes/dashboard/studiocms_api/dashboard/partials/LiveRender.astro +30 -0
  329. package/dist/routes/dashboard/studiocms_api/dashboard/partials/UserListItems.astro +39 -0
  330. package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].d.ts +2 -0
  331. package/dist/routes/dashboard/studiocms_api/dashboard/plugins/[plugin].js +32 -0
  332. package/dist/routes/dashboard/studiocms_api/dashboard/profile.d.ts +4 -0
  333. package/dist/routes/dashboard/studiocms_api/dashboard/profile.js +130 -0
  334. package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.d.ts +4 -0
  335. package/dist/routes/dashboard/studiocms_api/dashboard/reset-password.js +105 -0
  336. package/dist/routes/dashboard/studiocms_api/dashboard/search-list.d.ts +4 -0
  337. package/dist/routes/dashboard/studiocms_api/dashboard/search-list.js +55 -0
  338. package/dist/routes/dashboard/studiocms_api/dashboard/users.d.ts +5 -0
  339. package/dist/routes/dashboard/studiocms_api/dashboard/users.js +92 -0
  340. package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.d.ts +2 -0
  341. package/dist/routes/dashboard/studiocms_api/dashboard/verify-session.js +72 -0
  342. package/dist/routes/dashboard/user-management/edit.astro +631 -0
  343. package/dist/routes/dashboard/user-management/index.astro +103 -0
  344. package/dist/routes/error-pages/404.astro +66 -0
  345. package/dist/routes/firstTimeSetupRoutes/1-start.astro +253 -0
  346. package/dist/routes/firstTimeSetupRoutes/2-next.astro +208 -0
  347. package/dist/routes/firstTimeSetupRoutes/3-done.astro +95 -0
  348. package/dist/routes/firstTimeSetupRoutes/api/step-1.d.ts +2 -0
  349. package/dist/routes/firstTimeSetupRoutes/api/step-1.js +126 -0
  350. package/dist/routes/firstTimeSetupRoutes/api/step-2.d.ts +2 -0
  351. package/dist/routes/firstTimeSetupRoutes/api/step-2.js +110 -0
  352. package/dist/routes/firstTimeSetupRoutes/components/Layout.astro +41 -0
  353. package/dist/routes/firstTimeSetupRoutes/components/PageHeader.astro +60 -0
  354. package/dist/routes/firstTimeSetupRoutes/components/TabItem.astro +44 -0
  355. package/dist/routes/firstTimeSetupRoutes/components/Tabs.astro +170 -0
  356. package/dist/routes/firstTimeSetupRoutes/snippets/opt1-astro.config.diff +14 -0
  357. package/dist/routes/firstTimeSetupRoutes/snippets/opt2-astro.config.diff +9 -0
  358. package/dist/routes/firstTimeSetupRoutes/snippets/opt2-studiocms.config.diff +5 -0
  359. package/dist/routes/rest/utils/auth-token.d.ts +17 -0
  360. package/dist/routes/rest/utils/auth-token.js +31 -0
  361. package/dist/routes/rest/v1/folders/[id].d.ts +6 -0
  362. package/dist/routes/rest/v1/folders/[id].js +106 -0
  363. package/dist/routes/rest/v1/folders/index.d.ts +5 -0
  364. package/dist/routes/rest/v1/folders/index.js +88 -0
  365. package/dist/routes/rest/v1/pages/[id]/history/[diffid].d.ts +4 -0
  366. package/dist/routes/rest/v1/pages/[id]/history/[diffid].js +55 -0
  367. package/dist/routes/rest/v1/pages/[id]/history/index.d.ts +4 -0
  368. package/dist/routes/rest/v1/pages/[id]/history/index.js +61 -0
  369. package/dist/routes/rest/v1/pages/[id]/index.d.ts +6 -0
  370. package/dist/routes/rest/v1/pages/[id]/index.js +165 -0
  371. package/dist/routes/rest/v1/pages/index.d.ts +5 -0
  372. package/dist/routes/rest/v1/pages/index.js +113 -0
  373. package/dist/routes/rest/v1/public/folders/[id].d.ts +4 -0
  374. package/dist/routes/rest/v1/public/folders/[id].js +43 -0
  375. package/dist/routes/rest/v1/public/folders/index.d.ts +4 -0
  376. package/dist/routes/rest/v1/public/folders/index.js +49 -0
  377. package/dist/routes/rest/v1/public/pages/[id].d.ts +4 -0
  378. package/dist/routes/rest/v1/public/pages/[id].js +46 -0
  379. package/dist/routes/rest/v1/public/pages/index.d.ts +4 -0
  380. package/dist/routes/rest/v1/public/pages/index.js +61 -0
  381. package/dist/routes/rest/v1/settings/index.d.ts +5 -0
  382. package/dist/routes/rest/v1/settings/index.js +75 -0
  383. package/dist/routes/rest/v1/users/[id].d.ts +6 -0
  384. package/dist/routes/rest/v1/users/[id].js +212 -0
  385. package/dist/routes/rest/v1/users/index.d.ts +5 -0
  386. package/dist/routes/rest/v1/users/index.js +138 -0
  387. package/dist/routes/sdk/fallback-list-pages.json.d.ts +2 -0
  388. package/dist/routes/sdk/fallback-list-pages.json.js +19 -0
  389. package/dist/routes/sdk/fallback-list-pages.json.ts +22 -0
  390. package/dist/routes/sdk/full-changelog.json.d.ts +16 -0
  391. package/dist/routes/sdk/full-changelog.json.js +170 -0
  392. package/dist/routes/sdk/full-changelog.json.ts +224 -0
  393. package/dist/routes/sdk/list-pages.d.ts +4 -0
  394. package/dist/routes/sdk/list-pages.js +34 -0
  395. package/dist/routes/sdk/update-latest-version-cache.d.ts +4 -0
  396. package/dist/routes/sdk/update-latest-version-cache.js +41 -0
  397. package/dist/runtime/AstroComponentProxy.d.ts +29 -0
  398. package/dist/runtime/AstroComponentProxy.js +47 -0
  399. package/dist/runtime/decoder/decode-codepoint.d.ts +18 -0
  400. package/dist/runtime/decoder/decode-codepoint.js +58 -0
  401. package/dist/runtime/decoder/decode-data-html.d.ts +1 -0
  402. package/dist/runtime/decoder/decode-data-html.js +7 -0
  403. package/dist/runtime/decoder/decode-data-xml.d.ts +1 -0
  404. package/dist/runtime/decoder/decode-data-xml.js +7 -0
  405. package/dist/runtime/decoder/index.d.ts +34 -0
  406. package/dist/runtime/decoder/index.js +18 -0
  407. package/dist/runtime/decoder/util.d.ts +208 -0
  408. package/dist/runtime/decoder/util.js +415 -0
  409. package/dist/schemas/config/auth.d.ts +175 -0
  410. package/dist/schemas/config/auth.js +65 -0
  411. package/dist/schemas/config/componentoverrides.d.ts +17 -0
  412. package/dist/schemas/config/componentoverrides.js +14 -0
  413. package/dist/schemas/config/dashboard.d.ts +154 -0
  414. package/dist/schemas/config/dashboard.js +59 -0
  415. package/dist/schemas/config/defaultFrontend.d.ts +125 -0
  416. package/dist/schemas/config/defaultFrontend.js +57 -0
  417. package/dist/schemas/config/developer.d.ts +15 -0
  418. package/dist/schemas/config/developer.js +14 -0
  419. package/dist/schemas/config/imageService.d.ts +13 -0
  420. package/dist/schemas/config/imageService.js +12 -0
  421. package/dist/schemas/config/index.d.ts +1153 -0
  422. package/dist/schemas/config/index.js +95 -0
  423. package/dist/schemas/config/integrations.d.ts +14 -0
  424. package/dist/schemas/config/integrations.js +12 -0
  425. package/dist/schemas/config/markdoc.d.ts +172 -0
  426. package/dist/schemas/config/markdoc.js +68 -0
  427. package/dist/schemas/config/mdx.d.ts +455 -0
  428. package/dist/schemas/config/mdx.js +71 -0
  429. package/dist/schemas/config/rendererConfig.d.ts +659 -0
  430. package/dist/schemas/config/rendererConfig.js +51 -0
  431. package/dist/schemas/config/sdk.d.ts +167 -0
  432. package/dist/schemas/config/sdk.js +85 -0
  433. package/dist/schemas/config/studiocms-markdown-remark.d.ts +292 -0
  434. package/dist/schemas/config/studiocms-markdown-remark.js +63 -0
  435. package/dist/schemas/index.d.ts +2 -0
  436. package/dist/schemas/index.js +2 -0
  437. package/dist/schemas/plugins/index.d.ts +7373 -0
  438. package/dist/schemas/plugins/index.js +192 -0
  439. package/dist/schemas/plugins/shared.d.ts +1752 -0
  440. package/dist/schemas/plugins/shared.js +221 -0
  441. package/dist/scripts/formListener.d.ts +16 -0
  442. package/dist/scripts/formListener.js +46 -0
  443. package/dist/scripts/three.d.ts +1 -0
  444. package/dist/scripts/three.js +278 -0
  445. package/dist/scripts/utils/fitModelToViewport.d.ts +8 -0
  446. package/dist/scripts/utils/fitModelToViewport.js +19 -0
  447. package/dist/sdk/StudioCMSVirtualCache.d.ts +283 -0
  448. package/dist/sdk/StudioCMSVirtualCache.js +685 -0
  449. package/dist/sdk/cache.d.ts +11 -0
  450. package/dist/sdk/cache.js +12 -0
  451. package/dist/sdk/core.d.ts +865 -0
  452. package/dist/sdk/core.js +1966 -0
  453. package/dist/sdk/errors.d.ts +21 -0
  454. package/dist/sdk/errors.js +11 -0
  455. package/dist/sdk/index.d.ts +371 -0
  456. package/dist/sdk/index.js +8 -0
  457. package/dist/sdk/lib/foldertree.d.ts +50 -0
  458. package/dist/sdk/lib/foldertree.js +123 -0
  459. package/dist/sdk/lib/generators.d.ts +30 -0
  460. package/dist/sdk/lib/generators.js +25 -0
  461. package/dist/sdk/lib/packages.d.ts +8 -0
  462. package/dist/sdk/lib/packages.js +14 -0
  463. package/dist/sdk/lib/parsers.d.ts +14 -0
  464. package/dist/sdk/lib/parsers.js +10 -0
  465. package/dist/sdk/lib/users.d.ts +19 -0
  466. package/dist/sdk/lib/users.js +26 -0
  467. package/dist/sdk/tables.d.ts +1198 -0
  468. package/dist/sdk/tables.js +55 -0
  469. package/dist/sdk/types/index.d.ts +175 -0
  470. package/dist/sdk/types/index.js +0 -0
  471. package/dist/sdk/types/tableDefs.d.ts +75 -0
  472. package/dist/sdk/types/tableDefs.js +0 -0
  473. package/dist/sdk/types/tsAlias.d.ts +155 -0
  474. package/dist/sdk/types/tsAlias.js +0 -0
  475. package/dist/sdk/utils/db.d.ts +5 -0
  476. package/dist/sdk/utils/db.js +15 -0
  477. package/dist/stubs/auth-lib.d.ts +2 -0
  478. package/dist/stubs/auth-lib.js +519 -0
  479. package/dist/stubs/auth-scripts.d.ts +2 -0
  480. package/dist/stubs/auth-scripts.js +29 -0
  481. package/dist/stubs/auth-utils.d.ts +2 -0
  482. package/dist/stubs/auth-utils.js +36 -0
  483. package/dist/stubs/changelog.d.ts +2 -0
  484. package/dist/stubs/changelog.js +16 -0
  485. package/dist/stubs/components.d.ts +2 -0
  486. package/dist/stubs/components.js +67 -0
  487. package/dist/stubs/core.d.ts +2 -0
  488. package/dist/stubs/core.js +49 -0
  489. package/dist/stubs/i18n-dts.d.ts +2 -0
  490. package/dist/stubs/i18n-dts.js +117 -0
  491. package/dist/stubs/images.d.ts +1 -0
  492. package/dist/stubs/images.js +30 -0
  493. package/dist/stubs/index.d.ts +1 -0
  494. package/dist/stubs/index.js +40 -0
  495. package/dist/stubs/lib.d.ts +2 -0
  496. package/dist/stubs/lib.js +123 -0
  497. package/dist/stubs/plugins.d.ts +2 -0
  498. package/dist/stubs/plugins.js +60 -0
  499. package/dist/stubs/proxy.d.ts +2 -0
  500. package/dist/stubs/proxy.js +40 -0
  501. package/dist/stubs/renderer-config.d.ts +2 -0
  502. package/dist/stubs/renderer-config.js +18 -0
  503. package/dist/stubs/renderer-markdownConfig.d.ts +2 -0
  504. package/dist/stubs/renderer-markdownConfig.js +17 -0
  505. package/dist/stubs/renderer.d.ts +2 -0
  506. package/dist/stubs/renderer.js +44 -0
  507. package/dist/stubs/sdk.d.ts +2 -0
  508. package/dist/stubs/sdk.js +202 -0
  509. package/dist/stubs/webVitals.d.ts +2 -0
  510. package/dist/stubs/webVitals.js +40 -0
  511. package/dist/styles/404.css +47 -0
  512. package/dist/styles/SyntaxFont.woff2 +0 -0
  513. package/dist/styles/authlayout.css +138 -0
  514. package/dist/styles/dashboard-base.css +493 -0
  515. package/dist/styles/dashboard-code.css +33 -0
  516. package/dist/styles/dashboard-diff.css +389 -0
  517. package/dist/styles/dashboard-tiny-mde.css +224 -0
  518. package/dist/styles/md-remark-callouts/github.css +56 -0
  519. package/dist/styles/md-remark-callouts/obsidian.css +66 -0
  520. package/dist/styles/md-remark-callouts/vitepress.css +58 -0
  521. package/dist/styles/md-remark-headings.css +48 -0
  522. package/dist/types.d.ts +43 -0
  523. package/dist/types.js +0 -0
  524. package/dist/utils/addAPIRoutes.d.ts +9 -0
  525. package/dist/utils/addAPIRoutes.js +33 -0
  526. package/dist/utils/addIntegrationArray.d.ts +24 -0
  527. package/dist/utils/addIntegrationArray.js +11 -0
  528. package/dist/utils/addIntegrationArrayWithCheck.d.ts +11 -0
  529. package/dist/utils/addIntegrationArrayWithCheck.js +24 -0
  530. package/dist/utils/astroConfigCheck.d.ts +8 -0
  531. package/dist/utils/astroConfigCheck.js +31 -0
  532. package/dist/utils/astroEnvConfig.d.ts +45 -0
  533. package/dist/utils/astroEnvConfig.js +9 -0
  534. package/dist/utils/authEnvCheck.d.ts +38 -0
  535. package/dist/utils/authEnvCheck.js +82 -0
  536. package/dist/utils/changelog.d.ts +1 -0
  537. package/dist/utils/changelog.js +53 -0
  538. package/dist/utils/changelogLoader.d.ts +15 -0
  539. package/dist/utils/changelogLoader.js +104 -0
  540. package/dist/utils/checkENV.d.ts +27 -0
  541. package/dist/utils/checkENV.js +115 -0
  542. package/dist/utils/configManager.d.ts +22 -0
  543. package/dist/utils/configManager.js +98 -0
  544. package/dist/utils/configResolver.d.ts +283 -0
  545. package/dist/utils/configResolver.js +105 -0
  546. package/dist/utils/defineStudioCMSConfig.d.ts +165 -0
  547. package/dist/utils/defineStudioCMSConfig.js +6 -0
  548. package/dist/utils/getLabelForPermissionLevel.d.ts +2 -0
  549. package/dist/utils/getLabelForPermissionLevel.js +17 -0
  550. package/dist/utils/injectRouteArray.d.ts +19 -0
  551. package/dist/utils/injectRouteArray.js +75 -0
  552. package/dist/utils/integrationLogger.d.ts +7 -0
  553. package/dist/utils/integrationLogger.js +18 -0
  554. package/dist/utils/integrations.d.ts +4 -0
  555. package/dist/utils/integrations.js +32 -0
  556. package/dist/utils/isDashboardRoute.d.ts +7 -0
  557. package/dist/utils/isDashboardRoute.js +10 -0
  558. package/dist/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
  559. package/dist/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
  560. package/dist/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
  561. package/dist/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
  562. package/dist/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
  563. package/dist/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
  564. package/dist/utils/makePageTitle.d.ts +3 -0
  565. package/dist/utils/makePageTitle.js +7 -0
  566. package/dist/utils/pageListPackageLabel.d.ts +4 -0
  567. package/dist/utils/pageListPackageLabel.js +12 -0
  568. package/dist/utils/readJson.d.ts +1 -0
  569. package/dist/utils/readJson.js +7 -0
  570. package/dist/utils/routeBuilder.d.ts +18 -0
  571. package/dist/utils/routeBuilder.js +96 -0
  572. package/dist/utils/safeString.d.ts +1 -0
  573. package/dist/utils/safeString.js +6 -0
  574. package/dist/utils/simpleResponse.d.ts +1 -0
  575. package/dist/utils/simpleResponse.js +29 -0
  576. package/dist/utils/validImages.d.ts +13 -0
  577. package/dist/utils/validImages.js +39 -0
  578. package/dist/virtual.d.js +0 -0
  579. package/dist/virtual.d.ts +9 -0
  580. package/package.json +219 -0
  581. package/studiocms-cli.mjs +13 -0
  582. package/ui.d.ts +291 -0
@@ -0,0 +1,20 @@
1
+ import { type SpawnOptions } from 'node:child_process';
2
+ /**
3
+ * Check if a command exists on the system.
4
+ * @param command The command to check.
5
+ * @returns A boolean indicating if the command exists.
6
+ */
7
+ export declare function commandExists(command: string): boolean;
8
+ /**
9
+ * Run a shell command.
10
+ * @param command The full shell command to execute.
11
+ * @returns A Promise that resolves with the command's output or rejects with an error.
12
+ */
13
+ export declare function runShellCommand(command: string): Promise<string>;
14
+ /**
15
+ * Run a shell command interactively.
16
+ * @param command The shell command to execute.
17
+ * @param options Optional spawn options.
18
+ * @returns A Promise that resolves when the command completes or rejects on error.
19
+ */
20
+ export declare function runInteractiveCommand(command: string, options?: SpawnOptions): Promise<void>;
@@ -0,0 +1,40 @@
1
+ import { exec, spawn, spawnSync } from "node:child_process";
2
+ function commandExists(command) {
3
+ const result = spawnSync(command, ["--version"], {
4
+ stdio: "ignore",
5
+ shell: true
6
+ });
7
+ return result.status === 0;
8
+ }
9
+ function runShellCommand(command) {
10
+ return new Promise((resolve, reject) => {
11
+ exec(command, (error, stdout, stderr) => {
12
+ if (error) {
13
+ reject(new Error(`Error: ${error.message}
14
+ ${stderr}`));
15
+ return;
16
+ }
17
+ resolve(stdout);
18
+ });
19
+ });
20
+ }
21
+ function runInteractiveCommand(command, options = { shell: true, stdio: "inherit" }) {
22
+ return new Promise((resolve, reject) => {
23
+ const process = spawn(command, [], options);
24
+ process.on("close", (code) => {
25
+ if (code === 0) {
26
+ resolve();
27
+ } else {
28
+ reject(new Error(`Command exited with code ${code}`));
29
+ }
30
+ });
31
+ process.on("error", (error) => {
32
+ reject(error);
33
+ });
34
+ });
35
+ }
36
+ export {
37
+ commandExists,
38
+ runInteractiveCommand,
39
+ runShellCommand
40
+ };
@@ -0,0 +1,5 @@
1
+ interface SeasonalMessages {
2
+ messages: string[];
3
+ }
4
+ export default function getSeasonalMessages(): SeasonalMessages;
5
+ export {};
@@ -0,0 +1,88 @@
1
+ function getSeasonalMessages() {
2
+ const season = getSeason();
3
+ switch (season) {
4
+ case "new-year": {
5
+ const year = (/* @__PURE__ */ new Date()).getFullYear();
6
+ return {
7
+ messages: [
8
+ `Welcome to StudioCMS! Let's create something amazing.`,
9
+ `Kicking off ${year} with StudioCMS? You're in for a treat!`,
10
+ `Happy ${year}! Ready to craft the perfect CMS?`,
11
+ `${year} is your year to create something awesome with StudioCMS!`,
12
+ `${year} is the year of StudioCMS-powered sites!`,
13
+ `Excited to see what you'll build with StudioCMS in ${year}!`,
14
+ `Thanks for choosing StudioCMS to start your ${year} journey!`
15
+ ]
16
+ };
17
+ }
18
+ case "spooky":
19
+ return {
20
+ messages: [
21
+ `Beware! You're entering the realm of StudioCMS.`,
22
+ "Boo! Ready to create something frightfully good?",
23
+ `Let's brew up a spooktacular website together!`,
24
+ "No tricks, just treats with StudioCMS this Halloween.",
25
+ "Spiders spin webs, but you build the internet with StudioCMS!",
26
+ "StudioCMS: your cauldron for conjuring up the perfect site.",
27
+ "A hauntingly beautiful project awaits you!",
28
+ "The only thing spooky here is how good your site will look!",
29
+ "Prepare for chills and thrills as we craft your CMS masterpiece!",
30
+ "StudioCMS: Helping you scare up a perfect website this Halloween!"
31
+ ]
32
+ };
33
+ case "holiday":
34
+ return {
35
+ messages: [
36
+ `'Tis the season to build with StudioCMS!`,
37
+ "Jingle all the way to your next great website!",
38
+ "Deck the web with StudioCMS magic!",
39
+ `Let's unwrap the gift of creativity together!`,
40
+ "May your holidays be merry and your site extraordinary!",
41
+ "Building a website is the best kind of holiday cheer!",
42
+ "StudioCMS: the perfect companion for your festive projects!",
43
+ "Create a winter wonderland online with StudioCMS.",
44
+ `Ho ho ho! Let's build something unforgettable this holiday season!`,
45
+ "Your ideas are the brightest stars on this holiday tree!"
46
+ ]
47
+ };
48
+ default:
49
+ return {
50
+ messages: [
51
+ `Welcome to StudioCMS! Let's get started.`,
52
+ "Ready to shape the future of the web with StudioCMS?",
53
+ "Claim your digital space with StudioCMS!",
54
+ "Time to turn your ideas into reality.",
55
+ `Let's craft something amazing together!`,
56
+ `Let's make the internet a better place.`,
57
+ "Your creativity + StudioCMS = magic.",
58
+ `We're thrilled to have you on this journey.`,
59
+ "Building the web, one project at a time.",
60
+ `The web is yours to shape. Let's begin!`,
61
+ "Fast, flexible, and ready to go\u2014just like StudioCMS.",
62
+ `Let's build the CMS of your dreams!`,
63
+ `Let's make your vision a reality.`,
64
+ "Ready to create something extraordinary?",
65
+ "Here to assist you in building greatness.",
66
+ `It's time to create your next masterpiece.`,
67
+ "StudioCMS: The power of the web in your hands."
68
+ ]
69
+ };
70
+ }
71
+ }
72
+ function getSeason() {
73
+ const date = /* @__PURE__ */ new Date();
74
+ const month = date.getMonth() + 1;
75
+ const day = date.getDate() + 1;
76
+ if (month === 1 && day <= 7) {
77
+ return "new-year";
78
+ }
79
+ if (month === 10 && day > 7) {
80
+ return "spooky";
81
+ }
82
+ if (month === 12 && day > 7 && day < 25) {
83
+ return "holiday";
84
+ }
85
+ }
86
+ export {
87
+ getSeasonalMessages as default
88
+ };
@@ -0,0 +1,55 @@
1
+ import type { Key } from 'node:readline';
2
+ import { type Options as BoxenOptions } from 'boxen';
3
+ export declare const ASCIIText: string;
4
+ export declare const dt: Intl.DateTimeFormat;
5
+ export declare const date: string;
6
+ export declare const supportsColor: boolean;
7
+ export declare const StudioCMSColorway: import("chalk").ChalkInstance;
8
+ export declare const StudioCMSColorwayBg: import("chalk").ChalkInstance;
9
+ export declare const StudioCMSColorwayInfo: import("chalk").ChalkInstance;
10
+ export declare const StudioCMSColorwayInfoBg: import("chalk").ChalkInstance;
11
+ export declare const StudioCMSColorwayWarn: import("chalk").ChalkInstance;
12
+ export declare const StudioCMSColorwayWarnBg: import("chalk").ChalkInstance;
13
+ export declare const StudioCMSColorwayError: import("chalk").ChalkInstance;
14
+ export declare const StudioCMSColorwayErrorBg: import("chalk").ChalkInstance;
15
+ export declare const TursoColorway: import("chalk").ChalkInstance;
16
+ export declare const CLITitle: string;
17
+ export declare const action: (key: Key, isSelect: boolean) => false | "home" | "left" | "right" | "delete" | "first" | "abort" | "last" | "reset" | "down" | "up" | "submit" | "deleteForward" | "exit" | "next" | "nextPage" | "prevPage" | "end" | undefined;
18
+ export type LogMessageOptions = {
19
+ symbol?: string;
20
+ };
21
+ export declare function createClackMessageUpdate(stream?: NodeJS.WriteStream & {
22
+ fd: 1;
23
+ }, { showCursor, symbol }?: {
24
+ showCursor?: boolean | undefined;
25
+ symbol?: string | undefined;
26
+ }): {
27
+ (arguments_: string): void;
28
+ clear(): void;
29
+ done(): void;
30
+ };
31
+ export declare function boxen(header?: string, body?: {
32
+ ln0?: string;
33
+ ln1?: string;
34
+ ln2?: string;
35
+ ln3?: string;
36
+ ln4?: string;
37
+ ln5?: string;
38
+ }, footer?: string, boxenOptions?: BoxenOptions): string;
39
+ export declare const logger: {
40
+ log: (message: string) => void;
41
+ debug: (message: string) => void;
42
+ error: (message: string) => void;
43
+ warn: (message: string) => void;
44
+ };
45
+ export declare const say: (msg?: string | string[], { clear }?: {
46
+ clear?: boolean | undefined;
47
+ }) => Promise<void>;
48
+ export declare const randomBetween: (min: number, max: number) => number;
49
+ export declare const random: (...arr: any[]) => any;
50
+ export declare const label: (text: string, c?: import("chalk").ChalkInstance, t?: import("chalk").ChalkInstance) => string;
51
+ export declare const sleep: (ms: number) => Promise<unknown>;
52
+ export declare const getName: () => Promise<string>;
53
+ export declare const cancelMessage = "Operation cancelled, exiting... If you're stuck, join us at https://chat.studiocms.dev";
54
+ export declare function readJson<T>(path: string | URL): T;
55
+ export declare function exists(path: string | URL | undefined): boolean;
@@ -0,0 +1,310 @@
1
+ import { exec } from "node:child_process";
2
+ import fs from "node:fs";
3
+ import readline from "node:readline";
4
+ import ansiEscapes from "ansi-escapes";
5
+ import _boxen, {} from "boxen";
6
+ import chalk from "chalk";
7
+ import cliCursor from "cli-cursor";
8
+ import figlet from "figlet";
9
+ import isUnicodeSupported from "is-unicode-supported";
10
+ import sliceAnsi from "slice-ansi";
11
+ import stripAnsi from "strip-ansi";
12
+ import wrapAnsi from "wrap-ansi";
13
+ const ASCIIText = figlet.textSync("StudioCMS");
14
+ const dt = new Intl.DateTimeFormat("en-us", {
15
+ hour: "2-digit",
16
+ minute: "2-digit"
17
+ });
18
+ const date = dt.format(/* @__PURE__ */ new Date());
19
+ const supportsColor = chalk.level > 0;
20
+ const StudioCMSColorway = chalk.hex("#a581f3");
21
+ const StudioCMSColorwayBg = chalk.bgHex("#a581f3");
22
+ const StudioCMSColorwayInfo = chalk.hex("#22c55e");
23
+ const StudioCMSColorwayInfoBg = chalk.bgHex("#22c55e");
24
+ const StudioCMSColorwayWarn = chalk.hex("#facc14");
25
+ const StudioCMSColorwayWarnBg = chalk.bgHex("#facc14");
26
+ const StudioCMSColorwayError = chalk.hex("#bd0249");
27
+ const StudioCMSColorwayErrorBg = chalk.bgHex("#bd0249");
28
+ const TursoColorway = chalk.bgHex("#4ff8d2");
29
+ const CLITitle = supportsColor ? StudioCMSColorway.bold(`${ASCIIText}
30
+ `) : `${ASCIIText}
31
+ `;
32
+ let stdout = process.stdout;
33
+ const stdin = process.stdin;
34
+ function setStdout(writable) {
35
+ stdout = writable;
36
+ }
37
+ const action = (key, isSelect) => {
38
+ if (key.meta && key.name !== "escape") return;
39
+ if (key.ctrl) {
40
+ if (key.name === "a") return "first";
41
+ if (key.name === "c") return "abort";
42
+ if (key.name === "d") return "abort";
43
+ if (key.name === "e") return "last";
44
+ if (key.name === "g") return "reset";
45
+ }
46
+ if (isSelect) {
47
+ if (key.name === "j") return "down";
48
+ if (key.name === "k") return "up";
49
+ if (key.ctrl && key.name === "n") return "down";
50
+ if (key.ctrl && key.name === "p") return "up";
51
+ }
52
+ if (key.name === "return") return "submit";
53
+ if (key.name === "enter") return "submit";
54
+ if (key.name === "backspace") return "delete";
55
+ if (key.name === "delete") return "deleteForward";
56
+ if (key.name === "abort") return "abort";
57
+ if (key.name === "escape") return "exit";
58
+ if (key.name === "tab") return "next";
59
+ if (key.name === "pagedown") return "nextPage";
60
+ if (key.name === "pageup") return "prevPage";
61
+ if (key.name === "home") return "home";
62
+ if (key.name === "end") return "end";
63
+ if (key.name === "up") return "up";
64
+ if (key.name === "down") return "down";
65
+ if (key.name === "right") return "right";
66
+ if (key.name === "left") return "left";
67
+ return false;
68
+ };
69
+ const unicode = isUnicodeSupported();
70
+ const s = (c, fallback) => unicode ? c : fallback;
71
+ const S_BAR = s("\u2502", "|");
72
+ const defaultTerminalHeight = 24;
73
+ const getWidth = ({ columns = 80 }) => columns;
74
+ const fitToTerminalHeight = (stream, text) => {
75
+ const terminalHeight = stream.rows ?? defaultTerminalHeight;
76
+ const lines = text.split("\n");
77
+ const toRemove = Math.max(0, lines.length - terminalHeight);
78
+ return toRemove ? sliceAnsi(text, stripAnsi(lines.slice(0, toRemove).join("\n")).length + 1) : text;
79
+ };
80
+ function createClackMessageUpdate(stream = stdout, { showCursor = false, symbol = chalk.gray(S_BAR) } = {}) {
81
+ let previousLineCount = 0;
82
+ let previousWidth = getWidth(stream);
83
+ let previousOutput = "";
84
+ const reset = () => {
85
+ previousOutput = "";
86
+ previousWidth = getWidth(stream);
87
+ previousLineCount = 0;
88
+ };
89
+ const render = (arguments_) => {
90
+ if (!showCursor) {
91
+ cliCursor.hide();
92
+ }
93
+ const parts = [];
94
+ const [firstLine, ...lines] = arguments_.split("\n");
95
+ parts.push(`${symbol} ${firstLine}`, ...lines.map((ln) => `${chalk.gray(S_BAR)} ${ln}`));
96
+ let output = fitToTerminalHeight(stream, `${parts.join("\n")}
97
+ `);
98
+ const width = getWidth(stream);
99
+ if (output === previousOutput && previousWidth === width) {
100
+ return;
101
+ }
102
+ previousOutput = output;
103
+ previousWidth = width;
104
+ output = wrapAnsi(output, width, { trim: false, hard: true, wordWrap: false });
105
+ stream.write(ansiEscapes.eraseLines(previousLineCount) + output);
106
+ previousLineCount = output.split("\n").length;
107
+ };
108
+ render.clear = () => {
109
+ stream.write(ansiEscapes.eraseLines(previousLineCount));
110
+ reset();
111
+ };
112
+ render.done = () => {
113
+ reset();
114
+ if (!showCursor) {
115
+ cliCursor.show();
116
+ }
117
+ };
118
+ return render;
119
+ }
120
+ function boxen(header, body, footer, boxenOptions = { padding: 0, borderStyle: "none" }) {
121
+ const prefix = stdout.columns < 80 ? " " : " ".repeat(4);
122
+ const boxContent = [];
123
+ const logo = _boxen(
124
+ [
125
+ `${chalk.white.bold(" \u2588\u2588\u2588\u2588")}`,
126
+ `${chalk.white.bold(" \u2588 \u2588\u2588\u2588\u2588")}`,
127
+ `${chalk.white.bold("\u2588 \u2588\u2584\u2584\u2584 ")}`,
128
+ `${chalk.white.bold("\u2588\u2584\u2584\u2584 ")}`
129
+ ].join("\n"),
130
+ {
131
+ padding: 1,
132
+ borderStyle: "none",
133
+ backgroundColor: "black"
134
+ }
135
+ ).split("\n");
136
+ if (header) {
137
+ boxContent.push(`${header}
138
+ `);
139
+ }
140
+ boxContent.push(
141
+ ...[
142
+ `${logo[0]}${prefix}${body?.ln0 || ""}`,
143
+ `${logo[1]}${prefix}${body?.ln1 || ""}`,
144
+ `${logo[2]}${prefix}${body?.ln2 || ""}`,
145
+ `${logo[3]}${prefix}${body?.ln3 || ""}`,
146
+ `${logo[4]}${prefix}${body?.ln4 || ""}`,
147
+ `${logo[5]}${prefix}${body?.ln5 || ""}`
148
+ ]
149
+ );
150
+ if (footer) {
151
+ boxContent.push(`
152
+ ${footer}`);
153
+ }
154
+ return _boxen(boxContent.join("\n"), boxenOptions);
155
+ }
156
+ const send = (message) => stdout.write(`${message}
157
+ `);
158
+ const logger = {
159
+ log: (message) => {
160
+ if (!supportsColor) {
161
+ send(`[${date}]: ${message}`);
162
+ return;
163
+ }
164
+ send(`${chalk.blue.bold(`[${date}]:`)} ${message}`);
165
+ },
166
+ debug: (message) => {
167
+ if (!supportsColor) {
168
+ send(`DEBUG [${date}]: ${message}`);
169
+ return;
170
+ }
171
+ send(`${chalk.blue.bold(`DEBUG [${date}]:`)} ${message}`);
172
+ },
173
+ error: (message) => {
174
+ if (!supportsColor) {
175
+ send(`ERROR [${date}]: ${message}`);
176
+ return;
177
+ }
178
+ send(`${chalk.red.bold(`ERROR [${date}]:`)} ${chalk.red(message)}`);
179
+ },
180
+ warn: (message) => {
181
+ if (!supportsColor) {
182
+ send(`WARN [${date}]: ${message}`);
183
+ return;
184
+ }
185
+ send(`${chalk.yellow.bold(`WARN [${date}]:`)} ${chalk.yellow(message)}`);
186
+ }
187
+ };
188
+ const say = async (msg = [], { clear = false } = {}) => {
189
+ const messages = Array.isArray(msg) ? msg : [msg];
190
+ const rl = readline.createInterface({ input: stdin, escapeCodeTimeout: 50 });
191
+ const logUpdate = createClackMessageUpdate(stdout, { showCursor: false });
192
+ readline.emitKeypressEvents(stdin, rl);
193
+ let i = 0;
194
+ let cancelled = false;
195
+ const done = async () => {
196
+ stdin.off("keypress", done);
197
+ if (stdin.isTTY) stdin.setRawMode(false);
198
+ rl.close();
199
+ cancelled = true;
200
+ if (i < messages.length - 1) {
201
+ logUpdate.clear();
202
+ } else if (clear) {
203
+ logUpdate.clear();
204
+ } else {
205
+ logUpdate.done();
206
+ }
207
+ };
208
+ if (stdin.isTTY) stdin.setRawMode(true);
209
+ stdin.on("keypress", (str, key) => {
210
+ if (stdin.isTTY) stdin.setRawMode(true);
211
+ const k = action(key, true);
212
+ if (k === "abort") {
213
+ done();
214
+ return process.exit(0);
215
+ }
216
+ if (["up", "down", "left", "right"].includes(k)) return;
217
+ done();
218
+ });
219
+ for (let message of messages) {
220
+ message = message;
221
+ const _message = Array.isArray(message) ? message : message.split(" ");
222
+ const msg2 = [];
223
+ let j = 0;
224
+ for (let word of [""].concat(_message)) {
225
+ word = word;
226
+ if (word) msg2.push(word);
227
+ logUpdate(
228
+ `
229
+ ${boxen(void 0, { ln3: msg2.join(" ") }, void 0, { padding: 0, borderStyle: "none" })}`
230
+ );
231
+ if (!cancelled) await sleep(randomBetween(75, 200));
232
+ j++;
233
+ }
234
+ if (!cancelled) await sleep(100);
235
+ const tmp = await Promise.all(_message).then((res) => res.join(" "));
236
+ const text = `
237
+ ${boxen(void 0, { ln3: tmp }, void 0, { padding: 0, borderStyle: "none" })}`;
238
+ logUpdate(text);
239
+ if (!cancelled) await sleep(randomBetween(1200, 1400));
240
+ i++;
241
+ }
242
+ stdin.off("keypress", done);
243
+ await sleep(100);
244
+ done();
245
+ if (stdin.isTTY) stdin.setRawMode(false);
246
+ stdin.removeAllListeners("keypress");
247
+ };
248
+ const randomBetween = (min, max) => Math.floor(Math.random() * (max - min + 1) + min);
249
+ const random = (...arr) => {
250
+ const flattenedArray = arr.flat(1);
251
+ return flattenedArray[Math.floor(flattenedArray.length * Math.random())];
252
+ };
253
+ const label = (text, c = StudioCMSColorwayBg, t = chalk.whiteBright) => c(` ${t(text)} `);
254
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
255
+ const getName = () => new Promise((resolve) => {
256
+ exec("git config user.name", { encoding: "utf-8" }, (_1, gitName) => {
257
+ if (gitName.trim()) {
258
+ return resolve(gitName.split(" ")[0].trim());
259
+ }
260
+ exec("whoami", { encoding: "utf-8" }, (_3, whoami) => {
261
+ if (whoami.trim()) {
262
+ return resolve(whoami.split(" ")[0].trim());
263
+ }
264
+ return resolve("StudioCMS User");
265
+ });
266
+ });
267
+ });
268
+ const cancelMessage = "Operation cancelled, exiting... If you're stuck, join us at https://chat.studiocms.dev";
269
+ function readJson(path) {
270
+ return JSON.parse(fs.readFileSync(path, "utf-8"));
271
+ }
272
+ function exists(path) {
273
+ if (!path) return false;
274
+ try {
275
+ fs.statSync(path);
276
+ return true;
277
+ } catch {
278
+ return false;
279
+ }
280
+ }
281
+ export {
282
+ ASCIIText,
283
+ CLITitle,
284
+ StudioCMSColorway,
285
+ StudioCMSColorwayBg,
286
+ StudioCMSColorwayError,
287
+ StudioCMSColorwayErrorBg,
288
+ StudioCMSColorwayInfo,
289
+ StudioCMSColorwayInfoBg,
290
+ StudioCMSColorwayWarn,
291
+ StudioCMSColorwayWarnBg,
292
+ TursoColorway,
293
+ action,
294
+ boxen,
295
+ cancelMessage,
296
+ createClackMessageUpdate,
297
+ date,
298
+ dt,
299
+ exists,
300
+ getName,
301
+ label,
302
+ logger,
303
+ random,
304
+ randomBetween,
305
+ readJson,
306
+ say,
307
+ setStdout,
308
+ sleep,
309
+ supportsColor
310
+ };
@@ -0,0 +1,2 @@
1
+ import type { Context } from '../lib/context.js';
2
+ export declare function intro(ctx: Pick<Context, 'welcome' | 'version' | 'username' | 'skipBanners' | 'debug' | 'logger'>): Promise<void>;
@@ -0,0 +1,24 @@
1
+ import color from "chalk";
2
+ import { StudioCMSColorway, StudioCMSColorwayBg, label, say } from "../lib/utils.js";
3
+ async function intro(ctx) {
4
+ if (!ctx.skipBanners) {
5
+ ctx.debug && ctx.logger.debug("Printing welcome message...");
6
+ await say(
7
+ [
8
+ [
9
+ "Welcome",
10
+ "to",
11
+ label("StudioCMS", StudioCMSColorwayBg, color.black),
12
+ StudioCMSColorway(`v${ctx.version}`),
13
+ ctx.username
14
+ ],
15
+ ctx.welcome
16
+ ],
17
+ { clear: true }
18
+ );
19
+ ctx.debug && ctx.logger.debug("Welcome message printed");
20
+ }
21
+ }
22
+ export {
23
+ intro
24
+ };