alepha 0.21.2 → 0.23.0
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 +0 -1
- package/dist/api/audits/index.browser.js.map +1 -1
- package/dist/api/audits/index.d.ts +393 -403
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/audits/index.js +25 -56
- package/dist/api/audits/index.js.map +1 -1
- package/dist/api/files/index.browser.js +31 -1
- package/dist/api/files/index.browser.js.map +1 -1
- package/dist/api/files/index.d.ts +313 -208
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/files/index.js +152 -42
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.browser.js +2 -2
- package/dist/api/jobs/index.browser.js.map +1 -1
- package/dist/api/jobs/index.d.ts +282 -285
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +39 -33
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +217 -222
- package/dist/api/keys/index.d.ts.map +1 -1
- package/dist/api/keys/index.js.map +1 -1
- package/dist/api/notifications/index.browser.js.map +1 -1
- package/dist/api/notifications/index.d.ts +188 -195
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/oauth/index.d.ts +71 -76
- package/dist/api/oauth/index.d.ts.map +1 -1
- package/dist/api/oauth/index.js.map +1 -1
- package/dist/api/organizations/index.browser.js.map +1 -1
- package/dist/api/organizations/index.d.ts +104 -109
- package/dist/api/organizations/index.d.ts.map +1 -1
- package/dist/api/organizations/index.js.map +1 -1
- package/dist/api/parameters/index.browser.js +43 -16
- package/dist/api/parameters/index.browser.js.map +1 -1
- package/dist/api/parameters/index.d.ts +488 -344
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +175 -35
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/payments/index.d.ts +396 -402
- package/dist/api/payments/index.d.ts.map +1 -1
- package/dist/api/payments/index.js.map +1 -1
- package/dist/api/subscriptions/index.d.ts +644 -652
- package/dist/api/subscriptions/index.d.ts.map +1 -1
- package/dist/api/subscriptions/index.js +1 -1
- package/dist/api/subscriptions/index.js.map +1 -1
- package/dist/api/users/index.browser.js +7 -0
- package/dist/api/users/index.browser.js.map +1 -1
- package/dist/api/users/index.d.ts +1106 -1005
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +307 -64
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.browser.js.map +1 -1
- package/dist/api/verifications/index.d.ts +137 -143
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/api/verifications/index.js.map +1 -1
- package/dist/background/index.d.ts +95 -0
- package/dist/background/index.d.ts.map +1 -0
- package/dist/background/index.js +121 -0
- package/dist/background/index.js.map +1 -0
- package/dist/background/index.workerd.js +110 -0
- package/dist/background/index.workerd.js.map +1 -0
- package/dist/batch/index.d.ts +5 -7
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js.map +1 -1
- package/dist/bin/index.js.map +1 -1
- package/dist/bucket/index.d.ts +76 -54
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/bucket/index.js +58 -11
- package/dist/bucket/index.js.map +1 -1
- package/dist/bucket/index.workerd.js +200 -5
- package/dist/bucket/index.workerd.js.map +1 -1
- package/dist/cache/core/index.d.ts +7 -10
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cache/core/index.workerd.js.map +1 -1
- package/dist/cache/database/index.d.ts +22 -26
- package/dist/cache/database/index.d.ts.map +1 -1
- package/dist/cache/database/index.js.map +1 -1
- package/dist/cache/redis/index.d.ts +4 -7
- package/dist/cache/redis/index.d.ts.map +1 -1
- package/dist/cache/redis/index.js.map +1 -1
- package/dist/captcha/index.d.ts +3 -6
- package/dist/captcha/index.d.ts.map +1 -1
- package/dist/captcha/index.js.map +1 -1
- package/dist/cli/config/index.d.ts.map +1 -1
- package/dist/cli/config/index.js.map +1 -1
- package/dist/cli/core/index.d.ts +458 -249
- package/dist/cli/core/index.d.ts.map +1 -1
- package/dist/cli/core/index.js +372 -660
- package/dist/cli/core/index.js.map +1 -1
- package/dist/cli/devtools/index.d.ts +3 -5
- package/dist/cli/devtools/index.d.ts.map +1 -1
- package/dist/cli/devtools/index.js.map +1 -1
- package/dist/cli/i18n/index.d.ts +20 -17
- package/dist/cli/i18n/index.d.ts.map +1 -1
- package/dist/cli/i18n/index.js +45 -11
- package/dist/cli/i18n/index.js.map +1 -1
- package/dist/cli/platform/index.d.ts +126 -1342
- package/dist/cli/platform/index.d.ts.map +1 -1
- package/dist/cli/platform/index.js +136 -2374
- package/dist/cli/platform/index.js.map +1 -1
- package/dist/cli/platform-lib/index.d.ts +1472 -0
- package/dist/cli/platform-lib/index.d.ts.map +1 -0
- package/dist/cli/platform-lib/index.js +2660 -0
- package/dist/cli/platform-lib/index.js.map +1 -0
- package/dist/cli/vendor/index.d.ts +17 -21
- package/dist/cli/vendor/index.d.ts.map +1 -1
- package/dist/cli/vendor/index.js.map +1 -1
- package/dist/command/index.d.ts +20 -19
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +39 -10
- package/dist/command/index.js.map +1 -1
- package/dist/{containers → container}/core/index.d.ts +13 -15
- package/dist/container/core/index.d.ts.map +1 -0
- package/dist/{containers → container}/core/index.js +23 -14
- package/dist/container/core/index.js.map +1 -0
- package/dist/{containers → container}/core/index.workerd.js +37 -22
- package/dist/container/core/index.workerd.js.map +1 -0
- package/dist/core/index.browser.js +27 -1
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +48 -24
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +27 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +27 -1
- package/dist/core/index.native.js.map +1 -1
- package/dist/core/index.workerd.js +27 -1
- package/dist/core/index.workerd.js.map +1 -1
- package/dist/crypto/index.browser.js.map +1 -1
- package/dist/crypto/index.d.ts +5 -8
- package/dist/crypto/index.d.ts.map +1 -1
- package/dist/crypto/index.js.map +1 -1
- package/dist/datetime/index.d.ts +3 -4
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/brevo/index.d.ts +2 -4
- package/dist/email/brevo/index.d.ts.map +1 -1
- package/dist/email/brevo/index.js.map +1 -1
- package/dist/email/cloudflare/index.d.ts +20 -7
- package/dist/email/cloudflare/index.d.ts.map +1 -1
- package/dist/email/cloudflare/index.js +46 -9
- package/dist/email/cloudflare/index.js.map +1 -1
- package/dist/email/core/index.d.ts +6 -9
- package/dist/email/core/index.d.ts.map +1 -1
- package/dist/email/core/index.js.map +1 -1
- package/dist/email/core/index.workerd.js.map +1 -1
- package/dist/email/smtp/index.d.ts +10 -13
- package/dist/email/smtp/index.d.ts.map +1 -1
- package/dist/email/smtp/index.js +107 -32
- package/dist/email/smtp/index.js.map +1 -1
- package/dist/fake/index.d.ts +1 -2
- package/dist/fake/index.d.ts.map +1 -1
- package/dist/fake/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +9 -14
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/core/index.js.map +1 -1
- package/dist/lock/redis/index.d.ts +2 -4
- package/dist/lock/redis/index.d.ts.map +1 -1
- package/dist/lock/redis/index.js.map +1 -1
- package/dist/logger/index.d.ts +105 -76
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +196 -174
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.d.ts +25 -20
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +23 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/core/index.browser.js.map +1 -1
- package/dist/orm/core/index.bun.js +19 -1
- package/dist/orm/core/index.bun.js.map +1 -1
- package/dist/orm/core/index.d.ts +76 -62
- package/dist/orm/core/index.d.ts.map +1 -1
- package/dist/orm/core/index.js +20 -2
- package/dist/orm/core/index.js.map +1 -1
- package/dist/orm/postgres/index.bun.js.map +1 -1
- package/dist/orm/postgres/index.d.ts +28 -20
- package/dist/orm/postgres/index.d.ts.map +1 -1
- package/dist/orm/postgres/index.js.map +1 -1
- package/dist/queue/core/index.d.ts +12 -15
- package/dist/queue/core/index.d.ts.map +1 -1
- package/dist/queue/core/index.js.map +1 -1
- package/dist/queue/core/index.workerd.js.map +1 -1
- package/dist/queue/redis/index.d.ts +3 -5
- package/dist/queue/redis/index.d.ts.map +1 -1
- package/dist/queue/redis/index.js.map +1 -1
- package/dist/react/auth/index.browser.js +9 -2
- package/dist/react/auth/index.browser.js.map +1 -1
- package/dist/react/auth/index.d.ts +14 -9
- package/dist/react/auth/index.d.ts.map +1 -1
- package/dist/react/auth/index.js +9 -2
- package/dist/react/auth/index.js.map +1 -1
- package/dist/react/core/index.d.ts +7 -8
- package/dist/react/core/index.d.ts.map +1 -1
- package/dist/react/core/index.js +6 -3
- package/dist/react/core/index.js.map +1 -1
- package/dist/react/form/index.d.ts +2 -5
- package/dist/react/form/index.d.ts.map +1 -1
- package/dist/react/form/index.js +16 -15
- package/dist/react/form/index.js.map +1 -1
- package/dist/react/head/index.browser.js.map +1 -1
- package/dist/react/head/index.d.ts +2 -4
- package/dist/react/head/index.d.ts.map +1 -1
- package/dist/react/head/index.js.map +1 -1
- package/dist/react/i18n/index.d.ts +90 -11
- package/dist/react/i18n/index.d.ts.map +1 -1
- package/dist/react/i18n/index.js +147 -11
- package/dist/react/i18n/index.js.map +1 -1
- package/dist/react/intro/index.d.ts +1 -2
- package/dist/react/intro/index.d.ts.map +1 -1
- package/dist/react/intro/index.js +2 -2
- package/dist/react/intro/index.js.map +1 -1
- package/dist/react/router/index.browser.js +193 -24
- package/dist/react/router/index.browser.js.map +1 -1
- package/dist/react/router/index.d.ts +434 -222
- package/dist/react/router/index.d.ts.map +1 -1
- package/dist/react/router/index.js +249 -35
- package/dist/react/router/index.js.map +1 -1
- package/dist/react/sitemap/index.browser.js +35 -0
- package/dist/react/sitemap/index.browser.js.map +1 -0
- package/dist/react/sitemap/index.d.ts +92 -0
- package/dist/react/sitemap/index.d.ts.map +1 -0
- package/dist/react/sitemap/index.js +131 -0
- package/dist/react/sitemap/index.js.map +1 -0
- package/dist/react/testing/index.d.ts +1 -2
- package/dist/react/testing/index.d.ts.map +1 -1
- package/dist/react/testing/index.js +16 -17
- package/dist/react/testing/index.js.map +1 -1
- package/dist/react/ui/index.d.ts +20 -25
- package/dist/react/ui/index.d.ts.map +1 -1
- package/dist/react/ui/index.js.map +1 -1
- package/dist/redis/index.bun.js.map +1 -1
- package/dist/redis/index.d.ts +17 -19
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.d.ts +2 -4
- package/dist/retry/index.d.ts.map +1 -1
- package/dist/retry/index.js.map +1 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/scheduler/index.d.ts +10 -13
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/index.workerd.js.map +1 -1
- package/dist/security/index.browser.js.map +1 -1
- package/dist/security/index.d.ts +45 -48
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.browser.js.map +1 -1
- package/dist/server/auth/index.d.ts +272 -173
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +1608 -15
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cookies/index.browser.js.map +1 -1
- package/dist/server/cookies/index.d.ts +20 -7
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +22 -3
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.browser.js.map +1 -1
- package/dist/server/core/index.d.ts +106 -73
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +44 -0
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/cors/index.d.ts +11 -14
- package/dist/server/cors/index.d.ts.map +1 -1
- package/dist/server/cors/index.js.map +1 -1
- package/dist/server/etag/index.d.ts +6 -9
- package/dist/server/etag/index.d.ts.map +1 -1
- package/dist/server/etag/index.js.map +1 -1
- package/dist/server/health/index.d.ts +18 -21
- package/dist/server/health/index.d.ts.map +1 -1
- package/dist/server/health/index.js.map +1 -1
- package/dist/server/links/index.browser.js +2 -0
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.d.ts +63 -67
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +2 -0
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts +5 -7
- package/dist/server/metrics/index.d.ts.map +1 -1
- package/dist/server/metrics/index.js.map +1 -1
- package/dist/server/proxy/index.d.ts +3 -5
- package/dist/server/proxy/index.d.ts.map +1 -1
- package/dist/server/proxy/index.js.map +1 -1
- package/dist/server/rate-limit/index.d.ts +10 -13
- package/dist/server/rate-limit/index.d.ts.map +1 -1
- package/dist/server/rate-limit/index.js.map +1 -1
- package/dist/server/static/index.d.ts +3 -5
- package/dist/server/static/index.d.ts.map +1 -1
- package/dist/server/static/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts +5 -8
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +3 -5
- package/dist/sms/index.d.ts.map +1 -1
- package/dist/sms/index.js.map +1 -1
- package/dist/system/index.browser.js.map +1 -1
- package/dist/system/index.d.ts +2 -4
- package/dist/system/index.d.ts.map +1 -1
- package/dist/system/index.js.map +1 -1
- package/dist/system/index.workerd.js.map +1 -1
- package/dist/topic/core/index.d.ts +4 -6
- package/dist/topic/core/index.d.ts.map +1 -1
- package/dist/topic/core/index.js.map +1 -1
- package/dist/topic/redis/index.d.ts +5 -8
- package/dist/topic/redis/index.d.ts.map +1 -1
- package/dist/topic/redis/index.js.map +1 -1
- package/package.json +59 -23
- package/src/api/audits/__tests__/AuditService.spec.ts +18 -110
- package/src/api/audits/controllers/AdminAuditController.ts +14 -0
- package/src/api/audits/services/AuditService.ts +21 -88
- package/src/api/files/__tests__/FileService.spec.ts +207 -2
- package/src/api/files/index.ts +3 -0
- package/src/api/files/schemas/fileCreatorSummarySchema.ts +22 -0
- package/src/api/files/schemas/fileResourceSchema.ts +10 -1
- package/src/api/files/services/FileService.ts +170 -72
- package/src/api/jobs/__tests__/$job.spec.ts +24 -1
- package/src/api/jobs/index.ts +4 -3
- package/src/api/jobs/primitives/$job.ts +7 -3
- package/src/api/jobs/providers/DirectJobDispatcher.ts +17 -36
- package/src/api/jobs/providers/JobProvider.ts +53 -24
- package/src/api/jobs/schemas/jobConfigAtom.ts +1 -1
- package/src/api/jobs/schemas/jobExecutionResourceSchema.ts +4 -1
- package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +3 -1
- package/src/api/parameters/__tests__/$parameter.spec.ts +19 -2
- package/src/api/parameters/audits/ParameterAudits.ts +17 -0
- package/src/api/parameters/controllers/AdminParameterController.ts +95 -19
- package/src/api/parameters/index.ts +3 -0
- package/src/api/parameters/schemas/activateParameterBodySchema.ts +3 -3
- package/src/api/parameters/schemas/createParameterVersionBodySchema.ts +3 -2
- package/src/api/parameters/schemas/parameterCreatorSummarySchema.ts +25 -0
- package/src/api/parameters/schemas/parameterResponseSchema.ts +5 -0
- package/src/api/parameters/schemas/rollbackParameterBodySchema.ts +4 -2
- package/src/api/parameters/services/ParameterProvider.ts +69 -6
- package/src/api/subscriptions/jobs/SubscriptionJobs.ts +1 -1
- package/src/api/users/__tests__/AdminSessionController.spec.ts +37 -0
- package/src/api/users/audits/SessionAudits.ts +33 -0
- package/src/api/users/audits/UserAudits.ts +19 -43
- package/src/api/users/controllers/AdminUserController.ts +66 -1
- package/src/api/users/controllers/RealmController.ts +1 -0
- package/src/api/users/entities/sessions.ts +6 -0
- package/src/api/users/entities/users.ts +2 -0
- package/src/api/users/index.ts +9 -1
- package/src/api/users/primitives/$realm.ts +29 -0
- package/src/api/users/providers/RealmProvider.ts +15 -0
- package/src/api/users/schemas/realmConfigSchema.ts +14 -0
- package/src/api/users/schemas/sessionResourceSchema.ts +16 -0
- package/src/api/users/schemas/updateUserSchema.ts +1 -8
- package/src/api/users/schemas/userQuerySchema.ts +7 -0
- package/src/api/users/services/CredentialService.ts +15 -6
- package/src/api/users/services/IdentityService.ts +2 -1
- package/src/api/users/services/RegistrationService.ts +2 -1
- package/src/api/users/services/SessionCrudService.ts +19 -2
- package/src/api/users/services/SessionService.ts +39 -19
- package/src/api/users/services/UserService.ts +106 -8
- package/src/background/__tests__/BackgroundTaskProvider.spec.ts +96 -0
- package/src/background/index.ts +37 -0
- package/src/background/index.workerd.ts +28 -0
- package/src/background/providers/BackgroundTaskProvider.ts +70 -0
- package/src/background/providers/WorkerdBackgroundTaskProvider.ts +43 -0
- package/src/bucket/__tests__/$bucket.spec.ts +18 -0
- package/src/bucket/__tests__/LocalFileStorageProvider.spec.ts +5 -0
- package/src/bucket/__tests__/MemoryFileStorageProvider.spec.ts +5 -0
- package/src/bucket/__tests__/NodeS3BucketProvider.spec.ts +23 -4
- package/src/bucket/__tests__/shared.ts +30 -0
- package/src/bucket/index.ts +5 -5
- package/src/bucket/index.workerd.ts +11 -4
- package/src/bucket/primitives/$bucket.ts +27 -0
- package/src/bucket/providers/FileStorageProvider.ts +13 -0
- package/src/bucket/providers/LocalFileStorageProvider.ts +17 -1
- package/src/bucket/providers/MemoryFileStorageProvider.ts +7 -0
- package/src/bucket/providers/{CloudflareR2Provider.ts → R2FileStorageProvider.ts} +10 -1
- package/src/bucket/providers/{NodeS3BucketProvider.ts → S3FileStorageProvider.ts} +27 -5
- package/src/cli/core/__tests__/BuildDockerTask.spec.ts +25 -1
- package/src/cli/core/__tests__/init.spec.ts +0 -219
- package/src/cli/core/atoms/buildOptions.ts +0 -12
- package/src/cli/core/commands/__tests__/BuildCommand.spec.ts +43 -0
- package/src/cli/core/commands/build.ts +105 -37
- package/src/cli/core/commands/init.ts +0 -12
- package/src/cli/core/commands/pack.ts +133 -0
- package/src/cli/core/index.ts +3 -3
- package/src/cli/core/providers/ViteDevServerProvider.ts +40 -16
- package/src/cli/core/services/PackageManagerUtils.ts +0 -16
- package/src/cli/core/services/ProjectScaffolder.ts +29 -291
- package/src/cli/core/tasks/BuildCloudflareTask.ts +382 -56
- package/src/cli/core/tasks/BuildDockerTask.ts +33 -3
- package/src/cli/core/tasks/BuildPrerenderTask.ts +44 -7
- package/src/cli/core/tasks/BuildTask.ts +34 -0
- package/src/cli/core/templates/apiIndexTs.ts +1 -22
- package/src/cli/core/templates/mainCss.ts +0 -1
- package/src/cli/core/templates/webAppRouterTs.ts +0 -99
- package/src/cli/core/templates/webIndexTs.ts +1 -22
- package/src/cli/i18n/__tests__/I18nCheckService.spec.ts +48 -0
- package/src/cli/i18n/services/I18nCheckService.ts +65 -11
- package/src/cli/platform/__tests__/SecretsCommand.spec.ts +5 -3
- package/src/cli/platform/commands/SecretsCommand.ts +8 -6
- package/src/cli/platform/commands/platform.ts +192 -46
- package/src/cli/platform/index.ts +12 -52
- package/src/cli/{platform → platform-lib}/__tests__/CloudflareAdapter.spec.ts +426 -169
- package/src/cli/{platform → platform-lib}/__tests__/NamingService.spec.ts +91 -4
- package/src/cli/{platform → platform-lib}/__tests__/VercelAdapter.spec.ts +56 -85
- package/src/cli/{platform → platform-lib}/adapters/CloudflareAdapter.ts +519 -190
- package/src/cli/{platform → platform-lib}/adapters/PlatformAdapter.ts +62 -35
- package/src/cli/{platform → platform-lib}/adapters/VercelAdapter.ts +6 -10
- package/src/cli/{platform → platform-lib}/atoms/platformOptions.ts +34 -1
- package/src/cli/platform-lib/index.ts +67 -0
- package/src/cli/platform-lib/services/NamingService.ts +136 -0
- package/src/cli/{platform → platform-lib}/services/PlatformInspector.ts +60 -13
- package/src/cli/{platform → platform-lib}/services/PlatformOrchestrator.ts +54 -43
- package/src/cli/{platform → platform-lib}/services/WranglerApi.ts +4 -2
- package/src/command/__tests__/Runner.spec.ts +20 -0
- package/src/command/helpers/EnvUtils.ts +19 -3
- package/src/command/helpers/Runner.ts +12 -2
- package/src/command/providers/CliProvider.ts +34 -1
- package/src/{containers → container}/core/__tests__/$container.spec.ts +5 -5
- package/src/{containers → container}/core/index.ts +4 -4
- package/src/{containers → container}/core/index.workerd.ts +19 -3
- package/src/{containers → container}/core/primitives/$container.ts +1 -1
- package/src/{containers → container}/core/providers/CloudflareContainerProvider.ts +17 -19
- package/src/{containers → container}/core/providers/ContainerProvider.ts +16 -2
- package/src/{containers → container}/core/providers/MockContainerProvider.ts +1 -1
- package/src/core/Alepha.ts +49 -1
- package/src/core/__tests__/$env.spec.ts +42 -0
- package/src/core/__tests__/dump.spec.ts +47 -0
- package/src/email/cloudflare/__tests__/CloudflareEmailProvider.spec.ts +42 -10
- package/src/email/cloudflare/index.ts +14 -5
- package/src/email/cloudflare/providers/CloudflareEmailProvider.ts +54 -9
- package/src/logger/__tests__/Logger.spec.ts +55 -0
- package/src/logger/index.ts +13 -0
- package/src/logger/services/Logger.ts +31 -1
- package/src/mcp/__tests__/McpServerProvider.spec.ts +71 -0
- package/src/mcp/providers/McpServerProvider.ts +55 -0
- package/src/orm/__tests__/orm-showcase-tests.ts +27 -0
- package/src/orm/__tests__/orm-showcase.spec.ts +12 -0
- package/src/orm/core/interfaces/PgQuery.ts +4 -1
- package/src/orm/core/services/Repository.ts +27 -11
- package/src/react/auth/hooks/useAuth.ts +10 -5
- package/src/react/core/__tests__/useQuery.browser.spec.tsx +25 -0
- package/src/react/core/hooks/useAction.ts +14 -3
- package/src/react/core/hooks/useQuery.ts +24 -4
- package/src/react/form/__tests__/FormModel-submit-loading.spec.ts +71 -0
- package/src/react/form/__tests__/form-submitting-reactive.browser.spec.tsx +96 -0
- package/src/react/form/services/FormModel.ts +57 -39
- package/src/react/i18n/__tests__/I18nProvider.spec.ts +89 -0
- package/src/react/i18n/__tests__/locale-routing.spec.ts +107 -0
- package/src/react/i18n/components/Translate.tsx +47 -0
- package/src/react/i18n/index.ts +2 -0
- package/src/react/i18n/providers/I18nProvider.ts +171 -12
- package/src/react/intro/components/GettingStartedAdminSlide.tsx +2 -2
- package/src/react/router/__tests__/$page.spec.tsx +3 -2
- package/src/react/router/__tests__/RouterLocaleProvider.spec.ts +127 -0
- package/src/react/router/__tests__/page-can.spec.ts +18 -13
- package/src/react/router/hooks/useQueryParams.ts +114 -14
- package/src/react/router/index.browser.ts +4 -0
- package/src/react/router/index.shared.ts +1 -0
- package/src/react/router/index.ts +9 -0
- package/src/react/router/primitives/$page.ts +85 -4
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +18 -8
- package/src/react/router/providers/ReactPageProvider.ts +12 -1
- package/src/react/router/providers/ReactServerProvider.ts +96 -14
- package/src/react/router/providers/RootComponentsProvider.ts +13 -0
- package/src/react/router/providers/RouterLocaleProvider.ts +125 -0
- package/src/react/router/providers/__tests__/RootComponentsProvider.spec.ts +15 -0
- package/src/react/router/providers/__tests__/rootComponents.ssr.browser.spec.tsx +67 -0
- package/src/react/sitemap/__tests__/$sitemap.spec.ts +131 -0
- package/src/react/sitemap/index.browser.ts +21 -0
- package/src/react/sitemap/index.ts +25 -0
- package/src/react/sitemap/primitives/$sitemap.browser.ts +26 -0
- package/src/react/sitemap/primitives/$sitemap.ts +196 -0
- package/src/react/ui/services/SchemaControl.ts +3 -4
- package/src/server/auth/__tests__/appleClientSecret.spec.ts +34 -0
- package/src/server/auth/__tests__/authFederationClient.spec.ts +40 -0
- package/src/server/auth/__tests__/federationAssertion.spec.ts +146 -0
- package/src/server/auth/__tests__/federationRedirectReplay.spec.ts +44 -0
- package/src/server/auth/helpers/appleClientSecret.ts +24 -0
- package/src/server/auth/helpers/federationAssertion.ts +74 -0
- package/src/server/auth/helpers/jtiReplayGuard.ts +41 -0
- package/src/server/auth/helpers/safeRedirectPath.ts +19 -0
- package/src/server/auth/index.ts +4 -0
- package/src/server/auth/primitives/$authFederationBroker.ts +273 -0
- package/src/server/auth/primitives/$authFederationClient.ts +89 -0
- package/src/server/auth/providers/ServerAuthProvider.ts +18 -4
- package/src/server/cookies/__tests__/ServerCookiesProvider.spec.ts +70 -0
- package/src/server/cookies/providers/ServerCookiesProvider.ts +23 -3
- package/src/server/core/interfaces/ServerRequest.ts +8 -0
- package/src/server/core/primitives/$route.ts +27 -0
- package/src/server/core/providers/ServerMultipartProvider.ts +19 -0
- package/src/server/links/providers/LinkProvider.ts +10 -0
- package/dist/containers/core/index.d.ts.map +0 -1
- package/dist/containers/core/index.js.map +0 -1
- package/dist/containers/core/index.workerd.js.map +0 -1
- package/src/cli/core/tasks/BuildSitemapTask.ts +0 -130
- package/src/cli/core/templates/componentsJsonTs.ts +0 -39
- package/src/cli/core/templates/saasAdminLayoutTsx.ts +0 -77
- package/src/cli/core/templates/saasAdminPagesTsx.ts +0 -26
- package/src/cli/core/templates/saasAuthLayoutTsx.ts +0 -22
- package/src/cli/core/templates/saasAuthPagesTsx.ts +0 -62
- package/src/cli/core/templates/saasRealmProviderTs.ts +0 -52
- package/src/cli/platform/services/NamingService.ts +0 -54
- /package/dist/orm/core/{chunk-o8xxKEmq.js → chunk-B4FMCO8f.js} +0 -0
- /package/dist/react/testing/{chunk-6Ep1yQYe.js → chunk-BpyX8vjI.js} +0 -0
- /package/src/cli/{platform → platform-lib}/__tests__/GitHubSecretStore.spec.ts +0 -0
- /package/src/cli/{platform → platform-lib}/__tests__/PlatformCacheProvider.spec.ts +0 -0
- /package/src/cli/{platform → platform-lib}/__tests__/PlatformInspector.spec.ts +0 -0
- /package/src/cli/{platform → platform-lib}/__tests__/PlatformOrchestrator.spec.ts +0 -0
- /package/src/cli/{platform → platform-lib}/__tests__/SecretFilterService.spec.ts +0 -0
- /package/src/cli/{platform → platform-lib}/__tests__/detectResources.spec.ts +0 -0
- /package/src/cli/{platform → platform-lib}/providers/GitHubSecretStore.ts +0 -0
- /package/src/cli/{platform → platform-lib}/providers/MemorySecretStore.ts +0 -0
- /package/src/cli/{platform → platform-lib}/providers/PlatformCacheProvider.ts +0 -0
- /package/src/cli/{platform → platform-lib}/providers/SecretStoreProvider.ts +0 -0
- /package/src/cli/{platform → platform-lib}/schemas/cloudflare.ts +0 -0
- /package/src/cli/{platform → platform-lib}/schemas/platform.ts +0 -0
- /package/src/cli/{platform → platform-lib}/schemas/vercel.ts +0 -0
- /package/src/cli/{platform → platform-lib}/services/CloudflareApi.ts +0 -0
- /package/src/cli/{platform → platform-lib}/services/SecretFilterService.ts +0 -0
- /package/src/cli/{platform → platform-lib}/services/VercelApi.ts +0 -0
- /package/src/cli/{platform → platform-lib}/services/VercelCli.ts +0 -0
- /package/src/{containers → container}/core/interfaces/ContainerOptions.ts +0 -0
- /package/src/{containers → container}/core/providers/NodeContainerProvider.ts +0 -0
package/dist/cli/core/index.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import * as _$alepha from "alepha";
|
|
2
1
|
import { Alepha, Static } from "alepha";
|
|
3
|
-
import * as _$alepha_command0 from "alepha/command";
|
|
4
2
|
import { CliProvider, EnvUtils, Runner, RunnerMethod } from "alepha/command";
|
|
5
|
-
import * as _$alepha_logger0 from "alepha/logger";
|
|
6
3
|
import { ConsoleColorProvider } from "alepha/logger";
|
|
7
4
|
import { FileSystemProvider, ShellProvider } from "alepha/system";
|
|
8
5
|
import { BrotliOptions, ZlibOptions, brotliCompress, gzip } from "node:zlib";
|
|
9
6
|
import { spawn } from "node:child_process";
|
|
10
|
-
import * as
|
|
11
|
-
import * as _$vite from "vite";
|
|
7
|
+
import * as vite from "vite";
|
|
12
8
|
import { Logger, Plugin, ViteDevServer } from "vite";
|
|
13
9
|
import { DatabaseProvider } from "alepha/orm";
|
|
14
10
|
|
|
@@ -30,6 +26,7 @@ declare const alephaPackageJson: {
|
|
|
30
26
|
files: string[];
|
|
31
27
|
dependencies: {
|
|
32
28
|
"@biomejs/biome": string;
|
|
29
|
+
"@cloudflare/containers": string;
|
|
33
30
|
"@redis/client": string;
|
|
34
31
|
"@vitejs/plugin-react": string;
|
|
35
32
|
dayjs: string;
|
|
@@ -64,7 +61,6 @@ declare const alephaPackageJson: {
|
|
|
64
61
|
"prom-client": string;
|
|
65
62
|
react: string;
|
|
66
63
|
"react-dom": string;
|
|
67
|
-
shadcn: string;
|
|
68
64
|
"swagger-ui-dist": string;
|
|
69
65
|
tailwindcss: string;
|
|
70
66
|
tsdown: string;
|
|
@@ -175,6 +171,12 @@ declare const alephaPackageJson: {
|
|
|
175
171
|
import: string;
|
|
176
172
|
default: string;
|
|
177
173
|
};
|
|
174
|
+
"./background": {
|
|
175
|
+
types: string;
|
|
176
|
+
workerd: string;
|
|
177
|
+
import: string;
|
|
178
|
+
default: string;
|
|
179
|
+
};
|
|
178
180
|
"./batch": {
|
|
179
181
|
types: string;
|
|
180
182
|
import: string;
|
|
@@ -237,6 +239,11 @@ declare const alephaPackageJson: {
|
|
|
237
239
|
import: string;
|
|
238
240
|
default: string;
|
|
239
241
|
};
|
|
242
|
+
"./cli/platform-lib": {
|
|
243
|
+
types: string;
|
|
244
|
+
import: string;
|
|
245
|
+
default: string;
|
|
246
|
+
};
|
|
240
247
|
"./cli/vendor": {
|
|
241
248
|
types: string;
|
|
242
249
|
import: string;
|
|
@@ -247,7 +254,7 @@ declare const alephaPackageJson: {
|
|
|
247
254
|
import: string;
|
|
248
255
|
default: string;
|
|
249
256
|
};
|
|
250
|
-
"./
|
|
257
|
+
"./container": {
|
|
251
258
|
types: string;
|
|
252
259
|
workerd: string;
|
|
253
260
|
import: string;
|
|
@@ -385,6 +392,13 @@ declare const alephaPackageJson: {
|
|
|
385
392
|
import: string;
|
|
386
393
|
default: string;
|
|
387
394
|
};
|
|
395
|
+
"./react/sitemap": {
|
|
396
|
+
types: string;
|
|
397
|
+
"react-native": string;
|
|
398
|
+
browser: string;
|
|
399
|
+
import: string;
|
|
400
|
+
default: string;
|
|
401
|
+
};
|
|
388
402
|
"./react/testing": {
|
|
389
403
|
types: string;
|
|
390
404
|
import: string;
|
|
@@ -599,6 +613,12 @@ declare const alephaPackageJson: {
|
|
|
599
613
|
import: string;
|
|
600
614
|
default: string;
|
|
601
615
|
};
|
|
616
|
+
"./background": {
|
|
617
|
+
types: string;
|
|
618
|
+
workerd: string;
|
|
619
|
+
import: string;
|
|
620
|
+
default: string;
|
|
621
|
+
};
|
|
602
622
|
"./batch": {
|
|
603
623
|
types: string;
|
|
604
624
|
import: string;
|
|
@@ -661,6 +681,11 @@ declare const alephaPackageJson: {
|
|
|
661
681
|
import: string;
|
|
662
682
|
default: string;
|
|
663
683
|
};
|
|
684
|
+
"./cli/platform-lib": {
|
|
685
|
+
types: string;
|
|
686
|
+
import: string;
|
|
687
|
+
default: string;
|
|
688
|
+
};
|
|
664
689
|
"./cli/vendor": {
|
|
665
690
|
types: string;
|
|
666
691
|
import: string;
|
|
@@ -671,7 +696,7 @@ declare const alephaPackageJson: {
|
|
|
671
696
|
import: string;
|
|
672
697
|
default: string;
|
|
673
698
|
};
|
|
674
|
-
"./
|
|
699
|
+
"./container": {
|
|
675
700
|
types: string;
|
|
676
701
|
workerd: string;
|
|
677
702
|
import: string;
|
|
@@ -809,6 +834,13 @@ declare const alephaPackageJson: {
|
|
|
809
834
|
import: string;
|
|
810
835
|
default: string;
|
|
811
836
|
};
|
|
837
|
+
"./react/sitemap": {
|
|
838
|
+
types: string;
|
|
839
|
+
"react-native": string;
|
|
840
|
+
browser: string;
|
|
841
|
+
import: string;
|
|
842
|
+
default: string;
|
|
843
|
+
};
|
|
812
844
|
"./react/testing": {
|
|
813
845
|
types: string;
|
|
814
846
|
import: string;
|
|
@@ -947,10 +979,10 @@ declare const alephaPackageJson: {
|
|
|
947
979
|
declare const version: string;
|
|
948
980
|
//#endregion
|
|
949
981
|
//#region ../../src/cli/core/atoms/appEntryOptions.d.ts
|
|
950
|
-
declare const appEntryOptions:
|
|
951
|
-
server:
|
|
952
|
-
browser:
|
|
953
|
-
style:
|
|
982
|
+
declare const appEntryOptions: import("alepha").Atom<import("typebox").TObject<{
|
|
983
|
+
server: import("typebox").TOptional<import("typebox").TString>;
|
|
984
|
+
browser: import("typebox").TOptional<import("typebox").TString>;
|
|
985
|
+
style: import("typebox").TOptional<import("typebox").TString>;
|
|
954
986
|
}>, "alepha.cli.appEntry.options">;
|
|
955
987
|
type AppEntryOptions = Static<typeof appEntryOptions.schema>;
|
|
956
988
|
//#endregion
|
|
@@ -977,14 +1009,14 @@ type BuildRuntime = "node" | "bun" | "workerd";
|
|
|
977
1009
|
* Defines the available build configuration options with their defaults.
|
|
978
1010
|
* Options can be overridden via alepha.config.ts or CLI flags.
|
|
979
1011
|
*/
|
|
980
|
-
declare const buildOptions:
|
|
1012
|
+
declare const buildOptions: import("alepha").Atom<import("typebox").TObject<{
|
|
981
1013
|
/**
|
|
982
1014
|
* Generate build stats report.
|
|
983
1015
|
*
|
|
984
1016
|
* - `true` - Generate a static HTML report
|
|
985
1017
|
* - `"json"` - Generate a JSON report
|
|
986
1018
|
*/
|
|
987
|
-
stats:
|
|
1019
|
+
stats: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TUnsafe<"json">]>>;
|
|
988
1020
|
/**
|
|
989
1021
|
* Deployment target for the build output.
|
|
990
1022
|
*
|
|
@@ -992,7 +1024,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
992
1024
|
* - `vercel` - Generate Vercel deployment configuration (forces node runtime)
|
|
993
1025
|
* - `cloudflare` - Generate Cloudflare Workers configuration (forces workerd runtime)
|
|
994
1026
|
*/
|
|
995
|
-
target:
|
|
1027
|
+
target: import("typebox").TOptional<import("typebox").TUnsafe<"bare" | "docker" | "vercel" | "cloudflare" | "static">>;
|
|
996
1028
|
/**
|
|
997
1029
|
* JavaScript runtime for the build output.
|
|
998
1030
|
*
|
|
@@ -1004,23 +1036,23 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1004
1036
|
* - `cloudflare` always uses `workerd`
|
|
1005
1037
|
* - `vercel` always uses `node`
|
|
1006
1038
|
*/
|
|
1007
|
-
runtime:
|
|
1039
|
+
runtime: import("typebox").TOptional<import("typebox").TUnsafe<"node" | "bun" | "workerd">>;
|
|
1008
1040
|
/**
|
|
1009
1041
|
* Output directory configuration.
|
|
1010
1042
|
*/
|
|
1011
|
-
output:
|
|
1043
|
+
output: import("typebox").TOptional<import("typebox").TObject<{
|
|
1012
1044
|
/**
|
|
1013
1045
|
* Root dist directory.
|
|
1014
1046
|
*
|
|
1015
1047
|
* @default "dist"
|
|
1016
1048
|
*/
|
|
1017
|
-
dist:
|
|
1049
|
+
dist: import("typebox").TOptional<import("typebox").TString>;
|
|
1018
1050
|
/**
|
|
1019
1051
|
* Public/client subdirectory.
|
|
1020
1052
|
*
|
|
1021
1053
|
* @default "public"
|
|
1022
1054
|
*/
|
|
1023
|
-
public:
|
|
1055
|
+
public: import("typebox").TOptional<import("typebox").TString>;
|
|
1024
1056
|
}>>;
|
|
1025
1057
|
/**
|
|
1026
1058
|
* Vercel-specific deployment configuration.
|
|
@@ -1028,14 +1060,14 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1028
1060
|
* Note: Set `target: "vercel"` to enable Vercel deployment.
|
|
1029
1061
|
* This object is only for additional configuration.
|
|
1030
1062
|
*/
|
|
1031
|
-
vercel:
|
|
1032
|
-
projectName:
|
|
1033
|
-
orgId:
|
|
1034
|
-
projectId:
|
|
1035
|
-
config:
|
|
1036
|
-
crons:
|
|
1037
|
-
path:
|
|
1038
|
-
schedule:
|
|
1063
|
+
vercel: import("typebox").TOptional<import("typebox").TObject<{
|
|
1064
|
+
projectName: import("typebox").TOptional<import("typebox").TString>;
|
|
1065
|
+
orgId: import("typebox").TOptional<import("typebox").TString>;
|
|
1066
|
+
projectId: import("typebox").TOptional<import("typebox").TString>;
|
|
1067
|
+
config: import("typebox").TOptional<import("typebox").TObject<{
|
|
1068
|
+
crons: import("typebox").TOptional<import("typebox").TArray<import("typebox").TObject<{
|
|
1069
|
+
path: import("typebox").TString;
|
|
1070
|
+
schedule: import("typebox").TString;
|
|
1039
1071
|
}>>>;
|
|
1040
1072
|
}>>;
|
|
1041
1073
|
}>>;
|
|
@@ -1045,8 +1077,8 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1045
1077
|
* Note: Set `target: "cloudflare"` to enable Cloudflare deployment.
|
|
1046
1078
|
* This object is only for additional configuration.
|
|
1047
1079
|
*/
|
|
1048
|
-
cloudflare:
|
|
1049
|
-
config:
|
|
1080
|
+
cloudflare: import("typebox").TOptional<import("typebox").TObject<{
|
|
1081
|
+
config: import("typebox").TOptional<import("typebox").TRecord<string, import("typebox").TAny>>;
|
|
1050
1082
|
}>>;
|
|
1051
1083
|
/**
|
|
1052
1084
|
* Docker-specific deployment configuration.
|
|
@@ -1054,21 +1086,21 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1054
1086
|
* Note: Set `target: "docker"` to enable Docker deployment.
|
|
1055
1087
|
* This object is only for additional configuration.
|
|
1056
1088
|
*/
|
|
1057
|
-
docker:
|
|
1089
|
+
docker: import("typebox").TOptional<import("typebox").TObject<{
|
|
1058
1090
|
/**
|
|
1059
1091
|
* Base image for the Dockerfile (FROM instruction).
|
|
1060
1092
|
*
|
|
1061
1093
|
* @default "node:24-alpine" for node runtime
|
|
1062
1094
|
* @default "oven/bun:alpine" for bun runtime
|
|
1063
1095
|
*/
|
|
1064
|
-
from:
|
|
1096
|
+
from: import("typebox").TOptional<import("typebox").TString>;
|
|
1065
1097
|
/**
|
|
1066
1098
|
* Command to run in the Docker container.
|
|
1067
1099
|
*
|
|
1068
1100
|
* @default "node" for node runtime
|
|
1069
1101
|
* @default "bun" for bun runtime
|
|
1070
1102
|
*/
|
|
1071
|
-
command:
|
|
1103
|
+
command: import("typebox").TOptional<import("typebox").TString>;
|
|
1072
1104
|
/**
|
|
1073
1105
|
* Extra packages to install globally in the generated image.
|
|
1074
1106
|
*
|
|
@@ -1082,11 +1114,11 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1082
1114
|
*
|
|
1083
1115
|
* @example install: ["wrangler"]
|
|
1084
1116
|
*/
|
|
1085
|
-
install:
|
|
1117
|
+
install: import("typebox").TOptional<import("typebox").TArray<import("typebox").TString>>;
|
|
1086
1118
|
/**
|
|
1087
1119
|
* Docker build options (used when --image flag is passed).
|
|
1088
1120
|
*/
|
|
1089
|
-
image:
|
|
1121
|
+
image: import("typebox").TOptional<import("typebox").TObject<{
|
|
1090
1122
|
/**
|
|
1091
1123
|
* Default image tag (name without version).
|
|
1092
1124
|
*
|
|
@@ -1098,13 +1130,13 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1098
1130
|
* @example "myproject/myapp"
|
|
1099
1131
|
* @example "ghcr.io/myorg/myapp"
|
|
1100
1132
|
*/
|
|
1101
|
-
tag:
|
|
1133
|
+
tag: import("typebox").TString;
|
|
1102
1134
|
/**
|
|
1103
1135
|
* Additional arguments to pass to `docker build`.
|
|
1104
1136
|
*
|
|
1105
1137
|
* @example '--platform linux/amd64 --no-cache'
|
|
1106
1138
|
*/
|
|
1107
|
-
args:
|
|
1139
|
+
args: import("typebox").TOptional<import("typebox").TString>;
|
|
1108
1140
|
/**
|
|
1109
1141
|
* Auto-add OCI standard labels (revision, created, version).
|
|
1110
1142
|
*
|
|
@@ -1113,7 +1145,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1113
1145
|
* - org.opencontainers.image.created (build timestamp)
|
|
1114
1146
|
* - org.opencontainers.image.version (from image tag)
|
|
1115
1147
|
*/
|
|
1116
|
-
oci:
|
|
1148
|
+
oci: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
1117
1149
|
}>>;
|
|
1118
1150
|
/**
|
|
1119
1151
|
* Compile the server entry to a single static binary using
|
|
@@ -1130,7 +1162,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1130
1162
|
*
|
|
1131
1163
|
* Pass `true` to enable with defaults, or an object to override.
|
|
1132
1164
|
*/
|
|
1133
|
-
compile:
|
|
1165
|
+
compile: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TObject<{
|
|
1134
1166
|
/**
|
|
1135
1167
|
* Bun target triple, e.g. `bun-linux-x64-musl`,
|
|
1136
1168
|
* `bun-linux-arm64-musl`, or `bun-linux-x64-modern-musl`
|
|
@@ -1138,19 +1170,19 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1138
1170
|
*
|
|
1139
1171
|
* @default derived from host arch — always linux-musl.
|
|
1140
1172
|
*/
|
|
1141
|
-
target:
|
|
1173
|
+
target: import("typebox").TOptional<import("typebox").TString>;
|
|
1142
1174
|
/**
|
|
1143
1175
|
* Base image for the generated Dockerfile.
|
|
1144
1176
|
*
|
|
1145
1177
|
* @default "gcr.io/distroless/static-debian12"
|
|
1146
1178
|
*/
|
|
1147
|
-
base:
|
|
1179
|
+
base: import("typebox").TOptional<import("typebox").TString>;
|
|
1148
1180
|
/**
|
|
1149
1181
|
* Minify the compiled output.
|
|
1150
1182
|
*
|
|
1151
1183
|
* @default true
|
|
1152
1184
|
*/
|
|
1153
|
-
minify:
|
|
1185
|
+
minify: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
1154
1186
|
}>]>>;
|
|
1155
1187
|
}>>;
|
|
1156
1188
|
/**
|
|
@@ -1158,7 +1190,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1158
1190
|
*
|
|
1159
1191
|
* Note: Set `target: "static"` to enable static site generation.
|
|
1160
1192
|
*/
|
|
1161
|
-
static:
|
|
1193
|
+
static: import("typebox").TOptional<import("typebox").TObject<{
|
|
1162
1194
|
/**
|
|
1163
1195
|
* Surge domain for deployment.
|
|
1164
1196
|
*
|
|
@@ -1168,7 +1200,7 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1168
1200
|
* @example "my-app.surge.sh"
|
|
1169
1201
|
* @example "my-custom-domain.com"
|
|
1170
1202
|
*/
|
|
1171
|
-
domain:
|
|
1203
|
+
domain: import("typebox").TOptional<import("typebox").TString>;
|
|
1172
1204
|
}>>;
|
|
1173
1205
|
/**
|
|
1174
1206
|
* PWA (Progressive Web App) configuration.
|
|
@@ -1176,29 +1208,29 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1176
1208
|
* Generates a web app manifest and enables installability.
|
|
1177
1209
|
* Requires a client-side bundle (React).
|
|
1178
1210
|
*/
|
|
1179
|
-
pwa:
|
|
1211
|
+
pwa: import("typebox").TOptional<import("typebox").TObject<{
|
|
1180
1212
|
/**
|
|
1181
1213
|
* Full application name displayed on the splash screen
|
|
1182
1214
|
* and in the OS app switcher.
|
|
1183
1215
|
*/
|
|
1184
|
-
name:
|
|
1216
|
+
name: import("typebox").TString;
|
|
1185
1217
|
/**
|
|
1186
1218
|
* Short name displayed on the home screen icon.
|
|
1187
1219
|
* Falls back to `name` if omitted.
|
|
1188
1220
|
*/
|
|
1189
|
-
shortName:
|
|
1221
|
+
shortName: import("typebox").TOptional<import("typebox").TString>;
|
|
1190
1222
|
/**
|
|
1191
1223
|
* Theme color used for the browser toolbar and OS chrome.
|
|
1192
1224
|
*
|
|
1193
1225
|
* @default "#ffffff"
|
|
1194
1226
|
*/
|
|
1195
|
-
themeColor:
|
|
1227
|
+
themeColor: import("typebox").TOptional<import("typebox").TString>;
|
|
1196
1228
|
/**
|
|
1197
1229
|
* Background color for the splash screen.
|
|
1198
1230
|
*
|
|
1199
1231
|
* @default "#ffffff"
|
|
1200
1232
|
*/
|
|
1201
|
-
backgroundColor:
|
|
1233
|
+
backgroundColor: import("typebox").TOptional<import("typebox").TString>;
|
|
1202
1234
|
/**
|
|
1203
1235
|
* Display mode for the installed PWA.
|
|
1204
1236
|
*
|
|
@@ -1209,22 +1241,13 @@ declare const buildOptions: _$alepha.Atom<_$typebox.TObject<{
|
|
|
1209
1241
|
*
|
|
1210
1242
|
* @default "standalone"
|
|
1211
1243
|
*/
|
|
1212
|
-
display:
|
|
1244
|
+
display: import("typebox").TOptional<import("typebox").TUnsafe<"standalone" | "fullscreen" | "minimal-ui" | "browser">>;
|
|
1213
1245
|
/**
|
|
1214
1246
|
* Enable offline support via service worker.
|
|
1215
1247
|
*
|
|
1216
1248
|
* TODO: Not yet implemented.
|
|
1217
1249
|
*/
|
|
1218
|
-
offline:
|
|
1219
|
-
}>>;
|
|
1220
|
-
/**
|
|
1221
|
-
* Sitemap generation configuration.
|
|
1222
|
-
*/
|
|
1223
|
-
sitemap: _$typebox.TOptional<_$typebox.TObject<{
|
|
1224
|
-
/**
|
|
1225
|
-
* Base URL for sitemap entries.
|
|
1226
|
-
*/
|
|
1227
|
-
hostname: _$typebox.TString;
|
|
1250
|
+
offline: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
1228
1251
|
}>>;
|
|
1229
1252
|
}>, "alepha.cli.build.options">;
|
|
1230
1253
|
/**
|
|
@@ -1250,12 +1273,12 @@ declare const DEFAULT_IGNORE: string[];
|
|
|
1250
1273
|
* });
|
|
1251
1274
|
* ```
|
|
1252
1275
|
*/
|
|
1253
|
-
declare const changelogOptions:
|
|
1276
|
+
declare const changelogOptions: import("alepha").Atom<import("typebox").TObject<{
|
|
1254
1277
|
/**
|
|
1255
1278
|
* Scopes to ignore (e.g., "project", "release", "chore").
|
|
1256
1279
|
* Commits like `feat(chore): ...` will be excluded from changelog.
|
|
1257
1280
|
*/
|
|
1258
|
-
ignore:
|
|
1281
|
+
ignore: import("typebox").TOptional<import("typebox").TArray<import("typebox").TString>>;
|
|
1259
1282
|
}>, "alepha.cli.changelog.options">;
|
|
1260
1283
|
type ChangelogOptions = Static<typeof changelogOptions.schema>;
|
|
1261
1284
|
//#endregion
|
|
@@ -1266,11 +1289,11 @@ type ChangelogOptions = Static<typeof changelogOptions.schema>;
|
|
|
1266
1289
|
* Defines the available dev configuration options with their defaults.
|
|
1267
1290
|
* Options can be overridden via alepha.config.ts or CLI flags.
|
|
1268
1291
|
*/
|
|
1269
|
-
declare const devOptions:
|
|
1292
|
+
declare const devOptions: import("alepha").Atom<import("typebox").TObject<{
|
|
1270
1293
|
/**
|
|
1271
1294
|
* Disable Vite React plugin.
|
|
1272
1295
|
*/
|
|
1273
|
-
noViteReactPlugin:
|
|
1296
|
+
noViteReactPlugin: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
1274
1297
|
}>, "alepha.cli.dev.options">;
|
|
1275
1298
|
/**
|
|
1276
1299
|
* Type for dev options.
|
|
@@ -1286,8 +1309,8 @@ type DevOptions = Static<typeof devOptions.schema>;
|
|
|
1286
1309
|
declare class AppEntryProvider {
|
|
1287
1310
|
protected readonly fs: FileSystemProvider;
|
|
1288
1311
|
protected readonly options: Readonly<{
|
|
1289
|
-
server?: string | undefined;
|
|
1290
1312
|
browser?: string | undefined;
|
|
1313
|
+
server?: string | undefined;
|
|
1291
1314
|
style?: string | undefined;
|
|
1292
1315
|
}>;
|
|
1293
1316
|
protected readonly serverEntries: readonly ["main.server.ts", "main.server.tsx", "main.ts", "main.tsx"];
|
|
@@ -1351,7 +1374,7 @@ declare class ViteUtils {
|
|
|
1351
1374
|
/**
|
|
1352
1375
|
* Lazy-load Vite (with rolldown-vite fallback).
|
|
1353
1376
|
*/
|
|
1354
|
-
importVite(): Promise<typeof
|
|
1377
|
+
importVite(): Promise<typeof import("vite")>;
|
|
1355
1378
|
/**
|
|
1356
1379
|
* Lazy-load @vitejs/plugin-react (optional).
|
|
1357
1380
|
*/
|
|
@@ -1381,8 +1404,8 @@ declare class ViteUtils {
|
|
|
1381
1404
|
/**
|
|
1382
1405
|
* We need to close the Vite dev server after build is done.
|
|
1383
1406
|
*/
|
|
1384
|
-
protected onReady:
|
|
1385
|
-
protected onStop:
|
|
1407
|
+
protected onReady: import("alepha").HookPrimitive<"ready">;
|
|
1408
|
+
protected onStop: import("alepha").HookPrimitive<"stop">;
|
|
1386
1409
|
runAlepha(opts: {
|
|
1387
1410
|
entry: AppEntry;
|
|
1388
1411
|
mode: "production" | "development";
|
|
@@ -1411,7 +1434,7 @@ declare class ViteBuildProvider {
|
|
|
1411
1434
|
* - Environment loading
|
|
1412
1435
|
*/
|
|
1413
1436
|
declare class AlephaCliUtils {
|
|
1414
|
-
protected readonly log:
|
|
1437
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
1415
1438
|
protected readonly fs: FileSystemProvider;
|
|
1416
1439
|
protected readonly envUtils: EnvUtils;
|
|
1417
1440
|
protected readonly boot: AppEntryProvider;
|
|
@@ -1514,7 +1537,7 @@ interface WorkspaceContext {
|
|
|
1514
1537
|
* - Bun
|
|
1515
1538
|
*/
|
|
1516
1539
|
declare class PackageManagerUtils {
|
|
1517
|
-
protected readonly log:
|
|
1540
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
1518
1541
|
protected readonly fs: FileSystemProvider;
|
|
1519
1542
|
protected readonly alepha: Alepha;
|
|
1520
1543
|
/**
|
|
@@ -1592,12 +1615,6 @@ interface DependencyModes {
|
|
|
1592
1615
|
react?: boolean;
|
|
1593
1616
|
expo?: boolean;
|
|
1594
1617
|
tailwind?: boolean;
|
|
1595
|
-
shadcn?: boolean;
|
|
1596
|
-
/**
|
|
1597
|
-
* SaaS starter: implies `shadcn` + adds the alepha auth + admin registry
|
|
1598
|
-
* components on top via `shadcn add @alepha/...`.
|
|
1599
|
-
*/
|
|
1600
|
-
saas?: boolean;
|
|
1601
1618
|
/**
|
|
1602
1619
|
* Whether the project is a workspace package inside a monorepo.
|
|
1603
1620
|
*/
|
|
@@ -1615,10 +1632,9 @@ interface DependencyModes {
|
|
|
1615
1632
|
* - Example code (HelloController, Home component)
|
|
1616
1633
|
*/
|
|
1617
1634
|
declare class ProjectScaffolder {
|
|
1618
|
-
protected readonly log:
|
|
1635
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
1619
1636
|
protected readonly colors: ConsoleColorProvider;
|
|
1620
1637
|
protected readonly fs: FileSystemProvider;
|
|
1621
|
-
protected readonly shell: ShellProvider;
|
|
1622
1638
|
protected readonly pm: PackageManagerUtils;
|
|
1623
1639
|
protected readonly utils: AlephaCliUtils;
|
|
1624
1640
|
/**
|
|
@@ -1640,13 +1656,7 @@ declare class ProjectScaffolder {
|
|
|
1640
1656
|
*/
|
|
1641
1657
|
checkWorkspace?: boolean;
|
|
1642
1658
|
packageJson?: boolean | DependencyModes;
|
|
1643
|
-
|
|
1644
|
-
* `true` writes a tsconfig.json if one doesn't already exist (parent
|
|
1645
|
-
* dirs included). `"local"` writes one when none exists *in this
|
|
1646
|
-
* directory* — used by shadcn since the CLI reads the local
|
|
1647
|
-
* tsconfig directly for import-alias detection.
|
|
1648
|
-
*/
|
|
1649
|
-
tsconfigJson?: boolean | "local";
|
|
1659
|
+
tsconfigJson?: boolean;
|
|
1650
1660
|
biomeJson?: boolean;
|
|
1651
1661
|
editorconfig?: boolean;
|
|
1652
1662
|
agentMd?: boolean;
|
|
@@ -1658,7 +1668,6 @@ declare class ProjectScaffolder {
|
|
|
1658
1668
|
}): Promise<void>;
|
|
1659
1669
|
ensureTsConfig(root: string, opts?: {
|
|
1660
1670
|
force?: boolean;
|
|
1661
|
-
localOnly?: boolean;
|
|
1662
1671
|
}): Promise<void>;
|
|
1663
1672
|
ensureBiomeConfig(root: string, opts?: {
|
|
1664
1673
|
force?: boolean;
|
|
@@ -1716,16 +1725,8 @@ declare class ProjectScaffolder {
|
|
|
1716
1725
|
* - src/api/controllers/HelloController.ts (example controller)
|
|
1717
1726
|
*/
|
|
1718
1727
|
ensureApiProject(root: string, opts?: {
|
|
1719
|
-
saas?: boolean;
|
|
1720
1728
|
force?: boolean;
|
|
1721
1729
|
}): Promise<void>;
|
|
1722
|
-
/**
|
|
1723
|
-
* Best-effort lookup for the developer's git email — seeded as
|
|
1724
|
-
* `ADMIN_EMAILS` in the SaaS project's `.env`. Returns undefined if git
|
|
1725
|
-
* isn't available or `user.email` isn't configured; the caller then falls
|
|
1726
|
-
* back to the neutral `admin@alepha.dev`.
|
|
1727
|
-
*/
|
|
1728
|
-
protected detectGitEmail(): Promise<string | undefined>;
|
|
1729
1730
|
/**
|
|
1730
1731
|
* Ensure web/React project structure exists.
|
|
1731
1732
|
*
|
|
@@ -1737,8 +1738,6 @@ declare class ProjectScaffolder {
|
|
|
1737
1738
|
ensureWebProject(root: string, opts?: {
|
|
1738
1739
|
api?: boolean;
|
|
1739
1740
|
tailwind?: boolean;
|
|
1740
|
-
shadcn?: boolean;
|
|
1741
|
-
saas?: boolean;
|
|
1742
1741
|
force?: boolean;
|
|
1743
1742
|
}): Promise<void>;
|
|
1744
1743
|
/**
|
|
@@ -1762,9 +1761,7 @@ declare class ProjectScaffolder {
|
|
|
1762
1761
|
pm?: "yarn" | "npm" | "pnpm" | "bun";
|
|
1763
1762
|
api?: boolean;
|
|
1764
1763
|
react?: boolean;
|
|
1765
|
-
tailwind?: boolean;
|
|
1766
|
-
shadcn?: boolean | string; /** boolean toggle, or a string preset id (default `b0` when bare). */
|
|
1767
|
-
saas?: boolean | string;
|
|
1764
|
+
tailwind?: boolean;
|
|
1768
1765
|
force?: boolean;
|
|
1769
1766
|
};
|
|
1770
1767
|
args?: string;
|
|
@@ -1779,6 +1776,181 @@ declare class ProjectScaffolder {
|
|
|
1779
1776
|
protected existsInParents(root: string, filename: string): Promise<boolean>;
|
|
1780
1777
|
}
|
|
1781
1778
|
//#endregion
|
|
1779
|
+
//#region ../../src/cli/core/tasks/BuildCloudflareTask.d.ts
|
|
1780
|
+
interface WranglerConfig {
|
|
1781
|
+
[key: string]: any;
|
|
1782
|
+
}
|
|
1783
|
+
/**
|
|
1784
|
+
* Build-time snapshot describing what the workspace needs at deploy
|
|
1785
|
+
* time. Written to `dist/manifest.json` alongside `wrangler.jsonc`.
|
|
1786
|
+
*
|
|
1787
|
+
* Lets `alepha platform up --prebuilt` skip the Vite-based
|
|
1788
|
+
* introspection step on the deploy side — and lets Alepha Rocket skip
|
|
1789
|
+
* the workspace's runtime `npm install` because no app source is
|
|
1790
|
+
* booted at deploy time. The manifest captures the bits of primitive
|
|
1791
|
+
* data that the deploy steps (provision, secrets, hooks) need to
|
|
1792
|
+
* know.
|
|
1793
|
+
*/
|
|
1794
|
+
interface BuildManifest {
|
|
1795
|
+
version: 1;
|
|
1796
|
+
project: string;
|
|
1797
|
+
/**
|
|
1798
|
+
* Default environment when `--env` is omitted at deploy time.
|
|
1799
|
+
* Captured from `platformOptions.default` (defaults to `"production"`).
|
|
1800
|
+
*/
|
|
1801
|
+
defaultEnv: string;
|
|
1802
|
+
/**
|
|
1803
|
+
* Multi-tenancy mode (`none` | `optional` | `required`). Captured from
|
|
1804
|
+
* `platformOptions.tenancy` so the prebuilt deploy side (Rocket) can
|
|
1805
|
+
* validate `--tenant` without re-evaluating `alepha.config.ts`.
|
|
1806
|
+
*/
|
|
1807
|
+
tenancy?: "none" | "optional" | "required";
|
|
1808
|
+
/**
|
|
1809
|
+
* Resolved `platform({ environments: ... })` map. Captured at build
|
|
1810
|
+
* time from the workspace's `alepha.config.ts` so the deploy side
|
|
1811
|
+
* doesn't need to re-evaluate the config. Each value is the same
|
|
1812
|
+
* `EnvironmentConfig` shape consumed by the orchestrator (adapter,
|
|
1813
|
+
* domain, zone, jurisdiction, accountId).
|
|
1814
|
+
*/
|
|
1815
|
+
environments: Record<string, {
|
|
1816
|
+
adapter: "cloudflare" | "vercel";
|
|
1817
|
+
domain?: string;
|
|
1818
|
+
zone?: string;
|
|
1819
|
+
jurisdiction?: "eu" | "fedramp";
|
|
1820
|
+
accountId?: string;
|
|
1821
|
+
}>;
|
|
1822
|
+
resources: {
|
|
1823
|
+
hasDatabase: boolean;
|
|
1824
|
+
hasBucket: boolean;
|
|
1825
|
+
hasKV: boolean;
|
|
1826
|
+
hasQueue: boolean;
|
|
1827
|
+
hasCron: boolean;
|
|
1828
|
+
};
|
|
1829
|
+
/**
|
|
1830
|
+
* All distinct cron expressions registered by `$scheduler`
|
|
1831
|
+
* primitives. Empty when `hasCron` is false.
|
|
1832
|
+
*/
|
|
1833
|
+
crons: string[];
|
|
1834
|
+
/**
|
|
1835
|
+
* Cloudflare email binding, captured when the app registers
|
|
1836
|
+
* `CloudflareEmailProvider` at artifact-build time. The prebuilt/manifest
|
|
1837
|
+
* deploy path (Alepha Rocket `--prebuilt`) has no Vite introspection, so it
|
|
1838
|
+
* reads this to re-emit the `send_email` wrangler binding. Absent when the
|
|
1839
|
+
* app doesn't use Cloudflare email.
|
|
1840
|
+
*/
|
|
1841
|
+
email?: {
|
|
1842
|
+
binding: string;
|
|
1843
|
+
};
|
|
1844
|
+
/**
|
|
1845
|
+
* `$container()` descriptors — image, port, lifecycle settings.
|
|
1846
|
+
* Used both to populate Cloudflare Containers bindings in
|
|
1847
|
+
* wrangler.jsonc and (in future) to know which images Rocket should
|
|
1848
|
+
* pull on the deploy side.
|
|
1849
|
+
*/
|
|
1850
|
+
containers: Array<{
|
|
1851
|
+
name: string;
|
|
1852
|
+
className: string;
|
|
1853
|
+
image: string;
|
|
1854
|
+
port: number;
|
|
1855
|
+
sleepAfter: string;
|
|
1856
|
+
instanceType: string;
|
|
1857
|
+
maxInstances: number;
|
|
1858
|
+
}>;
|
|
1859
|
+
/**
|
|
1860
|
+
* Every env var the app declares via `$env`, captured from
|
|
1861
|
+
* `alepha.dump().env` at build time. The deploy `secrets` step uses this
|
|
1862
|
+
* as the worker-secret allowlist (minus build/binding vars) so CI can
|
|
1863
|
+
* deliver secrets straight from `process.env` without a `.env` file —
|
|
1864
|
+
* `platform.secrets.keys` overrides it when set. Empty when introspection
|
|
1865
|
+
* was unavailable (older artifacts / prebuilt mode).
|
|
1866
|
+
*/
|
|
1867
|
+
env: string[];
|
|
1868
|
+
}
|
|
1869
|
+
/**
|
|
1870
|
+
* Generate Cloudflare Workers deployment configuration.
|
|
1871
|
+
*
|
|
1872
|
+
* Creates:
|
|
1873
|
+
* - wrangler.jsonc with worker configuration
|
|
1874
|
+
* - main.cloudflare.js entry point for Cloudflare Workers
|
|
1875
|
+
*/
|
|
1876
|
+
declare class BuildCloudflareTask extends BuildTask {
|
|
1877
|
+
protected readonly fs: FileSystemProvider;
|
|
1878
|
+
protected readonly viteUtils: ViteUtils;
|
|
1879
|
+
protected readonly warningComment: string;
|
|
1880
|
+
run(ctx: BuildTaskContext): Promise<void>;
|
|
1881
|
+
protected generateCloudflare(ctx: BuildTaskContext, distDir: string): Promise<void>;
|
|
1882
|
+
/**
|
|
1883
|
+
* Write `dist/manifest.json` — a build-time snapshot of everything
|
|
1884
|
+
* downstream tooling needs to know about the app without re-booting
|
|
1885
|
+
* it. Used by `alepha platform up --prebuilt` (and Alepha Rocket) so
|
|
1886
|
+
* the deploy path can skip the Vite-based introspection step and the
|
|
1887
|
+
* workspace's runtime npm install.
|
|
1888
|
+
*/
|
|
1889
|
+
protected writeManifest(ctx: BuildTaskContext, root: string, distDir: string, name: string, containers: ContainerDescriptor[]): Promise<void>;
|
|
1890
|
+
protected enhanceDomain(wrangler: WranglerConfig): void;
|
|
1891
|
+
protected enhanceCron(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
|
|
1892
|
+
protected discoverCrons(ctx: BuildTaskContext): string[];
|
|
1893
|
+
protected enhanceDatabase(wrangler: WranglerConfig): void;
|
|
1894
|
+
protected static readonly D1_BINDING = "DB";
|
|
1895
|
+
protected enhanceD1(wrangler: WranglerConfig): void;
|
|
1896
|
+
protected enhanceHyperdrive(wrangler: WranglerConfig): void;
|
|
1897
|
+
protected enhanceR2(wrangler: WranglerConfig): void;
|
|
1898
|
+
protected enhanceKV(wrangler: WranglerConfig): void;
|
|
1899
|
+
protected enhanceQueue(wrangler: WranglerConfig): void;
|
|
1900
|
+
protected enhanceEmail(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
|
|
1901
|
+
/**
|
|
1902
|
+
* Discover `$container` primitives and emit the matching Cloudflare
|
|
1903
|
+
* Containers bindings, Durable Object bindings, and migrations into
|
|
1904
|
+
* `wrangler.jsonc`. The DO class declarations are added later, when
|
|
1905
|
+
* the worker entry point is written.
|
|
1906
|
+
*
|
|
1907
|
+
* Returns the list of container descriptors so
|
|
1908
|
+
* `writeWorkerEntryPoint` can emit `export class <NAME> extends
|
|
1909
|
+
* Container` declarations referencing them.
|
|
1910
|
+
*/
|
|
1911
|
+
protected discoverContainers(ctx: BuildTaskContext): ContainerDescriptor[];
|
|
1912
|
+
/**
|
|
1913
|
+
* Expand a short image ref (e.g. `alepha-rocket:0.1.0`) into the
|
|
1914
|
+
* fully-qualified `registry.cloudflare.com/<account>/<image>:<tag>`
|
|
1915
|
+
* URL that wrangler validates at deploy time.
|
|
1916
|
+
*
|
|
1917
|
+
* Cloudflare Containers only pulls from `registry.cloudflare.com`;
|
|
1918
|
+
* wrangler accepts either a Dockerfile path or a fully-qualified
|
|
1919
|
+
* registry URL in the `image` field — not a bare DockerHub-style
|
|
1920
|
+
* name. We let `$container({ image })` callers write the short
|
|
1921
|
+
* form (it matches what `wrangler containers push <local>` accepts
|
|
1922
|
+
* + matches the local docker tag) and rewrite to the CF registry
|
|
1923
|
+
* URL here.
|
|
1924
|
+
*
|
|
1925
|
+
* Pass-through cases:
|
|
1926
|
+
* - already a full URL: starts with `registry.cloudflare.com/`
|
|
1927
|
+
* or contains a scheme/`://`
|
|
1928
|
+
* - looks like a Dockerfile path: starts with `./` or `/`
|
|
1929
|
+
*/
|
|
1930
|
+
protected resolveContainerImage(image: string): string;
|
|
1931
|
+
protected enhanceContainers(ctx: BuildTaskContext, wrangler: WranglerConfig): ContainerDescriptor[];
|
|
1932
|
+
protected writeWorkerEntryPoint(root: string, distDir: string, containers?: ContainerDescriptor[]): Promise<void>;
|
|
1933
|
+
}
|
|
1934
|
+
interface ContainerDescriptor {
|
|
1935
|
+
name: string;
|
|
1936
|
+
className: string;
|
|
1937
|
+
image: string;
|
|
1938
|
+
port: number;
|
|
1939
|
+
sleepAfter: string;
|
|
1940
|
+
/**
|
|
1941
|
+
* Cloudflare Containers instance class.
|
|
1942
|
+
*
|
|
1943
|
+
* `dev` is the wrangler-pre-GA name; the platform accepts it but
|
|
1944
|
+
* emits a deprecation warning telling you to use `lite`. We
|
|
1945
|
+
* silently translate at write time (see `discoverContainers`
|
|
1946
|
+
* default + `enhanceContainers` write) so older
|
|
1947
|
+
* `$container({ instanceType: "dev" })` declarations keep working.
|
|
1948
|
+
*/
|
|
1949
|
+
instanceType: "dev" | "lite" | "basic" | "standard";
|
|
1950
|
+
maxInstances: number;
|
|
1951
|
+
envVars?: Record<string, string>;
|
|
1952
|
+
}
|
|
1953
|
+
//#endregion
|
|
1782
1954
|
//#region ../../src/cli/core/tasks/BuildTask.d.ts
|
|
1783
1955
|
interface BuildTaskContext {
|
|
1784
1956
|
/**
|
|
@@ -1814,6 +1986,34 @@ interface BuildTaskContext {
|
|
|
1814
1986
|
* Raw CLI flags passed through from the command.
|
|
1815
1987
|
* Tasks can read flags relevant to their domain.
|
|
1816
1988
|
*/
|
|
1989
|
+
/**
|
|
1990
|
+
* Build-time snapshot of primitive data, read from
|
|
1991
|
+
* `dist/manifest.json`. Populated only in `--prebuilt` mode when a
|
|
1992
|
+
* previous build's manifest is present — lets BuildCloudflareTask
|
|
1993
|
+
* regenerate `wrangler.jsonc` without re-booting the workspace.
|
|
1994
|
+
* `null` when introspection (`ctx.alepha`) is the source of truth.
|
|
1995
|
+
*/
|
|
1996
|
+
manifest: BuildManifest | null;
|
|
1997
|
+
/**
|
|
1998
|
+
* Resolved `platform({ default, environments, ... })` options from
|
|
1999
|
+
* the workspace's `alepha.config.ts`. Populated by `BuildCommand`
|
|
2000
|
+
* from the CLI's Alepha instance (where alepha.config.ts ran) —
|
|
2001
|
+
* BuildCloudflareTask uses these to write the corresponding fields
|
|
2002
|
+
* into `dist/manifest.json` so the deploy side doesn't need to
|
|
2003
|
+
* re-load `alepha.config.ts`. `null` when no platform options were
|
|
2004
|
+
* declared.
|
|
2005
|
+
*/
|
|
2006
|
+
platformOptions: {
|
|
2007
|
+
default?: string;
|
|
2008
|
+
tenancy?: "none" | "optional" | "required";
|
|
2009
|
+
environments?: Record<string, {
|
|
2010
|
+
adapter: "cloudflare" | "vercel";
|
|
2011
|
+
domain?: string;
|
|
2012
|
+
zone?: string;
|
|
2013
|
+
jurisdiction?: "eu" | "fedramp";
|
|
2014
|
+
accountId?: string;
|
|
2015
|
+
}>;
|
|
2016
|
+
} | null;
|
|
1817
2017
|
flags?: {
|
|
1818
2018
|
image?: boolean | string;
|
|
1819
2019
|
/**
|
|
@@ -1874,57 +2074,6 @@ declare class BuildClientTask extends BuildTask {
|
|
|
1874
2074
|
postBuildCleanUpForIndexHtml(dist?: string): Promise<void>;
|
|
1875
2075
|
}
|
|
1876
2076
|
//#endregion
|
|
1877
|
-
//#region ../../src/cli/core/tasks/BuildCloudflareTask.d.ts
|
|
1878
|
-
interface WranglerConfig {
|
|
1879
|
-
[key: string]: any;
|
|
1880
|
-
}
|
|
1881
|
-
/**
|
|
1882
|
-
* Generate Cloudflare Workers deployment configuration.
|
|
1883
|
-
*
|
|
1884
|
-
* Creates:
|
|
1885
|
-
* - wrangler.jsonc with worker configuration
|
|
1886
|
-
* - main.cloudflare.js entry point for Cloudflare Workers
|
|
1887
|
-
*/
|
|
1888
|
-
declare class BuildCloudflareTask extends BuildTask {
|
|
1889
|
-
protected readonly fs: FileSystemProvider;
|
|
1890
|
-
protected readonly viteUtils: ViteUtils;
|
|
1891
|
-
protected readonly warningComment: string;
|
|
1892
|
-
run(ctx: BuildTaskContext): Promise<void>;
|
|
1893
|
-
protected generateCloudflare(ctx: BuildTaskContext, distDir: string): Promise<void>;
|
|
1894
|
-
protected enhanceDomain(wrangler: WranglerConfig): void;
|
|
1895
|
-
protected enhanceCron(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
|
|
1896
|
-
protected enhanceDatabase(wrangler: WranglerConfig): void;
|
|
1897
|
-
protected static readonly D1_BINDING = "DB";
|
|
1898
|
-
protected enhanceD1(wrangler: WranglerConfig): void;
|
|
1899
|
-
protected enhanceHyperdrive(wrangler: WranglerConfig): void;
|
|
1900
|
-
protected enhanceR2(wrangler: WranglerConfig): void;
|
|
1901
|
-
protected enhanceKV(wrangler: WranglerConfig): void;
|
|
1902
|
-
protected enhanceQueue(wrangler: WranglerConfig): void;
|
|
1903
|
-
protected enhanceEmail(ctx: BuildTaskContext, wrangler: WranglerConfig): void;
|
|
1904
|
-
/**
|
|
1905
|
-
* Discover `$container` primitives and emit the matching Cloudflare
|
|
1906
|
-
* Containers bindings, Durable Object bindings, and migrations into
|
|
1907
|
-
* `wrangler.jsonc`. The DO class declarations are added later, when
|
|
1908
|
-
* the worker entry point is written.
|
|
1909
|
-
*
|
|
1910
|
-
* Returns the list of container descriptors so
|
|
1911
|
-
* `writeWorkerEntryPoint` can emit `export class <NAME> extends
|
|
1912
|
-
* Container` declarations referencing them.
|
|
1913
|
-
*/
|
|
1914
|
-
protected enhanceContainers(ctx: BuildTaskContext, wrangler: WranglerConfig): ContainerDescriptor[];
|
|
1915
|
-
protected writeWorkerEntryPoint(root: string, distDir: string, containers?: ContainerDescriptor[]): Promise<void>;
|
|
1916
|
-
}
|
|
1917
|
-
interface ContainerDescriptor {
|
|
1918
|
-
name: string;
|
|
1919
|
-
className: string;
|
|
1920
|
-
image: string;
|
|
1921
|
-
port: number;
|
|
1922
|
-
sleepAfter: string;
|
|
1923
|
-
instanceType: "dev" | "basic" | "standard";
|
|
1924
|
-
maxInstances: number;
|
|
1925
|
-
envVars?: Record<string, string>;
|
|
1926
|
-
}
|
|
1927
|
-
//#endregion
|
|
1928
2077
|
//#region ../../src/cli/core/tasks/BuildCompressTask.d.ts
|
|
1929
2078
|
interface CompressOptions {
|
|
1930
2079
|
/**
|
|
@@ -2028,6 +2177,14 @@ declare class BuildDockerTask extends BuildTask {
|
|
|
2028
2177
|
*/
|
|
2029
2178
|
protected cleanupPreCompileArtifacts(root: string, distDir: string): Promise<void>;
|
|
2030
2179
|
protected copyMigrations(root: string, distDir: string): Promise<boolean>;
|
|
2180
|
+
/**
|
|
2181
|
+
* Whether the produced `dist/package.json` declares any runtime
|
|
2182
|
+
* dependencies. Alepha apps normally bundle everything into the
|
|
2183
|
+
* server entry via Vite, leaving `dependencies: {}` — in which case
|
|
2184
|
+
* the generated Dockerfile's `RUN npm install` is wasted work
|
|
2185
|
+
* (and emits deprecation noise). Skip the line when empty.
|
|
2186
|
+
*/
|
|
2187
|
+
protected hasRuntimeDeps(root: string, distDir: string): Promise<boolean>;
|
|
2031
2188
|
protected writeDockerfile(root: string, distDir: string, opts: {
|
|
2032
2189
|
compile: ResolvedCompile | null;
|
|
2033
2190
|
standard: {
|
|
@@ -2035,6 +2192,7 @@ declare class BuildDockerTask extends BuildTask {
|
|
|
2035
2192
|
command: string;
|
|
2036
2193
|
};
|
|
2037
2194
|
hasMigrations: boolean;
|
|
2195
|
+
hasDeps: boolean;
|
|
2038
2196
|
install: string[];
|
|
2039
2197
|
}): Promise<void>;
|
|
2040
2198
|
protected buildDockerImage(ctx: BuildTaskContext, distDir: string): Promise<void>;
|
|
@@ -2042,17 +2200,30 @@ declare class BuildDockerTask extends BuildTask {
|
|
|
2042
2200
|
//#endregion
|
|
2043
2201
|
//#region ../../src/cli/core/tasks/BuildPrerenderTask.d.ts
|
|
2044
2202
|
/**
|
|
2045
|
-
* Pre-render static pages defined in the Alepha application.
|
|
2203
|
+
* Pre-render static pages and routes defined in the Alepha application.
|
|
2204
|
+
*
|
|
2205
|
+
* Two passes, both writing into `dist/public`:
|
|
2206
|
+
* - **pages** — every `$page` with `static: true` is rendered to an HTML file
|
|
2207
|
+
* (supports parameterized routes via `static.entries`).
|
|
2208
|
+
* - **routes** — every `static` route primitive (a `$route({ static: true })`
|
|
2209
|
+
* or a `$sitemap`) is invoked in-process and its body written verbatim to
|
|
2210
|
+
* `{path}` (e.g. `sitemap.xml`, `robots.txt`).
|
|
2046
2211
|
*
|
|
2047
|
-
*
|
|
2048
|
-
*
|
|
2049
|
-
*
|
|
2212
|
+
* Both passes read the primitive registry and call a method on the already
|
|
2213
|
+
* created primitive instances — no provider is re-injected, so this works in
|
|
2214
|
+
* the build's configured-but-not-started container.
|
|
2050
2215
|
*/
|
|
2051
2216
|
declare class BuildPrerenderTask extends BuildTask {
|
|
2052
2217
|
protected readonly fs: FileSystemProvider;
|
|
2053
2218
|
run(ctx: BuildTaskContext): Promise<void>;
|
|
2054
2219
|
protected getStaticPages(ctx: BuildTaskContext): any[];
|
|
2220
|
+
/**
|
|
2221
|
+
* Static route primitives to snapshot: `$route({ static: true })` and every
|
|
2222
|
+
* `$sitemap`. Both expose an async `prerender(): { path, body }`.
|
|
2223
|
+
*/
|
|
2224
|
+
protected getStaticRoutePrimitives(ctx: BuildTaskContext): any[];
|
|
2055
2225
|
protected prerenderFromAlepha(pages: any[], dist: string): Promise<number>;
|
|
2226
|
+
protected prerenderRoutes(primitives: any[], dist: string): Promise<void>;
|
|
2056
2227
|
protected renderFile(page: any, options: any, dist: string): Promise<void>;
|
|
2057
2228
|
}
|
|
2058
2229
|
//#endregion
|
|
@@ -2088,7 +2259,7 @@ declare class BuildPwaTask extends BuildTask {
|
|
|
2088
2259
|
*/
|
|
2089
2260
|
declare class BuildServerTask extends BuildTask {
|
|
2090
2261
|
protected readonly alepha: Alepha;
|
|
2091
|
-
protected readonly log:
|
|
2262
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2092
2263
|
protected readonly fs: FileSystemProvider;
|
|
2093
2264
|
protected readonly viteUtils: ViteUtils;
|
|
2094
2265
|
run(ctx: BuildTaskContext): Promise<void>;
|
|
@@ -2110,24 +2281,7 @@ declare class BuildServerTask extends BuildTask {
|
|
|
2110
2281
|
protected generateExternals(distDir: string, externals: string[]): Promise<void>;
|
|
2111
2282
|
protected loadJsonFile(path: string): Promise<any>;
|
|
2112
2283
|
protected stripClientManifest(manifest: Record<string, any> | undefined): Record<string, any> | undefined;
|
|
2113
|
-
protected extractEntryFromBundle(root: string, entry: string, result:
|
|
2114
|
-
}
|
|
2115
|
-
//#endregion
|
|
2116
|
-
//#region ../../src/cli/core/tasks/BuildSitemapTask.d.ts
|
|
2117
|
-
/**
|
|
2118
|
-
* Generate sitemap.xml from Alepha page primitives.
|
|
2119
|
-
*
|
|
2120
|
-
* Queries all page primitives and generates a sitemap.xml
|
|
2121
|
-
* containing URLs for all accessible pages.
|
|
2122
|
-
*/
|
|
2123
|
-
declare class BuildSitemapTask extends BuildTask {
|
|
2124
|
-
protected readonly fs: FileSystemProvider;
|
|
2125
|
-
run(ctx: BuildTaskContext): Promise<void>;
|
|
2126
|
-
protected getSitemapPages(ctx: BuildTaskContext): any[];
|
|
2127
|
-
protected generateSitemapFromPages(pages: any[], baseUrl: string): string;
|
|
2128
|
-
protected buildPathFromParams(pathPattern: string, params: Record<string, any>): string;
|
|
2129
|
-
protected buildSitemapXml(urls: string[]): string;
|
|
2130
|
-
protected escapeXml(str: string): string;
|
|
2284
|
+
protected extractEntryFromBundle(root: string, entry: string, result: vite.Rollup.RollupOutput | vite.Rollup.RollupOutput[] | vite.Rollup.RollupWatcher): string;
|
|
2131
2285
|
}
|
|
2132
2286
|
//#endregion
|
|
2133
2287
|
//#region ../../src/cli/core/tasks/BuildStaticTask.d.ts
|
|
@@ -2215,7 +2369,7 @@ declare class BuildVercelTask extends BuildTask {
|
|
|
2215
2369
|
//#region ../../src/cli/core/commands/build.d.ts
|
|
2216
2370
|
declare class BuildCommand {
|
|
2217
2371
|
protected readonly alepha: Alepha;
|
|
2218
|
-
protected readonly log:
|
|
2372
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2219
2373
|
protected readonly utils: AlephaCliUtils;
|
|
2220
2374
|
protected readonly pm: PackageManagerUtils;
|
|
2221
2375
|
protected readonly scaffolder: ProjectScaffolder;
|
|
@@ -2265,20 +2419,31 @@ declare class BuildCommand {
|
|
|
2265
2419
|
shortName?: string | undefined;
|
|
2266
2420
|
themeColor?: string | undefined;
|
|
2267
2421
|
backgroundColor?: string | undefined;
|
|
2268
|
-
display?: "
|
|
2422
|
+
display?: "standalone" | "fullscreen" | "minimal-ui" | "browser" | undefined;
|
|
2269
2423
|
offline?: boolean | undefined;
|
|
2270
2424
|
name: string;
|
|
2271
2425
|
} | undefined;
|
|
2272
|
-
sitemap?: {
|
|
2273
|
-
hostname: string;
|
|
2274
|
-
} | undefined;
|
|
2275
2426
|
}>;
|
|
2276
2427
|
/**
|
|
2277
2428
|
* Build pipeline: tasks run sequentially in this order.
|
|
2278
2429
|
* Each task self-guards (checks target, hasClient, etc.).
|
|
2279
2430
|
* Order matters — compress must be last.
|
|
2280
2431
|
*/
|
|
2281
|
-
protected readonly pipeline: (
|
|
2432
|
+
protected readonly pipeline: (BuildClientTask | BuildServerTask | BuildAssetsTask | BuildPwaTask | BuildPrerenderTask | BuildVercelTask | BuildCloudflareTask | BuildDockerTask | BuildStaticTask | BuildCompressTask)[];
|
|
2433
|
+
/**
|
|
2434
|
+
* Value aliases accepted for `--target`.
|
|
2435
|
+
*
|
|
2436
|
+
* These let the CLI accept short forms (e.g. `--target cf`) that are
|
|
2437
|
+
* canonicalized to a real {@link BuildTarget} before they flow into the
|
|
2438
|
+
* pipeline. The enum in `flags.target` must also list the alias so it
|
|
2439
|
+
* passes schema validation.
|
|
2440
|
+
*/
|
|
2441
|
+
protected readonly targetAliases: Record<string, BuildTarget>;
|
|
2442
|
+
/**
|
|
2443
|
+
* Canonicalize a raw `--target` value, mapping any known alias
|
|
2444
|
+
* (e.g. `cf` → `cloudflare`) to its real {@link BuildTarget}.
|
|
2445
|
+
*/
|
|
2446
|
+
protected resolveTarget(target: string | undefined): BuildTarget | undefined;
|
|
2282
2447
|
/**
|
|
2283
2448
|
* Resolve the effective runtime based on target and explicit runtime flag.
|
|
2284
2449
|
*
|
|
@@ -2290,15 +2455,20 @@ declare class BuildCommand {
|
|
|
2290
2455
|
* @throws {AlephaError} If an incompatible runtime is specified for a target
|
|
2291
2456
|
*/
|
|
2292
2457
|
protected resolveRuntime(target: BuildTarget | undefined, runtime: BuildRuntime | undefined): BuildRuntime;
|
|
2293
|
-
readonly build:
|
|
2294
|
-
stats:
|
|
2295
|
-
target:
|
|
2296
|
-
runtime:
|
|
2297
|
-
image:
|
|
2298
|
-
compile:
|
|
2299
|
-
prebuilt:
|
|
2300
|
-
|
|
2301
|
-
|
|
2458
|
+
readonly build: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2459
|
+
stats: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TUnsafe<"json">]>>;
|
|
2460
|
+
target: import("typebox").TOptional<import("typebox").TUnsafe<"bare" | "docker" | "vercel" | "cloudflare" | "static" | "cf">>;
|
|
2461
|
+
runtime: import("typebox").TOptional<import("typebox").TUnsafe<"node" | "bun" | "workerd">>;
|
|
2462
|
+
image: import("typebox").TOptional<import("typebox").TUnion<[import("typebox").TBoolean, import("typebox").TString]>>;
|
|
2463
|
+
compile: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2464
|
+
prebuilt: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2465
|
+
}>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2466
|
+
/**
|
|
2467
|
+
* Read `dist/manifest.json` produced by a previous `alepha build`.
|
|
2468
|
+
* Returns null when absent or unparseable — caller falls back to the
|
|
2469
|
+
* Vite-introspection path.
|
|
2470
|
+
*/
|
|
2471
|
+
protected loadManifest(root: string): Promise<BuildManifest | null>;
|
|
2302
2472
|
}
|
|
2303
2473
|
//#endregion
|
|
2304
2474
|
//#region ../../src/cli/core/commands/clean.d.ts
|
|
@@ -2306,12 +2476,12 @@ declare class CleanCommand {
|
|
|
2306
2476
|
/**
|
|
2307
2477
|
* Clean the project, removing the "dist" directory
|
|
2308
2478
|
*/
|
|
2309
|
-
readonly clean:
|
|
2479
|
+
readonly clean: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2310
2480
|
}
|
|
2311
2481
|
//#endregion
|
|
2312
2482
|
//#region ../../src/cli/core/commands/db.d.ts
|
|
2313
2483
|
declare class DbCommand {
|
|
2314
|
-
protected readonly log:
|
|
2484
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2315
2485
|
protected readonly fs: FileSystemProvider;
|
|
2316
2486
|
protected readonly utils: AlephaCliUtils;
|
|
2317
2487
|
protected readonly pm: PackageManagerUtils;
|
|
@@ -2321,44 +2491,44 @@ declare class DbCommand {
|
|
|
2321
2491
|
/**
|
|
2322
2492
|
* Check if database migrations are up to date.
|
|
2323
2493
|
*/
|
|
2324
|
-
protected readonly check:
|
|
2325
|
-
provider:
|
|
2326
|
-
}>,
|
|
2494
|
+
protected readonly check: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2495
|
+
provider: import("typebox").TOptional<import("typebox").TString>;
|
|
2496
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2327
2497
|
/**
|
|
2328
2498
|
* Generate database migration files
|
|
2329
2499
|
*/
|
|
2330
|
-
protected readonly create:
|
|
2331
|
-
provider:
|
|
2332
|
-
custom:
|
|
2333
|
-
name:
|
|
2334
|
-
}>,
|
|
2500
|
+
protected readonly create: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2501
|
+
provider: import("typebox").TOptional<import("typebox").TString>;
|
|
2502
|
+
custom: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2503
|
+
name: import("typebox").TOptional<import("typebox").TString>;
|
|
2504
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2335
2505
|
/**
|
|
2336
2506
|
* Push database schema changes directly to the database
|
|
2337
2507
|
*/
|
|
2338
|
-
protected readonly push:
|
|
2339
|
-
provider:
|
|
2340
|
-
dryRun:
|
|
2341
|
-
}>,
|
|
2508
|
+
protected readonly push: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2509
|
+
provider: import("typebox").TOptional<import("typebox").TString>;
|
|
2510
|
+
dryRun: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2511
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2342
2512
|
/**
|
|
2343
2513
|
* Apply pending database migrations
|
|
2344
2514
|
*/
|
|
2345
|
-
protected readonly apply:
|
|
2346
|
-
provider:
|
|
2347
|
-
}>,
|
|
2515
|
+
protected readonly apply: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2516
|
+
provider: import("typebox").TOptional<import("typebox").TString>;
|
|
2517
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2348
2518
|
/**
|
|
2349
2519
|
* Launch Drizzle Studio database browser
|
|
2350
2520
|
*/
|
|
2351
|
-
protected readonly studio:
|
|
2352
|
-
provider:
|
|
2353
|
-
}>,
|
|
2521
|
+
protected readonly studio: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2522
|
+
provider: import("typebox").TOptional<import("typebox").TString>;
|
|
2523
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2354
2524
|
/**
|
|
2355
2525
|
* Parent command for migration operations.
|
|
2356
2526
|
*/
|
|
2357
|
-
protected readonly migrations:
|
|
2527
|
+
protected readonly migrations: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2358
2528
|
/**
|
|
2359
2529
|
* Parent command for database operations.
|
|
2360
2530
|
*/
|
|
2361
|
-
readonly db:
|
|
2531
|
+
readonly db: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2362
2532
|
/**
|
|
2363
2533
|
* Run a drizzle-kit command for all database providers in an Alepha instance.
|
|
2364
2534
|
*/
|
|
@@ -2433,7 +2603,7 @@ type OnAlephaLoadedHook = (alepha: Alepha, server: ViteDevServer) => Promise<voi
|
|
|
2433
2603
|
* - Shared changes → Reload Alepha → Let HMR propagate
|
|
2434
2604
|
*/
|
|
2435
2605
|
declare class ViteDevServerProvider {
|
|
2436
|
-
protected readonly log:
|
|
2606
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2437
2607
|
protected readonly fs: FileSystemProvider;
|
|
2438
2608
|
protected readonly colors: ConsoleColorProvider;
|
|
2439
2609
|
protected readonly viteUtils: ViteUtils;
|
|
@@ -2553,7 +2723,17 @@ declare class ViteDevServerProvider {
|
|
|
2553
2723
|
*/
|
|
2554
2724
|
protected setupEnvironment(): Promise<void>;
|
|
2555
2725
|
/**
|
|
2556
|
-
* Invalidate modules and all their importers
|
|
2726
|
+
* Invalidate modules and all their importers, across both client and
|
|
2727
|
+
* SSR module graphs.
|
|
2728
|
+
*
|
|
2729
|
+
* Vite registers a file under multiple module ids (one per query
|
|
2730
|
+
* variant — e.g. `?v=…`, `?import` and the bare path), and `getModuleById`
|
|
2731
|
+
* only matches one. For workspace-linked source files (`@alepha/ui/...`)
|
|
2732
|
+
* the SSR-graph entry is keyed by the absolute path while the client
|
|
2733
|
+
* may use the package-qualified id. `getModulesByFile` returns every
|
|
2734
|
+
* variant Vite knows about for a given absolute path — invalidating
|
|
2735
|
+
* each catches both halves of the dual graph and prevents stale SSR
|
|
2736
|
+
* compiled exports from surviving across edits.
|
|
2557
2737
|
*/
|
|
2558
2738
|
protected invalidateModulesWithImporters(changedFiles: Set<string>): void;
|
|
2559
2739
|
/**
|
|
@@ -2588,7 +2768,7 @@ declare class ViteDevServerProvider {
|
|
|
2588
2768
|
//#endregion
|
|
2589
2769
|
//#region ../../src/cli/core/commands/dev.d.ts
|
|
2590
2770
|
declare class DevCommand {
|
|
2591
|
-
protected readonly log:
|
|
2771
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2592
2772
|
protected readonly fs: FileSystemProvider;
|
|
2593
2773
|
protected readonly utils: AlephaCliUtils;
|
|
2594
2774
|
protected readonly pm: PackageManagerUtils;
|
|
@@ -2605,9 +2785,9 @@ declare class DevCommand {
|
|
|
2605
2785
|
* When run from a workspace root (with apps/ directory), spawns all apps in parallel.
|
|
2606
2786
|
* When run from an app directory, starts a single Vite dev server.
|
|
2607
2787
|
*/
|
|
2608
|
-
readonly dev:
|
|
2609
|
-
only:
|
|
2610
|
-
}>,
|
|
2788
|
+
readonly dev: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2789
|
+
only: import("typebox").TOptional<import("typebox").TString>;
|
|
2790
|
+
}>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2611
2791
|
/**
|
|
2612
2792
|
* Discover apps in the workspace root.
|
|
2613
2793
|
*
|
|
@@ -2658,7 +2838,7 @@ declare class DevCommand {
|
|
|
2658
2838
|
* - `feat(cli): add command` → included
|
|
2659
2839
|
*/
|
|
2660
2840
|
declare class GitMessageParser {
|
|
2661
|
-
protected readonly log:
|
|
2841
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2662
2842
|
/**
|
|
2663
2843
|
* Parse a git commit line into a structured Commit object.
|
|
2664
2844
|
*
|
|
@@ -2702,7 +2882,7 @@ interface ChangelogEntry {
|
|
|
2702
2882
|
* - `alepha gen changelog | tee -a CHANGELOG.md` - Append to file
|
|
2703
2883
|
*/
|
|
2704
2884
|
declare class ChangelogCommand {
|
|
2705
|
-
protected readonly log:
|
|
2885
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2706
2886
|
protected readonly git: GitProvider;
|
|
2707
2887
|
protected readonly parser: GitMessageParser;
|
|
2708
2888
|
protected readonly config: Readonly<{
|
|
@@ -2730,30 +2910,30 @@ declare class ChangelogCommand {
|
|
|
2730
2910
|
* Get the latest version tag.
|
|
2731
2911
|
*/
|
|
2732
2912
|
protected getLatestTag(git: (cmd: string) => Promise<string>): Promise<string | null>;
|
|
2733
|
-
readonly command:
|
|
2913
|
+
readonly command: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2734
2914
|
/**
|
|
2735
2915
|
* Show changes from this ref (tag, commit, branch).
|
|
2736
2916
|
* Defaults to the latest version tag.
|
|
2737
2917
|
* Example: --from=1.0.0
|
|
2738
2918
|
*/
|
|
2739
|
-
from:
|
|
2919
|
+
from: import("typebox").TOptional<import("typebox").TString>;
|
|
2740
2920
|
/**
|
|
2741
2921
|
* Show changes up to this ref (tag, commit, branch).
|
|
2742
2922
|
* Defaults to HEAD.
|
|
2743
2923
|
* Example: --to=main
|
|
2744
2924
|
*/
|
|
2745
|
-
to:
|
|
2746
|
-
}>,
|
|
2925
|
+
to: import("typebox").TOptional<import("typebox").TString>;
|
|
2926
|
+
}>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2747
2927
|
}
|
|
2748
2928
|
//#endregion
|
|
2749
2929
|
//#region ../../src/cli/core/commands/gen/openapi.d.ts
|
|
2750
2930
|
declare class OpenApiCommand {
|
|
2751
|
-
protected readonly log:
|
|
2931
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2752
2932
|
protected readonly utils: AlephaCliUtils;
|
|
2753
2933
|
protected readonly fs: FileSystemProvider;
|
|
2754
|
-
readonly command:
|
|
2755
|
-
out:
|
|
2756
|
-
}>,
|
|
2934
|
+
readonly command: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2935
|
+
out: import("typebox").TOptional<import("typebox").TString>;
|
|
2936
|
+
}>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2757
2937
|
}
|
|
2758
2938
|
//#endregion
|
|
2759
2939
|
//#region ../../src/cli/core/commands/init.d.ts
|
|
@@ -2763,46 +2943,75 @@ declare class InitCommand {
|
|
|
2763
2943
|
* Ensure the project has the necessary Alepha configuration files.
|
|
2764
2944
|
* Add the correct dependencies to package.json and install them.
|
|
2765
2945
|
*/
|
|
2766
|
-
readonly init:
|
|
2767
|
-
pm:
|
|
2768
|
-
api:
|
|
2769
|
-
react:
|
|
2770
|
-
tailwind:
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
force: _$typebox.TOptional<_$typebox.TBoolean>;
|
|
2774
|
-
}>, _$typebox.TOptional<_$typebox.TString>, _$typebox.TObject<_$typebox.TProperties>>;
|
|
2946
|
+
readonly init: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2947
|
+
pm: import("typebox").TOptional<import("typebox").TUnsafe<"bun" | "yarn" | "npm" | "pnpm">>;
|
|
2948
|
+
api: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2949
|
+
react: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2950
|
+
tailwind: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2951
|
+
force: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
2952
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2775
2953
|
}
|
|
2776
2954
|
//#endregion
|
|
2777
2955
|
//#region ../../src/cli/core/commands/lint.d.ts
|
|
2778
2956
|
declare class LintCommand {
|
|
2779
2957
|
protected readonly utils: AlephaCliUtils;
|
|
2780
2958
|
protected readonly scaffolder: ProjectScaffolder;
|
|
2781
|
-
readonly lint:
|
|
2959
|
+
readonly lint: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2960
|
+
}
|
|
2961
|
+
//#endregion
|
|
2962
|
+
//#region ../../src/cli/core/commands/pack.d.ts
|
|
2963
|
+
/**
|
|
2964
|
+
* Pack the workspace into a deployable `tar.gz`.
|
|
2965
|
+
*
|
|
2966
|
+
* The tar contains everything a remote runner (Alepha Rocket, or any
|
|
2967
|
+
* `alepha platform <op> --prebuilt` consumer) needs to deploy the app:
|
|
2968
|
+
*
|
|
2969
|
+
* dist/ pre-built output (incl. manifest.json)
|
|
2970
|
+
* migrations/ SQL files (if present)
|
|
2971
|
+
*
|
|
2972
|
+
* No source, no `alepha.config.ts`, no `package.json` — the deploy
|
|
2973
|
+
* side reads everything from `dist/manifest.json` and never touches
|
|
2974
|
+
* source. Excludes: `node_modules`, `.DS_Store`, macOS AppleDouble
|
|
2975
|
+
* (`._*`), `.alepha` build cache, `e2e`, `playwright-report`,
|
|
2976
|
+
* `coverage`.
|
|
2977
|
+
*
|
|
2978
|
+
* Output name: `<project-name>-<tag>.tar.gz` (default tag
|
|
2979
|
+
* "latest"). Project name comes from `package.json.name`. Naming
|
|
2980
|
+
* mirrors Docker tags — same artifact, different tag = different
|
|
2981
|
+
* file.
|
|
2982
|
+
*/
|
|
2983
|
+
declare class PackCommand {
|
|
2984
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2985
|
+
protected readonly fs: FileSystemProvider;
|
|
2986
|
+
protected readonly shell: ShellProvider;
|
|
2987
|
+
readonly pack: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
2988
|
+
tag: import("typebox").TOptional<import("typebox").TString>;
|
|
2989
|
+
output: import("typebox").TOptional<import("typebox").TString>;
|
|
2990
|
+
}>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2782
2991
|
}
|
|
2783
2992
|
//#endregion
|
|
2784
2993
|
//#region ../../src/cli/core/commands/root.d.ts
|
|
2785
2994
|
declare class RootCommand {
|
|
2786
|
-
protected readonly log:
|
|
2995
|
+
protected readonly log: import("alepha/logger").Logger;
|
|
2787
2996
|
protected readonly cli: CliProvider;
|
|
2788
2997
|
protected readonly alepha: Alepha;
|
|
2789
2998
|
protected readonly color: ConsoleColorProvider;
|
|
2790
2999
|
/**
|
|
2791
3000
|
* Called when no command is provided
|
|
2792
3001
|
*/
|
|
2793
|
-
readonly root:
|
|
2794
|
-
version:
|
|
2795
|
-
}>,
|
|
3002
|
+
readonly root: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
3003
|
+
version: import("typebox").TOptional<import("typebox").TBoolean>;
|
|
3004
|
+
}>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2796
3005
|
}
|
|
2797
3006
|
//#endregion
|
|
2798
3007
|
//#region ../../src/cli/core/commands/test.d.ts
|
|
2799
3008
|
declare class TestCommand {
|
|
2800
3009
|
protected readonly utils: AlephaCliUtils;
|
|
2801
3010
|
protected readonly scaffolder: ProjectScaffolder;
|
|
2802
|
-
readonly test:
|
|
2803
|
-
config:
|
|
2804
|
-
}>,
|
|
2805
|
-
VITEST_ARGS:
|
|
3011
|
+
readonly test: import("alepha/command").CommandPrimitive<import("typebox").TObject<{
|
|
3012
|
+
config: import("typebox").TOptional<import("typebox").TString>;
|
|
3013
|
+
}>, import("typebox").TOptional<import("typebox").TString>, import("typebox").TObject<{
|
|
3014
|
+
VITEST_ARGS: import("typebox").TOptional<import("typebox").TString>;
|
|
2806
3015
|
}>>;
|
|
2807
3016
|
}
|
|
2808
3017
|
//#endregion
|
|
@@ -2813,7 +3022,7 @@ declare class TypecheckCommand {
|
|
|
2813
3022
|
/**
|
|
2814
3023
|
* Run TypeScript type checking across the codebase with no emit.
|
|
2815
3024
|
*/
|
|
2816
|
-
readonly typecheck:
|
|
3025
|
+
readonly typecheck: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2817
3026
|
}
|
|
2818
3027
|
//#endregion
|
|
2819
3028
|
//#region ../../src/cli/core/commands/verify.d.ts
|
|
@@ -2833,14 +3042,14 @@ declare class VerifyCommand {
|
|
|
2833
3042
|
* - Build the project
|
|
2834
3043
|
* - Clean the project again
|
|
2835
3044
|
*/
|
|
2836
|
-
readonly verify:
|
|
3045
|
+
readonly verify: import("alepha/command").CommandPrimitive<import("typebox").TObject<import("typebox").TProperties>, import("typebox").TSchema, import("typebox").TObject<import("typebox").TProperties>>;
|
|
2837
3046
|
}
|
|
2838
3047
|
//#endregion
|
|
2839
3048
|
//#region ../../src/cli/core/providers/AlephaCliExtensionProvider.d.ts
|
|
2840
3049
|
declare class AlephaCliExtensionProvider {
|
|
2841
3050
|
protected readonly alepha: Alepha;
|
|
2842
3051
|
protected readonly fs: FileSystemProvider;
|
|
2843
|
-
protected readonly onConfigure:
|
|
3052
|
+
protected readonly onConfigure: import("alepha").HookPrimitive<"configure">;
|
|
2844
3053
|
}
|
|
2845
3054
|
//#endregion
|
|
2846
3055
|
//#region ../../src/cli/core/index.d.ts
|
|
@@ -2848,11 +3057,11 @@ declare class AlephaCliExtensionProvider {
|
|
|
2848
3057
|
* Services, providers, and build tasks — no commands.
|
|
2849
3058
|
* Use this module when you need CLI utilities without registering commands.
|
|
2850
3059
|
*/
|
|
2851
|
-
declare const AlephaCliServices:
|
|
3060
|
+
declare const AlephaCliServices: import("alepha").Service<import("alepha").Module>;
|
|
2852
3061
|
/**
|
|
2853
3062
|
* Full CLI module — all services and commands.
|
|
2854
3063
|
*/
|
|
2855
|
-
declare const AlephaCli:
|
|
3064
|
+
declare const AlephaCli: import("alepha").Service<import("alepha").Module>;
|
|
2856
3065
|
//#endregion
|
|
2857
|
-
export { AlephaCli, AlephaCliExtensionProvider, AlephaCliServices, AlephaCliUtils, AppEntry, AppEntryOptions, AppEntryProvider, BufferedLogger, BuildAssetsTask, BuildClientTask, BuildCloudflareTask, BuildCommand, BuildCompressTask, BuildDockerTask, BuildOptions, BuildPrerenderTask, BuildRuntime, BuildServerTask,
|
|
3066
|
+
export { AlephaCli, AlephaCliExtensionProvider, AlephaCliServices, AlephaCliUtils, AppEntry, AppEntryOptions, AppEntryProvider, BufferedLogger, BuildAssetsTask, BuildClientTask, BuildCloudflareTask, BuildCommand, BuildCompressTask, BuildDockerTask, BuildManifest, BuildOptions, BuildPrerenderTask, BuildRuntime, BuildServerTask, BuildStaticTask, BuildTarget, BuildTask, BuildTaskContext, BuildVercelTask, ChangelogCommand, ChangelogOptions, CleanCommand, Commit, CompressOptions, DEFAULT_IGNORE, DbCommand, DependencyModes, DevCommand, DevOptions, DevServerOptions, GitMessageParser, GitProvider, InitCommand, LintCommand, OnAlephaLoadedHook, OpenApiCommand, PackCommand, PackageManagerUtils, PreloadManifest, ProjectScaffolder, RootCommand, TestCommand, TypecheckCommand, VerifyCommand, ViteBuildProvider, ViteDevServerProvider, ViteUtils, WorkspaceContext, alephaPackageJson, appEntryOptions, buildOptions, changelogOptions, devOptions, version };
|
|
2858
3067
|
//# sourceMappingURL=index.d.ts.map
|