alepha 0.15.0 → 0.15.2
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 +43 -98
- package/dist/api/audits/index.d.ts +630 -653
- package/dist/api/audits/index.d.ts.map +1 -1
- package/dist/api/audits/index.js +12 -35
- package/dist/api/audits/index.js.map +1 -1
- package/dist/api/files/index.d.ts +365 -358
- package/dist/api/files/index.d.ts.map +1 -1
- package/dist/api/files/index.js +12 -5
- package/dist/api/files/index.js.map +1 -1
- package/dist/api/jobs/index.d.ts +255 -248
- package/dist/api/jobs/index.d.ts.map +1 -1
- package/dist/api/jobs/index.js +10 -3
- package/dist/api/jobs/index.js.map +1 -1
- package/dist/api/keys/index.d.ts +413 -0
- package/dist/api/keys/index.d.ts.map +1 -0
- package/dist/api/keys/index.js +476 -0
- package/dist/api/keys/index.js.map +1 -0
- package/dist/api/notifications/index.browser.js +4 -4
- package/dist/api/notifications/index.browser.js.map +1 -1
- package/dist/api/notifications/index.d.ts +84 -78
- package/dist/api/notifications/index.d.ts.map +1 -1
- package/dist/api/notifications/index.js +14 -8
- package/dist/api/notifications/index.js.map +1 -1
- package/dist/api/parameters/index.d.ts +528 -535
- package/dist/api/parameters/index.d.ts.map +1 -1
- package/dist/api/parameters/index.js +30 -37
- package/dist/api/parameters/index.js.map +1 -1
- package/dist/api/users/index.d.ts +1221 -910
- package/dist/api/users/index.d.ts.map +1 -1
- package/dist/api/users/index.js +2556 -248
- package/dist/api/users/index.js.map +1 -1
- package/dist/api/verifications/index.d.ts +142 -136
- package/dist/api/verifications/index.d.ts.map +1 -1
- package/dist/api/verifications/index.js +12 -4
- package/dist/api/verifications/index.js.map +1 -1
- package/dist/batch/index.d.ts +142 -162
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +31 -44
- package/dist/batch/index.js.map +1 -1
- package/dist/bucket/index.d.ts +595 -171
- package/dist/bucket/index.d.ts.map +1 -1
- package/dist/bucket/index.js +1856 -12
- package/dist/bucket/index.js.map +1 -1
- package/dist/cache/core/index.d.ts +225 -53
- package/dist/cache/core/index.d.ts.map +1 -1
- package/dist/cache/core/index.js +213 -7
- package/dist/cache/core/index.js.map +1 -1
- package/dist/cache/redis/index.d.ts +1 -0
- package/dist/cache/redis/index.d.ts.map +1 -1
- package/dist/cache/redis/index.js +6 -2
- package/dist/cache/redis/index.js.map +1 -1
- package/dist/cli/index.d.ts +834 -226
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2872 -417
- package/dist/cli/index.js.map +1 -1
- package/dist/command/index.d.ts +458 -310
- package/dist/command/index.d.ts.map +1 -1
- package/dist/command/index.js +2011 -76
- package/dist/command/index.js.map +1 -1
- package/dist/core/index.browser.js +309 -97
- package/dist/core/index.browser.js.map +1 -1
- package/dist/core/index.d.ts +796 -701
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +329 -97
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.native.js +309 -97
- package/dist/core/index.native.js.map +1 -1
- package/dist/datetime/index.d.ts +59 -44
- package/dist/datetime/index.d.ts.map +1 -1
- package/dist/datetime/index.js +15 -0
- package/dist/datetime/index.js.map +1 -1
- package/dist/email/index.d.ts +314 -19
- package/dist/email/index.d.ts.map +1 -1
- package/dist/email/index.js +1852 -7
- package/dist/email/index.js.map +1 -1
- package/dist/fake/index.d.ts +5500 -5418
- package/dist/fake/index.d.ts.map +1 -1
- package/dist/fake/index.js +113 -42
- package/dist/fake/index.js.map +1 -1
- package/dist/lock/core/index.d.ts +219 -212
- package/dist/lock/core/index.d.ts.map +1 -1
- package/dist/lock/core/index.js +11 -4
- package/dist/lock/core/index.js.map +1 -1
- package/dist/lock/redis/index.d.ts.map +1 -1
- package/dist/logger/index.d.ts +41 -90
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +15 -68
- package/dist/logger/index.js.map +1 -1
- package/dist/mcp/index.d.ts +228 -230
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +32 -31
- package/dist/mcp/index.js.map +1 -1
- package/dist/orm/index.browser.js +12 -12
- package/dist/orm/index.browser.js.map +1 -1
- package/dist/orm/index.bun.js +90 -80
- package/dist/orm/index.bun.js.map +1 -1
- package/dist/orm/index.d.ts +1434 -1459
- package/dist/orm/index.d.ts.map +1 -1
- package/dist/orm/index.js +112 -130
- package/dist/orm/index.js.map +1 -1
- package/dist/queue/core/index.d.ts +262 -254
- package/dist/queue/core/index.d.ts.map +1 -1
- package/dist/queue/core/index.js +14 -6
- package/dist/queue/core/index.js.map +1 -1
- package/dist/queue/redis/index.d.ts.map +1 -1
- package/dist/react/auth/index.browser.js +108 -0
- package/dist/react/auth/index.browser.js.map +1 -0
- package/dist/react/auth/index.d.ts +100 -0
- package/dist/react/auth/index.d.ts.map +1 -0
- package/dist/react/auth/index.js +145 -0
- package/dist/react/auth/index.js.map +1 -0
- package/dist/react/core/index.d.ts +469 -0
- package/dist/react/core/index.d.ts.map +1 -0
- package/dist/react/core/index.js +464 -0
- package/dist/react/core/index.js.map +1 -0
- package/dist/react/form/index.d.ts +232 -0
- package/dist/react/form/index.d.ts.map +1 -0
- package/dist/react/form/index.js +432 -0
- package/dist/react/form/index.js.map +1 -0
- package/dist/react/head/index.browser.js +423 -0
- package/dist/react/head/index.browser.js.map +1 -0
- package/dist/react/head/index.d.ts +288 -0
- package/dist/react/head/index.d.ts.map +1 -0
- package/dist/react/head/index.js +465 -0
- package/dist/react/head/index.js.map +1 -0
- package/dist/react/i18n/index.d.ts +175 -0
- package/dist/react/i18n/index.d.ts.map +1 -0
- package/dist/react/i18n/index.js +224 -0
- package/dist/react/i18n/index.js.map +1 -0
- package/dist/react/router/index.browser.js +1980 -0
- package/dist/react/router/index.browser.js.map +1 -0
- package/dist/react/router/index.d.ts +2068 -0
- package/dist/react/router/index.d.ts.map +1 -0
- package/dist/react/router/index.js +4932 -0
- package/dist/react/router/index.js.map +1 -0
- package/dist/react/websocket/index.d.ts +117 -0
- package/dist/react/websocket/index.d.ts.map +1 -0
- package/dist/react/websocket/index.js +107 -0
- package/dist/react/websocket/index.js.map +1 -0
- package/dist/redis/index.bun.js +4 -0
- package/dist/redis/index.bun.js.map +1 -1
- package/dist/redis/index.d.ts +127 -130
- package/dist/redis/index.d.ts.map +1 -1
- package/dist/redis/index.js +16 -25
- package/dist/redis/index.js.map +1 -1
- package/dist/retry/index.d.ts +80 -71
- package/dist/retry/index.d.ts.map +1 -1
- package/dist/retry/index.js +11 -2
- package/dist/retry/index.js.map +1 -1
- package/dist/router/index.d.ts +6 -6
- package/dist/router/index.d.ts.map +1 -1
- package/dist/scheduler/index.d.ts +119 -28
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +404 -3
- package/dist/scheduler/index.js.map +1 -1
- package/dist/security/index.d.ts +642 -228
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +1579 -37
- package/dist/security/index.js.map +1 -1
- package/dist/server/auth/index.d.ts +1141 -111
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +1261 -25
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/cache/index.d.ts +63 -78
- package/dist/server/cache/index.d.ts.map +1 -1
- package/dist/server/cache/index.js +7 -22
- package/dist/server/cache/index.js.map +1 -1
- package/dist/server/compress/index.d.ts +13 -5
- package/dist/server/compress/index.d.ts.map +1 -1
- package/dist/server/compress/index.js +10 -2
- package/dist/server/compress/index.js.map +1 -1
- package/dist/server/cookies/index.d.ts +46 -22
- package/dist/server/cookies/index.d.ts.map +1 -1
- package/dist/server/cookies/index.js +7 -5
- package/dist/server/cookies/index.js.map +1 -1
- package/dist/server/core/index.d.ts +307 -196
- package/dist/server/core/index.d.ts.map +1 -1
- package/dist/server/core/index.js +271 -38
- package/dist/server/core/index.js.map +1 -1
- package/dist/server/cors/index.d.ts +24 -34
- package/dist/server/cors/index.d.ts.map +1 -1
- package/dist/server/cors/index.js +7 -21
- package/dist/server/cors/index.js.map +1 -1
- package/dist/server/health/index.d.ts +25 -19
- package/dist/server/health/index.d.ts.map +1 -1
- package/dist/server/health/index.js +8 -2
- package/dist/server/health/index.js.map +1 -1
- package/dist/server/helmet/index.d.ts +13 -5
- package/dist/server/helmet/index.d.ts.map +1 -1
- package/dist/server/helmet/index.js +11 -3
- package/dist/server/helmet/index.js.map +1 -1
- package/dist/server/links/index.browser.js +9 -1
- package/dist/server/links/index.browser.js.map +1 -1
- package/dist/server/links/index.d.ts +133 -128
- package/dist/server/links/index.d.ts.map +1 -1
- package/dist/server/links/index.js +24 -11
- package/dist/server/links/index.js.map +1 -1
- package/dist/server/metrics/index.d.ts +524 -4
- package/dist/server/metrics/index.d.ts.map +1 -1
- package/dist/server/metrics/index.js +4472 -7
- package/dist/server/metrics/index.js.map +1 -1
- package/dist/server/multipart/index.d.ts +15 -9
- package/dist/server/multipart/index.d.ts.map +1 -1
- package/dist/server/multipart/index.js +9 -3
- package/dist/server/multipart/index.js.map +1 -1
- package/dist/server/proxy/index.d.ts +110 -104
- package/dist/server/proxy/index.d.ts.map +1 -1
- package/dist/server/proxy/index.js +8 -2
- package/dist/server/proxy/index.js.map +1 -1
- package/dist/server/rate-limit/index.d.ts +46 -51
- package/dist/server/rate-limit/index.d.ts.map +1 -1
- package/dist/server/rate-limit/index.js +18 -55
- package/dist/server/rate-limit/index.js.map +1 -1
- package/dist/server/static/index.d.ts +181 -48
- package/dist/server/static/index.d.ts.map +1 -1
- package/dist/server/static/index.js +1848 -5
- package/dist/server/static/index.js.map +1 -1
- package/dist/server/swagger/index.d.ts +348 -53
- package/dist/server/swagger/index.d.ts.map +1 -1
- package/dist/server/swagger/index.js +1849 -6
- package/dist/server/swagger/index.js.map +1 -1
- package/dist/sms/index.d.ts +312 -18
- package/dist/sms/index.d.ts.map +1 -1
- package/dist/sms/index.js +1854 -10
- package/dist/sms/index.js.map +1 -1
- package/dist/system/index.browser.js +496 -0
- package/dist/system/index.browser.js.map +1 -0
- package/dist/system/index.d.ts +1158 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/{file → system}/index.js +412 -20
- package/dist/system/index.js.map +1 -0
- package/dist/thread/index.d.ts +82 -73
- package/dist/thread/index.d.ts.map +1 -1
- package/dist/thread/index.js +13 -4
- package/dist/thread/index.js.map +1 -1
- package/dist/topic/core/index.d.ts +330 -323
- package/dist/topic/core/index.d.ts.map +1 -1
- package/dist/topic/core/index.js +12 -5
- package/dist/topic/core/index.js.map +1 -1
- package/dist/topic/redis/index.d.ts +6 -6
- package/dist/topic/redis/index.d.ts.map +1 -1
- package/dist/vite/index.d.ts +163 -5825
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +130 -477
- package/dist/vite/index.js.map +1 -1
- package/dist/websocket/index.browser.js +3 -3
- package/dist/websocket/index.browser.js.map +1 -1
- package/dist/websocket/index.d.ts +287 -283
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/index.js +15 -11
- package/dist/websocket/index.js.map +1 -1
- package/package.json +86 -17
- package/src/api/audits/index.ts +10 -33
- package/src/api/files/__tests__/$bucket.spec.ts +1 -1
- package/src/api/files/controllers/AdminFileStatsController.spec.ts +1 -1
- package/src/api/files/controllers/FileController.spec.ts +1 -1
- package/src/api/files/index.ts +10 -3
- package/src/api/files/jobs/FileJobs.spec.ts +1 -1
- package/src/api/files/services/FileService.spec.ts +1 -1
- package/src/api/jobs/index.ts +10 -3
- package/src/api/keys/controllers/AdminApiKeyController.ts +75 -0
- package/src/api/keys/controllers/ApiKeyController.ts +103 -0
- package/src/api/keys/entities/apiKeyEntity.ts +41 -0
- package/src/api/keys/index.ts +49 -0
- package/src/api/keys/schemas/adminApiKeyQuerySchema.ts +7 -0
- package/src/api/keys/schemas/adminApiKeyResourceSchema.ts +17 -0
- package/src/api/keys/schemas/createApiKeyBodySchema.ts +7 -0
- package/src/api/keys/schemas/createApiKeyResponseSchema.ts +11 -0
- package/src/api/keys/schemas/listApiKeyResponseSchema.ts +15 -0
- package/src/api/keys/schemas/revokeApiKeyParamsSchema.ts +5 -0
- package/src/api/keys/schemas/revokeApiKeyResponseSchema.ts +5 -0
- package/src/api/keys/services/ApiKeyService.spec.ts +553 -0
- package/src/api/keys/services/ApiKeyService.ts +306 -0
- package/src/api/logs/TODO.md +52 -0
- package/src/api/notifications/index.ts +10 -4
- package/src/api/parameters/index.ts +9 -30
- package/src/api/parameters/primitives/$config.ts +12 -4
- package/src/api/parameters/services/ConfigStore.ts +9 -3
- package/src/api/users/__tests__/ApiKeys-integration.spec.ts +1035 -0
- package/src/api/users/__tests__/ApiKeys.spec.ts +401 -0
- package/src/api/users/index.ts +14 -3
- package/src/api/users/primitives/$realm.ts +33 -5
- package/src/api/users/providers/RealmProvider.ts +1 -12
- package/src/api/users/services/SessionService.ts +1 -11
- package/src/api/verifications/controllers/VerificationController.ts +2 -0
- package/src/api/verifications/index.ts +10 -4
- package/src/batch/index.ts +9 -36
- package/src/batch/primitives/$batch.ts +0 -8
- package/src/batch/providers/BatchProvider.ts +29 -2
- package/src/bucket/__tests__/shared.ts +1 -1
- package/src/bucket/index.ts +13 -6
- package/src/bucket/primitives/$bucket.ts +1 -1
- package/src/bucket/providers/LocalFileStorageProvider.ts +1 -1
- package/src/bucket/providers/MemoryFileStorageProvider.ts +1 -1
- package/src/cache/core/__tests__/shared.ts +30 -0
- package/src/cache/core/index.ts +11 -6
- package/src/cache/core/primitives/$cache.spec.ts +5 -0
- package/src/cache/core/providers/CacheProvider.ts +17 -0
- package/src/cache/core/providers/MemoryCacheProvider.ts +300 -1
- package/src/cache/redis/__tests__/cache-redis.spec.ts +5 -0
- package/src/cache/redis/providers/RedisCacheProvider.ts +9 -0
- package/src/cli/apps/AlephaCli.ts +3 -16
- package/src/cli/apps/AlephaPackageBuilderCli.ts +10 -2
- package/src/cli/atoms/appEntryOptions.ts +13 -0
- package/src/cli/atoms/buildOptions.ts +1 -1
- package/src/cli/atoms/changelogOptions.ts +1 -1
- package/src/cli/commands/build.ts +64 -52
- package/src/cli/commands/db.ts +17 -11
- package/src/cli/commands/deploy.ts +1 -1
- package/src/cli/commands/dev.ts +13 -49
- package/src/cli/commands/gen/env.ts +6 -3
- package/src/cli/commands/gen/openapi.ts +5 -2
- package/src/cli/commands/init.spec.ts +544 -0
- package/src/cli/commands/init.ts +101 -58
- package/src/cli/commands/lint.ts +8 -2
- package/src/cli/commands/typecheck.ts +11 -0
- package/src/cli/defineConfig.ts +9 -0
- package/src/cli/index.ts +2 -1
- package/src/cli/providers/AppEntryProvider.ts +131 -0
- package/src/cli/providers/ViteBuildProvider.ts +40 -0
- package/src/cli/providers/ViteDevServerProvider.ts +378 -0
- package/src/cli/services/AlephaCliUtils.ts +39 -93
- package/src/cli/services/PackageManagerUtils.ts +140 -17
- package/src/cli/services/ProjectScaffolder.ts +169 -101
- package/src/cli/services/ViteUtils.ts +82 -0
- package/src/cli/{assets/claudeMd.ts → templates/agentMd.ts} +41 -28
- package/src/cli/{assets → templates}/apiHelloControllerTs.ts +2 -1
- package/src/cli/{assets → templates}/biomeJson.ts +2 -1
- package/src/cli/{assets → templates}/dummySpecTs.ts +2 -1
- package/src/cli/{assets → templates}/editorconfig.ts +2 -1
- package/src/cli/templates/gitignore.ts +39 -0
- package/src/cli/{assets → templates}/mainBrowserTs.ts +2 -1
- package/src/cli/templates/mainCss.ts +33 -0
- package/src/cli/templates/mainServerTs.ts +33 -0
- package/src/cli/{assets → templates}/tsconfigJson.ts +2 -1
- package/src/cli/templates/webAppRouterTs.ts +50 -0
- package/src/cli/templates/webHelloComponentTsx.ts +20 -0
- package/src/command/helpers/Runner.spec.ts +4 -0
- package/src/command/helpers/Runner.ts +3 -21
- package/src/command/index.ts +12 -4
- package/src/command/providers/CliProvider.spec.ts +1067 -0
- package/src/command/providers/CliProvider.ts +203 -40
- package/src/core/Alepha.ts +3 -9
- package/src/core/__tests__/Alepha-start.spec.ts +4 -4
- package/src/core/helpers/jsonSchemaToTypeBox.spec.ts +771 -0
- package/src/core/helpers/jsonSchemaToTypeBox.ts +62 -10
- package/src/core/index.shared.ts +1 -0
- package/src/core/index.ts +20 -0
- package/src/core/primitives/$module.ts +12 -0
- package/src/core/providers/EventManager.spec.ts +0 -71
- package/src/core/providers/EventManager.ts +3 -15
- package/src/core/providers/Json.ts +2 -14
- package/src/core/providers/KeylessJsonSchemaCodec.spec.ts +257 -0
- package/src/core/providers/KeylessJsonSchemaCodec.ts +396 -14
- package/src/core/providers/SchemaValidator.spec.ts +236 -0
- package/src/datetime/index.ts +15 -0
- package/src/email/index.ts +10 -5
- package/src/email/providers/LocalEmailProvider.spec.ts +1 -1
- package/src/email/providers/LocalEmailProvider.ts +1 -1
- package/src/fake/__tests__/keyName.example.ts +1 -1
- package/src/fake/__tests__/keyName.spec.ts +5 -5
- package/src/fake/index.ts +9 -6
- package/src/fake/providers/FakeProvider.spec.ts +258 -40
- package/src/fake/providers/FakeProvider.ts +133 -19
- package/src/lock/core/index.ts +11 -4
- package/src/logger/index.ts +17 -66
- package/src/logger/providers/PrettyFormatterProvider.ts +0 -9
- package/src/mcp/errors/McpError.ts +30 -0
- package/src/mcp/index.ts +13 -27
- package/src/mcp/transports/SseMcpTransport.ts +6 -7
- package/src/orm/__tests__/PostgresProvider.spec.ts +2 -2
- package/src/orm/index.browser.ts +2 -2
- package/src/orm/index.bun.ts +4 -2
- package/src/orm/index.ts +21 -47
- package/src/orm/providers/DrizzleKitProvider.ts +3 -5
- package/src/orm/providers/drivers/BunSqliteProvider.ts +1 -0
- package/src/orm/services/Repository.ts +18 -3
- package/src/queue/core/index.ts +14 -6
- package/src/react/auth/__tests__/$auth.spec.ts +202 -0
- package/src/react/auth/hooks/useAuth.ts +32 -0
- package/src/react/auth/index.browser.ts +13 -0
- package/src/react/auth/index.shared.ts +2 -0
- package/src/react/auth/index.ts +48 -0
- package/src/react/auth/providers/ReactAuthProvider.ts +16 -0
- package/src/react/auth/services/ReactAuth.ts +135 -0
- package/src/react/core/__tests__/Router.spec.tsx +169 -0
- package/src/react/core/components/ClientOnly.tsx +49 -0
- package/src/react/core/components/ErrorBoundary.tsx +73 -0
- package/src/react/core/contexts/AlephaContext.ts +7 -0
- package/src/react/core/contexts/AlephaProvider.tsx +42 -0
- package/src/react/core/hooks/useAction.browser.spec.tsx +569 -0
- package/src/react/core/hooks/useAction.ts +480 -0
- package/src/react/core/hooks/useAlepha.ts +26 -0
- package/src/react/core/hooks/useClient.ts +17 -0
- package/src/react/core/hooks/useEvents.ts +51 -0
- package/src/react/core/hooks/useInject.ts +12 -0
- package/src/react/core/hooks/useStore.ts +52 -0
- package/src/react/core/index.ts +90 -0
- package/src/react/form/components/FormState.tsx +17 -0
- package/src/react/form/errors/FormValidationError.ts +18 -0
- package/src/react/form/hooks/useForm.browser.spec.tsx +366 -0
- package/src/react/form/hooks/useForm.ts +47 -0
- package/src/react/form/hooks/useFormState.ts +130 -0
- package/src/react/form/index.ts +44 -0
- package/src/react/form/services/FormModel.ts +614 -0
- package/src/react/head/helpers/SeoExpander.spec.ts +203 -0
- package/src/react/head/helpers/SeoExpander.ts +142 -0
- package/src/react/head/hooks/useHead.spec.tsx +288 -0
- package/src/react/head/hooks/useHead.ts +62 -0
- package/src/react/head/index.browser.ts +26 -0
- package/src/react/head/index.ts +44 -0
- package/src/react/head/interfaces/Head.ts +105 -0
- package/src/react/head/primitives/$head.ts +25 -0
- package/src/react/head/providers/BrowserHeadProvider.browser.spec.ts +196 -0
- package/src/react/head/providers/BrowserHeadProvider.ts +212 -0
- package/src/react/head/providers/HeadProvider.ts +168 -0
- package/src/react/head/providers/ServerHeadProvider.ts +31 -0
- package/src/react/i18n/__tests__/integration.spec.tsx +239 -0
- package/src/react/i18n/components/Localize.spec.tsx +357 -0
- package/src/react/i18n/components/Localize.tsx +35 -0
- package/src/react/i18n/hooks/useI18n.browser.spec.tsx +438 -0
- package/src/react/i18n/hooks/useI18n.ts +18 -0
- package/src/react/i18n/index.ts +41 -0
- package/src/react/i18n/primitives/$dictionary.ts +69 -0
- package/src/react/i18n/providers/I18nProvider.spec.ts +389 -0
- package/src/react/i18n/providers/I18nProvider.ts +278 -0
- package/src/react/router/__tests__/page-head-browser.browser.spec.ts +95 -0
- package/src/react/router/__tests__/page-head.spec.ts +48 -0
- package/src/react/router/__tests__/seo-head.spec.ts +125 -0
- package/src/react/router/atoms/ssrManifestAtom.ts +58 -0
- package/src/react/router/components/ErrorViewer.tsx +872 -0
- package/src/react/router/components/Link.tsx +23 -0
- package/src/react/router/components/NestedView.tsx +223 -0
- package/src/react/router/components/NotFound.tsx +30 -0
- package/src/react/router/constants/PAGE_PRELOAD_KEY.ts +6 -0
- package/src/react/router/contexts/RouterLayerContext.ts +12 -0
- package/src/react/router/errors/Redirection.ts +28 -0
- package/src/react/router/hooks/useActive.ts +52 -0
- package/src/react/router/hooks/useQueryParams.ts +63 -0
- package/src/react/router/hooks/useRouter.ts +20 -0
- package/src/react/router/hooks/useRouterState.ts +11 -0
- package/src/react/router/index.browser.ts +45 -0
- package/src/react/router/index.shared.ts +19 -0
- package/src/react/router/index.ts +142 -0
- package/src/react/router/primitives/$page.browser.spec.tsx +851 -0
- package/src/react/router/primitives/$page.spec.tsx +708 -0
- package/src/react/router/primitives/$page.ts +497 -0
- package/src/react/router/providers/ReactBrowserProvider.ts +309 -0
- package/src/react/router/providers/ReactBrowserRendererProvider.ts +25 -0
- package/src/react/router/providers/ReactBrowserRouterProvider.ts +168 -0
- package/src/react/router/providers/ReactPageProvider.ts +726 -0
- package/src/react/router/providers/ReactServerProvider.spec.tsx +316 -0
- package/src/react/router/providers/ReactServerProvider.ts +558 -0
- package/src/react/router/providers/ReactServerTemplateProvider.ts +979 -0
- package/src/react/router/providers/SSRManifestProvider.ts +334 -0
- package/src/react/router/services/ReactPageServerService.ts +48 -0
- package/src/react/router/services/ReactPageService.ts +27 -0
- package/src/react/router/services/ReactRouter.ts +262 -0
- package/src/react/websocket/hooks/useRoom.tsx +242 -0
- package/src/react/websocket/index.ts +7 -0
- package/src/redis/__tests__/redis.spec.ts +13 -0
- package/src/redis/index.ts +9 -25
- package/src/redis/providers/BunRedisProvider.ts +9 -0
- package/src/redis/providers/NodeRedisProvider.ts +8 -0
- package/src/redis/providers/RedisProvider.ts +16 -0
- package/src/retry/index.ts +11 -2
- package/src/router/index.ts +15 -0
- package/src/scheduler/index.ts +11 -2
- package/src/security/__tests__/BasicAuth.spec.ts +2 -0
- package/src/security/__tests__/ServerSecurityProvider.spec.ts +13 -5
- package/src/security/index.ts +15 -10
- package/src/security/interfaces/IssuerResolver.ts +27 -0
- package/src/security/primitives/$issuer.ts +55 -0
- package/src/security/providers/SecurityProvider.ts +179 -0
- package/src/security/providers/ServerBasicAuthProvider.ts +6 -2
- package/src/security/providers/ServerSecurityProvider.ts +36 -22
- package/src/server/auth/index.ts +12 -7
- package/src/server/cache/index.ts +7 -22
- package/src/server/compress/index.ts +10 -2
- package/src/server/cookies/index.ts +7 -5
- package/src/server/cookies/primitives/$cookie.ts +33 -11
- package/src/server/core/index.ts +17 -7
- package/src/server/core/interfaces/ServerRequest.ts +83 -1
- package/src/server/core/primitives/$action.spec.ts +1 -1
- package/src/server/core/primitives/$action.ts +8 -3
- package/src/server/core/providers/BunHttpServerProvider.ts +1 -1
- package/src/server/core/providers/NodeHttpServerProvider.spec.ts +125 -0
- package/src/server/core/providers/NodeHttpServerProvider.ts +77 -22
- package/src/server/core/providers/ServerLoggerProvider.ts +2 -2
- package/src/server/core/providers/ServerProvider.ts +9 -12
- package/src/server/core/services/ServerRequestParser.spec.ts +520 -0
- package/src/server/core/services/ServerRequestParser.ts +306 -13
- package/src/server/cors/index.ts +7 -21
- package/src/server/cors/primitives/$cors.ts +6 -2
- package/src/server/health/index.ts +8 -2
- package/src/server/helmet/index.ts +11 -3
- package/src/server/links/atoms/apiLinksAtom.ts +7 -0
- package/src/server/links/index.browser.ts +2 -0
- package/src/server/links/index.ts +13 -6
- package/src/server/metrics/index.ts +10 -3
- package/src/server/multipart/index.ts +9 -3
- package/src/server/proxy/index.ts +8 -2
- package/src/server/rate-limit/index.ts +21 -25
- package/src/server/rate-limit/primitives/$rateLimit.ts +6 -2
- package/src/server/rate-limit/providers/ServerRateLimitProvider.spec.ts +38 -14
- package/src/server/rate-limit/providers/ServerRateLimitProvider.ts +22 -56
- package/src/server/static/index.ts +8 -2
- package/src/server/static/providers/ServerStaticProvider.ts +1 -1
- package/src/server/swagger/index.ts +9 -4
- package/src/server/swagger/providers/ServerSwaggerProvider.ts +1 -1
- package/src/sms/index.ts +9 -5
- package/src/sms/providers/LocalSmsProvider.spec.ts +1 -1
- package/src/sms/providers/LocalSmsProvider.ts +1 -1
- package/src/system/index.browser.ts +11 -0
- package/src/system/index.ts +62 -0
- package/src/{file → system}/providers/FileSystemProvider.ts +16 -0
- package/src/{file → system}/providers/MemoryFileSystemProvider.ts +116 -3
- package/src/system/providers/MemoryShellProvider.ts +164 -0
- package/src/{file → system}/providers/NodeFileSystemProvider.spec.ts +2 -2
- package/src/{file → system}/providers/NodeFileSystemProvider.ts +36 -0
- package/src/system/providers/NodeShellProvider.ts +184 -0
- package/src/system/providers/ShellProvider.ts +74 -0
- package/src/{file → system}/services/FileDetector.spec.ts +2 -2
- package/src/thread/index.ts +11 -2
- package/src/topic/core/index.ts +12 -5
- package/src/vite/index.ts +3 -2
- package/src/vite/tasks/buildClient.ts +2 -8
- package/src/vite/tasks/buildServer.ts +84 -21
- package/src/vite/tasks/copyAssets.ts +5 -4
- package/src/vite/tasks/generateSitemap.ts +64 -23
- package/src/vite/tasks/index.ts +0 -2
- package/src/vite/tasks/prerenderPages.ts +49 -24
- package/src/websocket/index.ts +12 -8
- package/dist/file/index.d.ts +0 -839
- package/dist/file/index.d.ts.map +0 -1
- package/dist/file/index.js.map +0 -1
- package/src/cli/assets/indexHtml.ts +0 -15
- package/src/cli/assets/mainServerTs.ts +0 -24
- package/src/cli/assets/webAppRouterTs.ts +0 -15
- package/src/cli/assets/webHelloComponentTsx.ts +0 -16
- package/src/cli/commands/format.ts +0 -23
- package/src/file/index.ts +0 -43
- package/src/vite/helpers/boot.ts +0 -117
- package/src/vite/plugins/viteAlephaDev.ts +0 -177
- package/src/vite/tasks/devServer.ts +0 -71
- package/src/vite/tasks/runAlepha.ts +0 -270
- /package/dist/orm/{chunk-DtkW-qnP.js → chunk-DH6iiROE.js} +0 -0
- /package/src/cli/{assets → templates}/apiIndexTs.ts +0 -0
- /package/src/cli/{assets → templates}/webIndexTs.ts +0 -0
- /package/src/{file → system}/errors/FileError.ts +0 -0
- /package/src/{file → system}/services/FileDetector.ts +0 -0
package/dist/redis/index.d.ts
CHANGED
|
@@ -24,74 +24,85 @@ import { RedisClientType, createClient } from "@redis/client";
|
|
|
24
24
|
*/
|
|
25
25
|
declare abstract class RedisProvider {
|
|
26
26
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
* Whether the Redis client is ready to accept commands.
|
|
28
|
+
*/
|
|
29
29
|
abstract readonly isReady: boolean;
|
|
30
30
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
* Connect to the Redis server.
|
|
32
|
+
*/
|
|
33
33
|
abstract connect(): Promise<void>;
|
|
34
34
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
* Close the connection to the Redis server.
|
|
36
|
+
*/
|
|
37
37
|
abstract close(): Promise<void>;
|
|
38
38
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
* Get the value of a key.
|
|
40
|
+
*
|
|
41
|
+
* @param key The key to get.
|
|
42
|
+
* @returns The value as a Buffer, or undefined if the key does not exist.
|
|
43
|
+
*/
|
|
44
44
|
abstract get(key: string): Promise<Buffer | undefined>;
|
|
45
45
|
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
46
|
+
* Set the value of a key.
|
|
47
|
+
*
|
|
48
|
+
* @param key The key to set.
|
|
49
|
+
* @param value The value to set (Buffer or string).
|
|
50
|
+
* @param options Optional set options (EX, PX, NX, XX, etc.).
|
|
51
|
+
* @returns The value as a Buffer.
|
|
52
|
+
*/
|
|
53
53
|
abstract set(key: string, value: Buffer | string, options?: RedisSetOptions): Promise<Buffer>;
|
|
54
54
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
* Check if a key exists.
|
|
56
|
+
*
|
|
57
|
+
* @param key The key to check.
|
|
58
|
+
* @returns True if the key exists.
|
|
59
|
+
*/
|
|
60
60
|
abstract has(key: string): Promise<boolean>;
|
|
61
61
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
* Get all keys matching a pattern.
|
|
63
|
+
*
|
|
64
|
+
* @param pattern The glob-style pattern to match.
|
|
65
|
+
* @returns Array of matching key names.
|
|
66
|
+
*/
|
|
67
67
|
abstract keys(pattern: string): Promise<string[]>;
|
|
68
68
|
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
* Delete one or more keys.
|
|
70
|
+
*
|
|
71
|
+
* @param keys The keys to delete.
|
|
72
|
+
*/
|
|
73
73
|
abstract del(keys: string[]): Promise<void>;
|
|
74
74
|
/**
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
75
|
+
* Push a value to the left (head) of a list.
|
|
76
|
+
*
|
|
77
|
+
* @param key The list key.
|
|
78
|
+
* @param value The value to push.
|
|
79
|
+
*/
|
|
80
80
|
abstract lpush(key: string, value: string): Promise<void>;
|
|
81
81
|
/**
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
* Pop a value from the right (tail) of a list.
|
|
83
|
+
*
|
|
84
|
+
* @param key The list key.
|
|
85
|
+
* @returns The value, or undefined if the list is empty.
|
|
86
|
+
*/
|
|
87
87
|
abstract rpop(key: string): Promise<string | undefined>;
|
|
88
88
|
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
* Publish a message to a channel.
|
|
90
|
+
*
|
|
91
|
+
* @param channel The channel name.
|
|
92
|
+
* @param message The message to publish.
|
|
93
|
+
*/
|
|
94
94
|
abstract publish(channel: string, message: string): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Increment the integer value of a key by the given amount.
|
|
97
|
+
*
|
|
98
|
+
* If the key does not exist, it is set to 0 before performing the operation.
|
|
99
|
+
* This operation is atomic.
|
|
100
|
+
*
|
|
101
|
+
* @param key The key to increment.
|
|
102
|
+
* @param amount The amount to increment by.
|
|
103
|
+
* @returns The new value after incrementing.
|
|
104
|
+
*/
|
|
105
|
+
abstract incr(key: string, amount: number): Promise<number>;
|
|
95
106
|
}
|
|
96
107
|
/**
|
|
97
108
|
* Common Redis SET command options.
|
|
@@ -99,47 +110,47 @@ declare abstract class RedisProvider {
|
|
|
99
110
|
*/
|
|
100
111
|
interface RedisSetOptions {
|
|
101
112
|
/**
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
* Set the specified expire time, in seconds.
|
|
114
|
+
*/
|
|
104
115
|
EX?: number;
|
|
105
116
|
/**
|
|
106
|
-
|
|
107
|
-
|
|
117
|
+
* Set the specified expire time, in milliseconds.
|
|
118
|
+
*/
|
|
108
119
|
PX?: number;
|
|
109
120
|
/**
|
|
110
|
-
|
|
111
|
-
|
|
121
|
+
* Set the specified Unix time at which the key will expire, in seconds.
|
|
122
|
+
*/
|
|
112
123
|
EXAT?: number;
|
|
113
124
|
/**
|
|
114
|
-
|
|
115
|
-
|
|
125
|
+
* Set the specified Unix time at which the key will expire, in milliseconds.
|
|
126
|
+
*/
|
|
116
127
|
PXAT?: number;
|
|
117
128
|
/**
|
|
118
|
-
|
|
119
|
-
|
|
129
|
+
* Only set the key if it does not already exist.
|
|
130
|
+
*/
|
|
120
131
|
NX?: boolean;
|
|
121
132
|
/**
|
|
122
|
-
|
|
123
|
-
|
|
133
|
+
* Only set the key if it already exists.
|
|
134
|
+
*/
|
|
124
135
|
XX?: boolean;
|
|
125
136
|
/**
|
|
126
|
-
|
|
127
|
-
|
|
137
|
+
* Retain the time to live associated with the key.
|
|
138
|
+
*/
|
|
128
139
|
KEEPTTL?: boolean;
|
|
129
140
|
/**
|
|
130
|
-
|
|
131
|
-
|
|
141
|
+
* Return the old string stored at key, or nil if key did not exist.
|
|
142
|
+
*/
|
|
132
143
|
GET?: boolean;
|
|
133
144
|
/**
|
|
134
|
-
|
|
135
|
-
|
|
145
|
+
* Alternative expiration format (compatible with @redis/client).
|
|
146
|
+
*/
|
|
136
147
|
expiration?: {
|
|
137
148
|
type: "EX" | "PX" | "EXAT" | "PXAT" | "KEEPTTL";
|
|
138
149
|
value: number;
|
|
139
150
|
};
|
|
140
151
|
/**
|
|
141
|
-
|
|
142
|
-
|
|
152
|
+
* Alternative condition format (compatible with @redis/client).
|
|
153
|
+
*/
|
|
143
154
|
condition?: "NX" | "XX";
|
|
144
155
|
}
|
|
145
156
|
//#endregion
|
|
@@ -180,16 +191,16 @@ declare class BunRedisProvider extends RedisProvider {
|
|
|
180
191
|
protected readonly start: alepha1.HookPrimitive<"start">;
|
|
181
192
|
protected readonly stop: alepha1.HookPrimitive<"stop">;
|
|
182
193
|
/**
|
|
183
|
-
|
|
184
|
-
|
|
194
|
+
* Connect to the Redis server.
|
|
195
|
+
*/
|
|
185
196
|
connect(): Promise<void>;
|
|
186
197
|
/**
|
|
187
|
-
|
|
188
|
-
|
|
198
|
+
* Close the connection to the Redis server.
|
|
199
|
+
*/
|
|
189
200
|
close(): Promise<void>;
|
|
190
201
|
/**
|
|
191
|
-
|
|
192
|
-
|
|
202
|
+
* Create a duplicate connection for pub/sub or other isolated operations.
|
|
203
|
+
*/
|
|
193
204
|
duplicate(): Promise<Bun.RedisClient>;
|
|
194
205
|
get(key: string): Promise<Buffer | undefined>;
|
|
195
206
|
set(key: string, value: Buffer | string, options?: RedisSetOptions): Promise<Buffer>;
|
|
@@ -199,9 +210,10 @@ declare class BunRedisProvider extends RedisProvider {
|
|
|
199
210
|
lpush(key: string, value: string): Promise<void>;
|
|
200
211
|
rpop(key: string): Promise<string | undefined>;
|
|
201
212
|
publish(channel: string, message: string): Promise<void>;
|
|
213
|
+
incr(key: string, amount: number): Promise<number>;
|
|
202
214
|
/**
|
|
203
|
-
|
|
204
|
-
|
|
215
|
+
* Get the Redis connection URL.
|
|
216
|
+
*/
|
|
205
217
|
protected getUrl(): string;
|
|
206
218
|
}
|
|
207
219
|
//#endregion
|
|
@@ -230,30 +242,30 @@ declare class BunRedisProvider extends RedisProvider {
|
|
|
230
242
|
*/
|
|
231
243
|
declare abstract class RedisSubscriberProvider {
|
|
232
244
|
/**
|
|
233
|
-
|
|
234
|
-
|
|
245
|
+
* Whether the Redis subscriber client is ready to accept commands.
|
|
246
|
+
*/
|
|
235
247
|
abstract readonly isReady: boolean;
|
|
236
248
|
/**
|
|
237
|
-
|
|
238
|
-
|
|
249
|
+
* Connect to the Redis server for subscriptions.
|
|
250
|
+
*/
|
|
239
251
|
abstract connect(): Promise<void>;
|
|
240
252
|
/**
|
|
241
|
-
|
|
242
|
-
|
|
253
|
+
* Close the subscriber connection.
|
|
254
|
+
*/
|
|
243
255
|
abstract close(): Promise<void>;
|
|
244
256
|
/**
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
257
|
+
* Subscribe to a channel.
|
|
258
|
+
*
|
|
259
|
+
* @param channel The channel name.
|
|
260
|
+
* @param callback The callback to invoke when a message is received.
|
|
261
|
+
*/
|
|
250
262
|
abstract subscribe(channel: string, callback: SubscribeCallback): Promise<void>;
|
|
251
263
|
/**
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
264
|
+
* Unsubscribe from a channel.
|
|
265
|
+
*
|
|
266
|
+
* @param channel The channel name.
|
|
267
|
+
* @param callback Optional specific callback to remove.
|
|
268
|
+
*/
|
|
257
269
|
abstract unsubscribe(channel: string, callback?: SubscribeCallback): Promise<void>;
|
|
258
270
|
}
|
|
259
271
|
/**
|
|
@@ -286,12 +298,12 @@ declare class BunRedisSubscriberProvider extends RedisSubscriberProvider {
|
|
|
286
298
|
protected readonly start: alepha1.HookPrimitive<"start">;
|
|
287
299
|
protected readonly stop: alepha1.HookPrimitive<"stop">;
|
|
288
300
|
/**
|
|
289
|
-
|
|
290
|
-
|
|
301
|
+
* Connect to the Redis server for subscriptions.
|
|
302
|
+
*/
|
|
291
303
|
connect(): Promise<void>;
|
|
292
304
|
/**
|
|
293
|
-
|
|
294
|
-
|
|
305
|
+
* Close the subscriber connection.
|
|
306
|
+
*/
|
|
295
307
|
close(): Promise<void>;
|
|
296
308
|
subscribe(channel: string, callback: SubscribeCallback): Promise<void>;
|
|
297
309
|
unsubscribe(channel: string, _callback?: SubscribeCallback): Promise<void>;
|
|
@@ -337,12 +349,12 @@ declare class NodeRedisProvider extends RedisProvider {
|
|
|
337
349
|
protected readonly start: alepha1.HookPrimitive<"start">;
|
|
338
350
|
protected readonly stop: alepha1.HookPrimitive<"stop">;
|
|
339
351
|
/**
|
|
340
|
-
|
|
341
|
-
|
|
352
|
+
* Connect to the Redis server.
|
|
353
|
+
*/
|
|
342
354
|
connect(): Promise<void>;
|
|
343
355
|
/**
|
|
344
|
-
|
|
345
|
-
|
|
356
|
+
* Close the connection to the Redis server.
|
|
357
|
+
*/
|
|
346
358
|
close(): Promise<void>;
|
|
347
359
|
duplicate(options?: Partial<NodeRedisClientOptions>): NodeRedisClient;
|
|
348
360
|
get(key: string): Promise<Buffer | undefined>;
|
|
@@ -353,13 +365,14 @@ declare class NodeRedisProvider extends RedisProvider {
|
|
|
353
365
|
lpush(key: string, value: string): Promise<void>;
|
|
354
366
|
rpop(key: string): Promise<string | undefined>;
|
|
355
367
|
publish(channel: string, message: string): Promise<void>;
|
|
368
|
+
incr(key: string, amount: number): Promise<number>;
|
|
356
369
|
/**
|
|
357
|
-
|
|
358
|
-
|
|
370
|
+
* Get the Redis connection URL.
|
|
371
|
+
*/
|
|
359
372
|
protected getUrl(): string;
|
|
360
373
|
/**
|
|
361
|
-
|
|
362
|
-
|
|
374
|
+
* Redis client factory method.
|
|
375
|
+
*/
|
|
363
376
|
protected createClient(): NodeRedisClient;
|
|
364
377
|
}
|
|
365
378
|
//#endregion
|
|
@@ -392,41 +405,25 @@ declare class NodeRedisSubscriberProvider extends RedisSubscriberProvider {
|
|
|
392
405
|
subscribe(channel: string, callback: SubscribeCallback): Promise<void>;
|
|
393
406
|
unsubscribe(channel: string, callback?: SubscribeCallback): Promise<void>;
|
|
394
407
|
/**
|
|
395
|
-
|
|
396
|
-
|
|
408
|
+
* Redis subscriber client factory method.
|
|
409
|
+
*/
|
|
397
410
|
protected createClient(): NodeRedisClient;
|
|
398
411
|
}
|
|
399
412
|
//#endregion
|
|
400
413
|
//#region ../../src/redis/index.d.ts
|
|
401
414
|
/**
|
|
402
|
-
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
405
|
-
* - Bun: Uses `BunRedisProvider` with Bun's native Redis client (7.9x faster than ioredis)
|
|
406
|
-
* - Node.js: Uses `NodeRedisProvider` with `@redis/client`
|
|
415
|
+
* | type | quality | stability |
|
|
416
|
+
* |------|---------|-----------|
|
|
417
|
+
* | backend | standard | stable |
|
|
407
418
|
*
|
|
408
|
-
*
|
|
409
|
-
* ```ts
|
|
410
|
-
* // Inject the abstract provider - runtime selects the implementation
|
|
411
|
-
* const redis = alepha.inject(RedisProvider);
|
|
419
|
+
* Redis client wrapper.
|
|
412
420
|
*
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
416
|
-
*
|
|
417
|
-
*
|
|
418
|
-
* const subscriber = alepha.inject(RedisSubscriberProvider);
|
|
419
|
-
* await subscriber.subscribe("channel", (message, channel) => {
|
|
420
|
-
* console.log(`Received: ${message} on ${channel}`);
|
|
421
|
-
* });
|
|
422
|
-
* ```
|
|
421
|
+
* **Features:**
|
|
422
|
+
* - Connection pooling
|
|
423
|
+
* - Automatic reconnection
|
|
424
|
+
* - Command pipelining
|
|
425
|
+
* - Pub/sub support
|
|
423
426
|
*
|
|
424
|
-
* @see {@link RedisProvider} - Abstract base class
|
|
425
|
-
* @see {@link NodeRedisProvider} - Node.js implementation
|
|
426
|
-
* @see {@link BunRedisProvider} - Bun implementation
|
|
427
|
-
* @see {@link RedisSubscriberProvider} - Abstract subscriber base class
|
|
428
|
-
* @see {@link NodeRedisSubscriberProvider} - Node.js subscriber implementation
|
|
429
|
-
* @see {@link BunRedisSubscriberProvider} - Bun subscriber implementation
|
|
430
427
|
* @module alepha.redis
|
|
431
428
|
*/
|
|
432
429
|
declare const AlephaRedis: alepha1.Service<alepha1.Module>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/redis/providers/RedisProvider.ts","../../src/redis/providers/BunRedisProvider.ts","../../src/redis/providers/RedisSubscriberProvider.ts","../../src/redis/providers/BunRedisSubscriberProvider.ts","../../src/redis/providers/NodeRedisProvider.ts","../../src/redis/providers/NodeRedisSubscriberProvider.ts","../../src/redis/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/redis/providers/RedisProvider.ts","../../src/redis/providers/BunRedisProvider.ts","../../src/redis/providers/RedisSubscriberProvider.ts","../../src/redis/providers/BunRedisSubscriberProvider.ts","../../src/redis/providers/NodeRedisProvider.ts","../../src/redis/providers/NodeRedisSubscriberProvider.ts","../../src/redis/index.ts"],"mappings":"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"}
|
package/dist/redis/index.js
CHANGED
|
@@ -161,6 +161,10 @@ var BunRedisProvider = class extends RedisProvider {
|
|
|
161
161
|
async publish(channel, message) {
|
|
162
162
|
await this.publisher.publish(channel, message);
|
|
163
163
|
}
|
|
164
|
+
async incr(key, amount) {
|
|
165
|
+
const result = await this.publisher.send("INCRBY", [key, String(amount)]);
|
|
166
|
+
return Number(result);
|
|
167
|
+
}
|
|
164
168
|
/**
|
|
165
169
|
* Get the Redis connection URL.
|
|
166
170
|
*/
|
|
@@ -371,6 +375,9 @@ var NodeRedisProvider = class extends RedisProvider {
|
|
|
371
375
|
async publish(channel, message) {
|
|
372
376
|
await this.publisher.publish(channel, message);
|
|
373
377
|
}
|
|
378
|
+
async incr(key, amount) {
|
|
379
|
+
return this.publisher.INCRBY(key, amount);
|
|
380
|
+
}
|
|
374
381
|
/**
|
|
375
382
|
* Get the Redis connection URL.
|
|
376
383
|
*/
|
|
@@ -459,34 +466,18 @@ var NodeRedisSubscriberProvider = class extends RedisSubscriberProvider {
|
|
|
459
466
|
//#endregion
|
|
460
467
|
//#region ../../src/redis/index.ts
|
|
461
468
|
/**
|
|
462
|
-
*
|
|
463
|
-
*
|
|
464
|
-
*
|
|
465
|
-
* - Bun: Uses `BunRedisProvider` with Bun's native Redis client (7.9x faster than ioredis)
|
|
466
|
-
* - Node.js: Uses `NodeRedisProvider` with `@redis/client`
|
|
467
|
-
*
|
|
468
|
-
* @example
|
|
469
|
-
* ```ts
|
|
470
|
-
* // Inject the abstract provider - runtime selects the implementation
|
|
471
|
-
* const redis = alepha.inject(RedisProvider);
|
|
469
|
+
* | type | quality | stability |
|
|
470
|
+
* |------|---------|-----------|
|
|
471
|
+
* | backend | standard | stable |
|
|
472
472
|
*
|
|
473
|
-
*
|
|
474
|
-
* await redis.set("key", "value");
|
|
475
|
-
* const value = await redis.get("key");
|
|
473
|
+
* Redis client wrapper.
|
|
476
474
|
*
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
*
|
|
480
|
-
*
|
|
481
|
-
*
|
|
482
|
-
* ```
|
|
475
|
+
* **Features:**
|
|
476
|
+
* - Connection pooling
|
|
477
|
+
* - Automatic reconnection
|
|
478
|
+
* - Command pipelining
|
|
479
|
+
* - Pub/sub support
|
|
483
480
|
*
|
|
484
|
-
* @see {@link RedisProvider} - Abstract base class
|
|
485
|
-
* @see {@link NodeRedisProvider} - Node.js implementation
|
|
486
|
-
* @see {@link BunRedisProvider} - Bun implementation
|
|
487
|
-
* @see {@link RedisSubscriberProvider} - Abstract subscriber base class
|
|
488
|
-
* @see {@link NodeRedisSubscriberProvider} - Node.js subscriber implementation
|
|
489
|
-
* @see {@link BunRedisSubscriberProvider} - Bun subscriber implementation
|
|
490
481
|
* @module alepha.redis
|
|
491
482
|
*/
|
|
492
483
|
const AlephaRedis = $module({
|