@nextsparkjs/core 0.1.0-beta.190 → 0.1.0-beta.192
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/README.md +1 -1
- package/dist/components/app/layouts/CurrentYear.d.ts +10 -0
- package/dist/components/app/layouts/CurrentYear.d.ts.map +1 -0
- package/dist/components/app/layouts/CurrentYear.js +8 -0
- package/dist/components/app/layouts/PublicFooter.d.ts.map +1 -1
- package/dist/components/app/layouts/PublicFooter.js +3 -3
- package/dist/components/app/layouts/PublicNavbar.js +1 -1
- package/dist/components/auth/DevKeyring.js +1 -1
- package/dist/components/auth/forms/LoginForm.d.ts.map +1 -1
- package/dist/components/auth/forms/LoginForm.js +47 -12
- package/dist/components/auth/forms/SignupForm.d.ts.map +1 -1
- package/dist/components/auth/forms/SignupForm.js +57 -5
- package/dist/components/dashboard/block-editor/block-picker.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/block-picker.js +2 -1
- package/dist/components/dashboard/block-editor/dynamic-form.d.ts.map +1 -1
- package/dist/components/dashboard/block-editor/dynamic-form.js +2 -2
- package/dist/components/dashboard/block-editor/pattern-card.js +2 -2
- package/dist/components/dashboard/block-editor/pattern-reference-preview.js +2 -2
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts +5 -0
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.d.ts.map +1 -0
- package/dist/components/dashboard/layouts/AuthenticatedDashboardLayout.js +37 -0
- package/dist/components/dashboard/layouts/Sidebar.js +1 -1
- package/dist/components/dashboard/layouts/TopNavbar.js +2 -2
- package/dist/components/dashboard/mobile/MobileBottomNav.js +1 -1
- package/dist/components/dashboard/mobile/MobileMoreSheet.js +1 -1
- package/dist/components/dashboard/mobile/MobileTopBar.js +8 -7
- package/dist/components/dashboard/mobile/QuickCreateSheet.js +5 -5
- package/dist/components/dashboard/navigation/DynamicNavigation.d.ts.map +1 -1
- package/dist/components/dashboard/navigation/DynamicNavigation.js +6 -9
- package/dist/components/devtools/BlockDetailViewer.js +2 -2
- package/dist/components/devtools/BlocksViewer.js +1 -1
- package/dist/components/docs/docs-sidebar.d.ts.map +1 -1
- package/dist/components/docs/docs-sidebar.js +2 -5
- package/dist/components/entities/EntityChildManager.js +8 -8
- package/dist/components/entities/EntityDetail.js +8 -8
- package/dist/components/entities/ErrorBoundary.js +2 -2
- package/dist/components/entities/wrappers/EntityDetailWrapper.js +22 -22
- package/dist/components/entities/wrappers/EntityFormWrapper.d.ts +1 -1
- package/dist/components/entities/wrappers/EntityFormWrapper.js +3 -3
- package/dist/components/entities/wrappers/EntityListWrapper.js +2 -2
- package/dist/components/settings/layouts/SettingsSidebar.js +2 -2
- package/dist/components/teams/InviteMemberDialog.js +1 -1
- package/dist/components/teams/TeamMembersList.js +1 -1
- package/dist/components/ui/accordion.js +1 -1
- package/dist/components/ui/avatar.js +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +22 -30
- package/dist/components/ui/card.js +1 -1
- package/dist/components/ui/checkbox.js +1 -1
- package/dist/components/ui/command.d.ts +7 -7
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/progress.js +1 -1
- package/dist/components/ui/relation-display.js +1 -1
- package/dist/components/ui/separator.js +1 -1
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/components/ui/simple-relation-select.js +1 -1
- package/dist/components/ui/skeleton.js +1 -1
- package/dist/components/ui/slider.js +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/tabs.js +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/contexts/TeamContext.js +1 -1
- package/dist/emails/otp-verification.d.ts +1 -1
- package/dist/emails/otp-verification.d.ts.map +1 -1
- package/dist/emails/otp-verification.js +1 -1
- package/dist/emails/reset-password.d.ts +1 -1
- package/dist/emails/reset-password.d.ts.map +1 -1
- package/dist/emails/reset-password.js +1 -1
- package/dist/emails/team-invitation.d.ts +1 -1
- package/dist/emails/team-invitation.d.ts.map +1 -1
- package/dist/emails/team-invitation.js +1 -1
- package/dist/emails/verify-email.d.ts +2 -2
- package/dist/emails/verify-email.d.ts.map +1 -1
- package/dist/emails/verify-email.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useAccountPreferencesSync.d.ts.map +1 -1
- package/dist/hooks/useAccountPreferencesSync.js +1 -1
- package/dist/hooks/useAuth.d.ts.map +1 -1
- package/dist/hooks/useAuth.js +1 -1
- package/dist/hooks/useAuthReadiness.d.ts +15 -0
- package/dist/hooks/useAuthReadiness.d.ts.map +1 -0
- package/dist/hooks/useAuthReadiness.js +62 -0
- package/dist/hooks/useContentTranslation.d.ts +7 -7
- package/dist/hooks/useContextAwareTranslations.js +10 -10
- package/dist/hooks/useEnabledEntities.js +2 -2
- package/dist/hooks/useEnsureUserMetadata.js +1 -1
- package/dist/hooks/useEntityConfig.js +4 -4
- package/dist/hooks/useEntityTranslations.d.ts.map +1 -1
- package/dist/hooks/useEntityTranslations.js +6 -2
- package/dist/hooks/useLocale.d.ts +3 -1
- package/dist/hooks/useLocale.d.ts.map +1 -1
- package/dist/hooks/useLocale.js +1 -1
- package/dist/hooks/useSubscription.d.ts +1 -1
- package/dist/hooks/useSubscription.d.ts.map +1 -1
- package/dist/hooks/useTeamsConfig.js +1 -1
- package/dist/hooks/useTranslationPreload.js +5 -5
- package/dist/i18n.d.ts +1 -14
- package/dist/i18n.d.ts.map +1 -1
- package/dist/i18n.js +13 -54
- package/dist/lib/actions/entity.actions.js +8 -8
- package/dist/lib/actions/team.actions.js +7 -7
- package/dist/lib/api/auth/devtools-auth.d.ts +2 -2
- package/dist/lib/api/auth/devtools-auth.d.ts.map +1 -1
- package/dist/lib/api/auth/devtools-auth.js +3 -3
- package/dist/lib/api/entities.js +5 -5
- package/dist/lib/api/entity/audit-log.d.ts.map +1 -1
- package/dist/lib/api/entity/audit-log.js +12 -3
- package/dist/lib/api/entity/generic-handler.d.ts.map +1 -1
- package/dist/lib/api/entity/generic-handler.js +29 -43
- package/dist/lib/api/entity/resolver.d.ts +1 -3
- package/dist/lib/api/entity/resolver.d.ts.map +1 -1
- package/dist/lib/api/entity/resolver.js +0 -25
- package/dist/lib/api/helpers.d.ts +2 -2
- package/dist/lib/api/helpers.d.ts.map +1 -1
- package/dist/lib/api/helpers.js +1 -4
- package/dist/lib/api/keys.js +1 -1
- package/dist/lib/api/permission-middleware.js +1 -1
- package/dist/lib/api/rate-limit.d.ts.map +1 -1
- package/dist/lib/api/rate-limit.js +2 -0
- package/dist/lib/auth/readiness.d.ts +92 -0
- package/dist/lib/auth/readiness.d.ts.map +1 -0
- package/dist/lib/auth/readiness.js +192 -0
- package/dist/lib/auth/registration-guard-plugin.d.ts.map +1 -1
- package/dist/lib/auth/registration-guard-plugin.js +2 -2
- package/dist/lib/auth/request-session.d.ts +15 -0
- package/dist/lib/auth/request-session.d.ts.map +1 -0
- package/dist/lib/auth/request-session.js +22 -0
- package/dist/lib/auth/runtime-readiness.d.ts +49 -0
- package/dist/lib/auth/runtime-readiness.d.ts.map +1 -0
- package/dist/lib/auth/runtime-readiness.js +183 -0
- package/dist/lib/auth-client.d.ts +2 -2
- package/dist/lib/auth-email-callbacks.d.ts +3 -1
- package/dist/lib/auth-email-callbacks.d.ts.map +1 -1
- package/dist/lib/auth-email-callbacks.js +8 -2
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +20 -15
- package/dist/lib/billing/gateways/factory.d.ts +1 -1
- package/dist/lib/billing/gateways/stripe.js +1 -1
- package/dist/lib/billing/schema.d.ts +5 -5
- package/dist/lib/config/app.config.d.ts.map +1 -1
- package/dist/lib/config/app.config.js +3 -52
- package/dist/lib/config/config-client.d.ts +554 -0
- package/dist/lib/config/config-client.d.ts.map +1 -0
- package/dist/lib/config/config-client.js +68 -0
- package/dist/lib/config/config-sync.d.ts.map +1 -1
- package/dist/lib/config/config-sync.js +4 -28
- package/dist/lib/config/i18n-config-client.d.ts +9 -0
- package/dist/lib/config/i18n-config-client.d.ts.map +1 -0
- package/dist/lib/config/i18n-config-client.js +7 -0
- package/dist/lib/config/i18n.defaults.d.ts +7 -0
- package/dist/lib/config/i18n.defaults.d.ts.map +1 -0
- package/dist/lib/config/i18n.defaults.js +54 -0
- package/dist/lib/config/index.d.ts +2 -2
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/config/index.js +3 -2
- package/dist/lib/config/nextspark-types.d.ts +49 -20
- package/dist/lib/config/nextspark-types.d.ts.map +1 -1
- package/dist/lib/config/nextspark-types.js +174 -1
- package/dist/lib/config/public-config-client.d.ts +22 -0
- package/dist/lib/config/public-config-client.d.ts.map +1 -0
- package/dist/lib/config/public-config-client.js +25 -0
- package/dist/lib/config/types.d.ts +1 -1
- package/dist/lib/db.d.ts +1 -0
- package/dist/lib/db.d.ts.map +1 -1
- package/dist/lib/db.js +19 -9
- package/dist/lib/email/templates.d.ts +1 -1
- package/dist/lib/entities/client-config.d.ts +10 -0
- package/dist/lib/entities/client-config.d.ts.map +1 -0
- package/dist/lib/entities/client-config.js +44 -0
- package/dist/lib/entities/client-entity-meta.d.ts +41 -0
- package/dist/lib/entities/client-entity-meta.d.ts.map +1 -0
- package/dist/lib/entities/client-entity-meta.js +30 -0
- package/dist/lib/entities/hooks.js +1 -1
- package/dist/lib/entities/portable/media-ref.d.ts +21 -0
- package/dist/lib/entities/portable/media-ref.d.ts.map +1 -0
- package/dist/lib/entities/portable/media-ref.js +13 -0
- package/dist/lib/entities/portable/response-shape.d.ts +57 -0
- package/dist/lib/entities/portable/response-shape.d.ts.map +1 -0
- package/dist/lib/entities/portable/response-shape.js +50 -0
- package/dist/lib/entities/portable/schema-generator.d.ts +48 -0
- package/dist/lib/entities/portable/schema-generator.d.ts.map +1 -0
- package/dist/lib/entities/portable/schema-generator.js +758 -0
- package/dist/lib/entities/portable/system-fields.d.ts +10 -0
- package/dist/lib/entities/portable/system-fields.d.ts.map +1 -0
- package/dist/lib/entities/portable/system-fields.js +4 -0
- package/dist/lib/entities/portable/types.d.ts +81 -0
- package/dist/lib/entities/portable/types.d.ts.map +1 -0
- package/dist/lib/entities/queries.d.ts +2 -2
- package/dist/lib/entities/queries.d.ts.map +1 -1
- package/dist/lib/entities/queries.js +2 -2
- package/dist/lib/entities/registry.client.js +2 -2
- package/dist/lib/entities/registry.d.ts +1 -1
- package/dist/lib/entities/registry.js +2 -2
- package/dist/lib/entities/schema-generator.d.ts +6 -19
- package/dist/lib/entities/schema-generator.d.ts.map +1 -1
- package/dist/lib/entities/schema-generator.js +1 -764
- package/dist/lib/entities/system-fields.d.ts +3 -5
- package/dist/lib/entities/system-fields.d.ts.map +1 -1
- package/dist/lib/entities/system-fields.js +1 -1
- package/dist/lib/entities/types.d.ts +1 -1
- package/dist/lib/entities/types.d.ts.map +1 -1
- package/dist/lib/i18n/client-messages.d.ts +49 -0
- package/dist/lib/i18n/client-messages.d.ts.map +1 -0
- package/dist/lib/i18n/client-messages.js +80 -0
- package/dist/lib/locale-client.d.ts +1 -2
- package/dist/lib/locale-client.d.ts.map +1 -1
- package/dist/lib/locale-client.js +1 -1
- package/dist/lib/media/schemas.d.ts +1 -1
- package/dist/lib/middleware/index.d.ts +6 -19
- package/dist/lib/middleware/index.d.ts.map +1 -1
- package/dist/lib/middleware/index.js +11 -14
- package/dist/lib/plugins/env-loader.d.ts +1 -1
- package/dist/lib/plugins/env-loader.js +1 -1
- package/dist/lib/plugins/nav-items.d.ts +3 -0
- package/dist/lib/plugins/nav-items.d.ts.map +1 -0
- package/dist/lib/plugins/nav-items.js +16 -0
- package/dist/lib/scheduled-actions/initializer.d.ts +7 -7
- package/dist/lib/scheduled-actions/initializer.d.ts.map +1 -1
- package/dist/lib/scheduled-actions/initializer.js +6 -12
- package/dist/lib/selectors/auth-sel.d.ts +8 -0
- package/dist/lib/selectors/auth-sel.d.ts.map +1 -0
- package/dist/lib/selectors/auth-sel.js +6 -0
- package/dist/lib/selectors/core-selectors.d.ts +12 -0
- package/dist/lib/selectors/core-selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/auth.selectors.d.ts +12 -0
- package/dist/lib/selectors/domains/auth.selectors.d.ts.map +1 -1
- package/dist/lib/selectors/domains/auth.selectors.js +18 -3
- package/dist/lib/selectors/selectors.d.ts +24 -0
- package/dist/lib/selectors/selectors.d.ts.map +1 -1
- package/dist/lib/services/index.d.ts +1 -5
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +1 -14
- package/dist/lib/services/plugin.service.d.ts +20 -3
- package/dist/lib/services/plugin.service.d.ts.map +1 -1
- package/dist/lib/services/plugin.service.js +31 -5
- package/dist/lib/services/theme.service.d.ts +8 -87
- package/dist/lib/services/theme.service.d.ts.map +1 -1
- package/dist/lib/services/theme.service.js +16 -128
- package/dist/lib/teams/dashboard-team.d.ts +1 -3
- package/dist/lib/teams/dashboard-team.d.ts.map +1 -1
- package/dist/lib/teams/dashboard-team.js +2 -4
- package/dist/lib/teams/schema.d.ts +1 -1
- package/dist/lib/theme/ThemeProvider.d.ts +2 -5
- package/dist/lib/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/lib/theme/ThemeProvider.js +21 -66
- package/dist/lib/theme/forced-theme.d.ts +1 -1
- package/dist/lib/theme/get-default-theme-mode.d.ts.map +1 -1
- package/dist/lib/theme/get-default-theme-mode.js +2 -3
- package/dist/lib/theme/import-resolver.js +2 -2
- package/dist/lib/theme/override-resolver.js +9 -9
- package/dist/lib/theme/theme-styles.d.ts +12 -0
- package/dist/lib/theme/theme-styles.d.ts.map +1 -0
- package/dist/lib/theme/theme-styles.js +58 -0
- package/dist/lib/theme/types.d.ts +0 -2
- package/dist/lib/theme/types.d.ts.map +1 -1
- package/dist/lib/translations/i18n-integration.d.ts.map +1 -1
- package/dist/lib/translations/i18n-integration.js +11 -11
- package/dist/lib/translations/registry.d.ts +1 -1
- package/dist/lib/translations/registry.d.ts.map +1 -1
- package/dist/lib/translations/registry.js +10 -10
- package/dist/lib/utils/environment.server.d.ts +0 -1
- package/dist/lib/utils/environment.server.d.ts.map +1 -1
- package/dist/lib/utils/environment.server.js +5 -1
- package/dist/lib/utils/uuid.d.ts +2 -0
- package/dist/lib/utils/uuid.d.ts.map +1 -0
- package/dist/lib/utils/uuid.js +7 -0
- package/dist/lib/validation/invoices.d.ts +2 -2
- package/dist/messages/de/auth.json +11 -1
- package/dist/messages/de/index.d.ts +10 -0
- package/dist/messages/de/index.d.ts.map +1 -1
- package/dist/messages/en/auth.json +11 -1
- package/dist/messages/en/devtools.json +1 -1
- package/dist/messages/en/index.d.ts +10 -0
- package/dist/messages/en/index.d.ts.map +1 -1
- package/dist/messages/es/auth.json +11 -1
- package/dist/messages/es/index.d.ts +10 -0
- package/dist/messages/es/index.d.ts.map +1 -1
- package/dist/messages/fr/auth.json +11 -1
- package/dist/messages/fr/index.d.ts +10 -0
- package/dist/messages/fr/index.d.ts.map +1 -1
- package/dist/messages/it/auth.json +11 -1
- package/dist/messages/it/index.d.ts +10 -0
- package/dist/messages/it/index.d.ts.map +1 -1
- package/dist/messages/pt/auth.json +11 -1
- package/dist/messages/pt/index.d.ts +10 -0
- package/dist/messages/pt/index.d.ts.map +1 -1
- package/dist/migrations/028_api_audit_log_insert_policy.sql +18 -0
- package/dist/migrations/090_sample_data.sql +2 -2
- package/dist/migrations/README.md +7 -7
- package/dist/nextspark-registries.d.ts +83 -44
- package/dist/providers/PluginProvider.js +2 -2
- package/dist/providers/static-intl-provider.d.ts +6 -0
- package/dist/providers/static-intl-provider.d.ts.map +1 -1
- package/dist/providers/static-intl-provider.js +7 -2
- package/dist/providers/theme-provider.d.ts.map +1 -1
- package/dist/providers/theme-provider.js +7 -1
- package/dist/routes/(auth)/accept-invite/[token]/page.d.ts +3 -0
- package/dist/routes/(auth)/accept-invite/[token]/page.d.ts.map +1 -0
- package/dist/routes/(auth)/accept-invite/[token]/page.js +240 -0
- package/dist/routes/(auth)/auth-error/page.d.ts +5 -0
- package/dist/routes/(auth)/auth-error/page.d.ts.map +1 -0
- package/dist/routes/(auth)/auth-error/page.js +12 -0
- package/dist/routes/(auth)/forgot-password/page.d.ts +3 -0
- package/dist/routes/(auth)/forgot-password/page.d.ts.map +1 -0
- package/dist/routes/(auth)/forgot-password/page.js +203 -0
- package/dist/routes/(auth)/layout.cc.d.ts +7 -0
- package/dist/routes/(auth)/layout.cc.d.ts.map +1 -0
- package/dist/routes/(auth)/layout.cc.js +5 -0
- package/dist/routes/(auth)/layout.d.ts +7 -0
- package/dist/routes/(auth)/layout.d.ts.map +1 -0
- package/dist/routes/(auth)/layout.js +4 -0
- package/dist/routes/(auth)/login/page.cc.d.ts +9 -0
- package/dist/routes/(auth)/login/page.cc.d.ts.map +1 -0
- package/dist/routes/(auth)/login/page.cc.js +1 -0
- package/dist/routes/(auth)/login/page.d.ts +6 -0
- package/dist/routes/(auth)/login/page.d.ts.map +1 -0
- package/dist/routes/(auth)/login/page.js +12 -0
- package/dist/routes/(auth)/reset-password/page.d.ts +3 -0
- package/dist/routes/(auth)/reset-password/page.d.ts.map +1 -0
- package/dist/routes/(auth)/reset-password/page.js +153 -0
- package/dist/routes/(auth)/signup/page.cc.d.ts +9 -0
- package/dist/routes/(auth)/signup/page.cc.d.ts.map +1 -0
- package/dist/routes/(auth)/signup/page.cc.js +1 -0
- package/dist/routes/(auth)/signup/page.d.ts +6 -0
- package/dist/routes/(auth)/signup/page.d.ts.map +1 -0
- package/dist/routes/(auth)/signup/page.js +34 -0
- package/dist/routes/(auth)/verify-email/page.d.ts +3 -0
- package/dist/routes/(auth)/verify-email/page.d.ts.map +1 -0
- package/dist/routes/(auth)/verify-email/page.js +138 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.cc.d.ts +12 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.cc.d.ts.map +1 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.cc.js +64 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.d.ts +13 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.d.ts.map +1 -0
- package/dist/routes/(public)/docs/[section]/[page]/page.js +64 -0
- package/dist/routes/(public)/docs/layout.d.ts +4 -0
- package/dist/routes/(public)/docs/layout.d.ts.map +1 -0
- package/dist/routes/(public)/docs/layout.js +15 -0
- package/dist/routes/(public)/docs/page.d.ts +4 -0
- package/dist/routes/(public)/docs/page.d.ts.map +1 -0
- package/dist/routes/(public)/docs/page.js +53 -0
- package/dist/routes/(public)/layout.cc.d.ts +7 -0
- package/dist/routes/(public)/layout.cc.d.ts.map +1 -0
- package/dist/routes/(public)/layout.cc.js +5 -0
- package/dist/routes/(public)/layout.d.ts +7 -0
- package/dist/routes/(public)/layout.d.ts.map +1 -0
- package/dist/routes/(public)/layout.js +4 -0
- package/dist/routes/(public)/page.d.ts +12 -0
- package/dist/routes/(public)/page.d.ts.map +1 -0
- package/dist/routes/(public)/page.js +5 -0
- package/dist/routes/403/page.d.ts +3 -0
- package/dist/routes/403/page.d.ts.map +1 -0
- package/dist/routes/403/page.js +51 -0
- package/dist/routes/_internal/area-access.d.ts +61 -0
- package/dist/routes/_internal/area-access.d.ts.map +1 -0
- package/dist/routes/_internal/area-access.js +84 -0
- package/dist/routes/_internal/auth-layout.cc.d.ts +8 -0
- package/dist/routes/_internal/auth-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/auth-layout.cc.js +2 -0
- package/dist/routes/_internal/auth-layout.d.ts +19 -0
- package/dist/routes/_internal/auth-layout.d.ts.map +1 -0
- package/dist/routes/_internal/auth-layout.js +22 -0
- package/dist/routes/_internal/billing-webhooks.d.ts +19 -0
- package/dist/routes/_internal/billing-webhooks.d.ts.map +1 -0
- package/dist/routes/_internal/billing-webhooks.js +14 -0
- package/dist/routes/_internal/default-auth-layout.d.ts +8 -0
- package/dist/routes/_internal/default-auth-layout.d.ts.map +1 -0
- package/dist/routes/_internal/default-auth-layout.js +15 -0
- package/dist/routes/_internal/default-public-layout.d.ts +8 -0
- package/dist/routes/_internal/default-public-layout.d.ts.map +1 -0
- package/dist/routes/_internal/default-public-layout.js +13 -0
- package/dist/routes/_internal/devtools-layout.cc.d.ts +19 -0
- package/dist/routes/_internal/devtools-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/devtools-layout.cc.js +5 -0
- package/dist/routes/_internal/devtools-layout.d.ts +36 -0
- package/dist/routes/_internal/devtools-layout.d.ts.map +1 -0
- package/dist/routes/_internal/devtools-layout.js +41 -0
- package/dist/routes/_internal/entity-create-route.d.ts +18 -0
- package/dist/routes/_internal/entity-create-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-create-route.js +11 -0
- package/dist/routes/_internal/entity-create-view.d.ts +8 -0
- package/dist/routes/_internal/entity-create-view.d.ts.map +1 -0
- package/dist/routes/_internal/entity-create-view.js +72 -0
- package/dist/routes/_internal/entity-dashboard.d.ts +9 -0
- package/dist/routes/_internal/entity-dashboard.d.ts.map +1 -0
- package/dist/routes/_internal/entity-dashboard.js +8 -0
- package/dist/routes/_internal/entity-detail-metadata.d.ts +7 -0
- package/dist/routes/_internal/entity-detail-metadata.d.ts.map +1 -0
- package/dist/routes/_internal/entity-detail-metadata.js +4 -0
- package/dist/routes/_internal/entity-detail-route.d.ts +24 -0
- package/dist/routes/_internal/entity-detail-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-detail-route.js +14 -0
- package/dist/routes/_internal/entity-edit-route.d.ts +23 -0
- package/dist/routes/_internal/entity-edit-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-edit-route.js +12 -0
- package/dist/routes/_internal/entity-edit-view.d.ts +9 -0
- package/dist/routes/_internal/entity-edit-view.d.ts.map +1 -0
- package/dist/routes/_internal/entity-edit-view.js +88 -0
- package/dist/routes/_internal/entity-error.d.ts +7 -0
- package/dist/routes/_internal/entity-error.d.ts.map +1 -0
- package/dist/routes/_internal/entity-error.js +41 -0
- package/dist/routes/_internal/entity-layout-route.d.ts +13 -0
- package/dist/routes/_internal/entity-layout-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-layout-route.js +7 -0
- package/dist/routes/_internal/entity-list-metadata.d.ts +7 -0
- package/dist/routes/_internal/entity-list-metadata.d.ts.map +1 -0
- package/dist/routes/_internal/entity-list-metadata.js +4 -0
- package/dist/routes/_internal/entity-list-route.d.ts +31 -0
- package/dist/routes/_internal/entity-list-route.d.ts.map +1 -0
- package/dist/routes/_internal/entity-list-route.js +11 -0
- package/dist/routes/_internal/entity-loading.d.ts +3 -0
- package/dist/routes/_internal/entity-loading.d.ts.map +1 -0
- package/dist/routes/_internal/entity-loading.js +48 -0
- package/dist/routes/_internal/entity-permission-layout.d.ts +10 -0
- package/dist/routes/_internal/entity-permission-layout.d.ts.map +1 -0
- package/dist/routes/_internal/entity-permission-layout.js +50 -0
- package/dist/routes/_internal/group-layouts.cc.d.ts +35 -0
- package/dist/routes/_internal/group-layouts.cc.d.ts.map +1 -0
- package/dist/routes/_internal/group-layouts.cc.js +37 -0
- package/dist/routes/_internal/polar-webhook.d.ts +27 -0
- package/dist/routes/_internal/polar-webhook.d.ts.map +1 -0
- package/dist/routes/_internal/polar-webhook.js +321 -0
- package/dist/routes/_internal/public-archive-route.d.ts +20 -0
- package/dist/routes/_internal/public-archive-route.d.ts.map +1 -0
- package/dist/routes/_internal/public-archive-route.js +29 -0
- package/dist/routes/_internal/public-entity-shared.d.ts +61 -0
- package/dist/routes/_internal/public-entity-shared.d.ts.map +1 -0
- package/dist/routes/_internal/public-entity-shared.js +57 -0
- package/dist/routes/_internal/public-item-route.cc.d.ts +5 -0
- package/dist/routes/_internal/public-item-route.cc.d.ts.map +1 -0
- package/dist/routes/_internal/public-item-route.cc.js +32 -0
- package/dist/routes/_internal/public-item-route.d.ts +49 -0
- package/dist/routes/_internal/public-item-route.d.ts.map +1 -0
- package/dist/routes/_internal/public-item-route.js +60 -0
- package/dist/routes/_internal/public-layout.cc.d.ts +8 -0
- package/dist/routes/_internal/public-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/public-layout.cc.js +2 -0
- package/dist/routes/_internal/public-layout.d.ts +19 -0
- package/dist/routes/_internal/public-layout.d.ts.map +1 -0
- package/dist/routes/_internal/public-layout.js +18 -0
- package/dist/routes/_internal/root-layout.d.ts +13 -0
- package/dist/routes/_internal/root-layout.d.ts.map +1 -0
- package/dist/routes/_internal/root-layout.js +7 -0
- package/dist/routes/_internal/root-layout.ppr.d.ts +11 -0
- package/dist/routes/_internal/root-layout.ppr.d.ts.map +1 -0
- package/dist/routes/_internal/root-layout.ppr.js +7 -0
- package/dist/routes/_internal/superadmin-layout.cc.d.ts +19 -0
- package/dist/routes/_internal/superadmin-layout.cc.d.ts.map +1 -0
- package/dist/routes/_internal/superadmin-layout.cc.js +5 -0
- package/dist/routes/_internal/superadmin-layout.d.ts +35 -0
- package/dist/routes/_internal/superadmin-layout.d.ts.map +1 -0
- package/dist/routes/_internal/superadmin-layout.js +53 -0
- package/dist/routes/api/auth/[...all]/route.d.ts +9 -0
- package/dist/routes/api/auth/[...all]/route.d.ts.map +1 -0
- package/dist/routes/api/auth/[...all]/route.js +124 -0
- package/dist/routes/api/cron/billing/lifecycle/route.d.ts +22 -0
- package/dist/routes/api/cron/billing/lifecycle/route.d.ts.map +1 -0
- package/dist/routes/api/cron/billing/lifecycle/route.js +60 -0
- package/dist/routes/api/csp-report/route.d.ts +4 -0
- package/dist/routes/api/csp-report/route.d.ts.map +1 -0
- package/dist/routes/api/csp-report/route.js +111 -0
- package/dist/routes/api/devtools/config/entities/route.d.ts +9 -0
- package/dist/routes/api/devtools/config/entities/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/config/entities/route.js +63 -0
- package/dist/routes/api/devtools/config/theme/route.d.ts +9 -0
- package/dist/routes/api/devtools/config/theme/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/config/theme/route.js +48 -0
- package/dist/routes/api/devtools/tests/[...path]/route.d.ts +15 -0
- package/dist/routes/api/devtools/tests/[...path]/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/tests/[...path]/route.js +93 -0
- package/dist/routes/api/devtools/tests/route.d.ts +9 -0
- package/dist/routes/api/devtools/tests/route.d.ts.map +1 -0
- package/dist/routes/api/devtools/tests/route.js +89 -0
- package/dist/routes/api/health/route.d.ts +3 -0
- package/dist/routes/api/health/route.d.ts.map +1 -0
- package/dist/routes/api/health/route.js +39 -0
- package/dist/routes/api/internal/user-metadata/route.d.ts +3 -0
- package/dist/routes/api/internal/user-metadata/route.d.ts.map +1 -0
- package/dist/routes/api/internal/user-metadata/route.js +33 -0
- package/dist/routes/api/mcp/route.d.ts +27 -0
- package/dist/routes/api/mcp/route.d.ts.map +1 -0
- package/dist/routes/api/mcp/route.js +108 -0
- package/dist/routes/api/superadmin/subscriptions/route.d.ts +9 -0
- package/dist/routes/api/superadmin/subscriptions/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/subscriptions/route.js +235 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts +13 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/teams/[teamId]/route.js +204 -0
- package/dist/routes/api/superadmin/teams/route.d.ts +20 -0
- package/dist/routes/api/superadmin/teams/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/teams/route.js +131 -0
- package/dist/routes/api/superadmin/users/[userId]/route.d.ts +45 -0
- package/dist/routes/api/superadmin/users/[userId]/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/users/[userId]/route.js +362 -0
- package/dist/routes/api/superadmin/users/route.d.ts +37 -0
- package/dist/routes/api/superadmin/users/route.d.ts.map +1 -0
- package/dist/routes/api/superadmin/users/route.js +239 -0
- package/dist/routes/api/user/delete-account/route.d.ts +3 -0
- package/dist/routes/api/user/delete-account/route.d.ts.map +1 -0
- package/dist/routes/api/user/delete-account/route.js +44 -0
- package/dist/routes/api/user/plan-flags/route.d.ts +23 -0
- package/dist/routes/api/user/plan-flags/route.d.ts.map +1 -0
- package/dist/routes/api/user/plan-flags/route.js +201 -0
- package/dist/routes/api/user/profile/route.d.ts +4 -0
- package/dist/routes/api/user/profile/route.d.ts.map +1 -0
- package/dist/routes/api/user/profile/route.js +96 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts +20 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/[childId]/route.js +144 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts +19 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/[id]/child/[childType]/route.js +249 -0
- package/dist/routes/api/v1/[entity]/[id]/route.d.ts +35 -0
- package/dist/routes/api/v1/[entity]/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/[id]/route.js +14 -0
- package/dist/routes/api/v1/[entity]/route.d.ts +17 -0
- package/dist/routes/api/v1/[entity]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/[entity]/route.js +12 -0
- package/dist/routes/api/v1/api-keys/[id]/route.d.ts +30 -0
- package/dist/routes/api/v1/api-keys/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/api-keys/[id]/route.js +189 -0
- package/dist/routes/api/v1/api-keys/route.d.ts +5 -0
- package/dist/routes/api/v1/api-keys/route.d.ts.map +1 -0
- package/dist/routes/api/v1/api-keys/route.js +177 -0
- package/dist/routes/api/v1/auth/signup-with-invite/route.d.ts +4 -0
- package/dist/routes/api/v1/auth/signup-with-invite/route.d.ts.map +1 -0
- package/dist/routes/api/v1/auth/signup-with-invite/route.js +187 -0
- package/dist/routes/api/v1/billing/cancel/route.d.ts +19 -0
- package/dist/routes/api/v1/billing/cancel/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/cancel/route.js +153 -0
- package/dist/routes/api/v1/billing/change-plan/route.d.ts +19 -0
- package/dist/routes/api/v1/billing/change-plan/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/change-plan/route.js +63 -0
- package/dist/routes/api/v1/billing/check-action/route.d.ts +13 -0
- package/dist/routes/api/v1/billing/check-action/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/check-action/route.js +55 -0
- package/dist/routes/api/v1/billing/checkout/route.d.ts +11 -0
- package/dist/routes/api/v1/billing/checkout/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/checkout/route.js +114 -0
- package/dist/routes/api/v1/billing/plans/route.d.ts +10 -0
- package/dist/routes/api/v1/billing/plans/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/plans/route.js +61 -0
- package/dist/routes/api/v1/billing/portal/route.d.ts +11 -0
- package/dist/routes/api/v1/billing/portal/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/portal/route.js +66 -0
- package/dist/routes/api/v1/billing/webhooks/polar/route.d.ts +17 -0
- package/dist/routes/api/v1/billing/webhooks/polar/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/webhooks/polar/route.js +3 -0
- package/dist/routes/api/v1/billing/webhooks/stripe/route.d.ts +17 -0
- package/dist/routes/api/v1/billing/webhooks/stripe/route.d.ts.map +1 -0
- package/dist/routes/api/v1/billing/webhooks/stripe/route.js +8 -0
- package/dist/routes/api/v1/blocks/[slug]/route.d.ts +7 -0
- package/dist/routes/api/v1/blocks/[slug]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/blocks/[slug]/route.js +25 -0
- package/dist/routes/api/v1/blocks/docs.md +173 -0
- package/dist/routes/api/v1/blocks/route.d.ts +3 -0
- package/dist/routes/api/v1/blocks/route.d.ts.map +1 -0
- package/dist/routes/api/v1/blocks/route.js +44 -0
- package/dist/routes/api/v1/blocks/validate/route.d.ts +3 -0
- package/dist/routes/api/v1/blocks/validate/route.d.ts.map +1 -0
- package/dist/routes/api/v1/blocks/validate/route.js +38 -0
- package/dist/routes/api/v1/cron/process/route.d.ts +20 -0
- package/dist/routes/api/v1/cron/process/route.d.ts.map +1 -0
- package/dist/routes/api/v1/cron/process/route.js +73 -0
- package/dist/routes/api/v1/devtools/blocks/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/blocks/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/blocks/route.js +60 -0
- package/dist/routes/api/v1/devtools/docs/route.d.ts +14 -0
- package/dist/routes/api/v1/devtools/docs/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/docs/route.js +108 -0
- package/dist/routes/api/v1/devtools/docs.md +204 -0
- package/dist/routes/api/v1/devtools/features/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/features/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/features/route.js +45 -0
- package/dist/routes/api/v1/devtools/flows/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/flows/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/flows/route.js +45 -0
- package/dist/routes/api/v1/devtools/presets.ts +113 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts +24 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/route.js +180 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/scheduled-actions/run/route.js +82 -0
- package/dist/routes/api/v1/devtools/testing/route.d.ts +12 -0
- package/dist/routes/api/v1/devtools/testing/route.d.ts.map +1 -0
- package/dist/routes/api/v1/devtools/testing/route.js +64 -0
- package/dist/routes/api/v1/media/[id]/route.d.ts +47 -0
- package/dist/routes/api/v1/media/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/[id]/route.js +86 -0
- package/dist/routes/api/v1/media/[id]/tags/route.d.ts +45 -0
- package/dist/routes/api/v1/media/[id]/tags/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/[id]/tags/route.js +126 -0
- package/dist/routes/api/v1/media/check-duplicates/route.d.ts +12 -0
- package/dist/routes/api/v1/media/check-duplicates/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/check-duplicates/route.js +45 -0
- package/dist/routes/api/v1/media/route.d.ts +20 -0
- package/dist/routes/api/v1/media/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/route.js +33 -0
- package/dist/routes/api/v1/media/upload/route.d.ts +24 -0
- package/dist/routes/api/v1/media/upload/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media/upload/route.js +196 -0
- package/dist/routes/api/v1/media-tags/route.d.ts +19 -0
- package/dist/routes/api/v1/media-tags/route.d.ts.map +1 -0
- package/dist/routes/api/v1/media-tags/route.js +49 -0
- package/dist/routes/api/v1/patterns/[id]/usages/route.d.ts +23 -0
- package/dist/routes/api/v1/patterns/[id]/usages/route.d.ts.map +1 -0
- package/dist/routes/api/v1/patterns/[id]/usages/route.js +69 -0
- package/dist/routes/api/v1/post-categories/[id]/route.d.ts +17 -0
- package/dist/routes/api/v1/post-categories/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/post-categories/[id]/route.js +203 -0
- package/dist/routes/api/v1/post-categories/route.d.ts +4 -0
- package/dist/routes/api/v1/post-categories/route.d.ts.map +1 -0
- package/dist/routes/api/v1/post-categories/route.js +94 -0
- package/dist/routes/api/v1/team-invitations/[token]/accept/route.d.ts +8 -0
- package/dist/routes/api/v1/team-invitations/[token]/accept/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/[token]/accept/route.js +130 -0
- package/dist/routes/api/v1/team-invitations/[token]/decline/route.d.ts +8 -0
- package/dist/routes/api/v1/team-invitations/[token]/decline/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/[token]/decline/route.js +90 -0
- package/dist/routes/api/v1/team-invitations/[token]/route.d.ts +8 -0
- package/dist/routes/api/v1/team-invitations/[token]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/[token]/route.js +66 -0
- package/dist/routes/api/v1/team-invitations/route.d.ts +4 -0
- package/dist/routes/api/v1/team-invitations/route.d.ts.map +1 -0
- package/dist/routes/api/v1/team-invitations/route.js +82 -0
- package/dist/routes/api/v1/teams/[teamId]/invitations/route.d.ts +13 -0
- package/dist/routes/api/v1/teams/[teamId]/invitations/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/invitations/route.js +126 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.d.ts +9 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.js +80 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/route.d.ts +8 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/invoices/route.js +98 -0
- package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.d.ts +15 -0
- package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/members/[memberId]/route.js +188 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts +13 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/members/route.js +266 -0
- package/dist/routes/api/v1/teams/[teamId]/route.d.ts +18 -0
- package/dist/routes/api/v1/teams/[teamId]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/route.js +222 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts +14 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/subscription/route.js +30 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts +17 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/[teamId]/usage/[limitSlug]/route.js +67 -0
- package/dist/routes/api/v1/teams/route.d.ts +5 -0
- package/dist/routes/api/v1/teams/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/route.js +231 -0
- package/dist/routes/api/v1/teams/switch/route.d.ts +4 -0
- package/dist/routes/api/v1/teams/switch/route.d.ts.map +1 -0
- package/dist/routes/api/v1/teams/switch/route.js +80 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts +89 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/[id]/meta/[key]/route.js +180 -0
- package/dist/routes/api/v1/users/[id]/route.d.ts +18 -0
- package/dist/routes/api/v1/users/[id]/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/[id]/route.js +189 -0
- package/dist/routes/api/v1/users/route.d.ts +5 -0
- package/dist/routes/api/v1/users/route.d.ts.map +1 -0
- package/dist/routes/api/v1/users/route.js +145 -0
- package/dist/routes/dashboard/(main)/layout.d.ts +5 -0
- package/dist/routes/dashboard/(main)/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/layout.js +50 -0
- package/dist/routes/dashboard/(main)/loading.d.ts +3 -0
- package/dist/routes/dashboard/(main)/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/loading.js +6 -0
- package/dist/routes/dashboard/(main)/media/page.d.ts +3 -0
- package/dist/routes/dashboard/(main)/media/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/media/page.js +548 -0
- package/dist/routes/dashboard/(main)/page.d.ts +3 -0
- package/dist/routes/dashboard/(main)/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/page.js +168 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.d.ts +8 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/edit/page.js +85 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/page.d.ts +13 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/page.js +6 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.d.ts +9 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/[id]/reports/page.js +128 -0
- package/dist/routes/dashboard/(main)/patterns/create/page.d.ts +8 -0
- package/dist/routes/dashboard/(main)/patterns/create/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/create/page.js +64 -0
- package/dist/routes/dashboard/(main)/patterns/page.d.ts +9 -0
- package/dist/routes/dashboard/(main)/patterns/page.d.ts.map +1 -0
- package/dist/routes/dashboard/(main)/patterns/page.js +334 -0
- package/dist/routes/dashboard/features/analytics/page.d.ts +3 -0
- package/dist/routes/dashboard/features/analytics/page.d.ts.map +1 -0
- package/dist/routes/dashboard/features/analytics/page.js +32 -0
- package/dist/routes/dashboard/features/automation/page.d.ts +3 -0
- package/dist/routes/dashboard/features/automation/page.d.ts.map +1 -0
- package/dist/routes/dashboard/features/automation/page.js +32 -0
- package/dist/routes/dashboard/features/layout.d.ts +7 -0
- package/dist/routes/dashboard/features/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/features/layout.js +5 -0
- package/dist/routes/dashboard/features/loading.d.ts +3 -0
- package/dist/routes/dashboard/features/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/features/loading.js +6 -0
- package/dist/routes/dashboard/features/webhooks/page.d.ts +3 -0
- package/dist/routes/dashboard/features/webhooks/page.d.ts.map +1 -0
- package/dist/routes/dashboard/features/webhooks/page.js +32 -0
- package/dist/routes/dashboard/layout.cc.d.ts +6 -0
- package/dist/routes/dashboard/layout.cc.d.ts.map +1 -0
- package/dist/routes/dashboard/layout.cc.js +3 -0
- package/dist/routes/dashboard/layout.d.ts +9 -0
- package/dist/routes/dashboard/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/layout.js +15 -0
- package/dist/routes/dashboard/permission-denied/page.d.ts +9 -0
- package/dist/routes/dashboard/permission-denied/page.d.ts.map +1 -0
- package/dist/routes/dashboard/permission-denied/page.js +17 -0
- package/dist/routes/dashboard/settings/api-keys/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/api-keys/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/api-keys/loading.js +6 -0
- package/dist/routes/dashboard/settings/api-keys/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/api-keys/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/api-keys/page.js +391 -0
- package/dist/routes/dashboard/settings/billing/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/billing/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/billing/loading.js +6 -0
- package/dist/routes/dashboard/settings/billing/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/billing/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/billing/page.js +240 -0
- package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.d.ts +8 -0
- package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/invoices/[invoiceNumber]/page.js +151 -0
- package/dist/routes/dashboard/settings/invoices/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/invoices/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/invoices/loading.js +6 -0
- package/dist/routes/dashboard/settings/invoices/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/invoices/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/invoices/page.js +65 -0
- package/dist/routes/dashboard/settings/layout.d.ts +5 -0
- package/dist/routes/dashboard/settings/layout.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/layout.js +142 -0
- package/dist/routes/dashboard/settings/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/loading.js +6 -0
- package/dist/routes/dashboard/settings/notifications/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/notifications/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/notifications/loading.js +6 -0
- package/dist/routes/dashboard/settings/notifications/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/notifications/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/notifications/page.js +399 -0
- package/dist/routes/dashboard/settings/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/page.js +82 -0
- package/dist/routes/dashboard/settings/password/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/password/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/password/loading.js +6 -0
- package/dist/routes/dashboard/settings/password/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/password/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/password/page.js +302 -0
- package/dist/routes/dashboard/settings/plans/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/plans/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/plans/loading.js +6 -0
- package/dist/routes/dashboard/settings/plans/page.d.ts +9 -0
- package/dist/routes/dashboard/settings/plans/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/plans/page.js +43 -0
- package/dist/routes/dashboard/settings/profile/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/profile/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/profile/loading.js +6 -0
- package/dist/routes/dashboard/settings/profile/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/profile/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/profile/page.js +615 -0
- package/dist/routes/dashboard/settings/security/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/security/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/security/loading.js +6 -0
- package/dist/routes/dashboard/settings/security/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/security/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/security/page.js +400 -0
- package/dist/routes/dashboard/settings/teams/loading.d.ts +3 -0
- package/dist/routes/dashboard/settings/teams/loading.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/teams/loading.js +6 -0
- package/dist/routes/dashboard/settings/teams/page.d.ts +3 -0
- package/dist/routes/dashboard/settings/teams/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/teams/page.js +205 -0
- package/dist/routes/dashboard/settings/teams/permissions/page.d.ts +9 -0
- package/dist/routes/dashboard/settings/teams/permissions/page.d.ts.map +1 -0
- package/dist/routes/dashboard/settings/teams/permissions/page.js +50 -0
- package/dist/routes/devtools/api/[[...endpoint]]/page.d.ts +19 -0
- package/dist/routes/devtools/api/[[...endpoint]]/page.d.ts.map +1 -0
- package/dist/routes/devtools/api/[[...endpoint]]/page.js +14 -0
- package/dist/routes/devtools/api/layout.d.ts +20 -0
- package/dist/routes/devtools/api/layout.d.ts.map +1 -0
- package/dist/routes/devtools/api/layout.js +6 -0
- package/dist/routes/devtools/blocks/[slug]/page.d.ts +20 -0
- package/dist/routes/devtools/blocks/[slug]/page.d.ts.map +1 -0
- package/dist/routes/devtools/blocks/[slug]/page.js +16 -0
- package/dist/routes/devtools/blocks/page.d.ts +2 -0
- package/dist/routes/devtools/blocks/page.d.ts.map +1 -0
- package/dist/routes/devtools/blocks/page.js +21 -0
- package/dist/routes/devtools/config/page.d.ts +2 -0
- package/dist/routes/devtools/config/page.d.ts.map +1 -0
- package/dist/routes/devtools/config/page.js +21 -0
- package/dist/routes/devtools/features/page.d.ts +2 -0
- package/dist/routes/devtools/features/page.d.ts.map +1 -0
- package/dist/routes/devtools/features/page.js +21 -0
- package/dist/routes/devtools/flows/page.d.ts +2 -0
- package/dist/routes/devtools/flows/page.d.ts.map +1 -0
- package/dist/routes/devtools/flows/page.js +21 -0
- package/dist/routes/devtools/layout.cc.d.ts +7 -0
- package/dist/routes/devtools/layout.cc.d.ts.map +1 -0
- package/dist/routes/devtools/layout.cc.js +4 -0
- package/dist/routes/devtools/layout.d.ts +5 -0
- package/dist/routes/devtools/layout.d.ts.map +1 -0
- package/dist/routes/devtools/layout.js +3 -0
- package/dist/routes/devtools/page.d.ts +2 -0
- package/dist/routes/devtools/page.d.ts.map +1 -0
- package/dist/routes/devtools/page.js +92 -0
- package/dist/routes/devtools/plugins/[plugin]/page.d.ts +8 -0
- package/dist/routes/devtools/plugins/[plugin]/page.d.ts.map +1 -0
- package/dist/routes/devtools/plugins/[plugin]/page.js +11 -0
- package/dist/routes/devtools/scheduled-actions/page.d.ts +15 -0
- package/dist/routes/devtools/scheduled-actions/page.d.ts.map +1 -0
- package/dist/routes/devtools/scheduled-actions/page.js +121 -0
- package/dist/routes/devtools/style/page.d.ts +8 -0
- package/dist/routes/devtools/style/page.d.ts.map +1 -0
- package/dist/routes/devtools/style/page.js +241 -0
- package/dist/routes/devtools/tags/page.d.ts +2 -0
- package/dist/routes/devtools/tags/page.d.ts.map +1 -0
- package/dist/routes/devtools/tags/page.js +21 -0
- package/dist/routes/devtools/tests/[[...path]]/page.d.ts +8 -0
- package/dist/routes/devtools/tests/[[...path]]/page.d.ts.map +1 -0
- package/dist/routes/devtools/tests/[[...path]]/page.js +30 -0
- package/dist/routes/layout.d.ts +10 -0
- package/dist/routes/layout.d.ts.map +1 -0
- package/dist/routes/layout.js +73 -0
- package/dist/routes/layout.ppr.d.ts +26 -0
- package/dist/routes/layout.ppr.d.ts.map +1 -0
- package/dist/routes/layout.ppr.js +58 -0
- package/dist/routes/manifest.json +784 -0
- package/dist/routes/public/page.d.ts +3 -0
- package/dist/routes/public/page.d.ts.map +1 -0
- package/dist/routes/public/page.js +12 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.cc.d.ts +15 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.cc.d.ts.map +1 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.cc.js +63 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.d.ts +16 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/docs/[section]/[page]/page.js +61 -0
- package/dist/routes/superadmin/docs/page.d.ts +4 -0
- package/dist/routes/superadmin/docs/page.d.ts.map +1 -0
- package/dist/routes/superadmin/docs/page.js +50 -0
- package/dist/routes/superadmin/layout.cc.d.ts +7 -0
- package/dist/routes/superadmin/layout.cc.d.ts.map +1 -0
- package/dist/routes/superadmin/layout.cc.js +4 -0
- package/dist/routes/superadmin/layout.d.ts +5 -0
- package/dist/routes/superadmin/layout.d.ts.map +1 -0
- package/dist/routes/superadmin/layout.js +3 -0
- package/dist/routes/superadmin/page.d.ts +8 -0
- package/dist/routes/superadmin/page.d.ts.map +1 -0
- package/dist/routes/superadmin/page.js +91 -0
- package/dist/routes/superadmin/plugins/[plugin]/page.d.ts +8 -0
- package/dist/routes/superadmin/plugins/[plugin]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/plugins/[plugin]/page.js +11 -0
- package/dist/routes/superadmin/subscriptions/page.d.ts +9 -0
- package/dist/routes/superadmin/subscriptions/page.d.ts.map +1 -0
- package/dist/routes/superadmin/subscriptions/page.js +470 -0
- package/dist/routes/superadmin/team-roles/page.d.ts +12 -0
- package/dist/routes/superadmin/team-roles/page.d.ts.map +1 -0
- package/dist/routes/superadmin/team-roles/page.js +385 -0
- package/dist/routes/superadmin/teams/[teamId]/page.d.ts +8 -0
- package/dist/routes/superadmin/teams/[teamId]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/teams/[teamId]/page.js +429 -0
- package/dist/routes/superadmin/teams/page.d.ts +9 -0
- package/dist/routes/superadmin/teams/page.d.ts.map +1 -0
- package/dist/routes/superadmin/teams/page.js +259 -0
- package/dist/routes/superadmin/users/[userId]/page.d.ts +8 -0
- package/dist/routes/superadmin/users/[userId]/page.d.ts.map +1 -0
- package/dist/routes/superadmin/users/[userId]/page.js +342 -0
- package/dist/routes/superadmin/users/page.d.ts +9 -0
- package/dist/routes/superadmin/users/page.d.ts.map +1 -0
- package/dist/routes/superadmin/users/page.js +410 -0
- package/dist/routes/variants.json +86 -0
- package/dist/templates/blocks/README.md +6 -12
- package/dist/templates/blocks/cta-section/config.ts +0 -1
- package/dist/templates/blocks/cta-section/thumbnail.png +0 -0
- package/dist/templates/blocks/features-grid/config.ts +0 -1
- package/dist/templates/blocks/features-grid/thumbnail.png +0 -0
- package/dist/templates/blocks/hero/config.ts +0 -1
- package/dist/templates/blocks/hero/thumbnail.png +0 -0
- package/dist/templates/blocks/testimonials/config.ts +0 -1
- package/dist/templates/blocks/testimonials/thumbnail.png +0 -0
- package/dist/templates/blocks/text-content/config.ts +0 -1
- package/dist/templates/blocks/text-content/thumbnail.png +0 -0
- package/dist/templates/ci-workflows/README.md +4 -5
- package/dist/templates/ci-workflows/github/cypress-regression.yml +7 -14
- package/dist/templates/ci-workflows/github/cypress-smoke.yml +3 -5
- package/dist/templates/eslint.config.mjs +3 -3
- package/dist/templates/features/blog/blocks/post-content/config.ts +0 -1
- package/dist/templates/features/blog/entities/posts/posts.config.ts +1 -1
- package/dist/templates/features/pages/blocks/hero/config.ts +0 -1
- package/dist/templates/features/pages/entities/pages/pages.config.ts +1 -1
- package/dist/templates/instrumentation.ts +9 -0
- package/dist/templates/migrations/README.md +2 -2
- package/dist/templates/next.config.mjs +34 -8
- package/dist/templates/plugins/README.md +42 -0
- package/dist/templates/plugins/starter/plugin/README.md.template +97 -0
- package/dist/templates/plugins/starter/plugin/api/example/route.ts.template +94 -0
- package/dist/templates/plugins/starter/plugin/hooks/usePlugin.ts.template +102 -0
- package/dist/templates/pnpm-workspace.yaml +3 -5
- package/dist/templates/projects/blog/README.md +62 -0
- package/dist/templates/projects/blog/about.md +93 -0
- package/dist/templates/projects/blog/api/authors/[username]/route.ts +153 -0
- package/dist/templates/projects/blog/api/authors/docs.md +135 -0
- package/dist/templates/projects/blog/api/authors/presets.ts +45 -0
- package/dist/templates/projects/blog/api/authors/route.ts +66 -0
- package/dist/templates/projects/blog/api/posts/public/docs.md +124 -0
- package/dist/templates/projects/blog/api/posts/public/presets.ts +65 -0
- package/dist/templates/projects/blog/api/posts/public/route.ts +154 -0
- package/dist/templates/projects/blog/components/ExportPostsButton.tsx +103 -0
- package/dist/templates/projects/blog/components/ImportPostsDialog.tsx +285 -0
- package/dist/templates/projects/blog/components/PostsToolbar.tsx +24 -0
- package/dist/templates/projects/blog/components/editor/FeaturedImageUpload.tsx +186 -0
- package/dist/templates/projects/blog/components/editor/WysiwygEditor.tsx +389 -0
- package/dist/templates/projects/blog/components/index.ts +4 -0
- package/dist/templates/projects/blog/components/public/AuthorBio.tsx +106 -0
- package/dist/templates/projects/blog/components/public/AuthorCard.tsx +131 -0
- package/dist/templates/projects/blog/components/public/BlogFooter.tsx +186 -0
- package/dist/templates/projects/blog/components/public/BlogNavbar.tsx +201 -0
- package/dist/templates/projects/blog/components/public/PostCard.tsx +307 -0
- package/dist/templates/projects/blog/components/public/ReadingProgress.tsx +70 -0
- package/dist/templates/projects/blog/components/public/RelatedPosts.tsx +79 -0
- package/dist/templates/projects/blog/config/app.config.ts +193 -0
- package/dist/templates/projects/blog/config/billing.config.ts +143 -0
- package/dist/templates/projects/blog/config/dashboard.config.ts +346 -0
- package/dist/templates/projects/blog/config/dev.config.ts +48 -0
- package/dist/templates/projects/blog/config/features.config.ts +196 -0
- package/dist/templates/projects/blog/config/flows.config.ts +333 -0
- package/dist/templates/projects/blog/config/permissions.config.ts +112 -0
- package/dist/templates/projects/blog/config/theme.config.ts +128 -0
- package/dist/templates/projects/blog/entities/categories/api/docs.md +119 -0
- package/dist/templates/projects/blog/entities/categories/api/presets.ts +67 -0
- package/dist/templates/projects/blog/entities/categories/categories.config.ts +60 -0
- package/dist/templates/projects/blog/entities/categories/categories.fields.ts +115 -0
- package/dist/templates/projects/blog/entities/categories/categories.service.ts +333 -0
- package/dist/templates/projects/blog/entities/categories/categories.types.ts +58 -0
- package/dist/templates/projects/blog/entities/categories/messages/en.json +33 -0
- package/dist/templates/projects/blog/entities/categories/messages/es.json +33 -0
- package/dist/templates/projects/blog/entities/posts/api/docs.md +174 -0
- package/dist/templates/projects/blog/entities/posts/api/presets.ts +137 -0
- package/dist/templates/projects/blog/entities/posts/messages/en.json +100 -0
- package/dist/templates/projects/blog/entities/posts/messages/es.json +100 -0
- package/dist/templates/projects/blog/entities/posts/migrations/001_posts_table.sql +110 -0
- package/dist/templates/projects/blog/entities/posts/migrations/002_add_featured.sql +19 -0
- package/dist/templates/projects/blog/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
- package/dist/templates/projects/blog/entities/posts/posts.config.ts +61 -0
- package/dist/templates/projects/blog/entities/posts/posts.fields.ts +234 -0
- package/dist/templates/projects/blog/entities/posts/posts.service.ts +464 -0
- package/dist/templates/projects/blog/entities/posts/posts.types.ts +80 -0
- package/dist/templates/projects/blog/lib/sanitize-post-html.ts +52 -0
- package/dist/templates/projects/blog/lib/selectors.ts +178 -0
- package/dist/templates/projects/blog/messages/en.json +113 -0
- package/dist/templates/projects/blog/messages/es.json +113 -0
- package/dist/templates/projects/blog/migrations/002_author_profile_fields.sql +37 -0
- package/dist/templates/projects/blog/migrations/003_categories_table.sql +90 -0
- package/dist/templates/projects/blog/migrations/090_billing_sample_data.sql +99 -0
- package/dist/templates/projects/blog/migrations/999_sample_data.sql +412 -0
- package/dist/templates/projects/blog/migrations/999_theme_sample_data.sql +1070 -0
- package/dist/templates/projects/blog/package.json +30 -0
- package/dist/templates/projects/blog/permissions-matrix.md +63 -0
- package/dist/templates/projects/blog/styles/article.css +333 -0
- package/dist/templates/projects/blog/styles/components.css +204 -0
- package/dist/templates/projects/blog/styles/globals.css +384 -0
- package/dist/templates/projects/blog/styles/theme.css +167 -0
- package/dist/templates/projects/blog/templates/(public)/author/[username]/page.tsx +248 -0
- package/dist/templates/projects/blog/templates/(public)/authors/page.tsx +162 -0
- package/dist/templates/projects/blog/templates/(public)/layout.tsx +44 -0
- package/dist/templates/projects/blog/templates/(public)/page.tsx +277 -0
- package/dist/templates/projects/blog/templates/(public)/posts/[slug]/page.tsx +344 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/page.tsx +386 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/[id]/edit/page.tsx +530 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/create/page.tsx +354 -0
- package/dist/templates/projects/blog/templates/dashboard/(main)/posts/page.tsx +834 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/README.md +170 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.cy.ts +322 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.md +73 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.cy.ts +460 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.md +115 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.cy.ts +290 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.md +139 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.cy.ts +302 -0
- package/dist/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.md +83 -0
- package/dist/templates/projects/blog/tests/cypress/fixtures/blocks.json +9 -0
- package/dist/templates/projects/blog/tests/cypress/fixtures/entities.json +51 -0
- package/dist/templates/projects/blog/tests/cypress/src/FeaturedImageUpload.js +131 -0
- package/dist/templates/projects/blog/tests/cypress/src/PostEditor.js +386 -0
- package/dist/templates/projects/blog/tests/cypress/src/PostsList.js +350 -0
- package/dist/templates/projects/blog/tests/cypress/src/WysiwygEditor.js +373 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/EntityForm.ts +378 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/EntityList.ts +378 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/PostEditorPOM.ts +447 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/PostsPOM.ts +362 -0
- package/dist/templates/projects/blog/tests/cypress/src/components/index.ts +18 -0
- package/dist/templates/projects/blog/tests/cypress/src/index.js +33 -0
- package/dist/templates/projects/blog/tests/cypress/src/selectors.ts +49 -0
- package/dist/templates/projects/blog/tests/cypress/src/session-helpers.ts +151 -0
- package/dist/templates/projects/blog/tests/cypress/support/e2e.ts +90 -0
- package/dist/templates/projects/blog/tests/cypress.config.ts +149 -0
- package/dist/templates/projects/blog/tests/jest/components/WysiwygEditor.test.tsx +118 -0
- package/dist/templates/projects/blog/tests/jest/jest.config.cjs +104 -0
- package/dist/templates/projects/blog/tests/jest/lib/sanitize-post-html.test.ts +48 -0
- package/dist/templates/projects/blog/tests/jest/setup.ts +170 -0
- package/dist/templates/projects/blog/tests/jest/tsconfig.jest.json +6 -0
- package/dist/templates/projects/blog/tests/tsconfig.json +7 -0
- package/dist/templates/projects/crm/CRM_PLAN.md +343 -0
- package/dist/templates/projects/crm/about.md +122 -0
- package/dist/templates/projects/crm/config/app.config.ts +178 -0
- package/dist/templates/projects/crm/config/billing.config.ts +184 -0
- package/dist/templates/projects/crm/config/dashboard.config.ts +385 -0
- package/dist/templates/projects/crm/config/dev.config.ts +55 -0
- package/dist/templates/projects/crm/config/features.config.ts +336 -0
- package/dist/templates/projects/crm/config/flows.config.ts +511 -0
- package/dist/templates/projects/crm/config/permissions.config.ts +308 -0
- package/dist/templates/projects/crm/config/theme.config.ts +111 -0
- package/dist/templates/projects/crm/entities/activities/activities.config.ts +61 -0
- package/dist/templates/projects/crm/entities/activities/activities.fields.ts +362 -0
- package/dist/templates/projects/crm/entities/activities/activities.service.ts +503 -0
- package/dist/templates/projects/crm/entities/activities/activities.types.ts +117 -0
- package/dist/templates/projects/crm/entities/activities/api/docs.md +146 -0
- package/dist/templates/projects/crm/entities/activities/api/presets.ts +132 -0
- package/dist/templates/projects/crm/entities/activities/messages/en.json +123 -0
- package/dist/templates/projects/crm/entities/activities/messages/es.json +123 -0
- package/dist/templates/projects/crm/entities/activities/migrations/020_activities_table.sql +123 -0
- package/dist/templates/projects/crm/entities/activities/migrations/021_activities_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/activities/migrations/022_activities_sample_data.sql +420 -0
- package/dist/templates/projects/crm/entities/campaigns/api/docs.md +140 -0
- package/dist/templates/projects/crm/entities/campaigns/api/presets.ts +147 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.config.ts +61 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.fields.ts +413 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.service.ts +426 -0
- package/dist/templates/projects/crm/entities/campaigns/campaigns.types.ts +124 -0
- package/dist/templates/projects/crm/entities/campaigns/messages/en.json +145 -0
- package/dist/templates/projects/crm/entities/campaigns/messages/es.json +145 -0
- package/dist/templates/projects/crm/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
- package/dist/templates/projects/crm/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
- package/dist/templates/projects/crm/entities/companies/api/docs.md +139 -0
- package/dist/templates/projects/crm/entities/companies/api/presets.ts +107 -0
- package/dist/templates/projects/crm/entities/companies/companies.config.ts +61 -0
- package/dist/templates/projects/crm/entities/companies/companies.fields.ts +429 -0
- package/dist/templates/projects/crm/entities/companies/companies.service.ts +566 -0
- package/dist/templates/projects/crm/entities/companies/companies.types.ts +125 -0
- package/dist/templates/projects/crm/entities/companies/messages/en.json +146 -0
- package/dist/templates/projects/crm/entities/companies/messages/es.json +146 -0
- package/dist/templates/projects/crm/entities/companies/migrations/001_companies_table.sql +150 -0
- package/dist/templates/projects/crm/entities/companies/migrations/002_companies_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/companies/migrations/003_companies_sample_data.sql +246 -0
- package/dist/templates/projects/crm/entities/contacts/api/docs.md +139 -0
- package/dist/templates/projects/crm/entities/contacts/api/presets.ts +98 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.config.ts +61 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.fields.ts +359 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.service.ts +509 -0
- package/dist/templates/projects/crm/entities/contacts/contacts.types.ts +108 -0
- package/dist/templates/projects/crm/entities/contacts/messages/en.json +117 -0
- package/dist/templates/projects/crm/entities/contacts/messages/es.json +117 -0
- package/dist/templates/projects/crm/entities/contacts/migrations/001_contacts_table.sql +134 -0
- package/dist/templates/projects/crm/entities/contacts/migrations/002_contacts_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
- package/dist/templates/projects/crm/entities/leads/api/docs.md +132 -0
- package/dist/templates/projects/crm/entities/leads/api/presets.ts +109 -0
- package/dist/templates/projects/crm/entities/leads/leads.config.ts +61 -0
- package/dist/templates/projects/crm/entities/leads/leads.fields.ts +336 -0
- package/dist/templates/projects/crm/entities/leads/leads.service.ts +496 -0
- package/dist/templates/projects/crm/entities/leads/leads.types.ts +114 -0
- package/dist/templates/projects/crm/entities/leads/messages/en.json +132 -0
- package/dist/templates/projects/crm/entities/leads/messages/es.json +132 -0
- package/dist/templates/projects/crm/entities/leads/migrations/001_leads_table.sql +150 -0
- package/dist/templates/projects/crm/entities/leads/migrations/002_leads_metas.sql +120 -0
- package/dist/templates/projects/crm/entities/leads/migrations/003_leads_sample_data.sql +242 -0
- package/dist/templates/projects/crm/entities/notes/api/docs.md +135 -0
- package/dist/templates/projects/crm/entities/notes/api/presets.ts +115 -0
- package/dist/templates/projects/crm/entities/notes/messages/en.json +114 -0
- package/dist/templates/projects/crm/entities/notes/messages/es.json +114 -0
- package/dist/templates/projects/crm/entities/notes/migrations/020_notes_table.sql +118 -0
- package/dist/templates/projects/crm/entities/notes/migrations/021_notes_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/notes/migrations/022_notes_sample_data.sql +275 -0
- package/dist/templates/projects/crm/entities/notes/notes.config.ts +61 -0
- package/dist/templates/projects/crm/entities/notes/notes.fields.ts +283 -0
- package/dist/templates/projects/crm/entities/notes/notes.service.ts +320 -0
- package/dist/templates/projects/crm/entities/notes/notes.types.ts +102 -0
- package/dist/templates/projects/crm/entities/opportunities/api/docs.md +151 -0
- package/dist/templates/projects/crm/entities/opportunities/api/presets.ts +151 -0
- package/dist/templates/projects/crm/entities/opportunities/messages/en.json +107 -0
- package/dist/templates/projects/crm/entities/opportunities/messages/es.json +107 -0
- package/dist/templates/projects/crm/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
- package/dist/templates/projects/crm/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.config.ts +61 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.fields.ts +416 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.service.ts +525 -0
- package/dist/templates/projects/crm/entities/opportunities/opportunities.types.ts +135 -0
- package/dist/templates/projects/crm/entities/pipelines/api/docs.md +145 -0
- package/dist/templates/projects/crm/entities/pipelines/api/presets.ts +118 -0
- package/dist/templates/projects/crm/entities/pipelines/messages/en.json +115 -0
- package/dist/templates/projects/crm/entities/pipelines/messages/es.json +115 -0
- package/dist/templates/projects/crm/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
- package/dist/templates/projects/crm/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.config.ts +62 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.fields.ts +193 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.service.ts +383 -0
- package/dist/templates/projects/crm/entities/pipelines/pipelines.types.ts +78 -0
- package/dist/templates/projects/crm/entities/products/api/docs.md +137 -0
- package/dist/templates/projects/crm/entities/products/api/presets.ts +132 -0
- package/dist/templates/projects/crm/entities/products/messages/en.json +135 -0
- package/dist/templates/projects/crm/entities/products/messages/es.json +135 -0
- package/dist/templates/projects/crm/entities/products/migrations/001_products_table.sql +117 -0
- package/dist/templates/projects/crm/entities/products/migrations/002_products_metas.sql +114 -0
- package/dist/templates/projects/crm/entities/products/migrations/003_products_sample_data.sql +247 -0
- package/dist/templates/projects/crm/entities/products/products.config.ts +62 -0
- package/dist/templates/projects/crm/entities/products/products.fields.ts +361 -0
- package/dist/templates/projects/crm/entities/products/products.service.ts +437 -0
- package/dist/templates/projects/crm/entities/products/products.types.ts +125 -0
- package/dist/templates/projects/crm/lib/crm-constants.ts +77 -0
- package/dist/templates/projects/crm/lib/crm-utils.ts +185 -0
- package/dist/templates/projects/crm/lib/selectors.ts +332 -0
- package/dist/templates/projects/crm/messages/en.json +131 -0
- package/dist/templates/projects/crm/messages/es.json +131 -0
- package/dist/templates/projects/crm/migrations/090_billing_sample_data.sql +99 -0
- package/dist/templates/projects/crm/migrations/999_theme_sample_data.sql +473 -0
- package/dist/templates/projects/crm/package.json +26 -0
- package/dist/templates/projects/crm/pendings.md +204 -0
- package/dist/templates/projects/crm/permissions-matrix.md +216 -0
- package/dist/templates/projects/crm/styles/components.css +414 -0
- package/dist/templates/projects/crm/styles/crm-theme.css +358 -0
- package/dist/templates/projects/crm/styles/globals.css +624 -0
- package/dist/templates/projects/crm/styles/variables.css +111 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/activities/page.tsx +297 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/campaigns/page.tsx +373 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/companies/page.tsx +296 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/contacts/page.tsx +347 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/layout.tsx +98 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/leads/page.tsx +335 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/opportunities/page.tsx +350 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/pipelines/page.tsx +235 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/[id]/page.tsx +510 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/create/page.tsx +96 -0
- package/dist/templates/projects/crm/templates/dashboard/(main)/products/page.tsx +308 -0
- package/dist/templates/projects/crm/templates/shared/ActionButtons.tsx +41 -0
- package/dist/templates/projects/crm/templates/shared/CRMDashboard.tsx +519 -0
- package/dist/templates/projects/crm/templates/shared/CRMDataTable.tsx +441 -0
- package/dist/templates/projects/crm/templates/shared/CRMMetricCard.tsx +76 -0
- package/dist/templates/projects/crm/templates/shared/CRMMobileNav.tsx +172 -0
- package/dist/templates/projects/crm/templates/shared/CRMSidebar.tsx +347 -0
- package/dist/templates/projects/crm/templates/shared/CRMTopBar.tsx +266 -0
- package/dist/templates/projects/crm/templates/shared/DealCard.tsx +123 -0
- package/dist/templates/projects/crm/templates/shared/EntityCard.tsx +58 -0
- package/dist/templates/projects/crm/templates/shared/OpportunityForm.tsx +649 -0
- package/dist/templates/projects/crm/templates/shared/PipelineForm.tsx +367 -0
- package/dist/templates/projects/crm/templates/shared/PipelineKanban.tsx +194 -0
- package/dist/templates/projects/crm/templates/shared/QuickFilters.tsx +47 -0
- package/dist/templates/projects/crm/templates/shared/StageColumn.tsx +175 -0
- package/dist/templates/projects/crm/templates/shared/StageSelect.tsx +177 -0
- package/dist/templates/projects/crm/templates/shared/StagesRepeater.tsx +317 -0
- package/dist/templates/projects/crm/templates/shared/index.ts +9 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/activities/activities-crud.cy.ts +686 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/campaigns/campaigns-crud.cy.ts +592 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/companies/companies-crud.cy.ts +682 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/contacts/contacts-crud.cy.ts +668 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/leads/leads-crud.cy.ts +648 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/notes/notes-crud.cy.ts +424 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/opportunities/opportunities-crud.cy.ts +865 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/pipelines/pipelines-crud.cy.ts +545 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/api/products/products-crud.cy.ts +447 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-admin.cy.ts +268 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-member.cy.ts +257 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-owner.cy.ts +268 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-admin.cy.ts +188 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-member.cy.ts +166 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-owner.cy.ts +189 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-admin.cy.ts +252 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-member.cy.ts +224 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-owner.cy.ts +236 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-admin.cy.ts +286 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-member.cy.ts +193 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-owner.cy.ts +210 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-admin.cy.ts +197 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-member.cy.ts +229 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-owner.cy.ts +196 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-admin.cy.ts +320 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-member.cy.ts +262 -0
- package/dist/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-owner.cy.ts +282 -0
- package/dist/templates/projects/crm/tests/cypress/fixtures/blocks.json +9 -0
- package/dist/templates/projects/crm/tests/cypress/fixtures/entities.json +240 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMDataTable.js +223 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMMobileNav.js +138 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMSidebar.js +145 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/CRMTopBar.js +194 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/DealCard.js +197 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/EntityDetail.ts +290 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/EntityForm.ts +357 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/EntityList.ts +360 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/PipelineKanban.js +204 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/StageColumn.js +196 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/index.js +13 -0
- package/dist/templates/projects/crm/tests/cypress/src/components/index.ts +22 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/ActivityAPIController.ts +113 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/BaseAPIController.ts +307 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/CampaignAPIController.ts +114 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/CompanyAPIController.ts +112 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/ContactAPIController.ts +104 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/LeadAPIController.ts +96 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/NoteAPIController.ts +130 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/OpportunityAPIController.ts +134 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/PipelineAPIController.ts +116 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/ProductAPIController.ts +113 -0
- package/dist/templates/projects/crm/tests/cypress/src/controllers/index.ts +35 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/ActivitiesPOM.ts +130 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/CompaniesPOM.ts +117 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/ContactsPOM.ts +117 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/LeadsPOM.ts +129 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/OpportunitiesPOM.ts +178 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/PipelinesPOM.ts +341 -0
- package/dist/templates/projects/crm/tests/cypress/src/entities/index.ts +31 -0
- package/dist/templates/projects/crm/tests/cypress/src/forms/OpportunityForm.js +316 -0
- package/dist/templates/projects/crm/tests/cypress/src/forms/PipelineForm.js +243 -0
- package/dist/templates/projects/crm/tests/cypress/src/forms/index.js +8 -0
- package/dist/templates/projects/crm/tests/cypress/src/index.js +22 -0
- package/dist/templates/projects/crm/tests/cypress/src/index.ts +68 -0
- package/dist/templates/projects/crm/tests/cypress/src/selectors.ts +50 -0
- package/dist/templates/projects/crm/tests/cypress/src/session-helpers.ts +176 -0
- package/dist/templates/projects/crm/tests/cypress/support/e2e.ts +90 -0
- package/dist/templates/projects/crm/tests/cypress.config.ts +149 -0
- package/dist/templates/projects/crm/tests/tsconfig.json +7 -0
- package/dist/templates/projects/productivity/README.md +73 -0
- package/dist/templates/projects/productivity/about.md +123 -0
- package/dist/templates/projects/productivity/components/CardDetailModal.tsx +318 -0
- package/dist/templates/projects/productivity/components/KanbanBoard.tsx +613 -0
- package/dist/templates/projects/productivity/components/KanbanCard.tsx +218 -0
- package/dist/templates/projects/productivity/components/KanbanColumn.tsx +264 -0
- package/dist/templates/projects/productivity/components/SortableList.tsx +46 -0
- package/dist/templates/projects/productivity/components/index.ts +4 -0
- package/dist/templates/projects/productivity/config/app.config.ts +165 -0
- package/dist/templates/projects/productivity/config/billing.config.ts +184 -0
- package/dist/templates/projects/productivity/config/dashboard.config.ts +370 -0
- package/dist/templates/projects/productivity/config/dev.config.ts +55 -0
- package/dist/templates/projects/productivity/config/features.config.ts +256 -0
- package/dist/templates/projects/productivity/config/flows.config.ts +484 -0
- package/dist/templates/projects/productivity/config/permissions.config.ts +178 -0
- package/dist/templates/projects/productivity/config/theme.config.ts +106 -0
- package/dist/templates/projects/productivity/entities/boards/api/docs.md +131 -0
- package/dist/templates/projects/productivity/entities/boards/api/presets.ts +113 -0
- package/dist/templates/projects/productivity/entities/boards/boards.config.ts +61 -0
- package/dist/templates/projects/productivity/entities/boards/boards.fields.ts +154 -0
- package/dist/templates/projects/productivity/entities/boards/boards.service.ts +256 -0
- package/dist/templates/projects/productivity/entities/boards/boards.types.ts +57 -0
- package/dist/templates/projects/productivity/entities/boards/messages/en.json +80 -0
- package/dist/templates/projects/productivity/entities/boards/messages/es.json +80 -0
- package/dist/templates/projects/productivity/entities/boards/migrations/001_boards_table.sql +83 -0
- package/dist/templates/projects/productivity/entities/cards/api/docs.md +162 -0
- package/dist/templates/projects/productivity/entities/cards/api/presets.ts +172 -0
- package/dist/templates/projects/productivity/entities/cards/cards.config.ts +61 -0
- package/dist/templates/projects/productivity/entities/cards/cards.fields.ts +242 -0
- package/dist/templates/projects/productivity/entities/cards/cards.service.ts +336 -0
- package/dist/templates/projects/productivity/entities/cards/cards.types.ts +79 -0
- package/dist/templates/projects/productivity/entities/cards/messages/en.json +114 -0
- package/dist/templates/projects/productivity/entities/cards/messages/es.json +114 -0
- package/dist/templates/projects/productivity/entities/cards/migrations/020_cards_table.sql +92 -0
- package/dist/templates/projects/productivity/entities/lists/api/docs.md +143 -0
- package/dist/templates/projects/productivity/entities/lists/api/presets.ts +81 -0
- package/dist/templates/projects/productivity/entities/lists/lists.config.ts +61 -0
- package/dist/templates/projects/productivity/entities/lists/lists.fields.ts +105 -0
- package/dist/templates/projects/productivity/entities/lists/lists.service.ts +252 -0
- package/dist/templates/projects/productivity/entities/lists/lists.types.ts +55 -0
- package/dist/templates/projects/productivity/entities/lists/messages/en.json +60 -0
- package/dist/templates/projects/productivity/entities/lists/messages/es.json +60 -0
- package/dist/templates/projects/productivity/entities/lists/migrations/010_lists_table.sql +79 -0
- package/dist/templates/projects/productivity/lib/selectors.ts +205 -0
- package/dist/templates/projects/productivity/messages/en.json +79 -0
- package/dist/templates/projects/productivity/messages/es.json +79 -0
- package/dist/templates/projects/productivity/migrations/090_billing_sample_data.sql +100 -0
- package/dist/templates/projects/productivity/migrations/999_theme_sample_data.sql +922 -0
- package/dist/templates/projects/productivity/migrations/999a_initial_sample_data.sql +377 -0
- package/dist/templates/projects/productivity/migrations/999b_abundant_sample_data.sql +346 -0
- package/dist/templates/projects/productivity/package.json +29 -0
- package/dist/templates/projects/productivity/permissions-matrix.md +122 -0
- package/dist/templates/projects/productivity/styles/components.css +460 -0
- package/dist/templates/projects/productivity/styles/globals.css +608 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +239 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/edit/page.tsx +391 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/page.tsx +237 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/create/page.tsx +237 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/boards/page.tsx +336 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/layout.tsx +32 -0
- package/dist/templates/projects/productivity/templates/dashboard/(main)/page.tsx +593 -0
- package/dist/templates/projects/productivity/templates/shared/ProductivityMobileNav.tsx +411 -0
- package/dist/templates/projects/productivity/templates/shared/ProductivitySidebar.tsx +539 -0
- package/dist/templates/projects/productivity/templates/shared/ProductivityTopBar.tsx +318 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/boards/boards-owner.cy.ts +349 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/cards/cards-modal.cy.ts +369 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-cards.cy.ts +280 -0
- package/dist/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-columns.cy.ts +243 -0
- package/dist/templates/projects/productivity/tests/cypress/fixtures/blocks.json +9 -0
- package/dist/templates/projects/productivity/tests/cypress/fixtures/entities.json +60 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/BoardsPOM.ts +353 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/CardsPOM.ts +383 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/KanbanPOM.ts +399 -0
- package/dist/templates/projects/productivity/tests/cypress/src/components/index.ts +9 -0
- package/dist/templates/projects/productivity/tests/cypress/src/controllers/BoardsAPIController.js +302 -0
- package/dist/templates/projects/productivity/tests/cypress/src/controllers/CardsAPIController.js +406 -0
- package/dist/templates/projects/productivity/tests/cypress/src/controllers/ListsAPIController.js +299 -0
- package/dist/templates/projects/productivity/tests/cypress/src/index.ts +25 -0
- package/dist/templates/projects/productivity/tests/cypress/src/selectors.ts +50 -0
- package/dist/templates/projects/productivity/tests/cypress/src/session-helpers.ts +176 -0
- package/dist/templates/projects/productivity/tests/cypress/support/e2e.ts +90 -0
- package/dist/templates/projects/productivity/tests/cypress.config.ts +149 -0
- package/dist/templates/projects/productivity/tests/tsconfig.json +7 -0
- package/dist/templates/projects/starter/blocks/cta-section/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/features-grid/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/hero/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/testimonials/config.ts +10 -0
- package/dist/templates/projects/starter/blocks/text-content/config.ts +10 -0
- package/dist/templates/projects/starter/emails/_README.md +69 -0
- package/dist/templates/projects/starter/entities/pages/pages.config.ts +95 -0
- package/dist/templates/projects/starter/entities/posts/posts.config.ts +102 -0
- package/dist/templates/projects/starter/entities/tasks/tasks.config.ts +82 -0
- package/dist/templates/projects/starter/styles/globals.css +213 -0
- package/dist/templates/projects/starter/templates/(public)/page.tsx +49 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/docs/README.md +215 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
- package/dist/templates/projects/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
- package/dist/templates/projects/starter/tests/cypress/src/session-helpers.ts +548 -0
- package/dist/templates/projects/starter/tests/cypress.config.ts +215 -0
- package/dist/templates/projects/starter/tests/jest/example.test.tsx +87 -0
- package/dist/templates/projects/starter/tests/jest/jest.config.cjs +92 -0
- package/dist/templates/projects/starter/tests/jest/services/tasks.service.test.ts +547 -0
- package/dist/templates/projects/starter/tests/jest/tsconfig.jest.json +8 -0
- package/dist/templates/projects/starter/tests/tsconfig.json +7 -0
- package/dist/templates/proxy.ts +366 -107
- package/dist/templates/public/uploads/README.md +1 -1
- package/dist/templates/scripts/cy-run-prod.cjs +6 -34
- package/dist/templates/tsconfig.cypress.json +4 -5
- package/dist/templates/tsconfig.json +8 -16
- package/dist/types/api-presets.d.ts +2 -2
- package/dist/types/blocks.d.ts +15 -18
- package/dist/types/blocks.d.ts.map +1 -1
- package/dist/types/blocks.js +1 -8
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/plugin.d.ts +40 -0
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js +23 -0
- package/dist/types/theme.d.ts +0 -25
- package/dist/types/theme.d.ts.map +1 -1
- package/dist/types/user.types.d.ts +3 -3
- package/dist/types/user.types.d.ts.map +1 -1
- package/dist/types/user.types.js +6 -6
- package/globals.css +5 -7
- package/migrations/028_api_audit_log_insert_policy.sql +18 -0
- package/migrations/090_sample_data.sql +2 -2
- package/migrations/README.md +7 -7
- package/package.json +22 -20
- package/scripts/build/auth-readiness-load.mjs +57 -0
- package/scripts/build/auth-readiness.mjs +210 -0
- package/scripts/build/config-loader.mjs +36 -60
- package/scripts/build/docs-registry.mjs +6 -84
- package/scripts/build/mobile-boundary.mjs +525 -0
- package/scripts/build/registry/__tests__/api-docs-colocated.test.mjs +105 -0
- package/scripts/build/registry/__tests__/billing-registry.test.mjs +8 -4
- package/scripts/build/registry/__tests__/block-registry.test.mjs +101 -5
- package/scripts/build/registry/__tests__/build-output.test.mjs +12 -87
- package/scripts/build/registry/__tests__/config-loader-root-first.test.mjs +33 -0
- package/scripts/build/registry/__tests__/icons-discovery.test.mjs +99 -29
- package/scripts/build/registry/__tests__/mcp-registry.test.mjs +6 -6
- package/scripts/build/registry/__tests__/packaged-plugin-discovery.test.mjs +42 -0
- package/scripts/build/registry/__tests__/plugin-capabilities.test.mjs +1030 -0
- package/scripts/build/registry/__tests__/plugin-registry-types.test.mjs +69 -0
- package/scripts/build/registry/__tests__/project-mode-root-first.test.mjs +175 -0
- package/scripts/build/registry/__tests__/safe-fs.test.mjs +5 -29
- package/scripts/build/registry/__tests__/scheduled-actions-registry.test.mjs +2 -2
- package/scripts/build/registry/__tests__/theme-registry.test.mjs +117 -0
- package/scripts/build/registry/__tests__/translation-registry-root-first.test.mjs +38 -0
- package/scripts/build/registry/__tests__/write-places.test.mjs +52 -119
- package/scripts/build/registry/config.mjs +29 -167
- package/scripts/build/registry/contracts/README.md +120 -0
- package/scripts/build/registry/contracts/__tests__/contracts-wire.test.mjs +168 -0
- package/scripts/build/registry/contracts/__tests__/contracts.test.mjs +590 -0
- package/scripts/build/registry/contracts/index.mjs +162 -0
- package/scripts/build/registry/contracts/portable.mjs +58 -0
- package/scripts/build/registry/contracts/publish.mjs +191 -0
- package/scripts/build/registry/contracts/read-columns.mjs +96 -0
- package/scripts/build/registry/contracts/read-entities.mjs +418 -0
- package/scripts/build/registry/contracts/render.mjs +341 -0
- package/scripts/build/registry/discovery/all-entities.mjs +57 -0
- package/scripts/build/registry/discovery/api-presets.mjs +23 -46
- package/scripts/build/registry/discovery/auth.mjs +3 -4
- package/scripts/build/registry/discovery/blocks.mjs +126 -17
- package/scripts/build/registry/discovery/core-routes.mjs +23 -73
- package/scripts/build/registry/discovery/emails.mjs +14 -19
- package/scripts/build/registry/discovery/entities.mjs +14 -18
- package/scripts/build/registry/discovery/icons.mjs +6 -15
- package/scripts/build/registry/discovery/index.mjs +0 -1
- package/scripts/build/registry/discovery/mcp-overrides.mjs +6 -12
- package/scripts/build/registry/discovery/mcp-overrides.test.mjs +24 -63
- package/scripts/build/registry/discovery/middlewares.mjs +21 -82
- package/scripts/build/registry/discovery/parent-child.mjs +2 -6
- package/scripts/build/registry/discovery/permissions.mjs +8 -13
- package/scripts/build/registry/discovery/plugin-capabilities.mjs +912 -0
- package/scripts/build/registry/discovery/plugins.mjs +55 -90
- package/scripts/build/registry/discovery/themes.mjs +79 -385
- package/scripts/build/registry/generators/api-presets-registry.mjs +4 -4
- package/scripts/build/registry/generators/billing-registry.mjs +17 -40
- package/scripts/build/registry/generators/block-registry.mjs +42 -3
- package/scripts/build/registry/generators/docs-registry.mjs +11 -30
- package/scripts/build/registry/generators/email-registry.mjs +4 -4
- package/scripts/build/registry/generators/entity-registry.mjs +3 -3
- package/scripts/build/registry/generators/feature-registry.mjs +5 -7
- package/scripts/build/registry/generators/index.mjs +2 -2
- package/scripts/build/registry/generators/middleware-registry.mjs +2 -2
- package/scripts/build/registry/generators/permissions-registry.mjs +5 -11
- package/scripts/build/registry/generators/plugin-catalog.mjs +73 -0
- package/scripts/build/registry/generators/plugin-registry.mjs +3 -1
- package/scripts/build/registry/generators/route-handlers.mjs +11 -105
- package/scripts/build/registry/generators/theme-registry.mjs +170 -1
- package/scripts/build/registry/generators/translation-registry.mjs +37 -71
- package/scripts/build/registry/generators/unified-registry.mjs +4 -10
- package/scripts/build/registry/host/README.md +296 -0
- package/scripts/build/registry/host/__tests__/diag-write-child.mjs +6 -0
- package/scripts/build/registry/host/__tests__/facade-emitter.test.mjs +659 -0
- package/scripts/build/registry/host/__tests__/host-area-access.test.mjs +278 -0
- package/scripts/build/registry/host/__tests__/host-composition.test.mjs +286 -0
- package/scripts/build/registry/host/__tests__/host-entities.test.mjs +886 -0
- package/scripts/build/registry/host/__tests__/host-generation.test.mjs +382 -0
- package/scripts/build/registry/host/__tests__/host-helpers.mjs +88 -0
- package/scripts/build/registry/host/__tests__/host-mode.test.mjs +153 -0
- package/scripts/build/registry/host/__tests__/host-plan.test.mjs +362 -0
- package/scripts/build/registry/host/__tests__/host-project-composition.test.mjs +269 -0
- package/scripts/build/registry/host/__tests__/host-project.test.mjs +80 -0
- package/scripts/build/registry/host/__tests__/host-proxy-areas.test.mjs +69 -0
- package/scripts/build/registry/host/__tests__/host-robustness.test.mjs +525 -0
- package/scripts/build/registry/host/__tests__/host-watch.test.mjs +162 -0
- package/scripts/build/registry/host/__tests__/lock-race-child.mjs +19 -0
- package/scripts/build/registry/host/__tests__/publish-crash-child.mjs +6 -0
- package/scripts/build/registry/host/__tests__/static-imports.test.mjs +254 -0
- package/scripts/build/registry/host/core-routes.mjs +307 -0
- package/scripts/build/registry/host/entity-routes.mjs +392 -0
- package/scripts/build/registry/host/facade-emitter.mjs +666 -0
- package/scripts/build/registry/host/generation.mjs +723 -0
- package/scripts/build/registry/host/mode.mjs +57 -0
- package/scripts/build/registry/host/next-literal.mjs +87 -0
- package/scripts/build/registry/host/next-route-exports.json +366 -0
- package/scripts/build/registry/host/plan.mjs +668 -0
- package/scripts/build/registry/host/prepare-cli.mjs +191 -0
- package/scripts/build/registry/host/prepare.mjs +722 -0
- package/scripts/build/registry/host/proxy-areas.mjs +56 -0
- package/scripts/build/registry/host/render.mjs +437 -0
- package/scripts/build/registry/host/static-imports.mjs +317 -0
- package/scripts/build/registry/host/webhooks.mjs +93 -0
- package/scripts/build/registry/index.mjs +4 -13
- package/scripts/build/registry/post-build/index.mjs +1 -8
- package/scripts/build/registry/post-build/own-gitignores.mjs +3 -4
- package/scripts/build/registry/post-build/test-fixtures.mjs +20 -30
- package/scripts/build/registry/post-build/tree-display.mjs +6 -6
- package/scripts/build/registry/project-mode.mjs +224 -51
- package/scripts/build/registry/validate-env.test.mjs +4 -89
- package/scripts/build/registry/validation/entity-validator.mjs +5 -6
- package/scripts/build/registry/write-places.mjs +34 -79
- package/scripts/build/registry.mjs +54 -143
- package/scripts/build/routes-manifest.mjs +214 -0
- package/scripts/build/safe-fs.mjs +1 -2
- package/scripts/build/update-tsconfig.mjs +26 -204
- package/scripts/create-plugin.mjs +10 -8
- package/scripts/create-theme.mjs +2 -305
- package/scripts/db/run-migrations.mjs +24 -86
- package/scripts/db/theme-location.mjs +23 -44
- package/scripts/db/verify-theme-migrations.mjs +16 -5
- package/scripts/deploy/vercel-deploy.mjs +8 -10
- package/scripts/dev/watch-plugins.mjs +39 -130
- package/scripts/maintenance/core-updater.mjs +29 -36
- package/scripts/maintenance/step-guard.mjs +1 -1
- package/scripts/postinstall.mjs +25 -43
- package/scripts/setup/setup-ci.mjs +2 -3
- package/scripts/test/build-entities.mjs +27 -107
- package/scripts/test/cy.mjs +29 -125
- package/scripts/test/jest.mjs +22 -50
- package/scripts/update-registry-imports.mjs +0 -1
- package/scripts/validation/check-imports.sh +33 -213
- package/src/lib/entities/portable/media-ref.ts +24 -0
- package/src/lib/entities/portable/response-shape.ts +80 -0
- package/src/lib/entities/portable/schema-generator.ts +965 -0
- package/src/lib/entities/portable/system-fields.ts +11 -0
- package/src/lib/entities/portable/types.ts +71 -0
- package/templates/blocks/README.md +6 -12
- package/templates/blocks/cta-section/config.ts +0 -1
- package/templates/blocks/cta-section/thumbnail.png +0 -0
- package/templates/blocks/features-grid/config.ts +0 -1
- package/templates/blocks/features-grid/thumbnail.png +0 -0
- package/templates/blocks/hero/config.ts +0 -1
- package/templates/blocks/hero/thumbnail.png +0 -0
- package/templates/blocks/testimonials/config.ts +0 -1
- package/templates/blocks/testimonials/thumbnail.png +0 -0
- package/templates/blocks/text-content/config.ts +0 -1
- package/templates/blocks/text-content/thumbnail.png +0 -0
- package/templates/ci-workflows/README.md +4 -5
- package/templates/ci-workflows/github/cypress-regression.yml +7 -14
- package/templates/ci-workflows/github/cypress-smoke.yml +3 -5
- package/templates/eslint.config.mjs +3 -3
- package/templates/features/blog/blocks/post-content/config.ts +0 -1
- package/templates/features/blog/entities/posts/posts.config.ts +1 -1
- package/templates/features/pages/blocks/hero/config.ts +0 -1
- package/templates/features/pages/entities/pages/pages.config.ts +1 -1
- package/templates/instrumentation.ts +9 -0
- package/templates/migrations/README.md +2 -2
- package/templates/next.config.mjs +34 -8
- package/templates/plugins/README.md +42 -0
- package/templates/plugins/starter/plugin/README.md.template +97 -0
- package/templates/plugins/starter/plugin/api/example/route.ts.template +94 -0
- package/templates/plugins/starter/plugin/hooks/usePlugin.ts.template +102 -0
- package/templates/pnpm-workspace.yaml +3 -5
- package/templates/projects/blog/README.md +62 -0
- package/templates/projects/blog/about.md +93 -0
- package/templates/projects/blog/api/authors/[username]/route.ts +153 -0
- package/templates/projects/blog/api/authors/docs.md +135 -0
- package/templates/projects/blog/api/authors/presets.ts +45 -0
- package/templates/projects/blog/api/authors/route.ts +66 -0
- package/templates/projects/blog/api/posts/public/docs.md +124 -0
- package/templates/projects/blog/api/posts/public/presets.ts +65 -0
- package/templates/projects/blog/api/posts/public/route.ts +154 -0
- package/templates/projects/blog/components/ExportPostsButton.tsx +103 -0
- package/templates/projects/blog/components/ImportPostsDialog.tsx +285 -0
- package/templates/projects/blog/components/PostsToolbar.tsx +24 -0
- package/templates/projects/blog/components/editor/FeaturedImageUpload.tsx +186 -0
- package/templates/projects/blog/components/editor/WysiwygEditor.tsx +389 -0
- package/templates/projects/blog/components/index.ts +4 -0
- package/templates/projects/blog/components/public/AuthorBio.tsx +106 -0
- package/templates/projects/blog/components/public/AuthorCard.tsx +131 -0
- package/templates/projects/blog/components/public/BlogFooter.tsx +186 -0
- package/templates/projects/blog/components/public/BlogNavbar.tsx +201 -0
- package/templates/projects/blog/components/public/PostCard.tsx +307 -0
- package/templates/projects/blog/components/public/ReadingProgress.tsx +70 -0
- package/templates/projects/blog/components/public/RelatedPosts.tsx +79 -0
- package/templates/projects/blog/config/app.config.ts +193 -0
- package/templates/projects/blog/config/billing.config.ts +143 -0
- package/templates/projects/blog/config/dashboard.config.ts +346 -0
- package/templates/projects/blog/config/dev.config.ts +48 -0
- package/templates/projects/blog/config/features.config.ts +196 -0
- package/templates/projects/blog/config/flows.config.ts +333 -0
- package/templates/projects/blog/config/permissions.config.ts +112 -0
- package/templates/projects/blog/config/theme.config.ts +128 -0
- package/templates/projects/blog/entities/categories/api/docs.md +119 -0
- package/templates/projects/blog/entities/categories/api/presets.ts +67 -0
- package/templates/projects/blog/entities/categories/categories.config.ts +60 -0
- package/templates/projects/blog/entities/categories/categories.fields.ts +115 -0
- package/templates/projects/blog/entities/categories/categories.service.ts +333 -0
- package/templates/projects/blog/entities/categories/categories.types.ts +58 -0
- package/templates/projects/blog/entities/categories/messages/en.json +33 -0
- package/templates/projects/blog/entities/categories/messages/es.json +33 -0
- package/templates/projects/blog/entities/posts/api/docs.md +174 -0
- package/templates/projects/blog/entities/posts/api/presets.ts +137 -0
- package/templates/projects/blog/entities/posts/messages/en.json +100 -0
- package/templates/projects/blog/entities/posts/messages/es.json +100 -0
- package/templates/projects/blog/entities/posts/migrations/001_posts_table.sql +110 -0
- package/templates/projects/blog/entities/posts/migrations/002_add_featured.sql +19 -0
- package/templates/projects/blog/entities/posts/migrations/003_post_categories_pivot.sql +47 -0
- package/templates/projects/blog/entities/posts/posts.config.ts +61 -0
- package/templates/projects/blog/entities/posts/posts.fields.ts +234 -0
- package/templates/projects/blog/entities/posts/posts.service.ts +464 -0
- package/templates/projects/blog/entities/posts/posts.types.ts +80 -0
- package/templates/projects/blog/lib/sanitize-post-html.ts +52 -0
- package/templates/projects/blog/lib/selectors.ts +178 -0
- package/templates/projects/blog/messages/en.json +113 -0
- package/templates/projects/blog/messages/es.json +113 -0
- package/templates/projects/blog/migrations/002_author_profile_fields.sql +37 -0
- package/templates/projects/blog/migrations/003_categories_table.sql +90 -0
- package/templates/projects/blog/migrations/090_billing_sample_data.sql +99 -0
- package/templates/projects/blog/migrations/999_sample_data.sql +412 -0
- package/templates/projects/blog/migrations/999_theme_sample_data.sql +1070 -0
- package/templates/projects/blog/package.json +30 -0
- package/templates/projects/blog/permissions-matrix.md +63 -0
- package/templates/projects/blog/styles/article.css +333 -0
- package/templates/projects/blog/styles/components.css +204 -0
- package/templates/projects/blog/styles/globals.css +384 -0
- package/templates/projects/blog/styles/theme.css +167 -0
- package/templates/projects/blog/templates/(public)/author/[username]/page.tsx +248 -0
- package/templates/projects/blog/templates/(public)/authors/page.tsx +162 -0
- package/templates/projects/blog/templates/(public)/layout.tsx +44 -0
- package/templates/projects/blog/templates/(public)/page.tsx +277 -0
- package/templates/projects/blog/templates/(public)/posts/[slug]/page.tsx +344 -0
- package/templates/projects/blog/templates/dashboard/(main)/page.tsx +386 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/[id]/edit/page.tsx +530 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/[id]/page.tsx +33 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/create/page.tsx +354 -0
- package/templates/projects/blog/templates/dashboard/(main)/posts/page.tsx +834 -0
- package/templates/projects/blog/tests/cypress/e2e/README.md +170 -0
- package/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.cy.ts +322 -0
- package/templates/projects/blog/tests/cypress/e2e/categories/categories-crud.md +73 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.cy.ts +460 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-crud.md +115 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.cy.ts +290 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-editor.md +139 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.cy.ts +302 -0
- package/templates/projects/blog/tests/cypress/e2e/posts/posts-status-workflow.md +83 -0
- package/templates/projects/blog/tests/cypress/fixtures/blocks.json +9 -0
- package/templates/projects/blog/tests/cypress/fixtures/entities.json +51 -0
- package/templates/projects/blog/tests/cypress/src/FeaturedImageUpload.js +131 -0
- package/templates/projects/blog/tests/cypress/src/PostEditor.js +386 -0
- package/templates/projects/blog/tests/cypress/src/PostsList.js +350 -0
- package/templates/projects/blog/tests/cypress/src/WysiwygEditor.js +373 -0
- package/templates/projects/blog/tests/cypress/src/components/EntityForm.ts +378 -0
- package/templates/projects/blog/tests/cypress/src/components/EntityList.ts +378 -0
- package/templates/projects/blog/tests/cypress/src/components/PostEditorPOM.ts +447 -0
- package/templates/projects/blog/tests/cypress/src/components/PostsPOM.ts +362 -0
- package/templates/projects/blog/tests/cypress/src/components/index.ts +18 -0
- package/templates/projects/blog/tests/cypress/src/index.js +33 -0
- package/templates/projects/blog/tests/cypress/src/selectors.ts +49 -0
- package/templates/projects/blog/tests/cypress/src/session-helpers.ts +151 -0
- package/templates/projects/blog/tests/cypress/support/e2e.ts +90 -0
- package/templates/projects/blog/tests/cypress.config.ts +149 -0
- package/templates/projects/blog/tests/jest/__mocks__/jose.js +22 -0
- package/templates/projects/blog/tests/jest/__mocks__/next-server.js +56 -0
- package/templates/projects/blog/tests/jest/components/WysiwygEditor.test.tsx +118 -0
- package/templates/projects/blog/tests/jest/jest.config.cjs +104 -0
- package/templates/projects/blog/tests/jest/lib/sanitize-post-html.test.ts +48 -0
- package/templates/projects/blog/tests/jest/setup.ts +170 -0
- package/templates/projects/blog/tests/jest/tsconfig.jest.json +6 -0
- package/templates/projects/blog/tests/tsconfig.json +7 -0
- package/templates/projects/crm/CRM_PLAN.md +343 -0
- package/templates/projects/crm/about.md +122 -0
- package/templates/projects/crm/config/app.config.ts +178 -0
- package/templates/projects/crm/config/billing.config.ts +184 -0
- package/templates/projects/crm/config/dashboard.config.ts +385 -0
- package/templates/projects/crm/config/dev.config.ts +55 -0
- package/templates/projects/crm/config/features.config.ts +336 -0
- package/templates/projects/crm/config/flows.config.ts +511 -0
- package/templates/projects/crm/config/permissions.config.ts +308 -0
- package/templates/projects/crm/config/theme.config.ts +111 -0
- package/templates/projects/crm/entities/activities/activities.config.ts +61 -0
- package/templates/projects/crm/entities/activities/activities.fields.ts +362 -0
- package/templates/projects/crm/entities/activities/activities.service.ts +503 -0
- package/templates/projects/crm/entities/activities/activities.types.ts +117 -0
- package/templates/projects/crm/entities/activities/api/docs.md +146 -0
- package/templates/projects/crm/entities/activities/api/presets.ts +132 -0
- package/templates/projects/crm/entities/activities/messages/en.json +123 -0
- package/templates/projects/crm/entities/activities/messages/es.json +123 -0
- package/templates/projects/crm/entities/activities/migrations/020_activities_table.sql +123 -0
- package/templates/projects/crm/entities/activities/migrations/021_activities_metas.sql +114 -0
- package/templates/projects/crm/entities/activities/migrations/022_activities_sample_data.sql +420 -0
- package/templates/projects/crm/entities/campaigns/api/docs.md +140 -0
- package/templates/projects/crm/entities/campaigns/api/presets.ts +147 -0
- package/templates/projects/crm/entities/campaigns/campaigns.config.ts +61 -0
- package/templates/projects/crm/entities/campaigns/campaigns.fields.ts +413 -0
- package/templates/projects/crm/entities/campaigns/campaigns.service.ts +426 -0
- package/templates/projects/crm/entities/campaigns/campaigns.types.ts +124 -0
- package/templates/projects/crm/entities/campaigns/messages/en.json +145 -0
- package/templates/projects/crm/entities/campaigns/messages/es.json +145 -0
- package/templates/projects/crm/entities/campaigns/migrations/001_campaigns_table.sql +127 -0
- package/templates/projects/crm/entities/campaigns/migrations/002_campaigns_metas.sql +114 -0
- package/templates/projects/crm/entities/campaigns/migrations/003_campaigns_sample_data.sql +364 -0
- package/templates/projects/crm/entities/companies/api/docs.md +139 -0
- package/templates/projects/crm/entities/companies/api/presets.ts +107 -0
- package/templates/projects/crm/entities/companies/companies.config.ts +61 -0
- package/templates/projects/crm/entities/companies/companies.fields.ts +429 -0
- package/templates/projects/crm/entities/companies/companies.service.ts +566 -0
- package/templates/projects/crm/entities/companies/companies.types.ts +125 -0
- package/templates/projects/crm/entities/companies/messages/en.json +146 -0
- package/templates/projects/crm/entities/companies/messages/es.json +146 -0
- package/templates/projects/crm/entities/companies/migrations/001_companies_table.sql +150 -0
- package/templates/projects/crm/entities/companies/migrations/002_companies_metas.sql +114 -0
- package/templates/projects/crm/entities/companies/migrations/003_companies_sample_data.sql +246 -0
- package/templates/projects/crm/entities/contacts/api/docs.md +139 -0
- package/templates/projects/crm/entities/contacts/api/presets.ts +98 -0
- package/templates/projects/crm/entities/contacts/contacts.config.ts +61 -0
- package/templates/projects/crm/entities/contacts/contacts.fields.ts +359 -0
- package/templates/projects/crm/entities/contacts/contacts.service.ts +509 -0
- package/templates/projects/crm/entities/contacts/contacts.types.ts +108 -0
- package/templates/projects/crm/entities/contacts/messages/en.json +117 -0
- package/templates/projects/crm/entities/contacts/messages/es.json +117 -0
- package/templates/projects/crm/entities/contacts/migrations/001_contacts_table.sql +134 -0
- package/templates/projects/crm/entities/contacts/migrations/002_contacts_metas.sql +114 -0
- package/templates/projects/crm/entities/contacts/migrations/003_contacts_sample_data.sql +421 -0
- package/templates/projects/crm/entities/leads/api/docs.md +132 -0
- package/templates/projects/crm/entities/leads/api/presets.ts +109 -0
- package/templates/projects/crm/entities/leads/leads.config.ts +61 -0
- package/templates/projects/crm/entities/leads/leads.fields.ts +336 -0
- package/templates/projects/crm/entities/leads/leads.service.ts +496 -0
- package/templates/projects/crm/entities/leads/leads.types.ts +114 -0
- package/templates/projects/crm/entities/leads/messages/en.json +132 -0
- package/templates/projects/crm/entities/leads/messages/es.json +132 -0
- package/templates/projects/crm/entities/leads/migrations/001_leads_table.sql +150 -0
- package/templates/projects/crm/entities/leads/migrations/002_leads_metas.sql +120 -0
- package/templates/projects/crm/entities/leads/migrations/003_leads_sample_data.sql +242 -0
- package/templates/projects/crm/entities/notes/api/docs.md +135 -0
- package/templates/projects/crm/entities/notes/api/presets.ts +115 -0
- package/templates/projects/crm/entities/notes/messages/en.json +114 -0
- package/templates/projects/crm/entities/notes/messages/es.json +114 -0
- package/templates/projects/crm/entities/notes/migrations/020_notes_table.sql +118 -0
- package/templates/projects/crm/entities/notes/migrations/021_notes_metas.sql +114 -0
- package/templates/projects/crm/entities/notes/migrations/022_notes_sample_data.sql +275 -0
- package/templates/projects/crm/entities/notes/notes.config.ts +61 -0
- package/templates/projects/crm/entities/notes/notes.fields.ts +283 -0
- package/templates/projects/crm/entities/notes/notes.service.ts +320 -0
- package/templates/projects/crm/entities/notes/notes.types.ts +102 -0
- package/templates/projects/crm/entities/opportunities/api/docs.md +151 -0
- package/templates/projects/crm/entities/opportunities/api/presets.ts +151 -0
- package/templates/projects/crm/entities/opportunities/messages/en.json +107 -0
- package/templates/projects/crm/entities/opportunities/messages/es.json +107 -0
- package/templates/projects/crm/entities/opportunities/migrations/010_opportunities_table.sql +145 -0
- package/templates/projects/crm/entities/opportunities/migrations/011_opportunities_metas.sql +114 -0
- package/templates/projects/crm/entities/opportunities/migrations/012_opportunities_sample_data.sql +438 -0
- package/templates/projects/crm/entities/opportunities/opportunities.config.ts +61 -0
- package/templates/projects/crm/entities/opportunities/opportunities.fields.ts +416 -0
- package/templates/projects/crm/entities/opportunities/opportunities.service.ts +525 -0
- package/templates/projects/crm/entities/opportunities/opportunities.types.ts +135 -0
- package/templates/projects/crm/entities/pipelines/api/docs.md +145 -0
- package/templates/projects/crm/entities/pipelines/api/presets.ts +118 -0
- package/templates/projects/crm/entities/pipelines/messages/en.json +115 -0
- package/templates/projects/crm/entities/pipelines/messages/es.json +115 -0
- package/templates/projects/crm/entities/pipelines/migrations/001_pipelines_table.sql +106 -0
- package/templates/projects/crm/entities/pipelines/migrations/002_pipelines_metas.sql +114 -0
- package/templates/projects/crm/entities/pipelines/migrations/003_pipelines_sample_data.sql +91 -0
- package/templates/projects/crm/entities/pipelines/pipelines.config.ts +62 -0
- package/templates/projects/crm/entities/pipelines/pipelines.fields.ts +193 -0
- package/templates/projects/crm/entities/pipelines/pipelines.service.ts +383 -0
- package/templates/projects/crm/entities/pipelines/pipelines.types.ts +78 -0
- package/templates/projects/crm/entities/products/api/docs.md +137 -0
- package/templates/projects/crm/entities/products/api/presets.ts +132 -0
- package/templates/projects/crm/entities/products/messages/en.json +135 -0
- package/templates/projects/crm/entities/products/messages/es.json +135 -0
- package/templates/projects/crm/entities/products/migrations/001_products_table.sql +117 -0
- package/templates/projects/crm/entities/products/migrations/002_products_metas.sql +114 -0
- package/templates/projects/crm/entities/products/migrations/003_products_sample_data.sql +247 -0
- package/templates/projects/crm/entities/products/products.config.ts +62 -0
- package/templates/projects/crm/entities/products/products.fields.ts +361 -0
- package/templates/projects/crm/entities/products/products.service.ts +437 -0
- package/templates/projects/crm/entities/products/products.types.ts +125 -0
- package/templates/projects/crm/lib/crm-constants.ts +77 -0
- package/templates/projects/crm/lib/crm-utils.ts +185 -0
- package/templates/projects/crm/lib/selectors.ts +332 -0
- package/templates/projects/crm/messages/en.json +131 -0
- package/templates/projects/crm/messages/es.json +131 -0
- package/templates/projects/crm/migrations/090_billing_sample_data.sql +99 -0
- package/templates/projects/crm/migrations/999_theme_sample_data.sql +473 -0
- package/templates/projects/crm/package.json +26 -0
- package/templates/projects/crm/pendings.md +204 -0
- package/templates/projects/crm/permissions-matrix.md +216 -0
- package/templates/projects/crm/styles/components.css +414 -0
- package/templates/projects/crm/styles/crm-theme.css +358 -0
- package/templates/projects/crm/styles/globals.css +624 -0
- package/templates/projects/crm/styles/variables.css +111 -0
- package/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityCard.tsx +169 -0
- package/templates/projects/crm/templates/dashboard/(main)/activities/components/ActivityTimeline.tsx +165 -0
- package/templates/projects/crm/templates/dashboard/(main)/activities/page.tsx +297 -0
- package/templates/projects/crm/templates/dashboard/(main)/campaigns/page.tsx +373 -0
- package/templates/projects/crm/templates/dashboard/(main)/companies/page.tsx +296 -0
- package/templates/projects/crm/templates/dashboard/(main)/contacts/page.tsx +347 -0
- package/templates/projects/crm/templates/dashboard/(main)/layout.tsx +98 -0
- package/templates/projects/crm/templates/dashboard/(main)/leads/page.tsx +335 -0
- package/templates/projects/crm/templates/dashboard/(main)/opportunities/[id]/edit/page.tsx +95 -0
- package/templates/projects/crm/templates/dashboard/(main)/opportunities/create/page.tsx +94 -0
- package/templates/projects/crm/templates/dashboard/(main)/opportunities/page.tsx +350 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/edit/page.tsx +95 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/[id]/page.tsx +143 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/create/page.tsx +94 -0
- package/templates/projects/crm/templates/dashboard/(main)/pipelines/page.tsx +235 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/[id]/edit/page.tsx +97 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/[id]/page.tsx +510 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/create/page.tsx +96 -0
- package/templates/projects/crm/templates/dashboard/(main)/products/page.tsx +308 -0
- package/templates/projects/crm/templates/shared/ActionButtons.tsx +41 -0
- package/templates/projects/crm/templates/shared/CRMDashboard.tsx +519 -0
- package/templates/projects/crm/templates/shared/CRMDataTable.tsx +441 -0
- package/templates/projects/crm/templates/shared/CRMMetricCard.tsx +76 -0
- package/templates/projects/crm/templates/shared/CRMMobileNav.tsx +172 -0
- package/templates/projects/crm/templates/shared/CRMSidebar.tsx +347 -0
- package/templates/projects/crm/templates/shared/CRMTopBar.tsx +266 -0
- package/templates/projects/crm/templates/shared/DealCard.tsx +123 -0
- package/templates/projects/crm/templates/shared/EntityCard.tsx +58 -0
- package/templates/projects/crm/templates/shared/OpportunityForm.tsx +649 -0
- package/templates/projects/crm/templates/shared/PipelineForm.tsx +367 -0
- package/templates/projects/crm/templates/shared/PipelineKanban.tsx +194 -0
- package/templates/projects/crm/templates/shared/QuickFilters.tsx +47 -0
- package/templates/projects/crm/templates/shared/StageColumn.tsx +175 -0
- package/templates/projects/crm/templates/shared/StageSelect.tsx +177 -0
- package/templates/projects/crm/templates/shared/StagesRepeater.tsx +317 -0
- package/templates/projects/crm/templates/shared/index.ts +9 -0
- package/templates/projects/crm/tests/cypress/e2e/api/activities/activities-crud.cy.ts +686 -0
- package/templates/projects/crm/tests/cypress/e2e/api/campaigns/campaigns-crud.cy.ts +592 -0
- package/templates/projects/crm/tests/cypress/e2e/api/companies/companies-crud.cy.ts +682 -0
- package/templates/projects/crm/tests/cypress/e2e/api/contacts/contacts-crud.cy.ts +668 -0
- package/templates/projects/crm/tests/cypress/e2e/api/leads/leads-crud.cy.ts +648 -0
- package/templates/projects/crm/tests/cypress/e2e/api/notes/notes-crud.cy.ts +424 -0
- package/templates/projects/crm/tests/cypress/e2e/api/opportunities/opportunities-crud.cy.ts +865 -0
- package/templates/projects/crm/tests/cypress/e2e/api/pipelines/pipelines-crud.cy.ts +545 -0
- package/templates/projects/crm/tests/cypress/e2e/api/products/products-crud.cy.ts +447 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-admin.cy.ts +268 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-member.cy.ts +257 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/activities/activities-owner.cy.ts +268 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-admin.cy.ts +188 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-member.cy.ts +166 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/companies/companies-owner.cy.ts +189 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-admin.cy.ts +252 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-member.cy.ts +224 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/contacts/contacts-owner.cy.ts +236 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-admin.cy.ts +286 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-member.cy.ts +193 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/leads/leads-owner.cy.ts +210 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-admin.cy.ts +197 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-member.cy.ts +229 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/opportunities/opportunities-owner.cy.ts +196 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-admin.cy.ts +320 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-member.cy.ts +262 -0
- package/templates/projects/crm/tests/cypress/e2e/ui/pipelines/pipelines-owner.cy.ts +282 -0
- package/templates/projects/crm/tests/cypress/fixtures/blocks.json +9 -0
- package/templates/projects/crm/tests/cypress/fixtures/entities.json +240 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMDataTable.js +223 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMMobileNav.js +138 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMSidebar.js +145 -0
- package/templates/projects/crm/tests/cypress/src/components/CRMTopBar.js +194 -0
- package/templates/projects/crm/tests/cypress/src/components/DealCard.js +197 -0
- package/templates/projects/crm/tests/cypress/src/components/EntityDetail.ts +290 -0
- package/templates/projects/crm/tests/cypress/src/components/EntityForm.ts +357 -0
- package/templates/projects/crm/tests/cypress/src/components/EntityList.ts +360 -0
- package/templates/projects/crm/tests/cypress/src/components/PipelineKanban.js +204 -0
- package/templates/projects/crm/tests/cypress/src/components/StageColumn.js +196 -0
- package/templates/projects/crm/tests/cypress/src/components/index.js +13 -0
- package/templates/projects/crm/tests/cypress/src/components/index.ts +22 -0
- package/templates/projects/crm/tests/cypress/src/controllers/ActivityAPIController.ts +113 -0
- package/templates/projects/crm/tests/cypress/src/controllers/BaseAPIController.ts +307 -0
- package/templates/projects/crm/tests/cypress/src/controllers/CampaignAPIController.ts +114 -0
- package/templates/projects/crm/tests/cypress/src/controllers/CompanyAPIController.ts +112 -0
- package/templates/projects/crm/tests/cypress/src/controllers/ContactAPIController.ts +104 -0
- package/templates/projects/crm/tests/cypress/src/controllers/LeadAPIController.ts +96 -0
- package/templates/projects/crm/tests/cypress/src/controllers/NoteAPIController.ts +130 -0
- package/templates/projects/crm/tests/cypress/src/controllers/OpportunityAPIController.ts +134 -0
- package/templates/projects/crm/tests/cypress/src/controllers/PipelineAPIController.ts +116 -0
- package/templates/projects/crm/tests/cypress/src/controllers/ProductAPIController.ts +113 -0
- package/templates/projects/crm/tests/cypress/src/controllers/index.ts +35 -0
- package/templates/projects/crm/tests/cypress/src/entities/ActivitiesPOM.ts +130 -0
- package/templates/projects/crm/tests/cypress/src/entities/CompaniesPOM.ts +117 -0
- package/templates/projects/crm/tests/cypress/src/entities/ContactsPOM.ts +117 -0
- package/templates/projects/crm/tests/cypress/src/entities/LeadsPOM.ts +129 -0
- package/templates/projects/crm/tests/cypress/src/entities/OpportunitiesPOM.ts +178 -0
- package/templates/projects/crm/tests/cypress/src/entities/PipelinesPOM.ts +341 -0
- package/templates/projects/crm/tests/cypress/src/entities/index.ts +31 -0
- package/templates/projects/crm/tests/cypress/src/forms/OpportunityForm.js +316 -0
- package/templates/projects/crm/tests/cypress/src/forms/PipelineForm.js +243 -0
- package/templates/projects/crm/tests/cypress/src/forms/index.js +8 -0
- package/templates/projects/crm/tests/cypress/src/index.js +22 -0
- package/templates/projects/crm/tests/cypress/src/index.ts +68 -0
- package/templates/projects/crm/tests/cypress/src/selectors.ts +50 -0
- package/templates/projects/crm/tests/cypress/src/session-helpers.ts +176 -0
- package/templates/projects/crm/tests/cypress/support/e2e.ts +90 -0
- package/templates/projects/crm/tests/cypress.config.ts +149 -0
- package/templates/projects/crm/tests/tsconfig.json +7 -0
- package/templates/projects/productivity/README.md +73 -0
- package/templates/projects/productivity/about.md +123 -0
- package/templates/projects/productivity/components/CardDetailModal.tsx +318 -0
- package/templates/projects/productivity/components/KanbanBoard.tsx +613 -0
- package/templates/projects/productivity/components/KanbanCard.tsx +218 -0
- package/templates/projects/productivity/components/KanbanColumn.tsx +264 -0
- package/templates/projects/productivity/components/SortableList.tsx +46 -0
- package/templates/projects/productivity/components/index.ts +4 -0
- package/templates/projects/productivity/config/app.config.ts +165 -0
- package/templates/projects/productivity/config/billing.config.ts +184 -0
- package/templates/projects/productivity/config/dashboard.config.ts +370 -0
- package/templates/projects/productivity/config/dev.config.ts +55 -0
- package/templates/projects/productivity/config/features.config.ts +256 -0
- package/templates/projects/productivity/config/flows.config.ts +484 -0
- package/templates/projects/productivity/config/permissions.config.ts +178 -0
- package/templates/projects/productivity/config/theme.config.ts +106 -0
- package/templates/projects/productivity/entities/boards/api/docs.md +131 -0
- package/templates/projects/productivity/entities/boards/api/presets.ts +113 -0
- package/templates/projects/productivity/entities/boards/boards.config.ts +61 -0
- package/templates/projects/productivity/entities/boards/boards.fields.ts +154 -0
- package/templates/projects/productivity/entities/boards/boards.service.ts +256 -0
- package/templates/projects/productivity/entities/boards/boards.types.ts +57 -0
- package/templates/projects/productivity/entities/boards/messages/en.json +80 -0
- package/templates/projects/productivity/entities/boards/messages/es.json +80 -0
- package/templates/projects/productivity/entities/boards/migrations/001_boards_table.sql +83 -0
- package/templates/projects/productivity/entities/cards/api/docs.md +162 -0
- package/templates/projects/productivity/entities/cards/api/presets.ts +172 -0
- package/templates/projects/productivity/entities/cards/cards.config.ts +61 -0
- package/templates/projects/productivity/entities/cards/cards.fields.ts +242 -0
- package/templates/projects/productivity/entities/cards/cards.service.ts +336 -0
- package/templates/projects/productivity/entities/cards/cards.types.ts +79 -0
- package/templates/projects/productivity/entities/cards/messages/en.json +114 -0
- package/templates/projects/productivity/entities/cards/messages/es.json +114 -0
- package/templates/projects/productivity/entities/cards/migrations/020_cards_table.sql +92 -0
- package/templates/projects/productivity/entities/lists/api/docs.md +143 -0
- package/templates/projects/productivity/entities/lists/api/presets.ts +81 -0
- package/templates/projects/productivity/entities/lists/lists.config.ts +61 -0
- package/templates/projects/productivity/entities/lists/lists.fields.ts +105 -0
- package/templates/projects/productivity/entities/lists/lists.service.ts +252 -0
- package/templates/projects/productivity/entities/lists/lists.types.ts +55 -0
- package/templates/projects/productivity/entities/lists/messages/en.json +60 -0
- package/templates/projects/productivity/entities/lists/messages/es.json +60 -0
- package/templates/projects/productivity/entities/lists/migrations/010_lists_table.sql +79 -0
- package/templates/projects/productivity/lib/selectors.ts +205 -0
- package/templates/projects/productivity/messages/en.json +79 -0
- package/templates/projects/productivity/messages/es.json +79 -0
- package/templates/projects/productivity/migrations/090_billing_sample_data.sql +100 -0
- package/templates/projects/productivity/migrations/999_theme_sample_data.sql +922 -0
- package/templates/projects/productivity/migrations/999a_initial_sample_data.sql +377 -0
- package/templates/projects/productivity/migrations/999b_abundant_sample_data.sql +346 -0
- package/templates/projects/productivity/package.json +29 -0
- package/templates/projects/productivity/permissions-matrix.md +122 -0
- package/templates/projects/productivity/styles/components.css +460 -0
- package/templates/projects/productivity/styles/globals.css +608 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/[cardId]/page.tsx +239 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/edit/page.tsx +391 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/[id]/page.tsx +237 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/create/page.tsx +237 -0
- package/templates/projects/productivity/templates/dashboard/(main)/boards/page.tsx +336 -0
- package/templates/projects/productivity/templates/dashboard/(main)/layout.tsx +32 -0
- package/templates/projects/productivity/templates/dashboard/(main)/page.tsx +593 -0
- package/templates/projects/productivity/templates/shared/ProductivityMobileNav.tsx +411 -0
- package/templates/projects/productivity/templates/shared/ProductivitySidebar.tsx +539 -0
- package/templates/projects/productivity/templates/shared/ProductivityTopBar.tsx +318 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/boards/boards-owner.cy.ts +349 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/cards/cards-modal.cy.ts +369 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-cards.cy.ts +280 -0
- package/templates/projects/productivity/tests/cypress/e2e/ui/kanban/kanban-columns.cy.ts +243 -0
- package/templates/projects/productivity/tests/cypress/fixtures/blocks.json +9 -0
- package/templates/projects/productivity/tests/cypress/fixtures/entities.json +60 -0
- package/templates/projects/productivity/tests/cypress/src/components/BoardsPOM.ts +353 -0
- package/templates/projects/productivity/tests/cypress/src/components/CardsPOM.ts +383 -0
- package/templates/projects/productivity/tests/cypress/src/components/KanbanPOM.ts +399 -0
- package/templates/projects/productivity/tests/cypress/src/components/index.ts +9 -0
- package/templates/projects/productivity/tests/cypress/src/controllers/BoardsAPIController.js +302 -0
- package/templates/projects/productivity/tests/cypress/src/controllers/CardsAPIController.js +406 -0
- package/templates/projects/productivity/tests/cypress/src/controllers/ListsAPIController.js +299 -0
- package/templates/projects/productivity/tests/cypress/src/index.ts +25 -0
- package/templates/projects/productivity/tests/cypress/src/selectors.ts +50 -0
- package/templates/projects/productivity/tests/cypress/src/session-helpers.ts +176 -0
- package/templates/projects/productivity/tests/cypress/support/e2e.ts +90 -0
- package/templates/projects/productivity/tests/cypress.config.ts +149 -0
- package/templates/projects/productivity/tests/tsconfig.json +7 -0
- package/templates/projects/starter/blocks/cta-section/config.ts +10 -0
- package/templates/projects/starter/blocks/features-grid/config.ts +10 -0
- package/templates/projects/starter/blocks/hero/config.ts +10 -0
- package/templates/projects/starter/blocks/testimonials/config.ts +10 -0
- package/templates/projects/starter/blocks/text-content/config.ts +10 -0
- package/templates/projects/starter/emails/_README.md +69 -0
- package/templates/projects/starter/entities/pages/pages.config.ts +95 -0
- package/templates/projects/starter/entities/posts/posts.config.ts +102 -0
- package/templates/projects/starter/entities/tasks/tasks.config.ts +82 -0
- package/templates/projects/starter/styles/globals.css +213 -0
- package/templates/projects/starter/templates/(public)/page.tsx +49 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/docs/README.md +215 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +491 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +147 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +76 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +326 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +388 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +266 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +78 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +129 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +82 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +77 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +130 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +261 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +593 -0
- package/templates/projects/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +278 -0
- package/templates/projects/starter/tests/cypress/src/session-helpers.ts +548 -0
- package/templates/projects/starter/tests/cypress.config.ts +215 -0
- package/templates/projects/starter/tests/jest/__mocks__/jose.js +22 -0
- package/templates/projects/starter/tests/jest/__mocks__/next-server.js +56 -0
- package/templates/projects/starter/tests/jest/example.test.tsx +87 -0
- package/templates/projects/starter/tests/jest/jest.config.cjs +92 -0
- package/templates/projects/starter/tests/jest/services/tasks.service.test.ts +547 -0
- package/templates/projects/starter/tests/jest/tsconfig.jest.json +8 -0
- package/templates/projects/starter/tests/tsconfig.json +7 -0
- package/templates/proxy.ts +366 -107
- package/templates/public/uploads/README.md +1 -1
- package/templates/scripts/cy-run-prod.cjs +6 -34
- package/templates/tsconfig.cypress.json +4 -5
- package/templates/tsconfig.json +8 -16
- package/tests/jest/__mocks__/@nextsparkjs/registries/app-config.client.ts +3 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/block-schemas.ts +5 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/dashboard-config.client.ts +2 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/dev-keyring.client.ts +2 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/docs-registry.ts +7 -7
- package/tests/jest/__mocks__/@nextsparkjs/registries/plugin-catalog.ts +21 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/plugin-registry.client.ts +9 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/route-handlers.ts +1 -11
- package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.client.ts +41 -0
- package/tests/jest/__mocks__/@nextsparkjs/registries/theme-registry.ts +2 -3
- package/tests/jest/__mocks__/@nextsparkjs/registries/translation-registry.ts +6 -0
- package/tests/jest/__mocks__/next-intl-server.js +3 -3
- package/dist/lib/api/entity/public-resolver.d.ts +0 -28
- package/dist/lib/api/entity/public-resolver.d.ts.map +0 -1
- package/dist/lib/api/entity/public-resolver.js +0 -95
- package/dist/lib/services/middleware.service.d.ts +0 -66
- package/dist/lib/services/middleware.service.d.ts.map +0 -1
- package/dist/lib/services/middleware.service.js +0 -111
- package/dist/lib/services/route-handler.service.d.ts +0 -155
- package/dist/lib/services/route-handler.service.d.ts.map +0 -1
- package/dist/lib/services/route-handler.service.js +0 -160
- package/dist/lib/services/template.service.d.ts +0 -148
- package/dist/lib/services/template.service.d.ts.map +0 -1
- package/dist/lib/services/template.service.js +0 -184
- package/dist/lib/template-resolver.d.ts +0 -103
- package/dist/lib/template-resolver.d.ts.map +0 -1
- package/dist/lib/template-resolver.js +0 -120
- package/dist/lib/theme/theme-loader.d.ts +0 -59
- package/dist/lib/theme/theme-loader.d.ts.map +0 -1
- package/dist/lib/theme/theme-loader.js +0 -191
- package/dist/templates/app/(auth)/accept-invite/[token]/page.tsx +0 -339
- package/dist/templates/app/(auth)/auth-error/page.tsx +0 -25
- package/dist/templates/app/(auth)/forgot-password/page.tsx +0 -215
- package/dist/templates/app/(auth)/layout.tsx +0 -54
- package/dist/templates/app/(auth)/login/page.tsx +0 -22
- package/dist/templates/app/(auth)/reset-password/page.tsx +0 -211
- package/dist/templates/app/(auth)/signup/page.tsx +0 -63
- package/dist/templates/app/(auth)/verify-email/page.tsx +0 -190
- package/dist/templates/app/(public)/[...slug]/page.tsx +0 -386
- package/dist/templates/app/(public)/docs/[section]/[page]/page.tsx +0 -101
- package/dist/templates/app/(public)/docs/layout.tsx +0 -25
- package/dist/templates/app/(public)/docs/page.tsx +0 -81
- package/dist/templates/app/(public)/layout.tsx +0 -44
- package/dist/templates/app/(public)/page.tsx +0 -19
- package/dist/templates/app/403/page.tsx +0 -89
- package/dist/templates/app/api/auth/[...all]/route.ts +0 -214
- package/dist/templates/app/api/cron/billing/lifecycle/route.ts +0 -98
- package/dist/templates/app/api/csp-report/route.ts +0 -181
- package/dist/templates/app/api/devtools/config/entities/route.ts +0 -115
- package/dist/templates/app/api/devtools/config/theme/route.ts +0 -67
- package/dist/templates/app/api/devtools/tests/[...path]/route.ts +0 -131
- package/dist/templates/app/api/devtools/tests/route.ts +0 -135
- package/dist/templates/app/api/health/route.ts +0 -53
- package/dist/templates/app/api/internal/user-metadata/route.ts +0 -47
- package/dist/templates/app/api/mcp/route.ts +0 -176
- package/dist/templates/app/api/superadmin/subscriptions/route.ts +0 -315
- package/dist/templates/app/api/superadmin/teams/[teamId]/route.ts +0 -292
- package/dist/templates/app/api/superadmin/teams/route.ts +0 -187
- package/dist/templates/app/api/superadmin/users/[userId]/route.ts +0 -542
- package/dist/templates/app/api/superadmin/users/route.ts +0 -322
- package/dist/templates/app/api/user/delete-account/route.ts +0 -58
- package/dist/templates/app/api/user/plan-flags/route.ts +0 -270
- package/dist/templates/app/api/user/profile/route.ts +0 -129
- package/dist/templates/app/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts +0 -208
- package/dist/templates/app/api/v1/[entity]/[id]/child/[childType]/route.ts +0 -329
- package/dist/templates/app/api/v1/[entity]/[id]/route.ts +0 -33
- package/dist/templates/app/api/v1/[entity]/route.ts +0 -29
- package/dist/templates/app/api/v1/api-keys/[id]/route.ts +0 -283
- package/dist/templates/app/api/v1/api-keys/route.ts +0 -241
- package/dist/templates/app/api/v1/auth/signup-with-invite/route.ts +0 -243
- package/dist/templates/app/api/v1/billing/cancel/route.ts +0 -206
- package/dist/templates/app/api/v1/billing/change-plan/route.ts +0 -99
- package/dist/templates/app/api/v1/billing/check-action/route.ts +0 -85
- package/dist/templates/app/api/v1/billing/checkout/route.ts +0 -153
- package/dist/templates/app/api/v1/billing/plans/route.ts +0 -82
- package/dist/templates/app/api/v1/billing/portal/route.ts +0 -93
- package/dist/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -495
- package/dist/templates/app/api/v1/billing/webhooks/stripe/route.ts +0 -34
- package/dist/templates/app/api/v1/blocks/[slug]/route.ts +0 -30
- package/dist/templates/app/api/v1/blocks/docs.md +0 -173
- package/dist/templates/app/api/v1/blocks/route.ts +0 -46
- package/dist/templates/app/api/v1/blocks/validate/route.ts +0 -47
- package/dist/templates/app/api/v1/cron/process/route.ts +0 -106
- package/dist/templates/app/api/v1/devtools/blocks/route.ts +0 -84
- package/dist/templates/app/api/v1/devtools/docs/route.ts +0 -153
- package/dist/templates/app/api/v1/devtools/docs.md +0 -204
- package/dist/templates/app/api/v1/devtools/features/route.ts +0 -63
- package/dist/templates/app/api/v1/devtools/flows/route.ts +0 -63
- package/dist/templates/app/api/v1/devtools/presets.ts +0 -113
- package/dist/templates/app/api/v1/devtools/scheduled-actions/route.ts +0 -244
- package/dist/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +0 -111
- package/dist/templates/app/api/v1/devtools/testing/route.ts +0 -84
- package/dist/templates/app/api/v1/media/[id]/route.ts +0 -168
- package/dist/templates/app/api/v1/media/[id]/tags/route.ts +0 -212
- package/dist/templates/app/api/v1/media/check-duplicates/route.ts +0 -66
- package/dist/templates/app/api/v1/media/route.ts +0 -64
- package/dist/templates/app/api/v1/media/upload/route.ts +0 -274
- package/dist/templates/app/api/v1/media-tags/route.ts +0 -81
- package/dist/templates/app/api/v1/patterns/[id]/usages/route.ts +0 -108
- package/dist/templates/app/api/v1/plugin/[...path]/route.ts +0 -374
- package/dist/templates/app/api/v1/plugin/docs.md +0 -79
- package/dist/templates/app/api/v1/plugin/presets.ts +0 -21
- package/dist/templates/app/api/v1/plugin/route.ts +0 -97
- package/dist/templates/app/api/v1/post-categories/[id]/route.ts +0 -258
- package/dist/templates/app/api/v1/post-categories/route.ts +0 -121
- package/dist/templates/app/api/v1/team-invitations/[token]/accept/route.ts +0 -177
- package/dist/templates/app/api/v1/team-invitations/[token]/decline/route.ts +0 -118
- package/dist/templates/app/api/v1/team-invitations/[token]/route.ts +0 -90
- package/dist/templates/app/api/v1/team-invitations/route.ts +0 -113
- package/dist/templates/app/api/v1/teams/[teamId]/invitations/route.ts +0 -181
- package/dist/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +0 -105
- package/dist/templates/app/api/v1/teams/[teamId]/invoices/route.ts +0 -125
- package/dist/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +0 -260
- package/dist/templates/app/api/v1/teams/[teamId]/members/route.ts +0 -350
- package/dist/templates/app/api/v1/teams/[teamId]/route.ts +0 -289
- package/dist/templates/app/api/v1/teams/[teamId]/subscription/route.ts +0 -51
- package/dist/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +0 -96
- package/dist/templates/app/api/v1/teams/route.ts +0 -305
- package/dist/templates/app/api/v1/teams/switch/route.ts +0 -106
- package/dist/templates/app/api/v1/theme/[...path]/route.ts +0 -383
- package/dist/templates/app/api/v1/theme/docs.md +0 -74
- package/dist/templates/app/api/v1/theme/presets.ts +0 -21
- package/dist/templates/app/api/v1/theme/route.ts +0 -97
- package/dist/templates/app/api/v1/users/[id]/meta/[key]/route.ts +0 -313
- package/dist/templates/app/api/v1/users/[id]/route.ts +0 -270
- package/dist/templates/app/api/v1/users/route.ts +0 -194
- package/dist/templates/app/dashboard/(main)/[entity]/[id]/edit/page.tsx +0 -117
- package/dist/templates/app/dashboard/(main)/[entity]/[id]/page.tsx +0 -85
- package/dist/templates/app/dashboard/(main)/[entity]/create/page.tsx +0 -95
- package/dist/templates/app/dashboard/(main)/[entity]/error.tsx +0 -51
- package/dist/templates/app/dashboard/(main)/[entity]/layout.tsx +0 -115
- package/dist/templates/app/dashboard/(main)/[entity]/loading.tsx +0 -64
- package/dist/templates/app/dashboard/(main)/[entity]/page.tsx +0 -71
- package/dist/templates/app/dashboard/(main)/layout.tsx +0 -99
- package/dist/templates/app/dashboard/(main)/loading.tsx +0 -8
- package/dist/templates/app/dashboard/(main)/media/page.tsx +0 -621
- package/dist/templates/app/dashboard/(main)/page.tsx +0 -201
- package/dist/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +0 -117
- package/dist/templates/app/dashboard/(main)/patterns/[id]/page.tsx +0 -23
- package/dist/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +0 -174
- package/dist/templates/app/dashboard/(main)/patterns/create/page.tsx +0 -89
- package/dist/templates/app/dashboard/(main)/patterns/page.tsx +0 -447
- package/dist/templates/app/dashboard/features/analytics/page.tsx +0 -38
- package/dist/templates/app/dashboard/features/automation/page.tsx +0 -38
- package/dist/templates/app/dashboard/features/layout.tsx +0 -16
- package/dist/templates/app/dashboard/features/loading.tsx +0 -8
- package/dist/templates/app/dashboard/features/webhooks/page.tsx +0 -38
- package/dist/templates/app/dashboard/layout.tsx +0 -87
- package/dist/templates/app/dashboard/permission-denied/page.tsx +0 -32
- package/dist/templates/app/dashboard/settings/api-keys/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/api-keys/page.tsx +0 -516
- package/dist/templates/app/dashboard/settings/billing/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/billing/page.tsx +0 -289
- package/dist/templates/app/dashboard/settings/invoices/[invoiceNumber]/page.tsx +0 -222
- package/dist/templates/app/dashboard/settings/invoices/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/invoices/page.tsx +0 -82
- package/dist/templates/app/dashboard/settings/layout.tsx +0 -151
- package/dist/templates/app/dashboard/settings/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/notifications/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/notifications/page.tsx +0 -462
- package/dist/templates/app/dashboard/settings/page.tsx +0 -93
- package/dist/templates/app/dashboard/settings/password/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/password/page.tsx +0 -305
- package/dist/templates/app/dashboard/settings/plans/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/plans/page.tsx +0 -62
- package/dist/templates/app/dashboard/settings/profile/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/profile/page.tsx +0 -688
- package/dist/templates/app/dashboard/settings/security/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/security/page.tsx +0 -506
- package/dist/templates/app/dashboard/settings/teams/loading.tsx +0 -8
- package/dist/templates/app/dashboard/settings/teams/page.tsx +0 -272
- package/dist/templates/app/dashboard/settings/teams/permissions/page.tsx +0 -95
- package/dist/templates/app/devtools/api/[[...endpoint]]/page.tsx +0 -33
- package/dist/templates/app/devtools/api/layout.tsx +0 -23
- package/dist/templates/app/devtools/blocks/[slug]/page.tsx +0 -39
- package/dist/templates/app/devtools/blocks/page.tsx +0 -40
- package/dist/templates/app/devtools/config/page.tsx +0 -40
- package/dist/templates/app/devtools/features/page.tsx +0 -40
- package/dist/templates/app/devtools/flows/page.tsx +0 -40
- package/dist/templates/app/devtools/layout.tsx +0 -65
- package/dist/templates/app/devtools/page.tsx +0 -130
- package/dist/templates/app/devtools/plugins/[plugin]/page.tsx +0 -17
- package/dist/templates/app/devtools/scheduled-actions/page.tsx +0 -158
- package/dist/templates/app/devtools/style/page.tsx +0 -330
- package/dist/templates/app/devtools/tags/page.tsx +0 -40
- package/dist/templates/app/devtools/tests/[[...path]]/page.tsx +0 -56
- package/dist/templates/app/favicon.ico +0 -0
- package/dist/templates/app/globals.css +0 -12
- package/dist/templates/app/layout.ppr.tsx +0 -105
- package/dist/templates/app/layout.tsx +0 -118
- package/dist/templates/app/public/page.tsx +0 -30
- package/dist/templates/app/superadmin/docs/[section]/[page]/page.tsx +0 -93
- package/dist/templates/app/superadmin/docs/page.tsx +0 -75
- package/dist/templates/app/superadmin/layout.tsx +0 -96
- package/dist/templates/app/superadmin/page.tsx +0 -149
- package/dist/templates/app/superadmin/plugins/[plugin]/page.tsx +0 -17
- package/dist/templates/app/superadmin/subscriptions/page.tsx +0 -658
- package/dist/templates/app/superadmin/team-roles/page.tsx +0 -493
- package/dist/templates/app/superadmin/teams/[teamId]/page.tsx +0 -691
- package/dist/templates/app/superadmin/teams/page.tsx +0 -302
- package/dist/templates/app/superadmin/users/[userId]/page.tsx +0 -549
- package/dist/templates/app/superadmin/users/page.tsx +0 -529
- package/dist/templates/contents/plugins/README.md +0 -42
- package/dist/templates/contents/plugins/starter/plugin/README.md.template +0 -97
- package/dist/templates/contents/plugins/starter/plugin/api/example/route.ts.template +0 -94
- package/dist/templates/contents/plugins/starter/plugin/hooks/usePlugin.ts.template +0 -102
- package/dist/templates/contents/themes/starter/blocks/cta-section/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/features-grid/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/hero/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/testimonials/config.ts +0 -11
- package/dist/templates/contents/themes/starter/blocks/text-content/config.ts +0 -11
- package/dist/templates/contents/themes/starter/emails/_README.md +0 -69
- package/dist/templates/contents/themes/starter/entities/pages/pages.config.ts +0 -95
- package/dist/templates/contents/themes/starter/entities/posts/posts.config.ts +0 -102
- package/dist/templates/contents/themes/starter/entities/tasks/tasks.config.ts +0 -82
- package/dist/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +0 -1
- package/dist/templates/contents/themes/starter/styles/globals.css +0 -214
- package/dist/templates/contents/themes/starter/templates/(public)/loading.tsx +0 -5
- package/dist/templates/contents/themes/starter/templates/(public)/page.tsx +0 -37
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/docs/README.md +0 -215
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +0 -491
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +0 -147
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +0 -76
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +0 -326
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +0 -388
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +0 -266
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +0 -78
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +0 -129
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +0 -82
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +0 -77
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +0 -130
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +0 -261
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +0 -593
- package/dist/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +0 -278
- package/dist/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +0 -549
- package/dist/templates/contents/themes/starter/tests/cypress.config.ts +0 -220
- package/dist/templates/contents/themes/starter/tests/jest/example.test.tsx +0 -87
- package/dist/templates/contents/themes/starter/tests/jest/jest.config.cjs +0 -95
- package/dist/templates/contents/themes/starter/tests/jest/services/tasks.service.test.ts +0 -547
- package/dist/templates/contents/themes/starter/tests/jest/tsconfig.jest.json +0 -8
- package/dist/templates/contents/themes/starter/tests/tsconfig.json +0 -15
- package/dist/templates/public/theme/blocks/cta-section/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/features-grid/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/hero/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/testimonials/thumbnail.png +0 -1
- package/dist/templates/public/theme/blocks/text-content/thumbnail.png +0 -1
- package/scripts/build/registry/__tests__/globals-css-tag.test.mjs +0 -66
- package/scripts/build/registry/__tests__/page-generator.test.mjs +0 -604
- package/scripts/build/registry/__tests__/published-signatures.test.mjs +0 -239
- package/scripts/build/registry/__tests__/route-file-rule.test.mjs +0 -170
- package/scripts/build/registry/__tests__/template-analysis.test.mjs +0 -142
- package/scripts/build/registry/__tests__/template-registry.test.mjs +0 -359
- package/scripts/build/registry/__tests__/templates-plan.test.mjs +0 -128
- package/scripts/build/registry/__tests__/templates-tree.test.mjs +0 -367
- package/scripts/build/registry/discovery/templates.mjs +0 -250
- package/scripts/build/registry/generators/template-registry.mjs +0 -367
- package/scripts/build/registry/post-build/page-generator.mjs +0 -1066
- package/scripts/build/registry/post-build/route-cleanup.mjs +0 -199
- package/scripts/build/registry/watch.mjs +0 -80
- package/scripts/build/templates-plan.mjs +0 -44
- package/scripts/build/theme.mjs +0 -452
- package/scripts/generate-app.mjs +0 -190
- package/scripts/setup/npm-postinstall.mjs +0 -193
- package/scripts/setup/postinstall.mjs +0 -155
- package/scripts/test/jest-theme.mjs +0 -65
- package/scripts/utils/generated-tag.mjs +0 -66
- package/templates/app/(auth)/accept-invite/[token]/page.tsx +0 -339
- package/templates/app/(auth)/auth-error/page.tsx +0 -25
- package/templates/app/(auth)/forgot-password/page.tsx +0 -215
- package/templates/app/(auth)/layout.tsx +0 -54
- package/templates/app/(auth)/login/page.tsx +0 -22
- package/templates/app/(auth)/reset-password/page.tsx +0 -211
- package/templates/app/(auth)/signup/page.tsx +0 -63
- package/templates/app/(auth)/verify-email/page.tsx +0 -190
- package/templates/app/(public)/[...slug]/page.tsx +0 -386
- package/templates/app/(public)/docs/[section]/[page]/page.tsx +0 -101
- package/templates/app/(public)/docs/layout.tsx +0 -25
- package/templates/app/(public)/docs/page.tsx +0 -81
- package/templates/app/(public)/layout.tsx +0 -44
- package/templates/app/(public)/page.tsx +0 -19
- package/templates/app/403/page.tsx +0 -89
- package/templates/app/api/auth/[...all]/route.ts +0 -214
- package/templates/app/api/cron/billing/lifecycle/route.ts +0 -98
- package/templates/app/api/csp-report/route.ts +0 -181
- package/templates/app/api/devtools/config/entities/route.ts +0 -115
- package/templates/app/api/devtools/config/theme/route.ts +0 -67
- package/templates/app/api/devtools/tests/[...path]/route.ts +0 -131
- package/templates/app/api/devtools/tests/route.ts +0 -135
- package/templates/app/api/health/route.ts +0 -53
- package/templates/app/api/internal/user-metadata/route.ts +0 -47
- package/templates/app/api/mcp/route.ts +0 -176
- package/templates/app/api/superadmin/subscriptions/route.ts +0 -315
- package/templates/app/api/superadmin/teams/[teamId]/route.ts +0 -292
- package/templates/app/api/superadmin/teams/route.ts +0 -187
- package/templates/app/api/superadmin/users/[userId]/route.ts +0 -542
- package/templates/app/api/superadmin/users/route.ts +0 -322
- package/templates/app/api/user/delete-account/route.ts +0 -58
- package/templates/app/api/user/plan-flags/route.ts +0 -270
- package/templates/app/api/user/profile/route.ts +0 -129
- package/templates/app/api/v1/[entity]/[id]/child/[childType]/[childId]/route.ts +0 -208
- package/templates/app/api/v1/[entity]/[id]/child/[childType]/route.ts +0 -329
- package/templates/app/api/v1/[entity]/[id]/route.ts +0 -33
- package/templates/app/api/v1/[entity]/docs.md +0 -369
- package/templates/app/api/v1/[entity]/presets.ts +0 -194
- package/templates/app/api/v1/[entity]/route.ts +0 -29
- package/templates/app/api/v1/api-keys/[id]/route.ts +0 -283
- package/templates/app/api/v1/api-keys/docs.md +0 -101
- package/templates/app/api/v1/api-keys/presets.ts +0 -31
- package/templates/app/api/v1/api-keys/route.ts +0 -241
- package/templates/app/api/v1/auth/docs.md +0 -184
- package/templates/app/api/v1/auth/presets.ts +0 -44
- package/templates/app/api/v1/auth/signup-with-invite/route.ts +0 -243
- package/templates/app/api/v1/billing/cancel/route.ts +0 -206
- package/templates/app/api/v1/billing/change-plan/route.ts +0 -99
- package/templates/app/api/v1/billing/check-action/route.ts +0 -85
- package/templates/app/api/v1/billing/checkout/route.ts +0 -153
- package/templates/app/api/v1/billing/docs.md +0 -209
- package/templates/app/api/v1/billing/plans/route.ts +0 -82
- package/templates/app/api/v1/billing/portal/route.ts +0 -93
- package/templates/app/api/v1/billing/presets.ts +0 -121
- package/templates/app/api/v1/billing/webhooks/polar/route.ts +0 -495
- package/templates/app/api/v1/billing/webhooks/stripe/route.ts +0 -34
- package/templates/app/api/v1/blocks/[slug]/route.ts +0 -30
- package/templates/app/api/v1/blocks/docs.md +0 -173
- package/templates/app/api/v1/blocks/presets.ts +0 -121
- package/templates/app/api/v1/blocks/route.ts +0 -46
- package/templates/app/api/v1/blocks/validate/route.ts +0 -47
- package/templates/app/api/v1/cron/docs.md +0 -116
- package/templates/app/api/v1/cron/presets.ts +0 -26
- package/templates/app/api/v1/cron/process/route.ts +0 -106
- package/templates/app/api/v1/devtools/blocks/route.ts +0 -84
- package/templates/app/api/v1/devtools/docs/route.ts +0 -153
- package/templates/app/api/v1/devtools/docs.md +0 -204
- package/templates/app/api/v1/devtools/features/route.ts +0 -63
- package/templates/app/api/v1/devtools/flows/route.ts +0 -63
- package/templates/app/api/v1/devtools/presets.ts +0 -113
- package/templates/app/api/v1/devtools/scheduled-actions/route.ts +0 -244
- package/templates/app/api/v1/devtools/scheduled-actions/run/route.ts +0 -111
- package/templates/app/api/v1/devtools/testing/route.ts +0 -84
- package/templates/app/api/v1/media/[id]/route.ts +0 -168
- package/templates/app/api/v1/media/[id]/tags/route.ts +0 -212
- package/templates/app/api/v1/media/check-duplicates/route.ts +0 -66
- package/templates/app/api/v1/media/docs.md +0 -117
- package/templates/app/api/v1/media/presets.ts +0 -24
- package/templates/app/api/v1/media/route.ts +0 -64
- package/templates/app/api/v1/media/upload/route.ts +0 -274
- package/templates/app/api/v1/media-tags/route.ts +0 -81
- package/templates/app/api/v1/patterns/[id]/usages/route.ts +0 -108
- package/templates/app/api/v1/plugin/[...path]/route.ts +0 -374
- package/templates/app/api/v1/plugin/docs.md +0 -79
- package/templates/app/api/v1/plugin/presets.ts +0 -21
- package/templates/app/api/v1/plugin/route.ts +0 -97
- package/templates/app/api/v1/post-categories/[id]/route.ts +0 -258
- package/templates/app/api/v1/post-categories/docs.md +0 -134
- package/templates/app/api/v1/post-categories/presets.ts +0 -78
- package/templates/app/api/v1/post-categories/route.ts +0 -121
- package/templates/app/api/v1/team-invitations/[token]/accept/route.ts +0 -177
- package/templates/app/api/v1/team-invitations/[token]/decline/route.ts +0 -118
- package/templates/app/api/v1/team-invitations/[token]/route.ts +0 -90
- package/templates/app/api/v1/team-invitations/docs.md +0 -88
- package/templates/app/api/v1/team-invitations/presets.ts +0 -43
- package/templates/app/api/v1/team-invitations/route.ts +0 -113
- package/templates/app/api/v1/teams/[teamId]/invitations/route.ts +0 -181
- package/templates/app/api/v1/teams/[teamId]/invoices/[invoiceNumber]/route.ts +0 -105
- package/templates/app/api/v1/teams/[teamId]/invoices/route.ts +0 -125
- package/templates/app/api/v1/teams/[teamId]/members/[memberId]/route.ts +0 -260
- package/templates/app/api/v1/teams/[teamId]/members/route.ts +0 -350
- package/templates/app/api/v1/teams/[teamId]/route.ts +0 -289
- package/templates/app/api/v1/teams/[teamId]/subscription/route.ts +0 -51
- package/templates/app/api/v1/teams/[teamId]/usage/[limitSlug]/route.ts +0 -96
- package/templates/app/api/v1/teams/docs.md +0 -315
- package/templates/app/api/v1/teams/presets.ts +0 -178
- package/templates/app/api/v1/teams/route.ts +0 -305
- package/templates/app/api/v1/teams/switch/route.ts +0 -106
- package/templates/app/api/v1/theme/[...path]/route.ts +0 -383
- package/templates/app/api/v1/theme/docs.md +0 -74
- package/templates/app/api/v1/theme/presets.ts +0 -21
- package/templates/app/api/v1/theme/route.ts +0 -97
- package/templates/app/api/v1/users/[id]/meta/[key]/route.ts +0 -313
- package/templates/app/api/v1/users/[id]/route.ts +0 -270
- package/templates/app/api/v1/users/docs.md +0 -93
- package/templates/app/api/v1/users/presets.ts +0 -59
- package/templates/app/api/v1/users/route.ts +0 -194
- package/templates/app/dashboard/(main)/[entity]/[id]/edit/page.tsx +0 -117
- package/templates/app/dashboard/(main)/[entity]/[id]/page.tsx +0 -85
- package/templates/app/dashboard/(main)/[entity]/create/page.tsx +0 -95
- package/templates/app/dashboard/(main)/[entity]/error.tsx +0 -51
- package/templates/app/dashboard/(main)/[entity]/layout.tsx +0 -115
- package/templates/app/dashboard/(main)/[entity]/loading.tsx +0 -64
- package/templates/app/dashboard/(main)/[entity]/page.tsx +0 -71
- package/templates/app/dashboard/(main)/layout.tsx +0 -99
- package/templates/app/dashboard/(main)/loading.tsx +0 -8
- package/templates/app/dashboard/(main)/media/page.tsx +0 -621
- package/templates/app/dashboard/(main)/page.tsx +0 -201
- package/templates/app/dashboard/(main)/patterns/[id]/edit/page.tsx +0 -117
- package/templates/app/dashboard/(main)/patterns/[id]/page.tsx +0 -23
- package/templates/app/dashboard/(main)/patterns/[id]/reports/page.tsx +0 -174
- package/templates/app/dashboard/(main)/patterns/create/page.tsx +0 -89
- package/templates/app/dashboard/(main)/patterns/page.tsx +0 -447
- package/templates/app/dashboard/features/analytics/page.tsx +0 -38
- package/templates/app/dashboard/features/automation/page.tsx +0 -38
- package/templates/app/dashboard/features/layout.tsx +0 -16
- package/templates/app/dashboard/features/loading.tsx +0 -8
- package/templates/app/dashboard/features/webhooks/page.tsx +0 -38
- package/templates/app/dashboard/layout.tsx +0 -87
- package/templates/app/dashboard/permission-denied/page.tsx +0 -32
- package/templates/app/dashboard/settings/api-keys/loading.tsx +0 -8
- package/templates/app/dashboard/settings/api-keys/page.tsx +0 -516
- package/templates/app/dashboard/settings/billing/loading.tsx +0 -8
- package/templates/app/dashboard/settings/billing/page.tsx +0 -289
- package/templates/app/dashboard/settings/invoices/[invoiceNumber]/page.tsx +0 -222
- package/templates/app/dashboard/settings/invoices/loading.tsx +0 -8
- package/templates/app/dashboard/settings/invoices/page.tsx +0 -82
- package/templates/app/dashboard/settings/layout.tsx +0 -151
- package/templates/app/dashboard/settings/loading.tsx +0 -8
- package/templates/app/dashboard/settings/notifications/loading.tsx +0 -8
- package/templates/app/dashboard/settings/notifications/page.tsx +0 -462
- package/templates/app/dashboard/settings/page.tsx +0 -93
- package/templates/app/dashboard/settings/password/loading.tsx +0 -8
- package/templates/app/dashboard/settings/password/page.tsx +0 -305
- package/templates/app/dashboard/settings/plans/loading.tsx +0 -8
- package/templates/app/dashboard/settings/plans/page.tsx +0 -62
- package/templates/app/dashboard/settings/profile/loading.tsx +0 -8
- package/templates/app/dashboard/settings/profile/page.tsx +0 -688
- package/templates/app/dashboard/settings/security/loading.tsx +0 -8
- package/templates/app/dashboard/settings/security/page.tsx +0 -506
- package/templates/app/dashboard/settings/teams/loading.tsx +0 -8
- package/templates/app/dashboard/settings/teams/page.tsx +0 -272
- package/templates/app/dashboard/settings/teams/permissions/page.tsx +0 -95
- package/templates/app/devtools/api/[[...endpoint]]/page.tsx +0 -33
- package/templates/app/devtools/api/layout.tsx +0 -23
- package/templates/app/devtools/blocks/[slug]/page.tsx +0 -39
- package/templates/app/devtools/blocks/page.tsx +0 -40
- package/templates/app/devtools/config/page.tsx +0 -40
- package/templates/app/devtools/features/page.tsx +0 -40
- package/templates/app/devtools/flows/page.tsx +0 -40
- package/templates/app/devtools/layout.tsx +0 -65
- package/templates/app/devtools/page.tsx +0 -130
- package/templates/app/devtools/plugins/[plugin]/page.tsx +0 -17
- package/templates/app/devtools/scheduled-actions/page.tsx +0 -158
- package/templates/app/devtools/style/page.tsx +0 -330
- package/templates/app/devtools/tags/page.tsx +0 -40
- package/templates/app/devtools/tests/[[...path]]/page.tsx +0 -56
- package/templates/app/favicon.ico +0 -0
- package/templates/app/globals.css +0 -12
- package/templates/app/layout.ppr.tsx +0 -105
- package/templates/app/layout.tsx +0 -118
- package/templates/app/public/page.tsx +0 -30
- package/templates/app/superadmin/docs/[section]/[page]/page.tsx +0 -93
- package/templates/app/superadmin/docs/page.tsx +0 -75
- package/templates/app/superadmin/layout.tsx +0 -96
- package/templates/app/superadmin/page.tsx +0 -149
- package/templates/app/superadmin/plugins/[plugin]/page.tsx +0 -17
- package/templates/app/superadmin/subscriptions/page.tsx +0 -658
- package/templates/app/superadmin/team-roles/page.tsx +0 -493
- package/templates/app/superadmin/teams/[teamId]/page.tsx +0 -691
- package/templates/app/superadmin/teams/page.tsx +0 -302
- package/templates/app/superadmin/users/[userId]/page.tsx +0 -549
- package/templates/app/superadmin/users/page.tsx +0 -529
- package/templates/contents/plugins/README.md +0 -42
- package/templates/contents/plugins/starter/plugin/README.md.template +0 -97
- package/templates/contents/plugins/starter/plugin/api/example/route.ts.template +0 -94
- package/templates/contents/plugins/starter/plugin/hooks/usePlugin.ts.template +0 -102
- package/templates/contents/themes/.gitkeep +0 -0
- package/templates/contents/themes/starter/blocks/.gitkeep +0 -0
- package/templates/contents/themes/starter/blocks/cta-section/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/features-grid/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/hero/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/testimonials/config.ts +0 -11
- package/templates/contents/themes/starter/blocks/text-content/config.ts +0 -11
- package/templates/contents/themes/starter/emails/_README.md +0 -69
- package/templates/contents/themes/starter/entities/pages/pages.config.ts +0 -95
- package/templates/contents/themes/starter/entities/posts/posts.config.ts +0 -102
- package/templates/contents/themes/starter/entities/tasks/tasks.config.ts +0 -82
- package/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
- package/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +0 -1
- package/templates/contents/themes/starter/styles/globals.css +0 -214
- package/templates/contents/themes/starter/templates/(public)/loading.tsx +0 -5
- package/templates/contents/themes/starter/templates/(public)/page.tsx +0 -37
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/docs/README.md +0 -215
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/block-editor.bdd.md +0 -491
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.bdd.md +0 -147
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.bdd.md +0 -76
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.bdd.md +0 -326
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/patterns.bdd.md +0 -388
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.bdd.md +0 -266
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-billing.bdd.md +0 -78
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-layout.bdd.md +0 -129
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-password.bdd.md +0 -82
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-profile.bdd.md +0 -77
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/settings-teams.bdd.md +0 -130
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/superadmin.bdd.md +0 -261
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/tasks.bdd.md +0 -593
- package/templates/contents/themes/starter/tests/cypress/e2e/_utils/selectors/teams.bdd.md +0 -278
- package/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +0 -549
- package/templates/contents/themes/starter/tests/cypress.config.ts +0 -220
- package/templates/contents/themes/starter/tests/jest/example.test.tsx +0 -87
- package/templates/contents/themes/starter/tests/jest/jest.config.cjs +0 -95
- package/templates/contents/themes/starter/tests/jest/services/tasks.service.test.ts +0 -547
- package/templates/contents/themes/starter/tests/jest/tsconfig.jest.json +0 -8
- package/templates/contents/themes/starter/tests/tsconfig.json +0 -15
- package/templates/public/theme/blocks/cta-section/thumbnail.png +0 -1
- package/templates/public/theme/blocks/features-grid/thumbnail.png +0 -1
- package/templates/public/theme/blocks/hero/thumbnail.png +0 -1
- package/templates/public/theme/blocks/testimonials/thumbnail.png +0 -1
- package/templates/public/theme/blocks/text-content/thumbnail.png +0 -1
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.client.ts +0 -11
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-registry.ts +0 -11
- /package/dist/{templates/contents/plugins/.gitkeep → lib/entities/portable/types.js} +0 -0
- /package/dist/{templates/app → routes}/api/v1/[entity]/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/[entity]/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/api-keys/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/api-keys/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/auth/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/auth/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/billing/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/billing/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/blocks/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/cron/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/cron/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/media/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/media/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/post-categories/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/post-categories/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/team-invitations/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/team-invitations/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/teams/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/teams/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/users/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/users/presets.ts +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
- /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/jose.js +0 -0
- /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/next-server.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/README.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/about/business.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/about/features.json +0 -0
- /package/dist/templates/{contents/themes → projects/starter/blocks}/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
- /package/dist/templates/{contents/themes/starter/blocks → projects/starter/public/brand}/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
- /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/jose.js +0 -0
- /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/next-server.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
- /package/templates/{contents/themes → projects}/starter/README.md +0 -0
- /package/templates/{contents/themes → projects}/starter/about/business.md +0 -0
- /package/templates/{contents/themes → projects}/starter/about/features.json +0 -0
- /package/{dist/templates/contents/themes/starter/public/brand → templates/projects/starter/blocks}/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
- /package/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
- /package/templates/{contents/plugins → projects/starter/public/brand}/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render the portable contracts module (#203 stage 7b): the DTO types and zod schemas of the
|
|
3
|
+
* project's entities and the API response envelopes, as TypeScript sources.
|
|
4
|
+
*
|
|
5
|
+
* The output imports `zod` and nothing else - no Node built-ins, no server code, no registries -
|
|
6
|
+
* so a React Native app can import it. It is a pure function of its input, byte for byte:
|
|
7
|
+
* no timestamps, entities in slug order, fields in config order.
|
|
8
|
+
*
|
|
9
|
+
* ```
|
|
10
|
+
* src/index.ts export * from the envelope, the shared field schemas and the entities
|
|
11
|
+
* src/envelope.ts ApiSuccessResponse / ApiListResponse / ApiErrorResponse (+ zod schemas)
|
|
12
|
+
* src/fields.ts the schemas several field types share (address, uploaded file, media reference)
|
|
13
|
+
* src/schema/*.ts core's portable schema sources, copied verbatim (lib/entities/portable/)
|
|
14
|
+
* src/entities/index.ts export * of every entity module
|
|
15
|
+
* src/entities/<slug>.ts the entity descriptor, <Entity>, Create<Entity>Input, Update<Entity>Input, their schemas,
|
|
16
|
+
* one enum per option field
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Request schemas ARE the server's: each entity module calls `generateEntitySchemas` from the copied
|
|
20
|
+
* `src/schema/schema-generator.ts` on a literal descriptor of the entity, so what a client validates is what
|
|
21
|
+
* the server enforces. Response DTOs are rendered from the columns the handlers select (`entityResponseSystemColumns`,
|
|
22
|
+
* `taxonomyResponseFields`, evaluated from the same response-shape.ts the handlers import) and, for numbers, from
|
|
23
|
+
* what the `pg` driver delivers for the column's SQL type (`pgWireKind`).
|
|
24
|
+
*
|
|
25
|
+
* @module core/scripts/build/registry/contracts/render
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
import { wireKind } from './read-entities.mjs'
|
|
29
|
+
import { PORTABLE_FILES } from './portable.mjs'
|
|
30
|
+
|
|
31
|
+
export const CONTRACTS_HEADER = '// Generated by NextSpark (nextspark prepare). Do not edit: regenerated on every prepare.'
|
|
32
|
+
|
|
33
|
+
const quote = value => `'${String(value).replace(/\\/g, '\\\\').replace(/'/g, "\\'").replace(/\n/g, '\\n')}'`
|
|
34
|
+
|
|
35
|
+
/** `in-progress` -> `InProgress`, `visitDays` -> `VisitDays`. */
|
|
36
|
+
export function pascal(text) {
|
|
37
|
+
const words = String(text).replace(/([a-z0-9])([A-Z])/g, '$1 $2').split(/[^A-Za-z0-9]+/).filter(Boolean)
|
|
38
|
+
const joined = words.map(word => word[0].toUpperCase() + word.slice(1)).join('')
|
|
39
|
+
return /^[A-Za-z]/.test(joined) ? joined : `Entity${joined}`
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const camel = text => {
|
|
43
|
+
const value = pascal(text)
|
|
44
|
+
return value[0].toLowerCase() + value.slice(1)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** The singular form of a plural slug, for entities that do not name themselves (`categories` -> `category`). */
|
|
48
|
+
export function singularize(slug) {
|
|
49
|
+
if (/ies$/.test(slug)) return slug.replace(/ies$/, 'y')
|
|
50
|
+
if (/(?:ss|us|is)$/.test(slug)) return slug
|
|
51
|
+
if (/(?:ches|shes|xes|sses|zes)$/.test(slug)) return slug.replace(/es$/, '')
|
|
52
|
+
return slug.replace(/s$/, '')
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** The names an entity module exports, from the entity's contract. */
|
|
56
|
+
export function entityNames(contract) {
|
|
57
|
+
const singular = contract.singular && /[A-Za-z]/.test(contract.singular) ? contract.singular : singularize(contract.slug)
|
|
58
|
+
const base = pascal(singular)
|
|
59
|
+
return {
|
|
60
|
+
base,
|
|
61
|
+
schema: `${camel(base)}Schema`,
|
|
62
|
+
create: `Create${base}Input`,
|
|
63
|
+
createSchema: `create${base}InputSchema`,
|
|
64
|
+
update: `Update${base}Input`,
|
|
65
|
+
updateSchema: `update${base}InputSchema`,
|
|
66
|
+
apiPath: `${camel(contract.slug)}ApiPath`,
|
|
67
|
+
entity: `${camel(base)}Entity`,
|
|
68
|
+
createShape: `${camel(base)}CreateShape`,
|
|
69
|
+
updateShape: `${camel(base)}UpdateShape`,
|
|
70
|
+
schemas: `${camel(base)}Schemas`,
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const enumNames = (names, field, multi) => {
|
|
75
|
+
const stem = `${names.base}${pascal(field.name)}${multi ? 'Option' : ''}`
|
|
76
|
+
return { type: stem, schema: `${camel(stem)}Schema` }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const literalExpression = value => (typeof value === 'number' ? `z.literal(${value})` : `z.literal(${quote(value)})`)
|
|
80
|
+
|
|
81
|
+
function enumExpression(values) {
|
|
82
|
+
if (values.every(value => typeof value === 'string')) return `z.enum([${values.map(quote).join(', ')}])`
|
|
83
|
+
return values.length === 1 ? literalExpression(values[0]) : `z.union([${values.map(literalExpression).join(', ')}])`
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The zod expression of a field's value. `side` is `response` (what the handler returns: numbers follow the SQL column,
|
|
88
|
+
* `shape.pgWireKind`) or `request` (what a client should send, for the input types only: the server's own schema
|
|
89
|
+
* validates, and accepts a number or a numeric string).
|
|
90
|
+
*/
|
|
91
|
+
function valueExpression(field, names, { side, contract, shape, inlineEnums = false }) {
|
|
92
|
+
const wire = wireKind(field)
|
|
93
|
+
switch (wire.kind) {
|
|
94
|
+
case 'string':
|
|
95
|
+
return 'z.string()'
|
|
96
|
+
case 'number': {
|
|
97
|
+
if (side === 'request') return 'z.union([z.number(), z.string()])'
|
|
98
|
+
const column = contract.columnTypes?.[field.name]
|
|
99
|
+
const delivered = column ? shape.pgWireKind(column) : null
|
|
100
|
+
if (delivered === 'string') return 'z.string()'
|
|
101
|
+
if (delivered === 'number') return 'z.number()'
|
|
102
|
+
return 'z.union([z.number(), z.string()])'
|
|
103
|
+
}
|
|
104
|
+
case 'address':
|
|
105
|
+
return 'addressSchema'
|
|
106
|
+
case 'media':
|
|
107
|
+
return 'mediaRefSchema'
|
|
108
|
+
case 'image':
|
|
109
|
+
return 'z.union([z.string(), z.array(fileObjectSchema)])'
|
|
110
|
+
case 'files':
|
|
111
|
+
return 'z.array(fileObjectSchema)'
|
|
112
|
+
case 'id-list':
|
|
113
|
+
return side === 'request' ? 'z.array(z.string())' : 'z.union([z.array(z.string()), z.string()])'
|
|
114
|
+
case 'boolean':
|
|
115
|
+
return 'z.boolean()'
|
|
116
|
+
case 'tuple':
|
|
117
|
+
return 'z.tuple([z.number(), z.number()])'
|
|
118
|
+
case 'string-array':
|
|
119
|
+
return 'z.array(z.string())'
|
|
120
|
+
case 'enum':
|
|
121
|
+
return inlineEnums ? enumExpression(wire.values) : enumNames(names, field, false).schema
|
|
122
|
+
case 'enum-array':
|
|
123
|
+
return `z.array(${inlineEnums ? enumExpression(wire.values) : enumNames(names, field, true).schema})`
|
|
124
|
+
default:
|
|
125
|
+
return 'z.unknown()'
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/** Every name the entity module declares, to catch two entities that would export the same one. */
|
|
130
|
+
export function exportedNames(contract) {
|
|
131
|
+
const names = entityNames(contract)
|
|
132
|
+
const exported = [names.base, names.schema, names.create, names.createSchema, names.update, names.updateSchema, names.apiPath, names.entity]
|
|
133
|
+
for (const field of contract.fields) {
|
|
134
|
+
const wire = wireKind(field)
|
|
135
|
+
if (wire.kind === 'enum') exported.push(enumNames(names, field, false).type, enumNames(names, field, false).schema)
|
|
136
|
+
if (wire.kind === 'enum-array') exported.push(enumNames(names, field, true).type, enumNames(names, field, true).schema)
|
|
137
|
+
}
|
|
138
|
+
return exported
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const SHARED_FIELD_SCHEMAS = ['addressSchema', 'fileObjectSchema', 'mediaRefSchema']
|
|
142
|
+
|
|
143
|
+
const usesSharedSchema = (field, name) => {
|
|
144
|
+
const kind = wireKind(field).kind
|
|
145
|
+
return (name === 'addressSchema' && kind === 'address') || (name === 'mediaRefSchema' && kind === 'media') || (name === 'fileObjectSchema' && (kind === 'image' || kind === 'files'))
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/** Every name the envelope and the shared field schemas export: no entity may export one too. */
|
|
149
|
+
export const SHARED_EXPORTS = [
|
|
150
|
+
'apiInfoSchema', 'ApiInfo', 'paginationInfoSchema', 'PaginationInfo', 'ApiSuccessResponse', 'ApiListResponse', 'ApiErrorResponse', 'ApiResponse',
|
|
151
|
+
'apiSuccessResponseSchema', 'apiListResponseSchema', 'apiErrorResponseSchema',
|
|
152
|
+
'addressSchema', 'Address', 'fileObjectSchema', 'FileObject', 'mediaRefSchema', 'MediaRef',
|
|
153
|
+
]
|
|
154
|
+
|
|
155
|
+
const propertyLiteral = value => (typeof value === 'string' ? quote(value) : String(value))
|
|
156
|
+
|
|
157
|
+
const identifierKey = name => (/^[A-Za-z_$][\w$]*$/.test(name) ? name : quote(name))
|
|
158
|
+
|
|
159
|
+
/** One field of a descriptor as a literal (`api` is the top-level fields' only: child fields have none). */
|
|
160
|
+
function fieldLiteral(field, { api }) {
|
|
161
|
+
const parts = [`name: ${quote(field.name)}`, `type: ${quote(field.type)}`, `required: ${field.required}`]
|
|
162
|
+
if (field.defaultValue) parts.push(`defaultValue: ${propertyLiteral(field.defaultValue.value)}`)
|
|
163
|
+
for (const key of ['min', 'max', 'maxLength']) if (field[key] !== undefined) parts.push(`${key}: ${field[key]}`)
|
|
164
|
+
if (field.optionDescriptors) parts.push(`options: [${field.optionDescriptors.map(option => `{ value: ${propertyLiteral(option.value)}${option.label ? `, label: ${quote(option.label)}` : ''} }`).join(', ')}]`)
|
|
165
|
+
parts.push(`display: { label: ${quote(field.label)} }`)
|
|
166
|
+
if (api) parts.push(`api: { readOnly: ${field.readOnly} }`)
|
|
167
|
+
return `{ ${parts.join(', ')} }`
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/** The literal descriptor of the entity `generateEntitySchemas` is run on. */
|
|
171
|
+
function descriptorLiteral(contract, names) {
|
|
172
|
+
const singular = contract.singular && /[A-Za-z]/.test(contract.singular) ? contract.singular : singularize(contract.slug)
|
|
173
|
+
const lines = [`export const ${names.entity} = {`, ` slug: ${quote(contract.slug)},`, ` names: { singular: ${quote(singular)} },`, ' fields: [', ...contract.fields.map(field => ` ${fieldLiteral(field, { api: true })},`), ' ],']
|
|
174
|
+
if (contract.builder) lines.push(' builder: { enabled: true },')
|
|
175
|
+
if (contract.softDelete) lines.push(' table: { softDelete: true },')
|
|
176
|
+
if (contract.taxonomies.length > 0) lines.push(` taxonomies: { enabled: true, types: [${contract.taxonomies.map(type => `{ type: ${quote(type.type)}, field: ${quote(type.field)} }`).join(', ')}] },`)
|
|
177
|
+
if (contract.childEntities) {
|
|
178
|
+
lines.push(' childEntities: {')
|
|
179
|
+
for (const [name, child] of Object.entries(contract.childEntities)) lines.push(` ${identifierKey(name)}: {`, ` table: ${quote(child.table)},`, ' fields: [', ...child.fields.map(field => ` ${fieldLiteral(field, { api: false })},`), ' ],', ' },')
|
|
180
|
+
lines.push(' },')
|
|
181
|
+
}
|
|
182
|
+
lines.push('} satisfies EntityConfig')
|
|
183
|
+
return lines
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** The module of one entity. `shape` is the evaluated response-shape.ts of the core the contracts are generated with. */
|
|
187
|
+
export function renderEntity(contract, { source, shape } = {}) {
|
|
188
|
+
const names = entityNames(contract)
|
|
189
|
+
const isSystem = name => ['id', 'createdAt', 'updatedAt', 'userId', 'teamId'].includes(name)
|
|
190
|
+
const own = new Set(contract.fields.map(field => field.name))
|
|
191
|
+
const writable = contract.fields.filter(field => !field.readOnly && !isSystem(field.name))
|
|
192
|
+
const systemColumns = shape.entityResponseSystemColumns({ builder: { enabled: contract.builder }, table: { softDelete: contract.softDelete } }, { includeSoftDelete: true })
|
|
193
|
+
const taxonomyFields = shape.taxonomyResponseFields({ taxonomies: { enabled: contract.taxonomies.length > 0, types: contract.taxonomies } })
|
|
194
|
+
// The shared schemas any field needs, a child row's fields included (their input types use them too)
|
|
195
|
+
const everyField = [...contract.fields, ...Object.values(contract.childEntities ?? {}).flatMap(child => child.fields)]
|
|
196
|
+
const shared = SHARED_FIELD_SCHEMAS.filter(name => everyField.some(field => usesSharedSchema(field, name)))
|
|
197
|
+
const fromShape = ['builderBlockSchema', 'taxonomyTermSchema', 'metasResponseSchema', 'childrenResponseSchema']
|
|
198
|
+
const usedFromShape = ['metasResponseSchema', 'childrenResponseSchema', ...(contract.builder ? ['builderBlockSchema'] : []), ...(taxonomyFields.length > 0 ? ['taxonomyTermSchema'] : [])]
|
|
199
|
+
.filter((name, index, all) => fromShape.includes(name) && all.indexOf(name) === index).sort()
|
|
200
|
+
|
|
201
|
+
const lines = [CONTRACTS_HEADER]
|
|
202
|
+
if (source) lines.push(`// Source: ${source}`)
|
|
203
|
+
for (const warning of contract.warnings) lines.push(`// Warning: ${warning}`)
|
|
204
|
+
lines.push('', "import { z } from 'zod'", "import type { EntityConfig } from '../schema/types'", "import { generateEntitySchemas } from '../schema/schema-generator'", `import { ${usedFromShape.join(', ')} } from '../schema/response-shape'`)
|
|
205
|
+
if (shared.length > 0) lines.push(`import { ${shared.join(', ')} } from '../fields'`)
|
|
206
|
+
lines.push('', `export const ${names.apiPath} = ${quote(`/api/v1/${contract.slug}`)}`, '')
|
|
207
|
+
|
|
208
|
+
lines.push('/** The entity as the server sees it: the request schemas below are generated from it by the server\'s own generator. */', ...descriptorLiteral(contract, names), '', `const ${names.schemas} = generateEntitySchemas(${names.entity})`, '')
|
|
209
|
+
|
|
210
|
+
for (const field of contract.fields) {
|
|
211
|
+
const wire = wireKind(field)
|
|
212
|
+
if (wire.kind !== 'enum' && wire.kind !== 'enum-array') continue
|
|
213
|
+
const declared = enumNames(names, field, wire.kind === 'enum-array')
|
|
214
|
+
lines.push(`export const ${declared.schema} = ${enumExpression(wire.values)}`, `export type ${declared.type} = z.infer<typeof ${declared.schema}>`, '')
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Response: the columns the handlers select, in their order, then the configured fields, the taxonomy expansions and the optional expansions
|
|
218
|
+
const response = []
|
|
219
|
+
const systemType = { blocks: 'z.array(builderBlockSchema).nullish()', deletedAt: 'z.string().nullish()', deletedBy: 'z.string().nullish()' }
|
|
220
|
+
for (const column of systemColumns) if (!own.has(column) || column === 'id') response.push(` ${column}: ${systemType[column] ?? 'z.string()'},`)
|
|
221
|
+
for (const field of contract.fields.filter(field => field.name !== 'id')) {
|
|
222
|
+
const present = field.required || field.hasDefault
|
|
223
|
+
response.push(` ${field.name}: ${valueExpression(field, names, { side: 'response', contract, shape })}${present ? '' : '.nullish()'},`)
|
|
224
|
+
}
|
|
225
|
+
for (const field of taxonomyFields) if (!own.has(field)) response.push(` ${field}: z.array(taxonomyTermSchema),`)
|
|
226
|
+
response.push(' metas: metasResponseSchema.optional(),', ' children: childrenResponseSchema.optional(),')
|
|
227
|
+
lines.push(`export const ${names.schema} = z.object({`, ...response, '})', `export type ${names.base} = z.infer<typeof ${names.schema}>`, '')
|
|
228
|
+
|
|
229
|
+
// Requests: the server's schemas, typed by what a client should send
|
|
230
|
+
// A child row is typed from the child's own fields, with the parent's semantics (required unless it has a default,
|
|
231
|
+
// enum options, numbers as a number or a numeric string) and an optional `id` (an existing row); the server's schema
|
|
232
|
+
// rejects the rows these types reject
|
|
233
|
+
const childRow = child => `z.object({ id: z.string().optional(), ${child.fields.map(field => `${identifierKey(field.name)}: ${valueExpression(field, names, { side: 'request', contract, shape, inlineEnums: true })}${field.required && !field.hasDefault ? '' : '.nullish()'}`).join(', ')} })`
|
|
234
|
+
const childKeys = contract.childEntities ? [` children: z.object({ ${Object.entries(contract.childEntities).map(([name, child]) => `${identifierKey(name)}: z.array(${childRow(child)}).optional()`).join(', ')} }).optional(),`] : []
|
|
235
|
+
const builderKeys = [...(contract.builder ? [' blocks: z.unknown().optional(),', ' settings: z.unknown().optional(),'] : []), ...childKeys]
|
|
236
|
+
const create = writable.map(field => ` ${field.name}: ${valueExpression(field, names, { side: 'request', contract, shape })}${field.required && !field.hasDefault ? '' : '.nullish()'},`)
|
|
237
|
+
const update = writable.map(field => ` ${field.name}: ${valueExpression(field, names, { side: 'request', contract, shape })}${field.required ? '.optional()' : '.nullish()'},`)
|
|
238
|
+
lines.push('// Types only: what a client should send. The schemas exported below are the server\'s, which also accept what it normalizes', `// (numeric strings, empty values) and, on update, the read-only columns of a row fetched earlier.`)
|
|
239
|
+
lines.push(`const ${names.createShape} = z.object({`, ...create, ...builderKeys, '})', `const ${names.updateShape} = z.object({`, ...update, ...builderKeys, '})', '')
|
|
240
|
+
lines.push(`export type ${names.create} = z.input<typeof ${names.createShape}>`, `export const ${names.createSchema} = ${names.schemas}.create as unknown as z.ZodType<${names.create}>`, '')
|
|
241
|
+
lines.push(`export type ${names.update} = z.input<typeof ${names.updateShape}>`, `export const ${names.updateSchema} = ${names.schemas}.update as unknown as z.ZodType<${names.update}>`, '')
|
|
242
|
+
return lines.join('\n')
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/** The API response envelopes, exactly what `createApiResponse` / `createApiError` put on the wire. */
|
|
246
|
+
export function renderEnvelope() {
|
|
247
|
+
return `${CONTRACTS_HEADER}
|
|
248
|
+
|
|
249
|
+
import { z } from 'zod'
|
|
250
|
+
|
|
251
|
+
/** \`info\` of every response: the timestamp, plus whatever the endpoint adds (pagination, \`created\`). */
|
|
252
|
+
export const apiInfoSchema = z.looseObject({ timestamp: z.string() })
|
|
253
|
+
export type ApiInfo = z.infer<typeof apiInfoSchema>
|
|
254
|
+
|
|
255
|
+
/** What a list endpoint adds to \`info\`. */
|
|
256
|
+
export const paginationInfoSchema = z.object({
|
|
257
|
+
page: z.number(),
|
|
258
|
+
limit: z.number(),
|
|
259
|
+
total: z.number(),
|
|
260
|
+
totalPages: z.number(),
|
|
261
|
+
hasNextPage: z.boolean(),
|
|
262
|
+
hasPrevPage: z.boolean(),
|
|
263
|
+
})
|
|
264
|
+
export type PaginationInfo = z.infer<typeof paginationInfoSchema>
|
|
265
|
+
|
|
266
|
+
export interface ApiSuccessResponse<T> {
|
|
267
|
+
success: true
|
|
268
|
+
data: T
|
|
269
|
+
info: ApiInfo
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
export interface ApiListResponse<T> {
|
|
273
|
+
success: true
|
|
274
|
+
data: T[]
|
|
275
|
+
info: ApiInfo & PaginationInfo
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
export interface ApiErrorResponse {
|
|
279
|
+
success: false
|
|
280
|
+
error: string
|
|
281
|
+
code: string
|
|
282
|
+
details?: unknown
|
|
283
|
+
info?: ApiInfo
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse
|
|
287
|
+
|
|
288
|
+
export function apiSuccessResponseSchema<T extends z.ZodType>(data: T) {
|
|
289
|
+
return z.object({ success: z.literal(true), data, info: apiInfoSchema })
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export function apiListResponseSchema<T extends z.ZodType>(item: T) {
|
|
293
|
+
return z.object({ success: z.literal(true), data: z.array(item), info: apiInfoSchema.extend(paginationInfoSchema.shape) })
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export const apiErrorResponseSchema = z.object({
|
|
297
|
+
success: z.literal(false),
|
|
298
|
+
error: z.string(),
|
|
299
|
+
code: z.string(),
|
|
300
|
+
details: z.unknown().optional(),
|
|
301
|
+
info: apiInfoSchema.optional(),
|
|
302
|
+
})
|
|
303
|
+
`
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/** The schemas several entities' field types share: the server's own (schema/schema-generator.ts, schema/media-ref.ts). */
|
|
307
|
+
export function renderFields() {
|
|
308
|
+
return `${CONTRACTS_HEADER}
|
|
309
|
+
|
|
310
|
+
import { z } from 'zod'
|
|
311
|
+
import { addressSchema, fileObjectSchema } from './schema/schema-generator'
|
|
312
|
+
import { mediaRefSchema } from './schema/media-ref'
|
|
313
|
+
|
|
314
|
+
export { addressSchema, fileObjectSchema, mediaRefSchema }
|
|
315
|
+
|
|
316
|
+
/** \`address\` fields. */
|
|
317
|
+
export type Address = z.infer<typeof addressSchema>
|
|
318
|
+
|
|
319
|
+
/** One uploaded file: the items of \`file\`, \`video\`, \`audio\` and multi-\`image\` fields. */
|
|
320
|
+
export type FileObject = z.infer<typeof fileObjectSchema>
|
|
321
|
+
|
|
322
|
+
/** \`media-library\` fields: a plain URL (legacy) or the media id with its url. */
|
|
323
|
+
export type MediaRef = z.infer<typeof mediaRefSchema>
|
|
324
|
+
`
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* Every file of the contracts module for these entity contracts (`{ contract, source }` in slug order) and the
|
|
329
|
+
* portable sources (`{ path, content }` from `readPortableSources`), as `{ path, content }` relative to the module
|
|
330
|
+
* root, sorted by path.
|
|
331
|
+
*/
|
|
332
|
+
export function renderContracts(entities, { portable = [], shape } = {}) {
|
|
333
|
+
const files = [...portable, { path: 'src/envelope.ts', content: renderEnvelope() }, { path: 'src/fields.ts', content: renderFields() }]
|
|
334
|
+
for (const { contract, source } of entities) files.push({ path: `src/entities/${contract.slug}.ts`, content: renderEntity(contract, { source, shape }) })
|
|
335
|
+
const entityExports = entities.map(({ contract }) => `export * from './${contract.slug}'`)
|
|
336
|
+
files.push({ path: 'src/entities/index.ts', content: `${CONTRACTS_HEADER}\n\n${entityExports.length > 0 ? `${entityExports.join('\n')}\n` : 'export {}\n'}` })
|
|
337
|
+
files.push({ path: 'src/index.ts', content: `${CONTRACTS_HEADER}\n\nexport * from './envelope'\nexport * from './fields'\nexport * from './entities'\n` })
|
|
338
|
+
return files.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0))
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export { PORTABLE_FILES }
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every entity the project serves: the enabled plugins', core's and the project's, merged with the
|
|
3
|
+
* priority the registry build applies (plugins < core < project; a later entity replaces an earlier one
|
|
4
|
+
* of the same name).
|
|
5
|
+
*
|
|
6
|
+
* The registry build (registry.mjs) merges the discoveries it already ran; `nextspark prepare` needs the
|
|
7
|
+
* same list to write the per-entity routes of the generated host (host/entity-routes.mjs), so both share
|
|
8
|
+
* `mergeEntities` and the host calls `discoverAllEntities`.
|
|
9
|
+
*
|
|
10
|
+
* @module core/scripts/build/registry/discovery/all-entities
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { discoverCoreEntities } from './core-entities.mjs'
|
|
14
|
+
import { discoverPlugins } from './plugins.mjs'
|
|
15
|
+
import { assertNoPluginCollisions } from './plugin-capabilities.mjs'
|
|
16
|
+
import { discoverThemes } from './themes.mjs'
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Merge the discovered plugin, core and project entities.
|
|
20
|
+
*
|
|
21
|
+
* @param {object} input
|
|
22
|
+
* @param {object[]} input.plugins - `discoverPlugins()`
|
|
23
|
+
* @param {object[]} input.coreEntities - `discoverCoreEntities()`
|
|
24
|
+
* @param {object[]} input.themes - `discoverThemes()` (the project's contribution)
|
|
25
|
+
* @param {(entity: object, replaced: object) => void} [input.onOverride] - called when an entity replaces one of the same name
|
|
26
|
+
* @returns {object[]}
|
|
27
|
+
*/
|
|
28
|
+
export function mergeEntities({ plugins, coreEntities, themes, onOverride }) {
|
|
29
|
+
// Core and the project may replace a plugin's entity; two plugins providing one is a collision, whatever their order.
|
|
30
|
+
assertNoPluginCollisions(plugins)
|
|
31
|
+
const merged = [
|
|
32
|
+
...plugins.flatMap(plugin => plugin.entities ?? []), // lowest priority
|
|
33
|
+
...coreEntities, // core framework entities
|
|
34
|
+
...themes.flatMap(theme => theme.entities ?? []), // highest priority (can override core)
|
|
35
|
+
]
|
|
36
|
+
const byName = new Map()
|
|
37
|
+
for (const entity of merged) {
|
|
38
|
+
const replaced = byName.get(entity.name)
|
|
39
|
+
if (replaced) {
|
|
40
|
+
onOverride?.(entity, replaced)
|
|
41
|
+
// A project config of a core entity's name is that entity, customized (the host must not take its name for a new entity's)
|
|
42
|
+
if (replaced.isCore || replaced.overridesCore) entity.overridesCore = true
|
|
43
|
+
}
|
|
44
|
+
byName.set(entity.name, entity)
|
|
45
|
+
}
|
|
46
|
+
return Array.from(byName.values())
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Discover and merge every entity of the project described by `config` (`getConfig()`).
|
|
51
|
+
* `includeCore: false` leaves core's own entities out (the host serves those with core's own routes).
|
|
52
|
+
*/
|
|
53
|
+
export async function discoverAllEntities(config, { includeCore = true } = {}) {
|
|
54
|
+
const [plugins, coreEntities, themes] = await Promise.all([discoverPlugins(config), discoverCoreEntities(config), discoverThemes(config)])
|
|
55
|
+
const merged = mergeEntities({ plugins, coreEntities, themes })
|
|
56
|
+
return includeCore ? merged : merged.filter(entity => !entity.isCore)
|
|
57
|
+
}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* Discovers API preset and documentation files from multiple sources:
|
|
5
5
|
*
|
|
6
6
|
* Priority (highest to lowest):
|
|
7
|
-
* 1.
|
|
8
|
-
* 2. Entity folders:
|
|
9
|
-
* 3. Core routes: packages/core/
|
|
7
|
+
* 1. Project custom routes: api/**\/docs.md and presets.ts
|
|
8
|
+
* 2. Entity folders: entities/*\/api/docs.md and presets.ts
|
|
9
|
+
* 3. Core routes: next to core's route modules, packages/core/src/routes/api/**\/docs.md and presets.ts
|
|
10
|
+
* (dist/routes/api in the published package)
|
|
10
11
|
*
|
|
11
12
|
* @module core/scripts/build/registry/discovery/api-presets
|
|
12
13
|
*/
|
|
@@ -291,16 +292,7 @@ function deriveEndpointFromRoute(routePath) {
|
|
|
291
292
|
* @returns {string} Path to store in registry (with forward slashes)
|
|
292
293
|
*/
|
|
293
294
|
function getStoragePath(absolutePath, config) {
|
|
294
|
-
|
|
295
|
-
if (config.isMonorepoMode) {
|
|
296
|
-
// In monorepo, use path relative to monorepo root
|
|
297
|
-
result = relative(config.monorepoRoot, absolutePath)
|
|
298
|
-
} else {
|
|
299
|
-
// In npm mode, use path relative to project root with contents/ prefix
|
|
300
|
-
result = relative(config.projectRoot, absolutePath)
|
|
301
|
-
}
|
|
302
|
-
// Always normalize to forward slashes (Windows uses backslashes)
|
|
303
|
-
return normalizePath(result)
|
|
295
|
+
return normalizePath(relative(config.projectRoot, absolutePath))
|
|
304
296
|
}
|
|
305
297
|
|
|
306
298
|
/**
|
|
@@ -349,8 +341,8 @@ async function findFilesRecursive(dir, filename) {
|
|
|
349
341
|
* @param {Set} processedEndpoints - Set of already processed endpoints
|
|
350
342
|
*/
|
|
351
343
|
async function discoverEntityFolders(config, results, processedEndpoints) {
|
|
352
|
-
const themeName = config.
|
|
353
|
-
const entitiesDir = join(config.
|
|
344
|
+
const themeName = config.projectName
|
|
345
|
+
const entitiesDir = join(config.projectSourceDir, 'entities')
|
|
354
346
|
|
|
355
347
|
if (!existsSync(entitiesDir)) {
|
|
356
348
|
verbose(`No entities directory found for theme "${themeName}"`)
|
|
@@ -432,13 +424,13 @@ async function discoverEntityFolders(config, results, processedEndpoints) {
|
|
|
432
424
|
}
|
|
433
425
|
|
|
434
426
|
/**
|
|
435
|
-
* Discover docs and presets from
|
|
427
|
+
* Discover docs and presets from project custom routes
|
|
436
428
|
* @param {object} config - Configuration object
|
|
437
429
|
* @param {object} results - Results accumulator
|
|
438
430
|
* @param {Set} processedEndpoints - Set of already processed endpoints
|
|
439
431
|
*/
|
|
440
432
|
async function discoverThemeRoutes(config, results, processedEndpoints) {
|
|
441
|
-
const themeName = config.
|
|
433
|
+
const themeName = config.projectName
|
|
442
434
|
|
|
443
435
|
// Process every docs.md / presets.ts under `baseDir`, mapping each route
|
|
444
436
|
// directory to an endpoint via `endpointForDir(routeDir)`.
|
|
@@ -514,18 +506,11 @@ async function discoverThemeRoutes(config, results, processedEndpoints) {
|
|
|
514
506
|
}
|
|
515
507
|
}
|
|
516
508
|
|
|
517
|
-
//
|
|
518
|
-
//
|
|
519
|
-
const
|
|
520
|
-
await processTree(join(appDir, 'api'), (routeDir) =>
|
|
521
|
-
'/' + normalizePath(relative(appDir, routeDir))
|
|
522
|
-
)
|
|
523
|
-
|
|
524
|
-
// Colocated tree: {theme}/api/** — docs/presets live next to the route handler,
|
|
525
|
-
// mapped the same way the handlers are (api/foo -> /api/v1/theme/{theme}/foo).
|
|
526
|
-
const apiDir = join(config.themesDir, themeName, 'api')
|
|
509
|
+
// Root-first route source: api/** — docs/presets live next to the route handler and follow it to
|
|
510
|
+
// its URL: the project's api/ is served at /api/<path> (api/ai/usage -> /api/ai/usage).
|
|
511
|
+
const apiDir = join(config.projectSourceDir, 'api')
|
|
527
512
|
await processTree(apiDir, (routeDir) =>
|
|
528
|
-
'/api/
|
|
513
|
+
'/api/' + normalizePath(relative(apiDir, routeDir))
|
|
529
514
|
)
|
|
530
515
|
}
|
|
531
516
|
|
|
@@ -536,9 +521,12 @@ async function discoverThemeRoutes(config, results, processedEndpoints) {
|
|
|
536
521
|
* @param {Set} processedEndpoints - Set of already processed endpoints
|
|
537
522
|
*/
|
|
538
523
|
async function discoverCoreRoutes(config, results, processedEndpoints) {
|
|
539
|
-
|
|
524
|
+
// Core's docs and presets sit next to its route modules: src/routes in a source checkout, dist/routes in
|
|
525
|
+
// the published package. The route path under them is the URL (routes/api/v1/billing -> /api/v1/billing).
|
|
526
|
+
const routesDir = ['src/routes', 'dist/routes'].map(dir => join(config.coreDir, dir)).find(dir => existsSync(join(dir, 'api')))
|
|
527
|
+
const coreApiDir = routesDir ? join(routesDir, 'api') : join(config.coreDir, 'src', 'routes', 'api')
|
|
540
528
|
|
|
541
|
-
if (!
|
|
529
|
+
if (!routesDir) {
|
|
542
530
|
verbose('No core API routes found')
|
|
543
531
|
return
|
|
544
532
|
}
|
|
@@ -551,7 +539,7 @@ async function discoverCoreRoutes(config, results, processedEndpoints) {
|
|
|
551
539
|
for (const docsPath of docFiles) {
|
|
552
540
|
try {
|
|
553
541
|
const routeDir = dirname(docsPath)
|
|
554
|
-
const relativeDir = relative(
|
|
542
|
+
const relativeDir = relative(routesDir, routeDir)
|
|
555
543
|
const endpoint = '/' + normalizePath(relativeDir)
|
|
556
544
|
|
|
557
545
|
// Skip if already processed by theme or entity
|
|
@@ -583,7 +571,7 @@ async function discoverCoreRoutes(config, results, processedEndpoints) {
|
|
|
583
571
|
for (const presetsPath of presetFiles) {
|
|
584
572
|
try {
|
|
585
573
|
const routeDir = dirname(presetsPath)
|
|
586
|
-
const relativeDir = relative(
|
|
574
|
+
const relativeDir = relative(routesDir, routeDir)
|
|
587
575
|
const endpoint = '/' + normalizePath(relativeDir)
|
|
588
576
|
|
|
589
577
|
// Skip if already processed by theme or entity
|
|
@@ -620,7 +608,7 @@ async function discoverCoreRoutes(config, results, processedEndpoints) {
|
|
|
620
608
|
* Discover all API presets and docs from multiple sources
|
|
621
609
|
*
|
|
622
610
|
* Priority (highest to lowest):
|
|
623
|
-
* 1.
|
|
611
|
+
* 1. Project custom routes
|
|
624
612
|
* 2. Entity folders
|
|
625
613
|
* 3. Core routes
|
|
626
614
|
*
|
|
@@ -633,19 +621,8 @@ export async function discoverApiPresets(config = DEFAULT_CONFIG) {
|
|
|
633
621
|
const results = { presets: [], docs: [] }
|
|
634
622
|
const processedEndpoints = new Set()
|
|
635
623
|
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
// Still discover core routes
|
|
639
|
-
await discoverCoreRoutes(config, results, processedEndpoints)
|
|
640
|
-
|
|
641
|
-
if (results.presets.length > 0 || results.docs.length > 0) {
|
|
642
|
-
log(`Found ${results.presets.length} preset files and ${results.docs.length} doc files (core only)`, 'success')
|
|
643
|
-
}
|
|
644
|
-
return results
|
|
645
|
-
}
|
|
646
|
-
|
|
647
|
-
// 1. Theme custom routes (highest priority)
|
|
648
|
-
verbose('Checking theme custom routes...')
|
|
624
|
+
// 1. Project custom routes (highest priority)
|
|
625
|
+
verbose('Checking project custom routes...')
|
|
649
626
|
await discoverThemeRoutes(config, results, processedEndpoints)
|
|
650
627
|
|
|
651
628
|
// 2. Entity folders (second priority)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Auth Discovery
|
|
3
3
|
*
|
|
4
|
-
* Discovers authentication configuration files from
|
|
4
|
+
* Discovers authentication configuration files from the project auth directory
|
|
5
5
|
*
|
|
6
6
|
* @module core/scripts/build/registry/discovery/auth
|
|
7
7
|
*/
|
|
@@ -10,7 +10,6 @@ import { readFile } from 'fs/promises'
|
|
|
10
10
|
import { join } from 'path'
|
|
11
11
|
import { existsSync } from 'fs'
|
|
12
12
|
|
|
13
|
-
import { CONFIG } from '../config.mjs'
|
|
14
13
|
import { verbose } from '../../../utils/index.mjs'
|
|
15
14
|
|
|
16
15
|
/**
|
|
@@ -18,8 +17,8 @@ import { verbose } from '../../../utils/index.mjs'
|
|
|
18
17
|
* Looks for roles.json in the auth directory
|
|
19
18
|
* @returns {Promise<Array<{type: string, path: string, data: object, relativePath: string}>>}
|
|
20
19
|
*/
|
|
21
|
-
export async function discoverAuthConfig() {
|
|
22
|
-
const authDir = join(
|
|
20
|
+
export async function discoverAuthConfig(config) {
|
|
21
|
+
const authDir = join(config.projectSourceDir, 'auth')
|
|
23
22
|
const authConfig = []
|
|
24
23
|
|
|
25
24
|
try {
|