@nextsparkjs/core 0.1.0-beta.191 → 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/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 +1 -1
- 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 +5 -5
- 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/reset-password.d.ts +1 -1
- package/dist/emails/team-invitation.d.ts +1 -1
- package/dist/emails/verify-email.d.ts +2 -2
- 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/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 +24 -38
- 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/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/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.d.ts.map +1 -1
- package/dist/lib/auth.js +16 -12
- package/dist/lib/billing/gateways/factory.d.ts +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/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 +14 -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 +35 -128
- 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 +26 -85
- package/scripts/build/registry.mjs +54 -195
- 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/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 -66
- 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 -693
- 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 -560
- 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 -66
- 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/tests/jest/__mocks__/@nextsparkjs/registries/template-scopes/client.ts +0 -21
- package/tests/jest/__mocks__/@nextsparkjs/registries/template-scopes/server.ts +0 -23
- /package/dist/{templates/contents/plugins/.gitkeep → lib/entities/portable/types.js} +0 -0
- /package/dist/{templates/app → routes}/api/v1/[entity]/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/[entity]/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/api-keys/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/api-keys/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/auth/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/auth/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/billing/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/billing/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/blocks/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/cron/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/cron/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/media/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/media/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/post-categories/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/post-categories/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/team-invitations/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/team-invitations/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/teams/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/teams/presets.ts +0 -0
- /package/dist/{templates/app → routes}/api/v1/users/docs.md +0 -0
- /package/dist/{templates/app → routes}/api/v1/users/presets.ts +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
- /package/dist/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
- /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/jose.js +0 -0
- /package/dist/templates/{contents/themes/starter → projects/blog}/tests/jest/__mocks__/next-server.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/README.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/about/business.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/about/features.json +0 -0
- /package/dist/templates/{contents/themes → projects/starter/blocks}/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
- /package/dist/templates/{contents/themes/starter/blocks → projects/starter/public/brand}/.gitkeep +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
- /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/jose.js +0 -0
- /package/{templates/contents/themes → dist/templates/projects}/starter/tests/jest/__mocks__/next-server.js +0 -0
- /package/dist/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/components/ExampleWidget.tsx.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/entities/.gitkeep +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/lib/core.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/lib/types.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/de.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/en.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/es.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/fr.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/it.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/messages/pt.json +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/migrations/README.md +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/plugin.config.ts.template +0 -0
- /package/templates/{contents/plugins → plugins}/starter/plugin/tests/plugin.test.ts.template +0 -0
- /package/templates/{contents/themes → projects}/starter/README.md +0 -0
- /package/templates/{contents/themes → projects}/starter/about/business.md +0 -0
- /package/templates/{contents/themes → projects}/starter/about/features.json +0 -0
- /package/{dist/templates/contents/themes/starter/public/brand → templates/projects/starter/blocks}/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/cta-section/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/features-grid/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/hero/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/testimonials/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/component.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/schema.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/blocks/text-content/thumbnail.png +0 -0
- /package/templates/{contents/themes → projects}/starter/components/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/RecentActivity.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/StatsCard.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/TasksChart.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/components/analytics/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/app.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/billing.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/dashboard.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/dev.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/features.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/permissions.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/config/theme.config.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/01-introduction.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/public/01-overview/02-customization.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/superadmin/01-setup/01-configuration.md +0 -0
- /package/templates/{contents/themes → projects}/starter/docs/superadmin/02-entities/01-tasks.md +0 -0
- /package/templates/{contents/themes → projects}/starter/emails/verify-email.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/001_pages_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/002_pages_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/migrations/003_add_status.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages-management.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/pages/pages.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/components/post-header.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/001_posts_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/003_add_status.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/004_entity_taxonomy_relations.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/migrations/006_posts_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/posts/posts.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/api/docs.md +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/api/presets.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/de.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/en.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/es.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/fr.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/it.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/messages/pt.json +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/001_tasks_table.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/migrations/002_task_metas.sql +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.fields.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.service.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/entities/tasks/tasks.types.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/useAnalyticsData.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/hooks/useTaskStats.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/selectors.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/lib/utils.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/de/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/en/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/es/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/fr/public.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/it/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/analytics.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/common.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/dev.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/features.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/home.json +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/messages/pt/navigation.json +0 -0
- /package/templates/{contents/themes → projects}/starter/migrations/README.md +0 -0
- /package/templates/{contents/plugins → projects/starter/public/brand}/.gitkeep +0 -0
- /package/templates/{contents/themes → projects}/starter/styles/components.css +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/(public)/layout.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/(public)/support/page.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/loading.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/templates/dashboard/analytics/page.tsx +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/access.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/navigation.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/devtools/pages.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/auth.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/billing.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/block-editor.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-container.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-mobile.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-navigation.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-sidebar.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/dashboard-topnav.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/devtools.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/global-search.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/patterns.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-api-keys.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-billing.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-layout.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-password.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-profile.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/settings-teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/superadmin.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/tasks.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/selectors/teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-teams.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/all-users.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/dashboard.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/_utils/superadmin/subscriptions-overview.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/api/entities/tasks/TaskAPIController.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.bdd.md +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/e2e/uat/entities/tasks/tasks-crud.cy.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/fixtures/entities.json +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/DevKeyringPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityForm.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/EntityList.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/TeamSwitcherPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/components/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/BaseAPIController.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/controllers/index.js +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/AuthPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BasePOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/BlockEditorBasePOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/DashboardEntityPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/core/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PagesPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/PatternsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/TasksPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/entities/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/BillingPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DashboardPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/DevtoolsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PageBuilderPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/PostEditorPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/ScheduledActionsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SettingsPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/SuperadminTeamRolesPOM.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/features/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/helpers/ApiInterceptor.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/index.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/src/selectors.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/commands.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/doc-commands.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/cypress/support/e2e.ts +0 -0
- /package/templates/{contents/themes → projects}/starter/tests/jest/setup.ts +0 -0
|
@@ -0,0 +1,722 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nextspark prepare` for the generated host (#203): plan, render, stage, validate, publish.
|
|
3
|
+
*
|
|
4
|
+
* `prepareHost(config)` is the whole pipeline for any host - a real project (`projectHostConfig`)
|
|
5
|
+
* or the conformance fixture - described by a host config:
|
|
6
|
+
*
|
|
7
|
+
* ```js
|
|
8
|
+
* {
|
|
9
|
+
* hostRoot, // where src/app, .nextspark/registries and .nextspark/generation.json live
|
|
10
|
+
* projectRoot, // where TypeScript and Next.js resolve from
|
|
11
|
+
* loadCoreRoutes, // async () => loadCoreRouteManifest(...) (null: the core ships none)
|
|
12
|
+
* plugins, // [{ name, root, importBase }]
|
|
13
|
+
* project, // { root, importBase, label }
|
|
14
|
+
* entities, // async ({ manifest }) => ({ routes, diagnostics }) - per-entity routes (entity-routes.mjs)
|
|
15
|
+
* webhooks, // () => ({ routes, diagnostics }) - composed billing webhook routes (webhooks.mjs)
|
|
16
|
+
* stylesheet, // the project's global stylesheet specifier the root layout imports
|
|
17
|
+
* modes, pageExtensions, cacheComponents, // see render.mjs
|
|
18
|
+
* registries, // async ({ mode }) => [{ path, content, grammar }] - staged registry files
|
|
19
|
+
* contracts, // { target(), plan() } - the portable contracts module (contracts/index.mjs), optional
|
|
20
|
+
* inputs, // () => hashInputs(...)
|
|
21
|
+
* versions, // { core, cli, next }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* Nothing is written before every facade is emitted, the registries are staged and every file
|
|
26
|
+
* passes validation; publication then follows generation.mjs. `checkHost` runs the same planning
|
|
27
|
+
* and rendering in memory and compares.
|
|
28
|
+
*
|
|
29
|
+
* @module core/scripts/build/registry/host/prepare
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
import { spawn } from 'node:child_process'
|
|
33
|
+
import { existsSync, readdirSync, readFileSync, watch as watchFs } from 'node:fs'
|
|
34
|
+
import { dirname, join, relative, sep } from 'node:path'
|
|
35
|
+
import { fileURLToPath } from 'node:url'
|
|
36
|
+
|
|
37
|
+
import { projectFiles } from '../../safe-fs.mjs'
|
|
38
|
+
import { loadTypeScriptFor } from '../shared/typescript-compiler.mjs'
|
|
39
|
+
import { getConfig } from '../config.mjs'
|
|
40
|
+
import { resolveNextPackage } from './facade-emitter.mjs'
|
|
41
|
+
import { coreRouteManifestPath, coreRouteVariantsPath, hasCoreRouteManifest, loadCoreRouteManifest, resolveCoreRouteFile } from './core-routes.mjs'
|
|
42
|
+
import { discoverAllEntities } from '../discovery/all-entities.mjs'
|
|
43
|
+
import { PluginCapabilityError, withDeclaredCapabilities } from '../discovery/plugin-capabilities.mjs'
|
|
44
|
+
import { ContractsPublishError, checkContractsPlan, preflightContractsPlan, projectContracts, publishContractsPlan } from '../contracts/index.mjs'
|
|
45
|
+
import { planEntityRoutes, readAllEntityFacts } from './entity-routes.mjs'
|
|
46
|
+
import { webhookRoutes } from './webhooks.mjs'
|
|
47
|
+
import { proxyAreaNotices } from './proxy-areas.mjs'
|
|
48
|
+
import { HostPlanError, compareTargets, planHost } from './plan.mjs'
|
|
49
|
+
import { DEV_DIAGNOSTIC_FILE, DEV_STATUS_FILE, devDiagnosticModule, devFailureDiagnostic, renderHost } from './render.mjs'
|
|
50
|
+
import {
|
|
51
|
+
GENERATION_FILE,
|
|
52
|
+
GenerationError,
|
|
53
|
+
REGISTRIES_DIR,
|
|
54
|
+
acquireLock,
|
|
55
|
+
checkGeneration,
|
|
56
|
+
generationRecord,
|
|
57
|
+
hashInputs,
|
|
58
|
+
preflight,
|
|
59
|
+
publishGeneration,
|
|
60
|
+
readGeneration,
|
|
61
|
+
validateFiles,
|
|
62
|
+
writeOwnedFile,
|
|
63
|
+
} from './generation.mjs'
|
|
64
|
+
|
|
65
|
+
const CORE_ROOT = join(dirname(fileURLToPath(import.meta.url)), '../../../..')
|
|
66
|
+
|
|
67
|
+
/** Thrown for any generation that cannot be published; `diagnostics` holds every problem found. */
|
|
68
|
+
export class PrepareError extends Error {
|
|
69
|
+
constructor(diagnostics, headline = 'nextspark prepare failed; the previous generation is unchanged') {
|
|
70
|
+
super(`${headline}:\n${diagnostics.map(d => ` - [${d.code}] ${d.message}`).join('\n')}`)
|
|
71
|
+
this.name = 'PrepareError'
|
|
72
|
+
this.diagnostics = diagnostics
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** Raised when the installed core ships no route manifest: the host cannot be generated. */
|
|
77
|
+
export class NoCoreRouteManifestError extends Error {
|
|
78
|
+
constructor(coreRoot) {
|
|
79
|
+
super(`The installed @nextsparkjs/core (${coreRoot}) ships no route manifest (@nextsparkjs/core/routes/manifest.json), so it cannot generate src/app.`)
|
|
80
|
+
this.name = 'NoCoreRouteManifestError'
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function describeDiagnostic(diagnostic) {
|
|
85
|
+
const where = diagnostic.file ? `${diagnostic.source ?? diagnostic.file}${diagnostic.line ? `:${diagnostic.line}` : ''}` : diagnostic.source
|
|
86
|
+
const message = diagnostic.exportName ? `(export "${diagnostic.exportName}") ${diagnostic.message}` : diagnostic.message
|
|
87
|
+
return { ...diagnostic, message: where && !diagnostic.message.includes(where) ? `${where}: ${message}` : message }
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Plan and render the host in memory: `{ routes, appFiles }` or a PrepareError with every
|
|
92
|
+
* planning and emission diagnostic.
|
|
93
|
+
*/
|
|
94
|
+
export async function renderHostFiles(config, { devStatus = false, cache } = {}) {
|
|
95
|
+
const manifest = await config.loadCoreRoutes()
|
|
96
|
+
if (!manifest) throw new NoCoreRouteManifestError(config.coreRoot ?? '(unknown core)')
|
|
97
|
+
const declared = await withDeclaredCapabilities(config.plugins ?? [], { projectRoot: config.projectRoot })
|
|
98
|
+
let entityPlan
|
|
99
|
+
try {
|
|
100
|
+
entityPlan = config.entities ? await config.entities({ manifest }) : { routes: [], diagnostics: [] }
|
|
101
|
+
} catch (error) {
|
|
102
|
+
if (error instanceof PluginCapabilityError) throw new PrepareError(error.diagnostics)
|
|
103
|
+
throw error
|
|
104
|
+
}
|
|
105
|
+
const webhookPlan = config.webhooks ? config.webhooks() : { routes: {}, diagnostics: [] }
|
|
106
|
+
const planned = planHost({
|
|
107
|
+
coreRoutes: manifest.routes,
|
|
108
|
+
entityRoutes: entityPlan.routes,
|
|
109
|
+
entityNames: entityPlan.entities,
|
|
110
|
+
webhooks: webhookPlan.routes,
|
|
111
|
+
plugins: declared.plugins,
|
|
112
|
+
project: config.project,
|
|
113
|
+
modes: config.modes ?? [],
|
|
114
|
+
extensions: config.extensions,
|
|
115
|
+
})
|
|
116
|
+
const { routes } = planned
|
|
117
|
+
const notices = [...(planned.notices ?? []), ...proxyAreaNotices(config.projectRoot)]
|
|
118
|
+
const diagnostics = [...declared.diagnostics, ...entityPlan.diagnostics, ...webhookPlan.diagnostics, ...planned.diagnostics]
|
|
119
|
+
if (diagnostics.length > 0) throw Object.assign(new PrepareError(diagnostics), { notices, stage: 'plan' })
|
|
120
|
+
const rendered = await renderHost({
|
|
121
|
+
routes,
|
|
122
|
+
projectRoot: config.projectRoot,
|
|
123
|
+
modes: config.modes ?? [],
|
|
124
|
+
cacheComponents: config.cacheComponents,
|
|
125
|
+
pageExtensions: config.pageExtensions,
|
|
126
|
+
stylesheet: config.stylesheet,
|
|
127
|
+
wrappers: config.compositionWrappers,
|
|
128
|
+
cache,
|
|
129
|
+
devStatus,
|
|
130
|
+
})
|
|
131
|
+
if (rendered.diagnostics.length > 0) throw Object.assign(new PrepareError(rendered.diagnostics.map(describeDiagnostic)), { notices, routes, stage: 'emission' })
|
|
132
|
+
return { routes, manifest, appFiles: rendered.files, notices }
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* What `prepareHost` would decide, without writing anything and without throwing for a diagnostic. For dry runs
|
|
137
|
+
* (`nextspark migrate --dry-run`) and tools that predict a generation.
|
|
138
|
+
*
|
|
139
|
+
* Runs, read-only, every step of a generation but the registry build: the route plan (with its notices, such as project
|
|
140
|
+
* templates replacing an entity's dashboard routes), the facade emission, the grammar gate of the emitted files, the
|
|
141
|
+
* ownership preflight of `src/app` against the host's current files and generation record, and the contracts plan
|
|
142
|
+
* with its ownership preflight. The registry build runs the registry compiler into a staging directory (a write),
|
|
143
|
+
* so it is not run: `checks.registries` is `'skipped'`, and so is the ownership check of the registry files.
|
|
144
|
+
*
|
|
145
|
+
* `checks` says what ran: each of `plan`, `emission`, `grammar`, `ownership`, `contracts` is `'passed'`, `'failed'`,
|
|
146
|
+
* `'skipped'` (an earlier step failed, or it is never run here) or `'none'` (the host has no contracts module).
|
|
147
|
+
*
|
|
148
|
+
* @param {object} config - a host config (see the module comment; `projectHostConfig({ projectRoot })` for a project)
|
|
149
|
+
* @param {{ devStatus?: boolean }} [options]
|
|
150
|
+
* @returns {Promise<{ ok: boolean, routes: object[], notices: object[], diagnostics: object[], checks: Record<string, string> }>}
|
|
151
|
+
*/
|
|
152
|
+
export async function predictHost(config, { devStatus = false } = {}) {
|
|
153
|
+
const checks = { plan: 'skipped', emission: 'skipped', grammar: 'skipped', ownership: 'skipped', contracts: config.contracts ? 'skipped' : 'none', registries: 'skipped' }
|
|
154
|
+
const diagnostics = []
|
|
155
|
+
let routes = []
|
|
156
|
+
let notices = []
|
|
157
|
+
let appFiles = null
|
|
158
|
+
try {
|
|
159
|
+
const rendered = await renderHostFiles(config, { devStatus })
|
|
160
|
+
;({ routes, notices, appFiles } = rendered)
|
|
161
|
+
checks.plan = 'passed'
|
|
162
|
+
checks.emission = 'passed'
|
|
163
|
+
} catch (error) {
|
|
164
|
+
if (error instanceof NoCoreRouteManifestError) {
|
|
165
|
+
diagnostics.push({ code: 'NS_HOST_NO_CORE_MANIFEST', message: error.message })
|
|
166
|
+
} else if (error instanceof PrepareError || error instanceof HostPlanError) {
|
|
167
|
+
diagnostics.push(...error.diagnostics)
|
|
168
|
+
notices = error.notices ?? []
|
|
169
|
+
if (error.stage === 'emission') {
|
|
170
|
+
checks.plan = 'passed'
|
|
171
|
+
checks.emission = 'failed'
|
|
172
|
+
routes = error.routes ?? []
|
|
173
|
+
} else checks.plan = 'failed'
|
|
174
|
+
} else throw error
|
|
175
|
+
}
|
|
176
|
+
if (appFiles) {
|
|
177
|
+
const invalid = await validateFiles(appFiles, { projectRoot: config.projectRoot, wrappers: config.compositionWrappers })
|
|
178
|
+
diagnostics.push(...invalid)
|
|
179
|
+
checks.grammar = invalid.length > 0 ? 'failed' : 'passed'
|
|
180
|
+
const ownership = preflight({ hostRoot: config.hostRoot, previous: readGeneration(config.hostRoot), files: appFiles })
|
|
181
|
+
diagnostics.push(...ownership)
|
|
182
|
+
checks.ownership = ownership.length > 0 ? 'failed' : 'passed'
|
|
183
|
+
}
|
|
184
|
+
if (config.contracts) {
|
|
185
|
+
try {
|
|
186
|
+
const plan = await config.contracts.plan()
|
|
187
|
+
diagnostics.push(...plan.diagnostics)
|
|
188
|
+
if (plan.diagnostics.length === 0) preflightContractsPlan({ target: config.contracts.target(), plan })
|
|
189
|
+
checks.contracts = plan.diagnostics.length > 0 ? 'failed' : 'passed'
|
|
190
|
+
} catch (error) {
|
|
191
|
+
if (!(error instanceof ContractsPublishError || error instanceof PrepareError)) throw error
|
|
192
|
+
diagnostics.push(...error.diagnostics)
|
|
193
|
+
checks.contracts = 'failed'
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return { ok: diagnostics.length === 0, routes, notices, diagnostics, checks }
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Generate and publish the host.
|
|
201
|
+
*
|
|
202
|
+
* @param {object} config - the host config (see the module comment)
|
|
203
|
+
* @param {object} [options]
|
|
204
|
+
* @param {'development'|'production'} [options.mode]
|
|
205
|
+
* @param {boolean} [options.devStatus] - include the dev status module (nextspark dev only)
|
|
206
|
+
* @param {Map} [options.cache] - facade cache shared by a watcher
|
|
207
|
+
* @returns {Promise<{ routes: object[], files: object[], record: object, written: string[], deleted: string[], unchanged: number }>}
|
|
208
|
+
*/
|
|
209
|
+
export async function prepareHost(config, { mode = 'development', devStatus = false, cache, staleAfterMs, reportFailure = false, changed = [] } = {}) {
|
|
210
|
+
const release = acquireLock(config.hostRoot, { staleAfterMs })
|
|
211
|
+
try {
|
|
212
|
+
return await generateAndPublish(config, { mode, devStatus, cache })
|
|
213
|
+
} catch (error) {
|
|
214
|
+
// `nextspark dev`: the failure goes to the browser under the same lock, so no other writer's
|
|
215
|
+
// newer, successful generation can land between this failure and its diagnostic. Not while a
|
|
216
|
+
// source does not parse: Next reports that itself, and rewriting a module of the graph then makes
|
|
217
|
+
// Turbopack drop the fix that follows (it keeps serving the code from before the error).
|
|
218
|
+
const unparsable = reportFailure && devStatus ? await unparsableSources(changed, config.projectRoot) : []
|
|
219
|
+
const parseError = hasParseError(error) || unparsable.length > 0
|
|
220
|
+
if (parseError) error.parseError = true
|
|
221
|
+
if (reportFailure && devStatus && !parseError && !(error instanceof NoCoreRouteManifestError)) {
|
|
222
|
+
try {
|
|
223
|
+
error.statusWritten = writeOwnedFile(config.hostRoot, DEV_DIAGNOSTIC_FILE, devDiagnosticModule(devFailureDiagnostic(diagnosticLines(error).join('\n'))))
|
|
224
|
+
} catch {
|
|
225
|
+
error.statusWritten = false // no owned diagnostic module (a production generation): the terminal still says it
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
throw error
|
|
229
|
+
} finally {
|
|
230
|
+
release()
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
async function generateAndPublish(config, { mode, devStatus, cache }) {
|
|
235
|
+
try {
|
|
236
|
+
const { routes, manifest, appFiles, notices } = await renderHostFiles(config, { devStatus, cache })
|
|
237
|
+
const registryFiles = config.registries ? await config.registries({ mode, hostRoot: config.hostRoot }) : []
|
|
238
|
+
const files = [...appFiles, ...registryFiles]
|
|
239
|
+
const invalid = await validateFiles(files, { projectRoot: config.projectRoot, wrappers: config.compositionWrappers })
|
|
240
|
+
if (invalid.length > 0) throw new PrepareError(invalid)
|
|
241
|
+
|
|
242
|
+
// The contracts module is planned and preflighted with everything else: nothing is written when any part fails
|
|
243
|
+
const contracts = await planContractsStep(config)
|
|
244
|
+
|
|
245
|
+
const previous = readGeneration(config.hostRoot)
|
|
246
|
+
const inputs = config.inputs ? config.inputs({ manifest }) : null
|
|
247
|
+
const record = generationRecord({ mode, versions: config.versions, inputs, files })
|
|
248
|
+
try {
|
|
249
|
+
const published = publishGeneration({ hostRoot: config.hostRoot, previous, files, record })
|
|
250
|
+
return { routes, files, record, notices, ...published, contracts: publishContractsStep(config, contracts) }
|
|
251
|
+
} catch (error) {
|
|
252
|
+
if (error instanceof GenerationError || error instanceof ContractsPublishError) throw new PrepareError(error.diagnostics)
|
|
253
|
+
throw error
|
|
254
|
+
}
|
|
255
|
+
} catch (error) {
|
|
256
|
+
if (error instanceof GenerationError || error instanceof ContractsPublishError) throw new PrepareError(error.diagnostics)
|
|
257
|
+
throw error
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/** Plan the contracts module in memory (null: the host has none) and refuse what it could not publish. */
|
|
262
|
+
async function planContractsStep(config) {
|
|
263
|
+
if (!config.contracts) return null
|
|
264
|
+
const target = config.contracts.target()
|
|
265
|
+
const plan = await config.contracts.plan()
|
|
266
|
+
if (plan.diagnostics.length > 0) throw new PrepareError(plan.diagnostics)
|
|
267
|
+
preflightContractsPlan({ target, plan })
|
|
268
|
+
return { target, plan }
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
function publishContractsStep(config, contracts) {
|
|
272
|
+
if (!contracts) return null
|
|
273
|
+
const published = publishContractsPlan({ target: contracts.target, projectRoot: config.projectRoot, plan: contracts.plan })
|
|
274
|
+
return { ...published, root: contracts.target.root, label: contracts.target.label, kind: contracts.target.kind, warnings: contracts.plan.warnings, files: contracts.plan.files.length }
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Generate and publish only the portable contracts module (`prepare --contracts-only`, and the step
|
|
279
|
+
* a legacy project runs after its registry build): no src/app, no registries. Same ownership rules
|
|
280
|
+
* and the same lock as a full generation.
|
|
281
|
+
*/
|
|
282
|
+
export async function prepareContractsOnly(config, { staleAfterMs } = {}) {
|
|
283
|
+
if (!config.contracts) throw new PrepareError([{ code: 'NS_CONTRACTS_UNAVAILABLE', message: 'this project has no contracts step' }])
|
|
284
|
+
const release = acquireLock(config.hostRoot, { staleAfterMs })
|
|
285
|
+
try {
|
|
286
|
+
const contracts = await planContractsStep(config)
|
|
287
|
+
return publishContractsStep(config, contracts)
|
|
288
|
+
} catch (error) {
|
|
289
|
+
if (error instanceof ContractsPublishError) throw new PrepareError(error.diagnostics)
|
|
290
|
+
throw error
|
|
291
|
+
} finally {
|
|
292
|
+
release()
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/** `prepare --contracts-only --check`: compare only the contracts module with what prepare would generate. */
|
|
297
|
+
export async function checkContractsOnly(config) {
|
|
298
|
+
const target = config.contracts.target()
|
|
299
|
+
const plan = await config.contracts.plan()
|
|
300
|
+
if (plan.diagnostics.length > 0) return { ok: false, problems: plan.diagnostics.map(d => ({ state: 'invalid', detail: `[${d.code}] ${d.message}` })) }
|
|
301
|
+
const { ok, problems } = checkContractsPlan({ target, plan })
|
|
302
|
+
return { ok, problems: problems.map(problem => ({ ...problem, path: `${target.label}/${problem.path}` })) }
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* `prepare --check`: compare the host on disk with what prepare would generate now, writing
|
|
307
|
+
* nothing. The expected host is the one `nextspark prepare` / `build` write; with `dev`, the one
|
|
308
|
+
* `nextspark dev` writes (its status files and composed root layout). A dev generation is
|
|
309
|
+
* therefore never fresh for a plain check - what CI checks is the production host.
|
|
310
|
+
*/
|
|
311
|
+
export async function checkHost(config, { dev = false } = {}) {
|
|
312
|
+
let previous
|
|
313
|
+
try {
|
|
314
|
+
previous = readGeneration(config.hostRoot)
|
|
315
|
+
} catch (error) {
|
|
316
|
+
if (!(error instanceof GenerationError)) throw error
|
|
317
|
+
return { ok: false, problems: error.diagnostics.map(d => ({ state: 'stale', path: GENERATION_FILE, detail: d.message })) }
|
|
318
|
+
}
|
|
319
|
+
let rendered
|
|
320
|
+
try {
|
|
321
|
+
rendered = await renderHostFiles(config, { devStatus: dev })
|
|
322
|
+
} catch (error) {
|
|
323
|
+
if (!(error instanceof PrepareError)) throw error
|
|
324
|
+
return { ok: false, problems: error.diagnostics.map(d => ({ state: 'invalid', detail: `[${d.code}] ${d.message}` })) }
|
|
325
|
+
}
|
|
326
|
+
const inputs = config.inputs ? config.inputs({ manifest: rendered.manifest }) : null
|
|
327
|
+
const result = checkGeneration({ hostRoot: config.hostRoot, previous, appFiles: rendered.appFiles, inputs, versions: config.versions })
|
|
328
|
+
const isDevGeneration = Boolean(previous?.files?.[DEV_STATUS_FILE])
|
|
329
|
+
if (previous && isDevGeneration !== dev) {
|
|
330
|
+
result.problems.unshift({
|
|
331
|
+
state: 'stale',
|
|
332
|
+
path: GENERATION_FILE,
|
|
333
|
+
detail: isDevGeneration
|
|
334
|
+
? 'this is the development host nextspark dev writes (status files, composed root layout); run nextspark prepare for the production host, or check it with --check --dev'
|
|
335
|
+
: 'this is not the development host nextspark dev writes; run nextspark dev, or check without --dev',
|
|
336
|
+
})
|
|
337
|
+
result.ok = false
|
|
338
|
+
}
|
|
339
|
+
if (config.contracts) {
|
|
340
|
+
const target = config.contracts.target()
|
|
341
|
+
let plan
|
|
342
|
+
try {
|
|
343
|
+
plan = await config.contracts.plan()
|
|
344
|
+
} catch (error) {
|
|
345
|
+
if (!(error instanceof PrepareError)) throw error
|
|
346
|
+
plan = { diagnostics: error.diagnostics, files: [] }
|
|
347
|
+
}
|
|
348
|
+
if (plan.diagnostics.length > 0) {
|
|
349
|
+
result.problems.push(...plan.diagnostics.map(d => ({ state: 'invalid', detail: `[${d.code}] ${d.message}` })))
|
|
350
|
+
} else {
|
|
351
|
+
for (const problem of checkContractsPlan({ target, plan }).problems) result.problems.push({ ...problem, path: `${target.label}/${problem.path}` })
|
|
352
|
+
}
|
|
353
|
+
result.ok = result.problems.length === 0
|
|
354
|
+
}
|
|
355
|
+
return result
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// ---------------------------------------------------------------------------
|
|
359
|
+
// Real projects
|
|
360
|
+
// ---------------------------------------------------------------------------
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* The source directories and files whose content decides the generation: the route sources and
|
|
364
|
+
* every place the registry build reads. From `tests/` and `docs/` only what it reads: the Cypress
|
|
365
|
+
* specs whose tags feed testing-registry (`tests/cypress/e2e`) and the two documentation roots of
|
|
366
|
+
* docs-registry. The rest of `tests/` (videos, screenshots, reports, and the fixtures the registry
|
|
367
|
+
* build itself writes) and of `docs/` never changes the generation, so hashing it would only make
|
|
368
|
+
* `--check` report test runs as stale sources.
|
|
369
|
+
*/
|
|
370
|
+
export const PROJECT_INPUT_DIRS = [
|
|
371
|
+
'templates', 'api', 'entities', 'config', 'blocks', 'components', 'lib', 'messages', 'styles', 'emails', 'auth',
|
|
372
|
+
'docs/public', 'docs/superadmin', 'tests/cypress/e2e',
|
|
373
|
+
]
|
|
374
|
+
export const PROJECT_INPUT_FILES = ['nextspark.config.ts', 'package.json', 'next.config.ts', 'next.config.mjs', 'next.config.js']
|
|
375
|
+
|
|
376
|
+
function readVersion(packageJsonPath) {
|
|
377
|
+
try {
|
|
378
|
+
return JSON.parse(readFileSync(packageJsonPath, 'utf8')).version ?? null
|
|
379
|
+
} catch {
|
|
380
|
+
return null
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
function walkFiles(root, dir = root) {
|
|
385
|
+
const files = []
|
|
386
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
387
|
+
const path = join(dir, entry.name)
|
|
388
|
+
if (entry.isDirectory()) files.push(...walkFiles(root, path))
|
|
389
|
+
else if (entry.isFile()) files.push(relative(root, path).split(sep).join('/'))
|
|
390
|
+
}
|
|
391
|
+
return files.sort(compareTargets)
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/** The fixed time generated registries of a generated host carry, so the same inputs give the same bytes. */
|
|
395
|
+
export const DETERMINISTIC_BUILD_TIME = '1970-01-01T00:00:00.000Z'
|
|
396
|
+
const BUILD_TIME_LINE = /^(.*(?:Generated at:|generatedAt:|generatedAt =)\s*['"]?)\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z(['"]?,?\s*)$/gm
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* The registry generators stamp the wall-clock time into each file (`Generated at: <ISO>`,
|
|
400
|
+
* `generatedAt: '<ISO>'`). A generated host replaces exactly those timestamps with a fixed one:
|
|
401
|
+
* otherwise every prepare would rewrite every registry (and Next recompile them) and the same
|
|
402
|
+
* sources would never give the same bytes.
|
|
403
|
+
*/
|
|
404
|
+
export function withoutBuildTime(content) {
|
|
405
|
+
return content.replace(BUILD_TIME_LINE, `$1${DETERMINISTIC_BUILD_TIME}$2`)
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Run the registry build with its output in a staging directory under .nextspark and read what
|
|
410
|
+
* it wrote. The build runs as a child process (it ends with process.exit on failure).
|
|
411
|
+
*/
|
|
412
|
+
export function stagedRegistryBuild({ projectRoot, coreRoot, env = process.env }) {
|
|
413
|
+
return async ({ mode }) => {
|
|
414
|
+
const fs = projectFiles(projectRoot)
|
|
415
|
+
fs.mkdirSync(join(projectRoot, '.nextspark'), { recursive: true })
|
|
416
|
+
const staging = fs.mkdtempSync(join('.nextspark', 'staging-'))
|
|
417
|
+
try {
|
|
418
|
+
const outputDir = join(staging, 'registries')
|
|
419
|
+
const result = await new Promise(resolve => {
|
|
420
|
+
const child = spawn(process.execPath, [join(coreRoot, 'scripts/build/registry.mjs'), '--build'], {
|
|
421
|
+
cwd: projectRoot,
|
|
422
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
423
|
+
env: {
|
|
424
|
+
...env,
|
|
425
|
+
...(mode === 'production' ? { NODE_ENV: 'production' } : {}),
|
|
426
|
+
NEXTSPARK_REGISTRIES_OUT: relative(projectRoot, outputDir),
|
|
427
|
+
},
|
|
428
|
+
})
|
|
429
|
+
let output = ''
|
|
430
|
+
child.stdout.on('data', chunk => { output += chunk })
|
|
431
|
+
child.stderr.on('data', chunk => { output += chunk })
|
|
432
|
+
child.on('error', error => resolve({ code: 1, output: `${output}${error.message}\n` }))
|
|
433
|
+
child.on('close', (code, signal) => resolve({ code: code ?? (signal ? 1 : 0), output }))
|
|
434
|
+
})
|
|
435
|
+
if (result.code !== 0 || !existsSync(outputDir)) {
|
|
436
|
+
const tail = result.output.trim().split('\n').slice(-40).join('\n')
|
|
437
|
+
throw new PrepareError([{ code: 'NS_HOST_REGISTRY_BUILD_FAILED', message: `the registry build failed (exit ${result.code}):\n${tail}` }])
|
|
438
|
+
}
|
|
439
|
+
// The build's output is dropped when it succeeds, except its WARNING/ERROR lines (e.g. a thumbnail.png that is not a PNG)
|
|
440
|
+
for (const line of result.output.split('\n')) if (line.includes('WARNING') || line.includes('ERROR')) process.stderr.write(`${line}\n`)
|
|
441
|
+
return walkFiles(outputDir).map(path => ({ path: `${REGISTRIES_DIR}/${path}`, content: withoutBuildTime(readFileSync(join(outputDir, path), 'utf8')), grammar: null }))
|
|
442
|
+
} finally {
|
|
443
|
+
fs.rmSync(staging, { recursive: true, force: true })
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
/**
|
|
449
|
+
* The host's `cacheComponents`, when next.config states it as a literal (`cacheComponents: true`
|
|
450
|
+
* or `false`, comments ignored); undefined when it has no next.config, never mentions it, or
|
|
451
|
+
* says it more than one way (computed configs cannot be read without running them). It selects
|
|
452
|
+
* core's cacheComponents route variants and lets the emitter reject segment config Next would
|
|
453
|
+
* refuse; undefined keeps the manifest entries and leaves that check to `next build`.
|
|
454
|
+
*/
|
|
455
|
+
export function readCacheComponents(projectRoot) {
|
|
456
|
+
const values = new Set()
|
|
457
|
+
for (const name of ['next.config.ts', 'next.config.mjs', 'next.config.js']) {
|
|
458
|
+
const path = join(projectRoot, name)
|
|
459
|
+
if (!existsSync(path)) continue
|
|
460
|
+
const source = readFileSync(path, 'utf8').replace(/\/\*[\s\S]*?\*\//g, '').replace(/(^|[^:])\/\/.*$/gm, '$1')
|
|
461
|
+
for (const match of source.matchAll(/\bcacheComponents\s*:\s*([A-Za-z_$][\w$.]*)/g)) values.add(match[1])
|
|
462
|
+
}
|
|
463
|
+
if (values.size !== 1) return undefined
|
|
464
|
+
const [value] = values
|
|
465
|
+
return value === 'true' ? true : value === 'false' ? false : undefined
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* The host config of a real root-first project: core routes from the installed core's
|
|
470
|
+
* manifest, enabled plugins from nextspark.config.ts, project `templates/` and `api/`,
|
|
471
|
+
* registries from the registry build.
|
|
472
|
+
*/
|
|
473
|
+
export function projectHostConfig({ projectRoot = process.cwd(), env = process.env } = {}) {
|
|
474
|
+
const config = getConfig(projectRoot)
|
|
475
|
+
const coreRoot = config.coreDir ?? CORE_ROOT
|
|
476
|
+
const pluginsOf = loaded => (loaded.pluginSources ?? []).map(source => ({ name: source.name, root: source.sourceDir, importBase: source.importBase, kind: source.kind, packageName: source.packageName }))
|
|
477
|
+
// nextspark.config.ts is read again for every generation, so a long-lived watcher follows an
|
|
478
|
+
// edit (a plugin enabled or removed) instead of the config it started with.
|
|
479
|
+
const currentConfig = () => {
|
|
480
|
+
try {
|
|
481
|
+
return getConfig(config.projectRoot)
|
|
482
|
+
} catch (error) {
|
|
483
|
+
throw new PrepareError([{ code: 'NS_HOST_PROJECT_CONFIG', message: error.message }])
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
const currentPlugins = () => pluginsOf(currentConfig())
|
|
487
|
+
const plugins = pluginsOf(config)
|
|
488
|
+
const next = resolveNextPackage(config.projectRoot)
|
|
489
|
+
return {
|
|
490
|
+
hostRoot: config.projectRoot,
|
|
491
|
+
projectRoot: config.projectRoot,
|
|
492
|
+
coreRoot,
|
|
493
|
+
loadCoreRoutes: () => loadCoreRouteManifest({ coreRoot, cacheComponents: readCacheComponents(config.projectRoot) }),
|
|
494
|
+
// Read on every generation: the dev watcher follows a next.config edit too.
|
|
495
|
+
get cacheComponents() {
|
|
496
|
+
return readCacheComponents(config.projectRoot)
|
|
497
|
+
},
|
|
498
|
+
get plugins() {
|
|
499
|
+
return currentPlugins()
|
|
500
|
+
},
|
|
501
|
+
project: { root: config.projectRoot, importBase: '@', label: '.' },
|
|
502
|
+
// The project's global stylesheet: the root layout imports it (a project without one has none to import).
|
|
503
|
+
get stylesheet() {
|
|
504
|
+
return existsSync(join(config.projectRoot, 'styles', 'globals.css')) ? '@/styles/globals.css' : undefined
|
|
505
|
+
},
|
|
506
|
+
// One concrete set of routes per entity, from the entities discovered now (a watcher follows a new entity).
|
|
507
|
+
entities: async ({ manifest }) => {
|
|
508
|
+
const current = currentConfig()
|
|
509
|
+
const entities = await discoverAllEntities(current, { includeCore: false })
|
|
510
|
+
const facts = await readAllEntityFacts({ entities, projectRoot: config.projectRoot, plugins: pluginsOf(current) })
|
|
511
|
+
return planEntityRoutes({
|
|
512
|
+
entities,
|
|
513
|
+
facts,
|
|
514
|
+
coreRoutes: manifest.routes,
|
|
515
|
+
resolveFile: specifier => resolveCoreRouteFile(coreRoot, specifier),
|
|
516
|
+
cacheComponents: readCacheComponents(config.projectRoot),
|
|
517
|
+
})
|
|
518
|
+
},
|
|
519
|
+
// The contracts are generated with the core that runs this script (its portable sources are what the server runs too)
|
|
520
|
+
contracts: projectContracts({ projectRoot: config.projectRoot, coreRoot: CORE_ROOT, currentConfig, plugins: pluginsOf }),
|
|
521
|
+
webhooks: () =>
|
|
522
|
+
webhookRoutes({
|
|
523
|
+
webhookExtensions: currentConfig().billing?.webhookExtensions,
|
|
524
|
+
projectRoot: config.projectRoot,
|
|
525
|
+
resolveFile: specifier => resolveCoreRouteFile(coreRoot, specifier),
|
|
526
|
+
}),
|
|
527
|
+
registries: stagedRegistryBuild({ projectRoot: config.projectRoot, coreRoot, env }),
|
|
528
|
+
inputs: ({ manifest } = {}) => {
|
|
529
|
+
const enabled = currentPlugins()
|
|
530
|
+
return hashInputs({
|
|
531
|
+
root: config.projectRoot,
|
|
532
|
+
dirs: [...PROJECT_INPUT_DIRS, ...enabled.filter(plugin => plugin.kind === 'local').map(plugin => relative(config.projectRoot, plugin.root))],
|
|
533
|
+
files: PROJECT_INPUT_FILES,
|
|
534
|
+
extra: {
|
|
535
|
+
'core-routes': manifest?.hash ?? 'none',
|
|
536
|
+
...Object.fromEntries(enabled.filter(plugin => plugin.kind === 'packaged').map(plugin => [`plugin:${plugin.packageName}`, readVersion(join(plugin.root, 'package.json')) ?? '?'])),
|
|
537
|
+
},
|
|
538
|
+
})
|
|
539
|
+
},
|
|
540
|
+
versions: {
|
|
541
|
+
core: readVersion(join(coreRoot, 'package.json')) ?? 'unknown',
|
|
542
|
+
next: next?.version ?? 'unresolved',
|
|
543
|
+
...(env.NEXTSPARK_CLI_VERSION ? { cli: env.NEXTSPARK_CLI_VERSION } : {}),
|
|
544
|
+
},
|
|
545
|
+
watch: {
|
|
546
|
+
// Not tests/cypress/e2e: a spec saved while tests run would regenerate the host; --check still sees it.
|
|
547
|
+
dirs: ['templates', 'api', 'plugins', 'entities', 'config', 'blocks', 'messages', 'emails', 'auth', 'docs/public', 'docs/superadmin'].map(dir => join(config.projectRoot, dir)),
|
|
548
|
+
files: [
|
|
549
|
+
join(config.projectRoot, 'nextspark.config.ts'),
|
|
550
|
+
...[coreRouteManifestPath(coreRoot), coreRouteVariantsPath(coreRoot)].filter(Boolean),
|
|
551
|
+
...['next.config.ts', 'next.config.mjs', 'next.config.js'].map(name => join(config.projectRoot, name)),
|
|
552
|
+
...plugins.filter(plugin => plugin.kind === 'packaged').map(plugin => join(plugin.root, 'package.json')),
|
|
553
|
+
],
|
|
554
|
+
},
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
export { hasCoreRouteManifest }
|
|
559
|
+
|
|
560
|
+
// ---------------------------------------------------------------------------
|
|
561
|
+
// Watch (nextspark dev)
|
|
562
|
+
// ---------------------------------------------------------------------------
|
|
563
|
+
|
|
564
|
+
const SOURCE_FILE = /\.(?:[cm]?[jt]sx?)$/
|
|
565
|
+
// Not imported by the app (the Next and NextSpark configs, tests): a failure in them cannot reach the bundler's graph, and the
|
|
566
|
+
// panel is the only place it shows
|
|
567
|
+
const OUTSIDE_GRAPH = /(^|[\\/])(nextspark|next)\.config\.[cm]?[jt]s$|[\\/]__tests__[\\/]|\.(test|spec|cy)\.[cm]?[jt]sx?$/
|
|
568
|
+
|
|
569
|
+
/**
|
|
570
|
+
* The changed files of a watch batch that are sources the app imports (TypeScript or JavaScript: a template, a config
|
|
571
|
+
* under config/, an entity or plugin config...) and do not parse. Parsed with the project's TypeScript; unreadable or
|
|
572
|
+
* removed files are skipped.
|
|
573
|
+
*/
|
|
574
|
+
export async function unparsableSources(changed, projectRoot) {
|
|
575
|
+
const candidates = changed.filter(path => SOURCE_FILE.test(path) && !OUTSIDE_GRAPH.test(path))
|
|
576
|
+
if (candidates.length === 0) return []
|
|
577
|
+
const ts = await loadTypeScriptFor(projectRoot)
|
|
578
|
+
const broken = []
|
|
579
|
+
for (const path of candidates) {
|
|
580
|
+
let source
|
|
581
|
+
try {
|
|
582
|
+
source = readFileSync(path, 'utf8')
|
|
583
|
+
} catch {
|
|
584
|
+
continue
|
|
585
|
+
}
|
|
586
|
+
const file = ts.createSourceFile(path, source, ts.ScriptTarget.Latest, false, ts.getScriptKindFromFileName(path))
|
|
587
|
+
if ((file.parseDiagnostics ?? []).length > 0) broken.push(path)
|
|
588
|
+
}
|
|
589
|
+
return broken
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
/** True when a failure includes a source that does not parse (a template, a route or an entity config). */
|
|
593
|
+
export function hasParseError(error) {
|
|
594
|
+
return Boolean(error?.diagnostics?.some(diagnostic => diagnostic.code === 'NS_HOST_PARSE_ERROR' || diagnostic.parseError === true))
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
/** Diagnostics as terminal lines. */
|
|
598
|
+
export function diagnosticLines(error) {
|
|
599
|
+
if (error instanceof PrepareError || error instanceof HostPlanError) return error.message.split('\n')
|
|
600
|
+
return [`nextspark prepare failed: ${error?.stack ?? error}`]
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
/**
|
|
604
|
+
* Watch the sources of a host and regenerate on change (nextspark dev).
|
|
605
|
+
*
|
|
606
|
+
* Each batch of changes (debounced) runs `prepareHost` with a shared facade cache, so only
|
|
607
|
+
* changed sources are parsed again and only changed files are written. When a regeneration
|
|
608
|
+
* fails, the last valid generation stays published and keeps being served, the diagnostic goes
|
|
609
|
+
* to `onFailure`, and - when the generation has the dev status files - the diagnostic module is
|
|
610
|
+
* rewritten so the dev reporter logs it in the browser (Next's dev indicator lists it); the next
|
|
611
|
+
* successful regeneration empties it and the issue clears. Nothing throws: routes keep rendering.
|
|
612
|
+
* Except while a source does not parse (a route, an entity config, or any changed source of the
|
|
613
|
+
* batch): then nothing is written at all, since Next reports the syntax error itself and a write to
|
|
614
|
+
* the graph at that moment makes Turbopack drop the fix that follows (see `prepareHost`).
|
|
615
|
+
*
|
|
616
|
+
* @returns {{ close(): void, regenerate(): Promise<object> }}
|
|
617
|
+
*/
|
|
618
|
+
export function watchHost(config, { debounceMs = 150, devStatus = true, onSuccess = () => {}, onFailure = () => {}, watchPaths = config.watch } = {}) {
|
|
619
|
+
const cache = new Map()
|
|
620
|
+
const watchers = new Map()
|
|
621
|
+
let timer = null
|
|
622
|
+
let running = null
|
|
623
|
+
let again = false
|
|
624
|
+
let closed = false
|
|
625
|
+
let changed = new Set()
|
|
626
|
+
let unparsed = []
|
|
627
|
+
|
|
628
|
+
const regenerate = async () => {
|
|
629
|
+
if (running) {
|
|
630
|
+
again = true
|
|
631
|
+
return running
|
|
632
|
+
}
|
|
633
|
+
const batch = [...changed].sort(compareTargets)
|
|
634
|
+
changed = new Set()
|
|
635
|
+
// Sources that did not parse in an earlier batch count until they parse again, whatever this batch changed
|
|
636
|
+
const suspects = [...new Set([...batch, ...unparsed])]
|
|
637
|
+
running = (async () => {
|
|
638
|
+
try {
|
|
639
|
+
unparsed = await unparsableSources(suspects, config.projectRoot).catch(() => [])
|
|
640
|
+
const result = await prepareHost(config, { mode: 'development', devStatus, cache, reportFailure: true, changed: unparsed })
|
|
641
|
+
onSuccess({ ...result, changed: batch })
|
|
642
|
+
return { ok: true, result }
|
|
643
|
+
} catch (error) {
|
|
644
|
+
// Written by prepareHost under its lock; false when the lock was held by another writer
|
|
645
|
+
// (whose generation will be the one published) or the host has no dev diagnostic module.
|
|
646
|
+
const statusWritten = error?.statusWritten === true
|
|
647
|
+
onFailure({ error, lines: diagnosticLines(error), changed: batch, statusWritten })
|
|
648
|
+
return { ok: false, error }
|
|
649
|
+
} finally {
|
|
650
|
+
running = null
|
|
651
|
+
if (again && !closed) {
|
|
652
|
+
again = false
|
|
653
|
+
schedule()
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
})()
|
|
657
|
+
return running
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
const schedule = () => {
|
|
661
|
+
clearTimeout(timer)
|
|
662
|
+
timer = setTimeout(() => {
|
|
663
|
+
timer = null
|
|
664
|
+
void regenerate()
|
|
665
|
+
}, debounceMs)
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
const record = path => {
|
|
669
|
+
if (/(^|[\\/])(node_modules|\.git|\.next[^\\/]*)([\\/]|$)/.test(path) || /\.nextspark-tmp$/.test(path)) return
|
|
670
|
+
changed.add(path)
|
|
671
|
+
schedule()
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
const attach = (path, recursive) => {
|
|
675
|
+
if (closed || watchers.has(path) || !existsSync(path)) return
|
|
676
|
+
try {
|
|
677
|
+
const watcher = watchFs(path, { recursive }, (event, name) => record(name ? join(path, String(name)) : path))
|
|
678
|
+
watcher.on('error', () => {
|
|
679
|
+
watchers.delete(path)
|
|
680
|
+
watcher.close()
|
|
681
|
+
})
|
|
682
|
+
watchers.set(path, watcher)
|
|
683
|
+
} catch {
|
|
684
|
+
// Unwatchable (removed in between): the parent watcher re-attaches it when it comes back.
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
const dirs = watchPaths?.dirs ?? []
|
|
689
|
+
const files = watchPaths?.files ?? []
|
|
690
|
+
for (const dir of dirs) attach(dir, true)
|
|
691
|
+
for (const file of files) attach(file, false)
|
|
692
|
+
// Parents catch a source directory or file created (or re-created) after start.
|
|
693
|
+
const parents = [...new Set([...dirs, ...files].map(path => dirname(path)))]
|
|
694
|
+
for (const parent of parents) {
|
|
695
|
+
try {
|
|
696
|
+
const watcher = watchFs(parent, { recursive: false }, (event, name) => {
|
|
697
|
+
const path = name ? join(parent, String(name)) : parent
|
|
698
|
+
if (dirs.includes(path) || files.includes(path)) {
|
|
699
|
+
if (!existsSync(path) && watchers.has(path)) {
|
|
700
|
+
watchers.get(path).close()
|
|
701
|
+
watchers.delete(path)
|
|
702
|
+
}
|
|
703
|
+
attach(path, dirs.includes(path))
|
|
704
|
+
record(path)
|
|
705
|
+
}
|
|
706
|
+
})
|
|
707
|
+
watchers.set(`${parent}\0parent`, watcher)
|
|
708
|
+
} catch {
|
|
709
|
+
// A missing parent (an uninstalled plugin package) is simply not watched.
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
return {
|
|
714
|
+
regenerate,
|
|
715
|
+
close() {
|
|
716
|
+
closed = true
|
|
717
|
+
clearTimeout(timer)
|
|
718
|
+
for (const watcher of watchers.values()) watcher.close()
|
|
719
|
+
watchers.clear()
|
|
720
|
+
},
|
|
721
|
+
}
|
|
722
|
+
}
|