@warlock.js/core 4.0.174 → 4.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 +5 -1
- package/esm/_virtual/_rolldown/runtime.mjs +7 -0
- package/esm/application/app.d.mts +16 -0
- package/esm/application/app.d.mts.map +1 -0
- package/esm/application/app.mjs +36 -0
- package/esm/application/app.mjs.map +1 -0
- package/esm/application/application-config-types.d.mts +30 -0
- package/esm/application/application-config-types.d.mts.map +1 -0
- package/esm/application/application.d.mts +72 -0
- package/esm/application/application.d.mts.map +1 -0
- package/esm/application/application.mjs +98 -0
- package/esm/application/application.mjs.map +1 -0
- package/esm/application/index.d.mts +3 -0
- package/esm/application/index.mjs +4 -0
- package/esm/benchmark/benchmark-snapshots.d.mts +51 -0
- package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -0
- package/esm/benchmark/benchmark-snapshots.mjs +70 -0
- package/esm/benchmark/benchmark-snapshots.mjs.map +1 -0
- package/esm/benchmark/benchmark.d.mts +29 -0
- package/esm/benchmark/benchmark.d.mts.map +1 -0
- package/esm/benchmark/benchmark.mjs +101 -0
- package/esm/benchmark/benchmark.mjs.map +1 -0
- package/esm/benchmark/channels/console.channel.d.mts +18 -0
- package/esm/benchmark/channels/console.channel.d.mts.map +1 -0
- package/esm/benchmark/channels/console.channel.mjs +32 -0
- package/esm/benchmark/channels/console.channel.mjs.map +1 -0
- package/esm/benchmark/channels/noop.channel.d.mts +9 -0
- package/esm/benchmark/channels/noop.channel.d.mts.map +1 -0
- package/esm/benchmark/channels/noop.channel.mjs +8 -0
- package/esm/benchmark/channels/noop.channel.mjs.map +1 -0
- package/esm/benchmark/index.mjs +7 -0
- package/esm/benchmark/profiler.d.mts +67 -0
- package/esm/benchmark/profiler.d.mts.map +1 -0
- package/esm/benchmark/profiler.mjs +142 -0
- package/esm/benchmark/profiler.mjs.map +1 -0
- package/esm/benchmark/types.d.mts +164 -0
- package/esm/benchmark/types.d.mts.map +1 -0
- package/esm/bootstrap/setup.d.mts +5 -0
- package/esm/bootstrap/setup.d.mts.map +1 -0
- package/esm/bootstrap/setup.mjs +20 -0
- package/esm/bootstrap/setup.mjs.map +1 -0
- package/esm/bootstrap.d.mts +5 -0
- package/esm/bootstrap.d.mts.map +1 -0
- package/esm/bootstrap.mjs +14 -0
- package/esm/bootstrap.mjs.map +1 -0
- package/esm/cache/database-cache-driver.d.mts +60 -0
- package/esm/cache/database-cache-driver.d.mts.map +1 -0
- package/esm/cache/database-cache-driver.mjs +98 -0
- package/esm/cache/database-cache-driver.mjs.map +1 -0
- package/esm/cache/index.d.mts +1 -0
- package/esm/cache/index.mjs +9 -0
- package/esm/cache/index.mjs.map +1 -0
- package/esm/cli/cli-command.d.mts +119 -0
- package/esm/cli/cli-command.d.mts.map +1 -0
- package/esm/cli/cli-command.mjs +159 -0
- package/esm/cli/cli-command.mjs.map +1 -0
- package/esm/cli/cli-commands.manager.mjs +285 -0
- package/esm/cli/cli-commands.manager.mjs.map +1 -0
- package/esm/cli/cli-commands.utils.mjs +187 -0
- package/esm/cli/cli-commands.utils.mjs.map +1 -0
- package/esm/cli/commands/add.command.mjs +27 -0
- package/esm/cli/commands/add.command.mjs.map +1 -0
- package/esm/cli/commands/build.command.mjs +14 -0
- package/esm/cli/commands/build.command.mjs.map +1 -0
- package/esm/cli/commands/create-database.command.mjs +24 -0
- package/esm/cli/commands/create-database.command.mjs.map +1 -0
- package/esm/cli/commands/dev-server.command.mjs +48 -0
- package/esm/cli/commands/dev-server.command.mjs.map +1 -0
- package/esm/cli/commands/drop-tables.command.mjs +23 -0
- package/esm/cli/commands/drop-tables.command.mjs.map +1 -0
- package/esm/cli/commands/generate/generate.command.mjs +201 -0
- package/esm/cli/commands/generate/generate.command.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +49 -0
- package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/controller.generator.mjs +48 -0
- package/esm/cli/commands/generate/generators/controller.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/migration.generator.mjs +81 -0
- package/esm/cli/commands/generate/generators/migration.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/model.generator.mjs +60 -0
- package/esm/cli/commands/generate/generators/model.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/module.generator.mjs +113 -0
- package/esm/cli/commands/generate/generators/module.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/repository.generator.mjs +42 -0
- package/esm/cli/commands/generate/generators/repository.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/resource.generator.mjs +42 -0
- package/esm/cli/commands/generate/generators/resource.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/service.generator.mjs +42 -0
- package/esm/cli/commands/generate/generators/service.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/templates/stubs.mjs +514 -0
- package/esm/cli/commands/generate/templates/stubs.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/name-parser.mjs +69 -0
- package/esm/cli/commands/generate/utils/name-parser.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/path-resolver.mjs +56 -0
- package/esm/cli/commands/generate/utils/path-resolver.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/prompt.mjs +28 -0
- package/esm/cli/commands/generate/utils/prompt.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/writer.mjs +60 -0
- package/esm/cli/commands/generate/utils/writer.mjs.map +1 -0
- package/esm/cli/commands/migrate.command.mjs +60 -0
- package/esm/cli/commands/migrate.command.mjs.map +1 -0
- package/esm/cli/commands/seed.command.mjs +41 -0
- package/esm/cli/commands/seed.command.mjs.map +1 -0
- package/esm/cli/commands/start-production.command.mjs +50 -0
- package/esm/cli/commands/start-production.command.mjs.map +1 -0
- package/esm/cli/commands/storage-put.action.mjs +75 -0
- package/esm/cli/commands/storage-put.action.mjs.map +1 -0
- package/esm/cli/commands/storage-put.command.mjs +46 -0
- package/esm/cli/commands/storage-put.command.mjs.map +1 -0
- package/esm/cli/commands/typings-generator.command.mjs +38 -0
- package/esm/cli/commands/typings-generator.command.mjs.map +1 -0
- package/esm/cli/commands-loader.mjs +50 -0
- package/esm/cli/commands-loader.mjs.map +1 -0
- package/esm/cli/framework-cli-commands.mjs +37 -0
- package/esm/cli/framework-cli-commands.mjs.map +1 -0
- package/esm/cli/index.d.mts +2 -0
- package/esm/cli/parse-cli-args.mjs +62 -0
- package/esm/cli/parse-cli-args.mjs.map +1 -0
- package/esm/cli/start.d.mts +1 -0
- package/esm/cli/start.mjs +8 -0
- package/esm/cli/start.mjs.map +1 -0
- package/esm/cli/string-similarity.mjs +56 -0
- package/esm/cli/string-similarity.mjs.map +1 -0
- package/esm/cli/types.d.mts +216 -0
- package/esm/cli/types.d.mts.map +1 -0
- package/esm/config/config-getter.d.mts +38 -0
- package/esm/config/config-getter.d.mts.map +1 -0
- package/esm/config/config-getter.mjs +28 -0
- package/esm/config/config-getter.mjs.map +1 -0
- package/esm/config/config-handlers.d.mts +11 -0
- package/esm/config/config-handlers.d.mts.map +1 -0
- package/esm/config/config-handlers.mjs +23 -0
- package/esm/config/config-handlers.mjs.map +1 -0
- package/esm/config/config-loader.d.mts +9 -0
- package/esm/config/config-loader.d.mts.map +1 -0
- package/esm/config/config-loader.mjs +48 -0
- package/esm/config/config-loader.mjs.map +1 -0
- package/esm/config/config-manager.mjs +28 -0
- package/esm/config/config-manager.mjs.map +1 -0
- package/esm/config/config-special-handlers.d.mts +21 -0
- package/esm/config/config-special-handlers.d.mts.map +1 -0
- package/esm/config/config-special-handlers.mjs +25 -0
- package/esm/config/config-special-handlers.mjs.map +1 -0
- package/esm/config/index.mjs +5 -0
- package/esm/config/load-config-files.mjs +24 -0
- package/esm/config/load-config-files.mjs.map +1 -0
- package/esm/config/types.d.mts +53 -0
- package/esm/config/types.d.mts.map +1 -0
- package/esm/connectors/base-connector.d.mts +63 -0
- package/esm/connectors/base-connector.d.mts.map +1 -0
- package/esm/connectors/base-connector.mjs +52 -0
- package/esm/connectors/base-connector.mjs.map +1 -0
- package/esm/connectors/cache-connector.d.mts +28 -0
- package/esm/connectors/cache-connector.d.mts.map +1 -0
- package/esm/connectors/cache-connector.mjs +40 -0
- package/esm/connectors/cache-connector.mjs.map +1 -0
- package/esm/connectors/connectors-manager.d.mts +56 -0
- package/esm/connectors/connectors-manager.d.mts.map +1 -0
- package/esm/connectors/connectors-manager.mjs +105 -0
- package/esm/connectors/connectors-manager.mjs.map +1 -0
- package/esm/connectors/database-connector.d.mts +28 -0
- package/esm/connectors/database-connector.d.mts.map +1 -0
- package/esm/connectors/database-connector.mjs +53 -0
- package/esm/connectors/database-connector.mjs.map +1 -0
- package/esm/connectors/herald-connector.d.mts +28 -0
- package/esm/connectors/herald-connector.d.mts.map +1 -0
- package/esm/connectors/herald-connector.mjs +56 -0
- package/esm/connectors/herald-connector.mjs.map +1 -0
- package/esm/connectors/http-connector.d.mts +55 -0
- package/esm/connectors/http-connector.d.mts.map +1 -0
- package/esm/connectors/http-connector.mjs +107 -0
- package/esm/connectors/http-connector.mjs.map +1 -0
- package/esm/connectors/index.d.mts +11 -0
- package/esm/connectors/index.mjs +13 -0
- package/esm/connectors/logger-connector.d.mts +28 -0
- package/esm/connectors/logger-connector.d.mts.map +1 -0
- package/esm/connectors/logger-connector.mjs +52 -0
- package/esm/connectors/logger-connector.mjs.map +1 -0
- package/esm/connectors/mail-connector.d.mts +28 -0
- package/esm/connectors/mail-connector.d.mts.map +1 -0
- package/esm/connectors/mail-connector.mjs +56 -0
- package/esm/connectors/mail-connector.mjs.map +1 -0
- package/esm/connectors/socket-connector.d.mts +36 -0
- package/esm/connectors/socket-connector.d.mts.map +1 -0
- package/esm/connectors/socket-connector.mjs +82 -0
- package/esm/connectors/socket-connector.mjs.map +1 -0
- package/esm/connectors/storage.connector.d.mts +28 -0
- package/esm/connectors/storage.connector.d.mts.map +1 -0
- package/esm/connectors/storage.connector.mjs +40 -0
- package/esm/connectors/storage.connector.mjs.map +1 -0
- package/esm/connectors/types.d.mts +81 -0
- package/esm/connectors/types.d.mts.map +1 -0
- package/esm/connectors/types.mjs +33 -0
- package/esm/connectors/types.mjs.map +1 -0
- package/esm/container/index.d.mts +41 -0
- package/esm/container/index.d.mts.map +1 -0
- package/esm/container/index.mjs +27 -0
- package/esm/container/index.mjs.map +1 -0
- package/esm/database/create-database-action.mjs +32 -0
- package/esm/database/create-database-action.mjs.map +1 -0
- package/esm/database/drop-tables-action.mjs +35 -0
- package/esm/database/drop-tables-action.mjs.map +1 -0
- package/esm/database/index.d.mts +4 -0
- package/esm/database/index.mjs +6 -0
- package/esm/database/migrate-action.mjs +99 -0
- package/esm/database/migrate-action.mjs.map +1 -0
- package/esm/database/models/database-log/database-log.d.mts +19 -0
- package/esm/database/models/database-log/database-log.d.mts.map +1 -0
- package/esm/database/models/database-log/database-log.mjs +23 -0
- package/esm/database/models/database-log/database-log.mjs.map +1 -0
- package/esm/database/models/database-log/index.d.mts +1 -0
- package/esm/database/models/database-log/index.mjs +3 -0
- package/esm/database/seed-command-action.mjs +74 -0
- package/esm/database/seed-command-action.mjs.map +1 -0
- package/esm/database/seeds/seeder.d.mts +44 -0
- package/esm/database/seeds/seeder.d.mts.map +1 -0
- package/esm/database/seeds/seeder.mjs +11 -0
- package/esm/database/seeds/seeder.mjs.map +1 -0
- package/esm/database/seeds/seeders.manager.mjs +129 -0
- package/esm/database/seeds/seeders.manager.mjs.map +1 -0
- package/esm/database/seeds/seeds-table-migration.mjs +31 -0
- package/esm/database/seeds/seeds-table-migration.mjs.map +1 -0
- package/esm/database/seeds/types.d.mts +16 -0
- package/esm/database/seeds/types.d.mts.map +1 -0
- package/esm/database/seeds/utils.mjs +6 -0
- package/esm/database/seeds/utils.mjs.map +1 -0
- package/esm/database/utils.d.mts +20 -0
- package/esm/database/utils.d.mts.map +1 -0
- package/esm/database/utils.mjs +37 -0
- package/esm/database/utils.mjs.map +1 -0
- package/esm/dev-server/create-worker.mjs +41 -0
- package/esm/dev-server/create-worker.mjs.map +1 -0
- package/esm/dev-server/dependency-graph.d.mts +134 -0
- package/esm/dev-server/dependency-graph.d.mts.map +1 -0
- package/esm/dev-server/dependency-graph.mjs +303 -0
- package/esm/dev-server/dependency-graph.mjs.map +1 -0
- package/esm/dev-server/dev-logger.mjs +110 -0
- package/esm/dev-server/dev-logger.mjs.map +1 -0
- package/esm/dev-server/development-server.mjs +115 -0
- package/esm/dev-server/development-server.mjs.map +1 -0
- package/esm/dev-server/events.mjs +9 -0
- package/esm/dev-server/events.mjs.map +1 -0
- package/esm/dev-server/file-event-handler.mjs +98 -0
- package/esm/dev-server/file-event-handler.mjs.map +1 -0
- package/esm/dev-server/file-manager.d.mts +77 -0
- package/esm/dev-server/file-manager.d.mts.map +1 -0
- package/esm/dev-server/file-manager.mjs +157 -0
- package/esm/dev-server/file-manager.mjs.map +1 -0
- package/esm/dev-server/file-operations.d.mts +43 -0
- package/esm/dev-server/file-operations.d.mts.map +1 -0
- package/esm/dev-server/file-operations.mjs +113 -0
- package/esm/dev-server/file-operations.mjs.map +1 -0
- package/esm/dev-server/files-orchestrator.d.mts +89 -0
- package/esm/dev-server/files-orchestrator.d.mts.map +1 -0
- package/esm/dev-server/files-orchestrator.mjs +201 -0
- package/esm/dev-server/files-orchestrator.mjs.map +1 -0
- package/esm/dev-server/files-watcher.d.mts +69 -0
- package/esm/dev-server/files-watcher.d.mts.map +1 -0
- package/esm/dev-server/files-watcher.mjs +129 -0
- package/esm/dev-server/files-watcher.mjs.map +1 -0
- package/esm/dev-server/flags.mjs +9 -0
- package/esm/dev-server/flags.mjs.map +1 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts +55 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts.map +1 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.mjs +65 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.mjs.map +1 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts +44 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts.map +1 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +155 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts +60 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts.map +1 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +192 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -0
- package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +63 -0
- package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -0
- package/esm/dev-server/health-checker/file-health-result.d.mts +70 -0
- package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -0
- package/esm/dev-server/health-checker/file-health-result.mjs +41 -0
- package/esm/dev-server/health-checker/file-health-result.mjs.map +1 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.d.mts +119 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.d.mts.map +1 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.mjs +346 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -0
- package/esm/dev-server/health-checker/index.mjs +7 -0
- package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +188 -0
- package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -0
- package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +212 -0
- package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -0
- package/esm/dev-server/layer-executor.mjs +114 -0
- package/esm/dev-server/layer-executor.mjs.map +1 -0
- package/esm/dev-server/loader/build-transpile-init.mjs +49 -0
- package/esm/dev-server/loader/build-transpile-init.mjs.map +1 -0
- package/esm/dev-server/loader/register-loader.mjs +68 -0
- package/esm/dev-server/loader/register-loader.mjs.map +1 -0
- package/esm/dev-server/loader/transpile-cache.mjs +57 -0
- package/esm/dev-server/loader/transpile-cache.mjs.map +1 -0
- package/esm/dev-server/manifest-manager.d.mts +71 -0
- package/esm/dev-server/manifest-manager.d.mts.map +1 -0
- package/esm/dev-server/manifest-manager.mjs +107 -0
- package/esm/dev-server/manifest-manager.mjs.map +1 -0
- package/esm/dev-server/module-loader.d.mts +51 -0
- package/esm/dev-server/module-loader.d.mts.map +1 -0
- package/esm/dev-server/module-loader.mjs +111 -0
- package/esm/dev-server/module-loader.mjs.map +1 -0
- package/esm/dev-server/package-json-manager.mjs +26 -0
- package/esm/dev-server/package-json-manager.mjs.map +1 -0
- package/esm/dev-server/parse-imports.mjs +348 -0
- package/esm/dev-server/parse-imports.mjs.map +1 -0
- package/esm/dev-server/path.mjs +63 -0
- package/esm/dev-server/path.mjs.map +1 -0
- package/esm/dev-server/special-files-collector.d.mts +23 -0
- package/esm/dev-server/special-files-collector.d.mts.map +1 -0
- package/esm/dev-server/special-files-collector.mjs +67 -0
- package/esm/dev-server/special-files-collector.mjs.map +1 -0
- package/esm/dev-server/start-development-server.mjs +63 -0
- package/esm/dev-server/start-development-server.mjs.map +1 -0
- package/esm/dev-server/tsconfig-manager.mjs +81 -0
- package/esm/dev-server/tsconfig-manager.mjs.map +1 -0
- package/esm/dev-server/type-generator.mjs +453 -0
- package/esm/dev-server/type-generator.mjs.map +1 -0
- package/esm/dev-server/types.d.mts +31 -0
- package/esm/dev-server/types.d.mts.map +1 -0
- package/esm/dev-server/utils.mjs +33 -0
- package/esm/dev-server/utils.mjs.map +1 -0
- package/esm/encryption/encrypt.d.mts +26 -0
- package/esm/encryption/encrypt.d.mts.map +1 -0
- package/esm/encryption/encrypt.mjs +81 -0
- package/esm/encryption/encrypt.mjs.map +1 -0
- package/esm/encryption/hash.d.mts +20 -0
- package/esm/encryption/hash.d.mts.map +1 -0
- package/esm/encryption/hash.mjs +31 -0
- package/esm/encryption/hash.mjs.map +1 -0
- package/esm/encryption/index.mjs +5 -0
- package/esm/encryption/password.d.mts +26 -0
- package/esm/encryption/password.d.mts.map +1 -0
- package/esm/encryption/password.mjs +73 -0
- package/esm/encryption/password.mjs.map +1 -0
- package/esm/encryption/types.d.mts +54 -0
- package/esm/encryption/types.d.mts.map +1 -0
- package/esm/generations/add-command.action.mjs +381 -0
- package/esm/generations/add-command.action.mjs.map +1 -0
- package/esm/generations/stubs.mjs +103 -0
- package/esm/generations/stubs.mjs.map +1 -0
- package/esm/http/config.d.mts +14 -0
- package/esm/http/config.d.mts.map +1 -0
- package/esm/http/config.mjs +26 -0
- package/esm/http/config.mjs.map +1 -0
- package/esm/http/context/request-context.d.mts +50 -0
- package/esm/http/context/request-context.d.mts.map +1 -0
- package/esm/http/context/request-context.mjs +59 -0
- package/esm/http/context/request-context.mjs.map +1 -0
- package/esm/http/createHttpApplication.d.mts +6 -0
- package/esm/http/createHttpApplication.d.mts.map +1 -0
- package/esm/http/createHttpApplication.mjs +38 -0
- package/esm/http/createHttpApplication.mjs.map +1 -0
- package/esm/http/database/RequestLog.d.mts +19 -0
- package/esm/http/database/RequestLog.d.mts.map +1 -0
- package/esm/http/database/RequestLog.mjs +32 -0
- package/esm/http/database/RequestLog.mjs.map +1 -0
- package/esm/http/error-codes.d.mts +44 -0
- package/esm/http/error-codes.d.mts.map +1 -0
- package/esm/http/error-codes.mjs +46 -0
- package/esm/http/error-codes.mjs.map +1 -0
- package/esm/http/errors/errors.d.mts +42 -0
- package/esm/http/errors/errors.d.mts.map +1 -0
- package/esm/http/errors/errors.mjs +70 -0
- package/esm/http/errors/errors.mjs.map +1 -0
- package/esm/http/events.d.mts +8 -0
- package/esm/http/events.d.mts.map +1 -0
- package/esm/http/events.mjs +29 -0
- package/esm/http/events.mjs.map +1 -0
- package/esm/http/index.d.mts +27 -0
- package/esm/http/index.mjs +22 -0
- package/esm/http/middleware/cache-response-middleware.d.mts +38 -0
- package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -0
- package/esm/http/middleware/cache-response-middleware.mjs +39 -0
- package/esm/http/middleware/cache-response-middleware.mjs.map +1 -0
- package/esm/http/middleware/concurrency-limit.middleware.d.mts +53 -0
- package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -0
- package/esm/http/middleware/concurrency-limit.middleware.mjs +67 -0
- package/esm/http/middleware/concurrency-limit.middleware.mjs.map +1 -0
- package/esm/http/middleware/idempotency.middleware.d.mts +61 -0
- package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -0
- package/esm/http/middleware/idempotency.middleware.mjs +88 -0
- package/esm/http/middleware/idempotency.middleware.mjs.map +1 -0
- package/esm/http/middleware/index.d.mts +11 -0
- package/esm/http/middleware/index.mjs +7 -0
- package/esm/http/middleware/inject-request-context.d.mts +25 -0
- package/esm/http/middleware/inject-request-context.d.mts.map +1 -0
- package/esm/http/middleware/inject-request-context.mjs +118 -0
- package/esm/http/middleware/inject-request-context.mjs.map +1 -0
- package/esm/http/middleware/ip-filter.middleware.d.mts +52 -0
- package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -0
- package/esm/http/middleware/ip-filter.middleware.mjs +51 -0
- package/esm/http/middleware/ip-filter.middleware.mjs.map +1 -0
- package/esm/http/middleware/maintenance.middleware.d.mts +49 -0
- package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -0
- package/esm/http/middleware/maintenance.middleware.mjs +48 -0
- package/esm/http/middleware/maintenance.middleware.mjs.map +1 -0
- package/esm/http/middleware/max-body-size.middleware.d.mts +26 -0
- package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -0
- package/esm/http/middleware/max-body-size.middleware.mjs +46 -0
- package/esm/http/middleware/max-body-size.middleware.mjs.map +1 -0
- package/esm/http/middleware/middleware-list.d.mts +44 -0
- package/esm/http/middleware/middleware-list.d.mts.map +1 -0
- package/esm/http/middleware/middleware-list.mjs +45 -0
- package/esm/http/middleware/middleware-list.mjs.map +1 -0
- package/esm/http/middleware/rate-limit.middleware.d.mts +51 -0
- package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -0
- package/esm/http/middleware/rate-limit.middleware.mjs +70 -0
- package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -0
- package/esm/http/middleware/utils/cidr-match.d.mts +12 -0
- package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -0
- package/esm/http/middleware/utils/cidr-match.mjs +51 -0
- package/esm/http/middleware/utils/cidr-match.mjs.map +1 -0
- package/esm/http/middleware/utils/idempotency-key.d.mts +33 -0
- package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -0
- package/esm/http/middleware/utils/idempotency-key.mjs +51 -0
- package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -0
- package/esm/http/middleware/utils/index.d.mts +3 -0
- package/esm/http/middleware/utils/parse-size.d.mts +5 -0
- package/esm/http/middleware/utils/parse-size.d.mts.map +1 -0
- package/esm/http/middleware/utils/parse-size.mjs +32 -0
- package/esm/http/middleware/utils/parse-size.mjs.map +1 -0
- package/esm/http/plugins.d.mts +7 -0
- package/esm/http/plugins.d.mts.map +1 -0
- package/esm/http/plugins.mjs +37 -0
- package/esm/http/plugins.mjs.map +1 -0
- package/esm/http/request-controller.d.mts +15 -0
- package/esm/http/request-controller.d.mts.map +1 -0
- package/esm/http/request-controller.mjs +11 -0
- package/esm/http/request-controller.mjs.map +1 -0
- package/esm/http/request.d.mts +458 -0
- package/esm/http/request.d.mts.map +1 -0
- package/esm/http/request.mjs +714 -0
- package/esm/http/request.mjs.map +1 -0
- package/esm/http/response.d.mts +452 -0
- package/esm/http/response.d.mts.map +1 -0
- package/esm/http/response.mjs +851 -0
- package/esm/http/response.mjs.map +1 -0
- package/esm/http/server.d.mts +12 -0
- package/esm/http/server.d.mts.map +1 -0
- package/esm/http/server.mjs +28 -0
- package/esm/http/server.mjs.map +1 -0
- package/esm/http/types.d.mts +326 -0
- package/esm/http/types.d.mts.map +1 -0
- package/esm/http/uploaded-file.d.mts +464 -0
- package/esm/http/uploaded-file.d.mts.map +1 -0
- package/esm/http/uploaded-file.mjs +579 -0
- package/esm/http/uploaded-file.mjs.map +1 -0
- package/esm/http/uploads-config.d.mts +30 -0
- package/esm/http/uploads-config.d.mts.map +1 -0
- package/esm/http/uploads-config.mjs +42 -0
- package/esm/http/uploads-config.mjs.map +1 -0
- package/esm/http/uploads-types.d.mts +240 -0
- package/esm/http/uploads-types.d.mts.map +1 -0
- package/esm/image/image.d.mts +389 -0
- package/esm/image/image.d.mts.map +1 -0
- package/esm/image/image.mjs +529 -0
- package/esm/image/image.mjs.map +1 -0
- package/esm/image/index.d.mts +1 -0
- package/esm/image/index.mjs +3 -0
- package/esm/index.d.mts +145 -0
- package/esm/index.mjs +145 -0
- package/esm/logger/index.d.mts +2 -0
- package/esm/logger/index.mjs +3 -0
- package/esm/logger/logger.d.mts +7 -0
- package/esm/logger/logger.d.mts.map +1 -0
- package/esm/logger/logger.mjs +17 -0
- package/esm/logger/logger.mjs.map +1 -0
- package/esm/logger/types.d.mts +42 -0
- package/esm/logger/types.d.mts.map +1 -0
- package/esm/mail/config.d.mts +84 -0
- package/esm/mail/config.d.mts.map +1 -0
- package/esm/mail/config.mjs +143 -0
- package/esm/mail/config.mjs.map +1 -0
- package/esm/mail/events.d.mts +99 -0
- package/esm/mail/events.d.mts.map +1 -0
- package/esm/mail/events.mjs +129 -0
- package/esm/mail/events.mjs.map +1 -0
- package/esm/mail/index.d.mts +8 -0
- package/esm/mail/index.mjs +10 -0
- package/esm/mail/mail.d.mts +178 -0
- package/esm/mail/mail.d.mts.map +1 -0
- package/esm/mail/mail.mjs +289 -0
- package/esm/mail/mail.mjs.map +1 -0
- package/esm/mail/mailer-pool.d.mts +31 -0
- package/esm/mail/mailer-pool.d.mts.map +1 -0
- package/esm/mail/mailer-pool.mjs +190 -0
- package/esm/mail/mailer-pool.mjs.map +1 -0
- package/esm/mail/react-mail.d.mts +16 -0
- package/esm/mail/react-mail.d.mts.map +1 -0
- package/esm/mail/react-mail.mjs +39 -0
- package/esm/mail/react-mail.mjs.map +1 -0
- package/esm/mail/send-mail.d.mts +37 -0
- package/esm/mail/send-mail.d.mts.map +1 -0
- package/esm/mail/send-mail.mjs +264 -0
- package/esm/mail/send-mail.mjs.map +1 -0
- package/esm/mail/test-mailbox.d.mts +50 -0
- package/esm/mail/test-mailbox.d.mts.map +1 -0
- package/esm/mail/test-mailbox.mjs +79 -0
- package/esm/mail/test-mailbox.mjs.map +1 -0
- package/esm/mail/types.d.mts +267 -0
- package/esm/mail/types.d.mts.map +1 -0
- package/esm/mail/types.mjs +16 -0
- package/esm/mail/types.mjs.map +1 -0
- package/esm/manifest/manifest-manager.mjs +79 -0
- package/esm/manifest/manifest-manager.mjs.map +1 -0
- package/esm/production/build-app-production.mjs +14 -0
- package/esm/production/build-app-production.mjs.map +1 -0
- package/esm/production/esbuild-plugins.mjs +37 -0
- package/esm/production/esbuild-plugins.mjs.map +1 -0
- package/esm/production/production-builder.mjs +264 -0
- package/esm/production/production-builder.mjs.map +1 -0
- package/esm/production/resolve-build-config.mjs +28 -0
- package/esm/production/resolve-build-config.mjs.map +1 -0
- package/esm/react/index.d.mts +18 -0
- package/esm/react/index.d.mts.map +1 -0
- package/esm/react/index.mjs +58 -0
- package/esm/react/index.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +91 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.mjs +147 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +146 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.mjs +238 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/filter-applicator.mjs +381 -0
- package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/index.d.mts +2 -0
- package/esm/repositories/adapters/cascade/index.mjs +4 -0
- package/esm/repositories/contracts/index.d.mts +3 -0
- package/esm/repositories/contracts/query-builder.contract.d.mts +324 -0
- package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -0
- package/esm/repositories/contracts/repository-adapter.contract.d.mts +187 -0
- package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -0
- package/esm/repositories/contracts/types.d.mts +332 -0
- package/esm/repositories/contracts/types.d.mts.map +1 -0
- package/esm/repositories/index.d.mts +6 -0
- package/esm/repositories/index.mjs +6 -0
- package/esm/repositories/repository.manager.d.mts +700 -0
- package/esm/repositories/repository.manager.d.mts.map +1 -0
- package/esm/repositories/repository.manager.mjs +927 -0
- package/esm/repositories/repository.manager.mjs.map +1 -0
- package/esm/resource/define-resource.d.mts +69 -0
- package/esm/resource/define-resource.d.mts.map +1 -0
- package/esm/resource/define-resource.mjs +63 -0
- package/esm/resource/define-resource.mjs.map +1 -0
- package/esm/resource/index.d.mts +5 -0
- package/esm/resource/index.mjs +6 -0
- package/esm/resource/register-resource.d.mts +25 -0
- package/esm/resource/register-resource.d.mts.map +1 -0
- package/esm/resource/register-resource.mjs +30 -0
- package/esm/resource/register-resource.mjs.map +1 -0
- package/esm/resource/resource-field-builder.d.mts +108 -0
- package/esm/resource/resource-field-builder.d.mts.map +1 -0
- package/esm/resource/resource-field-builder.mjs +187 -0
- package/esm/resource/resource-field-builder.mjs.map +1 -0
- package/esm/resource/resource.d.mts +221 -0
- package/esm/resource/resource.d.mts.map +1 -0
- package/esm/resource/resource.mjs +239 -0
- package/esm/resource/resource.mjs.map +1 -0
- package/esm/resource/types.d.mts +77 -0
- package/esm/resource/types.d.mts.map +1 -0
- package/esm/restful/index.d.mts +1 -0
- package/esm/restful/index.mjs +3 -0
- package/esm/restful/restful.d.mts +115 -0
- package/esm/restful/restful.d.mts.map +1 -0
- package/esm/restful/restful.mjs +212 -0
- package/esm/restful/restful.mjs.map +1 -0
- package/esm/router/index.d.mts +2 -0
- package/esm/router/index.mjs +3 -0
- package/esm/router/route-builder.d.mts +124 -0
- package/esm/router/route-builder.d.mts.map +1 -0
- package/esm/router/route-builder.mjs +182 -0
- package/esm/router/route-builder.mjs.map +1 -0
- package/esm/router/route-registry.mjs +61 -0
- package/esm/router/route-registry.mjs.map +1 -0
- package/esm/router/router.d.mts +192 -0
- package/esm/router/router.d.mts.map +1 -0
- package/esm/router/router.mjs +498 -0
- package/esm/router/router.mjs.map +1 -0
- package/esm/router/types.d.mts +260 -0
- package/esm/router/types.d.mts.map +1 -0
- package/esm/socket/index.d.mts +2 -0
- package/esm/socket/index.mjs +3 -0
- package/esm/socket/types.d.mts +19 -0
- package/esm/socket/types.d.mts.map +1 -0
- package/esm/socket/utils.d.mts +10 -0
- package/esm/socket/utils.d.mts.map +1 -0
- package/esm/socket/utils.mjs +14 -0
- package/esm/socket/utils.mjs.map +1 -0
- package/esm/storage/config.d.mts +19 -0
- package/esm/storage/config.d.mts.map +1 -0
- package/esm/storage/config.mjs +38 -0
- package/esm/storage/config.mjs.map +1 -0
- package/esm/storage/context/storage-driver-context.d.mts +72 -0
- package/esm/storage/context/storage-driver-context.d.mts.map +1 -0
- package/esm/storage/context/storage-driver-context.mjs +87 -0
- package/esm/storage/context/storage-driver-context.mjs.map +1 -0
- package/esm/storage/drivers/cloud-driver.d.mts +208 -0
- package/esm/storage/drivers/cloud-driver.d.mts.map +1 -0
- package/esm/storage/drivers/cloud-driver.mjs +593 -0
- package/esm/storage/drivers/cloud-driver.mjs.map +1 -0
- package/esm/storage/drivers/do-spaces-driver.d.mts +47 -0
- package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -0
- package/esm/storage/drivers/do-spaces-driver.mjs +53 -0
- package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -0
- package/esm/storage/drivers/local-driver.d.mts +157 -0
- package/esm/storage/drivers/local-driver.d.mts.map +1 -0
- package/esm/storage/drivers/local-driver.mjs +379 -0
- package/esm/storage/drivers/local-driver.mjs.map +1 -0
- package/esm/storage/drivers/r2-driver.d.mts +51 -0
- package/esm/storage/drivers/r2-driver.d.mts.map +1 -0
- package/esm/storage/drivers/r2-driver.mjs +58 -0
- package/esm/storage/drivers/r2-driver.mjs.map +1 -0
- package/esm/storage/drivers/s3-driver.d.mts +36 -0
- package/esm/storage/drivers/s3-driver.d.mts.map +1 -0
- package/esm/storage/drivers/s3-driver.mjs +40 -0
- package/esm/storage/drivers/s3-driver.mjs.map +1 -0
- package/esm/storage/index.d.mts +12 -0
- package/esm/storage/index.mjs +13 -0
- package/esm/storage/scoped-storage.d.mts +549 -0
- package/esm/storage/scoped-storage.d.mts.map +1 -0
- package/esm/storage/scoped-storage.mjs +693 -0
- package/esm/storage/scoped-storage.mjs.map +1 -0
- package/esm/storage/storage-file.d.mts +252 -0
- package/esm/storage/storage-file.d.mts.map +1 -0
- package/esm/storage/storage-file.mjs +363 -0
- package/esm/storage/storage-file.mjs.map +1 -0
- package/esm/storage/storage.d.mts +578 -0
- package/esm/storage/storage.d.mts.map +1 -0
- package/esm/storage/storage.mjs +871 -0
- package/esm/storage/storage.mjs.map +1 -0
- package/esm/storage/types.d.mts +967 -0
- package/esm/storage/types.d.mts.map +1 -0
- package/esm/storage/utils/mime.d.mts +36 -0
- package/esm/storage/utils/mime.d.mts.map +1 -0
- package/esm/storage/utils/mime.mjs +47 -0
- package/esm/storage/utils/mime.mjs.map +1 -0
- package/esm/tests/index.d.mts +3 -0
- package/esm/tests/index.mjs +5 -0
- package/esm/tests/start-http-development-server.d.mts +18 -0
- package/esm/tests/start-http-development-server.d.mts.map +1 -0
- package/esm/tests/start-http-development-server.mjs +74 -0
- package/esm/tests/start-http-development-server.mjs.map +1 -0
- package/esm/tests/test-helpers.d.mts +46 -0
- package/esm/tests/test-helpers.d.mts.map +1 -0
- package/esm/tests/test-helpers.mjs +99 -0
- package/esm/tests/test-helpers.mjs.map +1 -0
- package/esm/tests/vitest-setup.d.mts +14 -0
- package/esm/tests/vitest-setup.d.mts.map +1 -0
- package/esm/tests/vitest-setup.mjs +36 -0
- package/esm/tests/vitest-setup.mjs.map +1 -0
- package/esm/use-cases/index.d.mts +7 -0
- package/esm/use-cases/index.mjs +8 -0
- package/esm/use-cases/types.d.mts +306 -0
- package/esm/use-cases/types.d.mts.map +1 -0
- package/esm/use-cases/use-case-broadcast.d.mts +24 -0
- package/esm/use-cases/use-case-broadcast.d.mts.map +1 -0
- package/esm/use-cases/use-case-broadcast.mjs +36 -0
- package/esm/use-cases/use-case-broadcast.mjs.map +1 -0
- package/esm/use-cases/use-case-events.d.mts +40 -0
- package/esm/use-cases/use-case-events.d.mts.map +1 -0
- package/esm/use-cases/use-case-events.mjs +67 -0
- package/esm/use-cases/use-case-events.mjs.map +1 -0
- package/esm/use-cases/use-case-pipeline.d.mts +33 -0
- package/esm/use-cases/use-case-pipeline.d.mts.map +1 -0
- package/esm/use-cases/use-case-pipeline.mjs +47 -0
- package/esm/use-cases/use-case-pipeline.mjs.map +1 -0
- package/esm/use-cases/use-case.d.mts +35 -0
- package/esm/use-cases/use-case.d.mts.map +1 -0
- package/esm/use-cases/use-case.errors.d.mts +10 -0
- package/esm/use-cases/use-case.errors.d.mts.map +1 -0
- package/esm/use-cases/use-case.errors.mjs +15 -0
- package/esm/use-cases/use-case.errors.mjs.map +1 -0
- package/esm/use-cases/use-case.mjs +138 -0
- package/esm/use-cases/use-case.mjs.map +1 -0
- package/esm/use-cases/use-cases-registry.d.mts +41 -0
- package/esm/use-cases/use-cases-registry.d.mts.map +1 -0
- package/esm/use-cases/use-cases-registry.mjs +110 -0
- package/esm/use-cases/use-cases-registry.mjs.map +1 -0
- package/esm/utils/app-log.d.mts +11 -0
- package/esm/utils/app-log.d.mts.map +1 -0
- package/esm/utils/app-log.mjs +14 -0
- package/esm/utils/app-log.mjs.map +1 -0
- package/esm/utils/database-log.d.mts +28 -0
- package/esm/utils/database-log.d.mts.map +1 -0
- package/esm/utils/database-log.mjs +48 -0
- package/esm/utils/database-log.mjs.map +1 -0
- package/esm/utils/environment.d.mts +7 -0
- package/esm/utils/environment.d.mts.map +1 -0
- package/esm/utils/environment.mjs +11 -0
- package/esm/utils/environment.mjs.map +1 -0
- package/esm/utils/framework-vesion.mjs +24 -0
- package/esm/utils/framework-vesion.mjs.map +1 -0
- package/esm/utils/get-localized.d.mts +13 -0
- package/esm/utils/get-localized.d.mts.map +1 -0
- package/esm/utils/get-localized.mjs +17 -0
- package/esm/utils/get-localized.mjs.map +1 -0
- package/esm/utils/index.d.mts +11 -0
- package/esm/utils/index.mjs +13 -0
- package/esm/utils/paths.d.mts +72 -0
- package/esm/utils/paths.d.mts.map +1 -0
- package/esm/utils/paths.mjs +107 -0
- package/esm/utils/paths.mjs.map +1 -0
- package/esm/utils/promise-all-object.d.mts +9 -0
- package/esm/utils/promise-all-object.d.mts.map +1 -0
- package/esm/utils/promise-all-object.mjs +16 -0
- package/esm/utils/promise-all-object.mjs.map +1 -0
- package/esm/utils/queue.d.mts +52 -0
- package/esm/utils/queue.d.mts.map +1 -0
- package/esm/utils/queue.mjs +66 -0
- package/esm/utils/queue.mjs.map +1 -0
- package/esm/utils/sleep.d.mts +5 -0
- package/esm/utils/sleep.d.mts.map +1 -0
- package/esm/utils/sleep.mjs +8 -0
- package/esm/utils/sleep.mjs.map +1 -0
- package/esm/utils/sluggable.d.mts +10 -0
- package/esm/utils/sluggable.d.mts.map +1 -0
- package/esm/utils/sluggable.mjs +18 -0
- package/esm/utils/sluggable.mjs.map +1 -0
- package/esm/utils/to-json.d.mts +5 -0
- package/esm/utils/to-json.d.mts.map +1 -0
- package/esm/utils/to-json.mjs +23 -0
- package/esm/utils/to-json.mjs.map +1 -0
- package/esm/utils/types.d.mts +24 -0
- package/esm/utils/types.d.mts.map +1 -0
- package/esm/utils/urls.d.mts +24 -0
- package/esm/utils/urls.d.mts.map +1 -0
- package/esm/utils/urls.mjs +38 -0
- package/esm/utils/urls.mjs.map +1 -0
- package/esm/validation/database/exists-except-current-id.d.mts +11 -0
- package/esm/validation/database/exists-except-current-id.d.mts.map +1 -0
- package/esm/validation/database/exists-except-current-id.mjs +30 -0
- package/esm/validation/database/exists-except-current-id.mjs.map +1 -0
- package/esm/validation/database/exists-except-current-user.d.mts +11 -0
- package/esm/validation/database/exists-except-current-user.d.mts.map +1 -0
- package/esm/validation/database/exists-except-current-user.mjs +30 -0
- package/esm/validation/database/exists-except-current-user.mjs.map +1 -0
- package/esm/validation/database/index.d.mts +5 -0
- package/esm/validation/database/index.mjs +6 -0
- package/esm/validation/database/types.d.mts +32 -0
- package/esm/validation/database/types.d.mts.map +1 -0
- package/esm/validation/database/unique-except-current-id.d.mts +11 -0
- package/esm/validation/database/unique-except-current-id.d.mts.map +1 -0
- package/esm/validation/database/unique-except-current-id.mjs +30 -0
- package/esm/validation/database/unique-except-current-id.mjs.map +1 -0
- package/esm/validation/database/unique-except-current-user.d.mts +11 -0
- package/esm/validation/database/unique-except-current-user.d.mts.map +1 -0
- package/esm/validation/database/unique-except-current-user.mjs +35 -0
- package/esm/validation/database/unique-except-current-user.mjs.map +1 -0
- package/esm/validation/file/file.d.mts +26 -0
- package/esm/validation/file/file.d.mts.map +1 -0
- package/esm/validation/file/file.mjs +57 -0
- package/esm/validation/file/file.mjs.map +1 -0
- package/esm/validation/file/index.d.mts +1 -0
- package/esm/validation/file/index.mjs +3 -0
- package/esm/validation/index.d.mts +8 -0
- package/esm/validation/index.mjs +11 -0
- package/esm/validation/init.mjs +47 -0
- package/esm/validation/init.mjs.map +1 -0
- package/esm/validation/plugins/database-plugin.mjs +59 -0
- package/esm/validation/plugins/database-plugin.mjs.map +1 -0
- package/esm/validation/plugins/file-plugin.mjs +20 -0
- package/esm/validation/plugins/file-plugin.mjs.map +1 -0
- package/esm/validation/plugins/index.mjs +5 -0
- package/esm/validation/plugins/localized-plugin.mjs +21 -0
- package/esm/validation/plugins/localized-plugin.mjs.map +1 -0
- package/esm/validation/types.d.mts +71 -0
- package/esm/validation/types.d.mts.map +1 -0
- package/esm/validation/validateAll.mjs +53 -0
- package/esm/validation/validateAll.mjs.map +1 -0
- package/esm/validation/validators/file-validator.d.mts +65 -0
- package/esm/validation/validators/file-validator.d.mts.map +1 -0
- package/esm/validation/validators/file-validator.mjs +125 -0
- package/esm/validation/validators/file-validator.mjs.map +1 -0
- package/esm/validation/validators/index.d.mts +1 -0
- package/esm/validation/validators/index.mjs +3 -0
- package/esm/warlock-config/default-configurations.mjs +11 -0
- package/esm/warlock-config/default-configurations.mjs.map +1 -0
- package/esm/warlock-config/define-config.d.mts +7 -0
- package/esm/warlock-config/define-config.d.mts.map +1 -0
- package/esm/warlock-config/define-config.mjs +11 -0
- package/esm/warlock-config/define-config.mjs.map +1 -0
- package/esm/warlock-config/index.d.mts +3 -0
- package/esm/warlock-config/index.mjs +4 -0
- package/esm/warlock-config/types.d.mts +143 -0
- package/esm/warlock-config/types.d.mts.map +1 -0
- package/esm/warlock-config/warlock-config.manager.d.mts +86 -0
- package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -0
- package/esm/warlock-config/warlock-config.manager.mjs +117 -0
- package/esm/warlock-config/warlock-config.manager.mjs.map +1 -0
- package/llms-full.txt +8233 -0
- package/llms.txt +41 -0
- package/package.json +93 -71
- package/skills/add-connector/SKILL.md +224 -0
- package/skills/benchmark-code/SKILL.md +256 -0
- package/skills/build-restful/SKILL.md +268 -0
- package/skills/build-url/SKILL.md +180 -0
- package/skills/configure-app/SKILL.md +219 -0
- package/skills/create-controller/SKILL.md +223 -0
- package/skills/create-module/SKILL.md +190 -0
- package/skills/define-resource/SKILL.md +297 -0
- package/skills/encrypt-data/SKILL.md +208 -0
- package/skills/hash-password/SKILL.md +183 -0
- package/skills/process-image/SKILL.md +169 -0
- package/skills/register-route/SKILL.md +159 -0
- package/skills/resolve-path/SKILL.md +170 -0
- package/skills/retry-operation/SKILL.md +109 -0
- package/skills/run-app/SKILL.md +256 -0
- package/skills/send-mail/SKILL.md +372 -0
- package/skills/send-response/SKILL.md +245 -0
- package/skills/store-file/SKILL.md +385 -0
- package/skills/test-http/SKILL.md +287 -0
- package/skills/test-service/SKILL.md +241 -0
- package/skills/upload-file/SKILL.md +297 -0
- package/skills/use-app-context/SKILL.md +240 -0
- package/skills/use-localization/SKILL.md +296 -0
- package/skills/use-middleware/SKILL.md +221 -0
- package/skills/use-model-transformers/SKILL.md +220 -0
- package/skills/use-repository/SKILL.md +393 -0
- package/skills/validate-input/SKILL.md +297 -0
- package/skills/warlock-conventions/SKILL.md +125 -0
- package/skills/wire-socket/SKILL.md +284 -0
- package/skills/write-cli-command/SKILL.md +289 -0
- package/skills/write-middleware/SKILL.md +220 -0
- package/skills/write-seeder/SKILL.md +279 -0
- package/skills/write-use-case/SKILL.md +293 -0
- package/esm/application/app.d.ts +0 -13
- package/esm/application/app.d.ts.map +0 -1
- package/esm/application/app.js +0 -29
- package/esm/application/app.js.map +0 -1
- package/esm/application/application-config-types.d.ts +0 -27
- package/esm/application/application-config-types.d.ts.map +0 -1
- package/esm/application/application.d.ts +0 -68
- package/esm/application/application.d.ts.map +0 -1
- package/esm/application/application.js +0 -94
- package/esm/application/application.js.map +0 -1
- package/esm/application/index.d.ts +0 -4
- package/esm/application/index.d.ts.map +0 -1
- package/esm/benchmark/benchmark-snapshots.d.ts +0 -47
- package/esm/benchmark/benchmark-snapshots.d.ts.map +0 -1
- package/esm/benchmark/benchmark-snapshots.js +0 -77
- package/esm/benchmark/benchmark-snapshots.js.map +0 -1
- package/esm/benchmark/benchmark.d.ts +0 -25
- package/esm/benchmark/benchmark.d.ts.map +0 -1
- package/esm/benchmark/benchmark.example.d.ts +0 -2
- package/esm/benchmark/benchmark.example.d.ts.map +0 -1
- package/esm/benchmark/benchmark.js +0 -120
- package/esm/benchmark/benchmark.js.map +0 -1
- package/esm/benchmark/channels/console.channel.d.ts +0 -14
- package/esm/benchmark/channels/console.channel.d.ts.map +0 -1
- package/esm/benchmark/channels/console.channel.js +0 -29
- package/esm/benchmark/channels/console.channel.js.map +0 -1
- package/esm/benchmark/channels/index.d.ts +0 -3
- package/esm/benchmark/channels/index.d.ts.map +0 -1
- package/esm/benchmark/channels/noop.channel.d.ts +0 -5
- package/esm/benchmark/channels/noop.channel.d.ts.map +0 -1
- package/esm/benchmark/channels/noop.channel.js +0 -3
- package/esm/benchmark/channels/noop.channel.js.map +0 -1
- package/esm/benchmark/index.d.ts +0 -7
- package/esm/benchmark/index.d.ts.map +0 -1
- package/esm/benchmark/profiler.d.ts +0 -63
- package/esm/benchmark/profiler.d.ts.map +0 -1
- package/esm/benchmark/profiler.js +0 -155
- package/esm/benchmark/profiler.js.map +0 -1
- package/esm/benchmark/types.d.ts +0 -167
- package/esm/benchmark/types.d.ts.map +0 -1
- package/esm/bootstrap/setup.d.ts +0 -2
- package/esm/bootstrap/setup.d.ts.map +0 -1
- package/esm/bootstrap/setup.js +0 -14
- package/esm/bootstrap/setup.js.map +0 -1
- package/esm/bootstrap.d.ts +0 -2
- package/esm/bootstrap.d.ts.map +0 -1
- package/esm/bootstrap.js +0 -5
- package/esm/bootstrap.js.map +0 -1
- package/esm/cache/database-cache-driver.d.ts +0 -56
- package/esm/cache/database-cache-driver.d.ts.map +0 -1
- package/esm/cache/database-cache-driver.js +0 -112
- package/esm/cache/database-cache-driver.js.map +0 -1
- package/esm/cache/index.d.ts +0 -3
- package/esm/cache/index.d.ts.map +0 -1
- package/esm/cache/index.js +0 -1
- package/esm/cache/index.js.map +0 -1
- package/esm/cli/cli-command.d.ts +0 -115
- package/esm/cli/cli-command.d.ts.map +0 -1
- package/esm/cli/cli-command.js +0 -227
- package/esm/cli/cli-command.js.map +0 -1
- package/esm/cli/cli-commands.manager.d.ts +0 -71
- package/esm/cli/cli-commands.manager.d.ts.map +0 -1
- package/esm/cli/cli-commands.manager.js +0 -362
- package/esm/cli/cli-commands.manager.js.map +0 -1
- package/esm/cli/cli-commands.utils.d.ts +0 -69
- package/esm/cli/cli-commands.utils.d.ts.map +0 -1
- package/esm/cli/cli-commands.utils.js +0 -180
- package/esm/cli/cli-commands.utils.js.map +0 -1
- package/esm/cli/commands/add.command.d.ts +0 -2
- package/esm/cli/commands/add.command.d.ts.map +0 -1
- package/esm/cli/commands/add.command.js +0 -15
- package/esm/cli/commands/add.command.js.map +0 -1
- package/esm/cli/commands/build.command.d.ts +0 -2
- package/esm/cli/commands/build.command.d.ts.map +0 -1
- package/esm/cli/commands/build.command.js +0 -8
- package/esm/cli/commands/build.command.js.map +0 -1
- package/esm/cli/commands/create-database.command.d.ts +0 -2
- package/esm/cli/commands/create-database.command.d.ts.map +0 -1
- package/esm/cli/commands/create-database.command.js +0 -18
- package/esm/cli/commands/create-database.command.js.map +0 -1
- package/esm/cli/commands/dev-server.command.d.ts +0 -2
- package/esm/cli/commands/dev-server.command.d.ts.map +0 -1
- package/esm/cli/commands/dev-server.command.js +0 -18
- package/esm/cli/commands/dev-server.command.js.map +0 -1
- package/esm/cli/commands/drop-tables.command.d.ts +0 -2
- package/esm/cli/commands/drop-tables.command.d.ts.map +0 -1
- package/esm/cli/commands/drop-tables.command.js +0 -17
- package/esm/cli/commands/drop-tables.command.js.map +0 -1
- package/esm/cli/commands/generate/generate.command.d.ts +0 -10
- package/esm/cli/commands/generate/generate.command.d.ts.map +0 -1
- package/esm/cli/commands/generate/generate.command.js +0 -188
- package/esm/cli/commands/generate/generate.command.js.map +0 -1
- package/esm/cli/commands/generate/generators/column-dsl-parser.d.ts +0 -11
- package/esm/cli/commands/generate/generators/column-dsl-parser.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/column-dsl-parser.js +0 -47
- package/esm/cli/commands/generate/generators/column-dsl-parser.js.map +0 -1
- package/esm/cli/commands/generate/generators/controller.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/controller.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/controller.generator.js +0 -51
- package/esm/cli/commands/generate/generators/controller.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/migration.generator.d.ts +0 -13
- package/esm/cli/commands/generate/generators/migration.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/migration.generator.js +0 -82
- package/esm/cli/commands/generate/generators/migration.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/model.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/model.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/model.generator.js +0 -58
- package/esm/cli/commands/generate/generators/model.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/module.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/module.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/module.generator.js +0 -149
- package/esm/cli/commands/generate/generators/module.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/repository.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/repository.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/repository.generator.js +0 -37
- package/esm/cli/commands/generate/generators/repository.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/resource.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/resource.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/resource.generator.js +0 -37
- package/esm/cli/commands/generate/generators/resource.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/service.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/service.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/service.generator.js +0 -37
- package/esm/cli/commands/generate/generators/service.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/validation.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/validation.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/validation.generator.js +0 -46
- package/esm/cli/commands/generate/generators/validation.generator.js.map +0 -1
- package/esm/cli/commands/generate/templates/stubs.d.ts +0 -129
- package/esm/cli/commands/generate/templates/stubs.d.ts.map +0 -1
- package/esm/cli/commands/generate/templates/stubs.js +0 -528
- package/esm/cli/commands/generate/templates/stubs.js.map +0 -1
- package/esm/cli/commands/generate/types.d.ts +0 -53
- package/esm/cli/commands/generate/types.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/name-parser.d.ts +0 -40
- package/esm/cli/commands/generate/utils/name-parser.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/name-parser.js +0 -65
- package/esm/cli/commands/generate/utils/name-parser.js.map +0 -1
- package/esm/cli/commands/generate/utils/path-resolver.d.ts +0 -30
- package/esm/cli/commands/generate/utils/path-resolver.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/path-resolver.js +0 -42
- package/esm/cli/commands/generate/utils/path-resolver.js.map +0 -1
- package/esm/cli/commands/generate/utils/prompt.d.ts +0 -13
- package/esm/cli/commands/generate/utils/prompt.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/prompt.js +0 -21
- package/esm/cli/commands/generate/utils/prompt.js.map +0 -1
- package/esm/cli/commands/migrate.command.d.ts +0 -2
- package/esm/cli/commands/migrate.command.d.ts.map +0 -1
- package/esm/cli/commands/migrate.command.js +0 -52
- package/esm/cli/commands/migrate.command.js.map +0 -1
- package/esm/cli/commands/seed.command.d.ts +0 -2
- package/esm/cli/commands/seed.command.d.ts.map +0 -1
- package/esm/cli/commands/seed.command.js +0 -29
- package/esm/cli/commands/seed.command.js.map +0 -1
- package/esm/cli/commands/start-production.command.d.ts +0 -2
- package/esm/cli/commands/start-production.command.d.ts.map +0 -1
- package/esm/cli/commands/start-production.command.js +0 -65
- package/esm/cli/commands/start-production.command.js.map +0 -1
- package/esm/cli/commands/storage-put.action.d.ts +0 -22
- package/esm/cli/commands/storage-put.action.d.ts.map +0 -1
- package/esm/cli/commands/storage-put.action.js +0 -75
- package/esm/cli/commands/storage-put.action.js.map +0 -1
- package/esm/cli/commands/storage-put.command.d.ts +0 -20
- package/esm/cli/commands/storage-put.command.d.ts.map +0 -1
- package/esm/cli/commands/storage-put.command.js +0 -41
- package/esm/cli/commands/storage-put.command.js.map +0 -1
- package/esm/cli/commands/typings-generator.command.d.ts +0 -2
- package/esm/cli/commands/typings-generator.command.d.ts.map +0 -1
- package/esm/cli/commands/typings-generator.command.js +0 -37
- package/esm/cli/commands/typings-generator.command.js.map +0 -1
- package/esm/cli/commands-loader.d.ts +0 -18
- package/esm/cli/commands-loader.d.ts.map +0 -1
- package/esm/cli/commands-loader.js +0 -45
- package/esm/cli/commands-loader.js.map +0 -1
- package/esm/cli/framework-cli-commands.d.ts +0 -2
- package/esm/cli/framework-cli-commands.d.ts.map +0 -1
- package/esm/cli/framework-cli-commands.js +0 -27
- package/esm/cli/framework-cli-commands.js.map +0 -1
- package/esm/cli/index.d.ts +0 -3
- package/esm/cli/index.d.ts.map +0 -1
- package/esm/cli/index.js +0 -1
- package/esm/cli/index.js.map +0 -1
- package/esm/cli/parse-cli-args.d.ts +0 -18
- package/esm/cli/parse-cli-args.d.ts.map +0 -1
- package/esm/cli/parse-cli-args.js +0 -82
- package/esm/cli/parse-cli-args.js.map +0 -1
- package/esm/cli/start.d.ts +0 -2
- package/esm/cli/start.d.ts.map +0 -1
- package/esm/cli/start.js +0 -2
- package/esm/cli/start.js.map +0 -1
- package/esm/cli/string-similarity.d.ts +0 -44
- package/esm/cli/string-similarity.d.ts.map +0 -1
- package/esm/cli/string-similarity.js +0 -57
- package/esm/cli/string-similarity.js.map +0 -1
- package/esm/cli/types.d.ts +0 -218
- package/esm/cli/types.d.ts.map +0 -1
- package/esm/config/config-getter.d.ts +0 -35
- package/esm/config/config-getter.d.ts.map +0 -1
- package/esm/config/config-getter.js +0 -21
- package/esm/config/config-getter.js.map +0 -1
- package/esm/config/config-handlers.d.ts +0 -7
- package/esm/config/config-handlers.d.ts.map +0 -1
- package/esm/config/config-handlers.js +0 -19
- package/esm/config/config-handlers.js.map +0 -1
- package/esm/config/config-loader.d.ts +0 -37
- package/esm/config/config-loader.d.ts.map +0 -1
- package/esm/config/config-loader.js +0 -85
- package/esm/config/config-loader.js.map +0 -1
- package/esm/config/config-manager.d.ts +0 -22
- package/esm/config/config-manager.d.ts.map +0 -1
- package/esm/config/config-manager.js +0 -25
- package/esm/config/config-manager.js.map +0 -1
- package/esm/config/config-special-handlers.d.ts +0 -17
- package/esm/config/config-special-handlers.d.ts.map +0 -1
- package/esm/config/config-special-handlers.js +0 -23
- package/esm/config/config-special-handlers.js.map +0 -1
- package/esm/config/index.d.ts +0 -5
- package/esm/config/index.d.ts.map +0 -1
- package/esm/config/load-config-files.d.ts +0 -6
- package/esm/config/load-config-files.d.ts.map +0 -1
- package/esm/config/load-config-files.js +0 -19
- package/esm/config/load-config-files.js.map +0 -1
- package/esm/config/types.d.ts +0 -52
- package/esm/config/types.d.ts.map +0 -1
- package/esm/connectors/base-connector.d.ts +0 -49
- package/esm/connectors/base-connector.d.ts.map +0 -1
- package/esm/connectors/base-connector.js +0 -48
- package/esm/connectors/base-connector.js.map +0 -1
- package/esm/connectors/cache-connector.d.ts +0 -23
- package/esm/connectors/cache-connector.d.ts.map +0 -1
- package/esm/connectors/cache-connector.js +0 -35
- package/esm/connectors/cache-connector.js.map +0 -1
- package/esm/connectors/connectors-manager.d.ts +0 -42
- package/esm/connectors/connectors-manager.d.ts.map +0 -1
- package/esm/connectors/connectors-manager.js +0 -94
- package/esm/connectors/connectors-manager.js.map +0 -1
- package/esm/connectors/database-connector.d.ts +0 -23
- package/esm/connectors/database-connector.d.ts.map +0 -1
- package/esm/connectors/database-connector.js +0 -52
- package/esm/connectors/database-connector.js.map +0 -1
- package/esm/connectors/herald-connector.d.ts +0 -23
- package/esm/connectors/herald-connector.d.ts.map +0 -1
- package/esm/connectors/herald-connector.js +0 -57
- package/esm/connectors/herald-connector.js.map +0 -1
- package/esm/connectors/http-connector.d.ts +0 -31
- package/esm/connectors/http-connector.d.ts.map +0 -1
- package/esm/connectors/http-connector.js +0 -85
- package/esm/connectors/http-connector.js.map +0 -1
- package/esm/connectors/index.d.ts +0 -16
- package/esm/connectors/index.d.ts.map +0 -1
- package/esm/connectors/logger-connector.d.ts +0 -23
- package/esm/connectors/logger-connector.d.ts.map +0 -1
- package/esm/connectors/logger-connector.js +0 -45
- package/esm/connectors/logger-connector.js.map +0 -1
- package/esm/connectors/mail-connector.d.ts +0 -23
- package/esm/connectors/mail-connector.d.ts.map +0 -1
- package/esm/connectors/mail-connector.js +0 -45
- package/esm/connectors/mail-connector.js.map +0 -1
- package/esm/connectors/socket-connector.d.ts +0 -25
- package/esm/connectors/socket-connector.d.ts.map +0 -1
- package/esm/connectors/socket-connector.js +0 -57
- package/esm/connectors/socket-connector.js.map +0 -1
- package/esm/connectors/storage.connector.d.ts +0 -23
- package/esm/connectors/storage.connector.d.ts.map +0 -1
- package/esm/connectors/storage.connector.js +0 -30
- package/esm/connectors/storage.connector.js.map +0 -1
- package/esm/connectors/types.d.ts +0 -55
- package/esm/connectors/types.d.ts.map +0 -1
- package/esm/connectors/types.js +0 -14
- package/esm/connectors/types.js.map +0 -1
- package/esm/container/index.d.ts +0 -38
- package/esm/container/index.d.ts.map +0 -1
- package/esm/container/index.js +0 -22
- package/esm/container/index.js.map +0 -1
- package/esm/database/create-database-action.d.ts +0 -3
- package/esm/database/create-database-action.d.ts.map +0 -1
- package/esm/database/create-database-action.js +0 -28
- package/esm/database/create-database-action.js.map +0 -1
- package/esm/database/drop-tables-action.d.ts +0 -3
- package/esm/database/drop-tables-action.d.ts.map +0 -1
- package/esm/database/drop-tables-action.js +0 -29
- package/esm/database/drop-tables-action.js.map +0 -1
- package/esm/database/index.d.ts +0 -4
- package/esm/database/index.d.ts.map +0 -1
- package/esm/database/migrate-action.d.ts +0 -8
- package/esm/database/migrate-action.d.ts.map +0 -1
- package/esm/database/migrate-action.js +0 -118
- package/esm/database/migrate-action.js.map +0 -1
- package/esm/database/models/database-log/database-log.d.ts +0 -16
- package/esm/database/models/database-log/database-log.d.ts.map +0 -1
- package/esm/database/models/database-log/database-log.js +0 -17
- package/esm/database/models/database-log/database-log.js.map +0 -1
- package/esm/database/models/database-log/index.d.ts +0 -2
- package/esm/database/models/database-log/index.d.ts.map +0 -1
- package/esm/database/seed-command-action.d.ts +0 -16
- package/esm/database/seed-command-action.d.ts.map +0 -1
- package/esm/database/seed-command-action.js +0 -68
- package/esm/database/seed-command-action.js.map +0 -1
- package/esm/database/seeds/index.d.ts +0 -3
- package/esm/database/seeds/index.d.ts.map +0 -1
- package/esm/database/seeds/seeder.d.ts +0 -40
- package/esm/database/seeds/seeder.d.ts.map +0 -1
- package/esm/database/seeds/seeder.js +0 -6
- package/esm/database/seeds/seeder.js.map +0 -1
- package/esm/database/seeds/seeders.manager.d.ts +0 -51
- package/esm/database/seeds/seeders.manager.d.ts.map +0 -1
- package/esm/database/seeds/seeders.manager.js +0 -150
- package/esm/database/seeds/seeders.manager.js.map +0 -1
- package/esm/database/seeds/seeds-table-migration.d.ts +0 -8
- package/esm/database/seeds/seeds-table-migration.d.ts.map +0 -1
- package/esm/database/seeds/seeds-table-migration.js +0 -18
- package/esm/database/seeds/seeds-table-migration.js.map +0 -1
- package/esm/database/seeds/types.d.ts +0 -13
- package/esm/database/seeds/types.d.ts.map +0 -1
- package/esm/database/seeds/utils.d.ts +0 -2
- package/esm/database/seeds/utils.d.ts.map +0 -1
- package/esm/database/seeds/utils.js +0 -1
- package/esm/database/seeds/utils.js.map +0 -1
- package/esm/database/utils.d.ts +0 -17
- package/esm/database/utils.d.ts.map +0 -1
- package/esm/database/utils.js +0 -30
- package/esm/database/utils.js.map +0 -1
- package/esm/dev-server/create-worker.d.ts +0 -34
- package/esm/dev-server/create-worker.d.ts.map +0 -1
- package/esm/dev-server/create-worker.js +0 -37
- package/esm/dev-server/create-worker.js.map +0 -1
- package/esm/dev-server/dependency-graph.d.ts +0 -102
- package/esm/dev-server/dependency-graph.d.ts.map +0 -1
- package/esm/dev-server/dependency-graph.js +0 -310
- package/esm/dev-server/dependency-graph.js.map +0 -1
- package/esm/dev-server/dev-logger.d.ts +0 -14
- package/esm/dev-server/dev-logger.d.ts.map +0 -1
- package/esm/dev-server/dev-logger.js +0 -130
- package/esm/dev-server/dev-logger.js.map +0 -1
- package/esm/dev-server/development-server.d.ts +0 -55
- package/esm/dev-server/development-server.d.ts.map +0 -1
- package/esm/dev-server/development-server.js +0 -199
- package/esm/dev-server/development-server.js.map +0 -1
- package/esm/dev-server/events.d.ts +0 -5
- package/esm/dev-server/events.d.ts.map +0 -1
- package/esm/dev-server/events.js +0 -4
- package/esm/dev-server/events.js.map +0 -1
- package/esm/dev-server/export-analyzer.d.ts +0 -84
- package/esm/dev-server/export-analyzer.d.ts.map +0 -1
- package/esm/dev-server/export-analyzer.js +0 -206
- package/esm/dev-server/export-analyzer.js.map +0 -1
- package/esm/dev-server/file-event-handler.d.ts +0 -156
- package/esm/dev-server/file-event-handler.d.ts.map +0 -1
- package/esm/dev-server/file-event-handler.js +0 -309
- package/esm/dev-server/file-event-handler.js.map +0 -1
- package/esm/dev-server/file-manager.d.ts +0 -394
- package/esm/dev-server/file-manager.d.ts.map +0 -1
- package/esm/dev-server/file-manager.js +0 -603
- package/esm/dev-server/file-manager.js.map +0 -1
- package/esm/dev-server/file-operations.d.ts +0 -203
- package/esm/dev-server/file-operations.d.ts.map +0 -1
- package/esm/dev-server/file-operations.js +0 -365
- package/esm/dev-server/file-operations.js.map +0 -1
- package/esm/dev-server/files-orchestrator.d.ts +0 -153
- package/esm/dev-server/files-orchestrator.d.ts.map +0 -1
- package/esm/dev-server/files-orchestrator.js +0 -349
- package/esm/dev-server/files-orchestrator.js.map +0 -1
- package/esm/dev-server/files-watcher.d.ts +0 -67
- package/esm/dev-server/files-watcher.d.ts.map +0 -1
- package/esm/dev-server/files-watcher.js +0 -121
- package/esm/dev-server/files-watcher.js.map +0 -1
- package/esm/dev-server/flags.d.ts +0 -10
- package/esm/dev-server/flags.d.ts.map +0 -1
- package/esm/dev-server/flags.js +0 -9
- package/esm/dev-server/flags.js.map +0 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts +0 -52
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.js +0 -71
- package/esm/dev-server/health-checker/checkers/base-health-checker.js.map +0 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts +0 -40
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.js +0 -217
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.js.map +0 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts +0 -56
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.js +0 -279
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.js.map +0 -1
- package/esm/dev-server/health-checker/file-health-checker.contract.d.ts +0 -59
- package/esm/dev-server/health-checker/file-health-checker.contract.d.ts.map +0 -1
- package/esm/dev-server/health-checker/file-health-result.d.ts +0 -68
- package/esm/dev-server/health-checker/file-health-result.d.ts.map +0 -1
- package/esm/dev-server/health-checker/file-health-result.js +0 -40
- package/esm/dev-server/health-checker/file-health-result.js.map +0 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.d.ts +0 -115
- package/esm/dev-server/health-checker/files-healthcare.manager.d.ts.map +0 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.js +0 -422
- package/esm/dev-server/health-checker/files-healthcare.manager.js.map +0 -1
- package/esm/dev-server/health-checker/index.d.ts +0 -6
- package/esm/dev-server/health-checker/index.d.ts.map +0 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts +0 -2
- package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.js +0 -214
- package/esm/dev-server/health-checker/workers/eslint-health.worker.js.map +0 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts +0 -2
- package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.js +0 -261
- package/esm/dev-server/health-checker/workers/ts-health.worker.js.map +0 -1
- package/esm/dev-server/import-deduplicator.d.ts +0 -75
- package/esm/dev-server/import-deduplicator.d.ts.map +0 -1
- package/esm/dev-server/import-deduplicator.js +0 -288
- package/esm/dev-server/import-deduplicator.js.map +0 -1
- package/esm/dev-server/import-deduplicator.test.d.ts +0 -7
- package/esm/dev-server/import-deduplicator.test.d.ts.map +0 -1
- package/esm/dev-server/import-transformer.d.ts +0 -17
- package/esm/dev-server/import-transformer.d.ts.map +0 -1
- package/esm/dev-server/import-transformer.js +0 -221
- package/esm/dev-server/import-transformer.js.map +0 -1
- package/esm/dev-server/index.d.ts +0 -1
- package/esm/dev-server/index.d.ts.map +0 -1
- package/esm/dev-server/layer-executor.d.ts +0 -64
- package/esm/dev-server/layer-executor.d.ts.map +0 -1
- package/esm/dev-server/layer-executor.js +0 -338
- package/esm/dev-server/layer-executor.js.map +0 -1
- package/esm/dev-server/manifest-manager.d.ts +0 -80
- package/esm/dev-server/manifest-manager.d.ts.map +0 -1
- package/esm/dev-server/manifest-manager.js +0 -107
- package/esm/dev-server/manifest-manager.js.map +0 -1
- package/esm/dev-server/module-loader.d.ts +0 -111
- package/esm/dev-server/module-loader.d.ts.map +0 -1
- package/esm/dev-server/module-loader.js +0 -276
- package/esm/dev-server/module-loader.js.map +0 -1
- package/esm/dev-server/package-json-manager.d.ts +0 -16
- package/esm/dev-server/package-json-manager.d.ts.map +0 -1
- package/esm/dev-server/package-json-manager.js +0 -20
- package/esm/dev-server/package-json-manager.js.map +0 -1
- package/esm/dev-server/parse-imports.d.ts +0 -34
- package/esm/dev-server/parse-imports.d.ts.map +0 -1
- package/esm/dev-server/parse-imports.js +0 -426
- package/esm/dev-server/parse-imports.js.map +0 -1
- package/esm/dev-server/path.d.ts +0 -39
- package/esm/dev-server/path.d.ts.map +0 -1
- package/esm/dev-server/path.js +0 -56
- package/esm/dev-server/path.js.map +0 -1
- package/esm/dev-server/runtime-import-helper.d.ts +0 -8
- package/esm/dev-server/runtime-import-helper.d.ts.map +0 -1
- package/esm/dev-server/runtime-import-helper.js +0 -158
- package/esm/dev-server/runtime-import-helper.js.map +0 -1
- package/esm/dev-server/special-files-collector.d.ts +0 -114
- package/esm/dev-server/special-files-collector.d.ts.map +0 -1
- package/esm/dev-server/special-files-collector.js +0 -212
- package/esm/dev-server/special-files-collector.js.map +0 -1
- package/esm/dev-server/start-development-server.d.ts +0 -7
- package/esm/dev-server/start-development-server.d.ts.map +0 -1
- package/esm/dev-server/start-development-server.js +0 -21
- package/esm/dev-server/start-development-server.js.map +0 -1
- package/esm/dev-server/transpile-file.d.ts +0 -11
- package/esm/dev-server/transpile-file.d.ts.map +0 -1
- package/esm/dev-server/transpile-file.js +0 -30
- package/esm/dev-server/transpile-file.js.map +0 -1
- package/esm/dev-server/tsconfig-manager.d.ts +0 -45
- package/esm/dev-server/tsconfig-manager.d.ts.map +0 -1
- package/esm/dev-server/tsconfig-manager.js +0 -107
- package/esm/dev-server/tsconfig-manager.js.map +0 -1
- package/esm/dev-server/type-generator.d.ts +0 -115
- package/esm/dev-server/type-generator.d.ts.map +0 -1
- package/esm/dev-server/type-generator.js +0 -566
- package/esm/dev-server/type-generator.js.map +0 -1
- package/esm/dev-server/types.d.ts +0 -30
- package/esm/dev-server/types.d.ts.map +0 -1
- package/esm/dev-server/utils.d.ts +0 -15
- package/esm/dev-server/utils.d.ts.map +0 -1
- package/esm/dev-server/utils.js +0 -41
- package/esm/dev-server/utils.js.map +0 -1
- package/esm/encryption/encrypt.d.ts +0 -23
- package/esm/encryption/encrypt.d.ts.map +0 -1
- package/esm/encryption/encrypt.js +0 -85
- package/esm/encryption/encrypt.js.map +0 -1
- package/esm/encryption/hash.d.ts +0 -17
- package/esm/encryption/hash.d.ts.map +0 -1
- package/esm/encryption/hash.js +0 -26
- package/esm/encryption/hash.js.map +0 -1
- package/esm/encryption/index.d.ts +0 -5
- package/esm/encryption/index.d.ts.map +0 -1
- package/esm/encryption/password.d.ts +0 -23
- package/esm/encryption/password.d.ts.map +0 -1
- package/esm/encryption/password.js +0 -72
- package/esm/encryption/password.js.map +0 -1
- package/esm/encryption/types.d.ts +0 -51
- package/esm/encryption/types.d.ts.map +0 -1
- package/esm/generations/add-command.action.d.ts +0 -3
- package/esm/generations/add-command.action.d.ts.map +0 -1
- package/esm/generations/add-command.action.js +0 -382
- package/esm/generations/add-command.action.js.map +0 -1
- package/esm/generations/stubs.d.ts +0 -2
- package/esm/generations/stubs.d.ts.map +0 -1
- package/esm/generations/stubs.js +0 -81
- package/esm/generations/stubs.js.map +0 -1
- package/esm/http/config.d.ts +0 -10
- package/esm/http/config.d.ts.map +0 -1
- package/esm/http/config.js +0 -22
- package/esm/http/config.js.map +0 -1
- package/esm/http/context/request-context.d.ts +0 -47
- package/esm/http/context/request-context.d.ts.map +0 -1
- package/esm/http/context/request-context.js +0 -52
- package/esm/http/context/request-context.js.map +0 -1
- package/esm/http/createHttpApplication.d.ts +0 -3
- package/esm/http/createHttpApplication.d.ts.map +0 -1
- package/esm/http/createHttpApplication.js +0 -28
- package/esm/http/createHttpApplication.js.map +0 -1
- package/esm/http/database/RequestLog.d.ts +0 -16
- package/esm/http/database/RequestLog.d.ts.map +0 -1
- package/esm/http/database/RequestLog.js +0 -26
- package/esm/http/database/RequestLog.js.map +0 -1
- package/esm/http/errors/errors.d.ts +0 -39
- package/esm/http/errors/errors.d.ts.map +0 -1
- package/esm/http/errors/errors.js +0 -76
- package/esm/http/errors/errors.js.map +0 -1
- package/esm/http/errors/index.d.ts +0 -2
- package/esm/http/errors/index.d.ts.map +0 -1
- package/esm/http/events.d.ts +0 -4
- package/esm/http/events.d.ts.map +0 -1
- package/esm/http/events.js +0 -26
- package/esm/http/events.js.map +0 -1
- package/esm/http/index.d.ts +0 -17
- package/esm/http/index.d.ts.map +0 -1
- package/esm/http/middleware/cache-response-middleware.d.ts +0 -34
- package/esm/http/middleware/cache-response-middleware.d.ts.map +0 -1
- package/esm/http/middleware/cache-response-middleware.js +0 -45
- package/esm/http/middleware/cache-response-middleware.js.map +0 -1
- package/esm/http/middleware/index.d.ts +0 -3
- package/esm/http/middleware/index.d.ts.map +0 -1
- package/esm/http/middleware/inject-request-context.d.ts +0 -21
- package/esm/http/middleware/inject-request-context.d.ts.map +0 -1
- package/esm/http/middleware/inject-request-context.js +0 -119
- package/esm/http/middleware/inject-request-context.js.map +0 -1
- package/esm/http/plugins.d.ts +0 -3
- package/esm/http/plugins.d.ts.map +0 -1
- package/esm/http/plugins.js +0 -36
- package/esm/http/plugins.js.map +0 -1
- package/esm/http/request-controller.d.ts +0 -11
- package/esm/http/request-controller.d.ts.map +0 -1
- package/esm/http/request-controller.js +0 -9
- package/esm/http/request-controller.js.map +0 -1
- package/esm/http/request.d.ts +0 -400
- package/esm/http/request.d.ts.map +0 -1
- package/esm/http/request.js +0 -768
- package/esm/http/request.js.map +0 -1
- package/esm/http/response.d.ts +0 -379
- package/esm/http/response.d.ts.map +0 -1
- package/esm/http/response.js +0 -983
- package/esm/http/response.js.map +0 -1
- package/esm/http/server.d.ts +0 -8
- package/esm/http/server.d.ts.map +0 -1
- package/esm/http/server.js +0 -15
- package/esm/http/server.js.map +0 -1
- package/esm/http/types.d.ts +0 -230
- package/esm/http/types.d.ts.map +0 -1
- package/esm/http/uploaded-file.d.ts +0 -459
- package/esm/http/uploaded-file.d.ts.map +0 -1
- package/esm/http/uploaded-file.js +0 -709
- package/esm/http/uploaded-file.js.map +0 -1
- package/esm/http/uploads-config.d.ts +0 -26
- package/esm/http/uploads-config.d.ts.map +0 -1
- package/esm/http/uploads-config.js +0 -35
- package/esm/http/uploads-config.js.map +0 -1
- package/esm/http/uploads-types.d.ts +0 -236
- package/esm/http/uploads-types.d.ts.map +0 -1
- package/esm/image/image.d.ts +0 -388
- package/esm/image/image.d.ts.map +0 -1
- package/esm/image/image.js +0 -608
- package/esm/image/image.js.map +0 -1
- package/esm/image/index.d.ts +0 -2
- package/esm/image/index.d.ts.map +0 -1
- package/esm/index.d.ts +0 -36
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +0 -1
- package/esm/logger/index.d.ts +0 -3
- package/esm/logger/index.d.ts.map +0 -1
- package/esm/logger/logger.d.ts +0 -3
- package/esm/logger/logger.d.ts.map +0 -1
- package/esm/logger/logger.js +0 -16
- package/esm/logger/logger.js.map +0 -1
- package/esm/logger/types.d.ts +0 -39
- package/esm/logger/types.d.ts.map +0 -1
- package/esm/mail/config.d.ts +0 -80
- package/esm/mail/config.d.ts.map +0 -1
- package/esm/mail/config.js +0 -158
- package/esm/mail/config.js.map +0 -1
- package/esm/mail/events.d.ts +0 -96
- package/esm/mail/events.d.ts.map +0 -1
- package/esm/mail/events.js +0 -123
- package/esm/mail/events.js.map +0 -1
- package/esm/mail/index.d.ts +0 -10
- package/esm/mail/index.d.ts.map +0 -1
- package/esm/mail/mail.d.ts +0 -175
- package/esm/mail/mail.d.ts.map +0 -1
- package/esm/mail/mail.js +0 -286
- package/esm/mail/mail.js.map +0 -1
- package/esm/mail/mailer-pool.d.ts +0 -27
- package/esm/mail/mailer-pool.d.ts.map +0 -1
- package/esm/mail/mailer-pool.js +0 -215
- package/esm/mail/mailer-pool.js.map +0 -1
- package/esm/mail/react-mail.d.ts +0 -12
- package/esm/mail/react-mail.d.ts.map +0 -1
- package/esm/mail/react-mail.js +0 -40
- package/esm/mail/react-mail.js.map +0 -1
- package/esm/mail/send-mail.d.ts +0 -33
- package/esm/mail/send-mail.d.ts.map +0 -1
- package/esm/mail/send-mail.js +0 -313
- package/esm/mail/send-mail.js.map +0 -1
- package/esm/mail/test-mailbox.d.ts +0 -110
- package/esm/mail/test-mailbox.d.ts.map +0 -1
- package/esm/mail/test-mailbox.js +0 -143
- package/esm/mail/test-mailbox.js.map +0 -1
- package/esm/mail/types.d.ts +0 -264
- package/esm/mail/types.d.ts.map +0 -1
- package/esm/mail/types.js +0 -13
- package/esm/mail/types.js.map +0 -1
- package/esm/manifest/manifest-manager.d.ts +0 -74
- package/esm/manifest/manifest-manager.d.ts.map +0 -1
- package/esm/manifest/manifest-manager.js +0 -88
- package/esm/manifest/manifest-manager.js.map +0 -1
- package/esm/production/build-app-production.d.ts +0 -6
- package/esm/production/build-app-production.d.ts.map +0 -1
- package/esm/production/build-app-production.js +0 -8
- package/esm/production/build-app-production.js.map +0 -1
- package/esm/production/esbuild-plugins.d.ts +0 -5
- package/esm/production/esbuild-plugins.d.ts.map +0 -1
- package/esm/production/esbuild-plugins.js +0 -23
- package/esm/production/esbuild-plugins.js.map +0 -1
- package/esm/production/production-builder.d.ts +0 -76
- package/esm/production/production-builder.d.ts.map +0 -1
- package/esm/production/production-builder.js +0 -254
- package/esm/production/production-builder.js.map +0 -1
- package/esm/react/index.d.ts +0 -14
- package/esm/react/index.d.ts.map +0 -1
- package/esm/react/index.js +0 -65
- package/esm/react/index.js.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.d.ts +0 -85
- package/esm/repositories/adapters/cascade/cascade-adapter.d.ts.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.js +0 -179
- package/esm/repositories/adapters/cascade/cascade-adapter.js.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +0 -141
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.js +0 -281
- package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +0 -1
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts +0 -126
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +0 -1
- package/esm/repositories/adapters/cascade/filter-applicator.js +0 -549
- package/esm/repositories/adapters/cascade/filter-applicator.js.map +0 -1
- package/esm/repositories/adapters/cascade/index.d.ts +0 -7
- package/esm/repositories/adapters/cascade/index.d.ts.map +0 -1
- package/esm/repositories/contracts/index.d.ts +0 -8
- package/esm/repositories/contracts/index.d.ts.map +0 -1
- package/esm/repositories/contracts/query-builder.contract.d.ts +0 -320
- package/esm/repositories/contracts/query-builder.contract.d.ts.map +0 -1
- package/esm/repositories/contracts/repository-adapter.contract.d.ts +0 -183
- package/esm/repositories/contracts/repository-adapter.contract.d.ts.map +0 -1
- package/esm/repositories/contracts/types.d.ts +0 -328
- package/esm/repositories/contracts/types.d.ts.map +0 -1
- package/esm/repositories/index.d.ts +0 -8
- package/esm/repositories/index.d.ts.map +0 -1
- package/esm/repositories/repository.manager.d.ts +0 -694
- package/esm/repositories/repository.manager.d.ts.map +0 -1
- package/esm/repositories/repository.manager.js +0 -1123
- package/esm/repositories/repository.manager.js.map +0 -1
- package/esm/resource/define-resource.d.ts +0 -65
- package/esm/resource/define-resource.d.ts.map +0 -1
- package/esm/resource/define-resource.js +0 -62
- package/esm/resource/define-resource.js.map +0 -1
- package/esm/resource/index.d.ts +0 -6
- package/esm/resource/index.d.ts.map +0 -1
- package/esm/resource/register-resource.d.ts +0 -21
- package/esm/resource/register-resource.d.ts.map +0 -1
- package/esm/resource/register-resource.js +0 -23
- package/esm/resource/register-resource.js.map +0 -1
- package/esm/resource/resource-field-builder.d.ts +0 -104
- package/esm/resource/resource-field-builder.d.ts.map +0 -1
- package/esm/resource/resource-field-builder.js +0 -260
- package/esm/resource/resource-field-builder.js.map +0 -1
- package/esm/resource/resource.d.ts +0 -217
- package/esm/resource/resource.d.ts.map +0 -1
- package/esm/resource/resource.js +0 -307
- package/esm/resource/resource.js.map +0 -1
- package/esm/resource/types.d.ts +0 -74
- package/esm/resource/types.d.ts.map +0 -1
- package/esm/restful/index.d.ts +0 -2
- package/esm/restful/index.d.ts.map +0 -1
- package/esm/restful/restful.d.ts +0 -110
- package/esm/restful/restful.d.ts.map +0 -1
- package/esm/restful/restful.js +0 -317
- package/esm/restful/restful.js.map +0 -1
- package/esm/retry/index.d.ts +0 -3
- package/esm/retry/index.d.ts.map +0 -1
- package/esm/retry/retry.d.ts +0 -21
- package/esm/retry/retry.d.ts.map +0 -1
- package/esm/retry/retry.js +0 -39
- package/esm/retry/retry.js.map +0 -1
- package/esm/retry/types.d.ts +0 -27
- package/esm/retry/types.d.ts.map +0 -1
- package/esm/router/index.d.ts +0 -3
- package/esm/router/index.d.ts.map +0 -1
- package/esm/router/route-builder.d.ts +0 -120
- package/esm/router/route-builder.d.ts.map +0 -1
- package/esm/router/route-builder.js +0 -201
- package/esm/router/route-builder.js.map +0 -1
- package/esm/router/route-registry.d.ts +0 -30
- package/esm/router/route-registry.d.ts.map +0 -1
- package/esm/router/route-registry.js +0 -67
- package/esm/router/route-registry.js.map +0 -1
- package/esm/router/route.d.ts +0 -34
- package/esm/router/route.d.ts.map +0 -1
- package/esm/router/router.d.ts +0 -188
- package/esm/router/router.d.ts.map +0 -1
- package/esm/router/router.js +0 -606
- package/esm/router/router.js.map +0 -1
- package/esm/router/types.d.ts +0 -254
- package/esm/router/types.d.ts.map +0 -1
- package/esm/socket/index.d.ts +0 -3
- package/esm/socket/index.d.ts.map +0 -1
- package/esm/socket/types.d.ts +0 -16
- package/esm/socket/types.d.ts.map +0 -1
- package/esm/socket/utils.d.ts +0 -6
- package/esm/socket/utils.d.ts.map +0 -1
- package/esm/socket/utils.js +0 -9
- package/esm/socket/utils.js.map +0 -1
- package/esm/storage/config.d.ts +0 -15
- package/esm/storage/config.d.ts.map +0 -1
- package/esm/storage/config.js +0 -32
- package/esm/storage/config.js.map +0 -1
- package/esm/storage/context/storage-driver-context.d.ts +0 -69
- package/esm/storage/context/storage-driver-context.d.ts.map +0 -1
- package/esm/storage/context/storage-driver-context.js +0 -80
- package/esm/storage/context/storage-driver-context.js.map +0 -1
- package/esm/storage/drivers/cloud-driver.d.ts +0 -206
- package/esm/storage/drivers/cloud-driver.d.ts.map +0 -1
- package/esm/storage/drivers/cloud-driver.js +0 -721
- package/esm/storage/drivers/cloud-driver.js.map +0 -1
- package/esm/storage/drivers/do-spaces-driver.d.ts +0 -43
- package/esm/storage/drivers/do-spaces-driver.d.ts.map +0 -1
- package/esm/storage/drivers/do-spaces-driver.js +0 -50
- package/esm/storage/drivers/do-spaces-driver.js.map +0 -1
- package/esm/storage/drivers/local-driver.d.ts +0 -155
- package/esm/storage/drivers/local-driver.d.ts.map +0 -1
- package/esm/storage/drivers/local-driver.js +0 -450
- package/esm/storage/drivers/local-driver.js.map +0 -1
- package/esm/storage/drivers/r2-driver.d.ts +0 -47
- package/esm/storage/drivers/r2-driver.d.ts.map +0 -1
- package/esm/storage/drivers/r2-driver.js +0 -60
- package/esm/storage/drivers/r2-driver.js.map +0 -1
- package/esm/storage/drivers/s3-driver.d.ts +0 -32
- package/esm/storage/drivers/s3-driver.d.ts.map +0 -1
- package/esm/storage/drivers/s3-driver.js +0 -37
- package/esm/storage/drivers/s3-driver.js.map +0 -1
- package/esm/storage/index.d.ts +0 -13
- package/esm/storage/index.d.ts.map +0 -1
- package/esm/storage/scoped-storage.d.ts +0 -547
- package/esm/storage/scoped-storage.d.ts.map +0 -1
- package/esm/storage/scoped-storage.js +0 -739
- package/esm/storage/scoped-storage.js.map +0 -1
- package/esm/storage/storage-file.d.ts +0 -250
- package/esm/storage/storage-file.d.ts.map +0 -1
- package/esm/storage/storage-file.js +0 -417
- package/esm/storage/storage-file.js.map +0 -1
- package/esm/storage/storage.d.ts +0 -576
- package/esm/storage/storage.d.ts.map +0 -1
- package/esm/storage/storage.js +0 -939
- package/esm/storage/storage.js.map +0 -1
- package/esm/storage/types.d.ts +0 -966
- package/esm/storage/types.d.ts.map +0 -1
- package/esm/storage/utils/mime.d.ts +0 -33
- package/esm/storage/utils/mime.d.ts.map +0 -1
- package/esm/storage/utils/mime.js +0 -45
- package/esm/storage/utils/mime.js.map +0 -1
- package/esm/tests/index.d.ts +0 -9
- package/esm/tests/index.d.ts.map +0 -1
- package/esm/tests/start-http-development-server.d.ts +0 -15
- package/esm/tests/start-http-development-server.d.ts.map +0 -1
- package/esm/tests/start-http-development-server.js +0 -69
- package/esm/tests/start-http-development-server.js.map +0 -1
- package/esm/tests/test-helpers.d.ts +0 -43
- package/esm/tests/test-helpers.d.ts.map +0 -1
- package/esm/tests/test-helpers.js +0 -86
- package/esm/tests/test-helpers.js.map +0 -1
- package/esm/tests/vitest-setup.d.ts +0 -10
- package/esm/tests/vitest-setup.d.ts.map +0 -1
- package/esm/tests/vitest-setup.js +0 -36
- package/esm/tests/vitest-setup.js.map +0 -1
- package/esm/use-cases/index.d.ts +0 -7
- package/esm/use-cases/index.d.ts.map +0 -1
- package/esm/use-cases/types.d.ts +0 -267
- package/esm/use-cases/types.d.ts.map +0 -1
- package/esm/use-cases/use-case-events.d.ts +0 -33
- package/esm/use-cases/use-case-events.d.ts.map +0 -1
- package/esm/use-cases/use-case-events.js +0 -65
- package/esm/use-cases/use-case-events.js.map +0 -1
- package/esm/use-cases/use-case-pipeline.d.ts +0 -29
- package/esm/use-cases/use-case-pipeline.d.ts.map +0 -1
- package/esm/use-cases/use-case-pipeline.js +0 -45
- package/esm/use-cases/use-case-pipeline.js.map +0 -1
- package/esm/use-cases/use-case.d.ts +0 -27
- package/esm/use-cases/use-case.d.ts.map +0 -1
- package/esm/use-cases/use-case.errors.d.ts +0 -6
- package/esm/use-cases/use-case.errors.d.ts.map +0 -1
- package/esm/use-cases/use-case.errors.js +0 -8
- package/esm/use-cases/use-case.errors.js.map +0 -1
- package/esm/use-cases/use-case.js +0 -138
- package/esm/use-cases/use-case.js.map +0 -1
- package/esm/use-cases/use-cases-registry.d.ts +0 -38
- package/esm/use-cases/use-cases-registry.d.ts.map +0 -1
- package/esm/use-cases/use-cases-registry.js +0 -92
- package/esm/use-cases/use-cases-registry.js.map +0 -1
- package/esm/utils/app-log.d.ts +0 -8
- package/esm/utils/app-log.d.ts.map +0 -1
- package/esm/utils/app-log.js +0 -7
- package/esm/utils/app-log.js.map +0 -1
- package/esm/utils/cleanup-temp-files.d.ts +0 -5
- package/esm/utils/cleanup-temp-files.d.ts.map +0 -1
- package/esm/utils/database-log.d.ts +0 -25
- package/esm/utils/database-log.d.ts.map +0 -1
- package/esm/utils/database-log.js +0 -43
- package/esm/utils/database-log.js.map +0 -1
- package/esm/utils/download-file.d.ts +0 -3
- package/esm/utils/download-file.d.ts.map +0 -1
- package/esm/utils/environment.d.ts +0 -4
- package/esm/utils/environment.d.ts.map +0 -1
- package/esm/utils/environment.js +0 -6
- package/esm/utils/environment.js.map +0 -1
- package/esm/utils/framework-vesion.d.ts +0 -6
- package/esm/utils/framework-vesion.d.ts.map +0 -1
- package/esm/utils/framework-vesion.js +0 -18
- package/esm/utils/framework-vesion.js.map +0 -1
- package/esm/utils/get-localized.d.ts +0 -10
- package/esm/utils/get-localized.d.ts.map +0 -1
- package/esm/utils/get-localized.js +0 -15
- package/esm/utils/get-localized.js.map +0 -1
- package/esm/utils/index.d.ts +0 -12
- package/esm/utils/index.d.ts.map +0 -1
- package/esm/utils/internal.d.ts +0 -4
- package/esm/utils/internal.d.ts.map +0 -1
- package/esm/utils/paths.d.ts +0 -55
- package/esm/utils/paths.d.ts.map +0 -1
- package/esm/utils/paths.js +0 -89
- package/esm/utils/paths.js.map +0 -1
- package/esm/utils/promise-all-object.d.ts +0 -8
- package/esm/utils/promise-all-object.d.ts.map +0 -1
- package/esm/utils/promise-all-object.js +0 -12
- package/esm/utils/promise-all-object.js.map +0 -1
- package/esm/utils/queue.d.ts +0 -49
- package/esm/utils/queue.d.ts.map +0 -1
- package/esm/utils/queue.js +0 -89
- package/esm/utils/queue.js.map +0 -1
- package/esm/utils/sleep.d.ts +0 -2
- package/esm/utils/sleep.d.ts.map +0 -1
- package/esm/utils/sleep.js +0 -3
- package/esm/utils/sleep.js.map +0 -1
- package/esm/utils/sluggable.d.ts +0 -5
- package/esm/utils/sluggable.d.ts.map +0 -1
- package/esm/utils/sluggable.js +0 -15
- package/esm/utils/sluggable.js.map +0 -1
- package/esm/utils/to-json.d.ts +0 -2
- package/esm/utils/to-json.d.ts.map +0 -1
- package/esm/utils/to-json.js +0 -26
- package/esm/utils/to-json.js.map +0 -1
- package/esm/utils/types.d.ts +0 -22
- package/esm/utils/types.d.ts.map +0 -1
- package/esm/utils/urls.d.ts +0 -21
- package/esm/utils/urls.d.ts.map +0 -1
- package/esm/utils/urls.js +0 -31
- package/esm/utils/urls.js.map +0 -1
- package/esm/validation/database/exists-except-current-id.d.ts +0 -7
- package/esm/validation/database/exists-except-current-id.d.ts.map +0 -1
- package/esm/validation/database/exists-except-current-id.js +0 -24
- package/esm/validation/database/exists-except-current-id.js.map +0 -1
- package/esm/validation/database/exists-except-current-user.d.ts +0 -7
- package/esm/validation/database/exists-except-current-user.d.ts.map +0 -1
- package/esm/validation/database/exists-except-current-user.js +0 -26
- package/esm/validation/database/exists-except-current-user.js.map +0 -1
- package/esm/validation/database/exists.d.ts +0 -7
- package/esm/validation/database/exists.d.ts.map +0 -1
- package/esm/validation/database/exists.js +0 -22
- package/esm/validation/database/exists.js.map +0 -1
- package/esm/validation/database/index.d.ts +0 -12
- package/esm/validation/database/index.d.ts.map +0 -1
- package/esm/validation/database/types.d.ts +0 -68
- package/esm/validation/database/types.d.ts.map +0 -1
- package/esm/validation/database/unique-except-current-id.d.ts +0 -7
- package/esm/validation/database/unique-except-current-id.d.ts.map +0 -1
- package/esm/validation/database/unique-except-current-id.js +0 -24
- package/esm/validation/database/unique-except-current-id.js.map +0 -1
- package/esm/validation/database/unique-except-current-user.d.ts +0 -7
- package/esm/validation/database/unique-except-current-user.d.ts.map +0 -1
- package/esm/validation/database/unique-except-current-user.js +0 -29
- package/esm/validation/database/unique-except-current-user.js.map +0 -1
- package/esm/validation/database/unique.d.ts +0 -7
- package/esm/validation/database/unique.d.ts.map +0 -1
- package/esm/validation/database/unique.js +0 -31
- package/esm/validation/database/unique.js.map +0 -1
- package/esm/validation/file/file.d.ts +0 -22
- package/esm/validation/file/file.d.ts.map +0 -1
- package/esm/validation/file/file.js +0 -60
- package/esm/validation/file/file.js.map +0 -1
- package/esm/validation/file/index.d.ts +0 -6
- package/esm/validation/file/index.d.ts.map +0 -1
- package/esm/validation/index.d.ts +0 -16
- package/esm/validation/index.d.ts.map +0 -1
- package/esm/validation/init.d.ts +0 -7
- package/esm/validation/init.d.ts.map +0 -1
- package/esm/validation/init.js +0 -36
- package/esm/validation/init.js.map +0 -1
- package/esm/validation/plugins/database-plugin.d.ts +0 -14
- package/esm/validation/plugins/database-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/database-plugin.js +0 -83
- package/esm/validation/plugins/database-plugin.js.map +0 -1
- package/esm/validation/plugins/file-plugin.d.ts +0 -11
- package/esm/validation/plugins/file-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/file-plugin.js +0 -17
- package/esm/validation/plugins/file-plugin.js.map +0 -1
- package/esm/validation/plugins/index.d.ts +0 -9
- package/esm/validation/plugins/index.d.ts.map +0 -1
- package/esm/validation/plugins/localized-plugin.d.ts +0 -11
- package/esm/validation/plugins/localized-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/localized-plugin.js +0 -19
- package/esm/validation/plugins/localized-plugin.js.map +0 -1
- package/esm/validation/types.d.ts +0 -87
- package/esm/validation/types.d.ts.map +0 -1
- package/esm/validation/validateAll.d.ts +0 -7
- package/esm/validation/validateAll.d.ts.map +0 -1
- package/esm/validation/validateAll.js +0 -60
- package/esm/validation/validateAll.js.map +0 -1
- package/esm/validation/validators/file-validator.d.ts +0 -62
- package/esm/validation/validators/file-validator.d.ts.map +0 -1
- package/esm/validation/validators/file-validator.js +0 -136
- package/esm/validation/validators/file-validator.js.map +0 -1
- package/esm/validation/validators/index.d.ts +0 -7
- package/esm/validation/validators/index.d.ts.map +0 -1
- package/esm/warlock-config/default-configurations.d.ts +0 -3
- package/esm/warlock-config/default-configurations.d.ts.map +0 -1
- package/esm/warlock-config/default-configurations.js +0 -8
- package/esm/warlock-config/default-configurations.js.map +0 -1
- package/esm/warlock-config/define-config.d.ts +0 -3
- package/esm/warlock-config/define-config.d.ts.map +0 -1
- package/esm/warlock-config/define-config.js +0 -3
- package/esm/warlock-config/define-config.js.map +0 -1
- package/esm/warlock-config/index.d.ts +0 -4
- package/esm/warlock-config/index.d.ts.map +0 -1
- package/esm/warlock-config/types.d.ts +0 -129
- package/esm/warlock-config/types.d.ts.map +0 -1
- package/esm/warlock-config/warlock-config.manager.d.ts +0 -83
- package/esm/warlock-config/warlock-config.manager.d.ts.map +0 -1
- package/esm/warlock-config/warlock-config.manager.js +0 -141
- package/esm/warlock-config/warlock-config.manager.js.map +0 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-url
|
|
3
|
+
description: 'HTTP URL helpers — `url`, `publicUrl`, `assetsUrl`, `uploadsUrl`, anchored at `app.baseUrl`. Use to render `src` / `href` / API URLs in resources and responses. `setBaseUrl` is wired by the HTTP connector from `config.get("app.baseUrl")`. Triggers: `url`, `publicUrl`, `assetsUrl`, `uploadsUrl`, `setBaseUrl`, `BASE_URL`; "render an avatar src URL", "absolute download link", "embed asset URL in email", "URL helpers vs path helpers"; typical import `import { url, publicUrl, uploadsUrl } from "@warlock.js/core"`. Skip: filesystem paths — `@warlock.js/core/resolve-path/SKILL.md`; signed CDN URLs — `@warlock.js/core/store-file/SKILL.md`; resource output — `@warlock.js/core/define-resource/SKILL.md`; competing patterns: hand-rolled `${baseUrl}/...` template strings.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warlock — build a URL
|
|
7
|
+
|
|
8
|
+
Path helpers ([`resolve-path/SKILL.md`](../resolve-path/SKILL.md)) give you absolute filesystem paths. URL helpers give you absolute HTTP URLs. Different jobs, often confused.
|
|
9
|
+
|
|
10
|
+
Use URL helpers whenever you need to render a string that goes into a browser, an HTTP client, or an email — `<img src=...>`, `<a href=...>`, an API response that includes a download link, a webhook payload.
|
|
11
|
+
|
|
12
|
+
## The shape
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import { url, publicUrl, assetsUrl, uploadsUrl } from "@warlock.js/core";
|
|
16
|
+
|
|
17
|
+
url(); // → "http://localhost:3000"
|
|
18
|
+
url("/health"); // → "http://localhost:3000/health"
|
|
19
|
+
|
|
20
|
+
publicUrl("favicon.ico"); // → "http://localhost:3000/public/favicon.ico"
|
|
21
|
+
assetsUrl("logo.png"); // → "http://localhost:3000/public/assets/logo.png"
|
|
22
|
+
uploadsUrl("avatars/42.png"); // → "http://localhost:3000/uploads/avatars/42.png"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Every helper resolves against the **base URL** the HTTP connector set at boot.
|
|
26
|
+
|
|
27
|
+
## Setting the base URL
|
|
28
|
+
|
|
29
|
+
`setBaseUrl(url)` is wired automatically — the HTTP connector reads `app.baseUrl` from config and sets it during boot:
|
|
30
|
+
|
|
31
|
+
```ts title="src/config/app.ts"
|
|
32
|
+
import type { AppConfigurations } from "@warlock.js/core";
|
|
33
|
+
import { env } from "@warlock.js/core";
|
|
34
|
+
|
|
35
|
+
const appConfigurations: AppConfigurations = {
|
|
36
|
+
appName: env("APP_NAME", "Mongez"),
|
|
37
|
+
baseUrl: env("BASE_URL", "http://localhost:3000"),
|
|
38
|
+
// ...
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export default appConfigurations;
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The env var `BASE_URL` controls the deployed base. In production, set it to `https://api.example.com` (or whatever the deployed host is). In dev, `http://localhost:3000` is the default.
|
|
45
|
+
|
|
46
|
+
You can also call `setBaseUrl` manually if you need to override at runtime — but in normal app code, the HTTP connector handles this; you don't touch it.
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
import { setBaseUrl } from "@warlock.js/core";
|
|
50
|
+
|
|
51
|
+
setBaseUrl("https://cdn.example.com");
|
|
52
|
+
// → every subsequent url() / publicUrl() / assetsUrl() / uploadsUrl() uses this
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Full inventory
|
|
56
|
+
|
|
57
|
+
| Helper | Resolves to | Use for |
|
|
58
|
+
| --------------------- | ---------------------------------------- | ------------------------------------------- |
|
|
59
|
+
| `url(path?)` | `<baseUrl>/<path>` | Arbitrary absolute URL on the same host. |
|
|
60
|
+
| `publicUrl(path?)` | `<baseUrl>/public/<path>` | Files served out of the `public/` folder. |
|
|
61
|
+
| `assetsUrl(path?)` | `<baseUrl>/public/assets/<path>` | Assets inside `public/assets/`. |
|
|
62
|
+
| `uploadsUrl(path?)` | `<baseUrl>/uploads/<path>` | User-uploaded files served over HTTP. |
|
|
63
|
+
| `setBaseUrl(url)` | (sets the anchor for all of the above) | Override at runtime — rarely needed. |
|
|
64
|
+
|
|
65
|
+
`assetsUrl` is just `publicUrl` with `assets/` prepended — they share the same `/public/` mount point.
|
|
66
|
+
|
|
67
|
+
`url(path)` is the escape hatch — it composes the base URL with any path you give it, no convention enforced. Use it for one-off URLs that don't fit `public` / `uploads`.
|
|
68
|
+
|
|
69
|
+
## URL helpers vs. path helpers
|
|
70
|
+
|
|
71
|
+
The most common confusion. They look related but resolve completely differently:
|
|
72
|
+
|
|
73
|
+
| Goal | Helper | Returns |
|
|
74
|
+
| --------------------------------------------- | ----------------- | ------------------------------------------- |
|
|
75
|
+
| **Read** a file from the filesystem | `uploadsPath(...)` | `<cwd>/storage/uploads/<path>` (filesystem) |
|
|
76
|
+
| **Render** an `<img src>` for the same file | `uploadsUrl(...)` | `<baseUrl>/uploads/<path>` (HTTP URL) |
|
|
77
|
+
| **Write** to public folder | `publicPath(...)` | `<cwd>/public/<path>` (filesystem) |
|
|
78
|
+
| **Embed** an asset URL in a response | `publicUrl(...)` | `<baseUrl>/public/<path>` (HTTP URL) |
|
|
79
|
+
|
|
80
|
+
Pick by the consumer:
|
|
81
|
+
|
|
82
|
+
- **Filesystem read/write code** (services that read templates, scripts that copy files) → path helpers.
|
|
83
|
+
- **API responses, HTML, emails** (anything the browser or an HTTP client sees) → URL helpers.
|
|
84
|
+
|
|
85
|
+
## Patterns
|
|
86
|
+
|
|
87
|
+
### Render an avatar URL in a resource
|
|
88
|
+
|
|
89
|
+
```ts title="src/app/users/resources/user.resource.ts"
|
|
90
|
+
import { defineResource, uploadsUrl } from "@warlock.js/core";
|
|
91
|
+
|
|
92
|
+
export const UserResource = defineResource({
|
|
93
|
+
schema: {
|
|
94
|
+
id: "string",
|
|
95
|
+
email: "string",
|
|
96
|
+
// `uploadsUrl` cast joins the stored path with the base URL automatically
|
|
97
|
+
avatarUrl: ["avatar_path", "uploadsUrl"],
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
The stored value (`avatars/42.png`) is the filesystem-relative key — relative to `storage/uploads/`. The `uploadsUrl` cast renders the full URL by joining it with the base URL. For conditional logic (e.g. fall back to `null` when there's no avatar), use a resolver function instead:
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
export const UserResource = defineResource({
|
|
106
|
+
schema: {
|
|
107
|
+
id: "string",
|
|
108
|
+
email: "string",
|
|
109
|
+
avatarUrl: function (_value, resource) {
|
|
110
|
+
const path = resource.get("avatar_path"); // e.g. "avatars/42.png"
|
|
111
|
+
|
|
112
|
+
return path ? uploadsUrl(path) : null;
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Asset URL in an HTML email
|
|
119
|
+
|
|
120
|
+
```tsx title="src/app/users/emails/welcome.email.tsx"
|
|
121
|
+
import { assetsUrl } from "@warlock.js/core";
|
|
122
|
+
import { Body, Container, Html, Img } from "@react-email/components";
|
|
123
|
+
|
|
124
|
+
export function WelcomeEmail() {
|
|
125
|
+
return (
|
|
126
|
+
<Html>
|
|
127
|
+
<Body>
|
|
128
|
+
<Container>
|
|
129
|
+
<Img src={assetsUrl("logo.png")} alt="Logo" />
|
|
130
|
+
<h1>Welcome!</h1>
|
|
131
|
+
</Container>
|
|
132
|
+
</Body>
|
|
133
|
+
</Html>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Email clients can't reach `localhost` — make sure `BASE_URL` is the public host before sending production mail. Otherwise the `src` resolves to `http://localhost:3000/...` and recipients see broken images.
|
|
139
|
+
|
|
140
|
+
### Absolute API URL in a webhook payload
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
await sendWebhook({
|
|
144
|
+
url: vendor.callback_url,
|
|
145
|
+
payload: {
|
|
146
|
+
order_id: order.id,
|
|
147
|
+
receipt_url: url(`/orders/${order.id}/receipt`), // → "https://api.example.com/orders/42/receipt"
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The receiver needs the full URL — they'll never see your `Host` header to deduce the rest.
|
|
153
|
+
|
|
154
|
+
### Override per-request for a multi-tenant CDN
|
|
155
|
+
|
|
156
|
+
```ts
|
|
157
|
+
// Inside a request handler that needs a tenant-specific URL prefix
|
|
158
|
+
const tenantCdn = `https://${tenant.slug}.cdn.example.com`;
|
|
159
|
+
const fullUrl = `${tenantCdn}/uploads/${path}`;
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Don't call `setBaseUrl` per request — it's process-global and races every other request. Build the URL manually with template strings instead.
|
|
163
|
+
|
|
164
|
+
## Gotchas
|
|
165
|
+
|
|
166
|
+
- **`setBaseUrl` is process-global.** Calling it inside a request handler changes the URL for **every** in-flight request. The HTTP connector sets it once on boot — leave it alone in app code.
|
|
167
|
+
- **No host detection from the request.** These helpers don't read `request.host` / `X-Forwarded-Host`. They use the configured `app.baseUrl` only. If your app sits behind a reverse proxy and you need the actual host the user typed, read it from the request directly.
|
|
168
|
+
- **Trailing slashes are stripped from the base, leading slashes from the path.** `url("/foo")` and `url("foo")` both return `<base>/foo`. Don't bother double-checking the slash.
|
|
169
|
+
- **`uploadsUrl` doesn't know about `uploads.root` overrides.** Even if your filesystem is mounted at `/mnt/uploads`, the URL stays `<baseUrl>/uploads/<path>` — that's the HTTP route the framework serves uploads from. The two are decoupled by design.
|
|
170
|
+
- **`publicUrl` vs `assetsUrl`.** `publicUrl("logo.png")` resolves to `/public/logo.png`; `assetsUrl("logo.png")` to `/public/assets/logo.png`. Convention is: framework assets go in `public/assets/`, ad-hoc files (favicon.ico, robots.txt) at `public/` root.
|
|
171
|
+
- **The `baseUrl` config is read once at HTTP-connector boot.** Changing the config after boot doesn't update the cached value — either restart, or call `setBaseUrl` manually (with the global-state caveat above).
|
|
172
|
+
- **Email + localhost = broken links.** Always use a public host in `BASE_URL` for environments that send mail. Production should never have `localhost` in there.
|
|
173
|
+
|
|
174
|
+
## See also
|
|
175
|
+
|
|
176
|
+
- [`resolve-path/SKILL.md`](../resolve-path/SKILL.md) — filesystem path helpers (`uploadsPath`, `publicPath`, ...). Use for read/write; use the URL helpers for rendering.
|
|
177
|
+
- [`store-file/SKILL.md`](../store-file/SKILL.md) — the `storage.url(path)` driver method, which can produce signed CDN URLs for non-local drivers (S3 etc.). Use that over `uploadsUrl` when you're on a remote driver.
|
|
178
|
+
- [`upload-file/SKILL.md`](../upload-file/SKILL.md) — the `UploadedFile` lifecycle; where the path that feeds `uploadsUrl` comes from.
|
|
179
|
+
- [`define-resource/SKILL.md`](../define-resource/SKILL.md) — the `url` / `uploadsUrl` / `storageUrl` casts (and resolver functions) are the right place to call URL helpers.
|
|
180
|
+
- [`configure-app/SKILL.md`](../configure-app/SKILL.md) — `src/config/app.ts` and the `baseUrl` env wiring.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-app
|
|
3
|
+
description: 'Configure a Warlock app — the two layers (`warlock.config.ts` for framework-level wiring, `src/config/*.ts` for subsystems), `.env` + `env()`, and the `config()` getter for runtime reads. Triggers: `defineConfig`, `config.get`, `config.key`, `env`, `ConfigRegistry`, `HttpConfigurations`, `AppConfigurations`; "add a new config file", "warlock.config.ts vs src/config", "read env values", "runtime config lookup"; typical import `import { defineConfig, config, env } from "@warlock.js/core"`. Skip: cache driver registration — `@warlock.js/cache/cache-basics/SKILL.md`; mail config — `@warlock.js/core/send-mail/SKILL.md`; storage config — `@warlock.js/core/store-file/SKILL.md`; competing libs `dotenv` direct, `convict`, `node-config`.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warlock — configure the app
|
|
7
|
+
|
|
8
|
+
Two config layers, one source of env, one read API. Get those four mental model bits straight and the rest is filing.
|
|
9
|
+
|
|
10
|
+
## The shape
|
|
11
|
+
|
|
12
|
+
**Layer 1 — framework wiring.** One file at the project root: `warlock.config.ts`. Exports a `defineConfig({...})` call. Governs the bootstrap/server/build/devServer/cli/database hooks.
|
|
13
|
+
|
|
14
|
+
**Layer 2 — subsystem config.** One file per subsystem in `src/config/<name>.ts`. Each file `export default` a typed config object. Auto-loaded; registered under the file's basename (`http.ts` → `config.get("http")`).
|
|
15
|
+
|
|
16
|
+
```ts title="warlock.config.ts"
|
|
17
|
+
import { authMigrations, registerAuthCleanupCommand } from "@warlock.js/auth";
|
|
18
|
+
import { defineConfig } from "@warlock.js/core";
|
|
19
|
+
|
|
20
|
+
export default defineConfig({
|
|
21
|
+
devServer: {
|
|
22
|
+
healthCheckers: false,
|
|
23
|
+
generateTypings: false,
|
|
24
|
+
},
|
|
25
|
+
cli: {
|
|
26
|
+
commands: [registerAuthCleanupCommand()],
|
|
27
|
+
},
|
|
28
|
+
build: {
|
|
29
|
+
minify: true,
|
|
30
|
+
},
|
|
31
|
+
database: {
|
|
32
|
+
migrations: authMigrations,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```ts title="src/config/http.ts"
|
|
38
|
+
import type { HttpConfigurations } from "@warlock.js/core";
|
|
39
|
+
import { Application, env } from "@warlock.js/core";
|
|
40
|
+
|
|
41
|
+
const httpConfigurations: HttpConfigurations = {
|
|
42
|
+
port: env("HTTP_PORT", 3000),
|
|
43
|
+
host: env("HTTP_HOST", "localhost"),
|
|
44
|
+
log: true,
|
|
45
|
+
fileUploadLimit: 12 * 1024 * 1024 * 1024,
|
|
46
|
+
rateLimit: {
|
|
47
|
+
max: 260,
|
|
48
|
+
duration: 60 * 1000,
|
|
49
|
+
},
|
|
50
|
+
cors: {
|
|
51
|
+
origin: "*",
|
|
52
|
+
methods: ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"],
|
|
53
|
+
},
|
|
54
|
+
cookies: {
|
|
55
|
+
secret: env("COOKIE_SECRET", "super-secret-key-change-me"),
|
|
56
|
+
options: {
|
|
57
|
+
httpOnly: true,
|
|
58
|
+
secure: Application.isProduction,
|
|
59
|
+
path: "/",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export default httpConfigurations;
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Which layer holds what
|
|
68
|
+
|
|
69
|
+
| Setting | Layer |
|
|
70
|
+
| ------------------------------------------------------ | ------------------------------ |
|
|
71
|
+
| Build/bundler options (minify, sourcemap, outFile) | `warlock.config.ts > build` |
|
|
72
|
+
| Dev server (HMR scope, health checkers, typings) | `warlock.config.ts > devServer`|
|
|
73
|
+
| Package migrations (external `@warlock.js/*` packages) | `warlock.config.ts > database` |
|
|
74
|
+
| CLI commands (registered via `warlock <cmd>`) | `warlock.config.ts > cli` |
|
|
75
|
+
| HTTP server tuning per env (port, host, retry) | `warlock.config.ts > server` |
|
|
76
|
+
| HTTP runtime (CORS, cookies, rate limits, upload size) | `src/config/http.ts` |
|
|
77
|
+
| App identity (name, baseUrl, timezone, locales) | `src/config/app.ts` |
|
|
78
|
+
| Subsystem configs (auth, mail, storage, cache, ai, …) | `src/config/<name>.ts` |
|
|
79
|
+
|
|
80
|
+
Heuristic: if the setting changes how the framework **boots, builds, or scaffolds**, it goes in `warlock.config.ts`. If it changes how a **subsystem behaves at runtime**, it goes in `src/config/`.
|
|
81
|
+
|
|
82
|
+
## `.env` and `env()`
|
|
83
|
+
|
|
84
|
+
`env(key, default?)` reads from `process.env` and **auto-coerces** known shapes:
|
|
85
|
+
|
|
86
|
+
- `"true"` / `"false"` → `boolean`
|
|
87
|
+
- Numeric strings → `number`
|
|
88
|
+
- Falls back to the `default` argument when unset
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
import { env } from "@warlock.js/core";
|
|
92
|
+
|
|
93
|
+
env("HTTP_PORT", 3000); // number
|
|
94
|
+
env("CACHE_LOGGING", false); // boolean
|
|
95
|
+
env("BASE_URL", "http://localhost:3000"); // string
|
|
96
|
+
env("REDIS_URL"); // undefined if unset
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`env` is re-exported from `@warlock.js/core` (sourced from `@mongez/dotenv`). Use this — not `process.env.X` — so callers consistently get coerced values.
|
|
100
|
+
|
|
101
|
+
`.env.local` overrides `.env`. Project ships a `.env.example` listing the keys.
|
|
102
|
+
|
|
103
|
+
## Reading config at runtime — `config()`
|
|
104
|
+
|
|
105
|
+
`config` has two methods. Both accept a default:
|
|
106
|
+
|
|
107
|
+
```ts
|
|
108
|
+
import { config } from "@warlock.js/core";
|
|
109
|
+
|
|
110
|
+
// Whole group — typed by ConfigRegistry augmentation
|
|
111
|
+
const http = config.get("http");
|
|
112
|
+
const httpPort = http.port;
|
|
113
|
+
|
|
114
|
+
// Dot-notation key
|
|
115
|
+
const port = config.key<number>("http.port", 3000);
|
|
116
|
+
const baseUrl = config.key("app.baseUrl");
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Use `config.get("name")` when you need the whole subsystem object; `config.key("a.b.c")` for a single value.
|
|
120
|
+
|
|
121
|
+
The `ConfigRegistry` interface is augmented by generated typings — once you add `src/config/foo.ts` and rerun typings, `config.get("foo")` autocompletes. Until then, pass an explicit generic.
|
|
122
|
+
|
|
123
|
+
## Anatomy of a `src/config/<name>.ts`
|
|
124
|
+
|
|
125
|
+
1. Import the typed shape (`HttpConfigurations`, `AppConfigurations`, `CacheConfigurations<DriverNames>`, `MailConfigurations`, `StorageConfigurations`, …) from `@warlock.js/core` (or `@warlock.js/cache` for cache).
|
|
126
|
+
2. Build the object, typed as that shape — TS will surface missing keys.
|
|
127
|
+
3. Pull values from `env(...)` where they belong in `.env`. Hard-code immutable choices.
|
|
128
|
+
4. `export default` the object.
|
|
129
|
+
|
|
130
|
+
That's the contract. Filename → config key. No registration, no manifest, no side effects.
|
|
131
|
+
|
|
132
|
+
## Special handlers
|
|
133
|
+
|
|
134
|
+
Some subsystems need to do extra work when their config loads (e.g. set the active locale, register a driver). Those have a special handler attached internally — for the most part you don't see them. The takeaway: changing a config file at dev time fires the handler again automatically.
|
|
135
|
+
|
|
136
|
+
## Multi-file or conditional config
|
|
137
|
+
|
|
138
|
+
A config file is just a TS module. Branch on `env(...)` if production should differ from development:
|
|
139
|
+
|
|
140
|
+
```ts title="src/config/storage.ts"
|
|
141
|
+
import {
|
|
142
|
+
env,
|
|
143
|
+
type StorageConfigurations,
|
|
144
|
+
storageConfigurations,
|
|
145
|
+
storagePath,
|
|
146
|
+
} from "@warlock.js/core";
|
|
147
|
+
|
|
148
|
+
const storageOptions: StorageConfigurations = {
|
|
149
|
+
default: env("STORAGE_DRIVER", "local"),
|
|
150
|
+
drivers: {
|
|
151
|
+
local: storageConfigurations.local({
|
|
152
|
+
root: storagePath(),
|
|
153
|
+
urlPrefix: "/uploads",
|
|
154
|
+
}),
|
|
155
|
+
r2: storageConfigurations.r2({
|
|
156
|
+
bucket: env("R2_BUCKET"),
|
|
157
|
+
endpoint: env("R2_ENDPOINT"),
|
|
158
|
+
accessKeyId: env("R2_ACCESS_KEY_ID"),
|
|
159
|
+
secretAccessKey: env("R2_SECRET_ACCESS_KEY"),
|
|
160
|
+
accountId: env("R2_ACCOUNT_ID"),
|
|
161
|
+
region: env("R2_REGION", "auto"),
|
|
162
|
+
publicDomain: env("R2_BASE_URL"),
|
|
163
|
+
}),
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
export default storageOptions;
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Same shape — TS validates the union; runtime picks the `default` key.
|
|
171
|
+
|
|
172
|
+
## Per-env knobs
|
|
173
|
+
|
|
174
|
+
For one-off switches gated on environment, the canonical pattern is `Application.isProduction` (also `isDevelopment`, `isTest`):
|
|
175
|
+
|
|
176
|
+
```ts
|
|
177
|
+
import { Application } from "@warlock.js/core";
|
|
178
|
+
|
|
179
|
+
const config = {
|
|
180
|
+
cookies: {
|
|
181
|
+
secure: Application.isProduction,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Avoid scattering `process.env.NODE_ENV === "production"` checks — they don't get the same default-handling.
|
|
187
|
+
|
|
188
|
+
## Common patterns
|
|
189
|
+
|
|
190
|
+
### Adding a new subsystem
|
|
191
|
+
|
|
192
|
+
1. Create `src/config/<name>.ts` exporting a default object.
|
|
193
|
+
2. (Optional) Augment `ConfigRegistry` in a `.d.ts` if you want `config.get("<name>")` to autocomplete.
|
|
194
|
+
3. Read it where needed: `config.get("<name>")` or `config.key("<name>.field")`.
|
|
195
|
+
|
|
196
|
+
That's the whole flow. No barrel, no register call.
|
|
197
|
+
|
|
198
|
+
### Per-tenant config
|
|
199
|
+
|
|
200
|
+
For multi-tenancy, don't put per-tenant values in `src/config/`. Resolve at runtime from the tenant context and pass into the subsystem's per-call options (e.g. `Mail.config(tenant.mailSettings)`).
|
|
201
|
+
|
|
202
|
+
### Package config
|
|
203
|
+
|
|
204
|
+
Internal `@warlock.js/*` packages read from `config.get("<name>")` the same way app code does. When wiring a package config (e.g. `src/config/cache.ts`), the package surface (`cache.init()`) reads the registered values on boot.
|
|
205
|
+
|
|
206
|
+
## Gotchas
|
|
207
|
+
|
|
208
|
+
- **One `default` export per config file.** Anything else won't be picked up. A named export is invisible to the loader.
|
|
209
|
+
- **`env(key)` returns the env value coerced, not the literal string.** `env("HTTP_LOG")` returns `true`/`false`, not `"true"`. Type the default to match.
|
|
210
|
+
- **Don't mutate `config` at runtime.** It's read-only by convention. For dynamic overrides, fold into the call-site options (e.g. `cache.set(key, val, { driver: "redis" })`).
|
|
211
|
+
- **`Application.isProduction` is preferred over `process.env.NODE_ENV` checks** in config files — same source, but it survives `setEnvironment(...)` and reads consistently.
|
|
212
|
+
- **`warlock.config.ts` is the boot config; `src/config/` is the runtime config.** Putting runtime tuning into `warlock.config.ts` doesn't crash but won't be visible via `config.get(...)`.
|
|
213
|
+
|
|
214
|
+
## See also
|
|
215
|
+
|
|
216
|
+
- [`warlock-conventions/SKILL.md`](../warlock-conventions/SKILL.md) — module layout, canonical imports, framework-wide invariants.
|
|
217
|
+
- [`@warlock.js/cache/pick-cache-driver/SKILL.md`](../../../cache/skills/pick-cache-driver/SKILL.md) — picking and registering a cache driver in `src/config/cache.ts`.
|
|
218
|
+
- [`send-mail/SKILL.md`](../send-mail/SKILL.md) — the `src/config/mail.ts` shape.
|
|
219
|
+
- [`store-file/SKILL.md`](../store-file/SKILL.md) — the `src/config/storage.ts` shape.
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: create-controller
|
|
3
|
+
description: 'Author HTTP controllers in @warlock.js/core — RequestHandler signature, validated input via seal schemas, response helpers, attaching metadata. Controllers are thin functions; business logic moves to services or use-cases. Triggers: `RequestHandler`, `Request<TSchema>`, `GuardedRequestHandler`, `request.validated`, `request.input`, `controller.validation`, `response.success`, `response.successCreate`; "write a controller", "attach a schema to a handler", "thin controller pattern", "guarded request type"; typical import `import { type RequestHandler } from "@warlock.js/core"`. Skip: response helper menu — `@warlock.js/core/send-response/SKILL.md`; schema authoring — `@warlock.js/core/validate-input/SKILL.md`; URL wiring — `@warlock.js/core/register-route/SKILL.md`; competing patterns: `express` middleware functions, `@nestjs/common` `@Controller`/`@Get` decorators.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warlock — create a controller
|
|
7
|
+
|
|
8
|
+
A controller is a thin function: pull inputs from `request`, call work, return through a `response.<helper>()`. No classes. No decorators. No DI.
|
|
9
|
+
|
|
10
|
+
## The shape
|
|
11
|
+
|
|
12
|
+
```ts title="src/app/<module>/controllers/<action>.controller.ts"
|
|
13
|
+
import { type RequestHandler } from "@warlock.js/core";
|
|
14
|
+
|
|
15
|
+
export const listProductsController: RequestHandler = async (request, response) => {
|
|
16
|
+
return response.success({ products: [] });
|
|
17
|
+
};
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
That's the full contract. The `RequestHandler` annotation carries both parameter types — `request` and `response` infer automatically; you never annotate them by hand.
|
|
21
|
+
|
|
22
|
+
## File location and naming
|
|
23
|
+
|
|
24
|
+
- One controller per file.
|
|
25
|
+
- File: `src/app/<module>/controllers/<action>.controller.ts`.
|
|
26
|
+
- Export name matches the action in camelCase + `Controller` suffix: `listProductsController`, `createProductController`, `getProductController`.
|
|
27
|
+
|
|
28
|
+
Scaffold with: `yarn warlock generate.controller <module>/<action>` (add `--with-validation` to get the schema generated alongside).
|
|
29
|
+
|
|
30
|
+
## Reading input
|
|
31
|
+
|
|
32
|
+
| Method | Returns | Use when |
|
|
33
|
+
| --------------------------------- | ------------------------------------------------ | --------------------------------------------------- |
|
|
34
|
+
| `request.input("key", default?)` | one field | reading a single param/body field by name |
|
|
35
|
+
| `request.all()` | full input object | passing the whole input straight to a service |
|
|
36
|
+
| `request.validated()` | schema-typed object (only after schema attached) | controllers with a schema — preferred over `.all()` |
|
|
37
|
+
| `request.user` | authenticated user | guarded routes (see "Typing a guarded handler") |
|
|
38
|
+
| `request.file("key")` | `UploadedFile` | multipart uploads |
|
|
39
|
+
| `request.header("X-Foo")` | header value | reading request metadata |
|
|
40
|
+
| `request.ip`, `request.userAgent` | strings | logging, device info |
|
|
41
|
+
|
|
42
|
+
Prefer `request.validated()` once a schema is attached — it's typed.
|
|
43
|
+
|
|
44
|
+
## Returning output
|
|
45
|
+
|
|
46
|
+
Pick the helper that matches the outcome. Full surface in [send-response](../send-response/SKILL.md). Quick map:
|
|
47
|
+
|
|
48
|
+
| Helper | Status | Use when |
|
|
49
|
+
| ---------------------------------- | ------ | ----------------------------- |
|
|
50
|
+
| `response.success(data)` | 200 | normal read |
|
|
51
|
+
| `response.successCreate(data)` | 201 | resource created |
|
|
52
|
+
| `response.noContent()` | 204 | delete succeeded |
|
|
53
|
+
| `response.badRequest({ error })` | 400 | invalid input |
|
|
54
|
+
| `response.unauthorized({ error })` | 401 | missing/invalid token |
|
|
55
|
+
| `response.forbidden({ error })` | 403 | authenticated but not allowed |
|
|
56
|
+
| `response.notFound({ error })` | 404 | record missing |
|
|
57
|
+
| `response.conflict({ error })` | 409 | uniqueness / state |
|
|
58
|
+
|
|
59
|
+
Always `return response.<helper>(...)` — the return value is the request's response.
|
|
60
|
+
|
|
61
|
+
## Attaching a validation schema
|
|
62
|
+
|
|
63
|
+
The schema is a property on the handler function, not a decorator. The handler's type generic carries the schema shape so `request.validated()` is typed end-to-end:
|
|
64
|
+
|
|
65
|
+
```ts title="src/app/products/controllers/create-product.controller.ts"
|
|
66
|
+
import { type Request, type RequestHandler } from "@warlock.js/core";
|
|
67
|
+
import { type CreateProductSchema, createProductSchema } from "../schema/create-product.schema";
|
|
68
|
+
import { createProductService } from "../services/create-product.service";
|
|
69
|
+
|
|
70
|
+
export const createProductController: RequestHandler<Request<CreateProductSchema>> = async (
|
|
71
|
+
request,
|
|
72
|
+
response,
|
|
73
|
+
) => {
|
|
74
|
+
const product = await createProductService(request.validated());
|
|
75
|
+
|
|
76
|
+
return response.successCreate({ product });
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
createProductController.validation = {
|
|
80
|
+
schema: createProductSchema,
|
|
81
|
+
};
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Two pieces:
|
|
85
|
+
|
|
86
|
+
1. **`RequestHandler<Request<TSchema>>`** as the controller's annotation — types `request.validated()` and keeps `request`/`response` inferred. No separate `*.request.ts` alias file is needed; the schema's exported `TSchema` type is the single source of truth.
|
|
87
|
+
2. **`controller.validation = { schema }`** at module top level so the framework knows to validate before calling the handler.
|
|
88
|
+
|
|
89
|
+
If validation fails, the framework returns a 400 with an `errors` payload and your handler never runs.
|
|
90
|
+
|
|
91
|
+
### Typing a guarded handler
|
|
92
|
+
|
|
93
|
+
Routes behind `authMiddleware` need `request.user` typed. Project conventions add a `GuardedRequest<TSchema>` (adding `user: User`) and a paired `GuardedRequestHandler<TSchema>` alias in `app/auth/requests/guarded.request`:
|
|
94
|
+
|
|
95
|
+
```ts
|
|
96
|
+
import { type GuardedRequestHandler } from "app/auth/requests/guarded.request";
|
|
97
|
+
import { type CreateProductSchema, createProductSchema } from "../schema/create-product.schema";
|
|
98
|
+
|
|
99
|
+
export const createProductController: GuardedRequestHandler<CreateProductSchema> = async (
|
|
100
|
+
request,
|
|
101
|
+
response,
|
|
102
|
+
) => {
|
|
103
|
+
// request.user is typed
|
|
104
|
+
const product = await createProductService(request.validated());
|
|
105
|
+
return response.successCreate({ product });
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
createProductController.validation = { schema: createProductSchema };
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Use `RequestHandler<Request<TSchema>>` for public routes, `GuardedRequestHandler<TSchema>` for guarded ones. The `generate.controller`/`generate.module` scaffolds emit `GuardedRequestHandler` by default, since generated routes are wired behind `guarded(...)` — swap to `RequestHandler` when the endpoint is public.
|
|
112
|
+
|
|
113
|
+
## Optional metadata
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
createProductController.description = "Create a new product (admin only)";
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Used by OpenAPI/Swagger generation (planned per `domains/core/backlog.md`) and surfaces in dev-server logs.
|
|
120
|
+
|
|
121
|
+
## What belongs in a controller (and what doesn't)
|
|
122
|
+
|
|
123
|
+
**Belongs:**
|
|
124
|
+
|
|
125
|
+
- Input pulling (`request.validated()` / `request.input(...)`)
|
|
126
|
+
- Calling exactly one service or use-case
|
|
127
|
+
- Returning the success path via `response.<helper>()`
|
|
128
|
+
|
|
129
|
+
Errors? Throw from the service. The framework catches every `HttpError` subclass and produces the matching response — controllers stay branch-free. See the next section.
|
|
130
|
+
|
|
131
|
+
**Doesn't belong:**
|
|
132
|
+
|
|
133
|
+
- Database queries (push to a repository, called by a service)
|
|
134
|
+
- Transactions (use-cases own them)
|
|
135
|
+
- External API calls (services)
|
|
136
|
+
- Cross-cutting orchestration of multiple services (use a `useCase()` — see `write-use-case` skill in Slice 2)
|
|
137
|
+
- Logging beyond what the framework does automatically
|
|
138
|
+
|
|
139
|
+
If your controller is over ~30 lines, the work probably belongs in a service.
|
|
140
|
+
|
|
141
|
+
## Common patterns
|
|
142
|
+
|
|
143
|
+
### Read
|
|
144
|
+
|
|
145
|
+
```ts
|
|
146
|
+
import { type RequestHandler } from "@warlock.js/core";
|
|
147
|
+
import { listProductsService } from "../services/list-products.service";
|
|
148
|
+
|
|
149
|
+
export const listProductsController: RequestHandler = async (request, response) => {
|
|
150
|
+
const { data: products, pagination } = await listProductsService({
|
|
151
|
+
...request.all(),
|
|
152
|
+
organization_id: request.user.organizationId,
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
return response.success({ products, pagination });
|
|
156
|
+
};
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Create
|
|
160
|
+
|
|
161
|
+
```ts
|
|
162
|
+
import { type Request, type RequestHandler } from "@warlock.js/core";
|
|
163
|
+
import { type CreateProductSchema, createProductSchema } from "../schema/create-product.schema";
|
|
164
|
+
import { createProductService } from "../services/create-product.service";
|
|
165
|
+
|
|
166
|
+
export const createProductController: RequestHandler<Request<CreateProductSchema>> = async (
|
|
167
|
+
request,
|
|
168
|
+
response,
|
|
169
|
+
) => {
|
|
170
|
+
const product = await createProductService(request.validated());
|
|
171
|
+
|
|
172
|
+
return response.successCreate({ product });
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
createProductController.validation = {
|
|
176
|
+
schema: createProductSchema,
|
|
177
|
+
};
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Service throws — controller stays branch-free
|
|
181
|
+
|
|
182
|
+
For HTTP-shaped errors (`404` not found, `403` forbidden, `400` bad request, `409` conflict, `500` server error), **throw from the service**. The request middleware (`http/middleware/inject-request-context.ts`) catches every `HttpError` subclass and produces the matching response. Controllers stay focused on the success path:
|
|
183
|
+
|
|
184
|
+
```ts title="src/app/products/services/get-product.service.ts"
|
|
185
|
+
import { ResourceNotFoundError } from "@warlock.js/core";
|
|
186
|
+
import { productsRepository } from "../repositories/products.repository";
|
|
187
|
+
|
|
188
|
+
export async function getProductService(id: string) {
|
|
189
|
+
const product = await productsRepository.find(id);
|
|
190
|
+
|
|
191
|
+
if (!product) {
|
|
192
|
+
throw new ResourceNotFoundError("product.notFound");
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return product;
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
```ts title="src/app/products/controllers/get-product.controller.ts"
|
|
200
|
+
import type { RequestHandler } from "@warlock.js/core";
|
|
201
|
+
import { getProductService } from "../services/get-product.service";
|
|
202
|
+
|
|
203
|
+
export const getProductController: RequestHandler = async (request, response) => {
|
|
204
|
+
const product = await getProductService(request.input("id"));
|
|
205
|
+
|
|
206
|
+
return response.success({ product });
|
|
207
|
+
};
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
No `if (!product)` branch in the controller. The error class carries the HTTP semantic (`404` for `ResourceNotFoundError`, `403` for `ForbiddenError`, `400` for `BadRequestError`, `409` for `ConflictError`, `500` for `ServerError`). Full list in [`send-response`](../send-response/SKILL.md#throwing-http-errors). `product.notFound` is a translation key — see localization conventions in your project's `utils/locales.ts`.
|
|
211
|
+
|
|
212
|
+
## Gotchas
|
|
213
|
+
|
|
214
|
+
- **DO throw HTTP-shaped errors from services.** `ResourceNotFoundError`, `ForbiddenError`, `BadRequestError`, etc. — the framework's request middleware (`http/middleware/inject-request-context.ts`) catches every `HttpError` subclass and produces the right response. Controllers stay clean of branching; only catch when you genuinely need to recover and continue.
|
|
215
|
+
- **Don't read `request.body` directly.** Use `request.all()` / `request.validated()` — they handle multipart, JSON, and form bodies uniformly.
|
|
216
|
+
- **Don't annotate `request`/`response` by hand.** They flow from the `RequestHandler<...>` generic. Adding `request: SomeRequest` separately re-introduces a contravariance error and defeats the inference.
|
|
217
|
+
- **Don't keep a `*.request.ts` alias file.** The schema's exported `TSchema` type plus `RequestHandler<Request<TSchema>>` (or `GuardedRequestHandler<TSchema>`) is the single source of truth. Separate request alias files drift from the schema and add an indirection that pays no rent.
|
|
218
|
+
|
|
219
|
+
## See also
|
|
220
|
+
|
|
221
|
+
- [`register-route/SKILL.md`](../register-route/SKILL.md) — wiring a controller to a URL.
|
|
222
|
+
- [`send-response/SKILL.md`](../send-response/SKILL.md) — full Response helper surface.
|
|
223
|
+
- [`warlock-conventions/SKILL.md`](../warlock-conventions/SKILL.md) — controller-service-repository layering.
|