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/email/smtp/index.js
CHANGED
|
@@ -203,12 +203,12 @@ var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
203
203
|
var require_package = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
204
204
|
module.exports = {
|
|
205
205
|
"name": "nodemailer",
|
|
206
|
-
"version": "8.0.
|
|
206
|
+
"version": "8.0.10",
|
|
207
207
|
"description": "Easy as cake e-mail sending from your Node.js applications",
|
|
208
208
|
"main": "lib/nodemailer.js",
|
|
209
209
|
"scripts": {
|
|
210
|
-
"test": "node --test --test-concurrency=1 test
|
|
211
|
-
"test:coverage": "c8 node --test --test-concurrency=1 test
|
|
210
|
+
"test": "node --test --test-concurrency=1 $(find test \\( -name '*-test.js' -o -name '*.test.js' \\))",
|
|
211
|
+
"test:coverage": "c8 node --test --test-concurrency=1 $(find test \\( -name '*-test.js' -o -name '*.test.js' \\))",
|
|
212
212
|
"format": "prettier --write \"**/*.{js,json,md}\"",
|
|
213
213
|
"format:check": "prettier --check \"**/*.{js,json,md}\"",
|
|
214
214
|
"lint": "eslint .",
|
|
@@ -490,6 +490,7 @@ var require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
490
490
|
const util$1 = __require("util");
|
|
491
491
|
const fs$2 = __require("fs");
|
|
492
492
|
const nmfetch = require_fetch();
|
|
493
|
+
const errors = require_errors();
|
|
493
494
|
const dns$1 = __require("dns");
|
|
494
495
|
const net$3 = __require("net");
|
|
495
496
|
const os$1 = __require("os");
|
|
@@ -695,7 +696,16 @@ var require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
695
696
|
module.exports._logFunc = (logger, level, defaults, data, message, ...args) => {
|
|
696
697
|
const entry = Object.assign({}, defaults || {}, data || {});
|
|
697
698
|
delete entry.level;
|
|
698
|
-
|
|
699
|
+
let logLevel = level;
|
|
700
|
+
if (typeof logger[logLevel] !== "function") logLevel = [
|
|
701
|
+
"info",
|
|
702
|
+
"debug",
|
|
703
|
+
"log",
|
|
704
|
+
"trace",
|
|
705
|
+
"warn",
|
|
706
|
+
"error"
|
|
707
|
+
].find((name) => typeof logger[name] === "function");
|
|
708
|
+
if (logLevel) logger[logLevel](entry, message, ...args);
|
|
699
709
|
};
|
|
700
710
|
/**
|
|
701
711
|
* Returns a bunyan-compatible logger interface. Uses either provided logger or
|
|
@@ -802,9 +812,15 @@ var require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
802
812
|
*
|
|
803
813
|
* @param {Object} data An object or an Array you want to resolve an element for
|
|
804
814
|
* @param {String|Number} key Property name or an Array index
|
|
815
|
+
* @param {Object} [options] Optional access policy: { disableFileAccess, disableUrlAccess }
|
|
805
816
|
* @param {Function} callback Callback function with (err, value)
|
|
806
817
|
*/
|
|
807
|
-
module.exports.resolveContent = (data, key, callback) => {
|
|
818
|
+
module.exports.resolveContent = (data, key, options, callback) => {
|
|
819
|
+
if (!callback && typeof options === "function") {
|
|
820
|
+
callback = options;
|
|
821
|
+
options = false;
|
|
822
|
+
}
|
|
823
|
+
options = options || {};
|
|
808
824
|
let promise;
|
|
809
825
|
if (!callback) promise = new Promise((resolve, reject) => {
|
|
810
826
|
callback = module.exports.callbackPromise(resolve, reject);
|
|
@@ -819,12 +835,25 @@ var require_shared = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
819
835
|
else data[key] = value;
|
|
820
836
|
callback(null, value);
|
|
821
837
|
});
|
|
822
|
-
else if (/^https?:\/\//i.test(content.path || content.href))
|
|
823
|
-
|
|
838
|
+
else if (/^https?:\/\//i.test(content.path || content.href)) {
|
|
839
|
+
if (options.disableUrlAccess) return setImmediate(() => {
|
|
840
|
+
const err = /* @__PURE__ */ new Error("Url access rejected for " + (content.path || content.href));
|
|
841
|
+
err.code = errors.EURLACCESS;
|
|
842
|
+
callback(err);
|
|
843
|
+
});
|
|
844
|
+
return resolveStream(nmfetch(content.path || content.href), callback);
|
|
845
|
+
} else if (/^data:/i.test(content.path || content.href)) {
|
|
824
846
|
const parsedDataUri = module.exports.parseDataURI(content.path || content.href);
|
|
825
847
|
if (!parsedDataUri || !parsedDataUri.data) return callback(null, Buffer.from(0));
|
|
826
848
|
return callback(null, parsedDataUri.data);
|
|
827
|
-
} else if (content.path)
|
|
849
|
+
} else if (content.path) {
|
|
850
|
+
if (options.disableFileAccess) return setImmediate(() => {
|
|
851
|
+
const err = /* @__PURE__ */ new Error("File access rejected for " + content.path);
|
|
852
|
+
err.code = errors.EFILEACCESS;
|
|
853
|
+
callback(err);
|
|
854
|
+
});
|
|
855
|
+
return resolveStream(fs$2.createReadStream(content.path), callback);
|
|
856
|
+
}
|
|
828
857
|
}
|
|
829
858
|
if (typeof data[key].content === "string" && ![
|
|
830
859
|
"utf8",
|
|
@@ -3593,8 +3622,8 @@ var require_punycode = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3593
3622
|
let k = 0;
|
|
3594
3623
|
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
3595
3624
|
delta += floor(delta / numPoints);
|
|
3596
|
-
for (; delta >
|
|
3597
|
-
return floor(k +
|
|
3625
|
+
for (; delta > 455; k += base) delta = floor(delta / baseMinusTMin);
|
|
3626
|
+
return floor(k + 36 * delta / (delta + skew));
|
|
3598
3627
|
};
|
|
3599
3628
|
/**
|
|
3600
3629
|
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
|
@@ -4041,7 +4070,6 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4041
4070
|
mimeWordEncoding = (mimeWordEncoding || "Q").toString().toUpperCase().trim().charAt(0);
|
|
4042
4071
|
maxLength = maxLength || 0;
|
|
4043
4072
|
let encodedStr;
|
|
4044
|
-
const toCharset = "UTF-8";
|
|
4045
4073
|
if (maxLength && maxLength > 12) maxLength -= 12;
|
|
4046
4074
|
if (mimeWordEncoding === "Q") encodedStr = qp.encode(data).replace(/[^a-z0-9!*+\-/=]/gi, (chr) => {
|
|
4047
4075
|
const ord = chr.charCodeAt(0).toString(16).toUpperCase();
|
|
@@ -4052,7 +4080,7 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4052
4080
|
encodedStr = typeof data === "string" ? data : base64.encode(data);
|
|
4053
4081
|
maxLength = maxLength ? Math.max(3, (maxLength - maxLength % 4) / 4 * 3) : 0;
|
|
4054
4082
|
}
|
|
4055
|
-
if (maxLength && (mimeWordEncoding !== "B" ? encodedStr : base64.encode(data)).length > maxLength) if (mimeWordEncoding === "Q") encodedStr = this.splitMimeEncodedString(encodedStr, maxLength).join("?= =?
|
|
4083
|
+
if (maxLength && (mimeWordEncoding !== "B" ? encodedStr : base64.encode(data)).length > maxLength) if (mimeWordEncoding === "Q") encodedStr = this.splitMimeEncodedString(encodedStr, maxLength).join("?= =?UTF-8?" + mimeWordEncoding + "?");
|
|
4056
4084
|
else {
|
|
4057
4085
|
const parts = [];
|
|
4058
4086
|
let lpart = "";
|
|
@@ -4066,11 +4094,11 @@ var require_mime_funcs = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
4066
4094
|
}
|
|
4067
4095
|
}
|
|
4068
4096
|
if (lpart) parts.push(base64.encode(lpart));
|
|
4069
|
-
if (parts.length > 1) encodedStr = parts.join("?= =?
|
|
4097
|
+
if (parts.length > 1) encodedStr = parts.join("?= =?UTF-8?" + mimeWordEncoding + "?");
|
|
4070
4098
|
else encodedStr = parts.join("");
|
|
4071
4099
|
}
|
|
4072
4100
|
else if (mimeWordEncoding === "B") encodedStr = base64.encode(data);
|
|
4073
|
-
return "=?
|
|
4101
|
+
return "=?UTF-8?" + mimeWordEncoding + "?" + encodedStr + (encodedStr.substr(-2) === "?=" ? "" : "?=");
|
|
4074
4102
|
},
|
|
4075
4103
|
/**
|
|
4076
4104
|
* Finds word sequences with non ascii text and converts these to mime words
|
|
@@ -6636,7 +6664,10 @@ var require_mail_message = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
6636
6664
|
if (pos >= keys.length) return callback(null, this.data);
|
|
6637
6665
|
const args = keys[pos++];
|
|
6638
6666
|
if (!args[0] || !args[0][args[1]]) return resolveNext();
|
|
6639
|
-
shared.resolveContent(...args,
|
|
6667
|
+
shared.resolveContent(...args, {
|
|
6668
|
+
disableFileAccess: this.data.disableFileAccess,
|
|
6669
|
+
disableUrlAccess: this.data.disableUrlAccess
|
|
6670
|
+
}, (err, value) => {
|
|
6640
6671
|
if (err) return callback(err);
|
|
6641
6672
|
const node = { content: value };
|
|
6642
6673
|
if (args[0][args[1]] && typeof args[0][args[1]] === "object" && !Buffer.isBuffer(args[0][args[1]])) Object.keys(args[0][args[1]]).forEach((key) => {
|
|
@@ -6747,12 +6778,12 @@ var require_mail_message = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
6747
6778
|
if (typeof value === "string") value = { url: value };
|
|
6748
6779
|
if (value && value.url) {
|
|
6749
6780
|
if (key.toLowerCase().trim() === "id") {
|
|
6750
|
-
let comment = value.comment || "";
|
|
6781
|
+
let comment = (value.comment || "").toString().replace(/\r?\n|\r/g, " ");
|
|
6751
6782
|
if (mimeFuncs.isPlainText(comment)) comment = "\"" + comment + "\"";
|
|
6752
6783
|
else comment = mimeFuncs.encodeWord(comment);
|
|
6753
6784
|
return (value.comment ? comment + " " : "") + this._formatListUrl(value.url).replace(/^<[^:]+\/{,2}/, "");
|
|
6754
6785
|
}
|
|
6755
|
-
let comment = value.comment || "";
|
|
6786
|
+
let comment = (value.comment || "").toString().replace(/\r?\n|\r/g, " ");
|
|
6756
6787
|
if (!mimeFuncs.isPlainText(comment)) comment = mimeFuncs.encodeWord(comment);
|
|
6757
6788
|
return this._formatListUrl(value.url) + (value.comment ? " (" + comment + ")" : "");
|
|
6758
6789
|
}
|
|
@@ -7031,7 +7062,10 @@ var require_mailer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
7031
7062
|
}
|
|
7032
7063
|
_convertDataImages(mail, callback) {
|
|
7033
7064
|
if (!this.options.attachDataUrls && !mail.data.attachDataUrls || !mail.data.html) return callback();
|
|
7034
|
-
mail.resolveContent(mail.data, "html",
|
|
7065
|
+
mail.resolveContent(mail.data, "html", {
|
|
7066
|
+
disableFileAccess: mail.data.disableFileAccess,
|
|
7067
|
+
disableUrlAccess: mail.data.disableUrlAccess
|
|
7068
|
+
}, (err, html) => {
|
|
7035
7069
|
if (err) return callback(err);
|
|
7036
7070
|
let cidCounter = 0;
|
|
7037
7071
|
html = (html || "").toString().replace(/(<img\b[^<>]{0,1024} src\s{0,20}=[\s"']{0,20})(data:([^;]+);[^"'>\s]+)/gi, (match, prefix, dataUri, mimeType) => {
|
|
@@ -7308,6 +7342,12 @@ var require_smtp_connection = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
7308
7342
|
*/
|
|
7309
7343
|
this._closing = false;
|
|
7310
7344
|
/**
|
|
7345
|
+
* Message DATA stream currently piped to the socket, if any. Tracked so
|
|
7346
|
+
* close() can unpipe it before tearing the socket down.
|
|
7347
|
+
* @private
|
|
7348
|
+
*/
|
|
7349
|
+
this._currentDataStream = false;
|
|
7350
|
+
/**
|
|
7311
7351
|
* Callbacks for socket's listeners
|
|
7312
7352
|
*/
|
|
7313
7353
|
this._onSocketData = (chunk) => this._onData(chunk);
|
|
@@ -7480,6 +7520,12 @@ var require_smtp_connection = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
7480
7520
|
const closeMethod = this.stage === "init" ? "destroy" : "end";
|
|
7481
7521
|
this.logger.debug({ tnx: "smtp" }, "Closing connection to the server using \"%s\"", closeMethod);
|
|
7482
7522
|
const socket = this._socket && this._socket.socket || this._socket;
|
|
7523
|
+
if (this._currentDataStream) {
|
|
7524
|
+
try {
|
|
7525
|
+
this._currentDataStream.unpipe(this._socket);
|
|
7526
|
+
} catch (_E) {}
|
|
7527
|
+
this._currentDataStream = false;
|
|
7528
|
+
}
|
|
7483
7529
|
if (socket && !socket.destroyed) try {
|
|
7484
7530
|
socket.setTimeout(0);
|
|
7485
7531
|
socket.removeListener("data", this._onSocketData);
|
|
@@ -7776,7 +7822,7 @@ var require_smtp_connection = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
7776
7822
|
* @event
|
|
7777
7823
|
*/
|
|
7778
7824
|
_onEnd() {
|
|
7779
|
-
if (this._socket && !this._socket.destroyed) this._socket.
|
|
7825
|
+
if (this._socket && !this._socket.destroyed) this._socket.end();
|
|
7780
7826
|
}
|
|
7781
7827
|
/**
|
|
7782
7828
|
* 'timeout' listener for the socket
|
|
@@ -7809,18 +7855,22 @@ var require_smtp_connection = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
7809
7855
|
host: this.host
|
|
7810
7856
|
}, this.options.tls || {});
|
|
7811
7857
|
if (this.servername && !opts.servername) opts.servername = this.servername;
|
|
7858
|
+
const removePlainSocketListeners = () => {
|
|
7859
|
+
socketPlain.removeListener("close", this._onSocketClose);
|
|
7860
|
+
socketPlain.removeListener("end", this._onSocketEnd);
|
|
7861
|
+
socketPlain.removeListener("error", this._onSocketError);
|
|
7862
|
+
};
|
|
7812
7863
|
this.upgrading = true;
|
|
7813
7864
|
try {
|
|
7814
7865
|
this._socket = tls.connect(opts, () => {
|
|
7815
7866
|
this.secure = true;
|
|
7816
7867
|
this.upgrading = false;
|
|
7817
7868
|
this._socket.on("data", this._onSocketData);
|
|
7818
|
-
|
|
7819
|
-
socketPlain.removeListener("end", this._onSocketEnd);
|
|
7820
|
-
socketPlain.removeListener("error", this._onSocketError);
|
|
7869
|
+
removePlainSocketListeners();
|
|
7821
7870
|
return callback(null, true);
|
|
7822
7871
|
});
|
|
7823
7872
|
} catch (err) {
|
|
7873
|
+
removePlainSocketListeners();
|
|
7824
7874
|
return callback(err);
|
|
7825
7875
|
}
|
|
7826
7876
|
this._socket.on("error", this._onSocketError);
|
|
@@ -7971,6 +8021,7 @@ var require_smtp_connection = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
7971
8021
|
else this._responseActions.push((str) => {
|
|
7972
8022
|
this._actionSMTPStream(str, callback);
|
|
7973
8023
|
});
|
|
8024
|
+
this._currentDataStream = dataStream;
|
|
7974
8025
|
dataStream.pipe(this._socket, { end: false });
|
|
7975
8026
|
if (this.options.debug) {
|
|
7976
8027
|
const logStream = new PassThrough();
|
|
@@ -7981,6 +8032,7 @@ var require_smtp_connection = /* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
7981
8032
|
dataStream.pipe(logStream);
|
|
7982
8033
|
}
|
|
7983
8034
|
dataStream.once("end", () => {
|
|
8035
|
+
if (this._currentDataStream === dataStream) this._currentDataStream = false;
|
|
7984
8036
|
this.logger.info({
|
|
7985
8037
|
tnx: "message",
|
|
7986
8038
|
inByteCount: dataStream.inByteCount,
|
|
@@ -8403,6 +8455,7 @@ var require_xoauth2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
8403
8455
|
* @param {Number} options.expires Optional Access Token expire time in ms
|
|
8404
8456
|
* @param {Number} options.timeout Optional TTL for Access Token in seconds
|
|
8405
8457
|
* @param {Function} options.provisionCallback Function to run when a new access token is required
|
|
8458
|
+
* @param {Object} options.tls Optional TLS options forwarded to the HTTPS token request. Defaults to strict cert validation; supply { rejectUnauthorized: false } only for self-hosted OAuth providers on private CAs.
|
|
8406
8459
|
*/
|
|
8407
8460
|
var XOAuth2 = class extends Stream {
|
|
8408
8461
|
constructor(options, logger) {
|
|
@@ -8647,12 +8700,14 @@ var require_xoauth2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
8647
8700
|
let returned = false;
|
|
8648
8701
|
const chunks = [];
|
|
8649
8702
|
let chunklen = 0;
|
|
8650
|
-
const
|
|
8703
|
+
const fetchOptions = {
|
|
8651
8704
|
method: "post",
|
|
8652
8705
|
headers: params.customHeaders,
|
|
8653
8706
|
body: payload,
|
|
8654
8707
|
allowErrorResponse: true
|
|
8655
|
-
}
|
|
8708
|
+
};
|
|
8709
|
+
if (/^https:/i.test(url)) fetchOptions.tls = Object.assign({ rejectUnauthorized: true }, params.tls || {});
|
|
8710
|
+
const req = nmfetch(url, fetchOptions);
|
|
8656
8711
|
req.on("readable", () => {
|
|
8657
8712
|
let chunk;
|
|
8658
8713
|
while ((chunk = req.read()) !== null) {
|
|
@@ -9960,9 +10015,15 @@ var require_smtp_transport = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
9960
10015
|
options = Object.assign(shared.assign(false, options), socketOptions);
|
|
9961
10016
|
}
|
|
9962
10017
|
const connection = new SMTPConnection(options);
|
|
10018
|
+
let perCallAuth;
|
|
10019
|
+
const cleanupPerCallAuth = () => {
|
|
10020
|
+
if (perCallAuth && perCallAuth !== this.auth && perCallAuth.oauth2) perCallAuth.oauth2.removeAllListeners();
|
|
10021
|
+
perCallAuth = null;
|
|
10022
|
+
};
|
|
9963
10023
|
connection.once("error", (err) => {
|
|
9964
10024
|
if (returned) return;
|
|
9965
10025
|
returned = true;
|
|
10026
|
+
cleanupPerCallAuth();
|
|
9966
10027
|
connection.close();
|
|
9967
10028
|
return callback(err);
|
|
9968
10029
|
});
|
|
@@ -9971,6 +10032,7 @@ var require_smtp_transport = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
9971
10032
|
const timer = setTimeout(() => {
|
|
9972
10033
|
if (returned) return;
|
|
9973
10034
|
returned = true;
|
|
10035
|
+
cleanupPerCallAuth();
|
|
9974
10036
|
const err = /* @__PURE__ */ new Error("Unexpected socket close");
|
|
9975
10037
|
if (connection && connection._socket && connection._socket.upgrading) err.code = errors.ETLS;
|
|
9976
10038
|
callback(err);
|
|
@@ -9992,6 +10054,7 @@ var require_smtp_transport = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
9992
10054
|
}, "Sending message %s to <%s>", messageId, recipients.join(", "));
|
|
9993
10055
|
connection.send(envelope, mail.message.createReadStream(), (err, info) => {
|
|
9994
10056
|
returned = true;
|
|
10057
|
+
cleanupPerCallAuth();
|
|
9995
10058
|
connection.close();
|
|
9996
10059
|
if (err) {
|
|
9997
10060
|
this.logger.error({
|
|
@@ -10017,9 +10080,9 @@ var require_smtp_transport = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
10017
10080
|
};
|
|
10018
10081
|
connection.connect(() => {
|
|
10019
10082
|
if (returned) return;
|
|
10020
|
-
|
|
10021
|
-
if (
|
|
10022
|
-
|
|
10083
|
+
perCallAuth = this.getAuth(mail.data.auth);
|
|
10084
|
+
if (perCallAuth && (connection.allowsAuth || options.forceAuth)) connection.login(perCallAuth, (err) => {
|
|
10085
|
+
cleanupPerCallAuth();
|
|
10023
10086
|
if (returned) return;
|
|
10024
10087
|
if (err) {
|
|
10025
10088
|
returned = true;
|
|
@@ -10058,27 +10121,36 @@ var require_smtp_transport = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
10058
10121
|
}
|
|
10059
10122
|
const connection = new SMTPConnection(options);
|
|
10060
10123
|
let returned = false;
|
|
10124
|
+
let perCallAuth;
|
|
10125
|
+
const cleanupPerCallAuth = () => {
|
|
10126
|
+
if (perCallAuth && perCallAuth !== this.auth && perCallAuth.oauth2) perCallAuth.oauth2.removeAllListeners();
|
|
10127
|
+
perCallAuth = null;
|
|
10128
|
+
};
|
|
10061
10129
|
connection.once("error", (err) => {
|
|
10062
10130
|
if (returned) return;
|
|
10063
10131
|
returned = true;
|
|
10132
|
+
cleanupPerCallAuth();
|
|
10064
10133
|
connection.close();
|
|
10065
10134
|
return callback(err);
|
|
10066
10135
|
});
|
|
10067
10136
|
connection.once("end", () => {
|
|
10068
10137
|
if (returned) return;
|
|
10069
10138
|
returned = true;
|
|
10139
|
+
cleanupPerCallAuth();
|
|
10070
10140
|
return callback(/* @__PURE__ */ new Error("Connection closed"));
|
|
10071
10141
|
});
|
|
10072
10142
|
const finalize = () => {
|
|
10073
10143
|
if (returned) return;
|
|
10074
10144
|
returned = true;
|
|
10145
|
+
cleanupPerCallAuth();
|
|
10075
10146
|
connection.quit();
|
|
10076
10147
|
return callback(null, true);
|
|
10077
10148
|
};
|
|
10078
10149
|
connection.connect(() => {
|
|
10079
10150
|
if (returned) return;
|
|
10080
|
-
|
|
10081
|
-
if (
|
|
10151
|
+
perCallAuth = this.getAuth({});
|
|
10152
|
+
if (perCallAuth && (connection.allowsAuth || options.forceAuth)) connection.login(perCallAuth, (err) => {
|
|
10153
|
+
cleanupPerCallAuth();
|
|
10082
10154
|
if (returned) return;
|
|
10083
10155
|
if (err) {
|
|
10084
10156
|
returned = true;
|
|
@@ -10087,10 +10159,11 @@ var require_smtp_transport = /* @__PURE__ */ __commonJSMin(((exports, module) =>
|
|
|
10087
10159
|
}
|
|
10088
10160
|
finalize();
|
|
10089
10161
|
});
|
|
10090
|
-
else if (!
|
|
10162
|
+
else if (!perCallAuth && connection.allowsAuth && options.forceAuth) {
|
|
10091
10163
|
const err = /* @__PURE__ */ new Error("Authentication info was not provided");
|
|
10092
10164
|
err.code = errors.ENOAUTH;
|
|
10093
10165
|
returned = true;
|
|
10166
|
+
cleanupPerCallAuth();
|
|
10094
10167
|
connection.close();
|
|
10095
10168
|
return callback(err);
|
|
10096
10169
|
} else finalize();
|
|
@@ -10596,12 +10669,14 @@ var import_nodemailer = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin((
|
|
|
10596
10669
|
version: packageData.version
|
|
10597
10670
|
};
|
|
10598
10671
|
if (ETHEREAL_API_KEY) requestHeaders.Authorization = "Bearer " + ETHEREAL_API_KEY;
|
|
10599
|
-
const
|
|
10672
|
+
const fetchOptions = {
|
|
10600
10673
|
contentType: "application/json",
|
|
10601
10674
|
method: "POST",
|
|
10602
10675
|
headers: requestHeaders,
|
|
10603
10676
|
body: Buffer.from(JSON.stringify(requestBody))
|
|
10604
|
-
}
|
|
10677
|
+
};
|
|
10678
|
+
if (/^https:/i.test(apiUrl)) fetchOptions.tls = { rejectUnauthorized: true };
|
|
10679
|
+
const req = nmfetch(apiUrl + "/user", fetchOptions);
|
|
10605
10680
|
req.on("readable", () => {
|
|
10606
10681
|
let chunk;
|
|
10607
10682
|
while ((chunk = req.read()) !== null) {
|