@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tests for the check of where the registry build writes, which the build runs
|
|
3
|
-
* before writing anything and `nextspark
|
|
3
|
+
* before writing anything and `nextspark dev` and `prepare --watch` run from
|
|
4
4
|
* the installed core: a symlink, something of another kind or that can't be
|
|
5
5
|
* read, or a .gitignore of .nextspark/backups or .nextspark/registries that
|
|
6
6
|
* would not keep what is beside it out of git, is found, and a build that finds
|
|
@@ -50,33 +50,17 @@ test('a symlink where the build or a caller writes, or something else in the way
|
|
|
50
50
|
const outside = await directory()
|
|
51
51
|
try {
|
|
52
52
|
await writeIn(outside.root, 'dashboard/layout.tsx')
|
|
53
|
-
await mkdir(join(root, 'app'), { recursive: true })
|
|
54
53
|
await writeIn(root, '.nextspark/backups/2026-09-16T00-00-00-000Z-q1w2e3/i18n.ts')
|
|
55
54
|
|
|
56
55
|
assert.deepEqual(unsafeWritePlaces(root), [])
|
|
57
56
|
|
|
58
|
-
await symlink(outside.root, join(root, '
|
|
59
|
-
assert.deepEqual(unsafeWritePlaces(root), [{ path: 'app/(templates)', problem: 'is a symlink' }])
|
|
60
|
-
|
|
61
|
-
await rm(join(root, 'app/(templates)'))
|
|
62
|
-
await mkdir(join(root, 'app/(templates)/(public)'), { recursive: true })
|
|
63
|
-
await symlink(join(outside.root, 'dashboard'), join(root, 'app/(templates)/(public)/dashboard'))
|
|
64
|
-
await symlink(join(outside.root, 'missing'), join(root, '.nextspark/sync-state.json'))
|
|
57
|
+
await symlink(join(outside.root, 'missing'), join(root, '.nextspark/generation.json'))
|
|
65
58
|
await symlink(join(outside.root, 'dashboard'), join(root, '.nextspark/registries'))
|
|
66
|
-
|
|
67
|
-
await symlink(join(outside.root, 'globals.css'), join(root, 'app/globals.css'))
|
|
68
|
-
assert.deepEqual(unsafeWritePlaces(root, ['app/dashboard/page.tsx', 'app/layout.tsx', 'i18n.ts', '.nextspark/sync-state.json']), [
|
|
69
|
-
{ path: 'app/globals.css', problem: 'is a symlink' },
|
|
59
|
+
assert.deepEqual(unsafeWritePlaces(root, ['i18n.ts', '.nextspark/generation.json']), [
|
|
70
60
|
{ path: '.nextspark/registries', problem: 'is a symlink' },
|
|
71
|
-
{ path: '
|
|
72
|
-
{ path: '.nextspark/sync-state.json', problem: 'is a symlink' },
|
|
73
|
-
{ path: 'app/(templates)/(public)/dashboard', problem: 'is a symlink' },
|
|
61
|
+
{ path: '.nextspark/generation.json', problem: 'is a symlink' },
|
|
74
62
|
])
|
|
75
|
-
assert.deepEqual(unsafeWritePlaces(root).map(({ path }) => path), [
|
|
76
|
-
'app/globals.css',
|
|
77
|
-
'.nextspark/registries',
|
|
78
|
-
'app/(templates)/(public)/dashboard',
|
|
79
|
-
], 'app/dashboard and the sync state count only for a caller that writes under them')
|
|
63
|
+
assert.deepEqual(unsafeWritePlaces(root).map(({ path }) => path), ['.nextspark/registries'], 'the generation record counts only for a caller that writes it')
|
|
80
64
|
|
|
81
65
|
await rm(join(root, '.nextspark/registries'))
|
|
82
66
|
await mkdir(join(root, '.nextspark/registries'))
|
|
@@ -85,29 +69,16 @@ test('a symlink where the build or a caller writes, or something else in the way
|
|
|
85
69
|
|
|
86
70
|
await rm(join(root, '.nextspark/registries/index.ts'))
|
|
87
71
|
await mkdir(join(root, '.nextspark/registries/index.ts'))
|
|
88
|
-
await mkdir(join(root, 'app/(templates)/(public)/page.tsx'), { recursive: true })
|
|
89
|
-
await rm(join(root, 'app/dashboard'))
|
|
90
|
-
await writeFile(join(root, 'app/dashboard'), '')
|
|
91
|
-
await rm(join(root, 'app/globals.css'))
|
|
92
|
-
await mkdir(join(root, 'app/globals.css'))
|
|
93
72
|
await mkdir(join(root, 'i18n.ts'))
|
|
94
|
-
assert.deepEqual(unsafeWritePlaces(root, ['
|
|
95
|
-
{ path: 'app/globals.css', problem: 'is not a file' },
|
|
96
|
-
{ path: 'app/dashboard', problem: 'is not a directory' },
|
|
73
|
+
assert.deepEqual(unsafeWritePlaces(root, ['i18n.ts', '.nextspark/generation.json']), [
|
|
97
74
|
{ path: 'i18n.ts', problem: 'is not a file' },
|
|
98
|
-
{ path: '.nextspark/
|
|
99
|
-
{ path: 'app/(templates)/(public)/dashboard', problem: 'is a symlink' },
|
|
75
|
+
{ path: '.nextspark/generation.json', problem: 'is a symlink' },
|
|
100
76
|
{ path: '.nextspark/registries/index.ts', problem: 'is not a file' },
|
|
101
|
-
]
|
|
77
|
+
])
|
|
102
78
|
|
|
103
79
|
await rm(join(root, '.nextspark'), { recursive: true })
|
|
104
80
|
await writeFile(join(root, '.nextspark'), '')
|
|
105
|
-
|
|
106
|
-
await symlink(outside.root, join(root, 'app'))
|
|
107
|
-
assert.deepEqual(unsafeWritePlaces(root), [
|
|
108
|
-
{ path: 'app', problem: 'is a symlink' },
|
|
109
|
-
{ path: '.nextspark', problem: 'is not a directory' },
|
|
110
|
-
])
|
|
81
|
+
assert.deepEqual(unsafeWritePlaces(root), [{ path: '.nextspark', problem: 'is not a directory' }])
|
|
111
82
|
} finally {
|
|
112
83
|
await outside.cleanup()
|
|
113
84
|
await cleanup()
|
|
@@ -117,25 +88,45 @@ test('a symlink where the build or a caller writes, or something else in the way
|
|
|
117
88
|
test('a directory the build lists that cannot be read is found', { skip: RUNS_AS_ROOT }, async () => {
|
|
118
89
|
const { root, cleanup } = await directory()
|
|
119
90
|
try {
|
|
120
|
-
await mkdir(join(root, 'app/(templates)/dashboard'), { recursive: true })
|
|
121
91
|
await mkdir(join(root, '.nextspark/registries'), { recursive: true })
|
|
122
92
|
await mkdir(join(root, '.nextspark/backups'), { recursive: true })
|
|
123
|
-
await chmod(join(root, 'app/(templates)/dashboard'), 0)
|
|
124
93
|
await chmod(join(root, '.nextspark/registries'), 0)
|
|
125
94
|
await chmod(join(root, '.nextspark/backups'), 0)
|
|
126
95
|
assert.deepEqual(unsafeWritePlaces(root), [
|
|
127
96
|
{ path: '.nextspark/backups', problem: "can't be read" },
|
|
128
97
|
{ path: '.nextspark/registries', problem: "can't be read" },
|
|
129
|
-
{ path: 'app/(templates)/dashboard', problem: "can't be read" },
|
|
130
98
|
])
|
|
131
99
|
} finally {
|
|
132
|
-
await chmod(join(root, 'app/(templates)/dashboard'), 0o755).catch(() => {})
|
|
133
100
|
await chmod(join(root, '.nextspark/registries'), 0o755).catch(() => {})
|
|
134
101
|
await chmod(join(root, '.nextspark/backups'), 0o755).catch(() => {})
|
|
135
102
|
await cleanup()
|
|
136
103
|
}
|
|
137
104
|
})
|
|
138
105
|
|
|
106
|
+
test('the template-scopes registries an older build left may be a directory (the host removes them), and are still guarded', async () => {
|
|
107
|
+
const { root, cleanup } = await directory()
|
|
108
|
+
const outside = await directory()
|
|
109
|
+
try {
|
|
110
|
+
await writeIn(root, '.nextspark/registries/template-scopes/server/(public)/page.ts', '/** Auto-generated route-scoped template registry; do not edit. */\n')
|
|
111
|
+
assert.deepEqual(unsafeWritePlaces(root), [])
|
|
112
|
+
|
|
113
|
+
await symlink(join(outside.root, 'scope'), join(root, '.nextspark/registries/template-scopes/server/(public)/link'))
|
|
114
|
+
assert.deepEqual(unsafeWritePlaces(root), [{ path: '.nextspark/registries/template-scopes/server/(public)/link', problem: 'is a symlink' }])
|
|
115
|
+
await rm(join(root, '.nextspark/registries/template-scopes/server/(public)/link'))
|
|
116
|
+
|
|
117
|
+
await rm(join(root, '.nextspark/registries/template-scopes'), { recursive: true })
|
|
118
|
+
await writeIn(root, '.nextspark/registries/template-scopes', '')
|
|
119
|
+
assert.deepEqual(unsafeWritePlaces(root), [{ path: '.nextspark/registries/template-scopes', problem: 'is not a directory' }])
|
|
120
|
+
|
|
121
|
+
await rm(join(root, '.nextspark/registries/template-scopes'))
|
|
122
|
+
await mkdir(join(root, '.nextspark/registries/other'), { recursive: true })
|
|
123
|
+
assert.deepEqual(unsafeWritePlaces(root), [{ path: '.nextspark/registries/other', problem: 'is not a file' }], 'no other subtree is')
|
|
124
|
+
} finally {
|
|
125
|
+
await outside.cleanup()
|
|
126
|
+
await cleanup()
|
|
127
|
+
}
|
|
128
|
+
})
|
|
129
|
+
|
|
139
130
|
test('a .nextspark/backups/.gitignore counts as in place only as a readable file with * as its one pattern, and anything else is found', async () => {
|
|
140
131
|
const contents = [
|
|
141
132
|
['*\n', 'in place'],
|
|
@@ -230,7 +221,7 @@ test('the .gitignore kept in .nextspark/backups ignores a backup whatever its di
|
|
|
230
221
|
await writeIn(root, '.nextspark/.gitignore', '!backups/\n!backups/**\n')
|
|
231
222
|
await writeIn(root, '.nextspark/backups/2026-09-16T00-00-00-000Z-r3g1st/.gitignore', '!*\n')
|
|
232
223
|
const backups = [
|
|
233
|
-
'.nextspark/backups/2026-09-16T00-00-00-000Z-Zz9Qa1/app/(templates)/(public)/page.tsx',
|
|
224
|
+
'.nextspark/backups/2026-09-16T00-00-00-000Z-Zz9Qa1/src/app/(templates)/(public)/page.tsx',
|
|
234
225
|
'.nextspark/backups/2026-09-16T00-00-00-000Z-r3g1st/i18n.ts',
|
|
235
226
|
'.nextspark/backups/named by hand/.env.local',
|
|
236
227
|
]
|
|
@@ -274,21 +265,19 @@ async function snapshot(root) {
|
|
|
274
265
|
return entries
|
|
275
266
|
}
|
|
276
267
|
|
|
277
|
-
/** A project for core's real registry build
|
|
268
|
+
/** A project for core's real registry build. */
|
|
278
269
|
async function buildableProject() {
|
|
279
270
|
const project = await directory()
|
|
280
|
-
await writeIn(project.root, '.
|
|
281
|
-
await writeIn(project.root, 'package.json', '{}')
|
|
282
|
-
await writeIn(project.root, '
|
|
283
|
-
await writeIn(project.root, 'app/(templates)/stale/page.tsx', 'export default function Stale() { return null }\n')
|
|
284
|
-
await writeIn(project.root, 'contents/themes/acme/templates/pricing/page.tsx', 'export default function Pricing() { return null }\n')
|
|
271
|
+
await writeIn(project.root, 'nextspark.config.ts', 'export default {}\n')
|
|
272
|
+
await writeIn(project.root, 'package.json', '{"dependencies":{"next":"16.3.5"}}')
|
|
273
|
+
await writeIn(project.root, 'templates/pricing/page.tsx', 'export default function Pricing() { return null }\n')
|
|
285
274
|
return project
|
|
286
275
|
}
|
|
287
276
|
|
|
288
277
|
function runBuild(root) {
|
|
289
|
-
const result = spawnSync('node', ['scripts/build/registry.mjs'], {
|
|
290
|
-
cwd:
|
|
291
|
-
env:
|
|
278
|
+
const result = spawnSync('node', [join(CORE_DIR, 'scripts/build/registry.mjs')], {
|
|
279
|
+
cwd: root,
|
|
280
|
+
env: process.env,
|
|
292
281
|
encoding: 'utf8',
|
|
293
282
|
})
|
|
294
283
|
return { status: result.status, output: `${result.stdout}${result.stderr}` }
|
|
@@ -305,14 +294,6 @@ test("the registry build writes nothing, in the project or through it, when a pl
|
|
|
305
294
|
await mkdir(join(root, '.nextspark'), { recursive: true })
|
|
306
295
|
await symlink(outside, join(root, '.nextspark/registries'))
|
|
307
296
|
}, '.nextspark/registries is a symlink'],
|
|
308
|
-
['app/(templates) a symlink to a directory outside', async (root, outside) => {
|
|
309
|
-
await rm(join(root, 'app/(templates)'), { recursive: true })
|
|
310
|
-
await symlink(outside, join(root, 'app/(templates)'))
|
|
311
|
-
}, 'app/(templates) is a symlink'],
|
|
312
|
-
['app/globals.css a symlink to a file outside', async (root, outside) => {
|
|
313
|
-
await writeIn(outside, 'globals.css', '/* outside */\n')
|
|
314
|
-
await symlink(join(outside, 'globals.css'), join(root, 'app/globals.css'))
|
|
315
|
-
}, 'app/globals.css is a symlink'],
|
|
316
297
|
['a directory where a registry goes', async root => {
|
|
317
298
|
await writeIn(root, '.nextspark/registries/index.ts/stale.ts')
|
|
318
299
|
}, '.nextspark/registries/index.ts is not a file'],
|
|
@@ -322,29 +303,17 @@ test("the registry build writes nothing, in the project or through it, when a pl
|
|
|
322
303
|
['a registries .gitignore that takes the registries back', async root => {
|
|
323
304
|
await writeIn(root, REGISTRIES_GITIGNORE, '*\n!*.ts\n')
|
|
324
305
|
}, `${REGISTRIES_GITIGNORE} has patterns other than *`],
|
|
325
|
-
['
|
|
326
|
-
await writeIn(outside, 'v1/plugin/legacy/route.ts', '// Auto-generated Plugin Route Proxy\n')
|
|
327
|
-
await writeIn(outside, 'v1/plugin/legacy/other.ts', 'export const other = 1\n')
|
|
328
|
-
await symlink(outside, join(root, 'app/api'))
|
|
329
|
-
}, 'app/api is a symlink'],
|
|
330
|
-
["the active theme's fixtures directory a symlink to one outside", async (root, outside) => {
|
|
306
|
+
["the project's fixtures directory a symlink to one outside", async (root, outside) => {
|
|
331
307
|
await writeIn(outside, 'entities.json', '{"outside":true}\n')
|
|
332
308
|
await writeIn(outside, 'blocks.json', '{"outside":true}\n')
|
|
333
|
-
await mkdir(join(root, '
|
|
334
|
-
await symlink(outside, join(root, '
|
|
335
|
-
}, '
|
|
336
|
-
["the
|
|
309
|
+
await mkdir(join(root, 'tests/cypress'), { recursive: true })
|
|
310
|
+
await symlink(outside, join(root, 'tests/cypress/fixtures'))
|
|
311
|
+
}, 'tests/cypress/fixtures is a symlink'],
|
|
312
|
+
["the project's entities.json a symlink to a file outside", async (root, outside) => {
|
|
337
313
|
await writeIn(outside, 'entities.json', '{"outside":true}\n')
|
|
338
|
-
await mkdir(join(root, '
|
|
339
|
-
await symlink(join(outside, 'entities.json'), join(root, '
|
|
340
|
-
}, '
|
|
341
|
-
['the active theme a symlink to a directory outside with fixtures', async (root, outside) => {
|
|
342
|
-
await writeIn(outside, 'templates/pricing/page.tsx', 'export default function Pricing() { return null }\n')
|
|
343
|
-
await writeIn(outside, 'tests/cypress/fixtures/entities.json', '{"outside":true}\n')
|
|
344
|
-
await writeIn(outside, 'tests/cypress/fixtures/blocks.json', '{"outside":true}\n')
|
|
345
|
-
await rm(join(root, 'contents/themes/acme'), { recursive: true })
|
|
346
|
-
await symlink(outside, join(root, 'contents/themes/acme'))
|
|
347
|
-
}, 'contents/themes/acme is a symlink'],
|
|
314
|
+
await mkdir(join(root, 'tests/cypress/fixtures'), { recursive: true })
|
|
315
|
+
await symlink(join(outside, 'entities.json'), join(root, 'tests/cypress/fixtures/entities.json'))
|
|
316
|
+
}, 'tests/cypress/fixtures/entities.json is a symlink'],
|
|
348
317
|
...(RUNS_AS_ROOT ? [] : [['a backups .gitignore that cannot be read', async root => {
|
|
349
318
|
await writeIn(root, BACKUPS_GITIGNORE, '*\n')
|
|
350
319
|
await chmod(join(root, BACKUPS_GITIGNORE), 0)
|
|
@@ -375,51 +344,15 @@ test("the registry build writes nothing, in the project or through it, when a pl
|
|
|
375
344
|
|
|
376
345
|
const control = await buildableProject()
|
|
377
346
|
try {
|
|
378
|
-
await
|
|
379
|
-
await mkdir(join(control.root, 'contents/themes/acme/tests/cypress/fixtures'), { recursive: true })
|
|
347
|
+
await mkdir(join(control.root, 'tests/cypress/fixtures'), { recursive: true })
|
|
380
348
|
const { status } = runBuild(control.root)
|
|
381
349
|
if (status !== 0) wrong.push(`with nothing in the way, the build exited ${status}`)
|
|
382
350
|
if (!existsSync(join(control.root, '.nextspark/registries/index.ts'))) wrong.push('with nothing in the way, the build wrote no registry')
|
|
383
|
-
if (existsSync(join(control.root, '
|
|
384
|
-
if (existsSync(join(control.root, '
|
|
385
|
-
// entities.json is written only for a theme discovery finds, which this one, with no theme.config.ts, is not
|
|
386
|
-
if (!existsSync(join(control.root, 'contents/themes/acme/tests/cypress/fixtures/blocks.json'))) wrong.push('with nothing in the way, the build wrote no blocks.json')
|
|
351
|
+
if (existsSync(join(control.root, 'src'))) wrong.push('the registry build wrote into src')
|
|
352
|
+
if (!existsSync(join(control.root, 'tests/cypress/fixtures/blocks.json'))) wrong.push('with nothing in the way, the build wrote no blocks.json')
|
|
387
353
|
} finally {
|
|
388
354
|
await control.cleanup()
|
|
389
355
|
}
|
|
390
356
|
|
|
391
357
|
assert.deepEqual(wrong, [])
|
|
392
358
|
})
|
|
393
|
-
|
|
394
|
-
test("the registry build keeps .nextspark/registries out of git with a .gitignore of its own, while it runs and after, whatever the project's rules take back", async () => {
|
|
395
|
-
const project = await buildableProject()
|
|
396
|
-
const root = project.root
|
|
397
|
-
try {
|
|
398
|
-
execFileSync('git', ['init', '-q'], { cwd: root })
|
|
399
|
-
await writeFile(join(root, '.gitignore'), 'node_modules/\n.env\napp/(templates)/\n!.nextspark/\n!.nextspark/registries/**\n')
|
|
400
|
-
await writeIn(root, '.nextspark/.gitignore', '!registries/\n!registries/**\n')
|
|
401
|
-
await writeFile(join(root, '.git/info/exclude'), '!*\n')
|
|
402
|
-
const visible = () => execFileSync('git', ['status', '--porcelain', '--untracked-files=all'], { cwd: root, encoding: 'utf8' })
|
|
403
|
-
.split('\n').filter(line => line.includes('.nextspark/registries'))
|
|
404
|
-
|
|
405
|
-
const build = spawn('node', ['scripts/build/registry.mjs'], { cwd: CORE_DIR, env: { ...process.env, NEXTSPARK_PROJECT_ROOT: root }, stdio: 'ignore' })
|
|
406
|
-
let exited = null
|
|
407
|
-
build.on('exit', code => { exited = code })
|
|
408
|
-
const during = new Set()
|
|
409
|
-
let polls = 0
|
|
410
|
-
while (exited === null) {
|
|
411
|
-
for (const line of visible()) during.add(line)
|
|
412
|
-
polls++
|
|
413
|
-
await new Promise(resolve => setTimeout(resolve, 5))
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
assert.equal(exited, 0)
|
|
417
|
-
assert.ok(polls > 1, 'git was asked while the build ran')
|
|
418
|
-
assert.deepEqual([...during], [], 'git picks up no registry while the build runs')
|
|
419
|
-
assert.deepEqual(visible(), [], 'nor after')
|
|
420
|
-
assert.equal(await readFile(join(root, REGISTRIES_GITIGNORE), 'utf8'), REGISTRIES_GITIGNORE_CONTENT)
|
|
421
|
-
assert.ok(existsSync(join(root, '.nextspark/registries/index.ts')), 'the registries are written')
|
|
422
|
-
} finally {
|
|
423
|
-
await project.cleanup()
|
|
424
|
-
}
|
|
425
|
-
})
|
|
@@ -1,192 +1,54 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Root-first registry build configuration.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Supports three modes:
|
|
8
|
-
* 1. Monorepo mode: themes/plugins at repo root as workspace packages
|
|
9
|
-
* 2. NPM mode: @nextsparkjs/core installed in node_modules
|
|
10
|
-
* 3. User project mode: themes/plugins in contents/ directory
|
|
4
|
+
* All filesystem paths come from project-mode.mjs. Discovery modules consume
|
|
5
|
+
* the resolved project root and never select or search for a theme.
|
|
11
6
|
*
|
|
12
7
|
* @module core/scripts/build/registry/config
|
|
13
8
|
*/
|
|
14
9
|
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import dotenv from 'dotenv'
|
|
10
|
+
import { existsSync, readFileSync } from 'fs'
|
|
11
|
+
import { join, resolve } from 'path'
|
|
12
|
+
import { resolveProjectPaths, resolveProjectPluginSources, detectMonorepoRoot, isInstalledAsPackage } from './project-mode.mjs'
|
|
19
13
|
import { loadNextSparkConfigSync } from '../config-loader.mjs'
|
|
20
|
-
import { detectMonorepoRoot, isInstalledAsPackage } from './project-mode.mjs'
|
|
21
|
-
import { shownPath } from '../../utils/logging.mjs'
|
|
22
|
-
|
|
23
|
-
// Load .env from the correct project root
|
|
24
|
-
// Priority: NEXTSPARK_PROJECT_ROOT env var > cwd
|
|
25
|
-
// This is critical for npm mode where cwd might be node_modules/@nextsparkjs/core
|
|
26
|
-
const envPath = process.env.NEXTSPARK_PROJECT_ROOT
|
|
27
|
-
? join(process.env.NEXTSPARK_PROJECT_ROOT, '.env')
|
|
28
|
-
: undefined
|
|
29
|
-
dotenv.config({ path: envPath, override: true })
|
|
30
|
-
|
|
31
|
-
const __filename = fileURLToPath(import.meta.url)
|
|
32
|
-
const __dirname = dirname(__filename)
|
|
33
|
-
|
|
34
|
-
// Root directory (5 levels up from packages/core/scripts/build/registry/)
|
|
35
|
-
export const rootDir = join(__dirname, '../../../../..')
|
|
36
14
|
|
|
37
15
|
export { detectMonorepoRoot, isInstalledAsPackage }
|
|
38
16
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
* @returns {string} Project root path
|
|
42
|
-
*/
|
|
43
|
-
export function detectProjectRoot() {
|
|
44
|
-
// Check for explicit project root from CLI
|
|
45
|
-
if (process.env.NEXTSPARK_PROJECT_ROOT) {
|
|
46
|
-
return process.env.NEXTSPARK_PROJECT_ROOT
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
let dir = process.cwd()
|
|
50
|
-
const maxDepth = 10
|
|
51
|
-
let depth = 0
|
|
52
|
-
|
|
53
|
-
// Search upward for nextspark.config.ts
|
|
54
|
-
while (dir !== '/' && depth < maxDepth) {
|
|
55
|
-
// Primary: nextspark.config.ts
|
|
56
|
-
if (existsSync(join(dir, 'nextspark.config.ts'))) {
|
|
57
|
-
return dir
|
|
58
|
-
}
|
|
59
|
-
// Secondary: monorepo with apps/dev (development mode)
|
|
60
|
-
if (existsSync(join(dir, 'apps/dev'))) {
|
|
61
|
-
return join(dir, 'apps/dev')
|
|
62
|
-
}
|
|
63
|
-
dir = dirname(dir)
|
|
64
|
-
depth++
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// If not found, use current working directory
|
|
68
|
-
return process.cwd()
|
|
17
|
+
export function detectProjectRoot(startDir = process.cwd()) {
|
|
18
|
+
return resolveProjectPaths(startDir).projectRoot
|
|
69
19
|
}
|
|
70
20
|
|
|
71
|
-
/**
|
|
72
|
-
* Get dynamic configuration based on project root
|
|
73
|
-
* @param {string|null} projectRoot - Optional project root path
|
|
74
|
-
* @returns {object} Configuration object
|
|
75
|
-
*/
|
|
76
21
|
export function getConfig(projectRoot = null) {
|
|
77
|
-
|
|
78
|
-
const
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
// Check if running in monorepo mode
|
|
84
|
-
const monorepoRoot = detectMonorepoRoot(root)
|
|
85
|
-
const isMonorepoMode = !isNpmMode && monorepoRoot !== null
|
|
86
|
-
|
|
87
|
-
// Determine paths based on mode
|
|
88
|
-
// In monorepo mode, core is at monorepoRoot/packages/core
|
|
89
|
-
// In npm mode, core is at projectRoot/node_modules/@nextsparkjs/core
|
|
90
|
-
const coreDir = isNpmMode
|
|
91
|
-
? join(root, 'node_modules/@nextsparkjs/core')
|
|
92
|
-
: join(isMonorepoMode ? monorepoRoot : root, 'packages/core')
|
|
93
|
-
|
|
94
|
-
// ALWAYS generate in .nextspark/registries/ of the project
|
|
95
|
-
// This unifies npm mode and monorepo mode to use the same location
|
|
96
|
-
const outputDir = join(root, '.nextspark/registries')
|
|
97
|
-
|
|
98
|
-
// Load nextspark.config.ts for features and other settings
|
|
99
|
-
const nextsparkConfig = loadNextSparkConfigSync(root)
|
|
100
|
-
|
|
101
|
-
// Determine content directories based on mode
|
|
102
|
-
// Monorepo: themes/plugins at repo root as workspace packages
|
|
103
|
-
// User project: themes/plugins in contents/ directory
|
|
104
|
-
let contentsDir, themesDir, pluginsDir
|
|
105
|
-
|
|
106
|
-
if (isMonorepoMode) {
|
|
107
|
-
// Monorepo mode: themes and plugins are at the repo root
|
|
108
|
-
contentsDir = join(monorepoRoot, 'contents') // Legacy, kept for compatibility
|
|
109
|
-
themesDir = join(monorepoRoot, 'themes')
|
|
110
|
-
pluginsDir = join(monorepoRoot, 'plugins')
|
|
111
|
-
} else {
|
|
112
|
-
// User project mode (npm or standalone)
|
|
113
|
-
contentsDir = join(root, 'contents')
|
|
114
|
-
themesDir = join(root, 'contents/themes')
|
|
115
|
-
pluginsDir = join(root, 'contents/plugins')
|
|
116
|
-
}
|
|
22
|
+
const paths = resolveProjectPaths(projectRoot || process.cwd())
|
|
23
|
+
const nextsparkConfig = loadNextSparkConfigSync(paths.projectRoot)
|
|
24
|
+
const pluginSources = resolveProjectPluginSources(paths.projectRoot, nextsparkConfig.plugins)
|
|
25
|
+
const themeConfigPath = join(paths.projectRoot, 'config', 'theme.config.ts')
|
|
26
|
+
const themeConfig = existsSync(themeConfigPath) ? readFileSync(themeConfigPath, 'utf8') : ''
|
|
27
|
+
const projectName = themeConfig.match(/\bname:\s*['"]([^'"]+)['"]/)?.[1] || 'project'
|
|
117
28
|
|
|
118
29
|
return {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
30
|
+
...paths,
|
|
31
|
+
// `nextspark prepare` for a generated host stages the registries before publishing them
|
|
32
|
+
// (host/prepare.mjs): it points the build at its staging directory inside .nextspark/.
|
|
33
|
+
...(process.env.NEXTSPARK_REGISTRIES_OUT ? { outputDir: resolve(paths.projectRoot, process.env.NEXTSPARK_REGISTRIES_OUT) } : {}),
|
|
34
|
+
projectName,
|
|
35
|
+
pluginRequests: nextsparkConfig.plugins,
|
|
36
|
+
pluginSources,
|
|
37
|
+
pluginDirs: pluginSources.map(plugin => plugin.sourceDir),
|
|
38
|
+
plugins: pluginSources.map(plugin => plugin.name),
|
|
39
|
+
features: nextsparkConfig.features,
|
|
40
|
+
billing: nextsparkConfig.billing,
|
|
129
41
|
buildMode: process.argv.includes('--build'),
|
|
130
42
|
verbose: process.argv.includes('--verbose') || process.argv.includes('-v'),
|
|
131
|
-
activeTheme: process.env.NEXT_PUBLIC_ACTIVE_THEME?.replace(/'/g, ''),
|
|
132
|
-
features: nextsparkConfig?.features || {
|
|
133
|
-
billing: true,
|
|
134
|
-
teams: true,
|
|
135
|
-
superadmin: true,
|
|
136
|
-
aiChat: true
|
|
137
|
-
}
|
|
138
43
|
}
|
|
139
44
|
}
|
|
140
45
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
* This should be called early in the build process to fail fast
|
|
144
|
-
* with clear, actionable error messages.
|
|
145
|
-
*
|
|
146
|
-
* @param {object} config - Configuration object from getConfig()
|
|
147
|
-
* @returns {{ valid: boolean, errors: string[] }} Validation result
|
|
148
|
-
*/
|
|
149
|
-
export function validateEnvironment(config) {
|
|
150
|
-
const errors = []
|
|
151
|
-
|
|
152
|
-
// Check if .env file exists at the project root
|
|
153
|
-
// Skip this check in CI/Vercel environments where env vars are injected directly
|
|
154
|
-
const envFilePath = join(config.projectRoot, '.env')
|
|
155
|
-
const envExamplePath = join(config.projectRoot, '.env.example')
|
|
156
|
-
const hasEnvVarsFromProcess = !!process.env.NEXT_PUBLIC_ACTIVE_THEME
|
|
157
|
-
|
|
158
|
-
if (!existsSync(envFilePath) && !hasEnvVarsFromProcess) {
|
|
159
|
-
// The error spans lines, printed one per call: the path is shown on the one line it is on
|
|
160
|
-
let fix = `Create a .env file in your project root: ${shownPath(config.projectRoot)}`
|
|
161
|
-
if (existsSync(envExamplePath)) {
|
|
162
|
-
fix = `Copy the example file:\n cp .env.example .env\n Then update it with your configuration.`
|
|
163
|
-
}
|
|
164
|
-
errors.push(
|
|
165
|
-
`Missing .env file.\n` +
|
|
166
|
-
` The .env file is required to configure your NextSpark application.\n` +
|
|
167
|
-
` Fix: ${fix}\n` +
|
|
168
|
-
` Required variable: NEXT_PUBLIC_ACTIVE_THEME (e.g., "default")`
|
|
169
|
-
)
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// Check for NEXT_PUBLIC_ACTIVE_THEME
|
|
173
|
-
if (!config.activeTheme) {
|
|
174
|
-
errors.push(
|
|
175
|
-
`Missing NEXT_PUBLIC_ACTIVE_THEME environment variable.\n` +
|
|
176
|
-
` This variable tells NextSpark which theme to use.\n` +
|
|
177
|
-
` Fix: Add the following line to your .env file:\n` +
|
|
178
|
-
` NEXT_PUBLIC_ACTIVE_THEME=default`
|
|
179
|
-
)
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
return { valid: errors.length === 0, errors }
|
|
46
|
+
export function validateEnvironment() {
|
|
47
|
+
return { valid: true, errors: [] }
|
|
183
48
|
}
|
|
184
49
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
* Uses getConfig() with no projectRoot (auto-detect)
|
|
188
|
-
*/
|
|
189
|
-
export const CONFIG = getConfig()
|
|
50
|
+
// Legacy named export for modules that accept an explicit config; compiler entrypoints call getConfig().
|
|
51
|
+
export const CONFIG = null
|
|
190
52
|
|
|
191
53
|
/**
|
|
192
54
|
* Convert @/core/ import paths based on NPM mode
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Portable contracts
|
|
2
|
+
|
|
3
|
+
`nextspark prepare` generates a module of **API contracts** from the project's entities (#203, stage 7b): the
|
|
4
|
+
TypeScript DTO types and the zod schemas of every entity, and the API response envelopes. A client that must not
|
|
5
|
+
import server code - the mobile app - imports it instead of writing the same types by hand.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Task, CreateTaskInput, createTaskInputSchema, apiListResponseSchema, tasksApiPath } from '@project/contracts'
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The module imports `zod` and nothing else: no Node built-ins, no server code, no registries. It is a pure function of
|
|
12
|
+
the entity configs, byte for byte (no timestamps), and is covered by `nextspark prepare --check`.
|
|
13
|
+
|
|
14
|
+
## What is generated
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
src/index.ts export * of the envelope, the shared field schemas and the entities
|
|
18
|
+
src/envelope.ts ApiSuccessResponse / ApiListResponse / ApiErrorResponse and their zod schemas
|
|
19
|
+
src/fields.ts re-exports of the schemas several field types share (address, uploaded file, media reference)
|
|
20
|
+
src/schema/*.ts core's portable schema sources, copied verbatim (lib/entities/portable/)
|
|
21
|
+
src/entities/index.ts export * of every entity
|
|
22
|
+
src/entities/<slug>.ts per entity: the entity descriptor, <slug>ApiPath, <Entity> + schema, Create<Entity>Input + schema,
|
|
23
|
+
Update<Entity>Input + schema, and one enum (schema + type) per select / multiselect field with options
|
|
24
|
+
contracts.generation.json the ownership record: sha256 of every generated file
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## One source with the server
|
|
28
|
+
|
|
29
|
+
The contracts are never a second implementation of what the API accepts or returns:
|
|
30
|
+
|
|
31
|
+
- **Requests are the server's schemas.** `packages/core/src/lib/entities/portable/` holds the code that decides what an entity API
|
|
32
|
+
accepts: `schema-generator.ts` (`generateEntitySchemas` and every field validator - builder `blocks` and `settings`, the PATCH
|
|
33
|
+
preprocessing that drops system and read-only keys, nullable and numeric-string normalization, defaults, `.strict()`), plus what it
|
|
34
|
+
imports. The server re-exports it (`lib/entities/schema-generator.ts`); prepare copies those files **verbatim** into
|
|
35
|
+
`src/schema/`, and each entity module calls `generateEntitySchemas` on a literal descriptor of the entity. A client validates with the
|
|
36
|
+
bytes the server enforces with. (`createTaskInputSchema` is typed `z.ZodType<CreateTaskInput>`: the types say what a client should send,
|
|
37
|
+
the schema also accepts what the server normalizes.)
|
|
38
|
+
- **Responses are what the handlers select.** `portable/response-shape.ts` describes the row: `entityResponseSystemColumns` (id, `userId`
|
|
39
|
+
always, `teamId`, timestamps, `blocks` for builder entities, `deletedAt`/`deletedBy` where soft delete is on), `taxonomyResponseFields`
|
|
40
|
+
(each an array of `taxonomyTermSchema`), and the `metas` / `children` expansions. `generic-handler.ts` builds its SELECT lists from
|
|
41
|
+
those functions and prepare evaluates the same module while rendering the DTOs.
|
|
42
|
+
- **Wire types follow the driver.** The API returns raw `pg` rows, and `pg` returns NUMERIC/DECIMAL/BIGINT/MONEY as strings unless a type
|
|
43
|
+
parser is configured (none is; a test fails if one appears). The column type is read from the entity's migrations
|
|
44
|
+
(`CREATE TABLE "<slug>"`, `ALTER TABLE ... ADD/ALTER COLUMN`; `pgWireKind` maps it): NUMERIC is `string`, INT/FLOAT `number`, a column
|
|
45
|
+
no migration declares `number | string`.
|
|
46
|
+
|
|
47
|
+
Tests that pin this: `packages/core/tests/jest/lib/entities/contracts-parity.test.ts` (for every payload the contract accepts exactly
|
|
48
|
+
when `generateEntitySchemas` does, on the real apps/dev entities; the copies are byte-identical), and
|
|
49
|
+
`packages/core/tests/jest/api/entity/contracts-response-shape.test.ts` (the real handlers, DB mocked: the SELECT columns equal the DTO's,
|
|
50
|
+
the response parses through the contract without losing a key).
|
|
51
|
+
|
|
52
|
+
Other rules:
|
|
53
|
+
|
|
54
|
+
- the **response** is `id`, `userId`, `teamId`, timestamps, `blocks`, the fields, the taxonomy fields, then the optional `metas` and
|
|
55
|
+
`children`. A field that is `required` or has a `defaultValue` is present; every other field is `nullish`;
|
|
56
|
+
- field types map to what the server accepts and stores: text-like types and dates are `string` (ISO for dates), `select`-like types
|
|
57
|
+
with options are an enum, `multiselect` an array of the enum, `tags` an array of strings, `doublerange` a pair of numbers, `address`,
|
|
58
|
+
`file`/`video`/`audio`/`image` and `media-library` use the shared schemas, `relation-multi` sends an array (the response may carry the
|
|
59
|
+
JSON string the server stores), `json` and anything unknown are `unknown`;
|
|
60
|
+
- a field's custom `validation` schema is not part of the contract (the server's generator does not use it either);
|
|
61
|
+
- `childEntities` ARE part of the contract: they are serialized into the entity descriptor (table and fields, through imports and
|
|
62
|
+
spreads), so the copied generator adds the same `children` to the request schemas as on the server, and the input types type each child
|
|
63
|
+
row from the child's own fields (required unless it has a default, enum options, numbers as a number or a numeric string, an optional
|
|
64
|
+
`id`). A `childEntities` that cannot be described exactly (spread in, computed, a non-literal field) fails generation with a diagnostic
|
|
65
|
+
instead of publishing a schema that contradicts the server's. The rows a `?child=` request returns stay `unknown` in the response.
|
|
66
|
+
|
|
67
|
+
Entities in the contracts: the project's and its enabled plugins' top-level entities that have an external API
|
|
68
|
+
(`access.api` is not `false`) and are enabled. Core's own entities (users, teams, ...) and entities that are nested children of another entity (`entity.parent`) are not entries of their own.
|
|
69
|
+
|
|
70
|
+
## The wire envelope
|
|
71
|
+
|
|
72
|
+
`createApiResponse` puts the pagination in `info`, next to the timestamp, and there is no `meta`:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{ "success": true, "data": [ ... ], "info": { "timestamp": "...", "page": 1, "limit": 20, "total": 3, "totalPages": 1, "hasNextPage": false, "hasPrevPage": false } }
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
`ApiListResponse<T>` is exactly that. `@nextsparkjs/mobile`'s client uses the same shapes (`PaginatedResponse<T>` is `ApiListResponse<T>`,
|
|
79
|
+
`SingleResponse<T>` is `ApiSuccessResponse<T>`; the old `meta` never existed on the wire), and a test in apps/mobile keeps its types and
|
|
80
|
+
the generated ones mutually assignable.
|
|
81
|
+
|
|
82
|
+
## Where it goes
|
|
83
|
+
|
|
84
|
+
| Project | Location | In git? |
|
|
85
|
+
| --- | --- | --- |
|
|
86
|
+
| web-only | `<project>/.nextspark/contracts` | no (`.nextspark/` is ignored; regenerated with the host) |
|
|
87
|
+
| web+mobile monorepo (`create-nextspark-app --type web-mobile`) | `packages/contracts`, beside `web/` and `mobile/` | **yes**: mobile builds from it without running the web project |
|
|
88
|
+
| this repository | `packages/contracts`, fed by `apps/dev` | **yes** |
|
|
89
|
+
|
|
90
|
+
A contracts package opts in to being written, and names the project that feeds it, in its `package.json`:
|
|
91
|
+
|
|
92
|
+
```json
|
|
93
|
+
{ "name": "@project/contracts", "nextspark": { "contractsProject": "../web" } }
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The path is relative to the package and must lead back to the project being prepared. Prepare looks for the package at
|
|
97
|
+
`<project>/../packages/contracts`, `<project>/../../packages/contracts` and `<project>/packages/contracts`, and falls back to
|
|
98
|
+
`.nextspark/contracts`. The scaffold writes the `package.json`, `tsconfig.json` and README; `src/` is generated.
|
|
99
|
+
|
|
100
|
+
## Ownership
|
|
101
|
+
|
|
102
|
+
Like `src/app`, only files NextSpark wrote are ever replaced or deleted: a file is ours when `contracts.generation.json` lists it and
|
|
103
|
+
its bytes still have the recorded hash. A file at a target path that is not ours (a hand-written `src/index.ts`, a generated file
|
|
104
|
+
edited by hand) stops the run **before anything is written** (in a full prepare, before the host is published either). Files in `src/`
|
|
105
|
+
the record does not list are left alone; a generated file no entity produces any more is deleted. Nothing is written through a symlink.
|
|
106
|
+
|
|
107
|
+
## Commands
|
|
108
|
+
|
|
109
|
+
- `nextspark prepare` - the generated host writes the contracts with `src/app` and the registries (one lock, one preflight); a project
|
|
110
|
+
whose `src/app` is a committed tree is not prepared at all (`nextspark migrate` first), contracts included;
|
|
111
|
+
- `nextspark prepare --contracts-only [--check]` - only the contracts, without touching `src/app`; it refuses a committed `src/app` the same way;
|
|
112
|
+
- `nextspark prepare --check` - includes the contracts when the host generates them;
|
|
113
|
+
- this repository: `pnpm contracts:generate`, `pnpm contracts:check` (run in the Mobile workflow), `pnpm mobile:boundary`.
|
|
114
|
+
|
|
115
|
+
## What is not readable
|
|
116
|
+
|
|
117
|
+
Entity configs are parsed, never executed. `fields` may be an inline array, a `const` in the same file, an import from a relative
|
|
118
|
+
module, and spreads of those. A `fields` that is computed, a field whose `name` is not a literal, an `options` list that is not
|
|
119
|
+
literal: each becomes a `// Warning:` line in the entity module and a line printed by prepare, and the value is typed `string` or
|
|
120
|
+
`unknown` - never left out silently.
|