@zintrust/core 0.1.1 → 0.1.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 +3 -3
- package/bin/zintrust.d.ts.map +1 -1
- package/bin/zintrust.js +18 -1
- package/package.json +1 -1
- package/src/boot/Application.d.ts.map +1 -1
- package/src/boot/Application.js +46 -3
- package/src/boot/Server.d.ts.map +1 -1
- package/src/boot/Server.js +3 -4
- package/src/boot/bootstrap.js +77 -6
- package/src/builder/BundleOptimizer.d.ts.map +1 -1
- package/src/builder/BundleOptimizer.js +6 -4
- package/src/cache/drivers/KVDriver.d.ts.map +1 -1
- package/src/cache/drivers/KVDriver.js +6 -6
- package/src/cache/drivers/RedisDriver.js +1 -1
- package/src/cli/BaseCommand.d.ts +2 -2
- package/src/cli/BaseCommand.d.ts.map +1 -1
- package/src/cli/BaseCommand.js +2 -1
- package/src/cli/CLI.d.ts.map +1 -1
- package/src/cli/CLI.js +11 -4
- package/src/cli/commands/AddCommand.js +1 -1
- package/src/cli/commands/ConfigCommand.d.ts.map +1 -1
- package/src/cli/commands/ConfigCommand.js +34 -4
- package/src/cli/commands/D1MigrateCommand.d.ts +4 -0
- package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -1
- package/src/cli/commands/D1MigrateCommand.js +4 -3
- package/src/cli/commands/FixCommand.d.ts.map +1 -1
- package/src/cli/commands/FixCommand.js +3 -16
- package/src/cli/commands/LogsCleanupCommand.d.ts +6 -0
- package/src/cli/commands/LogsCleanupCommand.d.ts.map +1 -0
- package/src/cli/commands/LogsCleanupCommand.js +20 -0
- package/src/cli/commands/LogsCommand.d.ts.map +1 -1
- package/src/cli/commands/LogsCommand.js +1 -1
- package/src/cli/commands/MakeMailTemplateCommand.d.ts +10 -0
- package/src/cli/commands/MakeMailTemplateCommand.d.ts.map +1 -0
- package/src/cli/commands/MakeMailTemplateCommand.js +74 -0
- package/src/cli/commands/MakeNotificationTemplateCommand.d.ts +10 -0
- package/src/cli/commands/MakeNotificationTemplateCommand.d.ts.map +1 -0
- package/src/cli/commands/MakeNotificationTemplateCommand.js +113 -0
- package/src/cli/commands/NewCommand.d.ts +4 -0
- package/src/cli/commands/NewCommand.d.ts.map +1 -1
- package/src/cli/commands/NewCommand.js +33 -20
- package/src/cli/commands/PluginCommand.d.ts.map +1 -1
- package/src/cli/commands/PluginCommand.js +8 -4
- package/src/cli/commands/PrepareCommand.d.ts.map +1 -1
- package/src/cli/commands/PrepareCommand.js +1 -1
- package/src/cli/commands/QACommand.d.ts.map +1 -1
- package/src/cli/commands/QACommand.js +11 -20
- package/src/cli/commands/SecretsCommand.d.ts +16 -0
- package/src/cli/commands/SecretsCommand.d.ts.map +1 -0
- package/src/cli/commands/SecretsCommand.js +91 -0
- package/src/cli/commands/StartCommand.d.ts.map +1 -1
- package/src/cli/commands/StartCommand.js +2 -2
- package/src/cli/commands/TemplatesCommand.d.ts +3 -0
- package/src/cli/commands/TemplatesCommand.d.ts.map +1 -0
- package/src/cli/commands/TemplatesCommand.js +65 -0
- package/src/cli/commands/index.d.ts +5 -0
- package/src/cli/commands/index.d.ts.map +1 -1
- package/src/cli/commands/index.js +5 -0
- package/src/cli/config/ConfigManager.js +1 -1
- package/src/cli/index.d.ts +2 -1
- package/src/cli/index.d.ts.map +1 -1
- package/src/cli/index.js +2 -1
- package/src/cli/scaffolding/ControllerGenerator.js +1 -1
- package/src/cli/scaffolding/FeatureScaffolder.js +4 -4
- package/src/cli/scaffolding/FileGenerator.js +1 -1
- package/src/cli/scaffolding/ModelGenerator.js +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -1
- package/src/cli/scaffolding/ProjectScaffolder.js +61 -11
- package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts.map +1 -1
- package/src/cli/scaffolding/ResponseFactoryGenerator.js +3 -2
- package/src/cli/scaffolding/RouteGenerator.js +1 -1
- package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +1 -1
- package/src/cli/scaffolding/ServiceScaffolder.js +2 -2
- package/src/cli/scaffolding/TemplateGenerator.d.ts +40 -0
- package/src/cli/scaffolding/TemplateGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/TemplateGenerator.js +172 -0
- package/src/cli/scaffolding/index.d.ts +1 -0
- package/src/cli/scaffolding/index.d.ts.map +1 -1
- package/src/cli/scaffolding/index.js +1 -0
- package/src/cli/utils/spawn.js +1 -1
- package/src/common/AwsSigV4.d.ts +41 -0
- package/src/common/AwsSigV4.d.ts.map +1 -0
- package/src/common/AwsSigV4.js +69 -0
- package/src/common/index.d.ts +39 -0
- package/src/common/index.d.ts.map +1 -1
- package/src/common/index.js +101 -8
- package/src/common/uuid.d.ts +3 -0
- package/src/common/uuid.d.ts.map +1 -0
- package/src/common/uuid.js +30 -0
- package/src/config/FileLogWriter.d.ts +22 -0
- package/src/config/FileLogWriter.d.ts.map +1 -0
- package/src/config/FileLogWriter.js +192 -0
- package/src/config/SecretsManager.d.ts.map +1 -1
- package/src/config/SecretsManager.js +37 -11
- package/src/config/StartupConfigValidator.d.ts +15 -0
- package/src/config/StartupConfigValidator.d.ts.map +1 -0
- package/src/config/StartupConfigValidator.js +86 -0
- package/src/config/app.d.ts +2 -1
- package/src/config/app.d.ts.map +1 -1
- package/src/config/app.js +65 -15
- package/src/config/broadcast.d.ts +47 -0
- package/src/config/broadcast.d.ts.map +1 -0
- package/src/config/broadcast.js +54 -0
- package/src/config/cache.d.ts +13 -17
- package/src/config/cache.d.ts.map +1 -1
- package/src/config/cache.js +9 -11
- package/src/config/cloudflare.d.ts +26 -0
- package/src/config/cloudflare.d.ts.map +1 -0
- package/src/config/cloudflare.js +38 -0
- package/src/config/env.d.ts +6 -0
- package/src/config/env.d.ts.map +1 -1
- package/src/config/env.js +6 -0
- package/src/config/index.d.ts +52 -28
- package/src/config/index.d.ts.map +1 -1
- package/src/config/index.js +3 -0
- package/src/config/logger.d.ts +2 -0
- package/src/config/logger.d.ts.map +1 -1
- package/src/config/logger.js +270 -11
- package/src/config/logging/HttpLogger.d.ts +23 -0
- package/src/config/logging/HttpLogger.d.ts.map +1 -0
- package/src/config/logging/HttpLogger.js +93 -0
- package/src/config/logging/KvLogger.d.ts +22 -0
- package/src/config/logging/KvLogger.d.ts.map +1 -0
- package/src/config/logging/KvLogger.js +143 -0
- package/src/config/logging/SlackLogger.d.ts +23 -0
- package/src/config/logging/SlackLogger.d.ts.map +1 -0
- package/src/config/logging/SlackLogger.js +119 -0
- package/src/config/mail.d.ts +81 -0
- package/src/config/mail.d.ts.map +1 -0
- package/src/config/mail.js +73 -0
- package/src/config/middleware.d.ts +8 -0
- package/src/config/middleware.d.ts.map +1 -0
- package/src/config/middleware.js +18 -0
- package/src/config/notification.d.ts +62 -0
- package/src/config/notification.d.ts.map +1 -0
- package/src/config/notification.js +43 -0
- package/src/config/security.d.ts.map +1 -1
- package/src/config/security.js +2 -2
- package/src/config/startup.d.ts +23 -0
- package/src/config/startup.d.ts.map +1 -0
- package/src/config/startup.js +15 -0
- package/src/config/storage.d.ts +21 -35
- package/src/config/storage.d.ts.map +1 -1
- package/src/config/storage.js +57 -37
- package/src/database/migrations/index.d.ts +1 -1
- package/src/database/migrations/index.d.ts.map +1 -1
- package/src/database/migrations/index.js +2 -1
- package/src/features/Queue.js +1 -25
- package/src/health/RuntimeHealthProbes.d.ts +13 -0
- package/src/health/RuntimeHealthProbes.d.ts.map +1 -0
- package/src/health/RuntimeHealthProbes.js +62 -0
- package/src/health/StartupHealthChecks.d.ts +26 -0
- package/src/health/StartupHealthChecks.d.ts.map +1 -0
- package/src/health/StartupHealthChecks.js +124 -0
- package/src/http/ErrorResponse.d.ts +28 -0
- package/src/http/ErrorResponse.d.ts.map +1 -0
- package/src/http/ErrorResponse.js +42 -0
- package/src/http/Kernel.d.ts +5 -0
- package/src/http/Kernel.d.ts.map +1 -1
- package/src/http/Kernel.js +96 -30
- package/src/http/RequestContext.d.ts +20 -0
- package/src/http/RequestContext.d.ts.map +1 -0
- package/src/http/RequestContext.js +77 -0
- package/src/index.d.ts +9 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +8 -2
- package/src/microservices/MicroserviceManager.d.ts.map +1 -1
- package/src/microservices/MicroserviceManager.js +9 -6
- package/src/microservices/PostgresAdapter.d.ts.map +1 -1
- package/src/microservices/PostgresAdapter.js +3 -1
- package/src/microservices/ServiceBundler.d.ts.map +1 -1
- package/src/microservices/ServiceBundler.js +6 -4
- package/src/microservices/ServiceHealthMonitor.js +2 -2
- package/src/middleware/CsrfMiddleware.d.ts.map +1 -1
- package/src/middleware/CsrfMiddleware.js +2 -19
- package/src/middleware/ErrorHandlerMiddleware.d.ts +6 -0
- package/src/middleware/ErrorHandlerMiddleware.d.ts.map +1 -0
- package/src/middleware/ErrorHandlerMiddleware.js +33 -0
- package/src/middleware/LoggingMiddleware.d.ts +9 -0
- package/src/middleware/LoggingMiddleware.d.ts.map +1 -0
- package/src/middleware/LoggingMiddleware.js +36 -0
- package/src/middleware/index.d.ts +2 -0
- package/src/middleware/index.d.ts.map +1 -1
- package/src/middleware/index.js +2 -0
- package/src/node-singletons/async_hooks.d.ts +9 -0
- package/src/node-singletons/async_hooks.d.ts.map +1 -0
- package/src/node-singletons/async_hooks.js +8 -0
- package/src/node-singletons/fs.d.ts +2 -2
- package/src/node-singletons/fs.d.ts.map +1 -1
- package/src/node-singletons/fs.js +2 -2
- package/src/node-singletons/http.d.ts +1 -1
- package/src/node-singletons/http.d.ts.map +1 -1
- package/src/node-singletons/http.js +1 -1
- package/src/node-singletons/index.d.ts +4 -0
- package/src/node-singletons/index.d.ts.map +1 -1
- package/src/node-singletons/index.js +4 -0
- package/src/node-singletons/net.d.ts +9 -0
- package/src/node-singletons/net.d.ts.map +1 -0
- package/src/node-singletons/net.js +8 -0
- package/src/node-singletons/os.d.ts +3 -3
- package/src/node-singletons/os.d.ts.map +1 -1
- package/src/node-singletons/os.js +3 -4
- package/src/node-singletons/path.d.ts +3 -1
- package/src/node-singletons/path.d.ts.map +1 -1
- package/src/node-singletons/path.js +3 -1
- package/src/node-singletons/perf-hooks.d.ts +3 -1
- package/src/node-singletons/perf-hooks.d.ts.map +1 -1
- package/src/node-singletons/perf-hooks.js +3 -1
- package/src/node-singletons/process.d.ts +23 -0
- package/src/node-singletons/process.d.ts.map +1 -0
- package/src/node-singletons/process.js +8 -0
- package/src/node-singletons/readline.d.ts +3 -3
- package/src/node-singletons/readline.d.ts.map +1 -1
- package/src/node-singletons/readline.js +3 -4
- package/src/node-singletons/tls.d.ts +9 -0
- package/src/node-singletons/tls.d.ts.map +1 -0
- package/src/node-singletons/tls.js +8 -0
- package/src/node-singletons/url.d.ts +3 -1
- package/src/node-singletons/url.d.ts.map +1 -1
- package/src/node-singletons/url.js +3 -1
- package/src/orm/ConnectionManager.d.ts +6 -1
- package/src/orm/ConnectionManager.d.ts.map +1 -1
- package/src/orm/ConnectionManager.js +14 -0
- package/src/orm/DatabaseAdapter.d.ts +6 -0
- package/src/orm/DatabaseAdapter.d.ts.map +1 -1
- package/src/orm/QueryBuilder.d.ts +8 -1
- package/src/orm/QueryBuilder.d.ts.map +1 -1
- package/src/orm/QueryBuilder.js +188 -28
- package/src/orm/adapters/D1Adapter.d.ts.map +1 -1
- package/src/orm/adapters/D1Adapter.js +18 -12
- package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -1
- package/src/orm/adapters/MySQLAdapter.js +4 -0
- package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -1
- package/src/orm/adapters/PostgreSQLAdapter.js +4 -0
- package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SQLServerAdapter.js +4 -0
- package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -1
- package/src/orm/adapters/SQLiteAdapter.js +4 -0
- package/src/performance/CodeGenerationBenchmark.js +3 -3
- package/src/performance/Optimizer.d.ts +1 -1
- package/src/performance/Optimizer.d.ts.map +1 -1
- package/src/performance/Optimizer.js +150 -75
- package/src/performance/establish-baseline.js +3 -3
- package/src/runtime/PluginManager.d.ts +3 -1
- package/src/runtime/PluginManager.d.ts.map +1 -1
- package/src/runtime/PluginManager.js +124 -28
- package/src/runtime/RuntimeDetector.d.ts.map +1 -1
- package/src/runtime/RuntimeDetector.js +47 -6
- package/src/runtime/adapters/CloudflareAdapter.js +2 -2
- package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/FargateAdapter.js +2 -1
- package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/LambdaAdapter.js +4 -2
- package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -1
- package/src/runtime/adapters/NodeServerAdapter.js +2 -1
- package/src/scheduler/ScheduleRunner.d.ts +18 -0
- package/src/scheduler/ScheduleRunner.d.ts.map +1 -0
- package/src/scheduler/ScheduleRunner.js +155 -0
- package/src/scheduler/index.d.ts +3 -0
- package/src/scheduler/index.d.ts.map +1 -0
- package/src/scheduler/index.js +1 -0
- package/src/scheduler/types.d.ts +16 -0
- package/src/scheduler/types.d.ts.map +1 -0
- package/src/scheduler/types.js +4 -0
- package/src/schedules/index.d.ts +2 -0
- package/src/schedules/index.d.ts.map +1 -0
- package/src/schedules/index.js +1 -0
- package/src/schedules/log-cleanup.d.ts +4 -0
- package/src/schedules/log-cleanup.d.ts.map +1 -0
- package/src/schedules/log-cleanup.js +18 -0
- package/src/scripts/GenerateEnvArtifacts.d.ts +13 -0
- package/src/scripts/GenerateEnvArtifacts.d.ts.map +1 -0
- package/src/scripts/GenerateEnvArtifacts.js +171 -0
- package/src/scripts/TemplateSync.js +109 -70
- package/src/security/CsrfTokenManager.js +1 -1
- package/src/security/Encryptor.js +1 -1
- package/src/security/Hash.d.ts +14 -0
- package/src/security/Hash.d.ts.map +1 -0
- package/src/security/Hash.js +81 -0
- package/src/security/StartupSecretValidation.d.ts +20 -0
- package/src/security/StartupSecretValidation.d.ts.map +1 -0
- package/src/security/StartupSecretValidation.js +61 -0
- package/src/security/UrlValidator.d.ts +0 -1
- package/src/security/UrlValidator.d.ts.map +1 -1
- package/src/security/UrlValidator.js +1 -2
- package/src/security/Xss.d.ts +14 -0
- package/src/security/Xss.d.ts.map +1 -0
- package/src/security/Xss.js +57 -0
- package/src/security/XssProtection.d.ts.map +1 -1
- package/src/security/XssProtection.js +150 -16
- package/src/templates/adapters/MySQLAdapter.ts.tpl +5 -0
- package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +5 -0
- package/src/templates/adapters/SQLServerAdapter.ts.tpl +5 -0
- package/src/templates/adapters/SQLiteAdapter.ts.tpl +5 -0
- package/src/templates/features/Queue.ts.tpl +1 -29
- package/src/templates/project/basic/.env.example.tpl +48 -0
- package/src/templates/project/basic/.env.tpl +89 -94
- package/src/templates/project/basic/app/Toolkit/Broadcast/sendBroadcast.ts.tpl +7 -0
- package/src/templates/project/basic/app/Toolkit/Mail/sendWelcomeEmail.ts.tpl +30 -0
- package/src/templates/project/basic/app/Toolkit/Notification/sendSlackNotification.ts.tpl +10 -0
- package/src/templates/project/basic/app/Toolkit/Notification/sendSms.ts.tpl +13 -0
- package/src/templates/project/basic/config/FileLogWriter.ts.tpl +240 -0
- package/src/templates/project/basic/config/SecretsManager.ts.tpl +44 -21
- package/src/templates/project/basic/config/StartupConfigValidator.ts.tpl +151 -0
- package/src/templates/project/basic/config/app.ts.tpl +84 -15
- package/src/templates/project/basic/config/broadcast.ts.tpl +97 -0
- package/src/templates/project/basic/config/cache.ts.tpl +19 -23
- package/src/templates/project/basic/config/cloudflare.ts.tpl +57 -0
- package/src/templates/project/basic/config/env.ts.tpl +7 -1
- package/src/templates/project/basic/config/index.ts.tpl +3 -0
- package/src/templates/project/basic/config/logger.ts.tpl +301 -11
- package/src/templates/project/basic/config/logging/HttpLogger.ts.tpl +121 -0
- package/src/templates/project/basic/config/logging/KvLogger.ts.tpl +181 -0
- package/src/templates/project/basic/config/logging/SlackLogger.ts.tpl +156 -0
- package/src/templates/project/basic/config/mail.ts.tpl +141 -0
- package/src/templates/project/basic/config/middleware.ts.tpl +27 -0
- package/src/templates/project/basic/config/notification.ts.tpl +86 -0
- package/src/templates/project/basic/config/security.ts.tpl +4 -5
- package/src/templates/project/basic/config/startup.ts.tpl +27 -0
- package/src/templates/project/basic/config/storage.ts.tpl +77 -42
- package/src/templates/project/basic/database/migrations/index.ts.tpl +1 -1
- package/src/templates/project/basic/package.json.tpl +1 -1
- package/src/templates/project/basic/routes/api.ts.tpl +9 -37
- package/src/templates/project/basic/routes/broadcast.ts.tpl +32 -0
- package/src/templates/project/basic/routes/health.ts.tpl +134 -0
- package/src/templates/project/basic/src/index.ts.tpl +38 -11
- package/src/templates/project/basic/template.json +3 -0
- package/src/toolkit/Secrets/EnvFile.d.ts +15 -0
- package/src/toolkit/Secrets/EnvFile.d.ts.map +1 -0
- package/src/toolkit/Secrets/EnvFile.js +63 -0
- package/src/toolkit/Secrets/Manifest.d.ts +24 -0
- package/src/toolkit/Secrets/Manifest.d.ts.map +1 -0
- package/src/toolkit/Secrets/Manifest.js +71 -0
- package/src/toolkit/Secrets/index.d.ts +42 -0
- package/src/toolkit/Secrets/index.d.ts.map +1 -0
- package/src/toolkit/Secrets/index.js +119 -0
- package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts +14 -0
- package/src/toolkit/Secrets/providers/AwsSecretsManager.d.ts.map +1 -0
- package/src/toolkit/Secrets/providers/AwsSecretsManager.js +131 -0
- package/src/toolkit/Secrets/providers/CloudflareKv.d.ts +9 -0
- package/src/toolkit/Secrets/providers/CloudflareKv.d.ts.map +1 -0
- package/src/toolkit/Secrets/providers/CloudflareKv.js +73 -0
- package/src/tools/broadcast/Broadcast.d.ts +7 -0
- package/src/tools/broadcast/Broadcast.d.ts.map +1 -0
- package/src/tools/broadcast/Broadcast.js +37 -0
- package/src/tools/broadcast/drivers/BaseDriver.d.ts +5 -0
- package/src/tools/broadcast/drivers/BaseDriver.d.ts.map +1 -0
- package/src/tools/broadcast/drivers/BaseDriver.js +8 -0
- package/src/tools/broadcast/drivers/InMemory.d.ts +18 -0
- package/src/tools/broadcast/drivers/InMemory.d.ts.map +1 -0
- package/src/tools/broadcast/drivers/InMemory.js +16 -0
- package/src/tools/broadcast/drivers/Pusher.d.ts +8 -0
- package/src/tools/broadcast/drivers/Pusher.d.ts.map +1 -0
- package/src/tools/broadcast/drivers/Pusher.js +75 -0
- package/src/tools/broadcast/drivers/Redis.d.ts +19 -0
- package/src/tools/broadcast/drivers/Redis.d.ts.map +1 -0
- package/src/tools/broadcast/drivers/Redis.js +73 -0
- package/src/tools/broadcast/drivers/RedisHttps.d.ts +14 -0
- package/src/tools/broadcast/drivers/RedisHttps.d.ts.map +1 -0
- package/src/tools/broadcast/drivers/RedisHttps.js +50 -0
- package/src/tools/broadcast/index.d.ts +7 -0
- package/src/tools/broadcast/index.d.ts.map +1 -0
- package/src/tools/broadcast/index.js +6 -0
- package/src/tools/http/Http.d.ts +51 -0
- package/src/tools/http/Http.d.ts.map +1 -0
- package/src/tools/http/Http.js +171 -0
- package/src/tools/http/HttpResponse.d.ts +32 -0
- package/src/tools/http/HttpResponse.d.ts.map +1 -0
- package/src/tools/http/HttpResponse.js +80 -0
- package/src/tools/http/index.d.ts +15 -0
- package/src/tools/http/index.d.ts.map +1 -0
- package/src/tools/http/index.js +9 -0
- package/src/tools/mail/Mail.d.ts +22 -0
- package/src/tools/mail/Mail.d.ts.map +1 -0
- package/src/tools/mail/Mail.js +105 -0
- package/src/tools/mail/attachments.d.ts +23 -0
- package/src/tools/mail/attachments.d.ts.map +1 -0
- package/src/tools/mail/attachments.js +26 -0
- package/src/tools/mail/drivers/BaseDriver.d.ts +5 -0
- package/src/tools/mail/drivers/BaseDriver.d.ts.map +1 -0
- package/src/tools/mail/drivers/BaseDriver.js +8 -0
- package/src/tools/mail/drivers/Mailgun.d.ts +31 -0
- package/src/tools/mail/drivers/Mailgun.d.ts.map +1 -0
- package/src/tools/mail/drivers/Mailgun.js +81 -0
- package/src/tools/mail/drivers/SendGrid.d.ts +29 -0
- package/src/tools/mail/drivers/SendGrid.d.ts.map +1 -0
- package/src/tools/mail/drivers/SendGrid.js +57 -0
- package/src/tools/mail/drivers/Ses.d.ts +24 -0
- package/src/tools/mail/drivers/Ses.d.ts.map +1 -0
- package/src/tools/mail/drivers/Ses.js +116 -0
- package/src/tools/mail/drivers/Smtp.d.ts +38 -0
- package/src/tools/mail/drivers/Smtp.d.ts.map +1 -0
- package/src/tools/mail/drivers/Smtp.js +327 -0
- package/src/tools/mail/templates/index.d.ts +27 -0
- package/src/tools/mail/templates/index.d.ts.map +1 -0
- package/src/tools/mail/templates/index.js +35 -0
- package/src/tools/mail/templates/markdown/index.d.ts +17 -0
- package/src/tools/mail/templates/markdown/index.d.ts.map +1 -0
- package/src/tools/mail/templates/markdown/index.js +49 -0
- package/src/tools/mail/templates/markdown/registry.d.ts +15 -0
- package/src/tools/mail/templates/markdown/registry.d.ts.map +1 -0
- package/src/tools/mail/templates/markdown/registry.js +34 -0
- package/src/tools/mail/templates/markdown/validator.d.ts +16 -0
- package/src/tools/mail/templates/markdown/validator.d.ts.map +1 -0
- package/src/tools/mail/templates/markdown/validator.js +24 -0
- package/src/tools/mail/testing.d.ts +41 -0
- package/src/tools/mail/testing.d.ts.map +1 -0
- package/src/tools/mail/testing.js +34 -0
- package/src/tools/notification/Driver.d.ts +11 -0
- package/src/tools/notification/Driver.d.ts.map +1 -0
- package/src/tools/notification/Driver.js +1 -0
- package/src/tools/notification/Notification.d.ts +11 -0
- package/src/tools/notification/Notification.d.ts.map +1 -0
- package/src/tools/notification/Notification.js +11 -0
- package/src/tools/notification/Registry.d.ts +10 -0
- package/src/tools/notification/Registry.d.ts.map +1 -0
- package/src/tools/notification/Registry.js +22 -0
- package/src/tools/notification/Service.d.ts +6 -0
- package/src/tools/notification/Service.d.ts.map +1 -0
- package/src/tools/notification/Service.js +18 -0
- package/src/tools/notification/config.d.ts +5 -0
- package/src/tools/notification/config.d.ts.map +1 -0
- package/src/tools/notification/config.js +5 -0
- package/src/tools/notification/drivers/BaseDriver.d.ts +5 -0
- package/src/tools/notification/drivers/BaseDriver.d.ts.map +1 -0
- package/src/tools/notification/drivers/BaseDriver.js +8 -0
- package/src/tools/notification/drivers/Console.d.ts +7 -0
- package/src/tools/notification/drivers/Console.d.ts.map +1 -0
- package/src/tools/notification/drivers/Console.js +13 -0
- package/src/tools/notification/drivers/Slack.d.ts +16 -0
- package/src/tools/notification/drivers/Slack.d.ts.map +1 -0
- package/src/tools/notification/drivers/Slack.js +24 -0
- package/src/tools/notification/drivers/Termii.d.ts +10 -0
- package/src/tools/notification/drivers/Termii.d.ts.map +1 -0
- package/src/tools/notification/drivers/Termii.js +47 -0
- package/src/tools/notification/drivers/Twilio.d.ts +21 -0
- package/src/tools/notification/drivers/Twilio.d.ts.map +1 -0
- package/src/tools/notification/drivers/Twilio.js +48 -0
- package/src/tools/notification/templates/markdown/index.d.ts +15 -0
- package/src/tools/notification/templates/markdown/index.d.ts.map +1 -0
- package/src/tools/notification/templates/markdown/index.js +38 -0
- package/src/tools/notification/templates/markdown/registry.d.ts +15 -0
- package/src/tools/notification/templates/markdown/registry.d.ts.map +1 -0
- package/src/tools/notification/templates/markdown/registry.js +36 -0
- package/src/tools/notification/testing.d.ts +19 -0
- package/src/tools/notification/testing.d.ts.map +1 -0
- package/src/tools/notification/testing.js +35 -0
- package/src/tools/notification/testingHelpers.d.ts +12 -0
- package/src/tools/notification/testingHelpers.d.ts.map +1 -0
- package/src/tools/notification/testingHelpers.js +32 -0
- package/src/tools/queue/Queue.d.ts +23 -0
- package/src/tools/queue/Queue.d.ts.map +1 -0
- package/src/tools/queue/Queue.js +38 -0
- package/src/tools/queue/drivers/InMemory.d.ts +10 -0
- package/src/tools/queue/drivers/InMemory.d.ts.map +1 -0
- package/src/tools/queue/drivers/InMemory.js +55 -0
- package/src/tools/queue/drivers/Redis.d.ts +10 -0
- package/src/tools/queue/drivers/Redis.d.ts.map +1 -0
- package/src/tools/queue/drivers/Redis.js +91 -0
- package/src/tools/storage/drivers/Gcs.d.ts +20 -0
- package/src/tools/storage/drivers/Gcs.d.ts.map +1 -0
- package/src/tools/storage/drivers/Gcs.js +152 -0
- package/src/tools/storage/drivers/Local.d.ts +17 -0
- package/src/tools/storage/drivers/Local.d.ts.map +1 -0
- package/src/tools/storage/drivers/Local.js +63 -0
- package/src/tools/storage/drivers/R2.d.ts +20 -0
- package/src/tools/storage/drivers/R2.d.ts.map +1 -0
- package/src/tools/storage/drivers/R2.js +73 -0
- package/src/tools/storage/drivers/S3.d.ts +26 -0
- package/src/tools/storage/drivers/S3.d.ts.map +1 -0
- package/src/tools/storage/drivers/S3.js +258 -0
- package/src/tools/storage/index.d.ts +24 -0
- package/src/tools/storage/index.d.ts.map +1 -0
- package/src/tools/storage/index.js +112 -0
- package/src/tools/storage/testing.d.ts +23 -0
- package/src/tools/storage/testing.d.ts.map +1 -0
- package/src/tools/storage/testing.js +52 -0
- package/src/tools/templates/MarkdownRenderer.d.ts +14 -0
- package/src/tools/templates/MarkdownRenderer.d.ts.map +1 -0
- package/src/tools/templates/MarkdownRenderer.js +300 -0
- package/src/tools/templates/index.d.ts +5 -0
- package/src/tools/templates/index.d.ts.map +1 -0
- package/src/tools/templates/index.js +4 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Broadcast Configuration
|
|
3
|
+
*
|
|
4
|
+
* Centralizes broadcast driver selection and provider env mappings.
|
|
5
|
+
* Driver selection must be dynamic (tests may mutate process.env).
|
|
6
|
+
*/
|
|
7
|
+
import { Env } from './env';
|
|
8
|
+
const normalizeDriverName = (value) => value.trim().toLowerCase();
|
|
9
|
+
const getPusherConfig = () => ({
|
|
10
|
+
driver: 'pusher',
|
|
11
|
+
appId: Env.get('PUSHER_APP_ID', ''),
|
|
12
|
+
key: Env.get('PUSHER_APP_KEY', ''),
|
|
13
|
+
secret: Env.get('PUSHER_APP_SECRET', ''),
|
|
14
|
+
cluster: Env.get('PUSHER_APP_CLUSTER', ''),
|
|
15
|
+
useTLS: Env.getBool('PUSHER_USE_TLS', true),
|
|
16
|
+
});
|
|
17
|
+
const getRedisConfig = () => ({
|
|
18
|
+
driver: 'redis',
|
|
19
|
+
host: Env.get('BROADCAST_REDIS_HOST', Env.get('REDIS_HOST', 'localhost')),
|
|
20
|
+
port: Env.getInt('BROADCAST_REDIS_PORT', Env.getInt('REDIS_PORT', 6379)),
|
|
21
|
+
password: Env.get('BROADCAST_REDIS_PASSWORD', Env.get('REDIS_PASSWORD', '')),
|
|
22
|
+
channelPrefix: Env.get('BROADCAST_CHANNEL_PREFIX', 'broadcast:'),
|
|
23
|
+
});
|
|
24
|
+
const getRedisHttpsConfig = () => ({
|
|
25
|
+
driver: 'redishttps',
|
|
26
|
+
endpoint: Env.get('REDIS_HTTPS_ENDPOINT', ''),
|
|
27
|
+
token: Env.get('REDIS_HTTPS_TOKEN', ''),
|
|
28
|
+
channelPrefix: Env.get('BROADCAST_CHANNEL_PREFIX', 'broadcast:'),
|
|
29
|
+
});
|
|
30
|
+
const broadcastConfigObj = {
|
|
31
|
+
/**
|
|
32
|
+
* Normalized broadcast driver name.
|
|
33
|
+
*
|
|
34
|
+
* NOTE: Allows custom driver names (project-specific drivers), so returns string.
|
|
35
|
+
*/
|
|
36
|
+
getDriverName() {
|
|
37
|
+
return normalizeDriverName(Env.get('BROADCAST_DRIVER', 'inmemory'));
|
|
38
|
+
},
|
|
39
|
+
/**
|
|
40
|
+
* Get a config object for the currently selected driver.
|
|
41
|
+
* Defaults to inmemory for unknown/unsupported names.
|
|
42
|
+
*/
|
|
43
|
+
getDriverConfig() {
|
|
44
|
+
const driver = this.getDriverName();
|
|
45
|
+
if (driver === 'pusher')
|
|
46
|
+
return getPusherConfig();
|
|
47
|
+
if (driver === 'redis')
|
|
48
|
+
return getRedisConfig();
|
|
49
|
+
if (driver === 'redishttps')
|
|
50
|
+
return getRedisHttpsConfig();
|
|
51
|
+
return { driver: 'inmemory' };
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
export default Object.freeze(broadcastConfigObj);
|
package/src/config/cache.d.ts
CHANGED
|
@@ -11,21 +11,19 @@ type RedisCacheDriverConfig = {
|
|
|
11
11
|
driver: 'redis';
|
|
12
12
|
host: string;
|
|
13
13
|
port: number;
|
|
14
|
-
password: string | undefined;
|
|
15
|
-
database: number;
|
|
16
14
|
ttl: number;
|
|
17
15
|
};
|
|
18
|
-
type
|
|
19
|
-
driver: '
|
|
20
|
-
|
|
16
|
+
type MongoCacheDriverConfig = {
|
|
17
|
+
driver: 'mongodb';
|
|
18
|
+
uri: string;
|
|
19
|
+
db: string;
|
|
21
20
|
ttl: number;
|
|
22
21
|
};
|
|
23
|
-
type
|
|
24
|
-
driver: '
|
|
25
|
-
path: string;
|
|
22
|
+
type KvCacheDriverConfig = {
|
|
23
|
+
driver: 'kv';
|
|
26
24
|
ttl: number;
|
|
27
25
|
};
|
|
28
|
-
type CacheDriverConfig = MemoryCacheDriverConfig | RedisCacheDriverConfig |
|
|
26
|
+
type CacheDriverConfig = MemoryCacheDriverConfig | RedisCacheDriverConfig | MongoCacheDriverConfig | KvCacheDriverConfig;
|
|
29
27
|
export declare const cacheConfig: Readonly<{
|
|
30
28
|
/**
|
|
31
29
|
* Default cache driver
|
|
@@ -43,18 +41,16 @@ export declare const cacheConfig: Readonly<{
|
|
|
43
41
|
driver: "redis";
|
|
44
42
|
host: string;
|
|
45
43
|
port: number;
|
|
46
|
-
password: string;
|
|
47
|
-
database: number;
|
|
48
44
|
ttl: number;
|
|
49
45
|
};
|
|
50
|
-
|
|
51
|
-
driver: "
|
|
52
|
-
|
|
46
|
+
mongodb: {
|
|
47
|
+
driver: "mongodb";
|
|
48
|
+
uri: string;
|
|
49
|
+
db: string;
|
|
53
50
|
ttl: number;
|
|
54
51
|
};
|
|
55
|
-
|
|
56
|
-
driver: "
|
|
57
|
-
path: string;
|
|
52
|
+
kv: {
|
|
53
|
+
driver: "kv";
|
|
58
54
|
ttl: number;
|
|
59
55
|
};
|
|
60
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/config/cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/config/cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,QAAQ,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,IAAI,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,iBAAiB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,CAAC;AA2ExB,eAAO,MAAM,WAAW;IAjDtB;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;IAwBH;;OAEG;iBACU,iBAAiB;IAI9B;;OAEG;;IAGH;;OAEG;;EAImD,CAAC;AACzD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC"}
|
package/src/config/cache.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { Env } from './env';
|
|
7
7
|
const getCacheDriver = (config) => {
|
|
8
8
|
const defaultDriver = config.default;
|
|
9
|
-
if (Object.
|
|
9
|
+
if (Object.hasOwn(config.drivers, defaultDriver)) {
|
|
10
10
|
const driverName = defaultDriver;
|
|
11
11
|
return config.drivers[driverName];
|
|
12
12
|
}
|
|
@@ -29,19 +29,17 @@ const cacheConfigObj = {
|
|
|
29
29
|
driver: 'redis',
|
|
30
30
|
host: Env.get('REDIS_HOST', 'localhost'),
|
|
31
31
|
port: Env.getInt('REDIS_PORT', 6379),
|
|
32
|
-
password: Env.get('REDIS_PASSWORD'),
|
|
33
|
-
database: Env.getInt('REDIS_DB', 0),
|
|
34
32
|
ttl: Env.getInt('CACHE_REDIS_TTL', 3600),
|
|
35
33
|
},
|
|
36
|
-
|
|
37
|
-
driver: '
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
mongodb: {
|
|
35
|
+
driver: 'mongodb',
|
|
36
|
+
uri: Env.get('MONGO_URI'),
|
|
37
|
+
db: Env.get('MONGO_DB', 'zintrust_cache'),
|
|
38
|
+
ttl: Env.getInt('CACHE_MONGO_TTL', 3600),
|
|
40
39
|
},
|
|
41
|
-
|
|
42
|
-
driver: '
|
|
43
|
-
|
|
44
|
-
ttl: Env.getInt('CACHE_FILE_TTL', 3600),
|
|
40
|
+
kv: {
|
|
41
|
+
driver: 'kv',
|
|
42
|
+
ttl: Env.getInt('CACHE_KV_TTL', 3600),
|
|
45
43
|
},
|
|
46
44
|
},
|
|
47
45
|
/**
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare Workers Environment Access
|
|
3
|
+
*
|
|
4
|
+
* Centralizes access to Workers bindings via globalThis.env.
|
|
5
|
+
* This keeps runtime-specific globals out of adapters/drivers.
|
|
6
|
+
*/
|
|
7
|
+
import type { DatabaseConfig, ID1Database } from '../orm/DatabaseAdapter';
|
|
8
|
+
export type WorkersEnv = Record<string, unknown>;
|
|
9
|
+
type KVNamespace = {
|
|
10
|
+
get(key: string, options?: {
|
|
11
|
+
type: 'text' | 'json' | 'arrayBuffer' | 'stream';
|
|
12
|
+
}): Promise<unknown>;
|
|
13
|
+
put(key: string, value: string | ReadableStream | ArrayBuffer | FormData, options?: {
|
|
14
|
+
expiration?: number;
|
|
15
|
+
expirationTtl?: number;
|
|
16
|
+
metadata?: unknown;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
delete(key: string): Promise<void>;
|
|
19
|
+
};
|
|
20
|
+
export declare const Cloudflare: Readonly<{
|
|
21
|
+
getWorkersEnv: () => WorkersEnv | null;
|
|
22
|
+
getD1Binding: (config: DatabaseConfig) => ID1Database | null;
|
|
23
|
+
getKVBinding: (bindingName?: string) => KVNamespace | null;
|
|
24
|
+
}>;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=cloudflare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../../src/config/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD,KAAK,WAAW,GAAG;IACjB,GAAG,CACD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAA;KAAE,GAC7D,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,GAAG,CACD,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,EACvD,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5E,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AA8BF,eAAO,MAAM,UAAU;yBA5BG,UAAU,GAAG,IAAI;2BAOb,cAAc,KAAG,WAAW,GAAG,IAAI;4CAanB,WAAW,GAAG,IAAI;EAY9D,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare Workers Environment Access
|
|
3
|
+
*
|
|
4
|
+
* Centralizes access to Workers bindings via globalThis.env.
|
|
5
|
+
* This keeps runtime-specific globals out of adapters/drivers.
|
|
6
|
+
*/
|
|
7
|
+
const getWorkersEnv = () => {
|
|
8
|
+
const env = globalThis.env;
|
|
9
|
+
if (env === undefined || env === null)
|
|
10
|
+
return null;
|
|
11
|
+
if (typeof env !== 'object')
|
|
12
|
+
return null;
|
|
13
|
+
return env;
|
|
14
|
+
};
|
|
15
|
+
const getD1Binding = (config) => {
|
|
16
|
+
if (config.d1 !== undefined && config.d1 !== null)
|
|
17
|
+
return config.d1;
|
|
18
|
+
const env = getWorkersEnv();
|
|
19
|
+
const envDb = env === null ? undefined : env['DB'];
|
|
20
|
+
if (envDb !== undefined)
|
|
21
|
+
return envDb;
|
|
22
|
+
const globalDb = globalThis.DB;
|
|
23
|
+
if (globalDb !== undefined)
|
|
24
|
+
return globalDb;
|
|
25
|
+
return null;
|
|
26
|
+
};
|
|
27
|
+
const getKVBinding = (bindingName = 'CACHE') => {
|
|
28
|
+
const env = getWorkersEnv();
|
|
29
|
+
if (env === null)
|
|
30
|
+
return null;
|
|
31
|
+
const kv = env[bindingName];
|
|
32
|
+
return kv ?? null;
|
|
33
|
+
};
|
|
34
|
+
export const Cloudflare = Object.freeze({
|
|
35
|
+
getWorkersEnv,
|
|
36
|
+
getD1Binding,
|
|
37
|
+
getKVBinding,
|
|
38
|
+
});
|
package/src/config/env.d.ts
CHANGED
|
@@ -48,8 +48,14 @@ export declare const Env: Readonly<{
|
|
|
48
48
|
ENVIRONMENT: string;
|
|
49
49
|
REQUEST_TIMEOUT: number;
|
|
50
50
|
MAX_BODY_SIZE: number;
|
|
51
|
+
SHUTDOWN_TIMEOUT: number;
|
|
51
52
|
LOG_LEVEL: "debug" | "info" | "warn" | "error";
|
|
53
|
+
LOG_FORMAT: string;
|
|
52
54
|
DISABLE_LOGGING: boolean;
|
|
55
|
+
LOG_HTTP_REQUEST: boolean;
|
|
56
|
+
LOG_TO_FILE: boolean;
|
|
57
|
+
LOG_ROTATION_SIZE: number;
|
|
58
|
+
LOG_ROTATION_DAYS: number;
|
|
53
59
|
NODE_BIN_DIR: string;
|
|
54
60
|
SAFE_PATH: string;
|
|
55
61
|
}>;
|
package/src/config/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkDH,eAAO,MAAM,GAAG;eA9BE,MAAM,iBAAiB,MAAM,KAAG,MAAM;kBAMnC,MAAM,iBAAiB,MAAM,KAAG,MAAM;mBAQrC,MAAM,iBAAiB,OAAO,KAAG,OAAO
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/config/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkDH,eAAO,MAAM,GAAG;eA9BE,MAAM,iBAAiB,MAAM,KAAG,MAAM;kBAMnC,MAAM,iBAAiB,MAAM,KAAG,MAAM;mBAQrC,MAAM,iBAAiB,OAAO,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+EP,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;;;;;;;;;EAkCxF,CAAC"}
|
package/src/config/env.js
CHANGED
|
@@ -98,9 +98,15 @@ export const Env = Object.freeze({
|
|
|
98
98
|
ENVIRONMENT: get('ENVIRONMENT', 'development'),
|
|
99
99
|
REQUEST_TIMEOUT: getInt('REQUEST_TIMEOUT', 30000),
|
|
100
100
|
MAX_BODY_SIZE: getInt('MAX_BODY_SIZE', 10485760),
|
|
101
|
+
SHUTDOWN_TIMEOUT: getInt('SHUTDOWN_TIMEOUT', 10000),
|
|
101
102
|
// Logging
|
|
102
103
|
LOG_LEVEL: get('LOG_LEVEL', getDefaultLogLevel()),
|
|
104
|
+
LOG_FORMAT: get('LOG_FORMAT', 'text'),
|
|
103
105
|
DISABLE_LOGGING: getBool('DISABLE_LOGGING', false),
|
|
106
|
+
LOG_HTTP_REQUEST: getBool('LOG_HTTP_REQUEST', false),
|
|
107
|
+
LOG_TO_FILE: getBool('LOG_TO_FILE', false),
|
|
108
|
+
LOG_ROTATION_SIZE: getInt('LOG_ROTATION_SIZE', 10485760),
|
|
109
|
+
LOG_ROTATION_DAYS: getInt('LOG_ROTATION_DAYS', 7),
|
|
104
110
|
// Paths (safely constructed for Node.js environments)
|
|
105
111
|
NODE_BIN_DIR: (() => {
|
|
106
112
|
try {
|
package/src/config/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export { appConfig, type AppConfig } from './app';
|
|
|
6
6
|
export { cacheConfig, type CacheConfig } from './cache';
|
|
7
7
|
export { databaseConfig, type DatabaseConfig } from './database';
|
|
8
8
|
export { microservicesConfig, type MicroservicesConfig } from './microservices';
|
|
9
|
+
export { middlewareConfig, type MiddlewareConfig } from './middleware';
|
|
9
10
|
export { queueConfig, type QueueConfig } from './queue';
|
|
10
11
|
export { securityConfig } from './security';
|
|
11
12
|
export { storageConfig, type StorageConfig } from './storage';
|
|
@@ -219,8 +220,8 @@ export declare const config: Readonly<{
|
|
|
219
220
|
};
|
|
220
221
|
}>;
|
|
221
222
|
readonly storage: Readonly<{
|
|
222
|
-
default: string;
|
|
223
|
-
drivers: {
|
|
223
|
+
readonly default: string;
|
|
224
|
+
readonly drivers: {
|
|
224
225
|
local: {
|
|
225
226
|
driver: "local";
|
|
226
227
|
root: string;
|
|
@@ -229,14 +230,23 @@ export declare const config: Readonly<{
|
|
|
229
230
|
};
|
|
230
231
|
s3: {
|
|
231
232
|
driver: "s3";
|
|
232
|
-
|
|
233
|
-
|
|
233
|
+
accessKeyId: string;
|
|
234
|
+
secretAccessKey: string;
|
|
234
235
|
region: string;
|
|
235
236
|
bucket: string;
|
|
236
237
|
url: string;
|
|
237
238
|
endpoint: string;
|
|
238
239
|
usePathStyleUrl: boolean;
|
|
239
240
|
};
|
|
241
|
+
r2: {
|
|
242
|
+
driver: "r2";
|
|
243
|
+
accessKeyId: string;
|
|
244
|
+
secretAccessKey: string;
|
|
245
|
+
region: string;
|
|
246
|
+
bucket: string;
|
|
247
|
+
endpoint: string;
|
|
248
|
+
url: string;
|
|
249
|
+
};
|
|
240
250
|
gcs: {
|
|
241
251
|
driver: "gcs";
|
|
242
252
|
projectId: string;
|
|
@@ -246,8 +256,8 @@ export declare const config: Readonly<{
|
|
|
246
256
|
};
|
|
247
257
|
};
|
|
248
258
|
getDriver(this: {
|
|
249
|
-
default: string;
|
|
250
|
-
drivers: {
|
|
259
|
+
readonly default: string;
|
|
260
|
+
readonly drivers: {
|
|
251
261
|
local: {
|
|
252
262
|
driver: "local";
|
|
253
263
|
root: string;
|
|
@@ -256,14 +266,23 @@ export declare const config: Readonly<{
|
|
|
256
266
|
};
|
|
257
267
|
s3: {
|
|
258
268
|
driver: "s3";
|
|
259
|
-
|
|
260
|
-
|
|
269
|
+
accessKeyId: string;
|
|
270
|
+
secretAccessKey: string;
|
|
261
271
|
region: string;
|
|
262
272
|
bucket: string;
|
|
263
273
|
url: string;
|
|
264
274
|
endpoint: string;
|
|
265
275
|
usePathStyleUrl: boolean;
|
|
266
276
|
};
|
|
277
|
+
r2: {
|
|
278
|
+
driver: "r2";
|
|
279
|
+
accessKeyId: string;
|
|
280
|
+
secretAccessKey: string;
|
|
281
|
+
region: string;
|
|
282
|
+
bucket: string;
|
|
283
|
+
endpoint: string;
|
|
284
|
+
url: string;
|
|
285
|
+
};
|
|
267
286
|
gcs: {
|
|
268
287
|
driver: "gcs";
|
|
269
288
|
projectId: string;
|
|
@@ -279,13 +298,21 @@ export declare const config: Readonly<{
|
|
|
279
298
|
visibility: string;
|
|
280
299
|
} | {
|
|
281
300
|
driver: "s3";
|
|
282
|
-
|
|
283
|
-
|
|
301
|
+
accessKeyId: string;
|
|
302
|
+
secretAccessKey: string;
|
|
284
303
|
region: string;
|
|
285
304
|
bucket: string;
|
|
286
305
|
url: string;
|
|
287
306
|
endpoint: string;
|
|
288
307
|
usePathStyleUrl: boolean;
|
|
308
|
+
} | {
|
|
309
|
+
driver: "r2";
|
|
310
|
+
accessKeyId: string;
|
|
311
|
+
secretAccessKey: string;
|
|
312
|
+
region: string;
|
|
313
|
+
bucket: string;
|
|
314
|
+
endpoint: string;
|
|
315
|
+
url: string;
|
|
289
316
|
} | {
|
|
290
317
|
driver: "gcs";
|
|
291
318
|
projectId: string;
|
|
@@ -293,16 +320,16 @@ export declare const config: Readonly<{
|
|
|
293
320
|
bucket: string;
|
|
294
321
|
url: string;
|
|
295
322
|
};
|
|
296
|
-
temp: {
|
|
323
|
+
readonly temp: {
|
|
297
324
|
path: string;
|
|
298
325
|
maxAge: number;
|
|
299
326
|
};
|
|
300
|
-
uploads: {
|
|
327
|
+
readonly uploads: {
|
|
301
328
|
maxSize: string;
|
|
302
329
|
allowedMimes: string;
|
|
303
330
|
path: string;
|
|
304
331
|
};
|
|
305
|
-
backups: {
|
|
332
|
+
readonly backups: {
|
|
306
333
|
path: string;
|
|
307
334
|
driver: string;
|
|
308
335
|
};
|
|
@@ -379,6 +406,7 @@ export declare const config: Readonly<{
|
|
|
379
406
|
readonly bcryptRounds: number;
|
|
380
407
|
};
|
|
381
408
|
}>;
|
|
409
|
+
readonly middleware: Readonly<import("./middleware").MiddlewareConfig>;
|
|
382
410
|
readonly microservices: Readonly<{
|
|
383
411
|
readonly enabled: boolean;
|
|
384
412
|
readonly services: string[];
|
|
@@ -441,18 +469,16 @@ export declare const config: Readonly<{
|
|
|
441
469
|
driver: "redis";
|
|
442
470
|
host: string;
|
|
443
471
|
port: number;
|
|
444
|
-
password: string;
|
|
445
|
-
database: number;
|
|
446
472
|
ttl: number;
|
|
447
473
|
};
|
|
448
|
-
|
|
449
|
-
driver: "
|
|
450
|
-
|
|
474
|
+
mongodb: {
|
|
475
|
+
driver: "mongodb";
|
|
476
|
+
uri: string;
|
|
477
|
+
db: string;
|
|
451
478
|
ttl: number;
|
|
452
479
|
};
|
|
453
|
-
|
|
454
|
-
driver: "
|
|
455
|
-
path: string;
|
|
480
|
+
kv: {
|
|
481
|
+
driver: "kv";
|
|
456
482
|
ttl: number;
|
|
457
483
|
};
|
|
458
484
|
};
|
|
@@ -463,23 +489,21 @@ export declare const config: Readonly<{
|
|
|
463
489
|
driver: "redis";
|
|
464
490
|
host: string;
|
|
465
491
|
port: number;
|
|
466
|
-
password: string | undefined;
|
|
467
|
-
database: number;
|
|
468
492
|
ttl: number;
|
|
469
493
|
} | {
|
|
470
|
-
driver: "
|
|
471
|
-
|
|
494
|
+
driver: "mongodb";
|
|
495
|
+
uri: string;
|
|
496
|
+
db: string;
|
|
472
497
|
ttl: number;
|
|
473
498
|
} | {
|
|
474
|
-
driver: "
|
|
475
|
-
path: string;
|
|
499
|
+
driver: "kv";
|
|
476
500
|
ttl: number;
|
|
477
501
|
};
|
|
478
502
|
keyPrefix: string;
|
|
479
503
|
ttl: number;
|
|
480
504
|
}>;
|
|
481
505
|
readonly queue: Readonly<{
|
|
482
|
-
default: "
|
|
506
|
+
default: "redis" | "database" | "sync" | "rabbitmq" | "sqs";
|
|
483
507
|
drivers: {
|
|
484
508
|
sync: {
|
|
485
509
|
driver: "sync";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASR,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
package/src/config/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { appConfig } from './app';
|
|
|
6
6
|
import { cacheConfig } from './cache';
|
|
7
7
|
import { databaseConfig } from './database';
|
|
8
8
|
import { microservicesConfig } from './microservices';
|
|
9
|
+
import { middlewareConfig } from './middleware';
|
|
9
10
|
import { queueConfig } from './queue';
|
|
10
11
|
import { securityConfig } from './security';
|
|
11
12
|
import { storageConfig } from './storage';
|
|
@@ -13,6 +14,7 @@ export { appConfig } from './app';
|
|
|
13
14
|
export { cacheConfig } from './cache';
|
|
14
15
|
export { databaseConfig } from './database';
|
|
15
16
|
export { microservicesConfig } from './microservices';
|
|
17
|
+
export { middlewareConfig } from './middleware';
|
|
16
18
|
export { queueConfig } from './queue';
|
|
17
19
|
export { securityConfig } from './security';
|
|
18
20
|
export { storageConfig } from './storage';
|
|
@@ -25,6 +27,7 @@ export const config = Object.freeze({
|
|
|
25
27
|
database: databaseConfig,
|
|
26
28
|
storage: storageConfig,
|
|
27
29
|
security: securityConfig,
|
|
30
|
+
middleware: middlewareConfig,
|
|
28
31
|
microservices: microservicesConfig,
|
|
29
32
|
cache: cacheConfig,
|
|
30
33
|
queue: queueConfig,
|
package/src/config/logger.d.ts
CHANGED
|
@@ -5,12 +5,14 @@ interface ILogger {
|
|
|
5
5
|
error(message: string, error?: unknown, category?: string): void;
|
|
6
6
|
fatal(message: string, error?: unknown, category?: string): void;
|
|
7
7
|
}
|
|
8
|
+
export declare const cleanLogsOnce: () => Promise<string[]>;
|
|
8
9
|
export declare const Logger: Readonly<{
|
|
9
10
|
debug: (message: string, data?: unknown, category?: string) => void;
|
|
10
11
|
info: (message: string, data?: unknown, category?: string) => void;
|
|
11
12
|
warn: (message: string, data?: unknown, category?: string) => void;
|
|
12
13
|
error: (message: string, error?: unknown, category?: string) => void;
|
|
13
14
|
fatal: (message: string, error?: unknown, category?: string) => void;
|
|
15
|
+
cleanLogsOnce: () => Promise<string[]>;
|
|
14
16
|
scope: (scope: string) => ILogger;
|
|
15
17
|
}>;
|
|
16
18
|
export default Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/config/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/config/logger.ts"],"names":[],"mappings":"AAQA,UAAU,OAAO;IACf,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClE;AA0VD,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,MAAM,EAAE,CAYtD,CAAC;AAEF,eAAO,MAAM,MAAM;qBAzJQ,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAsBjD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;oBAoBhD,MAAM,SAAS,OAAO,aAAa,MAAM,KAAG,IAAI;qBAoB/C,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;qBA0BjD,MAAM,UAAU,OAAO,aAAa,MAAM,KAAG,IAAI;yBAmDrC,OAAO,CAAC,MAAM,EAAE,CAAC;mBArBtB,MAAM,KAAG,OAAO;EA2ChD,CAAC;AAEH,eAAe,MAAM,CAAC"}
|