@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,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: encrypt-data
|
|
3
|
+
description: 'Reversible AES-256-GCM `encrypt` / `decrypt` for secrets you need to read back; one-way HMAC-SHA256 `hmacHash` for deterministic fingerprints (lookup/dedup of encrypted columns). Keys come from `src/config/encryption.ts`. Triggers: `encrypt`, `decrypt`, `hmacHash`, `EncryptionConfigurations`, `APP_ENCRYPTION_KEY`, `APP_HMAC_KEY`; "store an API key reversibly", "fingerprint an encrypted column for lookup", "AES-256-GCM secret", "HMAC-SHA256 dedup key"; typical import `import { encrypt, decrypt, hmacHash } from "@warlock.js/core"`. Skip: password hashing — `@warlock.js/core/hash-password/SKILL.md`; config wiring — `@warlock.js/core/configure-app/SKILL.md`; competing libs Node `crypto` direct, `crypto-js`, `libsodium-wrappers`.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warlock — encrypt and fingerprint
|
|
7
|
+
|
|
8
|
+
Two helpers, two different jobs:
|
|
9
|
+
|
|
10
|
+
| Tool | Direction | Algorithm | Use for |
|
|
11
|
+
| ----------------------- | ---------- | ------------ | -------------------------------------------------------------- |
|
|
12
|
+
| `encrypt` / `decrypt` | reversible | AES-256-GCM | Secrets you need to read back (API keys, OAuth tokens). |
|
|
13
|
+
| `hmacHash` | one-way | HMAC-SHA256 | Deterministic fingerprint for lookup/dedup of encrypted values. |
|
|
14
|
+
|
|
15
|
+
Both live in `@warlock.js/core`. For **password hashing** (a one-way job with very different requirements), reach for [`hash-password/SKILL.md`](../hash-password/SKILL.md) instead — bcrypt is the right tool there, not encrypt.
|
|
16
|
+
|
|
17
|
+
## The shape
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import { encrypt, decrypt, hmacHash } from "@warlock.js/core";
|
|
21
|
+
|
|
22
|
+
// reversible — fast, integrity-checked, fresh IV per call
|
|
23
|
+
const cipherText = encrypt("sk-proj-12345");
|
|
24
|
+
const plainText = decrypt(cipherText);
|
|
25
|
+
|
|
26
|
+
// fingerprint — fast, deterministic (same input → same output)
|
|
27
|
+
const fingerprint = hmacHash("sk-proj-12345");
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Configuration — `src/config/encryption.ts`
|
|
31
|
+
|
|
32
|
+
```ts title="src/config/encryption.ts"
|
|
33
|
+
import type { EncryptionConfigurations } from "@warlock.js/core";
|
|
34
|
+
import { env } from "@warlock.js/core";
|
|
35
|
+
|
|
36
|
+
const encryptionConfig: EncryptionConfigurations = {
|
|
37
|
+
key: env("APP_ENCRYPTION_KEY"), // 64 hex chars = 32 bytes — required
|
|
38
|
+
algorithm: "aes-256-gcm", // optional, default
|
|
39
|
+
hmacKey: env("APP_HMAC_KEY"), // 64 hex chars — falls back to `key` if absent
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export default encryptionConfig;
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Generate the keys once (Node REPL):
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Put both in `.env` and **never rotate the encryption key without a migration** — every value encrypted under the old key becomes garbage. The HMAC key can rotate if you accept that fingerprints recomputed under the new key won't match historical ones.
|
|
52
|
+
|
|
53
|
+
## `encrypt` / `decrypt` — reversible secrets
|
|
54
|
+
|
|
55
|
+
For values you need to read back: API keys you'll later send to a third party, OAuth refresh tokens, credentials in a vault row. **Never use this for passwords** — you'd be storing recoverable plaintext, which means a database breach equals a credentials leak.
|
|
56
|
+
|
|
57
|
+
```ts title="src/app/ai-api-keys/services/create-ai-api-key.service.ts"
|
|
58
|
+
import { ConflictError, encrypt, hmacHash } from "@warlock.js/core";
|
|
59
|
+
import { AiApiKey } from "../models/ai-api-key";
|
|
60
|
+
import { aiApiKeysRepository } from "../repositories/ai-api-keys.repository";
|
|
61
|
+
|
|
62
|
+
export async function createAiApiKeyService(data: { key: string; organization_id: string }) {
|
|
63
|
+
if (
|
|
64
|
+
await aiApiKeysRepository.first({
|
|
65
|
+
organization_id: data.organization_id,
|
|
66
|
+
hash: hmacHash(data.key),
|
|
67
|
+
})
|
|
68
|
+
) {
|
|
69
|
+
throw new ConflictError("API key already exists");
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return AiApiKey.create({
|
|
73
|
+
...data,
|
|
74
|
+
key: encrypt(data.key), // the secret, recoverable
|
|
75
|
+
hash: hmacHash(data.key), // the fingerprint, lookup-able
|
|
76
|
+
last_four_chars: data.key.slice(-4),
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
This is the canonical pattern: **encrypt the secret, hmacHash the same value for lookup**. Now you can find the row by user-provided plaintext (`first({ hash: hmacHash(input) })`) without ever decrypting, and `decrypt(row.get("key"))` recovers the secret when you need it.
|
|
82
|
+
|
|
83
|
+
```ts title="reading it back"
|
|
84
|
+
import { decrypt } from "@warlock.js/core";
|
|
85
|
+
|
|
86
|
+
const apiKey = await aiApiKeysRepository.first({ id });
|
|
87
|
+
const plainKey = decrypt(apiKey.get("key"));
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Format
|
|
91
|
+
|
|
92
|
+
`encrypt(plain)` returns `iv:ciphertext:authTag` — three hex chunks joined with `:`. The IV is a fresh 16-byte random per call, so encrypting the same input twice yields two different cipher texts (this is what you want — it defeats pattern analysis). The `authTag` is GCM's integrity check: if the stored ciphertext is tampered with, `decrypt()` throws.
|
|
93
|
+
|
|
94
|
+
`decrypt()` throws on:
|
|
95
|
+
|
|
96
|
+
- Invalid format (not three colon-separated parts).
|
|
97
|
+
- Wrong key.
|
|
98
|
+
- Tampered ciphertext (auth tag mismatch).
|
|
99
|
+
- Wrong algorithm vs the one used to encrypt.
|
|
100
|
+
|
|
101
|
+
Handle those at the boundary — they almost always mean misconfiguration or a corrupted row, not a runtime bug.
|
|
102
|
+
|
|
103
|
+
### Empty-string passthrough
|
|
104
|
+
|
|
105
|
+
Both `encrypt("")` and `decrypt("")` return `""` unchanged — convenient for nullable columns where `""` means "no value." `null` / `undefined` will throw at the type level (the signatures require `string`).
|
|
106
|
+
|
|
107
|
+
## `hmacHash` — deterministic fingerprints
|
|
108
|
+
|
|
109
|
+
A keyed one-way hash. Same input + same key always produces the same 64-hex-char output. Two properties that matter:
|
|
110
|
+
|
|
111
|
+
1. **Deterministic.** Use it to dedup or look up encrypted values without decrypting them.
|
|
112
|
+
2. **Keyed.** An attacker with the database but not the HMAC key can't precompute a rainbow table — they don't know which hash function you're using.
|
|
113
|
+
|
|
114
|
+
Three solid use cases:
|
|
115
|
+
|
|
116
|
+
```ts
|
|
117
|
+
// 1. Unique constraint on an encrypted column
|
|
118
|
+
await aiApiKeysRepository.first({ hash: hmacHash(userInput) });
|
|
119
|
+
|
|
120
|
+
// 2. Idempotency key derived from a payload
|
|
121
|
+
await idempotencyKeysRepository.first({ hash: hmacHash(JSON.stringify(request)) });
|
|
122
|
+
|
|
123
|
+
// 3. Fingerprint of a secret for audit logs (without storing the secret)
|
|
124
|
+
log.info("api-key", "used", { fingerprint: hmacHash(apiKey).slice(0, 8) });
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Do not use `hmacHash` for passwords.** It's fast — a brute-force attack with a stolen database would clear common passwords in minutes. That's what bcrypt is for (see [`hash-password/SKILL.md`](../hash-password/SKILL.md)).
|
|
128
|
+
|
|
129
|
+
## Common patterns
|
|
130
|
+
|
|
131
|
+
### Encrypt + fingerprint together (the canonical pattern)
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
await Model.create({
|
|
135
|
+
key: encrypt(plain),
|
|
136
|
+
hash: hmacHash(plain), // for lookups
|
|
137
|
+
last_four_chars: plain.slice(-4), // for UI display ("ending in 1234")
|
|
138
|
+
});
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
`last_four_chars` is useful in dashboards — show users which key is which without revealing it.
|
|
142
|
+
|
|
143
|
+
### Encrypt before persisting via a model accessor
|
|
144
|
+
|
|
145
|
+
```ts title="src/app/secrets/models/secret/secret.model.ts"
|
|
146
|
+
import { encrypt, decrypt } from "@warlock.js/core";
|
|
147
|
+
|
|
148
|
+
export class Secret extends Model {
|
|
149
|
+
public setValue(plain: string) {
|
|
150
|
+
this.set("value", encrypt(plain));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public getValue(): string {
|
|
154
|
+
return decrypt(this.get("value"));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Keeps the encryption boundary in one place — controllers and services deal in plaintext, the model handles the crypto.
|
|
160
|
+
|
|
161
|
+
### Audit log without leaking the secret
|
|
162
|
+
|
|
163
|
+
```ts
|
|
164
|
+
log.info("ai-api-key", "used", {
|
|
165
|
+
organization_id,
|
|
166
|
+
fingerprint: hmacHash(apiKey).slice(0, 8), // first 8 hex chars = enough to correlate
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
You can search logs for the same fingerprint to track usage of a specific key across requests without ever storing the plaintext in your log pipeline.
|
|
171
|
+
|
|
172
|
+
### Idempotency keys
|
|
173
|
+
|
|
174
|
+
```ts
|
|
175
|
+
const idempotencyKey = hmacHash(JSON.stringify({
|
|
176
|
+
user_id: user.id,
|
|
177
|
+
action: "transfer",
|
|
178
|
+
amount,
|
|
179
|
+
to,
|
|
180
|
+
// include a monotonic component if the same exact payload should be allowed twice
|
|
181
|
+
}));
|
|
182
|
+
|
|
183
|
+
const existing = await idempotencyRepository.first({ key: idempotencyKey });
|
|
184
|
+
if (existing) return existing.get("result");
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Same payload → same key → returns the cached result. Different keys (because the HMAC is keyed) per environment if you set different `hmacKey` values.
|
|
188
|
+
|
|
189
|
+
## Gotchas
|
|
190
|
+
|
|
191
|
+
- **Never log decrypted values.** A log line is a leak. If you must debug, log the HMAC fingerprint, not the plaintext.
|
|
192
|
+
- **`encrypt`/`decrypt` keys must be 32 bytes (64 hex chars).** Anything else throws with a clear message. Don't truncate or pad.
|
|
193
|
+
- **Empty key value is fatal.** If `env("APP_ENCRYPTION_KEY")` returns `undefined`, the first `encrypt()` call throws "Missing encryption key" at runtime, not boot. Cover this in your startup health check.
|
|
194
|
+
- **HMAC falls back to the encryption key.** If `hmacKey` isn't set, `hmacHash` uses `key`. Convenient, but slightly weakens your isolation — best practice is two separate keys.
|
|
195
|
+
- **Don't reuse the same value across encrypt and password.** A bcrypt hash of a value isn't comparable to an encryption of that value. They're different domains.
|
|
196
|
+
- **Rotating the encryption key requires a migration.** Every existing ciphertext becomes unrecoverable under a new key. Plan rotation as: keep the old key as `OLD_APP_ENCRYPTION_KEY`, decrypt each row with old, encrypt with new, retire old key once the table is clean.
|
|
197
|
+
|
|
198
|
+
## Installation
|
|
199
|
+
|
|
200
|
+
`encrypt` / `decrypt` / `hmacHash` use Node's built-in `crypto` — no extra dependency. They're available out of the box.
|
|
201
|
+
|
|
202
|
+
Password hashing (`hashPassword`) needs `bcryptjs`, which is its own install — see [`hash-password/SKILL.md`](../hash-password/SKILL.md).
|
|
203
|
+
|
|
204
|
+
## See also
|
|
205
|
+
|
|
206
|
+
- [`hash-password/SKILL.md`](../hash-password/SKILL.md) — bcrypt password hashing (the third member of the encryption module, but a different job entirely).
|
|
207
|
+
- [`configure-app/SKILL.md`](../configure-app/SKILL.md) — `src/config/encryption.ts` and env wiring.
|
|
208
|
+
- [`warlock-conventions/SKILL.md`](../warlock-conventions/SKILL.md) — service layering, where the encryption boundary should sit.
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hash-password
|
|
3
|
+
description: 'One-way bcrypt password hashing — `hashPassword` / `verifyPassword`, plus the declarative `useHashedPassword()` schema transformer that auto-hashes a model''s password field on save. Salt rounds come from `src/config/encryption.ts`. Triggers: `hashPassword`, `verifyPassword`, `useHashedPassword`, `password.salt`, `bcryptjs`; "hash a user password", "verify login credentials", "auto-hash on save", "rotate a password"; typical import `import { hashPassword, verifyPassword } from "@warlock.js/core"`. Skip: reversible secrets — `@warlock.js/core/encrypt-data/SKILL.md`; the other transformers — `@warlock.js/core/use-model-transformers/SKILL.md`; config wiring — `@warlock.js/core/configure-app/SKILL.md`; competing libs `bcrypt` native, `argon2`, `scrypt`.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warlock — hash a password
|
|
7
|
+
|
|
8
|
+
For storing user-typed passwords, bcrypt is the one right answer — and the only one. It's **deliberately slow** (~250ms per call with the default salt rounds), which is what makes it expensive to brute-force a stolen password database. Use it for nothing else: not API keys, not session tokens, not "this needs to be one-way."
|
|
9
|
+
|
|
10
|
+
If your value needs to be read back later → [`encrypt-data/SKILL.md`](../encrypt-data/SKILL.md).
|
|
11
|
+
If you need a fast searchable fingerprint of an encrypted value → also `encrypt-data` (`hmacHash`).
|
|
12
|
+
|
|
13
|
+
## The shape
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { hashPassword, verifyPassword } from "@warlock.js/core";
|
|
17
|
+
|
|
18
|
+
const hashed = await hashPassword("user-password-123");
|
|
19
|
+
// → "$2b$12$..." — store this
|
|
20
|
+
|
|
21
|
+
const valid = await verifyPassword("user-password-123", hashed);
|
|
22
|
+
// → true / false
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Both are async because bcrypt is CPU-bound. The framework uses `bcryptjs` (pure JS — portable across every platform, no native build) under the hood.
|
|
26
|
+
|
|
27
|
+
## Configuration — `src/config/encryption.ts`
|
|
28
|
+
|
|
29
|
+
```ts title="src/config/encryption.ts"
|
|
30
|
+
import type { EncryptionConfigurations } from "@warlock.js/core";
|
|
31
|
+
|
|
32
|
+
const encryptionConfig: EncryptionConfigurations = {
|
|
33
|
+
password: {
|
|
34
|
+
salt: 12, // bcrypt rounds — 10–12 is the standard band
|
|
35
|
+
},
|
|
36
|
+
// ...other crypto config (key/hmacKey for encrypt/decrypt — see encrypt-data skill)
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export default encryptionConfig;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The `salt` knob is bcrypt's **work factor** — `2^salt` iterations per hash. Each unit doubles the cost. `12` is the modern default; bump to `13`/`14` if your hardware is fast enough that login feels instant and you want a bigger brute-force tax. Don't go below `10` — that's the lower bound for modern security.
|
|
43
|
+
|
|
44
|
+
## `hashPassword` / `verifyPassword`
|
|
45
|
+
|
|
46
|
+
```ts title="src/app/users/services/register-user.service.ts"
|
|
47
|
+
import { hashPassword } from "@warlock.js/core";
|
|
48
|
+
import { User } from "../models/user";
|
|
49
|
+
|
|
50
|
+
export async function registerUserService(input: { email: string; password: string }) {
|
|
51
|
+
const user = await User.create({
|
|
52
|
+
email: input.email,
|
|
53
|
+
password: await hashPassword(input.password),
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
return user;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
```ts title="src/app/auth/services/verify-credentials.service.ts"
|
|
61
|
+
import { verifyPassword } from "@warlock.js/core";
|
|
62
|
+
import { usersRepository } from "app/users/repositories/users.repository";
|
|
63
|
+
|
|
64
|
+
export async function verifyCredentialsService(email: string, password: string) {
|
|
65
|
+
const user = await usersRepository.first({ email });
|
|
66
|
+
if (!user) return null;
|
|
67
|
+
|
|
68
|
+
const isValid = await verifyPassword(password, user.get("password"));
|
|
69
|
+
return isValid ? user : null;
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The `@warlock.js/auth` package wires both into its `auth.service.ts` — `authService.hashPassword(p)` and `authService.verifyPassword(plain, hash)` are thin proxies over these helpers. Use the auth service if you're using `@warlock.js/auth`; use the core helpers directly if you're rolling your own.
|
|
74
|
+
|
|
75
|
+
## The declarative pattern — `useHashedPassword()`
|
|
76
|
+
|
|
77
|
+
Manually calling `hashPassword` in every service that touches a password is repetitive and easy to forget. The framework offers a **schema transformer** that auto-hashes the field on save:
|
|
78
|
+
|
|
79
|
+
```ts title="src/app/users/models/user/user.model.ts"
|
|
80
|
+
import { useHashedPassword } from "@warlock.js/core";
|
|
81
|
+
import { type Infer, v } from "@warlock.js/seal";
|
|
82
|
+
|
|
83
|
+
export const userSchema = v.object({
|
|
84
|
+
email: v.email().unique("User"),
|
|
85
|
+
password: v.string().requiredIfEmpty("id").addTransformer(useHashedPassword()),
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
export type UserSchema = Infer<typeof userSchema>;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
What it does:
|
|
92
|
+
|
|
93
|
+
- **New row** → hashes `password` once on `.create()` / `.save()`.
|
|
94
|
+
- **Existing row** → only re-hashes when the field actually changes; leaves the stored hash alone otherwise.
|
|
95
|
+
- **Empty / undefined value** → returns the value untouched (won't double-hash, won't overwrite with `undefined`).
|
|
96
|
+
|
|
97
|
+
Internally it calls `authService.hashPassword(value)`, which is the same bcryptjs path as the standalone helper — just attached to the schema so controllers and services never deal with plaintext storage. Pass `request.validated().password` straight into `User.create({...})` and the transformer handles the hashing.
|
|
98
|
+
|
|
99
|
+
This is the **recommended pattern** for user models. The standalone helper is for non-schema contexts (CLI tools generating users, one-off scripts, custom auth services).
|
|
100
|
+
|
|
101
|
+
## Common patterns
|
|
102
|
+
|
|
103
|
+
### Rotate a user's password
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
import { hashPassword, verifyPassword } from "@warlock.js/core";
|
|
107
|
+
|
|
108
|
+
const user = await usersRepository.findById(id);
|
|
109
|
+
|
|
110
|
+
if (!(await verifyPassword(oldPassword, user.get("password")))) {
|
|
111
|
+
throw new BadRequestError("Current password incorrect");
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
await user.save({ password: await hashPassword(newPassword) });
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
If the model uses `useHashedPassword()`, you can skip the explicit `hashPassword` call:
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
await user.save({ password: newPassword }); // transformer hashes on save
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The transformer detects that the field is changing and re-hashes.
|
|
124
|
+
|
|
125
|
+
### Login flow
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
import { verifyPassword } from "@warlock.js/core";
|
|
129
|
+
|
|
130
|
+
const user = await usersRepository.first({ email });
|
|
131
|
+
if (!user) {
|
|
132
|
+
// Same response shape as "wrong password" to prevent email enumeration
|
|
133
|
+
throw new BadRequestError("Invalid credentials");
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const valid = await verifyPassword(password, user.get("password"));
|
|
137
|
+
if (!valid) {
|
|
138
|
+
throw new BadRequestError("Invalid credentials");
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return user;
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
The "same error for missing user vs wrong password" pattern is deliberate — it stops attackers from learning which emails are registered.
|
|
145
|
+
|
|
146
|
+
## Installation
|
|
147
|
+
|
|
148
|
+
`hashPassword` / `verifyPassword` need `bcryptjs`. Install it directly:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
yarn add bcryptjs
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
If you skip the install, the first call throws with the framework's install hint:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
Password encryption requires the bcryptjs package.
|
|
158
|
+
Install it with:
|
|
159
|
+
|
|
160
|
+
yarn add bcryptjs
|
|
161
|
+
|
|
162
|
+
Or with your preferred package manager:
|
|
163
|
+
|
|
164
|
+
yarn add bcryptjs
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
There is no `warlock add` feature for password hashing — `bcryptjs` is a plain dependency, so install it directly with `yarn add bcryptjs`.
|
|
168
|
+
|
|
169
|
+
## Gotchas
|
|
170
|
+
|
|
171
|
+
- **Never use `hashPassword` for non-password values.** A 250ms tax on every API request because someone reached for it as a "general one-way hash" — that's a performance bug waiting to happen. For one-way fingerprinting of encrypted values, use `hmacHash` (see [`encrypt-data/SKILL.md`](../encrypt-data/SKILL.md)).
|
|
172
|
+
- **Don't `hashPassword` on the request hot path twice.** Each call is ~250ms. If you `hashPassword(input)` then call it again as part of `verifyPassword`'s internals (you don't), you're stacking the tax. `verifyPassword(plain, storedHash)` takes the plaintext and the stored hash — that's the API.
|
|
173
|
+
- **Don't swap `bcryptjs` for native `bcrypt` without a reason.** `bcryptjs` is portable across every platform (no native build), and the perf delta isn't meaningful in the password-verification workflow.
|
|
174
|
+
- **The transformer detects changes by comparison.** If your model's password field is `null` and you save `null` again, it's a no-op. If it's a hash and you save the same hash string, also no-op. Only an actual value change triggers re-hashing.
|
|
175
|
+
- **Don't strip the hash before sending the user back to the client.** Use a resource layer (`UserResource`) that excludes the password field — that's where filtering belongs, not in your service code.
|
|
176
|
+
|
|
177
|
+
## See also
|
|
178
|
+
|
|
179
|
+
- [`use-model-transformers/SKILL.md`](../use-model-transformers/SKILL.md) — `useHashedPassword` + the two other model transformers (`useComputedSlug`, `useComputedModel`).
|
|
180
|
+
- [`encrypt-data/SKILL.md`](../encrypt-data/SKILL.md) — reversible AES-256-GCM `encrypt`/`decrypt` + one-way HMAC `hmacHash` (the other two members of the encryption module).
|
|
181
|
+
- [`configure-app/SKILL.md`](../configure-app/SKILL.md) — `src/config/encryption.ts` and the `password.salt` knob.
|
|
182
|
+
- [`define-resource/SKILL.md`](../define-resource/SKILL.md) — where to filter the password field out of API responses.
|
|
183
|
+
- [`warlock-conventions/SKILL.md`](../warlock-conventions/SKILL.md) — service layering, where the password boundary should sit.
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: process-image
|
|
3
|
+
description: 'Transform images with the `Image` class — resize, crop, rotate, format, quality, watermark, blur, etc. — using a deferred pipeline that runs only at `save()` / `toBuffer()` / `toBase64()` / `toDataUrl()` time. Requires sharp via `warlock add image`. Triggers: `Image`, `Image.fromFile`, `Image.fromBuffer`, `Image.fromUrl`, `.resize`, `.crop`, `.watermark`, `.toBuffer`, `.toDataUrl`, `.apply`; "resize an image", "generate a thumbnail", "watermark a product photo", "build an image pipeline"; typical import `import { Image } from "@warlock.js/core"`. Skip: multipart upload entry — `@warlock.js/core/upload-file/SKILL.md`; storage persistence — `@warlock.js/core/store-file/SKILL.md`; competing libs `sharp` direct, `jimp`, `imagemagick`, `gm`.'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Warlock — process an image
|
|
7
|
+
|
|
8
|
+
`Image` (from `@warlock.js/core`) wraps `sharp` with a **deferred pipeline**: every chainable method (`resize`, `crop`, `format`, `quality`, `watermark`, ...) records an operation; only `save()` / `toBuffer()` / `toBase64()` / `toDataUrl()` actually run sharp. The constructor and chain stay synchronous; one `await` at the end fires the whole pipeline.
|
|
9
|
+
|
|
10
|
+
`sharp` is lazy-loaded — the framework throws a clear install hint if it isn't there.
|
|
11
|
+
|
|
12
|
+
## The shape
|
|
13
|
+
|
|
14
|
+
```ts
|
|
15
|
+
import { Image } from "@warlock.js/core";
|
|
16
|
+
|
|
17
|
+
// All chaining is synchronous — single await at the end
|
|
18
|
+
await new Image("./photo.jpg")
|
|
19
|
+
.resize({ width: 800 })
|
|
20
|
+
.format("webp")
|
|
21
|
+
.quality(85)
|
|
22
|
+
.save("./output.webp");
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
That's the full contract. The chain doesn't touch sharp until the output method fires.
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
warlock add image
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Adds `sharp` to your dependencies. Skip it and the first `new Image(...)` throws with an install hint.
|
|
34
|
+
|
|
35
|
+
## Constructors
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
new Image("./avatar.jpg") // path
|
|
39
|
+
new Image(buffer) // Buffer
|
|
40
|
+
new Image(uint8Array) // Uint8Array
|
|
41
|
+
new Image(arrayBuffer) // ArrayBuffer
|
|
42
|
+
new Image(existingSharpInstance) // wrap a sharp.Sharp you already built
|
|
43
|
+
|
|
44
|
+
// Or via static factories:
|
|
45
|
+
Image.fromFile("./avatar.jpg");
|
|
46
|
+
Image.fromBuffer(buffer);
|
|
47
|
+
await Image.fromUrl("https://example.com/photo.jpg"); // @mongez/http under the hood
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`Image.fromUrl(...)` is the only async factory — it fetches the URL via `@mongez/http` (`responseType: "arrayBuffer"`), then wraps the bytes. The rest are synchronous.
|
|
51
|
+
|
|
52
|
+
## Transforms (chainable)
|
|
53
|
+
|
|
54
|
+
Every method returns `this` so calls chain. Transforms are descriptors; nothing runs until the output method.
|
|
55
|
+
|
|
56
|
+
| Method | Effect |
|
|
57
|
+
| -------------------------------------------- | ---------------------------------------------------------------------------- |
|
|
58
|
+
| `.resize({ width?, height?, fit?, ... })` | sharp resize — accepts the full `sharp.ResizeOptions` shape |
|
|
59
|
+
| `.crop({ left, top, width, height })` | extract a region |
|
|
60
|
+
| `.rotate(deg)` | clockwise rotation |
|
|
61
|
+
| `.flip()` | mirror vertically (top↔bottom) |
|
|
62
|
+
| `.flop()` | mirror horizontally (left↔right) |
|
|
63
|
+
| `.blur(sigma)` | gaussian blur (sigma is required, must be ≥ 0.3 — throws otherwise) |
|
|
64
|
+
| `.sharpen(options?)` | sharp's sharpen |
|
|
65
|
+
| `.grayscale()` / `.blackAndWhite()` | grayscale (aliases) |
|
|
66
|
+
| `.tint(color)` | color tint |
|
|
67
|
+
| `.negate(options?)` | invert colors |
|
|
68
|
+
| `.opacity(value)` | 0–100, applied via composite |
|
|
69
|
+
| `.trim(options?)` | trim borders |
|
|
70
|
+
| `.watermark(image, options?)` | overlay one watermark — two positional args (`image` accepts the same inputs as the constructor, plus another `Image`; `options` is `sharp.OverlayOptions`) |
|
|
71
|
+
| `.watermarks([{ image, options }, ...])` | overlay many — one `WatermarkConfig` object (`{ image, options }`) per entry |
|
|
72
|
+
| `.format(format)` | output format — `"jpeg"`, `"png"`, `"webp"`, `"avif"`, `"tiff"`, `"heif"`, ... |
|
|
73
|
+
| `.quality(1–100)` | lossy formats only (`jpeg` / `webp` / `avif` / `tiff` / `heif`); ignored otherwise |
|
|
74
|
+
| `.apply(options)` | apply many transforms in one call, in a fixed canonical order |
|
|
75
|
+
|
|
76
|
+
`apply(options)` accepts an `ImageTransformOptions` object — every transform above as a key. Useful when transforms come from config or a request payload.
|
|
77
|
+
|
|
78
|
+
## Outputs
|
|
79
|
+
|
|
80
|
+
Each of these fires the pipeline exactly once and returns the result. Subsequent calls run the pipeline again (operations aren't memoised).
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
await image.save("./output.webp"); // write to disk; returns the absolute path
|
|
84
|
+
const buffer = await image.toBuffer(); // → Buffer
|
|
85
|
+
const base64 = await image.toBase64(); // → "iVBORw0KGgo..."
|
|
86
|
+
const dataUrl = await image.toDataUrl(); // → "data:image/webp;base64,..."
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Common patterns
|
|
90
|
+
|
|
91
|
+
### Resize an uploaded avatar to two sizes
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
import { Image } from "@warlock.js/core";
|
|
95
|
+
|
|
96
|
+
const buffer = await uploadedAvatar.buffer();
|
|
97
|
+
|
|
98
|
+
await new Image(buffer)
|
|
99
|
+
.resize({ width: 400, height: 400 })
|
|
100
|
+
.format("webp")
|
|
101
|
+
.quality(85)
|
|
102
|
+
.save("./storage/uploads/avatars/full.webp");
|
|
103
|
+
|
|
104
|
+
await new Image(buffer)
|
|
105
|
+
.resize({ width: 100, height: 100 })
|
|
106
|
+
.format("webp")
|
|
107
|
+
.quality(80)
|
|
108
|
+
.save("./storage/uploads/avatars/thumb.webp");
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Two separate `Image` instances → two pipelines. They don't share state.
|
|
112
|
+
|
|
113
|
+
### Watermark + resize + format
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
await new Image(productPhoto)
|
|
117
|
+
.resize({ width: 1200 })
|
|
118
|
+
.watermark("./assets/logo.png", { gravity: "southeast" })
|
|
119
|
+
.quality(90)
|
|
120
|
+
.save("./output.jpg");
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The chained `.watermark(image, options)` takes two positional arguments. (The object form `{ image, options }` is only used inside `apply({ watermark: {...} })` and `.watermarks([...])`.)
|
|
124
|
+
|
|
125
|
+
### Batch transforms via `apply()`
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
await new Image(buffer)
|
|
129
|
+
.apply({
|
|
130
|
+
resize: { width: 800 },
|
|
131
|
+
grayscale: true,
|
|
132
|
+
blur: 2,
|
|
133
|
+
format: "webp",
|
|
134
|
+
quality: 80,
|
|
135
|
+
})
|
|
136
|
+
.save("./output.webp");
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
`apply()` runs operations in a fixed canonical order: resize → crop → rotate → flip/flop → grayscale/blackAndWhite → blur → sharpen → tint → negate → trim → watermark(s) → opacity → format/quality. If you need a different order (e.g. blur **before** resize), use the fluent chain.
|
|
140
|
+
|
|
141
|
+
### Read metadata
|
|
142
|
+
|
|
143
|
+
```ts
|
|
144
|
+
const metadata = await new Image(buffer).image.metadata();
|
|
145
|
+
console.log(metadata.width, metadata.height, metadata.format);
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
The wrapper exposes the underlying `sharp.Sharp` via `.image` for anything not surfaced through chainable methods. Operations through `.image` bypass the deferred pipeline — they run immediately.
|
|
149
|
+
|
|
150
|
+
## Composition with `UploadedFile`
|
|
151
|
+
|
|
152
|
+
`UploadedFile` (from multipart uploads) has its own chainable `.resize().format().quality().save(...)` that runs through `Image` internally — same deferred execution, same transforms. Use it when the source is a multipart upload; reach for `new Image(...)` directly when the source is a buffer/path/URL.
|
|
153
|
+
|
|
154
|
+
See [`upload-file`](../upload-file/SKILL.md) for the multipart entry point and [`store-file`](../store-file/SKILL.md) for persisting the output through storage drivers.
|
|
155
|
+
|
|
156
|
+
## Gotchas
|
|
157
|
+
|
|
158
|
+
- **`sharp` is required.** Without `warlock add image`, the constructor throws with an install hint. Lazy-loaded — error fires at first use, not at module import.
|
|
159
|
+
- **One `Image` = one pipeline run.** Calling `save()` twice runs the pipeline twice. To reuse output, capture the buffer once with `toBuffer()` and reuse it.
|
|
160
|
+
- **`.quality(...)` is silently ignored on PNG.** PNG is lossless. JPEG, WebP, AVIF, TIFF, HEIF honor it.
|
|
161
|
+
- **`apply()` ordering is canonical, not insertion order.** If the order matters, chain manually.
|
|
162
|
+
- **`.image` is the raw sharp instance.** Operations on it bypass the deferred pipeline and run immediately — useful for metadata, dangerous if you mix it with chained transforms.
|
|
163
|
+
- **`Image.fromUrl(...)` makes a network call** (via `@mongez/http`). It throws if the response is empty or errors. Wrap with `retry(...)` if the source URL can be flaky.
|
|
164
|
+
|
|
165
|
+
## See also
|
|
166
|
+
|
|
167
|
+
- [`upload-file/SKILL.md`](../upload-file/SKILL.md) — multipart uploads, where image transforms typically start.
|
|
168
|
+
- [`store-file/SKILL.md`](../store-file/SKILL.md) — persisting image output through storage drivers (local / S3 / R2 / Spaces).
|
|
169
|
+
- [`warlock-conventions/SKILL.md`](../warlock-conventions/SKILL.md) — where image-processing services live.
|