@zintrust/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/z.d.ts +7 -0
- package/bin/z.d.ts.map +1 -0
- package/bin/z.js +6 -0
- package/bin/zin.d.ts +7 -0
- package/bin/zin.d.ts.map +1 -0
- package/bin/zin.js +6 -0
- package/bin/zintrust-microservices.d.ts +7 -0
- package/bin/zintrust-microservices.d.ts.map +1 -0
- package/bin/zintrust-microservices.js +165 -0
- package/bin/zintrust.d.ts +9 -0
- package/bin/zintrust.d.ts.map +1 -0
- package/bin/zintrust.js +51 -0
- package/bin/zt.d.ts +7 -0
- package/bin/zt.d.ts.map +1 -0
- package/bin/zt.js +6 -0
- package/package.json +80 -0
- package/src/boot/Application.d.ts +31 -0
- package/src/boot/Application.d.ts.map +1 -0
- package/src/boot/Application.js +159 -0
- package/src/boot/Server.d.ts +23 -0
- package/src/boot/Server.d.ts.map +1 -0
- package/src/boot/Server.js +236 -0
- package/src/boot/bootstrap.d.ts +7 -0
- package/src/boot/bootstrap.d.ts.map +1 -0
- package/src/boot/bootstrap.js +64 -0
- package/src/builder/BundleOptimizer.d.ts +42 -0
- package/src/builder/BundleOptimizer.d.ts.map +1 -0
- package/src/builder/BundleOptimizer.js +356 -0
- package/src/cache/Cache.d.ts +26 -0
- package/src/cache/Cache.d.ts.map +1 -0
- package/src/cache/Cache.js +89 -0
- package/src/cache/CacheDriver.d.ts +28 -0
- package/src/cache/CacheDriver.d.ts.map +1 -0
- package/src/cache/CacheDriver.js +6 -0
- package/src/cache/drivers/KVDriver.d.ts +12 -0
- package/src/cache/drivers/KVDriver.d.ts.map +1 -0
- package/src/cache/drivers/KVDriver.js +54 -0
- package/src/cache/drivers/MemoryDriver.d.ts +12 -0
- package/src/cache/drivers/MemoryDriver.d.ts.map +1 -0
- package/src/cache/drivers/MemoryDriver.js +50 -0
- package/src/cache/drivers/MongoDriver.d.ts +17 -0
- package/src/cache/drivers/MongoDriver.d.ts.map +1 -0
- package/src/cache/drivers/MongoDriver.js +80 -0
- package/src/cache/drivers/RedisDriver.d.ts +12 -0
- package/src/cache/drivers/RedisDriver.d.ts.map +1 -0
- package/src/cache/drivers/RedisDriver.js +79 -0
- package/src/cli/BaseCommand.d.ts +39 -0
- package/src/cli/BaseCommand.d.ts.map +1 -0
- package/src/cli/BaseCommand.js +58 -0
- package/src/cli/CLI.d.ts +21 -0
- package/src/cli/CLI.d.ts.map +1 -0
- package/src/cli/CLI.js +203 -0
- package/src/cli/ErrorHandler.d.ts +23 -0
- package/src/cli/ErrorHandler.d.ts.map +1 -0
- package/src/cli/ErrorHandler.js +95 -0
- package/src/cli/PromptHelper.d.ts +47 -0
- package/src/cli/PromptHelper.d.ts.map +1 -0
- package/src/cli/PromptHelper.js +155 -0
- package/src/cli/commands/AddCommand.d.ts +15 -0
- package/src/cli/commands/AddCommand.d.ts.map +1 -0
- package/src/cli/commands/AddCommand.js +817 -0
- package/src/cli/commands/ConfigCommand.d.ts +15 -0
- package/src/cli/commands/ConfigCommand.d.ts.map +1 -0
- package/src/cli/commands/ConfigCommand.js +273 -0
- package/src/cli/commands/D1MigrateCommand.d.ts +15 -0
- package/src/cli/commands/D1MigrateCommand.d.ts.map +1 -0
- package/src/cli/commands/D1MigrateCommand.js +73 -0
- package/src/cli/commands/DebugCommand.d.ts +15 -0
- package/src/cli/commands/DebugCommand.d.ts.map +1 -0
- package/src/cli/commands/DebugCommand.js +52 -0
- package/src/cli/commands/FixCommand.d.ts +15 -0
- package/src/cli/commands/FixCommand.d.ts.map +1 -0
- package/src/cli/commands/FixCommand.js +80 -0
- package/src/cli/commands/KeyGenerateCommand.d.ts +9 -0
- package/src/cli/commands/KeyGenerateCommand.d.ts.map +1 -0
- package/src/cli/commands/KeyGenerateCommand.js +76 -0
- package/src/cli/commands/LogsCommand.d.ts +19 -0
- package/src/cli/commands/LogsCommand.d.ts.map +1 -0
- package/src/cli/commands/LogsCommand.js +185 -0
- package/src/cli/commands/MigrateCommand.d.ts +15 -0
- package/src/cli/commands/MigrateCommand.d.ts.map +1 -0
- package/src/cli/commands/MigrateCommand.js +56 -0
- package/src/cli/commands/NewCommand.d.ts +32 -0
- package/src/cli/commands/NewCommand.d.ts.map +1 -0
- package/src/cli/commands/NewCommand.js +280 -0
- package/src/cli/commands/PluginCommand.d.ts +9 -0
- package/src/cli/commands/PluginCommand.d.ts.map +1 -0
- package/src/cli/commands/PluginCommand.js +94 -0
- package/src/cli/commands/PrepareCommand.d.ts +8 -0
- package/src/cli/commands/PrepareCommand.d.ts.map +1 -0
- package/src/cli/commands/PrepareCommand.js +51 -0
- package/src/cli/commands/QACommand.d.ts +33 -0
- package/src/cli/commands/QACommand.d.ts.map +1 -0
- package/src/cli/commands/QACommand.js +490 -0
- package/src/cli/commands/SimulateCommand.d.ts +12 -0
- package/src/cli/commands/SimulateCommand.d.ts.map +1 -0
- package/src/cli/commands/SimulateCommand.js +79 -0
- package/src/cli/commands/StartCommand.d.ts +5 -0
- package/src/cli/commands/StartCommand.d.ts.map +1 -0
- package/src/cli/commands/StartCommand.js +227 -0
- package/src/cli/commands/index.d.ts +11 -0
- package/src/cli/commands/index.d.ts.map +1 -0
- package/src/cli/commands/index.js +10 -0
- package/src/cli/config/ConfigManager.d.ts +42 -0
- package/src/cli/config/ConfigManager.d.ts.map +1 -0
- package/src/cli/config/ConfigManager.js +175 -0
- package/src/cli/config/ConfigSchema.d.ts +195 -0
- package/src/cli/config/ConfigSchema.d.ts.map +1 -0
- package/src/cli/config/ConfigSchema.js +171 -0
- package/src/cli/config/ConfigValidator.d.ts +41 -0
- package/src/cli/config/ConfigValidator.d.ts.map +1 -0
- package/src/cli/config/ConfigValidator.js +200 -0
- package/src/cli/config/index.d.ts +8 -0
- package/src/cli/config/index.d.ts.map +1 -0
- package/src/cli/config/index.js +7 -0
- package/src/cli/debug/Dashboard.d.ts +34 -0
- package/src/cli/debug/Dashboard.d.ts.map +1 -0
- package/src/cli/debug/Dashboard.js +152 -0
- package/src/cli/index.d.ts +14 -0
- package/src/cli/index.d.ts.map +1 -0
- package/src/cli/index.js +14 -0
- package/src/cli/logger/Logger.d.ts +43 -0
- package/src/cli/logger/Logger.d.ts.map +1 -0
- package/src/cli/logger/Logger.js +137 -0
- package/src/cli/scaffolding/ControllerGenerator.d.ts +44 -0
- package/src/cli/scaffolding/ControllerGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/ControllerGenerator.js +540 -0
- package/src/cli/scaffolding/FactoryGenerator.d.ts +47 -0
- package/src/cli/scaffolding/FactoryGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/FactoryGenerator.js +356 -0
- package/src/cli/scaffolding/FeatureScaffolder.d.ts +40 -0
- package/src/cli/scaffolding/FeatureScaffolder.d.ts.map +1 -0
- package/src/cli/scaffolding/FeatureScaffolder.js +747 -0
- package/src/cli/scaffolding/FileGenerator.d.ts +31 -0
- package/src/cli/scaffolding/FileGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/FileGenerator.js +222 -0
- package/src/cli/scaffolding/MigrationGenerator.d.ts +35 -0
- package/src/cli/scaffolding/MigrationGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/MigrationGenerator.js +257 -0
- package/src/cli/scaffolding/ModelGenerator.d.ts +81 -0
- package/src/cli/scaffolding/ModelGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/ModelGenerator.js +249 -0
- package/src/cli/scaffolding/ProjectScaffolder.d.ts +66 -0
- package/src/cli/scaffolding/ProjectScaffolder.d.ts.map +1 -0
- package/src/cli/scaffolding/ProjectScaffolder.js +439 -0
- package/src/cli/scaffolding/RequestFactoryGenerator.d.ts +50 -0
- package/src/cli/scaffolding/RequestFactoryGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/RequestFactoryGenerator.js +465 -0
- package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts +43 -0
- package/src/cli/scaffolding/ResponseFactoryGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/ResponseFactoryGenerator.js +321 -0
- package/src/cli/scaffolding/RouteGenerator.d.ts +66 -0
- package/src/cli/scaffolding/RouteGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/RouteGenerator.js +306 -0
- package/src/cli/scaffolding/SeederGenerator.d.ts +47 -0
- package/src/cli/scaffolding/SeederGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/SeederGenerator.js +286 -0
- package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts +40 -0
- package/src/cli/scaffolding/ServiceIntegrationTestGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/ServiceIntegrationTestGenerator.js +267 -0
- package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts +45 -0
- package/src/cli/scaffolding/ServiceRequestFactoryGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/ServiceRequestFactoryGenerator.js +397 -0
- package/src/cli/scaffolding/ServiceScaffolder.d.ts +45 -0
- package/src/cli/scaffolding/ServiceScaffolder.d.ts.map +1 -0
- package/src/cli/scaffolding/ServiceScaffolder.js +367 -0
- package/src/cli/scaffolding/TemplateEngine.d.ts +35 -0
- package/src/cli/scaffolding/TemplateEngine.d.ts.map +1 -0
- package/src/cli/scaffolding/TemplateEngine.js +379 -0
- package/src/cli/scaffolding/WorkflowGenerator.d.ts +31 -0
- package/src/cli/scaffolding/WorkflowGenerator.d.ts.map +1 -0
- package/src/cli/scaffolding/WorkflowGenerator.js +193 -0
- package/src/cli/scaffolding/index.d.ts +34 -0
- package/src/cli/scaffolding/index.d.ts.map +1 -0
- package/src/cli/scaffolding/index.js +18 -0
- package/src/cli/utils/DistPackager.d.ts +8 -0
- package/src/cli/utils/DistPackager.d.ts.map +1 -0
- package/src/cli/utils/DistPackager.js +94 -0
- package/src/cli/utils/EnvFileLoader.d.ts +21 -0
- package/src/cli/utils/EnvFileLoader.d.ts.map +1 -0
- package/src/cli/utils/EnvFileLoader.js +166 -0
- package/src/cli/utils/spawn.d.ts +11 -0
- package/src/cli/utils/spawn.d.ts.map +1 -0
- package/src/cli/utils/spawn.js +81 -0
- package/src/common/index.d.ts +87 -0
- package/src/common/index.d.ts.map +1 -0
- package/src/common/index.js +207 -0
- package/src/config/SecretsManager.d.ts +122 -0
- package/src/config/SecretsManager.d.ts.map +1 -0
- package/src/config/SecretsManager.js +328 -0
- package/src/config/app.d.ts +56 -0
- package/src/config/app.d.ts.map +1 -0
- package/src/config/app.js +77 -0
- package/src/config/cache.d.ts +76 -0
- package/src/config/cache.d.ts.map +1 -0
- package/src/config/cache.js +62 -0
- package/src/config/constants.d.ts +108 -0
- package/src/config/constants.d.ts.map +1 -0
- package/src/config/constants.js +64 -0
- package/src/config/database.d.ts +122 -0
- package/src/config/database.d.ts.map +1 -0
- package/src/config/database.js +89 -0
- package/src/config/env.d.ts +56 -0
- package/src/config/env.d.ts.map +1 -0
- package/src/config/env.js +133 -0
- package/src/config/features.d.ts +27 -0
- package/src/config/features.d.ts.map +1 -0
- package/src/config/features.js +49 -0
- package/src/config/index.d.ts +554 -0
- package/src/config/index.d.ts.map +1 -0
- package/src/config/index.js +31 -0
- package/src/config/logger.d.ts +17 -0
- package/src/config/logger.d.ts.map +1 -0
- package/src/config/logger.js +77 -0
- package/src/config/microservices.d.ts +88 -0
- package/src/config/microservices.d.ts.map +1 -0
- package/src/config/microservices.js +90 -0
- package/src/config/queue.d.ts +107 -0
- package/src/config/queue.d.ts.map +1 -0
- package/src/config/queue.js +74 -0
- package/src/config/security.d.ts +108 -0
- package/src/config/security.d.ts.map +1 -0
- package/src/config/security.js +134 -0
- package/src/config/storage.d.ts +105 -0
- package/src/config/storage.d.ts.map +1 -0
- package/src/config/storage.js +79 -0
- package/src/container/ServiceContainer.d.ts +25 -0
- package/src/container/ServiceContainer.d.ts.map +1 -0
- package/src/container/ServiceContainer.js +75 -0
- package/src/database/migrations/index.d.ts +2 -0
- package/src/database/migrations/index.d.ts.map +1 -0
- package/src/database/migrations/index.js +1 -0
- package/src/exceptions/ZintrustError.d.ts +88 -0
- package/src/exceptions/ZintrustError.d.ts.map +1 -0
- package/src/exceptions/ZintrustError.js +110 -0
- package/src/features/Auth.d.ts +20 -0
- package/src/features/Auth.d.ts.map +1 -0
- package/src/features/Auth.js +32 -0
- package/src/features/Queue.d.ts +21 -0
- package/src/features/Queue.d.ts.map +1 -0
- package/src/features/Queue.js +59 -0
- package/src/functions/cloudflare.d.ts +5 -0
- package/src/functions/cloudflare.d.ts.map +1 -0
- package/src/functions/cloudflare.js +34 -0
- package/src/functions/deno.d.ts +3 -0
- package/src/functions/deno.d.ts.map +1 -0
- package/src/functions/deno.js +31 -0
- package/src/functions/lambda.d.ts +2 -0
- package/src/functions/lambda.d.ts.map +1 -0
- package/src/functions/lambda.js +32 -0
- package/src/http/Controller.d.ts +20 -0
- package/src/http/Controller.d.ts.map +1 -0
- package/src/http/Controller.js +46 -0
- package/src/http/Kernel.d.ts +24 -0
- package/src/http/Kernel.d.ts.map +1 -0
- package/src/http/Kernel.js +72 -0
- package/src/http/Request.d.ts +36 -0
- package/src/http/Request.d.ts.map +1 -0
- package/src/http/Request.js +142 -0
- package/src/http/Response.d.ts +32 -0
- package/src/http/Response.d.ts.map +1 -0
- package/src/http/Response.js +70 -0
- package/src/index.d.ts +43 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +37 -0
- package/src/microservices/MicroserviceBootstrap.d.ts +75 -0
- package/src/microservices/MicroserviceBootstrap.d.ts.map +1 -0
- package/src/microservices/MicroserviceBootstrap.js +285 -0
- package/src/microservices/MicroserviceGenerator.d.ts +27 -0
- package/src/microservices/MicroserviceGenerator.d.ts.map +1 -0
- package/src/microservices/MicroserviceGenerator.js +436 -0
- package/src/microservices/MicroserviceManager.d.ts +68 -0
- package/src/microservices/MicroserviceManager.d.ts.map +1 -0
- package/src/microservices/MicroserviceManager.js +266 -0
- package/src/microservices/PostgresAdapter.d.ts +90 -0
- package/src/microservices/PostgresAdapter.d.ts.map +1 -0
- package/src/microservices/PostgresAdapter.js +286 -0
- package/src/microservices/RequestTracingMiddleware.d.ts +41 -0
- package/src/microservices/RequestTracingMiddleware.d.ts.map +1 -0
- package/src/microservices/RequestTracingMiddleware.js +122 -0
- package/src/microservices/ServiceAuthMiddleware.d.ts +58 -0
- package/src/microservices/ServiceAuthMiddleware.d.ts.map +1 -0
- package/src/microservices/ServiceAuthMiddleware.js +240 -0
- package/src/microservices/ServiceBundler.d.ts +45 -0
- package/src/microservices/ServiceBundler.d.ts.map +1 -0
- package/src/microservices/ServiceBundler.js +297 -0
- package/src/microservices/ServiceHealthMonitor.d.ts +96 -0
- package/src/microservices/ServiceHealthMonitor.d.ts.map +1 -0
- package/src/microservices/ServiceHealthMonitor.js +379 -0
- package/src/middleware/CsrfMiddleware.d.ts +19 -0
- package/src/middleware/CsrfMiddleware.d.ts.map +1 -0
- package/src/middleware/CsrfMiddleware.js +121 -0
- package/src/middleware/MiddlewareStack.d.ts +27 -0
- package/src/middleware/MiddlewareStack.d.ts.map +1 -0
- package/src/middleware/MiddlewareStack.js +43 -0
- package/src/middleware/RateLimiter.d.ts +22 -0
- package/src/middleware/RateLimiter.d.ts.map +1 -0
- package/src/middleware/RateLimiter.js +72 -0
- package/src/middleware/SecurityMiddleware.d.ts +33 -0
- package/src/middleware/SecurityMiddleware.d.ts.map +1 -0
- package/src/middleware/SecurityMiddleware.js +106 -0
- package/src/middleware/index.d.ts +9 -0
- package/src/middleware/index.d.ts.map +1 -0
- package/src/middleware/index.js +8 -0
- package/src/node-singletons/child-process.d.ts +7 -0
- package/src/node-singletons/child-process.d.ts.map +1 -0
- package/src/node-singletons/child-process.js +6 -0
- package/src/node-singletons/crypto.d.ts +7 -0
- package/src/node-singletons/crypto.d.ts.map +1 -0
- package/src/node-singletons/crypto.js +6 -0
- package/src/node-singletons/events.d.ts +7 -0
- package/src/node-singletons/events.d.ts.map +1 -0
- package/src/node-singletons/events.js +6 -0
- package/src/node-singletons/fs.d.ts +12 -0
- package/src/node-singletons/fs.d.ts.map +1 -0
- package/src/node-singletons/fs.js +14 -0
- package/src/node-singletons/http.d.ts +8 -0
- package/src/node-singletons/http.d.ts.map +1 -0
- package/src/node-singletons/http.js +6 -0
- package/src/node-singletons/index.d.ts +30 -0
- package/src/node-singletons/index.d.ts.map +1 -0
- package/src/node-singletons/index.js +31 -0
- package/src/node-singletons/os.d.ts +9 -0
- package/src/node-singletons/os.d.ts.map +1 -0
- package/src/node-singletons/os.js +9 -0
- package/src/node-singletons/path.d.ts +7 -0
- package/src/node-singletons/path.d.ts.map +1 -0
- package/src/node-singletons/path.js +6 -0
- package/src/node-singletons/perf-hooks.d.ts +7 -0
- package/src/node-singletons/perf-hooks.d.ts.map +1 -0
- package/src/node-singletons/perf-hooks.js +6 -0
- package/src/node-singletons/readline.d.ts +10 -0
- package/src/node-singletons/readline.d.ts.map +1 -0
- package/src/node-singletons/readline.js +9 -0
- package/src/node-singletons/url.d.ts +7 -0
- package/src/node-singletons/url.d.ts.map +1 -0
- package/src/node-singletons/url.js +6 -0
- package/src/orm/ConnectionManager.d.ts +118 -0
- package/src/orm/ConnectionManager.d.ts.map +1 -0
- package/src/orm/ConnectionManager.js +401 -0
- package/src/orm/Database.d.ts +31 -0
- package/src/orm/Database.d.ts.map +1 -0
- package/src/orm/Database.js +163 -0
- package/src/orm/DatabaseAdapter.d.ts +96 -0
- package/src/orm/DatabaseAdapter.d.ts.map +1 -0
- package/src/orm/DatabaseAdapter.js +40 -0
- package/src/orm/Model.d.ts +91 -0
- package/src/orm/Model.d.ts.map +1 -0
- package/src/orm/Model.js +206 -0
- package/src/orm/QueryBuilder.d.ts +52 -0
- package/src/orm/QueryBuilder.d.ts.map +1 -0
- package/src/orm/QueryBuilder.js +134 -0
- package/src/orm/Relationships.d.ts +53 -0
- package/src/orm/Relationships.d.ts.map +1 -0
- package/src/orm/Relationships.js +98 -0
- package/src/orm/Schema.d.ts +123 -0
- package/src/orm/Schema.d.ts.map +1 -0
- package/src/orm/Schema.js +169 -0
- package/src/orm/adapters/D1Adapter.d.ts +15 -0
- package/src/orm/adapters/D1Adapter.d.ts.map +1 -0
- package/src/orm/adapters/D1Adapter.js +125 -0
- package/src/orm/adapters/MySQLAdapter.d.ts +16 -0
- package/src/orm/adapters/MySQLAdapter.d.ts.map +1 -0
- package/src/orm/adapters/MySQLAdapter.js +87 -0
- package/src/orm/adapters/PostgreSQLAdapter.d.ts +16 -0
- package/src/orm/adapters/PostgreSQLAdapter.d.ts.map +1 -0
- package/src/orm/adapters/PostgreSQLAdapter.js +87 -0
- package/src/orm/adapters/SQLServerAdapter.d.ts +16 -0
- package/src/orm/adapters/SQLServerAdapter.d.ts.map +1 -0
- package/src/orm/adapters/SQLServerAdapter.js +81 -0
- package/src/orm/adapters/SQLiteAdapter.d.ts +11 -0
- package/src/orm/adapters/SQLiteAdapter.d.ts.map +1 -0
- package/src/orm/adapters/SQLiteAdapter.js +131 -0
- package/src/performance/Benchmark.d.ts +87 -0
- package/src/performance/Benchmark.d.ts.map +1 -0
- package/src/performance/Benchmark.js +304 -0
- package/src/performance/CodeGenerationBenchmark.d.ts +23 -0
- package/src/performance/CodeGenerationBenchmark.d.ts.map +1 -0
- package/src/performance/CodeGenerationBenchmark.js +249 -0
- package/src/performance/Optimizer.d.ts +99 -0
- package/src/performance/Optimizer.d.ts.map +1 -0
- package/src/performance/Optimizer.js +396 -0
- package/src/performance/establish-baseline.d.ts +9 -0
- package/src/performance/establish-baseline.d.ts.map +1 -0
- package/src/performance/establish-baseline.js +55 -0
- package/src/profiling/MemoryProfiler.d.ts +32 -0
- package/src/profiling/MemoryProfiler.d.ts.map +1 -0
- package/src/profiling/MemoryProfiler.js +84 -0
- package/src/profiling/N1Detector.d.ts +16 -0
- package/src/profiling/N1Detector.d.ts.map +1 -0
- package/src/profiling/N1Detector.js +120 -0
- package/src/profiling/QueryLogger.d.ts +107 -0
- package/src/profiling/QueryLogger.d.ts.map +1 -0
- package/src/profiling/QueryLogger.js +148 -0
- package/src/profiling/RequestProfiler.d.ts +30 -0
- package/src/profiling/RequestProfiler.d.ts.map +1 -0
- package/src/profiling/RequestProfiler.js +94 -0
- package/src/profiling/types.d.ts +77 -0
- package/src/profiling/types.d.ts.map +1 -0
- package/src/profiling/types.js +5 -0
- package/src/routing/Router.d.ts +52 -0
- package/src/routing/Router.d.ts.map +1 -0
- package/src/routing/Router.js +191 -0
- package/src/runtime/PluginManager.d.ts +30 -0
- package/src/runtime/PluginManager.d.ts.map +1 -0
- package/src/runtime/PluginManager.js +197 -0
- package/src/runtime/PluginRegistry.d.ts +22 -0
- package/src/runtime/PluginRegistry.d.ts.map +1 -0
- package/src/runtime/PluginRegistry.js +93 -0
- package/src/runtime/RuntimeAdapter.d.ts +126 -0
- package/src/runtime/RuntimeAdapter.d.ts.map +1 -0
- package/src/runtime/RuntimeAdapter.js +127 -0
- package/src/runtime/RuntimeDetector.d.ts +15 -0
- package/src/runtime/RuntimeDetector.d.ts.map +1 -0
- package/src/runtime/RuntimeDetector.js +219 -0
- package/src/runtime/adapters/CloudflareAdapter.d.ts +43 -0
- package/src/runtime/adapters/CloudflareAdapter.d.ts.map +1 -0
- package/src/runtime/adapters/CloudflareAdapter.js +175 -0
- package/src/runtime/adapters/DenoAdapter.d.ts +30 -0
- package/src/runtime/adapters/DenoAdapter.d.ts.map +1 -0
- package/src/runtime/adapters/DenoAdapter.js +191 -0
- package/src/runtime/adapters/FargateAdapter.d.ts +40 -0
- package/src/runtime/adapters/FargateAdapter.d.ts.map +1 -0
- package/src/runtime/adapters/FargateAdapter.js +156 -0
- package/src/runtime/adapters/LambdaAdapter.d.ts +13 -0
- package/src/runtime/adapters/LambdaAdapter.d.ts.map +1 -0
- package/src/runtime/adapters/LambdaAdapter.js +302 -0
- package/src/runtime/adapters/NodeServerAdapter.d.ts +16 -0
- package/src/runtime/adapters/NodeServerAdapter.d.ts.map +1 -0
- package/src/runtime/adapters/NodeServerAdapter.js +199 -0
- package/src/scripts/TemplateSync.d.ts +7 -0
- package/src/scripts/TemplateSync.d.ts.map +1 -0
- package/src/scripts/TemplateSync.js +234 -0
- package/src/security/CsrfTokenManager.d.ts +28 -0
- package/src/security/CsrfTokenManager.d.ts.map +1 -0
- package/src/security/CsrfTokenManager.js +78 -0
- package/src/security/Encryptor.d.ts +15 -0
- package/src/security/Encryptor.d.ts.map +1 -0
- package/src/security/Encryptor.js +142 -0
- package/src/security/JwtManager.d.ts +41 -0
- package/src/security/JwtManager.d.ts.map +1 -0
- package/src/security/JwtManager.js +229 -0
- package/src/security/UrlValidator.d.ts +21 -0
- package/src/security/UrlValidator.d.ts.map +1 -0
- package/src/security/UrlValidator.js +42 -0
- package/src/security/XssProtection.d.ts +24 -0
- package/src/security/XssProtection.d.ts.map +1 -0
- package/src/security/XssProtection.js +133 -0
- package/src/templates/TemplateRegistry.d.ts +40 -0
- package/src/templates/TemplateRegistry.d.ts.map +1 -0
- package/src/templates/TemplateRegistry.js +78 -0
- package/src/templates/TemplateRegistry.ts +91 -0
- package/src/templates/adapters/MySQLAdapter.ts.tpl +97 -0
- package/src/templates/adapters/PostgreSQLAdapter.ts.tpl +101 -0
- package/src/templates/adapters/SQLServerAdapter.ts.tpl +95 -0
- package/src/templates/adapters/SQLiteAdapter.ts.tpl +189 -0
- package/src/templates/features/Auth.ts.tpl +40 -0
- package/src/templates/features/Queue.ts.tpl +75 -0
- package/src/templates/project/basic/.env.example.tpl +26 -0
- package/src/templates/project/basic/.env.tpl +164 -0
- package/src/templates/project/basic/README.md.tpl +13 -0
- package/src/templates/project/basic/app/Controllers/UserController.ts.tpl +155 -0
- package/src/templates/project/basic/app/Middleware/ProfilerMiddleware.ts.tpl +55 -0
- package/src/templates/project/basic/app/Middleware/index.ts.tpl +304 -0
- package/src/templates/project/basic/app/Models/Post.ts.tpl +30 -0
- package/src/templates/project/basic/app/Models/User.ts.tpl +53 -0
- package/src/templates/project/basic/config/SecretsManager.ts.tpl +453 -0
- package/src/templates/project/basic/config/app.ts.tpl +97 -0
- package/src/templates/project/basic/config/cache.ts.tpl +117 -0
- package/src/templates/project/basic/config/constants.ts.tpl +70 -0
- package/src/templates/project/basic/config/database.ts.tpl +152 -0
- package/src/templates/project/basic/config/env.ts.tpl +148 -0
- package/src/templates/project/basic/config/features.ts.tpl +57 -0
- package/src/templates/project/basic/config/index.ts.tpl +36 -0
- package/src/templates/project/basic/config/logger.ts.tpl +95 -0
- package/src/templates/project/basic/config/microservices.ts.tpl +104 -0
- package/src/templates/project/basic/config/queue.ts.tpl +134 -0
- package/src/templates/project/basic/config/security.ts.tpl +149 -0
- package/src/templates/project/basic/config/storage.ts.tpl +136 -0
- package/src/templates/project/basic/database/factories/.gitkeep.tpl +0 -0
- package/src/templates/project/basic/database/migrations/.gitkeep.tpl +0 -0
- package/src/templates/project/basic/database/migrations/index.ts.tpl +2 -0
- package/src/templates/project/basic/database/seeders/.gitkeep.tpl +0 -0
- package/src/templates/project/basic/package.json.tpl +22 -0
- package/src/templates/project/basic/routes/api.ts.tpl +135 -0
- package/src/templates/project/basic/src/index.ts.tpl +49 -0
- package/src/templates/project/basic/template.json +17 -0
- package/src/templates/project/basic/tsconfig.json.tpl +20 -0
- package/src/validation/ValidationError.d.ts +42 -0
- package/src/validation/ValidationError.d.ts.map +1 -0
- package/src/validation/ValidationError.js +53 -0
- package/src/validation/Validator.d.ts +60 -0
- package/src/validation/Validator.d.ts.map +1 -0
- package/src/validation/Validator.js +190 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rate Limiter Middleware
|
|
3
|
+
* Token bucket implementation for request rate limiting
|
|
4
|
+
* Zero-dependency implementation
|
|
5
|
+
*/
|
|
6
|
+
import { Logger } from '../config/logger';
|
|
7
|
+
const DEFAULT_OPTIONS = {
|
|
8
|
+
windowMs: 60 * 1000, // 1 minute
|
|
9
|
+
max: 100, // 100 requests per minute
|
|
10
|
+
message: 'Too many requests, please try again later.',
|
|
11
|
+
statusCode: 429,
|
|
12
|
+
headers: true,
|
|
13
|
+
keyGenerator: (req) => {
|
|
14
|
+
return (req.getHeader('x-forwarded-for') ?? req.getRaw().socket.remoteAddress ?? 'unknown');
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
export const RateLimiter = Object.freeze({
|
|
18
|
+
/**
|
|
19
|
+
* Create rate limiter middleware
|
|
20
|
+
*/
|
|
21
|
+
create(options = DEFAULT_OPTIONS) {
|
|
22
|
+
const config = { ...DEFAULT_OPTIONS, ...options };
|
|
23
|
+
const clients = new Map();
|
|
24
|
+
// Cleanup to prevent unbounded growth.
|
|
25
|
+
// Done lazily (on requests) to avoid background timers in serverless/test environments.
|
|
26
|
+
let nextCleanupAt = Date.now() + config.windowMs;
|
|
27
|
+
const cleanupExpiredClients = (now) => {
|
|
28
|
+
if (now < nextCleanupAt)
|
|
29
|
+
return;
|
|
30
|
+
for (const [key, state] of clients.entries()) {
|
|
31
|
+
if (now > state.resetTime) {
|
|
32
|
+
clients.delete(key);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
nextCleanupAt = now + config.windowMs;
|
|
36
|
+
};
|
|
37
|
+
return async (req, res, next) => {
|
|
38
|
+
const key = config.keyGenerator ? config.keyGenerator(req) : 'unknown';
|
|
39
|
+
const now = Date.now();
|
|
40
|
+
cleanupExpiredClients(now);
|
|
41
|
+
let client = clients.get(key);
|
|
42
|
+
// Initialize or reset if window expired
|
|
43
|
+
if (!client || now > client.resetTime) {
|
|
44
|
+
client = {
|
|
45
|
+
count: 0,
|
|
46
|
+
resetTime: now + config.windowMs,
|
|
47
|
+
};
|
|
48
|
+
clients.set(key, client);
|
|
49
|
+
}
|
|
50
|
+
client.count++;
|
|
51
|
+
const remaining = Math.max(0, config.max - client.count);
|
|
52
|
+
const resetTime = Math.ceil((client.resetTime - now) / 1000);
|
|
53
|
+
// Set headers
|
|
54
|
+
if (config.headers ?? false) {
|
|
55
|
+
res.setHeader('X-RateLimit-Limit', config.max.toString());
|
|
56
|
+
res.setHeader('X-RateLimit-Remaining', remaining.toString());
|
|
57
|
+
res.setHeader('X-RateLimit-Reset', resetTime.toString());
|
|
58
|
+
}
|
|
59
|
+
// Check limit
|
|
60
|
+
if (client.count > config.max) {
|
|
61
|
+
Logger.warn(`Rate limit exceeded for IP: ${key}`);
|
|
62
|
+
res.setStatus(config.statusCode ?? 429);
|
|
63
|
+
res.json({
|
|
64
|
+
error: 'Too Many Requests',
|
|
65
|
+
message: config.message,
|
|
66
|
+
});
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
await next();
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Middleware
|
|
3
|
+
* Implements standard security headers and CORS protection
|
|
4
|
+
* Zero-dependency implementation replacing helmet/cors
|
|
5
|
+
*/
|
|
6
|
+
import { Middleware } from './MiddlewareStack';
|
|
7
|
+
export interface SecurityOptions {
|
|
8
|
+
hsts?: {
|
|
9
|
+
maxAge?: number;
|
|
10
|
+
includeSubDomains?: boolean;
|
|
11
|
+
preload?: boolean;
|
|
12
|
+
};
|
|
13
|
+
frameguard?: {
|
|
14
|
+
action?: 'DENY' | 'SAMEORIGIN';
|
|
15
|
+
};
|
|
16
|
+
cors?: {
|
|
17
|
+
origin?: string;
|
|
18
|
+
methods?: string[];
|
|
19
|
+
allowedHeaders?: string[];
|
|
20
|
+
credentials?: boolean;
|
|
21
|
+
maxAge?: number;
|
|
22
|
+
};
|
|
23
|
+
csp?: {
|
|
24
|
+
directives?: Record<string, string[]>;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export declare const SecurityMiddleware: Readonly<{
|
|
28
|
+
/**
|
|
29
|
+
* Create security middleware with options
|
|
30
|
+
*/
|
|
31
|
+
create(options?: SecurityOptions): Middleware;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=SecurityMiddleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SecurityMiddleware.d.ts","sourceRoot":"","sources":["../../../src/middleware/SecurityMiddleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;KAChC,CAAC;IACF,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KACvC,CAAC;CACH;AA+FD,eAAO,MAAM,kBAAkB;IAC7B;;OAEG;qBACa,eAAe,GAAQ,UAAU;EAgBjD,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Security Middleware
|
|
3
|
+
* Implements standard security headers and CORS protection
|
|
4
|
+
* Zero-dependency implementation replacing helmet/cors
|
|
5
|
+
*/
|
|
6
|
+
const DEFAULT_OPTIONS = {
|
|
7
|
+
hsts: {
|
|
8
|
+
maxAge: 15552000, // 180 days
|
|
9
|
+
includeSubDomains: true,
|
|
10
|
+
preload: false,
|
|
11
|
+
},
|
|
12
|
+
frameguard: {
|
|
13
|
+
action: 'SAMEORIGIN',
|
|
14
|
+
},
|
|
15
|
+
cors: {
|
|
16
|
+
origin: '*',
|
|
17
|
+
methods: ['GET', 'HEAD', 'PUT', 'PATCH', 'POST', 'DELETE'],
|
|
18
|
+
allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With', 'X-CSRF-Token'],
|
|
19
|
+
credentials: true,
|
|
20
|
+
maxAge: 86400,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
function applyHsts(res, hsts) {
|
|
24
|
+
if (!hsts)
|
|
25
|
+
return;
|
|
26
|
+
let headerValue = `max-age=${hsts.maxAge}`;
|
|
27
|
+
if (hsts.includeSubDomains ?? false)
|
|
28
|
+
headerValue += '; includeSubDomains';
|
|
29
|
+
if (hsts.preload ?? false)
|
|
30
|
+
headerValue += '; preload';
|
|
31
|
+
res.setHeader('Strict-Transport-Security', headerValue);
|
|
32
|
+
}
|
|
33
|
+
function applyFrameguard(res, frameguard) {
|
|
34
|
+
if (!frameguard)
|
|
35
|
+
return;
|
|
36
|
+
res.setHeader('X-Frame-Options', frameguard.action ?? 'SAMEORIGIN');
|
|
37
|
+
}
|
|
38
|
+
function applyNoSniff(res) {
|
|
39
|
+
res.setHeader('X-Content-Type-Options', 'nosniff');
|
|
40
|
+
}
|
|
41
|
+
function applyReferrerPolicy(res) {
|
|
42
|
+
res.setHeader('Referrer-Policy', 'no-referrer');
|
|
43
|
+
}
|
|
44
|
+
function applyCsp(res, csp) {
|
|
45
|
+
if (!csp?.directives)
|
|
46
|
+
return;
|
|
47
|
+
const headerValue = Object.entries(csp.directives)
|
|
48
|
+
.map(([key, values]) => `${key} ${values.join(' ')}`)
|
|
49
|
+
.join('; ');
|
|
50
|
+
res.setHeader('Content-Security-Policy', headerValue);
|
|
51
|
+
}
|
|
52
|
+
function applyCors(req, res, cors) {
|
|
53
|
+
if (!cors)
|
|
54
|
+
return false;
|
|
55
|
+
const originHeader = req.getHeader('origin');
|
|
56
|
+
const origin = typeof originHeader === 'string' ? originHeader : undefined;
|
|
57
|
+
let allowedOrigin = cors.origin;
|
|
58
|
+
if (Array.isArray(cors.origin)) {
|
|
59
|
+
if (origin === undefined || !cors.origin.includes(origin)) {
|
|
60
|
+
allowedOrigin = undefined;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
allowedOrigin = origin;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (allowedOrigin !== null && allowedOrigin !== undefined) {
|
|
67
|
+
res.setHeader('Access-Control-Allow-Origin', allowedOrigin ?? '*');
|
|
68
|
+
}
|
|
69
|
+
if (cors.methods) {
|
|
70
|
+
res.setHeader('Access-Control-Allow-Methods', cors.methods.join(', '));
|
|
71
|
+
}
|
|
72
|
+
if (cors.allowedHeaders) {
|
|
73
|
+
res.setHeader('Access-Control-Allow-Headers', cors.allowedHeaders.join(', '));
|
|
74
|
+
}
|
|
75
|
+
if (cors.credentials !== undefined) {
|
|
76
|
+
res.setHeader('Access-Control-Allow-Credentials', 'true');
|
|
77
|
+
}
|
|
78
|
+
if (cors.maxAge !== undefined) {
|
|
79
|
+
res.setHeader('Access-Control-Max-Age', cors.maxAge.toString());
|
|
80
|
+
}
|
|
81
|
+
// Handle Preflight
|
|
82
|
+
if (req.getMethod() === 'OPTIONS') {
|
|
83
|
+
res.setStatus(204);
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
export const SecurityMiddleware = Object.freeze({
|
|
89
|
+
/**
|
|
90
|
+
* Create security middleware with options
|
|
91
|
+
*/
|
|
92
|
+
create(options = {}) {
|
|
93
|
+
const config = { ...DEFAULT_OPTIONS, ...options };
|
|
94
|
+
return async (req, res, next) => {
|
|
95
|
+
applyHsts(res, config.hsts);
|
|
96
|
+
applyFrameguard(res, config.frameguard);
|
|
97
|
+
applyNoSniff(res);
|
|
98
|
+
applyReferrerPolicy(res);
|
|
99
|
+
applyCsp(res, config.csp);
|
|
100
|
+
const preflightHandled = applyCors(req, res, config.cors);
|
|
101
|
+
if (preflightHandled)
|
|
102
|
+
return;
|
|
103
|
+
await next();
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware Exports
|
|
3
|
+
* Central export point for all framework middleware
|
|
4
|
+
*/
|
|
5
|
+
export * from './CsrfMiddleware';
|
|
6
|
+
export * from './MiddlewareStack';
|
|
7
|
+
export * from './RateLimiter';
|
|
8
|
+
export * from './SecurityMiddleware';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/middleware/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Child Process Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:child_process built-in
|
|
5
|
+
*/
|
|
6
|
+
export { execFileSync, execSync, spawn } from 'node:child_process';
|
|
7
|
+
//# sourceMappingURL=child-process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"child-process.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/child-process.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Crypto Module Singleton
|
|
3
|
+
* Safe to import in both API and CLI code
|
|
4
|
+
* Exported from node:crypto built-in
|
|
5
|
+
*/
|
|
6
|
+
export { createHash, createHmac, createSign, createVerify, generateKeyPairSync, pbkdf2Sync, randomBytes, randomInt, } from 'node:crypto';
|
|
7
|
+
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js File System Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:fs and node:fs/promises built-ins
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'node:fs';
|
|
7
|
+
export * as fsPromises from 'node:fs/promises';
|
|
8
|
+
export { appendFileSync, copyFileSync, existsSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
9
|
+
export type { Stats } from 'node:fs';
|
|
10
|
+
export { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
11
|
+
export default fs;
|
|
12
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/fs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAK9B,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,MAAM,EACN,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlE,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js File System Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:fs and node:fs/promises built-ins
|
|
5
|
+
*/
|
|
6
|
+
import * as fs from 'node:fs';
|
|
7
|
+
// Many parts of the CLI codebase use the "fsPromises" naming convention.
|
|
8
|
+
// Exporting it here keeps imports consistent and makes Vitest mocking of
|
|
9
|
+
// `node:fs/promises` flow through this singleton layer.
|
|
10
|
+
export * as fsPromises from 'node:fs/promises';
|
|
11
|
+
export { appendFileSync, copyFileSync, existsSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from 'node:fs';
|
|
12
|
+
export { mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
13
|
+
// Default export for compatibility
|
|
14
|
+
export default fs;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js HTTP Module Singleton
|
|
3
|
+
* Safe to import in both API and CLI code
|
|
4
|
+
* Exported from node:http built-in
|
|
5
|
+
*/
|
|
6
|
+
export { IncomingMessage, ServerResponse, createServer } from 'node:http';
|
|
7
|
+
export type { IncomingHttpHeaders, Server } from 'node:http';
|
|
8
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC1E,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Singleton Modules
|
|
3
|
+
* Centralized exports for all node:* imports
|
|
4
|
+
* This allows conditional loading and runtime-aware imports
|
|
5
|
+
*
|
|
6
|
+
* Safe for all runtimes (API, CLI, Serverless):
|
|
7
|
+
* - http
|
|
8
|
+
* - crypto
|
|
9
|
+
* - events
|
|
10
|
+
* - perf-hooks
|
|
11
|
+
*
|
|
12
|
+
* CLI-only (Node.js):
|
|
13
|
+
* - fs
|
|
14
|
+
* - path
|
|
15
|
+
* - child-process
|
|
16
|
+
* - url
|
|
17
|
+
* - os
|
|
18
|
+
* - readline
|
|
19
|
+
*/
|
|
20
|
+
export * from './crypto';
|
|
21
|
+
export * from './events';
|
|
22
|
+
export * from './http';
|
|
23
|
+
export * from './perf-hooks';
|
|
24
|
+
export * as childProcess from './child-process';
|
|
25
|
+
export * as fs from './fs';
|
|
26
|
+
export * as os from './os';
|
|
27
|
+
export * as path from './path';
|
|
28
|
+
export * as readline from './readline';
|
|
29
|
+
export * as url from './url';
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAG5C,OAAO,KAAK,YAAY,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Singleton Modules
|
|
3
|
+
* Centralized exports for all node:* imports
|
|
4
|
+
* This allows conditional loading and runtime-aware imports
|
|
5
|
+
*
|
|
6
|
+
* Safe for all runtimes (API, CLI, Serverless):
|
|
7
|
+
* - http
|
|
8
|
+
* - crypto
|
|
9
|
+
* - events
|
|
10
|
+
* - perf-hooks
|
|
11
|
+
*
|
|
12
|
+
* CLI-only (Node.js):
|
|
13
|
+
* - fs
|
|
14
|
+
* - path
|
|
15
|
+
* - child-process
|
|
16
|
+
* - url
|
|
17
|
+
* - os
|
|
18
|
+
* - readline
|
|
19
|
+
*/
|
|
20
|
+
// Safe for all runtimes
|
|
21
|
+
export * from './crypto';
|
|
22
|
+
export * from './events';
|
|
23
|
+
export * from './http';
|
|
24
|
+
export * from './perf-hooks';
|
|
25
|
+
// CLI-only (should not be imported in API code)
|
|
26
|
+
export * as childProcess from './child-process';
|
|
27
|
+
export * as fs from './fs';
|
|
28
|
+
export * as os from './os';
|
|
29
|
+
export * as path from './path';
|
|
30
|
+
export * as readline from './readline';
|
|
31
|
+
export * as url from './url';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js OS Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:os built-in
|
|
5
|
+
*/
|
|
6
|
+
export { arch, cpus, freemem, loadavg, platform, tmpdir, totalmem, type } from 'node:os';
|
|
7
|
+
import * as osModule from 'node:os';
|
|
8
|
+
export default osModule;
|
|
9
|
+
//# sourceMappingURL=os.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"os.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/os.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGzF,OAAO,KAAK,QAAQ,MAAM,SAAS,CAAC;AACpC,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js OS Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:os built-in
|
|
5
|
+
*/
|
|
6
|
+
export { arch, cpus, freemem, loadavg, platform, tmpdir, totalmem, type } from 'node:os';
|
|
7
|
+
// Also export the full module for compatibility
|
|
8
|
+
import * as osModule from 'node:os';
|
|
9
|
+
export default osModule;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Path Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:path built-in
|
|
5
|
+
*/
|
|
6
|
+
export { basename, delimiter, dirname, extname, join, relative, resolve, sep } from 'node:path';
|
|
7
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/path.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perf-hooks.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/perf-hooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Readline Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:readline built-in
|
|
5
|
+
*/
|
|
6
|
+
import * as readlineModule from 'node:readline';
|
|
7
|
+
export { createInterface, cursorTo } from 'node:readline';
|
|
8
|
+
export type { Interface } from 'node:readline';
|
|
9
|
+
export default readlineModule;
|
|
10
|
+
//# sourceMappingURL=readline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readline.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/readline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,cAAc,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js Readline Module Singleton
|
|
3
|
+
* CLI-only: Should not be imported in API/serverless code
|
|
4
|
+
* Exported from node:readline built-in
|
|
5
|
+
*/
|
|
6
|
+
import * as readlineModule from 'node:readline';
|
|
7
|
+
export { createInterface, cursorTo } from 'node:readline';
|
|
8
|
+
// Also export the full module for compatibility
|
|
9
|
+
export default readlineModule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/node-singletons/url.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent Connection Manager for Zintrust Framework
|
|
3
|
+
* Handles database connections across different runtime environments
|
|
4
|
+
* Supports: PostgreSQL, MySQL, SQL Server with connection pooling for Lambda
|
|
5
|
+
*/
|
|
6
|
+
export interface ConnectionConfig {
|
|
7
|
+
adapter: 'postgresql' | 'mysql' | 'sqlserver' | 'd1' | 'aurora-data-api';
|
|
8
|
+
host?: string;
|
|
9
|
+
port?: number;
|
|
10
|
+
database: string;
|
|
11
|
+
username?: string;
|
|
12
|
+
password?: string;
|
|
13
|
+
maxConnections?: number;
|
|
14
|
+
idleTimeout?: number;
|
|
15
|
+
connectionTimeout?: number;
|
|
16
|
+
enableRdsProxy?: boolean;
|
|
17
|
+
rdsProxyEndpoint?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface PooledConnection {
|
|
20
|
+
id: string;
|
|
21
|
+
adapter: string;
|
|
22
|
+
createdAt: number;
|
|
23
|
+
lastUsedAt: number;
|
|
24
|
+
isActive: boolean;
|
|
25
|
+
queryCount: number;
|
|
26
|
+
}
|
|
27
|
+
export interface ConnectionPool {
|
|
28
|
+
total: number;
|
|
29
|
+
active: number;
|
|
30
|
+
idle: number;
|
|
31
|
+
queued: number;
|
|
32
|
+
}
|
|
33
|
+
interface ConnectionManagerInstance {
|
|
34
|
+
getConnection(id?: string): Promise<unknown>;
|
|
35
|
+
releaseConnection(connectionId?: string): Promise<void>;
|
|
36
|
+
closeAll(): Promise<void>;
|
|
37
|
+
getPoolStats(): ConnectionPool;
|
|
38
|
+
enableRdsProxy(endpoint: string): Promise<void>;
|
|
39
|
+
getAuroraDataApiConnection(): Promise<AuroraDataApiConnection>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Manages database connections across Lambda warm invocations
|
|
43
|
+
* Reuses connections to reduce cold start impact and connection overhead
|
|
44
|
+
* Sealed namespace object following Pattern 2
|
|
45
|
+
*
|
|
46
|
+
* @see FRAMEWORK_REFACTOR_FUNCTION_PATTERN.md for Pattern 2 details
|
|
47
|
+
*/
|
|
48
|
+
export declare const ConnectionManager: Readonly<{
|
|
49
|
+
/**
|
|
50
|
+
* Get or create singleton instance
|
|
51
|
+
*/
|
|
52
|
+
getInstance(config?: ConnectionConfig): ConnectionManagerInstance;
|
|
53
|
+
/**
|
|
54
|
+
* Get or create database connection
|
|
55
|
+
*/
|
|
56
|
+
getConnection(id?: string): Promise<unknown>;
|
|
57
|
+
/**
|
|
58
|
+
* Release connection back to pool (but keep persistent)
|
|
59
|
+
*/
|
|
60
|
+
releaseConnection(connectionId?: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Close all connections (graceful shutdown)
|
|
63
|
+
*/
|
|
64
|
+
closeAll(): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Get connection pool statistics
|
|
67
|
+
*/
|
|
68
|
+
getPoolStats(): ConnectionPool;
|
|
69
|
+
/**
|
|
70
|
+
* Enable RDS Proxy for connection pooling
|
|
71
|
+
*/
|
|
72
|
+
enableRdsProxy(endpoint: string): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Use Aurora Data API for serverless queries (no persistent connection)
|
|
75
|
+
*/
|
|
76
|
+
getAuroraDataApiConnection(): Promise<AuroraDataApiConnection>;
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Aurora Data API connection interface for serverless
|
|
80
|
+
*/
|
|
81
|
+
export interface AuroraDataApiConnection {
|
|
82
|
+
execute(sql: string, params?: unknown[]): Promise<AuroraQueryResult>;
|
|
83
|
+
batch(statements: Array<{
|
|
84
|
+
sql: string;
|
|
85
|
+
params?: unknown[];
|
|
86
|
+
}>): Promise<AuroraQueryResult[]>;
|
|
87
|
+
}
|
|
88
|
+
export interface AuroraQueryResult {
|
|
89
|
+
numberOfRecordsUpdated: number;
|
|
90
|
+
records: Array<Record<string, unknown>>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get database credentials from AWS Secrets Manager
|
|
94
|
+
*/
|
|
95
|
+
export declare function getDatabaseSecret(_secretName: string): Promise<DatabaseSecret>;
|
|
96
|
+
/**
|
|
97
|
+
* Get database credentials from environment variables
|
|
98
|
+
*/
|
|
99
|
+
export declare function getDatabaseCredentialsFromEnv(): DatabaseSecret;
|
|
100
|
+
/**
|
|
101
|
+
* Secrets Manager for retrieving database credentials securely
|
|
102
|
+
* Sealed namespace object following Pattern 2
|
|
103
|
+
*
|
|
104
|
+
* @see FRAMEWORK_REFACTOR_FUNCTION_PATTERN.md for Pattern 2 details
|
|
105
|
+
*/
|
|
106
|
+
export declare const SecretsHelper: Readonly<{
|
|
107
|
+
getDatabaseSecret: typeof getDatabaseSecret;
|
|
108
|
+
getDatabaseCredentialsFromEnv: typeof getDatabaseCredentialsFromEnv;
|
|
109
|
+
}>;
|
|
110
|
+
export interface DatabaseSecret {
|
|
111
|
+
username: string;
|
|
112
|
+
password: string;
|
|
113
|
+
host: string;
|
|
114
|
+
port: number;
|
|
115
|
+
database: string;
|
|
116
|
+
}
|
|
117
|
+
export {};
|
|
118
|
+
//# sourceMappingURL=ConnectionManager.d.ts.map
|