studiocms 0.1.0-beta.24 → 0.1.0-beta.26
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.
- package/CHANGELOG.md +136 -0
- package/dist/cli/add/index.d.ts +3 -4
- package/dist/cli/add/index.js +6 -7
- package/dist/cli/crypto/genJWT/index.d.ts +5 -5
- package/dist/cli/crypto/genJWT/index.js +14 -15
- package/dist/cli/crypto/index.d.ts +2 -2
- package/dist/cli/crypto/index.js +4 -4
- package/dist/cli/getTurso/index.d.ts +2 -2
- package/dist/cli/getTurso/index.js +3 -4
- package/dist/cli/index.js +11 -10
- package/dist/cli/init/index.d.ts +4 -4
- package/dist/cli/init/index.js +11 -12
- package/dist/cli/users/index.d.ts +4 -4
- package/dist/cli/users/index.js +11 -12
- package/dist/cli/users/steps/libsqlCreateUsers.js +3 -3
- package/dist/cli/users/steps/libsqlModifyUsers.js +3 -3
- package/dist/{layouts → components}/auth/FallbackCanvas.astro +1 -1
- package/dist/components/auth/OAuthButton.astro +1 -1
- package/dist/components/auth/OAuthButtonStack.astro +2 -2
- package/dist/components/auth/StaticAuthCheck.astro +3 -3
- package/dist/{scripts → components/auth/component-scripts}/formListener.d.ts +3 -0
- package/dist/{scripts → components/auth/component-scripts}/formListener.js +1 -1
- package/dist/components/dashboard/BaseHead.astro +7 -18
- package/dist/components/dashboard/DashboardGrid.astro +4 -4
- package/dist/components/dashboard/DashboardGridItem.astro +3 -2
- package/dist/components/dashboard/DashboardPageHeader.astro +11 -6
- package/dist/components/dashboard/DoubleSidebar.astro +3 -3
- package/dist/components/dashboard/Footer.astro +3 -7
- package/dist/components/dashboard/LoginChecker.astro +17 -17
- package/dist/components/dashboard/MainSidebarContent.astro +27 -18
- package/dist/components/dashboard/PageHeader.astro +3 -2
- package/dist/components/dashboard/SidebarLink.astro +148 -31
- package/dist/components/dashboard/SidebarPluginLink.astro +4 -4
- package/dist/components/dashboard/SingleSidebar.astro +3 -3
- package/dist/components/dashboard/UserName.astro +2 -2
- package/dist/components/dashboard/component-scripts/dateTimeListener.js +4 -9
- package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.d.ts +1 -0
- package/dist/components/dashboard/component-scripts/dateWithTimeAndZone.js +10 -7
- package/dist/components/dashboard/configuration/ConfigForm.astro +53 -152
- package/dist/components/dashboard/configuration/LoginPreview.astro +275 -0
- package/dist/components/dashboard/content-mgmt/CreateFolder.astro +6 -5
- package/dist/components/dashboard/content-mgmt/CreatePage.astro +23 -47
- package/dist/components/dashboard/content-mgmt/EditFolder.astro +5 -4
- package/dist/components/dashboard/content-mgmt/EditPage.astro +36 -85
- package/dist/components/dashboard/content-mgmt/InnerSidebarElement.astro +30 -22
- package/dist/components/dashboard/content-mgmt/PageEditorSwapper.astro +107 -0
- package/dist/components/dashboard/content-mgmt/PageHeader.astro +26 -18
- package/dist/components/dashboard/content-mgmt/PageTypeHandler.astro +107 -0
- package/dist/components/dashboard/content-mgmt/PluginFields.astro +6 -1
- package/dist/components/dashboard/content-mgmt/TreeRenderer.astro +8 -8
- package/dist/components/dashboard/content-mgmt/TreeSidebarFolder.astro +116 -24
- package/dist/components/dashboard/content-mgmt/TreeSidebarLink.astro +116 -24
- package/dist/components/dashboard/content-mgmt/runtime.js +1 -1
- package/dist/components/dashboard/plugins/SettingsRenderer.astro +6 -1
- package/dist/components/dashboard/profile/APITokens.astro +18 -12
- package/dist/components/dashboard/profile/BasicInfo.astro +17 -13
- package/dist/components/dashboard/profile/Notifications.astro +20 -8
- package/dist/components/dashboard/profile/SocialSignin.astro +11 -8
- package/dist/components/dashboard/profile/UpdatePassword.astro +10 -7
- package/dist/components/dashboard/profile/oAuthButtonProviders.d.ts +1 -8
- package/dist/components/dashboard/profile/oAuthButtonProviders.js +1 -15
- package/dist/components/dashboard/shared.d.ts +1 -1
- package/dist/components/dashboard/sidebar/UserAccount.astro +5 -6
- package/dist/components/dashboard/sidebar/VersionCheck.astro +7 -7
- package/dist/components/dashboard/sidebar/VersionCheckChangelog.astro +32 -8
- package/dist/components/dashboard/sidebar-modals/UserManagementModals.astro +8 -3
- package/dist/components/dashboard/sidebar-modals/VersionModal.astro +43 -24
- package/dist/components/dashboard/sidebarConfig.d.ts +2 -2
- package/dist/components/dashboard/sidebarConfig.js +7 -7
- package/dist/components/dashboard/user-mgmt/InnerSidebarElement.astro +20 -13
- package/dist/components/dashboard/user-mgmt/RankCheck.astro +10 -10
- package/dist/components/dashboard/user-mgmt/SocialSignin.astro +9 -10
- package/dist/components/dashboard/user-mgmt/UserListItem.astro +86 -30
- package/dist/components/default-grid-items/Recently-created-pages.astro +12 -10
- package/dist/components/default-grid-items/Recently-signed-up.astro +9 -9
- package/dist/components/default-grid-items/Recently-updated-pages.astro +12 -10
- package/dist/components/default-grid-items/Totals.astro +11 -10
- package/dist/{routes/firstTimeSetupRoutes/components → components/first-time-setup}/PageHeader.astro +4 -3
- package/dist/components/shared/Code.astro +72 -0
- package/dist/components/shared/SSRUser.astro +200 -0
- package/dist/components/shared/head/Favicons.astro +6 -0
- package/dist/components/shared/head/Global.astro +4 -0
- package/dist/components/shared/head/TitleTags.astro +14 -0
- package/dist/config.d.ts +1 -4
- package/dist/consts.d.ts +48 -3
- package/dist/consts.js +65 -10
- package/dist/db/config.d.ts +1499 -0
- package/dist/db/config.js +262 -4
- package/dist/effect.d.ts +2 -3
- package/dist/effect.js +2 -17
- package/dist/{styles/dashboard-code.css → fonts/syntax-font.css} +2 -20
- package/dist/{utils → handlers}/astroConfigCheck.js +1 -1
- package/dist/handlers/changelog.d.ts +1 -0
- package/dist/handlers/changelog.js +54 -0
- package/dist/handlers/index.d.ts +4 -0
- package/dist/handlers/index.js +10 -0
- package/dist/{pluginHandler.d.ts → handlers/pluginHandler.d.ts} +4 -3
- package/dist/{pluginHandler.js → handlers/pluginHandler.js} +264 -127
- package/dist/{routeHandler.d.ts → handlers/routeHandler.d.ts} +1 -1
- package/dist/{routeHandler.js → handlers/routeHandler.js} +7 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +184 -229
- package/dist/{lib → integrations}/dynamic-sitemap/index.js +1 -1
- package/dist/integrations/node-namespace.d.ts +15 -0
- package/dist/integrations/node-namespace.js +31 -0
- package/dist/integrations/plugins.d.ts +4 -0
- package/dist/integrations/plugins.js +7 -0
- package/dist/{lib → integrations}/robots/utils.d.ts +0 -8
- package/dist/{lib → integrations}/robots/utils.js +1 -5
- package/dist/{lib → integrations}/webVitals/checkForWebVitalsPlugin.js +3 -3
- package/{src/lib → dist/integrations}/webVitals/dashboard-grid-items/CoreVitals.astro +1 -1
- package/{src/lib → dist/integrations}/webVitals/dashboard-grid-items/MetricCard.astro +3 -2
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/SummaryCard.astro +2 -2
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/metric.css +17 -17
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/shared.d.ts +4 -4
- package/dist/{lib → integrations}/webVitals/dashboard-grid-items/shared.js +3 -3
- package/{src/lib → dist/integrations}/webVitals/pages/analytics/body.astro +10 -9
- package/dist/{lib → integrations}/webVitals/utils/webVitalsUtils.d.ts +9 -9
- package/dist/layouts/AuthLayout.astro +63 -0
- package/dist/layouts/{dashboard/Layout.astro → DashboardLayout.astro} +22 -10
- package/{src/routes/firstTimeSetupRoutes/components/Layout.astro → dist/layouts/FirstTimeSetupLayout.astro} +15 -3
- package/dist/middleware/index.d.ts +9 -0
- package/dist/middleware/index.js +67 -89
- package/dist/middleware/utils.d.ts +59 -36
- package/dist/middleware/utils.js +59 -40
- package/dist/routes/api/auth/[provider]/callback.d.ts +1 -4
- package/dist/routes/api/auth/[provider]/callback.js +29 -11
- package/dist/routes/api/auth/[provider]/index.d.ts +1 -4
- package/dist/routes/api/auth/[provider]/index.js +29 -11
- package/dist/routes/api/auth/forgot-password.d.ts +1 -4
- package/dist/routes/api/auth/forgot-password.js +85 -66
- package/dist/routes/api/auth/login.d.ts +1 -4
- package/dist/routes/api/auth/login.js +63 -47
- package/dist/routes/api/auth/logout.d.ts +6 -5
- package/dist/routes/api/auth/logout.js +38 -24
- package/dist/routes/api/auth/register.d.ts +1 -4
- package/dist/routes/api/auth/register.js +74 -63
- package/dist/routes/api/auth/shared.d.ts +4 -4
- package/dist/routes/api/auth/shared.js +19 -26
- package/dist/routes/api/dashboard/api-tokens.d.ts +1 -5
- package/dist/routes/api/dashboard/api-tokens.js +70 -64
- package/dist/routes/api/dashboard/config.d.ts +1 -4
- package/dist/routes/api/dashboard/config.js +51 -33
- package/dist/routes/api/dashboard/content/diff.d.ts +1 -4
- package/dist/routes/api/dashboard/content/diff.js +50 -29
- package/dist/routes/api/dashboard/content/folder.d.ts +1 -6
- package/dist/routes/api/dashboard/content/folder.js +106 -86
- package/dist/routes/api/dashboard/content/page.d.ts +1 -5
- package/dist/routes/api/dashboard/content/page.js +207 -202
- package/dist/routes/api/dashboard/create-reset-link.d.ts +1 -4
- package/dist/routes/api/dashboard/create-reset-link.js +53 -40
- package/dist/routes/api/dashboard/create-user-invite.d.ts +1 -4
- package/dist/routes/api/dashboard/create-user-invite.js +128 -106
- package/dist/routes/api/dashboard/create-user.d.ts +1 -4
- package/dist/routes/api/dashboard/create-user.js +132 -68
- package/dist/routes/api/dashboard/email-notification-settings-site.d.ts +1 -4
- package/dist/routes/api/dashboard/email-notification-settings-site.js +47 -21
- package/dist/routes/api/dashboard/partials/LiveRender.astro +21 -16
- package/dist/routes/api/dashboard/plugins/[plugin].d.ts +1 -4
- package/dist/routes/api/dashboard/plugins/[plugin].js +57 -33
- package/dist/routes/api/dashboard/profile.d.ts +1 -4
- package/dist/routes/api/dashboard/profile.js +133 -95
- package/dist/routes/api/dashboard/resend-verify-email.d.ts +1 -4
- package/dist/routes/api/dashboard/resend-verify-email.js +55 -29
- package/dist/routes/api/dashboard/reset-password.d.ts +1 -4
- package/dist/routes/api/dashboard/reset-password.js +76 -50
- package/dist/routes/api/dashboard/search-list.d.ts +1 -4
- package/dist/routes/api/dashboard/search-list.js +45 -37
- package/dist/routes/api/dashboard/update-user-notifications.d.ts +1 -4
- package/dist/routes/api/dashboard/update-user-notifications.js +48 -36
- package/dist/routes/api/dashboard/users.d.ts +1 -5
- package/dist/routes/api/dashboard/users.js +150 -96
- package/dist/routes/api/dashboard/verify-email.d.ts +1 -4
- package/dist/routes/api/dashboard/verify-email.js +52 -33
- package/dist/routes/api/dashboard/verify-session.d.ts +2 -29
- package/dist/routes/api/dashboard/verify-session.js +85 -73
- package/dist/routes/api/mailer/config.d.ts +2 -6
- package/dist/routes/api/mailer/config.js +86 -72
- package/dist/routes/api/mailer/test-email.d.ts +1 -4
- package/dist/routes/api/mailer/test-email.js +56 -33
- package/dist/routes/api/render.astro +1 -1
- package/dist/routes/api/rest/utils/auth-token.d.ts +3 -3
- package/dist/routes/api/rest/utils/auth-token.js +1 -2
- package/dist/routes/api/rest/v1/folders/[id].d.ts +2 -7
- package/dist/routes/api/rest/v1/folders/[id].js +105 -94
- package/dist/routes/api/rest/v1/folders/index.d.ts +2 -6
- package/dist/routes/api/rest/v1/folders/index.js +82 -66
- package/dist/routes/api/rest/v1/pages/[id]/history/[diffid].d.ts +1 -4
- package/dist/routes/api/rest/v1/pages/[id]/history/[diffid].js +46 -34
- package/dist/routes/api/rest/v1/pages/[id]/history/index.d.ts +1 -4
- package/dist/routes/api/rest/v1/pages/[id]/history/index.js +44 -39
- package/dist/routes/api/rest/v1/pages/[id]/index.d.ts +1 -6
- package/dist/routes/api/rest/v1/pages/[id]/index.js +158 -151
- package/dist/routes/api/rest/v1/pages/index.d.ts +1 -5
- package/dist/routes/api/rest/v1/pages/index.js +112 -107
- package/dist/routes/api/rest/v1/public/folders/[id].d.ts +1 -4
- package/dist/routes/api/rest/v1/public/folders/[id].js +32 -23
- package/dist/routes/api/rest/v1/public/folders/index.d.ts +1 -4
- package/dist/routes/api/rest/v1/public/folders/index.js +43 -33
- package/dist/routes/api/rest/v1/public/pages/[id].d.ts +1 -4
- package/dist/routes/api/rest/v1/public/pages/[id].js +38 -26
- package/dist/routes/api/rest/v1/public/pages/index.d.ts +1 -4
- package/dist/routes/api/rest/v1/public/pages/index.js +47 -44
- package/dist/routes/api/rest/v1/settings/index.d.ts +1 -5
- package/dist/routes/api/rest/v1/settings/index.js +60 -54
- package/dist/routes/api/rest/v1/users/[id].d.ts +2 -7
- package/dist/routes/api/rest/v1/users/[id].js +257 -231
- package/dist/routes/api/rest/v1/users/index.d.ts +2 -6
- package/dist/routes/api/rest/v1/users/index.js +154 -136
- package/dist/routes/api/sdk/fallback-list-pages.json.d.ts +1 -4
- package/dist/routes/api/sdk/fallback-list-pages.json.js +26 -33
- package/dist/routes/api/sdk/full-changelog.json.d.ts +1 -4
- package/dist/routes/api/sdk/full-changelog.json.js +27 -26
- package/dist/routes/api/sdk/list-pages.d.ts +1 -4
- package/dist/routes/api/sdk/list-pages.js +36 -29
- package/dist/routes/api/sdk/update-latest-version-cache.d.ts +1 -4
- package/dist/routes/api/sdk/update-latest-version-cache.js +30 -28
- package/dist/routes/api/sdk/utils/changelog.d.ts +5 -21
- package/dist/routes/api/sdk/utils/changelog.js +25 -131
- package/dist/routes/auth/login.astro +68 -58
- package/dist/routes/auth/logout.astro +3 -3
- package/dist/routes/auth/signup.astro +9 -9
- package/dist/routes/dashboard/[...pluginPage].astro +4 -2
- package/dist/routes/dashboard/configuration.astro +7 -4
- package/dist/routes/dashboard/content-management/createfolder.astro +5 -3
- package/dist/routes/dashboard/content-management/createpage.astro +5 -3
- package/dist/routes/dashboard/content-management/diff.astro +19 -15
- package/dist/routes/dashboard/content-management/editfolder.astro +4 -2
- package/dist/routes/dashboard/content-management/editpage.astro +4 -2
- package/dist/routes/dashboard/content-management/index.astro +5 -3
- package/dist/routes/dashboard/index.astro +4 -2
- package/dist/routes/dashboard/password-reset.astro +13 -8
- package/dist/routes/dashboard/plugins/[plugin].astro +10 -7
- package/dist/routes/dashboard/profile.astro +9 -4
- package/dist/routes/dashboard/smtp-configuration.astro +30 -18
- package/dist/routes/dashboard/unverified-email.astro +9 -9
- package/dist/routes/dashboard/user-management/edit.astro +53 -39
- package/dist/routes/dashboard/user-management/index.astro +6 -4
- package/dist/routes/error-pages/404.astro +6 -4
- package/dist/routes/firstTimeSetupRoutes/1-start.astro +18 -110
- package/dist/routes/firstTimeSetupRoutes/2-next.astro +60 -44
- package/dist/routes/firstTimeSetupRoutes/3-done.astro +9 -11
- package/dist/routes/firstTimeSetupRoutes/api/step-1.d.ts +1 -4
- package/dist/routes/firstTimeSetupRoutes/api/step-1.js +98 -87
- package/dist/routes/firstTimeSetupRoutes/api/step-2.d.ts +1 -4
- package/dist/routes/firstTimeSetupRoutes/api/step-2.js +95 -87
- package/dist/routes/firstTimeSetupRoutes/index.astro +6 -0
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.js +2 -3
- package/dist/schemas/config/index.js +1 -1
- package/dist/schemas/plugins/index.d.ts +57 -57
- package/dist/schemas/plugins/shared.d.ts +196 -77
- package/dist/schemas/plugins/shared.js +10 -16
- package/dist/styles/404.css +1 -1
- package/dist/styles/{authlayout.css → auth-layout.css} +1 -1
- package/dist/styles/code-component.css +56 -0
- package/dist/styles/dashboard-base.css +31 -62
- package/dist/styles/dashboard-diff.css +32 -32
- package/dist/theme.d.ts +1 -0
- package/dist/types.d.ts +3 -23
- package/dist/{lib → utils}/effects/index.d.ts +0 -1
- package/dist/{lib → utils}/effects/index.js +0 -2
- package/dist/{lib → utils}/effects/logger.d.ts +2 -4
- package/dist/{lib → utils}/effects/logger.js +2 -4
- package/dist/utils/effects/smtp.d.ts +40 -0
- package/dist/utils/effects/smtp.js +75 -0
- package/dist/utils/safeString.d.ts +1 -1
- package/dist/utils/safeString.js +1 -3
- package/dist/utils/stripIconify.d.ts +13 -0
- package/dist/utils/stripIconify.js +11 -0
- package/dist/utils/tinyMDParser.d.ts +6 -0
- package/dist/utils/tinyMDParser.js +5 -5
- package/dist/virtual.d.ts +194 -236
- package/dist/virtuals/auth/core.d.ts +91 -0
- package/dist/virtuals/auth/core.js +45 -0
- package/dist/{lib → virtuals}/auth/index.d.ts +1 -4
- package/dist/virtuals/auth/index.js +9 -0
- package/dist/virtuals/auth/scripts/three.d.ts +108 -0
- package/dist/virtuals/auth/scripts/three.js +484 -0
- package/dist/virtuals/auth/scripts/utils/fitModelToViewport.d.ts +10 -0
- package/dist/virtuals/auth/scripts/utils/fitModelToViewport.js +26 -0
- package/dist/{utils/validImages.d.ts → virtuals/auth/validImages/index.d.ts} +1 -1
- package/dist/virtuals/auth/validImages/index.js +39 -0
- package/dist/virtuals/auth/validImages/studiocms-blobs-dark.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-blobs-light.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-blocks-dark.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-blocks-light.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-curves-dark.webp +0 -0
- package/dist/virtuals/auth/validImages/studiocms-curves-light.webp +0 -0
- package/dist/{lib → virtuals}/auth/verify-email.d.ts +10 -10
- package/dist/{lib → virtuals}/auth/verify-email.js +19 -20
- package/dist/virtuals/components/Generator.astro +5 -0
- package/{src → dist/virtuals}/components/Renderer.astro +1 -1
- package/{src/lib → dist/virtuals}/i18n/LanguageSelector.astro +1 -1
- package/dist/{lib → virtuals}/i18n/client.d.ts +100 -4
- package/dist/{lib → virtuals}/i18n/client.js +11 -10
- package/dist/virtuals/i18n/config.d.ts +430 -0
- package/dist/virtuals/i18n/config.js +29 -0
- package/dist/virtuals/i18n/server.d.ts +116 -0
- package/dist/{lib/i18n/index.js → virtuals/i18n/server.js} +6 -19
- package/dist/{lib → virtuals}/i18n/translations/de.json +1 -1
- package/dist/virtuals/i18n/v-files.d.ts +30 -0
- package/dist/virtuals/i18n/v-files.js +46 -0
- package/dist/virtuals/lib/head.d.ts +1 -0
- package/dist/virtuals/lib/head.js +1 -0
- package/dist/{lib → virtuals/lib}/headDefaults.d.ts +1 -1
- package/dist/{lib → virtuals/lib}/headDefaults.js +1 -1
- package/dist/{lib → virtuals/lib}/makeAPIRoute.d.ts +1 -1
- package/dist/virtuals/lib/pathGenerators.d.ts +1 -0
- package/dist/virtuals/lib/pathGenerators.js +1 -0
- package/dist/{lib → virtuals/lib}/routeMap.d.ts +4 -0
- package/dist/{lib → virtuals/lib}/routeMap.js +5 -1
- package/dist/{lib → virtuals/lib}/urlGen.d.ts +2 -1
- package/dist/virtuals/lib/urlGen.js +6 -0
- package/dist/virtuals/mailer/index.d.ts +64 -0
- package/dist/{lib → virtuals}/mailer/index.js +7 -24
- package/dist/{lib → virtuals}/notifier/index.d.ts +6 -7
- package/dist/{lib → virtuals}/notifier/index.js +2 -4
- package/dist/virtuals/plugins/dashboard-pages.d.ts +71 -0
- package/dist/virtuals/scripts/user-quick-tools.d.ts +91 -0
- package/dist/{components → virtuals/scripts}/user-quick-tools.js +135 -53
- package/dist/{sdk → virtuals/sdk}/effect/collectors.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/effect/collectors.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/db.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/db.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/foldertree.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/effect/foldertree.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/generators.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/generators.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/getVersionFromNPM.d.ts +4 -5
- package/dist/virtuals/sdk/effect/getVersionFromNPM.js +24 -0
- package/dist/{sdk → virtuals/sdk}/effect/parsers.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/parsers.js +2 -2
- package/dist/{sdk → virtuals/sdk}/effect/pluginUtils.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/pluginUtils.js +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/users.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/effect/users.js +2 -2
- package/dist/{sdk → virtuals/sdk}/errors.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/errors.js +1 -1
- package/dist/{sdk → virtuals/sdk}/index.d.ts +5 -4
- package/dist/{sdk → virtuals/sdk}/index.js +3 -4
- package/dist/{sdk → virtuals/sdk}/modules/auth.d.ts +7 -6
- package/dist/{sdk → virtuals/sdk}/modules/auth.js +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/clear.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/clear.js +1 -1
- package/dist/virtuals/sdk/modules/config.d.ts +272 -0
- package/dist/virtuals/sdk/modules/config.js +205 -0
- package/dist/{sdk → virtuals/sdk}/modules/delete.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/delete.js +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/diffTracking.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/diffTracking.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/get.d.ts +14 -27
- package/dist/{sdk → virtuals/sdk}/modules/get.js +29 -42
- package/dist/{sdk → virtuals/sdk}/modules/init.d.ts +5 -19
- package/dist/{sdk → virtuals/sdk}/modules/init.js +8 -9
- package/dist/{sdk → virtuals/sdk}/modules/middlewares.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/middlewares.js +18 -12
- package/dist/{sdk → virtuals/sdk}/modules/notificationSettings.d.ts +6 -23
- package/dist/{sdk → virtuals/sdk}/modules/notificationSettings.js +8 -30
- package/dist/{sdk → virtuals/sdk}/modules/plugins.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/plugins.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/post.d.ts +7 -7
- package/dist/{sdk → virtuals/sdk}/modules/post.js +15 -10
- package/dist/{sdk → virtuals/sdk}/modules/resetTokenBucket.d.ts +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/resetTokenBucket.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/rest_api.d.ts +2 -2
- package/dist/{sdk → virtuals/sdk}/modules/rest_api.js +1 -1
- package/dist/{sdk → virtuals/sdk}/modules/update.d.ts +26 -26
- package/dist/{sdk → virtuals/sdk}/modules/update.js +29 -26
- package/dist/{sdk → virtuals/sdk}/sdkCore.d.ts +6 -4
- package/dist/{sdk → virtuals/sdk}/sdkCore.js +10 -5
- package/dist/virtuals/sdk/tables.d.ts +2 -0
- package/dist/virtuals/sdk/tables.js +5 -0
- package/dist/{sdk → virtuals/sdk}/types/index.d.ts +6 -5
- package/dist/{sdk → virtuals/sdk}/types/tableDefs.d.ts +5 -4
- package/dist/{sdk → virtuals/sdk}/types/tsAlias.d.ts +4 -0
- package/dist/{sdk → virtuals/sdk}/utils.d.ts +4 -3
- package/dist/{sdk → virtuals/sdk}/utils.js +1 -1
- package/dist/virtuals/stubs/config.stub.js +9 -0
- package/dist/virtuals/stubs/logger.stub.js +30 -0
- package/dist/virtuals/utils.d.ts +71 -0
- package/dist/virtuals/utils.js +43 -0
- package/package.json +40 -67
- package/src/cli/add/index.ts +6 -7
- package/src/cli/crypto/genJWT/index.ts +14 -15
- package/src/cli/crypto/index.ts +4 -4
- package/src/cli/getTurso/index.ts +3 -4
- package/src/cli/index.ts +11 -10
- package/src/cli/init/index.ts +11 -12
- package/src/cli/users/index.ts +11 -12
- package/src/cli/users/steps/libsqlCreateUsers.ts +4 -3
- package/src/cli/users/steps/libsqlModifyUsers.ts +4 -3
- package/src/{layouts → components}/auth/FallbackCanvas.astro +1 -1
- package/src/components/auth/OAuthButton.astro +1 -1
- package/src/components/auth/OAuthButtonStack.astro +2 -2
- package/src/components/auth/StaticAuthCheck.astro +3 -3
- package/src/{scripts → components/auth/component-scripts}/formListener.ts +5 -1
- package/src/components/dashboard/BaseHead.astro +7 -18
- package/src/components/dashboard/DashboardGrid.astro +4 -4
- package/src/components/dashboard/DashboardGridItem.astro +3 -2
- package/src/components/dashboard/DashboardPageHeader.astro +11 -6
- package/src/components/dashboard/DoubleSidebar.astro +3 -3
- package/src/components/dashboard/Footer.astro +3 -7
- package/src/components/dashboard/LoginChecker.astro +17 -17
- package/src/components/dashboard/MainSidebarContent.astro +27 -18
- package/src/components/dashboard/PageHeader.astro +3 -2
- package/src/components/dashboard/SidebarLink.astro +148 -31
- package/src/components/dashboard/SidebarPluginLink.astro +4 -4
- package/src/components/dashboard/SingleSidebar.astro +3 -3
- package/src/components/dashboard/UserName.astro +2 -2
- package/src/components/dashboard/component-scripts/dateTimeListener.ts +5 -9
- package/src/components/dashboard/component-scripts/dateWithTimeAndZone.ts +11 -8
- package/src/components/dashboard/configuration/ConfigForm.astro +53 -152
- package/src/components/dashboard/configuration/LoginPreview.astro +275 -0
- package/src/components/dashboard/content-mgmt/CreateFolder.astro +6 -5
- package/src/components/dashboard/content-mgmt/CreatePage.astro +23 -47
- package/src/components/dashboard/content-mgmt/EditFolder.astro +5 -4
- package/src/components/dashboard/content-mgmt/EditPage.astro +36 -85
- package/src/components/dashboard/content-mgmt/InnerSidebarElement.astro +30 -22
- package/src/components/dashboard/content-mgmt/PageEditorSwapper.astro +107 -0
- package/src/components/dashboard/content-mgmt/PageHeader.astro +26 -18
- package/src/components/dashboard/content-mgmt/PageTypeHandler.astro +107 -0
- package/src/components/dashboard/content-mgmt/PluginFields.astro +6 -1
- package/src/components/dashboard/content-mgmt/TreeRenderer.astro +8 -8
- package/src/components/dashboard/content-mgmt/TreeSidebarFolder.astro +116 -24
- package/src/components/dashboard/content-mgmt/TreeSidebarLink.astro +116 -24
- package/src/components/dashboard/content-mgmt/runtime.ts +1 -1
- package/src/components/dashboard/plugins/SettingsRenderer.astro +6 -1
- package/src/components/dashboard/profile/APITokens.astro +18 -12
- package/src/components/dashboard/profile/BasicInfo.astro +17 -13
- package/src/components/dashboard/profile/Notifications.astro +20 -8
- package/src/components/dashboard/profile/SocialSignin.astro +11 -8
- package/src/components/dashboard/profile/UpdatePassword.astro +10 -7
- package/src/components/dashboard/profile/oAuthButtonProviders.ts +1 -20
- package/src/components/dashboard/shared.ts +1 -1
- package/src/components/dashboard/sidebar/UserAccount.astro +5 -6
- package/src/components/dashboard/sidebar/VersionCheck.astro +7 -7
- package/src/components/dashboard/sidebar/VersionCheckChangelog.astro +32 -8
- package/src/components/dashboard/sidebar-modals/UserManagementModals.astro +8 -3
- package/src/components/dashboard/sidebar-modals/VersionModal.astro +43 -24
- package/src/components/dashboard/sidebarConfig.ts +9 -9
- package/src/components/dashboard/user-mgmt/InnerSidebarElement.astro +20 -13
- package/src/components/dashboard/user-mgmt/RankCheck.astro +10 -10
- package/src/components/dashboard/user-mgmt/SocialSignin.astro +9 -10
- package/src/components/dashboard/user-mgmt/UserListItem.astro +86 -30
- package/src/components/default-grid-items/Recently-created-pages.astro +12 -10
- package/src/components/default-grid-items/Recently-signed-up.astro +9 -9
- package/src/components/default-grid-items/Recently-updated-pages.astro +12 -10
- package/src/components/default-grid-items/Totals.astro +11 -10
- package/src/{routes/firstTimeSetupRoutes/components → components/first-time-setup}/PageHeader.astro +4 -3
- package/src/components/shared/Code.astro +72 -0
- package/src/components/shared/SSRUser.astro +200 -0
- package/src/components/shared/head/Favicons.astro +6 -0
- package/src/components/shared/head/Global.astro +4 -0
- package/src/components/shared/head/TitleTags.astro +14 -0
- package/src/config.ts +1 -4
- package/src/consts.ts +94 -14
- package/src/db/config.ts +306 -3
- package/src/effect.ts +5 -10
- package/src/fonts/syntax-font.css +40 -0
- package/src/{utils → handlers}/astroConfigCheck.ts +1 -1
- package/src/handlers/changelog.ts +67 -0
- package/src/handlers/index.ts +4 -0
- package/src/{pluginHandler.ts → handlers/pluginHandler.ts} +359 -142
- package/src/{routeHandler.ts → handlers/routeHandler.ts} +8 -3
- package/src/index.ts +214 -259
- package/src/{lib → integrations}/dynamic-sitemap/index.ts +1 -1
- package/src/integrations/node-namespace.ts +44 -0
- package/src/integrations/plugins.ts +4 -0
- package/src/{lib → integrations}/robots/utils.ts +0 -11
- package/src/{lib → integrations}/webVitals/checkForWebVitalsPlugin.ts +3 -3
- package/{dist/lib → src/integrations}/webVitals/dashboard-grid-items/CoreVitals.astro +1 -1
- package/{dist/lib → src/integrations}/webVitals/dashboard-grid-items/MetricCard.astro +3 -2
- package/src/{lib → integrations}/webVitals/dashboard-grid-items/SummaryCard.astro +2 -2
- package/src/{lib → integrations}/webVitals/dashboard-grid-items/metric.css +17 -17
- package/src/{lib → integrations}/webVitals/dashboard-grid-items/shared.ts +7 -7
- package/{dist/lib → src/integrations}/webVitals/pages/analytics/body.astro +10 -9
- package/src/layouts/AuthLayout.astro +63 -0
- package/src/layouts/{dashboard/Layout.astro → DashboardLayout.astro} +22 -10
- package/{dist/routes/firstTimeSetupRoutes/components/Layout.astro → src/layouts/FirstTimeSetupLayout.astro} +15 -3
- package/src/middleware/index.ts +98 -111
- package/src/middleware/utils.ts +123 -113
- package/src/routes/api/auth/[provider]/callback.ts +31 -15
- package/src/routes/api/auth/[provider]/index.ts +31 -15
- package/src/routes/api/auth/forgot-password.ts +134 -128
- package/src/routes/api/auth/login.ts +80 -67
- package/src/routes/api/auth/logout.ts +59 -43
- package/src/routes/api/auth/register.ts +93 -85
- package/src/routes/api/auth/shared.ts +20 -30
- package/src/routes/api/dashboard/api-tokens.ts +112 -104
- package/src/routes/api/dashboard/config.ts +64 -48
- package/src/routes/api/dashboard/content/diff.ts +59 -38
- package/src/routes/api/dashboard/content/folder.ts +145 -135
- package/src/routes/api/dashboard/content/page.ts +274 -275
- package/src/routes/api/dashboard/create-reset-link.ts +73 -64
- package/src/routes/api/dashboard/create-user-invite.ts +158 -140
- package/src/routes/api/dashboard/create-user.ts +172 -106
- package/src/routes/api/dashboard/email-notification-settings-site.ts +69 -32
- package/src/routes/api/dashboard/partials/LiveRender.astro +21 -16
- package/src/routes/api/dashboard/plugins/[plugin].ts +65 -45
- package/src/routes/api/dashboard/profile.ts +159 -127
- package/src/routes/api/dashboard/resend-verify-email.ts +63 -35
- package/src/routes/api/dashboard/reset-password.ts +108 -77
- package/src/routes/api/dashboard/search-list.ts +50 -50
- package/src/routes/api/dashboard/update-user-notifications.ts +57 -45
- package/src/routes/api/dashboard/users.ts +202 -135
- package/src/routes/api/dashboard/verify-email.ts +57 -42
- package/src/routes/api/dashboard/verify-session.ts +102 -116
- package/src/routes/api/mailer/config.ts +120 -102
- package/src/routes/api/mailer/test-email.ts +73 -52
- package/src/routes/api/render.astro +1 -1
- package/src/routes/api/rest/utils/auth-token.ts +1 -2
- package/src/routes/api/rest/v1/folders/[id].ts +136 -133
- package/src/routes/api/rest/v1/folders/index.ts +102 -90
- package/src/routes/api/rest/v1/pages/[id]/history/[diffid].ts +59 -49
- package/src/routes/api/rest/v1/pages/[id]/history/index.ts +63 -65
- package/src/routes/api/rest/v1/pages/[id]/index.ts +184 -187
- package/src/routes/api/rest/v1/pages/index.ts +136 -137
- package/src/routes/api/rest/v1/public/folders/[id].ts +34 -28
- package/src/routes/api/rest/v1/public/folders/index.ts +54 -47
- package/src/routes/api/rest/v1/public/pages/[id].ts +47 -38
- package/src/routes/api/rest/v1/public/pages/index.ts +60 -62
- package/src/routes/api/rest/v1/settings/index.ts +91 -77
- package/src/routes/api/rest/v1/users/[id].ts +317 -294
- package/src/routes/api/rest/v1/users/index.ts +196 -179
- package/src/routes/api/sdk/fallback-list-pages.json.ts +28 -38
- package/src/routes/api/sdk/full-changelog.json.ts +29 -31
- package/src/routes/api/sdk/list-pages.ts +41 -37
- package/src/routes/api/sdk/update-latest-version-cache.ts +32 -34
- package/src/routes/api/sdk/utils/changelog.ts +29 -168
- package/src/routes/auth/login.astro +68 -58
- package/src/routes/auth/logout.astro +3 -3
- package/src/routes/auth/signup.astro +9 -9
- package/src/routes/dashboard/[...pluginPage].astro +4 -2
- package/src/routes/dashboard/configuration.astro +7 -4
- package/src/routes/dashboard/content-management/createfolder.astro +5 -3
- package/src/routes/dashboard/content-management/createpage.astro +5 -3
- package/src/routes/dashboard/content-management/diff.astro +19 -15
- package/src/routes/dashboard/content-management/editfolder.astro +4 -2
- package/src/routes/dashboard/content-management/editpage.astro +4 -2
- package/src/routes/dashboard/content-management/index.astro +5 -3
- package/src/routes/dashboard/index.astro +4 -2
- package/src/routes/dashboard/password-reset.astro +13 -8
- package/src/routes/dashboard/plugins/[plugin].astro +10 -7
- package/src/routes/dashboard/profile.astro +9 -4
- package/src/routes/dashboard/smtp-configuration.astro +30 -18
- package/src/routes/dashboard/unverified-email.astro +9 -9
- package/src/routes/dashboard/user-management/edit.astro +53 -39
- package/src/routes/dashboard/user-management/index.astro +6 -4
- package/src/routes/error-pages/404.astro +6 -4
- package/src/routes/firstTimeSetupRoutes/1-start.astro +18 -110
- package/src/routes/firstTimeSetupRoutes/2-next.astro +60 -44
- package/src/routes/firstTimeSetupRoutes/3-done.astro +9 -11
- package/src/routes/firstTimeSetupRoutes/api/step-1.ts +116 -98
- package/src/routes/firstTimeSetupRoutes/api/step-2.ts +114 -100
- package/src/routes/firstTimeSetupRoutes/index.astro +6 -0
- package/src/runtime/index.ts +2 -3
- package/src/schemas/config/index.ts +1 -1
- package/src/schemas/plugins/index.ts +1 -1
- package/src/schemas/plugins/shared.ts +149 -23
- package/src/styles/404.css +1 -1
- package/src/styles/{authlayout.css → auth-layout.css} +1 -1
- package/src/styles/code-component.css +64 -0
- package/src/styles/dashboard-base.css +31 -67
- package/src/styles/dashboard-diff.css +32 -32
- package/src/theme.d.ts +1 -0
- package/src/types.ts +4 -21
- package/src/{lib → utils}/effects/index.ts +0 -1
- package/src/{lib → utils}/effects/logger.ts +6 -10
- package/src/utils/effects/smtp.ts +155 -0
- package/src/utils/safeString.ts +1 -6
- package/src/utils/stripIconify.ts +20 -0
- package/src/utils/tinyMDParser.ts +13 -7
- package/src/virtual.d.ts +194 -236
- package/src/virtuals/auth/core.ts +82 -0
- package/src/{lib → virtuals}/auth/index.ts +1 -4
- package/src/virtuals/auth/scripts/three.ts +647 -0
- package/src/virtuals/auth/scripts/utils/fitModelToViewport.ts +50 -0
- package/src/{utils/validImages.ts → virtuals/auth/validImages/index.ts} +10 -10
- package/src/virtuals/auth/validImages/studiocms-blobs-dark.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-blobs-light.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-blocks-dark.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-blocks-light.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-curves-dark.webp +0 -0
- package/src/virtuals/auth/validImages/studiocms-curves-light.webp +0 -0
- package/src/{lib → virtuals}/auth/verify-email.ts +20 -21
- package/src/virtuals/components/Generator.astro +5 -0
- package/{dist → src/virtuals}/components/Renderer.astro +1 -1
- package/{dist/lib → src/virtuals}/i18n/LanguageSelector.astro +1 -1
- package/src/virtuals/i18n/client.ts +232 -0
- package/src/virtuals/i18n/config.ts +170 -0
- package/src/{lib/i18n/index.ts → virtuals/i18n/server.ts} +42 -46
- package/src/{lib → virtuals}/i18n/translations/de.json +1 -1
- package/src/virtuals/i18n/v-files.ts +122 -0
- package/src/virtuals/lib/head.ts +1 -0
- package/src/{lib → virtuals/lib}/headDefaults.ts +1 -1
- package/src/{lib → virtuals/lib}/makeAPIRoute.ts +1 -1
- package/src/virtuals/lib/pathGenerators.ts +1 -0
- package/src/{lib → virtuals/lib}/routeMap.ts +5 -0
- package/src/virtuals/lib/urlGen.ts +15 -0
- package/src/{lib → virtuals}/mailer/index.ts +10 -44
- package/src/{lib → virtuals}/notifier/index.ts +1 -3
- package/src/{components → virtuals/scripts}/user-quick-tools.ts +151 -59
- package/src/{sdk → virtuals/sdk}/effect/collectors.ts +2 -3
- package/src/{sdk → virtuals/sdk}/effect/db.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/foldertree.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/generators.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/getVersionFromNPM.ts +5 -11
- package/src/{sdk → virtuals/sdk}/effect/parsers.ts +2 -2
- package/src/{sdk → virtuals/sdk}/effect/pluginUtils.ts +1 -1
- package/src/{sdk → virtuals/sdk}/effect/users.ts +2 -2
- package/src/{sdk → virtuals/sdk}/errors.ts +1 -1
- package/src/{sdk → virtuals/sdk}/index.ts +5 -6
- package/src/{sdk → virtuals/sdk}/modules/auth.ts +4 -3
- package/src/{sdk → virtuals/sdk}/modules/clear.ts +1 -1
- package/src/virtuals/sdk/modules/config.ts +602 -0
- package/src/{sdk → virtuals/sdk}/modules/delete.ts +2 -2
- package/src/{sdk → virtuals/sdk}/modules/diffTracking.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/get.ts +34 -50
- package/src/{sdk → virtuals/sdk}/modules/init.ts +19 -27
- package/src/{sdk → virtuals/sdk}/modules/middlewares.ts +24 -13
- package/src/{sdk → virtuals/sdk}/modules/notificationSettings.ts +9 -45
- package/src/{sdk → virtuals/sdk}/modules/plugins.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/post.ts +18 -19
- package/src/{sdk → virtuals/sdk}/modules/resetTokenBucket.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/rest_api.ts +1 -1
- package/src/{sdk → virtuals/sdk}/modules/update.ts +32 -30
- package/src/{sdk → virtuals/sdk}/sdkCore.ts +6 -1
- package/src/virtuals/sdk/tables.ts +2 -0
- package/src/{sdk → virtuals/sdk}/types/index.ts +6 -10
- package/src/{sdk → virtuals/sdk}/types/tableDefs.ts +4 -4
- package/src/{sdk → virtuals/sdk}/types/tsAlias.ts +4 -0
- package/src/{sdk → virtuals/sdk}/utils.ts +3 -3
- package/src/virtuals/stubs/config.stub.js +9 -0
- package/src/virtuals/stubs/logger.stub.js +30 -0
- package/src/virtuals/utils.ts +134 -0
- package/ui.d.ts +1301 -274
- package/dist/componentRegistry/PropsParser.d.ts +0 -15
- package/dist/componentRegistry/PropsParser.js +0 -214
- package/dist/componentRegistry/Registry.d.ts +0 -46
- package/dist/componentRegistry/Registry.js +0 -79
- package/dist/componentRegistry/convert-hyphens.d.ts +0 -14
- package/dist/componentRegistry/convert-hyphens.js +0 -10
- package/dist/componentRegistry/errors.d.ts +0 -67
- package/dist/componentRegistry/errors.js +0 -12
- package/dist/componentRegistry/handler.d.ts +0 -34
- package/dist/componentRegistry/handler.js +0 -110
- package/dist/componentRegistry/index.d.ts +0 -6
- package/dist/componentRegistry/index.js +0 -6
- package/dist/componentRegistry/runtime.d.ts +0 -46
- package/dist/componentRegistry/runtime.js +0 -61
- package/dist/componentRegistry/types.d.ts +0 -59
- package/dist/components/Generator.astro +0 -5
- package/dist/components/dashboard/AstroCodeDiffsScript.astro +0 -25
- package/dist/components/dashboard/Code.astro +0 -23
- package/dist/components/dashboard/component-scripts/makeClientRoutable.d.ts +0 -1
- package/dist/components/dashboard/component-scripts/makeClientRoutable.js +0 -9
- package/dist/components/dashboard/configuration/LightVsDark.astro +0 -67
- package/dist/components/user-quick-tools.d.ts +0 -90
- package/dist/db/tables.js +0 -217
- package/dist/layouts/auth/AuthLayout.astro +0 -71
- package/dist/lib/auth/encryption.d.ts +0 -46
- package/dist/lib/auth/encryption.js +0 -83
- package/dist/lib/auth/index.js +0 -12
- package/dist/lib/auth/password.d.ts +0 -45
- package/dist/lib/auth/password.js +0 -113
- package/dist/lib/auth/session.d.ts +0 -77
- package/dist/lib/auth/session.js +0 -147
- package/dist/lib/auth/user.d.ts +0 -155
- package/dist/lib/auth/user.js +0 -251
- package/dist/lib/auth/utils/lists/passwords.d.ts +0 -2
- package/dist/lib/auth/utils/lists/passwords.js +0 -10006
- package/dist/lib/auth/utils/lists/usernames.d.ts +0 -2
- package/dist/lib/auth/utils/lists/usernames.js +0 -547
- package/dist/lib/auth/utils/scrypt.d.ts +0 -104
- package/dist/lib/auth/utils/scrypt.js +0 -55
- package/dist/lib/auth/utils/unsafeCheck.d.ts +0 -34
- package/dist/lib/auth/utils/unsafeCheck.js +0 -38
- package/dist/lib/dashboardGrid.d.ts +0 -119
- package/dist/lib/dashboardGrid.js +0 -0
- package/dist/lib/effects/convertToVanilla.d.ts +0 -10
- package/dist/lib/effects/convertToVanilla.js +0 -5
- package/dist/lib/effects/smtp.config.d.ts +0 -212
- package/dist/lib/effects/smtp.config.js +0 -123
- package/dist/lib/effects/smtp.d.ts +0 -269
- package/dist/lib/effects/smtp.js +0 -186
- package/dist/lib/endpointResponses.d.ts +0 -2
- package/dist/lib/endpointResponses.js +0 -21
- package/dist/lib/head.d.ts +0 -25
- package/dist/lib/head.js +0 -73
- package/dist/lib/i18n/config.d.ts +0 -16
- package/dist/lib/i18n/config.js +0 -8
- package/dist/lib/i18n/index.d.ts +0 -2471
- package/dist/lib/index.d.ts +0 -7
- package/dist/lib/index.js +0 -7
- package/dist/lib/jsonUtils.d.ts +0 -2
- package/dist/lib/jsonUtils.js +0 -14
- package/dist/lib/mailer/index.d.ts +0 -267
- package/dist/lib/pathGenerators.d.ts +0 -20
- package/dist/lib/pathGenerators.js +0 -66
- package/dist/lib/plugins/dashboard-pages.d.ts +0 -71
- package/dist/lib/removeLeadingTrailingSlashes.d.ts +0 -7
- package/dist/lib/removeLeadingTrailingSlashes.js +0 -13
- package/dist/lib/renderer/errors.d.ts +0 -5
- package/dist/lib/renderer/errors.js +0 -25
- package/dist/lib/urlGen.js +0 -26
- package/dist/lib/webVitals/types.js +0 -0
- package/dist/routes/firstTimeSetupRoutes/components/TabItem.astro +0 -44
- package/dist/routes/firstTimeSetupRoutes/components/Tabs.astro +0 -170
- package/dist/runtime/AstroComponentProxy.d.ts +0 -31
- package/dist/runtime/AstroComponentProxy.js +0 -47
- package/dist/runtime/decoder/decode-codepoint.d.ts +0 -18
- package/dist/runtime/decoder/decode-codepoint.js +0 -58
- package/dist/runtime/decoder/decode-data-html.d.ts +0 -1
- package/dist/runtime/decoder/decode-data-html.js +0 -7
- package/dist/runtime/decoder/decode-data-xml.d.ts +0 -1
- package/dist/runtime/decoder/decode-data-xml.js +0 -7
- package/dist/runtime/decoder/index.d.ts +0 -34
- package/dist/runtime/decoder/index.js +0 -18
- package/dist/runtime/decoder/util.d.ts +0 -208
- package/dist/runtime/decoder/util.js +0 -415
- package/dist/scriptHandler.d.ts +0 -30
- package/dist/scriptHandler.js +0 -25
- package/dist/scripts/three.d.ts +0 -1
- package/dist/scripts/three.js +0 -278
- package/dist/scripts/utils/fitModelToViewport.d.ts +0 -8
- package/dist/scripts/utils/fitModelToViewport.js +0 -19
- package/dist/sdk/effect/convertToVanilla.d.ts +0 -1
- package/dist/sdk/effect/convertToVanilla.js +0 -4
- package/dist/sdk/effect/getVersionFromNPM.js +0 -30
- package/dist/sdk/tables.d.ts +0 -1405
- package/dist/sdk/tables.js +0 -70
- package/dist/utils/addIntegrationArray.d.ts +0 -24
- package/dist/utils/addIntegrationArray.js +0 -11
- package/dist/utils/addIntegrationArrayWithCheck.d.ts +0 -11
- package/dist/utils/addIntegrationArrayWithCheck.js +0 -24
- package/dist/utils/astroEnvConfig.d.ts +0 -45
- package/dist/utils/astroEnvConfig.js +0 -9
- package/dist/utils/authEnvCheck.d.ts +0 -38
- package/dist/utils/authEnvCheck.js +0 -82
- package/dist/utils/changelog.d.ts +0 -1
- package/dist/utils/changelog.js +0 -53
- package/dist/utils/changelogLoader.d.ts +0 -15
- package/dist/utils/changelogLoader.js +0 -104
- package/dist/utils/dynamicResult.d.ts +0 -17
- package/dist/utils/dynamicResult.js +0 -0
- package/dist/utils/getLatestVersion.d.ts +0 -12
- package/dist/utils/getLatestVersion.js +0 -36
- package/dist/utils/integrationLogger.d.ts +0 -7
- package/dist/utils/integrationLogger.js +0 -18
- package/dist/utils/integrations.d.ts +0 -4
- package/dist/utils/integrations.js +0 -32
- package/dist/utils/isDashboardRoute.d.ts +0 -7
- package/dist/utils/isDashboardRoute.js +0 -10
- package/dist/utils/jsonParse.d.ts +0 -9
- package/dist/utils/jsonParse.js +0 -6
- package/dist/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
- package/dist/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
- package/dist/utils/makePageTitle.d.ts +0 -3
- package/dist/utils/makePageTitle.js +0 -7
- package/dist/utils/pageListPackageLabel.d.ts +0 -4
- package/dist/utils/pageListPackageLabel.js +0 -12
- package/dist/utils/pageTypeFilter.d.ts +0 -2
- package/dist/utils/pageTypeFilter.js +0 -16
- package/dist/utils/pluginLogger.d.ts +0 -2
- package/dist/utils/pluginLogger.js +0 -7
- package/dist/utils/readJson.d.ts +0 -1
- package/dist/utils/readJson.js +0 -7
- package/dist/utils/tryCatch.d.ts +0 -10
- package/dist/utils/tryCatch.js +0 -15
- package/dist/utils/validImages.js +0 -39
- package/src/componentRegistry/PropsParser.ts +0 -270
- package/src/componentRegistry/Registry.ts +0 -119
- package/src/componentRegistry/convert-hyphens.ts +0 -21
- package/src/componentRegistry/errors.ts +0 -58
- package/src/componentRegistry/handler.ts +0 -185
- package/src/componentRegistry/index.ts +0 -6
- package/src/componentRegistry/runtime.ts +0 -105
- package/src/componentRegistry/types.ts +0 -63
- package/src/components/Generator.astro +0 -5
- package/src/components/dashboard/AstroCodeDiffsScript.astro +0 -25
- package/src/components/dashboard/Code.astro +0 -23
- package/src/components/dashboard/ThemeManager.astro +0 -53
- package/src/components/dashboard/component-scripts/makeClientRoutable.ts +0 -7
- package/src/components/dashboard/configuration/LightVsDark.astro +0 -67
- package/src/db/tables.ts +0 -226
- package/src/layouts/auth/AuthLayout.astro +0 -71
- package/src/layouts/auth/ThemeManager.astro +0 -53
- package/src/lib/auth/encryption.ts +0 -149
- package/src/lib/auth/password.ts +0 -212
- package/src/lib/auth/session.ts +0 -291
- package/src/lib/auth/user.ts +0 -501
- package/src/lib/auth/utils/lists/passwords.ts +0 -10004
- package/src/lib/auth/utils/lists/usernames.ts +0 -546
- package/src/lib/auth/utils/scrypt.ts +0 -142
- package/src/lib/auth/utils/unsafeCheck.ts +0 -71
- package/src/lib/dashboardGrid.ts +0 -139
- package/src/lib/effects/convertToVanilla.ts +0 -12
- package/src/lib/effects/smtp.config.ts +0 -123
- package/src/lib/effects/smtp.ts +0 -338
- package/src/lib/endpointResponses.ts +0 -20
- package/src/lib/head.ts +0 -114
- package/src/lib/i18n/client.ts +0 -128
- package/src/lib/i18n/config.ts +0 -19
- package/src/lib/index.ts +0 -7
- package/src/lib/jsonUtils.ts +0 -11
- package/src/lib/pathGenerators.ts +0 -72
- package/src/lib/removeLeadingTrailingSlashes.ts +0 -21
- package/src/lib/renderer/errors.ts +0 -29
- package/src/lib/urlGen.ts +0 -40
- package/src/routes/firstTimeSetupRoutes/components/TabItem.astro +0 -44
- package/src/routes/firstTimeSetupRoutes/components/Tabs.astro +0 -170
- package/src/runtime/AstroComponentProxy.ts +0 -93
- package/src/runtime/decoder/decode-codepoint.ts +0 -76
- package/src/runtime/decoder/decode-data-html.ts +0 -6
- package/src/runtime/decoder/decode-data-xml.ts +0 -6
- package/src/runtime/decoder/index.ts +0 -49
- package/src/runtime/decoder/util.ts +0 -587
- package/src/scriptHandler.ts +0 -86
- package/src/scripts/three.ts +0 -415
- package/src/scripts/utils/fitModelToViewport.ts +0 -36
- package/src/sdk/effect/convertToVanilla.ts +0 -1
- package/src/sdk/tables.ts +0 -129
- package/src/styles/dashboard-code.css +0 -56
- package/src/utils/addIntegrationArray.ts +0 -35
- package/src/utils/addIntegrationArrayWithCheck.ts +0 -41
- package/src/utils/astroEnvConfig.ts +0 -12
- package/src/utils/authEnvCheck.ts +0 -144
- package/src/utils/changelog.ts +0 -67
- package/src/utils/changelogLoader.ts +0 -138
- package/src/utils/dynamicResult.ts +0 -19
- package/src/utils/getLatestVersion.ts +0 -67
- package/src/utils/integrationLogger.ts +0 -24
- package/src/utils/integrations.ts +0 -32
- package/src/utils/isDashboardRoute.ts +0 -19
- package/src/utils/jsonParse.ts +0 -11
- package/src/utils/loginBackgrounds/studiocms-blobs-dark.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-blobs-light.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-blocks-dark.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-blocks-light.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-curves-dark.png +0 -0
- package/src/utils/loginBackgrounds/studiocms-curves-light.png +0 -0
- package/src/utils/makePageTitle.ts +0 -11
- package/src/utils/pageListPackageLabel.ts +0 -19
- package/src/utils/pageTypeFilter.ts +0 -13
- package/src/utils/pluginLogger.ts +0 -6
- package/src/utils/readJson.ts +0 -5
- package/src/utils/tryCatch.ts +0 -29
- /package/dist/{layouts → components}/auth/ThreeCanvasLoader.astro +0 -0
- /package/dist/components/{dashboard → shared}/ThemeManager.astro +0 -0
- /package/dist/{styles → fonts}/OnestFont.woff2 +0 -0
- /package/dist/{styles → fonts}/SyntaxFont.woff2 +0 -0
- /package/dist/{styles → fonts}/onest-font.css +0 -0
- /package/dist/{utils → handlers}/astroConfigCheck.d.ts +0 -0
- /package/dist/{lib → integrations}/dynamic-sitemap/index.d.ts +0 -0
- /package/dist/{lib → integrations}/dynamic-sitemap/sitemap-index.xml.d.ts +0 -0
- /package/dist/{lib → integrations}/dynamic-sitemap/sitemap-index.xml.js +0 -0
- /package/dist/{lib → integrations}/robots/core.d.ts +0 -0
- /package/dist/{lib → integrations}/robots/core.js +0 -0
- /package/dist/{lib → integrations}/robots/index.d.ts +0 -0
- /package/dist/{lib → integrations}/robots/index.js +0 -0
- /package/dist/{lib → integrations}/robots/schema.d.ts +0 -0
- /package/dist/{lib → integrations}/robots/schema.js +0 -0
- /package/dist/{lib → integrations}/webVitals/checkForWebVitalsPlugin.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/consts.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/consts.js +0 -0
- /package/dist/{lib → integrations}/webVitals/pages/analytics/header.astro +0 -0
- /package/dist/{lib → integrations}/webVitals/schemas.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/schemas.js +0 -0
- /package/dist/{lib → integrations}/webVitals/types.d.ts +0 -0
- /package/dist/{componentRegistry → integrations/webVitals}/types.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildDataObject.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildDataObject.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPageRouteDataObject.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPageRouteDataObject.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPerPageDataObject.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/buildPerPageDataObject.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/checkDate.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/checkDate.js +0 -0
- /package/dist/{lib → integrations}/webVitals/utils/webVitalsUtils.js +0 -0
- /package/dist/{lib → integrations}/webVitals/webVital.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/webVital.js +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsRouteSummary.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsRouteSummary.js +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsSummary.d.ts +0 -0
- /package/dist/{lib → integrations}/webVitals/webVitalsSummary.js +0 -0
- /package/dist/{utils → virtuals/auth}/getLabelForPermissionLevel.d.ts +0 -0
- /package/dist/{utils → virtuals/auth}/getLabelForPermissionLevel.js +0 -0
- /package/dist/{lib → virtuals}/auth/types.d.ts +0 -0
- /package/dist/{lib → virtuals}/auth/types.js +0 -0
- /package/dist/{components/image → virtuals/components}/CustomImage.astro +0 -0
- /package/dist/{components → virtuals/components}/FormattedDate.astro +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/en.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/es.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/fr.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/hi.json +0 -0
- /package/dist/{lib → virtuals}/i18n/translations/zh.json +0 -0
- /package/dist/{lib → virtuals/lib}/makeAPIRoute.js +0 -0
- /package/dist/{lib → virtuals/lib}/makePublicRoute.d.ts +0 -0
- /package/dist/{lib → virtuals/lib}/makePublicRoute.js +0 -0
- /package/dist/{lib → virtuals}/mailer/template.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/template.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/index.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/index.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/notification.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/notification.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/password-reset.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/password-reset.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/user-invite.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/user-invite.js +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/verify-email.d.ts +0 -0
- /package/dist/{lib → virtuals}/mailer/templates/verify-email.js +0 -0
- /package/dist/{lib → virtuals}/notifier/client.d.ts +0 -0
- /package/dist/{lib → virtuals}/notifier/client.js +0 -0
- /package/dist/{lib → virtuals}/plugins/dashboard-pages.js +0 -0
- /package/dist/{lib → virtuals}/plugins/frontend-navigation.d.ts +0 -0
- /package/dist/{lib → virtuals}/plugins/frontend-navigation.js +0 -0
- /package/dist/{lib → virtuals}/plugins/index.d.ts +0 -0
- /package/dist/{lib → virtuals}/plugins/index.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/consts.d.ts +0 -0
- /package/dist/{sdk → virtuals/sdk}/consts.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/index.d.ts +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/index.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/lib/jwt-generator.d.ts +0 -0
- /package/dist/{sdk → virtuals/sdk}/effect/lib/jwt-generator.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/types/index.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/types/tableDefs.js +0 -0
- /package/dist/{sdk → virtuals/sdk}/types/tsAlias.js +0 -0
- /package/src/{layouts → components}/auth/ThreeCanvasLoader.astro +0 -0
- /package/src/{routes/firstTimeSetupRoutes → components/first-time-setup}/snippets/opt1-astro.config.diff +0 -0
- /package/src/{routes/firstTimeSetupRoutes → components/first-time-setup}/snippets/opt2-astro.config.diff +0 -0
- /package/src/{routes/firstTimeSetupRoutes → components/first-time-setup}/snippets/opt2-studiocms.config.diff +0 -0
- /package/{dist/layouts/auth → src/components/shared}/ThemeManager.astro +0 -0
- /package/src/{styles → fonts}/OnestFont.woff2 +0 -0
- /package/src/{styles → fonts}/SyntaxFont.woff2 +0 -0
- /package/src/{styles → fonts}/onest-font.css +0 -0
- /package/src/{lib → integrations}/dynamic-sitemap/sitemap-index.xml.ts +0 -0
- /package/src/{lib → integrations}/robots/core.ts +0 -0
- /package/src/{lib → integrations}/robots/index.ts +0 -0
- /package/src/{lib → integrations}/robots/schema.ts +0 -0
- /package/src/{lib → integrations}/webVitals/consts.ts +0 -0
- /package/src/{lib → integrations}/webVitals/pages/analytics/header.astro +0 -0
- /package/src/{lib → integrations}/webVitals/schemas.ts +0 -0
- /package/src/{lib → integrations}/webVitals/types.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/buildDataObject.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/buildPageRouteDataObject.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/buildPerPageDataObject.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/checkDate.ts +0 -0
- /package/src/{lib → integrations}/webVitals/utils/webVitalsUtils.ts +0 -0
- /package/src/{lib → integrations}/webVitals/webVital.ts +0 -0
- /package/src/{lib → integrations}/webVitals/webVitalsRouteSummary.ts +0 -0
- /package/src/{lib → integrations}/webVitals/webVitalsSummary.ts +0 -0
- /package/src/{utils → virtuals/auth}/getLabelForPermissionLevel.ts +0 -0
- /package/src/{lib → virtuals}/auth/types.ts +0 -0
- /package/src/{components/image → virtuals/components}/CustomImage.astro +0 -0
- /package/src/{components → virtuals/components}/FormattedDate.astro +0 -0
- /package/src/{lib → virtuals}/i18n/translations/en.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/es.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/fr.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/hi.json +0 -0
- /package/src/{lib → virtuals}/i18n/translations/zh.json +0 -0
- /package/src/{lib → virtuals/lib}/makePublicRoute.ts +0 -0
- /package/src/{lib → virtuals}/mailer/template.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/index.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/notification.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/password-reset.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/user-invite.ts +0 -0
- /package/src/{lib → virtuals}/mailer/templates/verify-email.ts +0 -0
- /package/src/{lib → virtuals}/notifier/client.ts +0 -0
- /package/src/{lib → virtuals}/plugins/dashboard-pages.ts +0 -0
- /package/src/{lib → virtuals}/plugins/frontend-navigation.ts +0 -0
- /package/src/{lib → virtuals}/plugins/index.ts +0 -0
- /package/src/{sdk → virtuals/sdk}/consts.ts +0 -0
- /package/src/{sdk → virtuals/sdk}/effect/index.ts +0 -0
- /package/src/{sdk → virtuals/sdk}/effect/lib/jwt-generator.ts +0 -0
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Effect } from '../effect.js';
|
|
2
|
-
import { ComponentRegistryError, FileParseError } from './errors.js';
|
|
3
|
-
import type { AstroComponentProps } from './types.js';
|
|
4
|
-
declare const PropsParser_base: Effect.Service.Class<PropsParser, "PropsParser", {
|
|
5
|
-
readonly effect: Effect.Effect<{
|
|
6
|
-
parseComponentProps: (sourceCode: string) => Effect.Effect<AstroComponentProps[], ComponentRegistryError, never>;
|
|
7
|
-
extractPropsFromAstroFile: (astroFileContent: string) => Effect.Effect<string, FileParseError, never>;
|
|
8
|
-
}, never, never>;
|
|
9
|
-
}>;
|
|
10
|
-
/**
|
|
11
|
-
* Service for parsing component props from TypeScript source code and extracting prop definitions from Astro files.
|
|
12
|
-
*/
|
|
13
|
-
export declare class PropsParser extends PropsParser_base {
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
import { Project, SyntaxKind } from "ts-morph";
|
|
2
|
-
import { Effect, genLogger, pipeLogger } from "../effect.js";
|
|
3
|
-
import { ComponentRegistryError, FileParseError } from "./errors.js";
|
|
4
|
-
class PropsParser extends Effect.Service()("PropsParser", {
|
|
5
|
-
effect: genLogger("studiocms/componentRegistry/PropsParser")(function* () {
|
|
6
|
-
return {
|
|
7
|
-
parseComponentProps: (sourceCode) => pipeLogger("studiocms/componentRegistry/PropsParser.parseComponentProps")(
|
|
8
|
-
Effect.try({
|
|
9
|
-
try: () => {
|
|
10
|
-
const project = new Project();
|
|
11
|
-
const sourceFile = project.createSourceFile("temp.ts", sourceCode);
|
|
12
|
-
const results = [];
|
|
13
|
-
const extractJSDocInfo = (node) => {
|
|
14
|
-
const jsDocComments = node.getJsDocs();
|
|
15
|
-
let description;
|
|
16
|
-
let defaultValue;
|
|
17
|
-
const jsDocTags = [];
|
|
18
|
-
if (jsDocComments.length > 0) {
|
|
19
|
-
description = jsDocComments[0].getDescription().trim();
|
|
20
|
-
for (const jsDoc of jsDocComments) {
|
|
21
|
-
const tags = jsDoc.getTags();
|
|
22
|
-
for (const tag of tags) {
|
|
23
|
-
const tagName = tag.getTagName();
|
|
24
|
-
const commentText = tag.getCommentText();
|
|
25
|
-
switch (tagName) {
|
|
26
|
-
case "param": {
|
|
27
|
-
const paramInfo = tag.getStructure();
|
|
28
|
-
jsDocTags.push({
|
|
29
|
-
tagName,
|
|
30
|
-
text: commentText,
|
|
31
|
-
name: paramInfo.tagName,
|
|
32
|
-
type: typeof paramInfo.text === "string" ? paramInfo.text : void 0
|
|
33
|
-
});
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
case "default": {
|
|
37
|
-
defaultValue = commentText;
|
|
38
|
-
jsDocTags.push({
|
|
39
|
-
tagName,
|
|
40
|
-
text: commentText
|
|
41
|
-
});
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
case "example":
|
|
45
|
-
case "since":
|
|
46
|
-
case "deprecated":
|
|
47
|
-
case "see":
|
|
48
|
-
case "author":
|
|
49
|
-
case "version":
|
|
50
|
-
case "throws":
|
|
51
|
-
case "returns":
|
|
52
|
-
case "readonly":
|
|
53
|
-
case "internal":
|
|
54
|
-
case "beta":
|
|
55
|
-
case "alpha":
|
|
56
|
-
case "experimental": {
|
|
57
|
-
jsDocTags.push({
|
|
58
|
-
tagName,
|
|
59
|
-
text: commentText
|
|
60
|
-
});
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
default: {
|
|
64
|
-
jsDocTags.push({
|
|
65
|
-
tagName,
|
|
66
|
-
text: commentText
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return { description, defaultValue, jsDocTags };
|
|
74
|
-
};
|
|
75
|
-
const interfaces = sourceFile.getInterfaces();
|
|
76
|
-
for (const interfaceDecl of interfaces) {
|
|
77
|
-
const interfaceName = interfaceDecl.getName();
|
|
78
|
-
const props = [];
|
|
79
|
-
const properties = interfaceDecl.getProperties();
|
|
80
|
-
for (const property of properties) {
|
|
81
|
-
const propName = property.getName();
|
|
82
|
-
const propType = property.getTypeNode()?.getText() || "unknown";
|
|
83
|
-
const isOptional = property.hasQuestionToken();
|
|
84
|
-
const { description, defaultValue, jsDocTags } = extractJSDocInfo(property);
|
|
85
|
-
props.push({
|
|
86
|
-
name: propName,
|
|
87
|
-
type: propType,
|
|
88
|
-
optional: isOptional,
|
|
89
|
-
description,
|
|
90
|
-
defaultValue,
|
|
91
|
-
jsDocTags: jsDocTags.length > 0 ? jsDocTags : void 0
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
results.push({ name: interfaceName, props });
|
|
95
|
-
}
|
|
96
|
-
const typeAliases = sourceFile.getTypeAliases();
|
|
97
|
-
for (const typeAlias of typeAliases) {
|
|
98
|
-
const typeName = typeAlias.getName();
|
|
99
|
-
const typeNode = typeAlias.getTypeNode();
|
|
100
|
-
if (typeNode && typeNode.getKind() === SyntaxKind.TypeLiteral) {
|
|
101
|
-
const props = [];
|
|
102
|
-
const typeLiteral = typeNode.asKindOrThrow(SyntaxKind.TypeLiteral);
|
|
103
|
-
const members = typeLiteral.getMembers();
|
|
104
|
-
for (const member of members) {
|
|
105
|
-
if (member.getKind() === SyntaxKind.PropertySignature) {
|
|
106
|
-
const propSig = member.asKindOrThrow(SyntaxKind.PropertySignature);
|
|
107
|
-
const propName = propSig.getName();
|
|
108
|
-
const propType = propSig.getTypeNode()?.getText() || "unknown";
|
|
109
|
-
const isOptional = propSig.hasQuestionToken();
|
|
110
|
-
const { description, defaultValue, jsDocTags } = extractJSDocInfo(propSig);
|
|
111
|
-
props.push({
|
|
112
|
-
name: propName,
|
|
113
|
-
type: propType,
|
|
114
|
-
optional: isOptional,
|
|
115
|
-
description,
|
|
116
|
-
defaultValue,
|
|
117
|
-
jsDocTags: jsDocTags.length > 0 ? jsDocTags : void 0
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
results.push({ name: typeName, props });
|
|
122
|
-
} else {
|
|
123
|
-
console.log(
|
|
124
|
-
`Type alias ${typeName} is not a type literal, kind: ${typeNode?.getKindName()}`
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return results;
|
|
129
|
-
},
|
|
130
|
-
catch: (error) => {
|
|
131
|
-
console.error("Error parsing component props:", error);
|
|
132
|
-
return new ComponentRegistryError({
|
|
133
|
-
message: "Failed to parse component props",
|
|
134
|
-
cause: error
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
})
|
|
138
|
-
),
|
|
139
|
-
extractPropsFromAstroFile: (astroFileContent) => pipeLogger("studiocms/componentRegistry/PropsParser.extractPropsFromAstroFile")(
|
|
140
|
-
Effect.try({
|
|
141
|
-
try: () => {
|
|
142
|
-
const frontmatterMatch = astroFileContent.match(/^---\s*\n([\s\S]*?)\n---/m);
|
|
143
|
-
if (!frontmatterMatch) {
|
|
144
|
-
throw new Error("No frontmatter found in Astro file");
|
|
145
|
-
}
|
|
146
|
-
const frontmatter = frontmatterMatch[1];
|
|
147
|
-
const interfaceMatch = frontmatter.match(
|
|
148
|
-
/((?:export\s+)?interface\s+Props\s*\{[\s\S]*?\n\})/m
|
|
149
|
-
);
|
|
150
|
-
if (interfaceMatch) {
|
|
151
|
-
const propsDefinition2 = interfaceMatch[0].replace(/^export\s+/, "");
|
|
152
|
-
return propsDefinition2;
|
|
153
|
-
}
|
|
154
|
-
const typeMatch = frontmatter.match(
|
|
155
|
-
/((?:export\s+)?type\s+Props\s*=\s*\{[\s\S]*?\n\})/m
|
|
156
|
-
);
|
|
157
|
-
if (typeMatch) {
|
|
158
|
-
const propsDefinition2 = typeMatch[0].replace(/^export\s+/, "");
|
|
159
|
-
return propsDefinition2;
|
|
160
|
-
}
|
|
161
|
-
const propsStart = frontmatter.search(
|
|
162
|
-
/(?:export\s+)?(?:interface|type)\s+Props\s*[={]/
|
|
163
|
-
);
|
|
164
|
-
if (propsStart === -1) {
|
|
165
|
-
throw new Error("No Props interface or type found in frontmatter");
|
|
166
|
-
}
|
|
167
|
-
const propsSubstring = frontmatter.substring(propsStart);
|
|
168
|
-
let braceCount = 0;
|
|
169
|
-
let inString = false;
|
|
170
|
-
let stringChar = "";
|
|
171
|
-
let i = 0;
|
|
172
|
-
for (i = 0; i < propsSubstring.length; i++) {
|
|
173
|
-
const char = propsSubstring[i];
|
|
174
|
-
const prevChar = i > 0 ? propsSubstring[i - 1] : "";
|
|
175
|
-
if ((char === '"' || char === "'" || char === "`") && prevChar !== "\\") {
|
|
176
|
-
if (!inString) {
|
|
177
|
-
inString = true;
|
|
178
|
-
stringChar = char;
|
|
179
|
-
} else if (char === stringChar) {
|
|
180
|
-
inString = false;
|
|
181
|
-
stringChar = "";
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
if (!inString) {
|
|
185
|
-
if (char === "{") {
|
|
186
|
-
braceCount++;
|
|
187
|
-
} else if (char === "}") {
|
|
188
|
-
braceCount--;
|
|
189
|
-
if (braceCount === 0) {
|
|
190
|
-
break;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
const propsDefinition = propsSubstring.substring(0, i + 1).replace(/^export\s+/, "");
|
|
196
|
-
return propsDefinition;
|
|
197
|
-
},
|
|
198
|
-
catch: (error) => {
|
|
199
|
-
console.error("Error extracting props from Astro file:", error);
|
|
200
|
-
return new FileParseError({
|
|
201
|
-
filePath: "astro-content",
|
|
202
|
-
message: error instanceof Error ? error.message : "Failed to extract props from Astro file",
|
|
203
|
-
cause: error
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
})
|
|
207
|
-
)
|
|
208
|
-
};
|
|
209
|
-
})
|
|
210
|
-
}) {
|
|
211
|
-
}
|
|
212
|
-
export {
|
|
213
|
-
PropsParser
|
|
214
|
-
};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import * as FileSystem from '@effect/platform/FileSystem';
|
|
2
|
-
import * as Path from '@effect/platform/Path';
|
|
3
|
-
import { Effect } from '../effect.js';
|
|
4
|
-
import { ComponentNotFoundError, ComponentRegistryError, FileParseError } from './errors.js';
|
|
5
|
-
import { PropsParser } from './PropsParser.js';
|
|
6
|
-
import type { AstroComponentProps } from './types.js';
|
|
7
|
-
declare const ComponentRegistry_base: Effect.Service.Class<ComponentRegistry, "ComponentRegistry", {
|
|
8
|
-
readonly dependencies: readonly [import("effect/Layer").Layer<PropsParser, never, never>, import("effect/Layer").Layer<Path.Path, never, never>, import("effect/Layer").Layer<FileSystem.FileSystem, never, never>];
|
|
9
|
-
readonly effect: Effect.Effect<{
|
|
10
|
-
registerComponentFromFile: (filePath: string, componentName?: string) => Effect.Effect<void, ComponentRegistryError | FileParseError | import("@effect/platform/Error").PlatformError, never>;
|
|
11
|
-
getAllComponents: () => Effect.Effect<Map<string, AstroComponentProps>, never, never>;
|
|
12
|
-
getComponentProps: (componentName: string) => Effect.Effect<AstroComponentProps | undefined, ComponentNotFoundError, never>;
|
|
13
|
-
validateProps: (componentName: string, props: Record<string, unknown>) => Effect.Effect<{
|
|
14
|
-
valid: boolean;
|
|
15
|
-
errors: string[];
|
|
16
|
-
}, ComponentNotFoundError, never>;
|
|
17
|
-
}, never, never>;
|
|
18
|
-
}>;
|
|
19
|
-
/**
|
|
20
|
-
* A service class for registering, retrieving, and validating Astro component props.
|
|
21
|
-
*
|
|
22
|
-
* The `ComponentRegistry` provides methods to:
|
|
23
|
-
* - Register a component and its props from an Astro file.
|
|
24
|
-
* - Retrieve the props definition for a registered component.
|
|
25
|
-
* - List all registered components and their props.
|
|
26
|
-
* - Validate a set of props against a registered component's prop definition.
|
|
27
|
-
*
|
|
28
|
-
* Dependencies:
|
|
29
|
-
* - `PropsParser.Default`: Used to extract and parse props from Astro files.
|
|
30
|
-
* - `Path.layer`: Used for file path operations.
|
|
31
|
-
* - `NodeFileSystem.layer`: Used for reading files from the filesystem.
|
|
32
|
-
*
|
|
33
|
-
* Methods:
|
|
34
|
-
* - `registerComponentFromFile(filePath: string, componentName?: string)`: Registers a component by reading and parsing its props from the specified Astro file.
|
|
35
|
-
* - `getComponentProps(componentName: string)`: Retrieves the props definition for the specified component.
|
|
36
|
-
* - `getAllComponents()`: Returns a map of all registered components and their props.
|
|
37
|
-
* - `validateProps(componentName: string, props: Record<string, unknown>)`: Validates the provided props against the registered component's prop definition, checking for missing required props and unknown props.
|
|
38
|
-
*
|
|
39
|
-
* Errors:
|
|
40
|
-
* - Throws `FileParseError` if the Astro file cannot be parsed.
|
|
41
|
-
* - Throws `ComponentRegistryError` if registration fails.
|
|
42
|
-
* - Throws `ComponentNotFoundError` if a requested component is not registered.
|
|
43
|
-
*/
|
|
44
|
-
export declare class ComponentRegistry extends ComponentRegistry_base {
|
|
45
|
-
}
|
|
46
|
-
export {};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import * as FileSystem from "@effect/platform/FileSystem";
|
|
2
|
-
import * as Path from "@effect/platform/Path";
|
|
3
|
-
import * as NodeFileSystem from "@effect/platform-node/NodeFileSystem";
|
|
4
|
-
import { Effect, genLogger } from "../effect.js";
|
|
5
|
-
import { ComponentNotFoundError, ComponentRegistryError, FileParseError } from "./errors.js";
|
|
6
|
-
import { PropsParser } from "./PropsParser.js";
|
|
7
|
-
class ComponentRegistry extends Effect.Service()("ComponentRegistry", {
|
|
8
|
-
dependencies: [PropsParser.Default, Path.layer, NodeFileSystem.layer],
|
|
9
|
-
effect: genLogger("studiocms/componentRegistry/Registry")(function* () {
|
|
10
|
-
const parser = yield* PropsParser;
|
|
11
|
-
const fs = yield* FileSystem.FileSystem;
|
|
12
|
-
const path = yield* Path.Path;
|
|
13
|
-
const components = /* @__PURE__ */ new Map();
|
|
14
|
-
return {
|
|
15
|
-
registerComponentFromFile: (filePath, componentName) => genLogger("studiocms/componentRegistry/Registry.registerComponentFromFile")(function* () {
|
|
16
|
-
const fileContent = yield* fs.readFileString(filePath);
|
|
17
|
-
const propsDefinition = yield* parser.extractPropsFromAstroFile(fileContent).pipe(
|
|
18
|
-
Effect.mapError(
|
|
19
|
-
(error) => new FileParseError({
|
|
20
|
-
filePath,
|
|
21
|
-
message: error.message,
|
|
22
|
-
cause: error.cause
|
|
23
|
-
})
|
|
24
|
-
)
|
|
25
|
-
);
|
|
26
|
-
const name = componentName || path.basename(filePath, path.extname(filePath));
|
|
27
|
-
const parsed = yield* parser.parseComponentProps(propsDefinition).pipe(
|
|
28
|
-
Effect.mapError(
|
|
29
|
-
(error) => new ComponentRegistryError({
|
|
30
|
-
message: `Failed to register component ${name}`,
|
|
31
|
-
cause: error
|
|
32
|
-
})
|
|
33
|
-
)
|
|
34
|
-
);
|
|
35
|
-
if (parsed.length > 0) {
|
|
36
|
-
components.set(name, parsed[0]);
|
|
37
|
-
}
|
|
38
|
-
}),
|
|
39
|
-
getAllComponents: () => Effect.succeed(new Map(components)),
|
|
40
|
-
getComponentProps: (componentName) => genLogger("studiocms/componentRegistry/Registry.getComponentProps")(function* () {
|
|
41
|
-
const component = components.get(componentName);
|
|
42
|
-
if (!component) {
|
|
43
|
-
yield* Effect.fail(new ComponentNotFoundError({ componentName }));
|
|
44
|
-
}
|
|
45
|
-
return component;
|
|
46
|
-
}),
|
|
47
|
-
validateProps: (componentName, props) => genLogger("studiocms/componentRegistry/Registry.validateProps")(function* () {
|
|
48
|
-
const component = components.get(componentName);
|
|
49
|
-
if (!component) {
|
|
50
|
-
yield* Effect.fail(new ComponentNotFoundError({ componentName }));
|
|
51
|
-
}
|
|
52
|
-
const errors = [];
|
|
53
|
-
const providedProps = new Set(Object.keys(props));
|
|
54
|
-
if (component) {
|
|
55
|
-
for (const prop of component.props) {
|
|
56
|
-
if (!prop.optional && !providedProps.has(prop.name)) {
|
|
57
|
-
errors.push(`Required prop "${prop.name}" is missing`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const validPropNames = new Set(component.props.map((p) => p.name));
|
|
61
|
-
for (const propName of providedProps) {
|
|
62
|
-
if (!validPropNames.has(propName)) {
|
|
63
|
-
errors.push(`Unknown prop "${propName}"`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
return { valid: errors.length === 0, errors };
|
|
68
|
-
})
|
|
69
|
-
};
|
|
70
|
-
}).pipe(
|
|
71
|
-
Effect.provide(PropsParser.Default),
|
|
72
|
-
Effect.provide(Path.layer),
|
|
73
|
-
Effect.provide(NodeFileSystem.layer)
|
|
74
|
-
)
|
|
75
|
-
}) {
|
|
76
|
-
}
|
|
77
|
-
export {
|
|
78
|
-
ComponentRegistry
|
|
79
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Converts all hyphens in a given string to underscores.
|
|
3
|
-
*
|
|
4
|
-
* @param str - The input string containing hyphens to be converted.
|
|
5
|
-
* @returns A new string with all hyphens replaced by underscores.
|
|
6
|
-
*/
|
|
7
|
-
export declare function convertHyphensToUnderscores(str: string): string;
|
|
8
|
-
/**
|
|
9
|
-
* Converts all underscores in a given string to hyphens.
|
|
10
|
-
*
|
|
11
|
-
* @param str - The input string containing underscores to be converted.
|
|
12
|
-
* @returns A new string with all underscores replaced by hyphens.
|
|
13
|
-
*/
|
|
14
|
-
export declare function convertUnderscoresToHyphens(str: string): string;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
declare const ComponentRegistryError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
2
|
-
readonly _tag: "ComponentRegistryError";
|
|
3
|
-
} & Readonly<A>;
|
|
4
|
-
/**
|
|
5
|
-
* Error class representing issues related to the component registry.
|
|
6
|
-
*
|
|
7
|
-
* @remarks
|
|
8
|
-
* This error extends a tagged error type with the tag `'ComponentRegistryError'`.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* throw new ComponentRegistryError({ message: "Component not found" });
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* @property message - A descriptive error message.
|
|
16
|
-
* @property cause - (Optional) The underlying cause of the error, if any.
|
|
17
|
-
*/
|
|
18
|
-
export declare class ComponentRegistryError extends ComponentRegistryError_base<{
|
|
19
|
-
readonly message: string;
|
|
20
|
-
readonly cause?: unknown;
|
|
21
|
-
}> {
|
|
22
|
-
}
|
|
23
|
-
declare const FileParseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
24
|
-
readonly _tag: "FileParseError";
|
|
25
|
-
} & Readonly<A>;
|
|
26
|
-
/**
|
|
27
|
-
* Error thrown when a file fails to parse.
|
|
28
|
-
*
|
|
29
|
-
* @remarks
|
|
30
|
-
* This error extends a tagged error type with the tag 'FileParseError'.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```typescript
|
|
34
|
-
* throw new FileParseError({ filePath: '/path/to/file', message: 'Invalid format' });
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @property filePath - The path of the file that failed to parse.
|
|
38
|
-
* @property message - A descriptive error message.
|
|
39
|
-
* @property cause - (Optional) The underlying cause of the error, if available.
|
|
40
|
-
*/
|
|
41
|
-
export declare class FileParseError extends FileParseError_base<{
|
|
42
|
-
readonly filePath: string;
|
|
43
|
-
readonly message: string;
|
|
44
|
-
readonly cause?: unknown;
|
|
45
|
-
}> {
|
|
46
|
-
}
|
|
47
|
-
declare const ComponentNotFoundError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
48
|
-
readonly _tag: "ComponentNotFoundError";
|
|
49
|
-
} & Readonly<A>;
|
|
50
|
-
/**
|
|
51
|
-
* Error thrown when a requested component cannot be found in the registry.
|
|
52
|
-
*
|
|
53
|
-
* @remarks
|
|
54
|
-
* This error extends a tagged error type with the tag 'ComponentNotFoundError'.
|
|
55
|
-
*
|
|
56
|
-
* @example
|
|
57
|
-
* ```typescript
|
|
58
|
-
* throw new ComponentNotFoundError({ componentName: 'MyComponent' });
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* @property componentName - The name of the component that was not found.
|
|
62
|
-
*/
|
|
63
|
-
export declare class ComponentNotFoundError extends ComponentNotFoundError_base<{
|
|
64
|
-
readonly componentName: string;
|
|
65
|
-
}> {
|
|
66
|
-
}
|
|
67
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Data } from "../effect.js";
|
|
2
|
-
class ComponentRegistryError extends Data.TaggedError("ComponentRegistryError") {
|
|
3
|
-
}
|
|
4
|
-
class FileParseError extends Data.TaggedError("FileParseError") {
|
|
5
|
-
}
|
|
6
|
-
class ComponentNotFoundError extends Data.TaggedError("ComponentNotFoundError") {
|
|
7
|
-
}
|
|
8
|
-
export {
|
|
9
|
-
ComponentNotFoundError,
|
|
10
|
-
ComponentRegistryError,
|
|
11
|
-
FileParseError
|
|
12
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Options for the component registry handler.
|
|
3
|
-
*
|
|
4
|
-
* @property verbose - Enables verbose logging when set to true.
|
|
5
|
-
* @property name - The name associated with the registry handler.
|
|
6
|
-
* @property componentRegistry - An optional record mapping component names to their string identifiers.
|
|
7
|
-
*/
|
|
8
|
-
type componentRegistryHandlerOptions = {
|
|
9
|
-
verbose: boolean;
|
|
10
|
-
name: string;
|
|
11
|
-
componentRegistry: Record<string, string> | undefined;
|
|
12
|
-
builtInComponents?: Record<string, string>;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Handles the setup and registration of components in the StudioCMS component registry during the Astro config setup phase.
|
|
16
|
-
*
|
|
17
|
-
* This utility:
|
|
18
|
-
* - Logs the start and progress of the registry setup.
|
|
19
|
-
* - Iterates over the provided component registry, validating and resolving component paths.
|
|
20
|
-
* - Registers valid `.astro` components in the registry.
|
|
21
|
-
* - Extracts and maps component props for all registered components.
|
|
22
|
-
* - Adds virtual imports for component keys, props, and runtime exports.
|
|
23
|
-
*
|
|
24
|
-
* @param params - The Astro integration setup parameters, including logger and config.
|
|
25
|
-
* @param options - Options for the handler, including the component registry, verbosity, and registry name.
|
|
26
|
-
* @returns An asynchronous effect that sets up the component registry and provides virtual imports for use in the project.
|
|
27
|
-
*
|
|
28
|
-
* @remarks
|
|
29
|
-
* - Only components with string values ending in `.astro` are registered.
|
|
30
|
-
* - Component keys are normalized to lowercase and hyphens are converted to underscores for safe usage.
|
|
31
|
-
* - Virtual imports are added for both the registry and its runtime.
|
|
32
|
-
*/
|
|
33
|
-
export declare const componentRegistryHandler: import("astro-integration-kit").HookUtility<"astro:config:setup", [componentRegistryHandlerOptions], Promise<void>>;
|
|
34
|
-
export {};
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { addVirtualImports, createResolver, defineUtility } from "astro-integration-kit";
|
|
2
|
-
import { convertToVanilla, Effect, genLogger } from "../effect.js";
|
|
3
|
-
import { integrationLogger } from "../utils/integrationLogger.js";
|
|
4
|
-
import { convertHyphensToUnderscores } from "./convert-hyphens.js";
|
|
5
|
-
import { ComponentRegistry } from "./Registry.js";
|
|
6
|
-
const componentRegistryHandler = defineUtility("astro:config:setup")(
|
|
7
|
-
async (params, { componentRegistry, builtInComponents, verbose, name }) => await convertToVanilla(
|
|
8
|
-
genLogger("studiocms/componentRegistry/handler")(function* () {
|
|
9
|
-
const logInfo = { logger: params.logger, logLevel: "info", verbose };
|
|
10
|
-
const { resolve } = createResolver(import.meta.url);
|
|
11
|
-
const { resolve: astroConfigResolve } = createResolver(params.config.root.pathname);
|
|
12
|
-
integrationLogger(logInfo, "Setting up component registry...");
|
|
13
|
-
const registry = yield* ComponentRegistry;
|
|
14
|
-
const componentKeys = [];
|
|
15
|
-
const components = [];
|
|
16
|
-
const componentRegistryToCheck = {
|
|
17
|
-
...builtInComponents,
|
|
18
|
-
...componentRegistry
|
|
19
|
-
};
|
|
20
|
-
const componentRegistryEntries = Object.entries(componentRegistryToCheck);
|
|
21
|
-
if (Object.keys(componentRegistryToCheck).length === 0) {
|
|
22
|
-
integrationLogger(logInfo, "No components found in the registry, skipping...");
|
|
23
|
-
} else {
|
|
24
|
-
integrationLogger(
|
|
25
|
-
logInfo,
|
|
26
|
-
`Checking ${Object.keys(componentRegistryToCheck).length} components...`
|
|
27
|
-
);
|
|
28
|
-
integrationLogger(logInfo, "Iterating over component registry entries...");
|
|
29
|
-
for (const [key, value] of componentRegistryEntries) {
|
|
30
|
-
integrationLogger(logInfo, `Component "${key}" resolved to "${value}"`);
|
|
31
|
-
if (!value) {
|
|
32
|
-
integrationLogger(logInfo, `Component "${key}" is not defined, skipping...`);
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
if (typeof value !== "string") {
|
|
36
|
-
integrationLogger(logInfo, `Component "${key}" is not a string, skipping...`);
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
if (!value.endsWith(".astro")) {
|
|
40
|
-
integrationLogger(
|
|
41
|
-
logInfo,
|
|
42
|
-
`Component "${key}" does not end with .astro, skipping...`
|
|
43
|
-
);
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
integrationLogger(logInfo, `Resolving path for component "${key}"...`);
|
|
47
|
-
let resolvedPath;
|
|
48
|
-
try {
|
|
49
|
-
resolvedPath = astroConfigResolve(value);
|
|
50
|
-
} catch (error) {
|
|
51
|
-
integrationLogger(logInfo, `Failed to resolve path for component "${key}": ${error}`);
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
integrationLogger(logInfo, `Component "${key}" resolved path: "${resolvedPath}"`);
|
|
55
|
-
if (!resolvedPath) {
|
|
56
|
-
integrationLogger(logInfo, `Component "${key}" resolved path is empty, skipping...`);
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
integrationLogger(logInfo, `Component "${key}" is valid and will be included.`);
|
|
60
|
-
const keyName = key.toLowerCase();
|
|
61
|
-
const safeKeyName = convertHyphensToUnderscores(keyName);
|
|
62
|
-
componentKeys.push(safeKeyName);
|
|
63
|
-
components.push(`export { default as ${safeKeyName} } from '${resolvedPath}';`);
|
|
64
|
-
yield* registry.registerComponentFromFile(resolvedPath, keyName);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
integrationLogger(logInfo, `Total components found: ${componentKeys.length}`);
|
|
68
|
-
integrationLogger(logInfo, "Extracting component props...");
|
|
69
|
-
const componentPropsMap = yield* registry.getAllComponents();
|
|
70
|
-
const componentPropsEntries = Array.from(componentPropsMap.entries());
|
|
71
|
-
const componentProps = componentPropsEntries.map(
|
|
72
|
-
([iName, data]) => ({
|
|
73
|
-
...data,
|
|
74
|
-
name: iName,
|
|
75
|
-
safeName: convertHyphensToUnderscores(iName)
|
|
76
|
-
})
|
|
77
|
-
);
|
|
78
|
-
integrationLogger(logInfo, `Total component props extracted: ${componentProps.length}`);
|
|
79
|
-
integrationLogger(logInfo, "Component registry setup complete.");
|
|
80
|
-
if (verbose && componentProps.length <= 10) {
|
|
81
|
-
integrationLogger(
|
|
82
|
-
logInfo,
|
|
83
|
-
`Registered components:
|
|
84
|
-
${JSON.stringify(componentProps, null, 2)}`
|
|
85
|
-
);
|
|
86
|
-
} else {
|
|
87
|
-
integrationLogger(
|
|
88
|
-
logInfo,
|
|
89
|
-
`Registered ${componentProps.length} components. Use verbose mode with fewer components to see details.`
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
addVirtualImports(params, {
|
|
93
|
-
name,
|
|
94
|
-
imports: {
|
|
95
|
-
"studiocms:component-registry": `
|
|
96
|
-
export const componentKeys = ${JSON.stringify(componentKeys || [])};
|
|
97
|
-
export const componentProps = ${JSON.stringify(componentProps || [])};
|
|
98
|
-
${components ? components.join("\n") : ""}
|
|
99
|
-
`,
|
|
100
|
-
"studiocms:component-registry/runtime": `
|
|
101
|
-
export * from '${resolve("./runtime.js")}';
|
|
102
|
-
`
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}).pipe(Effect.provide(ComponentRegistry.Default))
|
|
106
|
-
)
|
|
107
|
-
);
|
|
108
|
-
export {
|
|
109
|
-
componentRegistryHandler
|
|
110
|
-
};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { componentProps } from 'studiocms:component-registry';
|
|
2
|
-
import type { SSRResult } from 'astro';
|
|
3
|
-
import type { SanitizeOptions } from 'ultrahtml/transformers/sanitize';
|
|
4
|
-
import type { ComponentRegistryEntry } from './types.js';
|
|
5
|
-
export * from './convert-hyphens.js';
|
|
6
|
-
export { componentProps };
|
|
7
|
-
export type { ComponentRegistryEntry } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Returns the component registry entries.
|
|
10
|
-
*
|
|
11
|
-
* @returns {ComponentRegistryEntry[]} An object mapping safe component names to their registry entries.
|
|
12
|
-
*/
|
|
13
|
-
export declare function getRegistryComponents(): ComponentRegistryEntry[];
|
|
14
|
-
/**
|
|
15
|
-
* @returns A promise that resolves to an object containing the imported components.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getRendererComponents(): Promise<Record<string, any>>;
|
|
18
|
-
/**
|
|
19
|
-
* Imports components by their keys from the 'studiocms:markdown-remark/user-components' module.
|
|
20
|
-
*
|
|
21
|
-
* @param keys - An array of strings representing the keys of the components to import.
|
|
22
|
-
* @returns A promise that resolves to an object containing the imported components.
|
|
23
|
-
* @throws {MarkdownRemarkError} If any component fails to import, an error is thrown with a prefixed message.
|
|
24
|
-
* @deprecated This function is deprecated and will be removed in future versions.
|
|
25
|
-
* Use `getRendererComponents` instead for importing components from the component registry.
|
|
26
|
-
*/
|
|
27
|
-
export declare function importComponentsKeys(): Promise<Record<string, any>>;
|
|
28
|
-
/**
|
|
29
|
-
* Sets up a component proxy for the renderer.
|
|
30
|
-
*
|
|
31
|
-
* @param result - The SSRResult object from Astro.
|
|
32
|
-
* @returns A promise that resolves to a component proxy containing the components.
|
|
33
|
-
* @throws {StudioCMSRendererError} If there is an error during setup, it will be prefixed and logged.
|
|
34
|
-
*/
|
|
35
|
-
export declare function setupRendererComponentProxy(result: SSRResult): Promise<{
|
|
36
|
-
[x: string]: any;
|
|
37
|
-
}>;
|
|
38
|
-
/**
|
|
39
|
-
* Creates a renderer function that transforms HTML content using the provided components and sanitization options.
|
|
40
|
-
*
|
|
41
|
-
* @param result - The SSRResult object from Astro.
|
|
42
|
-
* @param sanitizeOpts - Optional sanitization options for the HTML content.
|
|
43
|
-
* @param preRenderer - An optional function to preprocess the HTML content before rendering.
|
|
44
|
-
* @returns A function that takes HTML content as input and returns the transformed HTML.
|
|
45
|
-
*/
|
|
46
|
-
export declare function createRenderer(result: SSRResult, sanitizeOpts?: SanitizeOptions, preRenderer?: (content: string) => Promise<string>): Promise<(content: string) => Promise<string>>;
|