@warlock.js/core 4.8.2 → 4.9.1

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.
Files changed (854) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/esm/application/app.d.mts +1 -1
  3. package/esm/application/app.d.mts.map +1 -1
  4. package/esm/application/app.mjs +1 -1
  5. package/esm/application/app.mjs.map +1 -1
  6. package/esm/application/application-config-types.d.mts +1 -1
  7. package/esm/application/application-config-types.d.mts.map +1 -1
  8. package/esm/application/application.d.mts +1 -1
  9. package/esm/application/application.d.mts.map +1 -1
  10. package/esm/application/application.mjs +1 -1
  11. package/esm/application/application.mjs.map +1 -1
  12. package/esm/benchmark/benchmark-snapshots.d.mts +1 -1
  13. package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -1
  14. package/esm/benchmark/benchmark-snapshots.mjs +1 -1
  15. package/esm/benchmark/benchmark-snapshots.mjs.map +1 -1
  16. package/esm/benchmark/benchmark.d.mts +1 -1
  17. package/esm/benchmark/benchmark.d.mts.map +1 -1
  18. package/esm/benchmark/benchmark.mjs +1 -1
  19. package/esm/benchmark/benchmark.mjs.map +1 -1
  20. package/esm/benchmark/channels/console.channel.d.mts +1 -1
  21. package/esm/benchmark/channels/console.channel.d.mts.map +1 -1
  22. package/esm/benchmark/channels/console.channel.mjs +1 -1
  23. package/esm/benchmark/channels/console.channel.mjs.map +1 -1
  24. package/esm/benchmark/channels/noop.channel.d.mts +1 -1
  25. package/esm/benchmark/channels/noop.channel.d.mts.map +1 -1
  26. package/esm/benchmark/channels/noop.channel.mjs +1 -1
  27. package/esm/benchmark/channels/noop.channel.mjs.map +1 -1
  28. package/esm/benchmark/profiler.d.mts +1 -1
  29. package/esm/benchmark/profiler.d.mts.map +1 -1
  30. package/esm/benchmark/profiler.mjs +1 -1
  31. package/esm/benchmark/profiler.mjs.map +1 -1
  32. package/esm/benchmark/types.d.mts +1 -1
  33. package/esm/benchmark/types.d.mts.map +1 -1
  34. package/esm/bootstrap/setup.d.mts +1 -1
  35. package/esm/bootstrap/setup.d.mts.map +1 -1
  36. package/esm/bootstrap/setup.mjs +1 -1
  37. package/esm/bootstrap/setup.mjs.map +1 -1
  38. package/esm/bootstrap.d.mts +1 -1
  39. package/esm/bootstrap.d.mts.map +1 -1
  40. package/esm/bootstrap.mjs +1 -1
  41. package/esm/bootstrap.mjs.map +1 -1
  42. package/esm/cache/database-cache-driver.d.mts +1 -1
  43. package/esm/cache/database-cache-driver.d.mts.map +1 -1
  44. package/esm/cache/database-cache-driver.mjs +1 -1
  45. package/esm/cache/database-cache-driver.mjs.map +1 -1
  46. package/esm/cache/index.mjs +1 -1
  47. package/esm/cache/index.mjs.map +1 -1
  48. package/esm/cli/cli-command.d.mts +1 -1
  49. package/esm/cli/cli-command.d.mts.map +1 -1
  50. package/esm/cli/cli-command.mjs +1 -1
  51. package/esm/cli/cli-command.mjs.map +1 -1
  52. package/esm/cli/cli-commands.manager.mjs +1 -1
  53. package/esm/cli/cli-commands.manager.mjs.map +1 -1
  54. package/esm/cli/cli-commands.utils.mjs +1 -1
  55. package/esm/cli/cli-commands.utils.mjs.map +1 -1
  56. package/esm/cli/commands/add.command.mjs +1 -1
  57. package/esm/cli/commands/add.command.mjs.map +1 -1
  58. package/esm/cli/commands/build.command.mjs +1 -1
  59. package/esm/cli/commands/build.command.mjs.map +1 -1
  60. package/esm/cli/commands/create-database.command.mjs +1 -1
  61. package/esm/cli/commands/create-database.command.mjs.map +1 -1
  62. package/esm/cli/commands/dev-server.command.mjs +5 -4
  63. package/esm/cli/commands/dev-server.command.mjs.map +1 -1
  64. package/esm/cli/commands/doctor/checks/config.check.mjs +1 -1
  65. package/esm/cli/commands/doctor/checks/config.check.mjs.map +1 -1
  66. package/esm/cli/commands/doctor/checks/connectors.check.mjs +1 -1
  67. package/esm/cli/commands/doctor/checks/connectors.check.mjs.map +1 -1
  68. package/esm/cli/commands/doctor/checks/health.check.mjs +1 -1
  69. package/esm/cli/commands/doctor/checks/health.check.mjs.map +1 -1
  70. package/esm/cli/commands/doctor/checks/index.mjs +1 -1
  71. package/esm/cli/commands/doctor/checks/index.mjs.map +1 -1
  72. package/esm/cli/commands/doctor/checks/optional-peers.check.mjs +1 -1
  73. package/esm/cli/commands/doctor/checks/optional-peers.check.mjs.map +1 -1
  74. package/esm/cli/commands/doctor/checks/release-hygiene.check.mjs +1 -1
  75. package/esm/cli/commands/doctor/checks/release-hygiene.check.mjs.map +1 -1
  76. package/esm/cli/commands/doctor/checks/routes.check.mjs +1 -1
  77. package/esm/cli/commands/doctor/checks/routes.check.mjs.map +1 -1
  78. package/esm/cli/commands/doctor/doctor-command.action.mjs +1 -1
  79. package/esm/cli/commands/doctor/doctor-command.action.mjs.map +1 -1
  80. package/esm/cli/commands/doctor/format-report.mjs +1 -1
  81. package/esm/cli/commands/doctor/format-report.mjs.map +1 -1
  82. package/esm/cli/commands/doctor/run-checks.mjs +1 -1
  83. package/esm/cli/commands/doctor/run-checks.mjs.map +1 -1
  84. package/esm/cli/commands/doctor.command.mjs +1 -1
  85. package/esm/cli/commands/doctor.command.mjs.map +1 -1
  86. package/esm/cli/commands/drop-tables.command.mjs +1 -1
  87. package/esm/cli/commands/drop-tables.command.mjs.map +1 -1
  88. package/esm/cli/commands/generate/generate.command.mjs +1 -1
  89. package/esm/cli/commands/generate/generate.command.mjs.map +1 -1
  90. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +1 -1
  91. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +1 -1
  92. package/esm/cli/commands/generate/generators/controller.generator.mjs +1 -1
  93. package/esm/cli/commands/generate/generators/controller.generator.mjs.map +1 -1
  94. package/esm/cli/commands/generate/generators/migration.generator.mjs +1 -1
  95. package/esm/cli/commands/generate/generators/migration.generator.mjs.map +1 -1
  96. package/esm/cli/commands/generate/generators/model.generator.mjs +1 -1
  97. package/esm/cli/commands/generate/generators/model.generator.mjs.map +1 -1
  98. package/esm/cli/commands/generate/generators/module.generator.mjs +1 -1
  99. package/esm/cli/commands/generate/generators/module.generator.mjs.map +1 -1
  100. package/esm/cli/commands/generate/generators/repository.generator.mjs +1 -1
  101. package/esm/cli/commands/generate/generators/repository.generator.mjs.map +1 -1
  102. package/esm/cli/commands/generate/generators/resource.generator.mjs +1 -1
  103. package/esm/cli/commands/generate/generators/resource.generator.mjs.map +1 -1
  104. package/esm/cli/commands/generate/generators/service.generator.mjs +1 -1
  105. package/esm/cli/commands/generate/generators/service.generator.mjs.map +1 -1
  106. package/esm/cli/commands/generate/templates/stubs.mjs +1 -1
  107. package/esm/cli/commands/generate/templates/stubs.mjs.map +1 -1
  108. package/esm/cli/commands/generate/utils/name-parser.mjs +1 -1
  109. package/esm/cli/commands/generate/utils/name-parser.mjs.map +1 -1
  110. package/esm/cli/commands/generate/utils/path-resolver.mjs +1 -1
  111. package/esm/cli/commands/generate/utils/path-resolver.mjs.map +1 -1
  112. package/esm/cli/commands/generate/utils/prompt.mjs +1 -1
  113. package/esm/cli/commands/generate/utils/prompt.mjs.map +1 -1
  114. package/esm/cli/commands/generate/utils/writer.mjs +1 -1
  115. package/esm/cli/commands/generate/utils/writer.mjs.map +1 -1
  116. package/esm/cli/commands/migrate.command.mjs +1 -1
  117. package/esm/cli/commands/migrate.command.mjs.map +1 -1
  118. package/esm/cli/commands/routes/format-routes-table.mjs +1 -1
  119. package/esm/cli/commands/routes/format-routes-table.mjs.map +1 -1
  120. package/esm/cli/commands/routes/route-row.mjs +1 -1
  121. package/esm/cli/commands/routes/route-row.mjs.map +1 -1
  122. package/esm/cli/commands/routes/routes-command.action.mjs +1 -1
  123. package/esm/cli/commands/routes/routes-command.action.mjs.map +1 -1
  124. package/esm/cli/commands/routes.command.mjs +1 -1
  125. package/esm/cli/commands/routes.command.mjs.map +1 -1
  126. package/esm/cli/commands/seed.command.mjs +1 -1
  127. package/esm/cli/commands/seed.command.mjs.map +1 -1
  128. package/esm/cli/commands/start-production.command.mjs +2 -2
  129. package/esm/cli/commands/start-production.command.mjs.map +1 -1
  130. package/esm/cli/commands/storage-put.action.mjs +1 -1
  131. package/esm/cli/commands/storage-put.action.mjs.map +1 -1
  132. package/esm/cli/commands/storage-put.command.mjs +1 -1
  133. package/esm/cli/commands/storage-put.command.mjs.map +1 -1
  134. package/esm/cli/commands/typings-generator.command.mjs +1 -1
  135. package/esm/cli/commands/typings-generator.command.mjs.map +1 -1
  136. package/esm/cli/commands/update.command.mjs +30 -7
  137. package/esm/cli/commands/update.command.mjs.map +1 -1
  138. package/esm/cli/commands-loader.mjs +1 -1
  139. package/esm/cli/commands-loader.mjs.map +1 -1
  140. package/esm/cli/framework-cli-commands.mjs +1 -1
  141. package/esm/cli/framework-cli-commands.mjs.map +1 -1
  142. package/esm/cli/parse-cli-args.mjs +1 -1
  143. package/esm/cli/parse-cli-args.mjs.map +1 -1
  144. package/esm/cli/start.mjs +1 -1
  145. package/esm/cli/start.mjs.map +1 -1
  146. package/esm/cli/string-similarity.mjs +1 -1
  147. package/esm/cli/string-similarity.mjs.map +1 -1
  148. package/esm/cli/types.d.mts +1 -1
  149. package/esm/cli/types.d.mts.map +1 -1
  150. package/esm/config/config-getter.d.mts +1 -1
  151. package/esm/config/config-getter.d.mts.map +1 -1
  152. package/esm/config/config-getter.mjs +1 -1
  153. package/esm/config/config-getter.mjs.map +1 -1
  154. package/esm/config/config-handlers.d.mts +1 -1
  155. package/esm/config/config-handlers.d.mts.map +1 -1
  156. package/esm/config/config-handlers.mjs +1 -1
  157. package/esm/config/config-handlers.mjs.map +1 -1
  158. package/esm/config/config-loader.d.mts +1 -1
  159. package/esm/config/config-loader.d.mts.map +1 -1
  160. package/esm/config/config-loader.mjs +1 -1
  161. package/esm/config/config-loader.mjs.map +1 -1
  162. package/esm/config/config-manager.mjs +1 -1
  163. package/esm/config/config-manager.mjs.map +1 -1
  164. package/esm/config/config-special-handlers.d.mts +1 -1
  165. package/esm/config/config-special-handlers.d.mts.map +1 -1
  166. package/esm/config/config-special-handlers.mjs +1 -1
  167. package/esm/config/config-special-handlers.mjs.map +1 -1
  168. package/esm/config/load-config-files.mjs +1 -1
  169. package/esm/config/load-config-files.mjs.map +1 -1
  170. package/esm/config/types.d.mts +1 -1
  171. package/esm/config/types.d.mts.map +1 -1
  172. package/esm/connectors/access-connector.d.mts +1 -1
  173. package/esm/connectors/access-connector.d.mts.map +1 -1
  174. package/esm/connectors/access-connector.mjs +1 -1
  175. package/esm/connectors/access-connector.mjs.map +1 -1
  176. package/esm/connectors/ai-connector.d.mts +1 -1
  177. package/esm/connectors/ai-connector.d.mts.map +1 -1
  178. package/esm/connectors/ai-connector.mjs +1 -1
  179. package/esm/connectors/ai-connector.mjs.map +1 -1
  180. package/esm/connectors/base-connector.d.mts +1 -1
  181. package/esm/connectors/base-connector.d.mts.map +1 -1
  182. package/esm/connectors/base-connector.mjs +1 -1
  183. package/esm/connectors/base-connector.mjs.map +1 -1
  184. package/esm/connectors/cache-connector.d.mts +1 -1
  185. package/esm/connectors/cache-connector.d.mts.map +1 -1
  186. package/esm/connectors/cache-connector.mjs +1 -1
  187. package/esm/connectors/cache-connector.mjs.map +1 -1
  188. package/esm/connectors/connectors-manager.d.mts +1 -1
  189. package/esm/connectors/connectors-manager.d.mts.map +1 -1
  190. package/esm/connectors/connectors-manager.mjs +1 -1
  191. package/esm/connectors/connectors-manager.mjs.map +1 -1
  192. package/esm/connectors/database-connector.d.mts +1 -1
  193. package/esm/connectors/database-connector.d.mts.map +1 -1
  194. package/esm/connectors/database-connector.mjs +1 -1
  195. package/esm/connectors/database-connector.mjs.map +1 -1
  196. package/esm/connectors/herald-connector.d.mts +1 -1
  197. package/esm/connectors/herald-connector.d.mts.map +1 -1
  198. package/esm/connectors/herald-connector.mjs +1 -1
  199. package/esm/connectors/herald-connector.mjs.map +1 -1
  200. package/esm/connectors/http-connector.d.mts +1 -1
  201. package/esm/connectors/http-connector.d.mts.map +1 -1
  202. package/esm/connectors/http-connector.mjs +1 -1
  203. package/esm/connectors/http-connector.mjs.map +1 -1
  204. package/esm/connectors/logger-connector.d.mts +1 -1
  205. package/esm/connectors/logger-connector.d.mts.map +1 -1
  206. package/esm/connectors/logger-connector.mjs +1 -1
  207. package/esm/connectors/logger-connector.mjs.map +1 -1
  208. package/esm/connectors/mail-connector.d.mts +1 -1
  209. package/esm/connectors/mail-connector.d.mts.map +1 -1
  210. package/esm/connectors/mail-connector.mjs +1 -1
  211. package/esm/connectors/mail-connector.mjs.map +1 -1
  212. package/esm/connectors/notifications-connector.d.mts +1 -1
  213. package/esm/connectors/notifications-connector.d.mts.map +1 -1
  214. package/esm/connectors/notifications-connector.mjs +1 -1
  215. package/esm/connectors/notifications-connector.mjs.map +1 -1
  216. package/esm/connectors/socket-connector.d.mts +1 -1
  217. package/esm/connectors/socket-connector.d.mts.map +1 -1
  218. package/esm/connectors/socket-connector.mjs +1 -1
  219. package/esm/connectors/socket-connector.mjs.map +1 -1
  220. package/esm/connectors/storage.connector.d.mts +1 -1
  221. package/esm/connectors/storage.connector.d.mts.map +1 -1
  222. package/esm/connectors/storage.connector.mjs +1 -1
  223. package/esm/connectors/storage.connector.mjs.map +1 -1
  224. package/esm/connectors/types.d.mts +1 -1
  225. package/esm/connectors/types.d.mts.map +1 -1
  226. package/esm/connectors/types.mjs +1 -1
  227. package/esm/connectors/types.mjs.map +1 -1
  228. package/esm/container/index.d.mts +1 -1
  229. package/esm/container/index.d.mts.map +1 -1
  230. package/esm/container/index.mjs +1 -1
  231. package/esm/container/index.mjs.map +1 -1
  232. package/esm/database/create-database-action.mjs +1 -1
  233. package/esm/database/create-database-action.mjs.map +1 -1
  234. package/esm/database/drop-tables-action.mjs +1 -1
  235. package/esm/database/drop-tables-action.mjs.map +1 -1
  236. package/esm/database/migrate-action.mjs +1 -1
  237. package/esm/database/migrate-action.mjs.map +1 -1
  238. package/esm/database/models/database-log/database-log.d.mts +1 -1
  239. package/esm/database/models/database-log/database-log.d.mts.map +1 -1
  240. package/esm/database/models/database-log/database-log.mjs +1 -1
  241. package/esm/database/models/database-log/database-log.mjs.map +1 -1
  242. package/esm/database/seed-command-action.mjs +1 -1
  243. package/esm/database/seed-command-action.mjs.map +1 -1
  244. package/esm/database/seeds/seed-records-table-migration.mjs +1 -1
  245. package/esm/database/seeds/seed-records-table-migration.mjs.map +1 -1
  246. package/esm/database/seeds/seeder.d.mts +1 -1
  247. package/esm/database/seeds/seeder.d.mts.map +1 -1
  248. package/esm/database/seeds/seeder.errors.d.mts +1 -1
  249. package/esm/database/seeds/seeder.errors.d.mts.map +1 -1
  250. package/esm/database/seeds/seeder.errors.mjs +1 -1
  251. package/esm/database/seeds/seeder.errors.mjs.map +1 -1
  252. package/esm/database/seeds/seeder.mjs +1 -1
  253. package/esm/database/seeds/seeder.mjs.map +1 -1
  254. package/esm/database/seeds/seeders.manager.mjs +1 -1
  255. package/esm/database/seeds/seeders.manager.mjs.map +1 -1
  256. package/esm/database/seeds/seeds-table-migration.mjs +1 -1
  257. package/esm/database/seeds/seeds-table-migration.mjs.map +1 -1
  258. package/esm/database/seeds/types.d.mts +1 -1
  259. package/esm/database/seeds/types.d.mts.map +1 -1
  260. package/esm/database/seeds/utils.mjs +1 -1
  261. package/esm/database/seeds/utils.mjs.map +1 -1
  262. package/esm/database/utils.d.mts +1 -1
  263. package/esm/database/utils.d.mts.map +1 -1
  264. package/esm/database/utils.mjs +1 -1
  265. package/esm/database/utils.mjs.map +1 -1
  266. package/esm/dev-server/check-for-updates.mjs +91 -8
  267. package/esm/dev-server/check-for-updates.mjs.map +1 -1
  268. package/esm/dev-server/create-worker.mjs +1 -1
  269. package/esm/dev-server/create-worker.mjs.map +1 -1
  270. package/esm/dev-server/dependency-graph.d.mts +1 -1
  271. package/esm/dev-server/dependency-graph.d.mts.map +1 -1
  272. package/esm/dev-server/dependency-graph.mjs +1 -1
  273. package/esm/dev-server/dependency-graph.mjs.map +1 -1
  274. package/esm/dev-server/dev-logger.mjs +1 -1
  275. package/esm/dev-server/dev-logger.mjs.map +1 -1
  276. package/esm/dev-server/development-server.mjs +32 -3
  277. package/esm/dev-server/development-server.mjs.map +1 -1
  278. package/esm/dev-server/events.mjs +1 -1
  279. package/esm/dev-server/events.mjs.map +1 -1
  280. package/esm/dev-server/file-event-handler.mjs +1 -1
  281. package/esm/dev-server/file-event-handler.mjs.map +1 -1
  282. package/esm/dev-server/file-manager.d.mts +1 -1
  283. package/esm/dev-server/file-manager.d.mts.map +1 -1
  284. package/esm/dev-server/file-manager.mjs +1 -1
  285. package/esm/dev-server/file-manager.mjs.map +1 -1
  286. package/esm/dev-server/file-operations.d.mts +1 -1
  287. package/esm/dev-server/file-operations.d.mts.map +1 -1
  288. package/esm/dev-server/file-operations.mjs +1 -1
  289. package/esm/dev-server/file-operations.mjs.map +1 -1
  290. package/esm/dev-server/files-orchestrator.d.mts +1 -1
  291. package/esm/dev-server/files-orchestrator.d.mts.map +1 -1
  292. package/esm/dev-server/files-orchestrator.mjs +1 -1
  293. package/esm/dev-server/files-orchestrator.mjs.map +1 -1
  294. package/esm/dev-server/files-watcher.d.mts +1 -1
  295. package/esm/dev-server/files-watcher.d.mts.map +1 -1
  296. package/esm/dev-server/files-watcher.mjs +1 -1
  297. package/esm/dev-server/files-watcher.mjs.map +1 -1
  298. package/esm/dev-server/flags.mjs +1 -1
  299. package/esm/dev-server/flags.mjs.map +1 -1
  300. package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts +1 -1
  301. package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts.map +1 -1
  302. package/esm/dev-server/health-checker/checkers/base-health-checker.mjs +1 -1
  303. package/esm/dev-server/health-checker/checkers/base-health-checker.mjs.map +1 -1
  304. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts +1 -1
  305. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts.map +1 -1
  306. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +1 -1
  307. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -1
  308. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts +1 -1
  309. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts.map +1 -1
  310. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +1 -1
  311. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
  312. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +1 -1
  313. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -1
  314. package/esm/dev-server/health-checker/file-health-result.d.mts +1 -1
  315. package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -1
  316. package/esm/dev-server/health-checker/file-health-result.mjs +1 -1
  317. package/esm/dev-server/health-checker/file-health-result.mjs.map +1 -1
  318. package/esm/dev-server/health-checker/files-healthcare.manager.d.mts +1 -1
  319. package/esm/dev-server/health-checker/files-healthcare.manager.d.mts.map +1 -1
  320. package/esm/dev-server/health-checker/files-healthcare.manager.mjs +1 -1
  321. package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
  322. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +1 -1
  323. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -1
  324. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +1 -1
  325. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -1
  326. package/esm/dev-server/layer-executor.mjs +1 -1
  327. package/esm/dev-server/layer-executor.mjs.map +1 -1
  328. package/esm/dev-server/loader/build-transpile-init.mjs +1 -1
  329. package/esm/dev-server/loader/build-transpile-init.mjs.map +1 -1
  330. package/esm/dev-server/loader/hook-thread.d.mts +1 -1
  331. package/esm/dev-server/loader/hook-thread.d.mts.map +1 -1
  332. package/esm/dev-server/loader/hook-thread.mjs +1 -1
  333. package/esm/dev-server/loader/hook-thread.mjs.map +1 -1
  334. package/esm/dev-server/loader/load-hook.d.mts +1 -1
  335. package/esm/dev-server/loader/load-hook.d.mts.map +1 -1
  336. package/esm/dev-server/loader/load-hook.mjs +1 -1
  337. package/esm/dev-server/loader/load-hook.mjs.map +1 -1
  338. package/esm/dev-server/loader/own-resolver.mjs +1 -1
  339. package/esm/dev-server/loader/own-resolver.mjs.map +1 -1
  340. package/esm/dev-server/loader/register-loader.mjs +1 -1
  341. package/esm/dev-server/loader/register-loader.mjs.map +1 -1
  342. package/esm/dev-server/loader/resolve-capture.mjs +1 -1
  343. package/esm/dev-server/loader/resolve-capture.mjs.map +1 -1
  344. package/esm/dev-server/loader/resolve-hook.d.mts +1 -1
  345. package/esm/dev-server/loader/resolve-hook.d.mts.map +1 -1
  346. package/esm/dev-server/loader/resolve-hook.mjs +1 -1
  347. package/esm/dev-server/loader/resolve-hook.mjs.map +1 -1
  348. package/esm/dev-server/loader/source-slug.mjs +1 -1
  349. package/esm/dev-server/loader/source-slug.mjs.map +1 -1
  350. package/esm/dev-server/loader/transpile-cache.mjs +1 -1
  351. package/esm/dev-server/loader/transpile-cache.mjs.map +1 -1
  352. package/esm/dev-server/loader/version-registry.mjs +1 -1
  353. package/esm/dev-server/loader/version-registry.mjs.map +1 -1
  354. package/esm/dev-server/manifest-manager.d.mts +1 -1
  355. package/esm/dev-server/manifest-manager.d.mts.map +1 -1
  356. package/esm/dev-server/manifest-manager.mjs +1 -1
  357. package/esm/dev-server/manifest-manager.mjs.map +1 -1
  358. package/esm/dev-server/module-loader.d.mts +1 -1
  359. package/esm/dev-server/module-loader.d.mts.map +1 -1
  360. package/esm/dev-server/module-loader.mjs +1 -1
  361. package/esm/dev-server/module-loader.mjs.map +1 -1
  362. package/esm/dev-server/package-json-manager.mjs +1 -1
  363. package/esm/dev-server/package-json-manager.mjs.map +1 -1
  364. package/esm/dev-server/parse-imports.mjs +1 -1
  365. package/esm/dev-server/parse-imports.mjs.map +1 -1
  366. package/esm/dev-server/path.mjs +1 -1
  367. package/esm/dev-server/path.mjs.map +1 -1
  368. package/esm/dev-server/register-dev-shortcuts.mjs +70 -0
  369. package/esm/dev-server/register-dev-shortcuts.mjs.map +1 -0
  370. package/esm/dev-server/restart-dev-server.mjs +36 -0
  371. package/esm/dev-server/restart-dev-server.mjs.map +1 -0
  372. package/esm/dev-server/shortcuts.mjs +121 -0
  373. package/esm/dev-server/shortcuts.mjs.map +1 -0
  374. package/esm/dev-server/special-files-collector.d.mts +1 -1
  375. package/esm/dev-server/special-files-collector.d.mts.map +1 -1
  376. package/esm/dev-server/special-files-collector.mjs +1 -1
  377. package/esm/dev-server/special-files-collector.mjs.map +1 -1
  378. package/esm/dev-server/start-development-server.mjs +3 -1
  379. package/esm/dev-server/start-development-server.mjs.map +1 -1
  380. package/esm/dev-server/supervisor.mjs +141 -0
  381. package/esm/dev-server/supervisor.mjs.map +1 -0
  382. package/esm/dev-server/tsconfig-manager.mjs +1 -1
  383. package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
  384. package/esm/dev-server/type-generator.mjs +1 -1
  385. package/esm/dev-server/type-generator.mjs.map +1 -1
  386. package/esm/dev-server/types.d.mts +1 -1
  387. package/esm/dev-server/types.d.mts.map +1 -1
  388. package/esm/dev-server/update-check-cache.mjs +53 -0
  389. package/esm/dev-server/update-check-cache.mjs.map +1 -0
  390. package/esm/dev-server/utils.mjs +1 -1
  391. package/esm/dev-server/utils.mjs.map +1 -1
  392. package/esm/encryption/encrypt.d.mts +1 -1
  393. package/esm/encryption/encrypt.d.mts.map +1 -1
  394. package/esm/encryption/encrypt.mjs +1 -1
  395. package/esm/encryption/encrypt.mjs.map +1 -1
  396. package/esm/encryption/hash.d.mts +1 -1
  397. package/esm/encryption/hash.d.mts.map +1 -1
  398. package/esm/encryption/hash.mjs +1 -1
  399. package/esm/encryption/hash.mjs.map +1 -1
  400. package/esm/encryption/password.d.mts +1 -1
  401. package/esm/encryption/password.d.mts.map +1 -1
  402. package/esm/encryption/password.mjs +1 -1
  403. package/esm/encryption/password.mjs.map +1 -1
  404. package/esm/encryption/types.d.mts +1 -1
  405. package/esm/encryption/types.d.mts.map +1 -1
  406. package/esm/generations/add-command.action.mjs +3 -13
  407. package/esm/generations/add-command.action.mjs.map +1 -1
  408. package/esm/generations/stubs.mjs +1 -1
  409. package/esm/generations/stubs.mjs.map +1 -1
  410. package/esm/http/config.d.mts +1 -1
  411. package/esm/http/config.d.mts.map +1 -1
  412. package/esm/http/config.mjs +1 -1
  413. package/esm/http/config.mjs.map +1 -1
  414. package/esm/http/context/request-context.d.mts +1 -1
  415. package/esm/http/context/request-context.d.mts.map +1 -1
  416. package/esm/http/context/request-context.mjs +1 -1
  417. package/esm/http/context/request-context.mjs.map +1 -1
  418. package/esm/http/createHttpApplication.d.mts +1 -1
  419. package/esm/http/createHttpApplication.d.mts.map +1 -1
  420. package/esm/http/createHttpApplication.mjs +1 -1
  421. package/esm/http/createHttpApplication.mjs.map +1 -1
  422. package/esm/http/database/RequestLog.d.mts +1 -1
  423. package/esm/http/database/RequestLog.d.mts.map +1 -1
  424. package/esm/http/database/RequestLog.mjs +1 -1
  425. package/esm/http/database/RequestLog.mjs.map +1 -1
  426. package/esm/http/error-codes.d.mts +1 -1
  427. package/esm/http/error-codes.d.mts.map +1 -1
  428. package/esm/http/error-codes.mjs +1 -1
  429. package/esm/http/error-codes.mjs.map +1 -1
  430. package/esm/http/errors/errors.d.mts +1 -1
  431. package/esm/http/errors/errors.d.mts.map +1 -1
  432. package/esm/http/errors/errors.mjs +1 -1
  433. package/esm/http/errors/errors.mjs.map +1 -1
  434. package/esm/http/events.d.mts +1 -1
  435. package/esm/http/events.d.mts.map +1 -1
  436. package/esm/http/events.mjs +1 -1
  437. package/esm/http/events.mjs.map +1 -1
  438. package/esm/http/health.d.mts +1 -1
  439. package/esm/http/health.d.mts.map +1 -1
  440. package/esm/http/health.mjs +1 -1
  441. package/esm/http/health.mjs.map +1 -1
  442. package/esm/http/middleware/cache-response-middleware.d.mts +1 -1
  443. package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
  444. package/esm/http/middleware/cache-response-middleware.mjs +1 -1
  445. package/esm/http/middleware/cache-response-middleware.mjs.map +1 -1
  446. package/esm/http/middleware/concurrency-limit.middleware.d.mts +1 -1
  447. package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -1
  448. package/esm/http/middleware/concurrency-limit.middleware.mjs +1 -1
  449. package/esm/http/middleware/concurrency-limit.middleware.mjs.map +1 -1
  450. package/esm/http/middleware/idempotency.middleware.d.mts +1 -1
  451. package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
  452. package/esm/http/middleware/idempotency.middleware.mjs +1 -1
  453. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  454. package/esm/http/middleware/inject-request-context.d.mts +1 -1
  455. package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
  456. package/esm/http/middleware/inject-request-context.mjs +1 -1
  457. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  458. package/esm/http/middleware/ip-filter.middleware.d.mts +1 -1
  459. package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -1
  460. package/esm/http/middleware/ip-filter.middleware.mjs +1 -1
  461. package/esm/http/middleware/ip-filter.middleware.mjs.map +1 -1
  462. package/esm/http/middleware/maintenance.middleware.d.mts +1 -1
  463. package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -1
  464. package/esm/http/middleware/maintenance.middleware.mjs +1 -1
  465. package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
  466. package/esm/http/middleware/max-body-size.middleware.d.mts +1 -1
  467. package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -1
  468. package/esm/http/middleware/max-body-size.middleware.mjs +1 -1
  469. package/esm/http/middleware/max-body-size.middleware.mjs.map +1 -1
  470. package/esm/http/middleware/middleware-list.d.mts +1 -1
  471. package/esm/http/middleware/middleware-list.d.mts.map +1 -1
  472. package/esm/http/middleware/middleware-list.mjs +1 -1
  473. package/esm/http/middleware/middleware-list.mjs.map +1 -1
  474. package/esm/http/middleware/rate-limit.middleware.d.mts +1 -1
  475. package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
  476. package/esm/http/middleware/rate-limit.middleware.mjs +1 -1
  477. package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
  478. package/esm/http/middleware/utils/cidr-match.d.mts +1 -1
  479. package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
  480. package/esm/http/middleware/utils/cidr-match.mjs +1 -1
  481. package/esm/http/middleware/utils/cidr-match.mjs.map +1 -1
  482. package/esm/http/middleware/utils/idempotency-key.d.mts +1 -1
  483. package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -1
  484. package/esm/http/middleware/utils/idempotency-key.mjs +1 -1
  485. package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -1
  486. package/esm/http/middleware/utils/parse-size.d.mts +1 -1
  487. package/esm/http/middleware/utils/parse-size.d.mts.map +1 -1
  488. package/esm/http/middleware/utils/parse-size.mjs +1 -1
  489. package/esm/http/middleware/utils/parse-size.mjs.map +1 -1
  490. package/esm/http/plugins.d.mts +1 -1
  491. package/esm/http/plugins.d.mts.map +1 -1
  492. package/esm/http/plugins.mjs +1 -1
  493. package/esm/http/plugins.mjs.map +1 -1
  494. package/esm/http/request-controller.d.mts +1 -1
  495. package/esm/http/request-controller.d.mts.map +1 -1
  496. package/esm/http/request-controller.mjs +1 -1
  497. package/esm/http/request-controller.mjs.map +1 -1
  498. package/esm/http/request.d.mts +1 -1
  499. package/esm/http/request.d.mts.map +1 -1
  500. package/esm/http/request.mjs +1 -1
  501. package/esm/http/request.mjs.map +1 -1
  502. package/esm/http/response.d.mts +1 -1
  503. package/esm/http/response.d.mts.map +1 -1
  504. package/esm/http/response.mjs +1 -1
  505. package/esm/http/response.mjs.map +1 -1
  506. package/esm/http/server.d.mts +1 -1
  507. package/esm/http/server.d.mts.map +1 -1
  508. package/esm/http/server.mjs +1 -1
  509. package/esm/http/server.mjs.map +1 -1
  510. package/esm/http/types.d.mts +1 -1
  511. package/esm/http/types.d.mts.map +1 -1
  512. package/esm/http/uploaded-file.d.mts +1 -1
  513. package/esm/http/uploaded-file.d.mts.map +1 -1
  514. package/esm/http/uploaded-file.mjs +1 -1
  515. package/esm/http/uploaded-file.mjs.map +1 -1
  516. package/esm/http/uploads-config.d.mts +1 -1
  517. package/esm/http/uploads-config.d.mts.map +1 -1
  518. package/esm/http/uploads-config.mjs +1 -1
  519. package/esm/http/uploads-config.mjs.map +1 -1
  520. package/esm/http/uploads-types.d.mts +1 -1
  521. package/esm/http/uploads-types.d.mts.map +1 -1
  522. package/esm/image/image.d.mts +1 -1
  523. package/esm/image/image.d.mts.map +1 -1
  524. package/esm/image/image.mjs +1 -1
  525. package/esm/image/image.mjs.map +1 -1
  526. package/esm/logger/logger.d.mts +1 -1
  527. package/esm/logger/logger.d.mts.map +1 -1
  528. package/esm/logger/logger.mjs +1 -1
  529. package/esm/logger/logger.mjs.map +1 -1
  530. package/esm/logger/types.d.mts +1 -1
  531. package/esm/logger/types.d.mts.map +1 -1
  532. package/esm/mail/config.d.mts +1 -1
  533. package/esm/mail/config.d.mts.map +1 -1
  534. package/esm/mail/config.mjs +1 -1
  535. package/esm/mail/config.mjs.map +1 -1
  536. package/esm/mail/events.d.mts +1 -1
  537. package/esm/mail/events.d.mts.map +1 -1
  538. package/esm/mail/events.mjs +1 -1
  539. package/esm/mail/events.mjs.map +1 -1
  540. package/esm/mail/mail.d.mts +1 -1
  541. package/esm/mail/mail.d.mts.map +1 -1
  542. package/esm/mail/mail.mjs +1 -1
  543. package/esm/mail/mail.mjs.map +1 -1
  544. package/esm/mail/mailer-pool.d.mts +1 -1
  545. package/esm/mail/mailer-pool.d.mts.map +1 -1
  546. package/esm/mail/mailer-pool.mjs +1 -1
  547. package/esm/mail/mailer-pool.mjs.map +1 -1
  548. package/esm/mail/react-mail.d.mts +1 -1
  549. package/esm/mail/react-mail.d.mts.map +1 -1
  550. package/esm/mail/react-mail.mjs +1 -1
  551. package/esm/mail/react-mail.mjs.map +1 -1
  552. package/esm/mail/send-mail.d.mts +1 -1
  553. package/esm/mail/send-mail.d.mts.map +1 -1
  554. package/esm/mail/send-mail.mjs +1 -1
  555. package/esm/mail/send-mail.mjs.map +1 -1
  556. package/esm/mail/test-mailbox.d.mts +1 -1
  557. package/esm/mail/test-mailbox.d.mts.map +1 -1
  558. package/esm/mail/test-mailbox.mjs +1 -1
  559. package/esm/mail/test-mailbox.mjs.map +1 -1
  560. package/esm/mail/types.d.mts +1 -1
  561. package/esm/mail/types.d.mts.map +1 -1
  562. package/esm/mail/types.mjs +1 -1
  563. package/esm/mail/types.mjs.map +1 -1
  564. package/esm/manifest/manifest-manager.mjs +1 -1
  565. package/esm/manifest/manifest-manager.mjs.map +1 -1
  566. package/esm/production/build-app-production.mjs +1 -1
  567. package/esm/production/build-app-production.mjs.map +1 -1
  568. package/esm/production/esbuild-plugins.mjs +1 -1
  569. package/esm/production/esbuild-plugins.mjs.map +1 -1
  570. package/esm/production/production-builder.mjs +1 -1
  571. package/esm/production/production-builder.mjs.map +1 -1
  572. package/esm/production/resolve-build-config.mjs +3 -2
  573. package/esm/production/resolve-build-config.mjs.map +1 -1
  574. package/esm/react/index.d.mts +1 -1
  575. package/esm/react/index.d.mts.map +1 -1
  576. package/esm/react/index.mjs +1 -1
  577. package/esm/react/index.mjs.map +1 -1
  578. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +1 -1
  579. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
  580. package/esm/repositories/adapters/cascade/cascade-adapter.mjs +1 -1
  581. package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -1
  582. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +1 -1
  583. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -1
  584. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs +1 -1
  585. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -1
  586. package/esm/repositories/adapters/cascade/filter-applicator.mjs +1 -1
  587. package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
  588. package/esm/repositories/contracts/query-builder.contract.d.mts +1 -1
  589. package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -1
  590. package/esm/repositories/contracts/repository-adapter.contract.d.mts +1 -1
  591. package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -1
  592. package/esm/repositories/contracts/types.d.mts +1 -1
  593. package/esm/repositories/contracts/types.d.mts.map +1 -1
  594. package/esm/repositories/repository.manager.d.mts +1 -1
  595. package/esm/repositories/repository.manager.d.mts.map +1 -1
  596. package/esm/repositories/repository.manager.mjs +1 -1
  597. package/esm/repositories/repository.manager.mjs.map +1 -1
  598. package/esm/resource/define-resource.d.mts +1 -1
  599. package/esm/resource/define-resource.d.mts.map +1 -1
  600. package/esm/resource/define-resource.mjs +1 -1
  601. package/esm/resource/define-resource.mjs.map +1 -1
  602. package/esm/resource/register-resource.d.mts +1 -1
  603. package/esm/resource/register-resource.d.mts.map +1 -1
  604. package/esm/resource/register-resource.mjs +1 -1
  605. package/esm/resource/register-resource.mjs.map +1 -1
  606. package/esm/resource/resource-field-builder.d.mts +1 -1
  607. package/esm/resource/resource-field-builder.d.mts.map +1 -1
  608. package/esm/resource/resource-field-builder.mjs +1 -1
  609. package/esm/resource/resource-field-builder.mjs.map +1 -1
  610. package/esm/resource/resource.d.mts +1 -1
  611. package/esm/resource/resource.d.mts.map +1 -1
  612. package/esm/resource/resource.mjs +1 -1
  613. package/esm/resource/resource.mjs.map +1 -1
  614. package/esm/resource/types.d.mts +1 -1
  615. package/esm/resource/types.d.mts.map +1 -1
  616. package/esm/restful/restful.d.mts +1 -1
  617. package/esm/restful/restful.d.mts.map +1 -1
  618. package/esm/restful/restful.mjs +1 -1
  619. package/esm/restful/restful.mjs.map +1 -1
  620. package/esm/router/route-builder.d.mts +1 -1
  621. package/esm/router/route-builder.d.mts.map +1 -1
  622. package/esm/router/route-builder.mjs +1 -1
  623. package/esm/router/route-builder.mjs.map +1 -1
  624. package/esm/router/route-registry.mjs +1 -1
  625. package/esm/router/route-registry.mjs.map +1 -1
  626. package/esm/router/router.d.mts +1 -1
  627. package/esm/router/router.d.mts.map +1 -1
  628. package/esm/router/router.mjs +1 -1
  629. package/esm/router/router.mjs.map +1 -1
  630. package/esm/router/types.d.mts +1 -1
  631. package/esm/router/types.d.mts.map +1 -1
  632. package/esm/socket/types.d.mts +1 -1
  633. package/esm/socket/types.d.mts.map +1 -1
  634. package/esm/socket/utils.d.mts +1 -1
  635. package/esm/socket/utils.d.mts.map +1 -1
  636. package/esm/socket/utils.mjs +1 -1
  637. package/esm/socket/utils.mjs.map +1 -1
  638. package/esm/storage/config.d.mts +1 -1
  639. package/esm/storage/config.d.mts.map +1 -1
  640. package/esm/storage/config.mjs +1 -1
  641. package/esm/storage/config.mjs.map +1 -1
  642. package/esm/storage/context/storage-driver-context.d.mts +1 -1
  643. package/esm/storage/context/storage-driver-context.d.mts.map +1 -1
  644. package/esm/storage/context/storage-driver-context.mjs +1 -1
  645. package/esm/storage/context/storage-driver-context.mjs.map +1 -1
  646. package/esm/storage/drivers/cloud-driver.d.mts +1 -1
  647. package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
  648. package/esm/storage/drivers/cloud-driver.mjs +1 -1
  649. package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
  650. package/esm/storage/drivers/do-spaces-driver.d.mts +1 -1
  651. package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
  652. package/esm/storage/drivers/do-spaces-driver.mjs +1 -1
  653. package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -1
  654. package/esm/storage/drivers/local-driver.d.mts +1 -1
  655. package/esm/storage/drivers/local-driver.d.mts.map +1 -1
  656. package/esm/storage/drivers/local-driver.mjs +1 -1
  657. package/esm/storage/drivers/local-driver.mjs.map +1 -1
  658. package/esm/storage/drivers/r2-driver.d.mts +1 -1
  659. package/esm/storage/drivers/r2-driver.d.mts.map +1 -1
  660. package/esm/storage/drivers/r2-driver.mjs +1 -1
  661. package/esm/storage/drivers/r2-driver.mjs.map +1 -1
  662. package/esm/storage/drivers/s3-driver.d.mts +1 -1
  663. package/esm/storage/drivers/s3-driver.d.mts.map +1 -1
  664. package/esm/storage/drivers/s3-driver.mjs +1 -1
  665. package/esm/storage/drivers/s3-driver.mjs.map +1 -1
  666. package/esm/storage/scoped-storage.d.mts +1 -1
  667. package/esm/storage/scoped-storage.d.mts.map +1 -1
  668. package/esm/storage/scoped-storage.mjs +1 -1
  669. package/esm/storage/scoped-storage.mjs.map +1 -1
  670. package/esm/storage/storage-file.d.mts +1 -1
  671. package/esm/storage/storage-file.d.mts.map +1 -1
  672. package/esm/storage/storage-file.mjs +1 -1
  673. package/esm/storage/storage-file.mjs.map +1 -1
  674. package/esm/storage/storage.d.mts +1 -1
  675. package/esm/storage/storage.d.mts.map +1 -1
  676. package/esm/storage/storage.mjs +1 -1
  677. package/esm/storage/storage.mjs.map +1 -1
  678. package/esm/storage/types.d.mts +1 -1
  679. package/esm/storage/types.d.mts.map +1 -1
  680. package/esm/storage/utils/contain-path.d.mts +1 -1
  681. package/esm/storage/utils/contain-path.d.mts.map +1 -1
  682. package/esm/storage/utils/contain-path.mjs +1 -1
  683. package/esm/storage/utils/contain-path.mjs.map +1 -1
  684. package/esm/storage/utils/mime.d.mts +1 -1
  685. package/esm/storage/utils/mime.d.mts.map +1 -1
  686. package/esm/storage/utils/mime.mjs +1 -1
  687. package/esm/storage/utils/mime.mjs.map +1 -1
  688. package/esm/storage/utils/safe-fetch.d.mts +1 -1
  689. package/esm/storage/utils/safe-fetch.d.mts.map +1 -1
  690. package/esm/storage/utils/safe-fetch.mjs +1 -1
  691. package/esm/storage/utils/safe-fetch.mjs.map +1 -1
  692. package/esm/storage/utils/storage-error.d.mts +1 -1
  693. package/esm/storage/utils/storage-error.d.mts.map +1 -1
  694. package/esm/storage/utils/storage-error.mjs +1 -1
  695. package/esm/storage/utils/storage-error.mjs.map +1 -1
  696. package/esm/tests/start-http-development-server.d.mts +1 -1
  697. package/esm/tests/start-http-development-server.d.mts.map +1 -1
  698. package/esm/tests/start-http-development-server.mjs +1 -1
  699. package/esm/tests/start-http-development-server.mjs.map +1 -1
  700. package/esm/tests/test-helpers.d.mts +1 -1
  701. package/esm/tests/test-helpers.d.mts.map +1 -1
  702. package/esm/tests/test-helpers.mjs +1 -1
  703. package/esm/tests/test-helpers.mjs.map +1 -1
  704. package/esm/tests/vitest-setup.d.mts +1 -1
  705. package/esm/tests/vitest-setup.d.mts.map +1 -1
  706. package/esm/tests/vitest-setup.mjs +1 -1
  707. package/esm/tests/vitest-setup.mjs.map +1 -1
  708. package/esm/updater/package-manager.mjs +47 -7
  709. package/esm/updater/package-manager.mjs.map +1 -1
  710. package/esm/updater/update-warlock-packages.mjs +63 -10
  711. package/esm/updater/update-warlock-packages.mjs.map +1 -1
  712. package/esm/use-cases/types.d.mts +1 -1
  713. package/esm/use-cases/types.d.mts.map +1 -1
  714. package/esm/use-cases/use-case-broadcast.d.mts +1 -1
  715. package/esm/use-cases/use-case-broadcast.d.mts.map +1 -1
  716. package/esm/use-cases/use-case-broadcast.mjs +1 -1
  717. package/esm/use-cases/use-case-broadcast.mjs.map +1 -1
  718. package/esm/use-cases/use-case-events.d.mts +1 -1
  719. package/esm/use-cases/use-case-events.d.mts.map +1 -1
  720. package/esm/use-cases/use-case-events.mjs +1 -1
  721. package/esm/use-cases/use-case-events.mjs.map +1 -1
  722. package/esm/use-cases/use-case-pipeline.d.mts +1 -1
  723. package/esm/use-cases/use-case-pipeline.d.mts.map +1 -1
  724. package/esm/use-cases/use-case-pipeline.mjs +1 -1
  725. package/esm/use-cases/use-case-pipeline.mjs.map +1 -1
  726. package/esm/use-cases/use-case.d.mts +1 -1
  727. package/esm/use-cases/use-case.d.mts.map +1 -1
  728. package/esm/use-cases/use-case.errors.d.mts +1 -1
  729. package/esm/use-cases/use-case.errors.d.mts.map +1 -1
  730. package/esm/use-cases/use-case.errors.mjs +1 -1
  731. package/esm/use-cases/use-case.errors.mjs.map +1 -1
  732. package/esm/use-cases/use-case.mjs +1 -1
  733. package/esm/use-cases/use-case.mjs.map +1 -1
  734. package/esm/use-cases/use-cases-registry.d.mts +1 -1
  735. package/esm/use-cases/use-cases-registry.d.mts.map +1 -1
  736. package/esm/use-cases/use-cases-registry.mjs +1 -1
  737. package/esm/use-cases/use-cases-registry.mjs.map +1 -1
  738. package/esm/utils/app-log.d.mts +1 -1
  739. package/esm/utils/app-log.d.mts.map +1 -1
  740. package/esm/utils/app-log.mjs +1 -1
  741. package/esm/utils/app-log.mjs.map +1 -1
  742. package/esm/utils/database-log.d.mts +1 -1
  743. package/esm/utils/database-log.d.mts.map +1 -1
  744. package/esm/utils/database-log.mjs +1 -1
  745. package/esm/utils/database-log.mjs.map +1 -1
  746. package/esm/utils/environment.d.mts +1 -1
  747. package/esm/utils/environment.d.mts.map +1 -1
  748. package/esm/utils/environment.mjs +1 -1
  749. package/esm/utils/environment.mjs.map +1 -1
  750. package/esm/utils/framework-vesion.mjs +1 -1
  751. package/esm/utils/framework-vesion.mjs.map +1 -1
  752. package/esm/utils/get-localized.d.mts +1 -1
  753. package/esm/utils/get-localized.d.mts.map +1 -1
  754. package/esm/utils/get-localized.mjs +1 -1
  755. package/esm/utils/get-localized.mjs.map +1 -1
  756. package/esm/utils/npm-registry.d.mts +1 -1
  757. package/esm/utils/npm-registry.d.mts.map +1 -1
  758. package/esm/utils/npm-registry.mjs +1 -1
  759. package/esm/utils/npm-registry.mjs.map +1 -1
  760. package/esm/utils/paths.d.mts +1 -1
  761. package/esm/utils/paths.d.mts.map +1 -1
  762. package/esm/utils/paths.mjs +1 -1
  763. package/esm/utils/paths.mjs.map +1 -1
  764. package/esm/utils/promise-all-object.d.mts +1 -1
  765. package/esm/utils/promise-all-object.d.mts.map +1 -1
  766. package/esm/utils/promise-all-object.mjs +1 -1
  767. package/esm/utils/promise-all-object.mjs.map +1 -1
  768. package/esm/utils/queue.d.mts +1 -1
  769. package/esm/utils/queue.d.mts.map +1 -1
  770. package/esm/utils/queue.mjs +1 -1
  771. package/esm/utils/queue.mjs.map +1 -1
  772. package/esm/utils/sleep.d.mts +1 -1
  773. package/esm/utils/sleep.d.mts.map +1 -1
  774. package/esm/utils/sleep.mjs +1 -1
  775. package/esm/utils/sleep.mjs.map +1 -1
  776. package/esm/utils/sluggable.d.mts +1 -1
  777. package/esm/utils/sluggable.d.mts.map +1 -1
  778. package/esm/utils/sluggable.mjs +1 -1
  779. package/esm/utils/sluggable.mjs.map +1 -1
  780. package/esm/utils/to-json.d.mts +1 -1
  781. package/esm/utils/to-json.d.mts.map +1 -1
  782. package/esm/utils/to-json.mjs +1 -1
  783. package/esm/utils/to-json.mjs.map +1 -1
  784. package/esm/utils/types.d.mts +1 -1
  785. package/esm/utils/types.d.mts.map +1 -1
  786. package/esm/utils/urls.d.mts +1 -1
  787. package/esm/utils/urls.d.mts.map +1 -1
  788. package/esm/utils/urls.mjs +1 -1
  789. package/esm/utils/urls.mjs.map +1 -1
  790. package/esm/utils/version-compare.d.mts +1 -1
  791. package/esm/utils/version-compare.d.mts.map +1 -1
  792. package/esm/utils/version-compare.mjs +1 -1
  793. package/esm/utils/version-compare.mjs.map +1 -1
  794. package/esm/validation/database/exists-except-current-id.d.mts +1 -1
  795. package/esm/validation/database/exists-except-current-id.d.mts.map +1 -1
  796. package/esm/validation/database/exists-except-current-id.mjs +1 -1
  797. package/esm/validation/database/exists-except-current-id.mjs.map +1 -1
  798. package/esm/validation/database/exists-except-current-user.d.mts +1 -1
  799. package/esm/validation/database/exists-except-current-user.d.mts.map +1 -1
  800. package/esm/validation/database/exists-except-current-user.mjs +1 -1
  801. package/esm/validation/database/exists-except-current-user.mjs.map +1 -1
  802. package/esm/validation/database/types.d.mts +1 -1
  803. package/esm/validation/database/types.d.mts.map +1 -1
  804. package/esm/validation/database/unique-except-current-id.d.mts +1 -1
  805. package/esm/validation/database/unique-except-current-id.d.mts.map +1 -1
  806. package/esm/validation/database/unique-except-current-id.mjs +1 -1
  807. package/esm/validation/database/unique-except-current-id.mjs.map +1 -1
  808. package/esm/validation/database/unique-except-current-user.d.mts +1 -1
  809. package/esm/validation/database/unique-except-current-user.d.mts.map +1 -1
  810. package/esm/validation/database/unique-except-current-user.mjs +1 -1
  811. package/esm/validation/database/unique-except-current-user.mjs.map +1 -1
  812. package/esm/validation/file/file.d.mts +1 -1
  813. package/esm/validation/file/file.d.mts.map +1 -1
  814. package/esm/validation/file/file.mjs +1 -1
  815. package/esm/validation/file/file.mjs.map +1 -1
  816. package/esm/validation/init.mjs +1 -1
  817. package/esm/validation/init.mjs.map +1 -1
  818. package/esm/validation/plugins/database-plugin.mjs +1 -1
  819. package/esm/validation/plugins/database-plugin.mjs.map +1 -1
  820. package/esm/validation/plugins/file-plugin.mjs +1 -1
  821. package/esm/validation/plugins/file-plugin.mjs.map +1 -1
  822. package/esm/validation/plugins/localized-plugin.mjs +1 -1
  823. package/esm/validation/plugins/localized-plugin.mjs.map +1 -1
  824. package/esm/validation/types.d.mts +1 -1
  825. package/esm/validation/types.d.mts.map +1 -1
  826. package/esm/validation/validateAll.mjs +1 -1
  827. package/esm/validation/validateAll.mjs.map +1 -1
  828. package/esm/validation/validators/file-validator.d.mts +1 -1
  829. package/esm/validation/validators/file-validator.d.mts.map +1 -1
  830. package/esm/validation/validators/file-validator.mjs +1 -1
  831. package/esm/validation/validators/file-validator.mjs.map +1 -1
  832. package/esm/vite/lower-stage3-decorators.d.mts +1 -1
  833. package/esm/vite/lower-stage3-decorators.d.mts.map +1 -1
  834. package/esm/vite/lower-stage3-decorators.mjs +1 -1
  835. package/esm/vite/lower-stage3-decorators.mjs.map +1 -1
  836. package/esm/warlock-config/default-configurations.mjs +1 -1
  837. package/esm/warlock-config/default-configurations.mjs.map +1 -1
  838. package/esm/warlock-config/define-config.d.mts +1 -1
  839. package/esm/warlock-config/define-config.d.mts.map +1 -1
  840. package/esm/warlock-config/define-config.mjs +6 -2
  841. package/esm/warlock-config/define-config.mjs.map +1 -1
  842. package/esm/warlock-config/normalize-build-config.mjs +24 -0
  843. package/esm/warlock-config/normalize-build-config.mjs.map +1 -0
  844. package/esm/warlock-config/types.d.mts +21 -1
  845. package/esm/warlock-config/types.d.mts.map +1 -1
  846. package/esm/warlock-config/warlock-config.manager.d.mts +1 -1
  847. package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
  848. package/esm/warlock-config/warlock-config.manager.mjs +1 -1
  849. package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
  850. package/llms-full.txt +131 -13
  851. package/llms.txt +2 -2
  852. package/package.json +12 -12
  853. package/skills/run-app/SKILL.md +70 -7
  854. package/skills/update-packages/SKILL.md +61 -6
@@ -1,7 +1,7 @@
1
1
  import { ExistsExceptCurrentUserRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../@warlock.js/core/src/validation/database/exists-except-current-user.d.ts
4
+ //#region ../core/src/validation/database/exists-except-current-user.d.ts
5
5
  /**
6
6
  * Exists except current user rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exists-except-current-user.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-user.ts"],"mappings":";;;;;;;cAQa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
1
+ {"version":3,"file":"exists-except-current-user.d.mts","names":[],"sources":["../../../../../../../../core/src/validation/database/exists-except-current-user.ts"],"mappings":";;;;;;;cAQa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
@@ -3,7 +3,7 @@ import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
 
6
- //#region ../@warlock.js/core/src/validation/database/exists-except-current-user.ts
6
+ //#region ../core/src/validation/database/exists-except-current-user.ts
7
7
  /**
8
8
  * Exists except current user rule
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"exists-except-current-user.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/exists-except-current-user.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { ExistsExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Exists except current user rule\n */\nexport const existsExceptCurrentUserRule: SchemaRule<ExistsExceptCurrentUserRuleOptions> = {\n name: \"existsExceptCurrentUser\",\n defaultErrorMessage: \"The :input must exist\",\n async validate(value: any, context) {\n const {\n Model,\n query,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n dbQuery.where(exceptCurrentUserColumn, \"!=\", user.get(exceptCurrentUserValue));\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? VALID_RULE : invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,SACvB,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAI5B,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MACF,QAAQ,MAAM,yBAAyB,MAAM,KAAK,IAAI,sBAAsB,CAAC;EAG/E,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,aAAa,YAAY,MAAM,OAAO;CAC1D;AACF"}
1
+ {"version":3,"file":"exists-except-current-user.mjs","names":[],"sources":["../../../../../../../../core/src/validation/database/exists-except-current-user.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { ExistsExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Exists except current user rule\n */\nexport const existsExceptCurrentUserRule: SchemaRule<ExistsExceptCurrentUserRuleOptions> = {\n name: \"existsExceptCurrentUser\",\n defaultErrorMessage: \"The :input must exist\",\n async validate(value: any, context) {\n const {\n Model,\n query,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n dbQuery.where(exceptCurrentUserColumn, \"!=\", user.get(exceptCurrentUserValue));\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? VALID_RULE : invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;;AAQA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,SACvB,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAI5B,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MACF,QAAQ,MAAM,yBAAyB,MAAM,KAAK,IAAI,sBAAsB,CAAC;EAG/E,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,aAAa,YAAY,MAAM,OAAO;CAC1D;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BaseQueryRuleOptions, BaseUniqueRuleOptions } from "@warlock.js/cascade";
2
2
 
3
- //#region ../@warlock.js/core/src/validation/database/types.d.ts
3
+ //#region ../core/src/validation/database/types.d.ts
4
4
  /**
5
5
  * Options for unique except current user rule
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/types.ts"],"mappings":";;;;;AAKA;KAAY,kCAAA,GAAqC,qBAAqB;qDAEpE,uBAAA,WAF+C;EAI/C,sBAAA;AAAA;;AAAsB;AAMxB;KAAY,gCAAA,GAAmC,qBAAqB;mDAElE,qBAAqB;AAAA;AAMvB;;;AAAA,KAAY,kCAAA,GAAqC,oBAAoB;EAApB,mDAE/C,uBAAA,WAEA;EAAA,sBAAA;AAAA;AAMF;;;AAAA,KAAY,gCAAA,GAAmC,oBAAoB;EAE5C,iDAArB,qBAAqB;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../core/src/validation/database/types.ts"],"mappings":";;;;;AAKA;KAAY,kCAAA,GAAqC,qBAAqB;qDAEpE,uBAAA,WAF+C;EAI/C,sBAAA;AAAA;;AAAsB;AAMxB;KAAY,gCAAA,GAAmC,qBAAqB;mDAElE,qBAAqB;AAAA;AAMvB;;;AAAA,KAAY,kCAAA,GAAqC,oBAAoB;EAApB,mDAE/C,uBAAA,WAEA;EAAA,sBAAA;AAAA;AAMF;;;AAAA,KAAY,gCAAA,GAAmC,oBAAoB;EAE5C,iDAArB,qBAAqB;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import { UniqueExceptCurrentIdRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../@warlock.js/core/src/validation/database/unique-except-current-id.d.ts
4
+ //#region ../core/src/validation/database/unique-except-current-id.d.ts
5
5
  /**
6
6
  * Unique except current ID rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-id.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-id.ts"],"mappings":";;;;;;;cAOa,yBAAA,EAA2B,UAAU,CAAC,gCAAA"}
1
+ {"version":3,"file":"unique-except-current-id.d.mts","names":[],"sources":["../../../../../../../../core/src/validation/database/unique-except-current-id.ts"],"mappings":";;;;;;;cAOa,yBAAA,EAA2B,UAAU,CAAC,gCAAA"}
@@ -3,7 +3,7 @@ import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
 
6
- //#region ../@warlock.js/core/src/validation/database/unique-except-current-id.ts
6
+ //#region ../core/src/validation/database/unique-except-current-id.ts
7
7
  /**
8
8
  * Unique except current ID rule
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-id.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-id.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useRequestStore } from \"../../http\";\nimport type { UniqueExceptCurrentIdRuleOptions } from \"../types\";\n/**\n * Unique except current ID rule\n */\nexport const uniqueExceptCurrentIdRule: SchemaRule<UniqueExceptCurrentIdRuleOptions> = {\n name: \"uniqueExceptCurrentId\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentIdColumn = \"id\",\n query,\n } = this.context.options;\n\n const { request } = useRequestStore();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n dbQuery.where(exceptCurrentIdColumn, \"!=\", request.input(\"id\"));\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;AAOA,MAAa,4BAA0E;CACrF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,wBAAwB,MACxB,UACE,KAAK,QAAQ;EAEjB,MAAM,EAAE,YAAY,gBAAgB;EAIpC,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAC3B,QAAQ,MAAM,uBAAuB,MAAM,QAAQ,MAAM,IAAI,CAAC;EAE9D,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
1
+ {"version":3,"file":"unique-except-current-id.mjs","names":[],"sources":["../../../../../../../../core/src/validation/database/unique-except-current-id.ts"],"sourcesContent":["import { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useRequestStore } from \"../../http\";\nimport type { UniqueExceptCurrentIdRuleOptions } from \"../types\";\n/**\n * Unique except current ID rule\n */\nexport const uniqueExceptCurrentIdRule: SchemaRule<UniqueExceptCurrentIdRuleOptions> = {\n name: \"uniqueExceptCurrentId\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentIdColumn = \"id\",\n query,\n } = this.context.options;\n\n const { request } = useRequestStore();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n dbQuery.where(exceptCurrentIdColumn, \"!=\", request.input(\"id\"));\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;AAOA,MAAa,4BAA0E;CACrF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,wBAAwB,MACxB,UACE,KAAK,QAAQ;EAEjB,MAAM,EAAE,YAAY,gBAAgB;EAIpC,MAAM,UAFqB,kBAAkB,KAEZ,CAAC,CAAC,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAC3B,QAAQ,MAAM,uBAAuB,MAAM,QAAQ,MAAM,IAAI,CAAC;EAE9D,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { UniqueExceptCurrentUserRuleOptions } from "./types.mjs";
2
2
  import { SchemaRule } from "@warlock.js/seal";
3
3
 
4
- //#region ../@warlock.js/core/src/validation/database/unique-except-current-user.d.ts
4
+ //#region ../core/src/validation/database/unique-except-current-user.d.ts
5
5
  /**
6
6
  * Unique except current user rule
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-user.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-user.ts"],"mappings":";;;;;;;cASa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
1
+ {"version":3,"file":"unique-except-current-user.d.mts","names":[],"sources":["../../../../../../../../core/src/validation/database/unique-except-current-user.ts"],"mappings":";;;;;;;cASa,2BAAA,EAA6B,UAAU,CAAC,kCAAA"}
@@ -4,7 +4,7 @@ import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
  import { resolveModelClass } from "@warlock.js/cascade";
5
5
  import { get } from "@mongez/reinforcements";
6
6
 
7
- //#region ../@warlock.js/core/src/validation/database/unique-except-current-user.ts
7
+ //#region ../core/src/validation/database/unique-except-current-user.ts
8
8
  /**
9
9
  * Unique except current user rule
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"unique-except-current-user.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/database/unique-except-current-user.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\nimport { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { UniqueExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Unique except current user rule\n */\nexport const uniqueExceptCurrentUserRule: SchemaRule<UniqueExceptCurrentUserRuleOptions> = {\n name: \"uniqueExceptCurrentUser\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n query,\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n const value =\n user instanceof ResolvedModelClass\n ? user.get(exceptCurrentUserValue)\n : get(user, exceptCurrentUserValue);\n dbQuery.where(exceptCurrentUserColumn, \"!=\", value);\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;;AASA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,MACzB,UACE,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAE5B,MAAM,qBAAqB,kBAAkB,KAAK;EAElD,MAAM,UAAU,mBAAmB,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MAAM;GACR,MAAM,QACJ,gBAAgB,qBACZ,KAAK,IAAI,sBAAsB,IAC/B,IAAI,MAAM,sBAAsB;GACtC,QAAQ,MAAM,yBAAyB,MAAM,KAAK;EACpD;EAEA,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
1
+ {"version":3,"file":"unique-except-current-user.mjs","names":[],"sources":["../../../../../../../../core/src/validation/database/unique-except-current-user.ts"],"sourcesContent":["import { get } from \"@mongez/reinforcements\";\nimport { resolveModelClass } from \"@warlock.js/cascade\";\nimport { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { useCurrentUser } from \"../../http\";\nimport type { UniqueExceptCurrentUserRuleOptions } from \"../types\";\n\n/**\n * Unique except current user rule\n */\nexport const uniqueExceptCurrentUserRule: SchemaRule<UniqueExceptCurrentUserRuleOptions> = {\n name: \"uniqueExceptCurrentUser\",\n defaultErrorMessage: \"The :input must be unique\",\n async validate(value: any, context) {\n const {\n Model,\n column = context.key,\n exceptCurrentUserColumn = \"id\",\n exceptCurrentUserValue = \"id\",\n query,\n } = this.context.options;\n\n const user = useCurrentUser();\n\n const ResolvedModelClass = resolveModelClass(Model);\n\n const dbQuery = ResolvedModelClass.query();\n\n dbQuery.where(column, value);\n\n if (user) {\n const value =\n user instanceof ResolvedModelClass\n ? user.get(exceptCurrentUserValue)\n : get(user, exceptCurrentUserValue);\n dbQuery.where(exceptCurrentUserColumn, \"!=\", value);\n }\n\n if (query) {\n await query({\n query: dbQuery,\n value,\n allValues: context.allValues,\n });\n }\n\n const document = await dbQuery.first();\n return document ? invalidRule(this, context) : VALID_RULE;\n },\n};\n"],"mappings":";;;;;;;;;;AASA,MAAa,8BAA8E;CACzF,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,MAAM,EACJ,OACA,SAAS,QAAQ,KACjB,0BAA0B,MAC1B,yBAAyB,MACzB,UACE,KAAK,QAAQ;EAEjB,MAAM,OAAO,eAAe;EAE5B,MAAM,qBAAqB,kBAAkB,KAAK;EAElD,MAAM,UAAU,mBAAmB,MAAM;EAEzC,QAAQ,MAAM,QAAQ,KAAK;EAE3B,IAAI,MAAM;GACR,MAAM,QACJ,gBAAgB,qBACZ,KAAK,IAAI,sBAAsB,IAC/B,IAAI,MAAM,sBAAsB;GACtC,QAAQ,MAAM,yBAAyB,MAAM,KAAK;EACpD;EAEA,IAAI,OACF,MAAM,MAAM;GACV,OAAO;GACP;GACA,WAAW,QAAQ;EACrB,CAAC;EAIH,OAAO,MADgB,QAAQ,MAAM,IACnB,YAAY,MAAM,OAAO,IAAI;CACjD;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { SchemaRule } from "@warlock.js/seal";
2
2
 
3
- //#region ../@warlock.js/core/src/validation/file/file.d.ts
3
+ //#region ../core/src/validation/file/file.d.ts
4
4
  /**
5
5
  * File rule - validates uploaded file
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/file/file.ts"],"mappings":";;;;;AAMA;cAAa,QAAA,EAAU,UAStB;;;AAAA;cAKY,SAAA,EAAW,UAUvB;;;;cAKY,iBAAA,EAAmB,UAAU;EACxC,UAAU;AAAA;;;AAAA;cAsBC,YAAA,EAAc,UAAU;EAAG,SAAS;AAAA"}
1
+ {"version":3,"file":"file.d.mts","names":[],"sources":["../../../../../../../../core/src/validation/file/file.ts"],"mappings":";;;;;AAMA;cAAa,QAAA,EAAU,UAStB;;;AAAA;cAKY,SAAA,EAAW,UAUvB;;;;cAKY,iBAAA,EAAmB,UAAU;EACxC,UAAU;AAAA;;;AAAA;cAsBC,YAAA,EAAc,UAAU;EAAG,SAAS;AAAA"}
@@ -2,7 +2,7 @@ import { UploadedFile } from "../../http/uploaded-file.mjs";
2
2
  import "../../http/index.mjs";
3
3
  import { VALID_RULE, invalidRule } from "@warlock.js/seal";
4
4
 
5
- //#region ../@warlock.js/core/src/validation/file/file.ts
5
+ //#region ../core/src/validation/file/file.ts
6
6
  /**
7
7
  * File rule - validates uploaded file
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/file/file.ts"],"sourcesContent":["import { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\n\n/**\n * File rule - validates uploaded file\n */\nexport const fileRule: SchemaRule = {\n name: \"file\",\n defaultErrorMessage: \"The :input must be a file\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile) {\n return VALID_RULE;\n }\n return invalidRule(this, context);\n },\n};\n\n/**\n * Image rule - validates uploaded image\n */\nexport const imageRule: SchemaRule = {\n name: \"image\",\n defaultErrorMessage: \"The :input must be an image\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile && value.isImage) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File extension rule - validates file extension\n */\nexport const fileExtensionRule: SchemaRule<{\n extensions: string | string[];\n}> = {\n name: \"fileExtension\",\n errorMessage: \"The :input must have one of the following extensions: :extensions\",\n async validate(value: any, context) {\n let extensions = this.context.options.extensions;\n\n if (typeof extensions === \"string\") {\n extensions = [extensions];\n }\n\n if (extensions.includes(value.extension)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File type rule - validates MIME type\n */\nexport const fileTypeRule: SchemaRule<{ mimeTypes: string | string[] }> = {\n name: \"fileType\",\n defaultErrorMessage: \"The :input must be a :types file\",\n async validate(value: any, context) {\n let mimeTypes = this.context.options.mimeTypes;\n\n if (typeof mimeTypes === \"string\") {\n mimeTypes = [mimeTypes];\n }\n\n if (mimeTypes.includes(value.mimeType)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;AAMA,MAAa,WAAuB;CAClC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,cACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,gBAAgB,MAAM,SACzC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,oBAER;CACH,MAAM;CACN,cAAc;CACd,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,aAAa,KAAK,QAAQ,QAAQ;EAEtC,IAAI,OAAO,eAAe,UACxB,aAAa,CAAC,UAAU;EAG1B,IAAI,WAAW,SAAS,MAAM,SAAS,GACrC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA6D;CACxE,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,YAAY,KAAK,QAAQ,QAAQ;EAErC,IAAI,OAAO,cAAc,UACvB,YAAY,CAAC,SAAS;EAGxB,IAAI,UAAU,SAAS,MAAM,QAAQ,GACnC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
1
+ {"version":3,"file":"file.mjs","names":[],"sources":["../../../../../../../../core/src/validation/file/file.ts"],"sourcesContent":["import { invalidRule, VALID_RULE, type SchemaRule } from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\n\n/**\n * File rule - validates uploaded file\n */\nexport const fileRule: SchemaRule = {\n name: \"file\",\n defaultErrorMessage: \"The :input must be a file\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile) {\n return VALID_RULE;\n }\n return invalidRule(this, context);\n },\n};\n\n/**\n * Image rule - validates uploaded image\n */\nexport const imageRule: SchemaRule = {\n name: \"image\",\n defaultErrorMessage: \"The :input must be an image\",\n async validate(value: any, context) {\n if (value instanceof UploadedFile && value.isImage) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File extension rule - validates file extension\n */\nexport const fileExtensionRule: SchemaRule<{\n extensions: string | string[];\n}> = {\n name: \"fileExtension\",\n errorMessage: \"The :input must have one of the following extensions: :extensions\",\n async validate(value: any, context) {\n let extensions = this.context.options.extensions;\n\n if (typeof extensions === \"string\") {\n extensions = [extensions];\n }\n\n if (extensions.includes(value.extension)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n\n/**\n * File type rule - validates MIME type\n */\nexport const fileTypeRule: SchemaRule<{ mimeTypes: string | string[] }> = {\n name: \"fileType\",\n defaultErrorMessage: \"The :input must be a :types file\",\n async validate(value: any, context) {\n let mimeTypes = this.context.options.mimeTypes;\n\n if (typeof mimeTypes === \"string\") {\n mimeTypes = [mimeTypes];\n }\n\n if (mimeTypes.includes(value.mimeType)) {\n return VALID_RULE;\n }\n\n return invalidRule(this, context);\n },\n};\n"],"mappings":";;;;;;;;AAMA,MAAa,WAAuB;CAClC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,cACnB,OAAO;EAET,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,YAAwB;CACnC,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,iBAAiB,gBAAgB,MAAM,SACzC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,oBAER;CACH,MAAM;CACN,cAAc;CACd,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,aAAa,KAAK,QAAQ,QAAQ;EAEtC,IAAI,OAAO,eAAe,UACxB,aAAa,CAAC,UAAU;EAG1B,IAAI,WAAW,SAAS,MAAM,SAAS,GACrC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF;;;;AAKA,MAAa,eAA6D;CACxE,MAAM;CACN,qBAAqB;CACrB,MAAM,SAAS,OAAY,SAAS;EAClC,IAAI,YAAY,KAAK,QAAQ,QAAQ;EAErC,IAAI,OAAO,cAAc,UACvB,YAAY,CAAC,SAAS;EAGxB,IAAI,UAAU,SAAS,MAAM,QAAQ,GACnC,OAAO;EAGT,OAAO,YAAY,MAAM,OAAO;CAClC;AACF"}
@@ -7,7 +7,7 @@ import { localizedPlugin } from "./plugins/localized-plugin.mjs";
7
7
  import "./plugins/index.mjs";
8
8
  import { configureSeal, registerPlugin } from "@warlock.js/seal";
9
9
 
10
- //#region ../@warlock.js/core/src/validation/init.ts
10
+ //#region ../core/src/validation/init.ts
11
11
  /**
12
12
  * Initialize Seal with Warlock Framework Settings
13
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"init.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/init.ts"],"sourcesContent":["/**\n * Initialize Seal with Warlock Framework Settings\n *\n * This file configures Seal to use Warlock's localization system\n */\n\n// Auto-register framework plugins\nimport { configureSeal, registerPlugin } from \"@warlock.js/seal\";\nimport { config } from \"../config\";\nimport { t } from \"../http/middleware/inject-request-context\";\nimport { databasePlugin, filePlugin, localizedPlugin } from \"./plugins\";\n\n// Configure Seal to use Warlock's localization\nconfigureSeal({\n firstErrorOnly: config.key(\"validation.firstErrorOnly\", true),\n translateRule({ rule, attributes }) {\n const translateRule = config.key(\"validation.translateRule\");\n\n if (translateRule) {\n return translateRule({ rule, attributes });\n }\n\n const translationGroup = config.key(\"validation.translationGroup\", \"validation\");\n\n const translationKey = `${translationGroup}.${rule.name}`;\n const translation = t(translationKey, attributes);\n\n return translation === translationKey\n ? rule.errorMessage || rule.defaultErrorMessage\n : translation;\n },\n\n translateAttribute({ attribute, context, rule }) {\n const translateAttribute = config.key(\"validation.translateAttribute\");\n\n if (translateAttribute) {\n return translateAttribute({ attribute, context, rule });\n }\n\n const attributeGroup = config.key(\"validation.attributeGroup\") ?? \"attributes\";\n\n const translationKey = `${attributeGroup ? attributeGroup + \".\" : \"\"}${attribute}`;\n\n const output = t(translationKey, context.allValues);\n return output === translationKey ? attribute : output;\n },\n});\n\n// Register plugins to inject methods\nregisterPlugin(databasePlugin);\nregisterPlugin(filePlugin);\nregisterPlugin(localizedPlugin);\n"],"mappings":";;;;;;;;;;;;;;;AAaA,cAAc;CACZ,gBAAgB,OAAO,IAAI,6BAA6B,IAAI;CAC5D,cAAc,EAAE,MAAM,cAAc;EAClC,MAAM,gBAAgB,OAAO,IAAI,0BAA0B;EAE3D,IAAI,eACF,OAAO,cAAc;GAAE;GAAM;EAAW,CAAC;EAK3C,MAAM,iBAAiB,GAFE,OAAO,IAAI,+BAA+B,YAE1B,EAAE,GAAG,KAAK;EACnD,MAAM,cAAc,EAAE,gBAAgB,UAAU;EAEhD,OAAO,gBAAgB,iBACnB,KAAK,gBAAgB,KAAK,sBAC1B;CACN;CAEA,mBAAmB,EAAE,WAAW,SAAS,QAAQ;EAC/C,MAAM,qBAAqB,OAAO,IAAI,+BAA+B;EAErE,IAAI,oBACF,OAAO,mBAAmB;GAAE;GAAW;GAAS;EAAK,CAAC;EAGxD,MAAM,iBAAiB,OAAO,IAAI,2BAA2B,KAAK;EAElE,MAAM,iBAAiB,GAAG,iBAAiB,iBAAiB,MAAM,KAAK;EAEvE,MAAM,SAAS,EAAE,gBAAgB,QAAQ,SAAS;EAClD,OAAO,WAAW,iBAAiB,YAAY;CACjD;AACF,CAAC;AAGD,eAAe,cAAc;AAC7B,eAAe,UAAU;AACzB,eAAe,eAAe"}
1
+ {"version":3,"file":"init.mjs","names":[],"sources":["../../../../../../../core/src/validation/init.ts"],"sourcesContent":["/**\n * Initialize Seal with Warlock Framework Settings\n *\n * This file configures Seal to use Warlock's localization system\n */\n\n// Auto-register framework plugins\nimport { configureSeal, registerPlugin } from \"@warlock.js/seal\";\nimport { config } from \"../config\";\nimport { t } from \"../http/middleware/inject-request-context\";\nimport { databasePlugin, filePlugin, localizedPlugin } from \"./plugins\";\n\n// Configure Seal to use Warlock's localization\nconfigureSeal({\n firstErrorOnly: config.key(\"validation.firstErrorOnly\", true),\n translateRule({ rule, attributes }) {\n const translateRule = config.key(\"validation.translateRule\");\n\n if (translateRule) {\n return translateRule({ rule, attributes });\n }\n\n const translationGroup = config.key(\"validation.translationGroup\", \"validation\");\n\n const translationKey = `${translationGroup}.${rule.name}`;\n const translation = t(translationKey, attributes);\n\n return translation === translationKey\n ? rule.errorMessage || rule.defaultErrorMessage\n : translation;\n },\n\n translateAttribute({ attribute, context, rule }) {\n const translateAttribute = config.key(\"validation.translateAttribute\");\n\n if (translateAttribute) {\n return translateAttribute({ attribute, context, rule });\n }\n\n const attributeGroup = config.key(\"validation.attributeGroup\") ?? \"attributes\";\n\n const translationKey = `${attributeGroup ? attributeGroup + \".\" : \"\"}${attribute}`;\n\n const output = t(translationKey, context.allValues);\n return output === translationKey ? attribute : output;\n },\n});\n\n// Register plugins to inject methods\nregisterPlugin(databasePlugin);\nregisterPlugin(filePlugin);\nregisterPlugin(localizedPlugin);\n"],"mappings":";;;;;;;;;;;;;;;AAaA,cAAc;CACZ,gBAAgB,OAAO,IAAI,6BAA6B,IAAI;CAC5D,cAAc,EAAE,MAAM,cAAc;EAClC,MAAM,gBAAgB,OAAO,IAAI,0BAA0B;EAE3D,IAAI,eACF,OAAO,cAAc;GAAE;GAAM;EAAW,CAAC;EAK3C,MAAM,iBAAiB,GAFE,OAAO,IAAI,+BAA+B,YAE1B,EAAE,GAAG,KAAK;EACnD,MAAM,cAAc,EAAE,gBAAgB,UAAU;EAEhD,OAAO,gBAAgB,iBACnB,KAAK,gBAAgB,KAAK,sBAC1B;CACN;CAEA,mBAAmB,EAAE,WAAW,SAAS,QAAQ;EAC/C,MAAM,qBAAqB,OAAO,IAAI,+BAA+B;EAErE,IAAI,oBACF,OAAO,mBAAmB;GAAE;GAAW;GAAS;EAAK,CAAC;EAGxD,MAAM,iBAAiB,OAAO,IAAI,2BAA2B,KAAK;EAElE,MAAM,iBAAiB,GAAG,iBAAiB,iBAAiB,MAAM,KAAK;EAEvE,MAAM,SAAS,EAAE,gBAAgB,QAAQ,SAAS;EAClD,OAAO,WAAW,iBAAiB,YAAY;CACjD;AACF,CAAC;AAGD,eAAe,cAAc;AAC7B,eAAe,UAAU;AACzB,eAAe,eAAe"}
@@ -5,7 +5,7 @@ import { uniqueExceptCurrentUserRule } from "../database/unique-except-current-u
5
5
  import "../database/index.mjs";
6
6
  import { NumberValidator, ScalarValidator, StringValidator } from "@warlock.js/seal";
7
7
 
8
- //#region ../@warlock.js/core/src/validation/plugins/database-plugin.ts
8
+ //#region ../core/src/validation/plugins/database-plugin.ts
9
9
  /**
10
10
  * Database validation plugin for Seal
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"database-plugin.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/plugins/database-plugin.ts"],"sourcesContent":["/**\r\n * Database Validation Plugin (core)\r\n *\r\n * Injects the request-aware database validation methods onto Seal scalar\r\n * validators:\r\n * - uniqueExceptCurrentUser / uniqueExceptCurrentId\r\n * - existsExceptCurrentUser / existsExceptCurrentId\r\n *\r\n * The base `unique()` / `exists()` methods are owned by\r\n * `@warlock.js/cascade` and registered by its own seal plugin.\r\n */\r\n\r\nimport { type ChildModel, type Model } from \"@warlock.js/cascade\";\r\nimport type { SealPlugin } from \"@warlock.js/seal\";\r\nimport { NumberValidator, ScalarValidator, StringValidator } from \"@warlock.js/seal\";\r\nimport {\r\n existsExceptCurrentIdRule,\r\n existsExceptCurrentUserRule,\r\n uniqueExceptCurrentIdRule,\r\n uniqueExceptCurrentUserRule,\r\n} from \"../database\";\r\nimport type {\r\n ExistsExceptCurrentIdRuleOptions,\r\n ExistsExceptCurrentUserRuleOptions,\r\n UniqueExceptCurrentIdRuleOptions,\r\n UniqueExceptCurrentUserRuleOptions,\r\n} from \"../database\";\r\n\r\n/**\r\n * Database validation plugin for Seal\r\n */\r\nexport const databasePlugin: SealPlugin = {\r\n name: \"database\",\r\n version: \"1.0.0\",\r\n description: \"Adds request-aware database validation methods (except-current-user/id) to validators\",\r\n\r\n install() {\r\n Object.assign(ScalarValidator.prototype, {\r\n uniqueExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n uniqueExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n });\r\n\r\n Object.assign(StringValidator.prototype, {\r\n uniqueExceptCurrentUser: ScalarValidator.prototype.uniqueExceptCurrentUser,\r\n uniqueExceptCurrentId: ScalarValidator.prototype.uniqueExceptCurrentId,\r\n existsExceptCurrentUser: ScalarValidator.prototype.existsExceptCurrentUser,\r\n existsExceptCurrentId: ScalarValidator.prototype.existsExceptCurrentId,\r\n });\r\n\r\n Object.assign(NumberValidator.prototype, {});\r\n },\r\n};\r\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,iBAA6B;CACxC,MAAM;CACN,SAAS;CACT,aAAa;CAEb,UAAU;EACR,OAAO,OAAO,gBAAgB,WAAW;GACvC,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;EACF,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW;GACvC,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;GACjD,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;EACnD,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW,CAAC,CAAC;CAC7C;AACF"}
1
+ {"version":3,"file":"database-plugin.mjs","names":[],"sources":["../../../../../../../../core/src/validation/plugins/database-plugin.ts"],"sourcesContent":["/**\r\n * Database Validation Plugin (core)\r\n *\r\n * Injects the request-aware database validation methods onto Seal scalar\r\n * validators:\r\n * - uniqueExceptCurrentUser / uniqueExceptCurrentId\r\n * - existsExceptCurrentUser / existsExceptCurrentId\r\n *\r\n * The base `unique()` / `exists()` methods are owned by\r\n * `@warlock.js/cascade` and registered by its own seal plugin.\r\n */\r\n\r\nimport { type ChildModel, type Model } from \"@warlock.js/cascade\";\r\nimport type { SealPlugin } from \"@warlock.js/seal\";\r\nimport { NumberValidator, ScalarValidator, StringValidator } from \"@warlock.js/seal\";\r\nimport {\r\n existsExceptCurrentIdRule,\r\n existsExceptCurrentUserRule,\r\n uniqueExceptCurrentIdRule,\r\n uniqueExceptCurrentUserRule,\r\n} from \"../database\";\r\nimport type {\r\n ExistsExceptCurrentIdRuleOptions,\r\n ExistsExceptCurrentUserRuleOptions,\r\n UniqueExceptCurrentIdRuleOptions,\r\n UniqueExceptCurrentUserRuleOptions,\r\n} from \"../database\";\r\n\r\n/**\r\n * Database validation plugin for Seal\r\n */\r\nexport const databasePlugin: SealPlugin = {\r\n name: \"database\",\r\n version: \"1.0.0\",\r\n description: \"Adds request-aware database validation methods (except-current-user/id) to validators\",\r\n\r\n install() {\r\n Object.assign(ScalarValidator.prototype, {\r\n uniqueExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n uniqueExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<UniqueExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(uniqueExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentUser(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentUserRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentUserRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n\r\n existsExceptCurrentId(\r\n this: ScalarValidator,\r\n model: ChildModel<Model> | string,\r\n optionsList?: Partial<ExistsExceptCurrentIdRuleOptions> & {\r\n errorMessage?: string;\r\n },\r\n ) {\r\n const { errorMessage, ...options } = optionsList || {};\r\n\r\n return this.addRule(existsExceptCurrentIdRule, errorMessage, {\r\n Model: model,\r\n ...options,\r\n });\r\n },\r\n });\r\n\r\n Object.assign(StringValidator.prototype, {\r\n uniqueExceptCurrentUser: ScalarValidator.prototype.uniqueExceptCurrentUser,\r\n uniqueExceptCurrentId: ScalarValidator.prototype.uniqueExceptCurrentId,\r\n existsExceptCurrentUser: ScalarValidator.prototype.existsExceptCurrentUser,\r\n existsExceptCurrentId: ScalarValidator.prototype.existsExceptCurrentId,\r\n });\r\n\r\n Object.assign(NumberValidator.prototype, {});\r\n },\r\n};\r\n"],"mappings":";;;;;;;;;;;AA+BA,MAAa,iBAA6B;CACxC,MAAM;CACN,SAAS;CACT,aAAa;CAEb,UAAU;EACR,OAAO,OAAO,gBAAgB,WAAW;GACvC,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,wBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,6BAA6B,cAAc;KAC7D,OAAO;KACP,GAAG;IACL,CAAC;GACH;GAEA,sBAEE,OACA,aAGA;IACA,MAAM,EAAE,cAAc,GAAG,YAAY,eAAe,CAAC;IAErD,OAAO,KAAK,QAAQ,2BAA2B,cAAc;KAC3D,OAAO;KACP,GAAG;IACL,CAAC;GACH;EACF,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW;GACvC,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;GACjD,yBAAyB,gBAAgB,UAAU;GACnD,uBAAuB,gBAAgB,UAAU;EACnD,CAAC;EAED,OAAO,OAAO,gBAAgB,WAAW,CAAC,CAAC;CAC7C;AACF"}
@@ -2,7 +2,7 @@ import { FileValidator } from "../validators/file-validator.mjs";
2
2
  import "../validators/index.mjs";
3
3
  import { v } from "@warlock.js/seal";
4
4
 
5
- //#region ../@warlock.js/core/src/validation/plugins/file-plugin.ts
5
+ //#region ../core/src/validation/plugins/file-plugin.ts
6
6
  /**
7
7
  * File validation plugin for Seal
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-plugin.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/plugins/file-plugin.ts"],"sourcesContent":["/**\n * File Validator Plugin\n *\n * Adds file validation to Seal v factory\n */\n\nimport type { SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\nimport { FileValidator } from \"../validators\";\n\n/**\n * File validation plugin for Seal\n */\nexport const filePlugin: SealPlugin = {\n name: \"file\",\n version: \"1.0.0\",\n description: \"Adds file upload validation (v.file())\",\n install() {\n // Inject file() method into v factory\n v.file = (errorMessage?: string) => new FileValidator(errorMessage);\n },\n};\n"],"mappings":";;;;;;;;AAaA,MAAa,aAAyB;CACpC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EAER,EAAE,QAAQ,iBAA0B,IAAI,cAAc,YAAY;CACpE;AACF"}
1
+ {"version":3,"file":"file-plugin.mjs","names":[],"sources":["../../../../../../../../core/src/validation/plugins/file-plugin.ts"],"sourcesContent":["/**\n * File Validator Plugin\n *\n * Adds file validation to Seal v factory\n */\n\nimport type { SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\nimport { FileValidator } from \"../validators\";\n\n/**\n * File validation plugin for Seal\n */\nexport const filePlugin: SealPlugin = {\n name: \"file\",\n version: \"1.0.0\",\n description: \"Adds file upload validation (v.file())\",\n install() {\n // Inject file() method into v factory\n v.file = (errorMessage?: string) => new FileValidator(errorMessage);\n },\n};\n"],"mappings":";;;;;;;;AAaA,MAAa,aAAyB;CACpC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EAER,EAAE,QAAQ,iBAA0B,IAAI,cAAc,YAAY;CACpE;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { v } from "@warlock.js/seal";
2
2
 
3
- //#region ../@warlock.js/core/src/validation/plugins/localized-plugin.ts
3
+ //#region ../core/src/validation/plugins/localized-plugin.ts
4
4
  /**
5
5
  * Localized validation plugin for Seal
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"localized-plugin.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/plugins/localized-plugin.ts"],"sourcesContent":["/**\n * Localized Validator Plugin\n *\n * Adds localized() method to Seal v factory\n */\n\nimport type { ArrayValidator, BaseValidator, SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\n\ntype LocalizedReturn = ArrayValidator & {\n validator: BaseValidator;\n};\n\n/**\n * Localized validation plugin for Seal\n */\nexport const localizedPlugin: SealPlugin = {\n name: \"localized\",\n version: \"1.0.0\",\n description: \"Adds localized validation (v.localized())\",\n install() {\n v.localized = (valueValidator?: BaseValidator, errorMessage?: string): LocalizedReturn =>\n v.array(\n v.object({\n localeCode: v.string().required(),\n value: valueValidator || v.scalar(),\n }),\n errorMessage,\n ) as LocalizedReturn;\n },\n};\n"],"mappings":";;;;;;AAgBA,MAAa,kBAA8B;CACzC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EACR,EAAE,aAAa,gBAAgC,iBAC7C,EAAE,MACA,EAAE,OAAO;GACP,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS;GAChC,OAAO,kBAAkB,EAAE,OAAO;EACpC,CAAC,GACD,YACF;CACJ;AACF"}
1
+ {"version":3,"file":"localized-plugin.mjs","names":[],"sources":["../../../../../../../../core/src/validation/plugins/localized-plugin.ts"],"sourcesContent":["/**\n * Localized Validator Plugin\n *\n * Adds localized() method to Seal v factory\n */\n\nimport type { ArrayValidator, BaseValidator, SealPlugin } from \"@warlock.js/seal\";\nimport { v } from \"@warlock.js/seal\";\n\ntype LocalizedReturn = ArrayValidator & {\n validator: BaseValidator;\n};\n\n/**\n * Localized validation plugin for Seal\n */\nexport const localizedPlugin: SealPlugin = {\n name: \"localized\",\n version: \"1.0.0\",\n description: \"Adds localized validation (v.localized())\",\n install() {\n v.localized = (valueValidator?: BaseValidator, errorMessage?: string): LocalizedReturn =>\n v.array(\n v.object({\n localeCode: v.string().required(),\n value: valueValidator || v.scalar(),\n }),\n errorMessage,\n ) as LocalizedReturn;\n },\n};\n"],"mappings":";;;;;;AAgBA,MAAa,kBAA8B;CACzC,MAAM;CACN,SAAS;CACT,aAAa;CACb,UAAU;EACR,EAAE,aAAa,gBAAgC,iBAC7C,EAAE,MACA,EAAE,OAAO;GACP,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS;GAChC,OAAO,kBAAkB,EAAE,OAAO;EACpC,CAAC,GACD,YACF;CACJ;AACF"}
@@ -3,7 +3,7 @@ import { FileValidator } from "./validators/file-validator.mjs";
3
3
  import { ArrayValidator, BaseValidator, TranslateAttributeCallback, TranslateRuleCallback } from "@warlock.js/seal";
4
4
  import { ChildModel, Model } from "@warlock.js/cascade";
5
5
 
6
- //#region ../@warlock.js/core/src/validation/types.d.ts
6
+ //#region ../core/src/validation/types.d.ts
7
7
  declare module "@warlock.js/seal" {
8
8
  interface ValidatorV {
9
9
  file: (errorMessage?: string) => FileValidator;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/types.ts"],"mappings":";;;;;;;YA2BmB,UAAA;IACf,IAAA,GAAO,YAAA,cAA0B,aAAA;IACjC,SAAA,GACE,cAAA,GAAiB,aAAA,EACjB,YAAA,cACG,cAAA;MACH,SAAA,EAAW,aAAA;IAAA;EAAA;EAAA,UAIL,eAAA;IAWC;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAcK;IATT,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;IAcK;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAgBmB;IAXvB,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;EAAA;EAAA,UAMI,eAAA;IACR,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;IACvB,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;EAAA;AAAA;AAAA,KAYf,uBAAA;EAvDN;;;;;;EA+DJ,gBAAA;EAvDkB;;;;;;EA8DlB,cAAA;EAvDI;;;;EA4DJ,cAAA;EArDE;;;;EA0DF,aAAA,GAAgB,qBAAA;EAxDU;;;EA4D1B,kBAAA,GAAqB,0BAA0B;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../core/src/validation/types.ts"],"mappings":";;;;;;;YA2BmB,UAAA;IACf,IAAA,GAAO,YAAA,cAA0B,aAAA;IACjC,SAAA,GACE,cAAA,GAAiB,aAAA,EACjB,YAAA,cACG,cAAA;MACH,SAAA,EAAW,aAAA;IAAA;EAAA;EAAA,UAIL,eAAA;IAWC;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAcK;IATT,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;IAcK;IATT,uBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,kCAAA;MACpB,YAAA;IAAA;IAgBmB;IAXvB,qBAAA,CACE,KAAA,EAAO,UAAA,CAAW,KAAA,YAClB,WAAA,GAAc,OAAA,CAAQ,gCAAA;MACpB,YAAA;IAAA;EAAA;EAAA,UAMI,eAAA;IACR,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;IACvB,uBAAA,EAAyB,eAAA;IACzB,qBAAA,EAAuB,eAAA;EAAA;AAAA;AAAA,KAYf,uBAAA;EAvDN;;;;;;EA+DJ,gBAAA;EAvDkB;;;;;;EA8DlB,cAAA;EAvDI;;;;EA4DJ,cAAA;EArDE;;;;EA0DF,aAAA,GAAgB,qBAAA;EAxDU;;;EA4D1B,kBAAA,GAAqB,0BAA0B;AAAA"}
@@ -3,7 +3,7 @@ import config from "@mongez/config";
3
3
  import { log } from "@warlock.js/logger";
4
4
  import { merge } from "@mongez/reinforcements";
5
5
 
6
- //#region ../@warlock.js/core/src/validation/validateAll.ts
6
+ //#region ../core/src/validation/validateAll.ts
7
7
  function resolveDataToParse(validating, request) {
8
8
  if (!validating || validating.length === 0) return request.allExceptParams();
9
9
  let data = {};
@@ -1 +1 @@
1
- {"version":3,"file":"validateAll.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/validation/validateAll.ts"],"sourcesContent":["import config from \"@mongez/config\";\nimport { merge } from \"@mongez/reinforcements\";\nimport { log } from \"@warlock.js/logger\";\nimport { v } from \"@warlock.js/seal\";\nimport type { Request, Response } from \"../http\";\nimport type { RequestHandlerValidation, Route } from \"../router\";\n\nfunction resolveDataToParse(validating: RequestHandlerValidation[\"validating\"], request: Request) {\n if (!validating || validating.length === 0) return request.allExceptParams();\n\n let data: any = {};\n\n for (const validatingType of validating) {\n if (validatingType === \"body\") {\n data = merge(data, request.body);\n }\n\n if (validatingType === \"query\") {\n data = merge(data, request.query);\n }\n\n if (validatingType === \"params\") {\n data = merge(data, request.params);\n }\n\n if (validatingType === \"headers\") {\n data = merge(data, request.headers);\n }\n }\n\n return data;\n}\n\n/**\n * Validate the request route\n */\nexport async function validateAll(\n validation: Route[\"handler\"][\"validation\"],\n request: Request,\n response: Response,\n) {\n if (!validation) return;\n\n log.info(\"validation\", \"started\", \"Start validating the request\");\n\n if (validation.schema) {\n log.info(\"validation\", \"schema\", \"Validating request schema\");\n try {\n const data = resolveDataToParse(validation.validating, request);\n const result = await v.validate(validation.schema, data);\n\n if (result.data && result.isValid) {\n request.setValidatedData(result.data);\n }\n\n if (!result.isValid) {\n log.warn(\"validation\", \"schema\", \"Schema Validation failed\");\n return response.failedSchema(result);\n }\n\n log.success(\"validation\", \"schema\", \"Schema Validation passed\");\n } catch (error) {\n log.warn(\"app.validation\", \"error\", error);\n throw error;\n }\n }\n\n if (validation.validate) {\n const result = await validation.validate(request, response);\n\n // if there is a result, it means it failed\n if (result) {\n // check if there is no response status code, then set it to config value or 400 as default\n if (!response.statusCode) {\n response.setStatusCode(config.get(\"validation.responseStatus\", 400));\n }\n\n log.info(\"validation\", \"failed\", \"Validation failed\");\n\n return result;\n }\n\n log.info(\"validation\", \"passed\", \"Validation passed\");\n }\n}\n"],"mappings":";;;;;;AAOA,SAAS,mBAAmB,YAAoD,SAAkB;CAChG,IAAI,CAAC,cAAc,WAAW,WAAW,GAAG,OAAO,QAAQ,gBAAgB;CAE3E,IAAI,OAAY,CAAC;CAEjB,KAAK,MAAM,kBAAkB,YAAY;EACvC,IAAI,mBAAmB,QACrB,OAAO,MAAM,MAAM,QAAQ,IAAI;EAGjC,IAAI,mBAAmB,SACrB,OAAO,MAAM,MAAM,QAAQ,KAAK;EAGlC,IAAI,mBAAmB,UACrB,OAAO,MAAM,MAAM,QAAQ,MAAM;EAGnC,IAAI,mBAAmB,WACrB,OAAO,MAAM,MAAM,QAAQ,OAAO;CAEtC;CAEA,OAAO;AACT;;;;AAKA,eAAsB,YACpB,YACA,SACA,UACA;CACA,IAAI,CAAC,YAAY;CAEjB,IAAI,KAAK,cAAc,WAAW,8BAA8B;CAEhE,IAAI,WAAW,QAAQ;EACrB,IAAI,KAAK,cAAc,UAAU,2BAA2B;EAC5D,IAAI;GACF,MAAM,OAAO,mBAAmB,WAAW,YAAY,OAAO;GAC9D,MAAM,SAAS,MAAM,EAAE,SAAS,WAAW,QAAQ,IAAI;GAEvD,IAAI,OAAO,QAAQ,OAAO,SACxB,QAAQ,iBAAiB,OAAO,IAAI;GAGtC,IAAI,CAAC,OAAO,SAAS;IACnB,IAAI,KAAK,cAAc,UAAU,0BAA0B;IAC3D,OAAO,SAAS,aAAa,MAAM;GACrC;GAEA,IAAI,QAAQ,cAAc,UAAU,0BAA0B;EAChE,SAAS,OAAO;GACd,IAAI,KAAK,kBAAkB,SAAS,KAAK;GACzC,MAAM;EACR;CACF;CAEA,IAAI,WAAW,UAAU;EACvB,MAAM,SAAS,MAAM,WAAW,SAAS,SAAS,QAAQ;EAG1D,IAAI,QAAQ;GAEV,IAAI,CAAC,SAAS,YACZ,SAAS,cAAc,OAAO,IAAI,6BAA6B,GAAG,CAAC;GAGrE,IAAI,KAAK,cAAc,UAAU,mBAAmB;GAEpD,OAAO;EACT;EAEA,IAAI,KAAK,cAAc,UAAU,mBAAmB;CACtD;AACF"}
1
+ {"version":3,"file":"validateAll.mjs","names":[],"sources":["../../../../../../../core/src/validation/validateAll.ts"],"sourcesContent":["import config from \"@mongez/config\";\nimport { merge } from \"@mongez/reinforcements\";\nimport { log } from \"@warlock.js/logger\";\nimport { v } from \"@warlock.js/seal\";\nimport type { Request, Response } from \"../http\";\nimport type { RequestHandlerValidation, Route } from \"../router\";\n\nfunction resolveDataToParse(validating: RequestHandlerValidation[\"validating\"], request: Request) {\n if (!validating || validating.length === 0) return request.allExceptParams();\n\n let data: any = {};\n\n for (const validatingType of validating) {\n if (validatingType === \"body\") {\n data = merge(data, request.body);\n }\n\n if (validatingType === \"query\") {\n data = merge(data, request.query);\n }\n\n if (validatingType === \"params\") {\n data = merge(data, request.params);\n }\n\n if (validatingType === \"headers\") {\n data = merge(data, request.headers);\n }\n }\n\n return data;\n}\n\n/**\n * Validate the request route\n */\nexport async function validateAll(\n validation: Route[\"handler\"][\"validation\"],\n request: Request,\n response: Response,\n) {\n if (!validation) return;\n\n log.info(\"validation\", \"started\", \"Start validating the request\");\n\n if (validation.schema) {\n log.info(\"validation\", \"schema\", \"Validating request schema\");\n try {\n const data = resolveDataToParse(validation.validating, request);\n const result = await v.validate(validation.schema, data);\n\n if (result.data && result.isValid) {\n request.setValidatedData(result.data);\n }\n\n if (!result.isValid) {\n log.warn(\"validation\", \"schema\", \"Schema Validation failed\");\n return response.failedSchema(result);\n }\n\n log.success(\"validation\", \"schema\", \"Schema Validation passed\");\n } catch (error) {\n log.warn(\"app.validation\", \"error\", error);\n throw error;\n }\n }\n\n if (validation.validate) {\n const result = await validation.validate(request, response);\n\n // if there is a result, it means it failed\n if (result) {\n // check if there is no response status code, then set it to config value or 400 as default\n if (!response.statusCode) {\n response.setStatusCode(config.get(\"validation.responseStatus\", 400));\n }\n\n log.info(\"validation\", \"failed\", \"Validation failed\");\n\n return result;\n }\n\n log.info(\"validation\", \"passed\", \"Validation passed\");\n }\n}\n"],"mappings":";;;;;;AAOA,SAAS,mBAAmB,YAAoD,SAAkB;CAChG,IAAI,CAAC,cAAc,WAAW,WAAW,GAAG,OAAO,QAAQ,gBAAgB;CAE3E,IAAI,OAAY,CAAC;CAEjB,KAAK,MAAM,kBAAkB,YAAY;EACvC,IAAI,mBAAmB,QACrB,OAAO,MAAM,MAAM,QAAQ,IAAI;EAGjC,IAAI,mBAAmB,SACrB,OAAO,MAAM,MAAM,QAAQ,KAAK;EAGlC,IAAI,mBAAmB,UACrB,OAAO,MAAM,MAAM,QAAQ,MAAM;EAGnC,IAAI,mBAAmB,WACrB,OAAO,MAAM,MAAM,QAAQ,OAAO;CAEtC;CAEA,OAAO;AACT;;;;AAKA,eAAsB,YACpB,YACA,SACA,UACA;CACA,IAAI,CAAC,YAAY;CAEjB,IAAI,KAAK,cAAc,WAAW,8BAA8B;CAEhE,IAAI,WAAW,QAAQ;EACrB,IAAI,KAAK,cAAc,UAAU,2BAA2B;EAC5D,IAAI;GACF,MAAM,OAAO,mBAAmB,WAAW,YAAY,OAAO;GAC9D,MAAM,SAAS,MAAM,EAAE,SAAS,WAAW,QAAQ,IAAI;GAEvD,IAAI,OAAO,QAAQ,OAAO,SACxB,QAAQ,iBAAiB,OAAO,IAAI;GAGtC,IAAI,CAAC,OAAO,SAAS;IACnB,IAAI,KAAK,cAAc,UAAU,0BAA0B;IAC3D,OAAO,SAAS,aAAa,MAAM;GACrC;GAEA,IAAI,QAAQ,cAAc,UAAU,0BAA0B;EAChE,SAAS,OAAO;GACd,IAAI,KAAK,kBAAkB,SAAS,KAAK;GACzC,MAAM;EACR;CACF;CAEA,IAAI,WAAW,UAAU;EACvB,MAAM,SAAS,MAAM,WAAW,SAAS,SAAS,QAAQ;EAG1D,IAAI,QAAQ;GAEV,IAAI,CAAC,SAAS,YACZ,SAAS,cAAc,OAAO,IAAI,6BAA6B,GAAG,CAAC;GAGrE,IAAI,KAAK,cAAc,UAAU,mBAAmB;GAEpD,OAAO;EACT;EAEA,IAAI,KAAK,cAAc,UAAU,mBAAmB;CACtD;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BaseValidator, FileSizeOption, JsonSchemaResult, JsonSchemaTarget } from "@warlock.js/seal";
2
2
 
3
- //#region ../@warlock.js/core/src/validation/validators/file-validator.d.ts
3
+ //#region ../core/src/validation/validators/file-validator.d.ts
4
4
  declare const uploadedFileMetadataSchema: any;
5
5
  /**
6
6
  * File validator class
@@ -1 +1 @@
1
- {"version":3,"file":"file-validator.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/validators/file-validator.ts"],"mappings":";;;cAea,0BAAA;AAAb;;;AAAA,cAaa,aAAA,SAAsB,aAAA;cACd,YAAA;EADR;;;EASJ,WAAA,CAAY,KAAA;EAUkD;EAL9D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAmBF;EAd5B,MAAA,CAAO,UAAA,qBAA+B,YAAA,YAAwB,aAAA;EA8BjC;EAvB7B,QAAA,CAAS,SAAA,qBAA8B,YAAA,YAAwB,aAAA;EAkCA;EA3B/D,GAAA,CAAI,YAAA,YAAwB,aAAA;EAkC+B;EA7B3D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAkCiC;EAvB/D,IAAA,CAAK,YAAA,YAAwB,aAAA;EAmCmB;EAxBhD,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAsCb;EA/BlD,GAAA,CAAI,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EA+CxB;EA1CnC,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAiEI;EA1DnE,GAAA,CAAI,IAAA,UAAc,YAAA,YAAwB,aAAA;EA/EH;EAoFvC,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EApFtB;EA2F1B,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EA1FpC;EAiGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EAzFtC;EAgGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EA3F5C;;;EAoGN,MAAA,CAAO,iBAAA,WAA4B,aAAA;EA/FG;;;;;;;;;;;;;;;EAsH7B,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
1
+ {"version":3,"file":"file-validator.d.mts","names":[],"sources":["../../../../../../../../core/src/validation/validators/file-validator.ts"],"mappings":";;;cAea,0BAAA;AAAb;;;AAAA,cAaa,aAAA,SAAsB,aAAA;cACd,YAAA;EADR;;;EASJ,WAAA,CAAY,KAAA;EAUkD;EAL9D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAmBF;EAd5B,MAAA,CAAO,UAAA,qBAA+B,YAAA,YAAwB,aAAA;EA8BjC;EAvB7B,QAAA,CAAS,SAAA,qBAA8B,YAAA,YAAwB,aAAA;EAkCA;EA3B/D,GAAA,CAAI,YAAA,YAAwB,aAAA;EAkC+B;EA7B3D,KAAA,CAAM,YAAA,YAAwB,aAAA;EAkCiC;EAvB/D,IAAA,CAAK,YAAA,YAAwB,aAAA;EAmCmB;EAxBhD,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAsCb;EA/BlD,GAAA,CAAI,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EA+CxB;EA1CnC,OAAA,CAAQ,IAAA,WAAe,cAAA,EAAgB,YAAA,YAAwB,aAAA;EAiEI;EA1DnE,GAAA,CAAI,IAAA,UAAc,YAAA,YAAwB,aAAA;EA/EH;EAoFvC,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EApFtB;EA2F1B,QAAA,CAAS,KAAA,UAAe,YAAA,YAAwB,aAAA;EA1FpC;EAiGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EAzFtC;EAgGZ,SAAA,CAAU,MAAA,UAAgB,YAAA,YAAwB,aAAA;EA3F5C;;;EAoGN,MAAA,CAAO,iBAAA,WAA4B,aAAA;EA/FG;;;;;;;;;;;;;;;EAsH7B,YAAA,CAAa,MAAA,GAAQ,gBAAA,GAAqC,gBAAA;AAAA"}
@@ -4,7 +4,7 @@ import { fileExtensionRule, fileRule, fileTypeRule, imageRule } from "../file/fi
4
4
  import "../file/index.mjs";
5
5
  import { BaseValidator, maxFileSizeRule, maxHeightRule, maxWidthRule, minFileSizeRule, minHeightRule, minWidthRule, resolveFileSize, v } from "@warlock.js/seal";
6
6
 
7
- //#region ../@warlock.js/core/src/validation/validators/file-validator.ts
7
+ //#region ../core/src/validation/validators/file-validator.ts
8
8
  const uploadedFileMetadataSchema = v.object({
9
9
  location: v.string().oneOf(["local", "cloud"]),
10
10
  width: v.int().positive(),
@@ -1 +1 @@
1
- {"version":3,"file":"file-validator.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/validation/validators/file-validator.ts"],"sourcesContent":["import type { FileSizeOption, JsonSchemaResult, JsonSchemaTarget } from \"@warlock.js/seal\";\nimport {\n BaseValidator,\n maxFileSizeRule,\n maxHeightRule,\n maxWidthRule,\n minFileSizeRule,\n minHeightRule,\n minWidthRule,\n resolveFileSize,\n v,\n} from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\nimport { fileExtensionRule, fileRule, fileTypeRule, imageRule } from \"../file\";\n\nexport const uploadedFileMetadataSchema = v.object({\n location: v.string().oneOf([\"local\", \"cloud\"]),\n width: v.int().positive(),\n height: v.int().positive(),\n size: v.int().positive(),\n mimeType: v.string(),\n extension: v.string(),\n name: v.string(),\n});\n\n/**\n * File validator class\n */\nexport class FileValidator extends BaseValidator {\n public constructor(errorMessage?: string) {\n super();\n this.addMutableRule(fileRule, errorMessage);\n }\n\n /**\n * Check if value is a File type\n */\n public matchesType(value: any): boolean {\n return value instanceof UploadedFile;\n }\n\n /** Value must be an image */\n public image(errorMessage?: string): FileValidator {\n return this.addRule(imageRule, errorMessage);\n }\n\n /** Accept specific file extensions */\n public accept(extensions: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileExtensionRule, errorMessage, {\n extensions,\n });\n }\n\n /** Allow specific MIME types */\n public mimeType(mimeTypes: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileTypeRule, errorMessage, {\n mimeTypes,\n });\n }\n\n /** Allow only pdf files */\n public pdf(errorMessage?: string): FileValidator {\n return this.mimeType(\"application/pdf\", errorMessage);\n }\n\n /** Allow only excel files */\n public excel(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/vnd.ms-excel\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n ],\n errorMessage,\n );\n }\n\n /** Allow only word files */\n public word(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n errorMessage,\n );\n }\n\n /** Minimum file size */\n public minSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(minFileSizeRule, errorMessage, {\n minSize: resolveFileSize(size),\n });\n }\n\n /** @alias minSize */\n public min(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.minSize(size, errorMessage);\n }\n\n /** Maximum file size */\n public maxSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(maxFileSizeRule, errorMessage, {\n maxSize: resolveFileSize(size),\n });\n }\n\n /** @alias maxSize */\n public max(size: number, errorMessage?: string): FileValidator {\n return this.maxSize(size, errorMessage);\n }\n\n /** Minimum image width */\n public minWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(minWidthRule, errorMessage, {\n minWidth: width,\n });\n }\n\n /** Maximum image width */\n public maxWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(maxWidthRule, errorMessage, {\n maxWidth: width,\n });\n }\n\n /** Minimum image height */\n public minHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(minHeightRule, errorMessage, {\n minHeight: height,\n });\n }\n\n /** Maximum image height */\n public maxHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(maxHeightRule, errorMessage, {\n maxHeight: height,\n });\n }\n\n /**\n * Save the file and return it as a string\n */\n public saveTo(relativeDirectory: string): FileValidator {\n return this.addTransformer(async (file: UploadedFile) => {\n const output = await file.save(relativeDirectory);\n\n return output.path;\n });\n }\n\n /**\n * @inheritdoc\n *\n * File uploads are not natively representable in JSON Schema.\n * The output varies by target:\n * - `openapi-3.0` → `{ type: \"string\", format: \"binary\" }` (standard for multipart/form-data uploads)\n * - `draft-2020-12` → `{ type: \"string\", contentEncoding: \"binary\" }`\n * - `draft-07` → `{}` (no standard binary representation — permissive fallback)\n *\n * @example\n * ```ts\n * v.file().toJsonSchema(\"openapi-3.0\")\n * // → { type: \"string\", format: \"binary\" }\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n if (target === \"openapi-3.0\") {\n return { type: \"string\", format: \"binary\" };\n }\n\n if (target === \"draft-2020-12\") {\n return { type: \"string\", contentEncoding: \"binary\" };\n }\n\n // draft-07: no standard binary representation\n return {};\n }\n}\n"],"mappings":";;;;;;;AAeA,MAAa,6BAA6B,EAAE,OAAO;CACjD,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC;CAC7C,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS;CACxB,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS;CACzB,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS;CACvB,UAAU,EAAE,OAAO;CACnB,WAAW,EAAE,OAAO;CACpB,MAAM,EAAE,OAAO;AACjB,CAAC;;;;AAKD,IAAa,gBAAb,cAAmC,cAAc;CAC/C,AAAO,YAAY,cAAuB;EACxC,MAAM;EACN,KAAK,eAAe,UAAU,YAAY;CAC5C;;;;CAKA,AAAO,YAAY,OAAqB;EACtC,OAAO,iBAAiB;CAC1B;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,QAAQ,WAAW,YAAY;CAC7C;;CAGA,AAAO,OAAO,YAA+B,cAAsC;EACjF,OAAO,KAAK,QAAQ,mBAAmB,cAAc,EACnD,WACF,CAAC;CACH;;CAGA,AAAO,SAAS,WAA8B,cAAsC;EAClF,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UACF,CAAC;CACH;;CAGA,AAAO,IAAI,cAAsC;EAC/C,OAAO,KAAK,SAAS,mBAAmB,YAAY;CACtD;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,SACV,CACE,4BACA,mEACF,GACA,YACF;CACF;;CAGA,AAAO,KAAK,cAAsC;EAChD,OAAO,KAAK,SACV,CACE,sBACA,yEACF,GACA,YACF;CACF;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAA+B,cAAsC;EAC9E,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAAc,cAAsC;EAC7D,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;;;CAKA,AAAO,OAAO,mBAA0C;EACtD,OAAO,KAAK,eAAe,OAAO,SAAuB;GAGvD,QAAO,MAFc,KAAK,KAAK,iBAAiB,EAEnC,CAAC;EAChB,CAAC;CACH;;;;;;;;;;;;;;;;CAiBA,AAAgB,aAAa,SAA2B,iBAAmC;EACzF,IAAI,WAAW,eACb,OAAO;GAAE,MAAM;GAAU,QAAQ;EAAS;EAG5C,IAAI,WAAW,iBACb,OAAO;GAAE,MAAM;GAAU,iBAAiB;EAAS;EAIrD,OAAO,CAAC;CACV;AACF"}
1
+ {"version":3,"file":"file-validator.mjs","names":[],"sources":["../../../../../../../../core/src/validation/validators/file-validator.ts"],"sourcesContent":["import type { FileSizeOption, JsonSchemaResult, JsonSchemaTarget } from \"@warlock.js/seal\";\nimport {\n BaseValidator,\n maxFileSizeRule,\n maxHeightRule,\n maxWidthRule,\n minFileSizeRule,\n minHeightRule,\n minWidthRule,\n resolveFileSize,\n v,\n} from \"@warlock.js/seal\";\nimport { UploadedFile } from \"../../http\";\nimport { fileExtensionRule, fileRule, fileTypeRule, imageRule } from \"../file\";\n\nexport const uploadedFileMetadataSchema = v.object({\n location: v.string().oneOf([\"local\", \"cloud\"]),\n width: v.int().positive(),\n height: v.int().positive(),\n size: v.int().positive(),\n mimeType: v.string(),\n extension: v.string(),\n name: v.string(),\n});\n\n/**\n * File validator class\n */\nexport class FileValidator extends BaseValidator {\n public constructor(errorMessage?: string) {\n super();\n this.addMutableRule(fileRule, errorMessage);\n }\n\n /**\n * Check if value is a File type\n */\n public matchesType(value: any): boolean {\n return value instanceof UploadedFile;\n }\n\n /** Value must be an image */\n public image(errorMessage?: string): FileValidator {\n return this.addRule(imageRule, errorMessage);\n }\n\n /** Accept specific file extensions */\n public accept(extensions: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileExtensionRule, errorMessage, {\n extensions,\n });\n }\n\n /** Allow specific MIME types */\n public mimeType(mimeTypes: string | string[], errorMessage?: string): FileValidator {\n return this.addRule(fileTypeRule, errorMessage, {\n mimeTypes,\n });\n }\n\n /** Allow only pdf files */\n public pdf(errorMessage?: string): FileValidator {\n return this.mimeType(\"application/pdf\", errorMessage);\n }\n\n /** Allow only excel files */\n public excel(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/vnd.ms-excel\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n ],\n errorMessage,\n );\n }\n\n /** Allow only word files */\n public word(errorMessage?: string): FileValidator {\n return this.mimeType(\n [\n \"application/msword\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n errorMessage,\n );\n }\n\n /** Minimum file size */\n public minSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(minFileSizeRule, errorMessage, {\n minSize: resolveFileSize(size),\n });\n }\n\n /** @alias minSize */\n public min(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.minSize(size, errorMessage);\n }\n\n /** Maximum file size */\n public maxSize(size: number | FileSizeOption, errorMessage?: string): FileValidator {\n return this.addRule(maxFileSizeRule, errorMessage, {\n maxSize: resolveFileSize(size),\n });\n }\n\n /** @alias maxSize */\n public max(size: number, errorMessage?: string): FileValidator {\n return this.maxSize(size, errorMessage);\n }\n\n /** Minimum image width */\n public minWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(minWidthRule, errorMessage, {\n minWidth: width,\n });\n }\n\n /** Maximum image width */\n public maxWidth(width: number, errorMessage?: string): FileValidator {\n return this.addRule(maxWidthRule, errorMessage, {\n maxWidth: width,\n });\n }\n\n /** Minimum image height */\n public minHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(minHeightRule, errorMessage, {\n minHeight: height,\n });\n }\n\n /** Maximum image height */\n public maxHeight(height: number, errorMessage?: string): FileValidator {\n return this.addRule(maxHeightRule, errorMessage, {\n maxHeight: height,\n });\n }\n\n /**\n * Save the file and return it as a string\n */\n public saveTo(relativeDirectory: string): FileValidator {\n return this.addTransformer(async (file: UploadedFile) => {\n const output = await file.save(relativeDirectory);\n\n return output.path;\n });\n }\n\n /**\n * @inheritdoc\n *\n * File uploads are not natively representable in JSON Schema.\n * The output varies by target:\n * - `openapi-3.0` → `{ type: \"string\", format: \"binary\" }` (standard for multipart/form-data uploads)\n * - `draft-2020-12` → `{ type: \"string\", contentEncoding: \"binary\" }`\n * - `draft-07` → `{}` (no standard binary representation — permissive fallback)\n *\n * @example\n * ```ts\n * v.file().toJsonSchema(\"openapi-3.0\")\n * // → { type: \"string\", format: \"binary\" }\n * ```\n */\n public override toJsonSchema(target: JsonSchemaTarget = \"draft-2020-12\"): JsonSchemaResult {\n if (target === \"openapi-3.0\") {\n return { type: \"string\", format: \"binary\" };\n }\n\n if (target === \"draft-2020-12\") {\n return { type: \"string\", contentEncoding: \"binary\" };\n }\n\n // draft-07: no standard binary representation\n return {};\n }\n}\n"],"mappings":";;;;;;;AAeA,MAAa,6BAA6B,EAAE,OAAO;CACjD,UAAU,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,SAAS,OAAO,CAAC;CAC7C,OAAO,EAAE,IAAI,CAAC,CAAC,SAAS;CACxB,QAAQ,EAAE,IAAI,CAAC,CAAC,SAAS;CACzB,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS;CACvB,UAAU,EAAE,OAAO;CACnB,WAAW,EAAE,OAAO;CACpB,MAAM,EAAE,OAAO;AACjB,CAAC;;;;AAKD,IAAa,gBAAb,cAAmC,cAAc;CAC/C,AAAO,YAAY,cAAuB;EACxC,MAAM;EACN,KAAK,eAAe,UAAU,YAAY;CAC5C;;;;CAKA,AAAO,YAAY,OAAqB;EACtC,OAAO,iBAAiB;CAC1B;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,QAAQ,WAAW,YAAY;CAC7C;;CAGA,AAAO,OAAO,YAA+B,cAAsC;EACjF,OAAO,KAAK,QAAQ,mBAAmB,cAAc,EACnD,WACF,CAAC;CACH;;CAGA,AAAO,SAAS,WAA8B,cAAsC;EAClF,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UACF,CAAC;CACH;;CAGA,AAAO,IAAI,cAAsC;EAC/C,OAAO,KAAK,SAAS,mBAAmB,YAAY;CACtD;;CAGA,AAAO,MAAM,cAAsC;EACjD,OAAO,KAAK,SACV,CACE,4BACA,mEACF,GACA,YACF;CACF;;CAGA,AAAO,KAAK,cAAsC;EAChD,OAAO,KAAK,SACV,CACE,sBACA,yEACF,GACA,YACF;CACF;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAA+B,cAAsC;EAC9E,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,QAAQ,MAA+B,cAAsC;EAClF,OAAO,KAAK,QAAQ,iBAAiB,cAAc,EACjD,SAAS,gBAAgB,IAAI,EAC/B,CAAC;CACH;;CAGA,AAAO,IAAI,MAAc,cAAsC;EAC7D,OAAO,KAAK,QAAQ,MAAM,YAAY;CACxC;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,SAAS,OAAe,cAAsC;EACnE,OAAO,KAAK,QAAQ,cAAc,cAAc,EAC9C,UAAU,MACZ,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;CAGA,AAAO,UAAU,QAAgB,cAAsC;EACrE,OAAO,KAAK,QAAQ,eAAe,cAAc,EAC/C,WAAW,OACb,CAAC;CACH;;;;CAKA,AAAO,OAAO,mBAA0C;EACtD,OAAO,KAAK,eAAe,OAAO,SAAuB;GAGvD,QAAO,MAFc,KAAK,KAAK,iBAAiB,EAEnC,CAAC;EAChB,CAAC;CACH;;;;;;;;;;;;;;;;CAiBA,AAAgB,aAAa,SAA2B,iBAAmC;EACzF,IAAI,WAAW,eACb,OAAO;GAAE,MAAM;GAAU,QAAQ;EAAS;EAG5C,IAAI,WAAW,iBACb,OAAO;GAAE,MAAM;GAAU,iBAAiB;EAAS;EAIrD,OAAO,CAAC;CACV;AACF"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/core/src/vite/lower-stage3-decorators.d.ts
1
+ //#region ../core/src/vite/lower-stage3-decorators.d.ts
2
2
  /**
3
3
  * The Vite/Vitest plugin object returned by {@link lowerStage3Decorators}.
4
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"lower-stage3-decorators.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/vite/lower-stage3-decorators.ts"],"mappings":";;AASA;;;;;;UAAiB,uBAAA;EACf,IAAA;EACA,OAAA;EACA,SAAA,CAAU,IAAA,UAAc,EAAA,WAAa,OAAO;IAAG,IAAA;IAAc,GAAA;EAAA;AAAA;AAoC/D;;;;AAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAhE,iBAAgB,qBAAA,IAAyB,uBAAuB"}
1
+ {"version":3,"file":"lower-stage3-decorators.d.mts","names":[],"sources":["../../../../../../../core/src/vite/lower-stage3-decorators.ts"],"mappings":";;AASA;;;;;;UAAiB,uBAAA;EACf,IAAA;EACA,OAAA;EACA,SAAA,CAAU,IAAA,UAAc,EAAA,WAAa,OAAO;IAAG,IAAA;IAAc,GAAA;EAAA;AAAA;AAoC/D;;;;AAAgE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAhE,iBAAgB,qBAAA,IAAyB,uBAAuB"}
@@ -1,6 +1,6 @@
1
1
  import { transform } from "esbuild";
2
2
 
3
- //#region ../@warlock.js/core/src/vite/lower-stage3-decorators.ts
3
+ //#region ../core/src/vite/lower-stage3-decorators.ts
4
4
  /**
5
5
  * Vite/Vitest plugin that lowers TC39 Stage-3 (native) decorators to plain JS
6
6
  * **before** the rest of the transform pipeline runs.
@@ -1 +1 @@
1
- {"version":3,"file":"lower-stage3-decorators.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/vite/lower-stage3-decorators.ts"],"sourcesContent":["import { transform } from \"esbuild\";\n\n/**\n * The Vite/Vitest plugin object returned by {@link lowerStage3Decorators}.\n *\n * Declared structurally so `@warlock.js/core` needn't take a `vite` dependency\n * just for one type — the shape is assignable to Vite's `PluginOption` wherever\n * it's placed in a config's `plugins` array.\n */\nexport interface DecoratorLoweringPlugin {\n name: string;\n enforce: \"pre\";\n transform(code: string, id: string): Promise<{ code: string; map: string } | null>;\n}\n\n/**\n * Vite/Vitest plugin that lowers TC39 Stage-3 (native) decorators to plain JS\n * **before** the rest of the transform pipeline runs.\n *\n * Cascade models declare relations with native decorators (`@RegisterModel`,\n * `@BelongsTo`, `@HasMany`, …). Vitest's bundled rolldown-vite transforms `.ts`\n * with **oxc**, and Vite's SSR `moduleRunnerTransform` rewrites the decorator's\n * import reference into `@(0, __vite_ssr_import__.RegisterModel)()` — invalid\n * decorator syntax that throws \"SyntaxError: Invalid or unexpected token\" on\n * every model load. oxc can only lower *legacy* decorators, and legacy lowering\n * would mangle the Stage-3 `(value, context)` signature these decorators rely on\n * (they read `context.kind` / `context.metadata`).\n *\n * esbuild lowers Stage-3 decorators correctly while preserving their runtime\n * semantics — the same transform the production `tsx`/build path uses, so a file\n * lowered here behaves identically in dev, test, and prod. Running `enforce:\n * \"pre\"` hands oxc / the SSR rewrite already-lowered, decorator-free code. Files\n * with no decorator skip esbuild entirely, so the fast path is untouched.\n *\n * Keep it **first** in the `plugins` array so it runs ahead of `@mongez/vite`\n * and Vite's core transform.\n *\n * @example\n * ```ts\n * // vite.config.ts / vitest.config.ts\n * import { lowerStage3Decorators } from \"@warlock.js/core\";\n * import { defineConfig } from \"vitest/config\";\n *\n * export default defineConfig({\n * plugins: [lowerStage3Decorators(), mongezVite()],\n * });\n * ```\n */\nexport function lowerStage3Decorators(): DecoratorLoweringPlugin {\n return {\n name: \"warlock:lower-stage3-decorators\",\n enforce: \"pre\",\n async transform(code, id) {\n const [filepath] = id.split(\"?\");\n\n if (!/\\.tsx?$/.test(filepath) || filepath.includes(\"/node_modules/\")) {\n return null;\n }\n\n // Cheap gate: only files that actually carry a decorator pay esbuild's cost.\n if (!/(^|\\n)\\s*@[A-Za-z_$]/.test(code)) {\n return null;\n }\n\n const result = await transform(code, {\n loader: filepath.endsWith(\".tsx\") ? \"tsx\" : \"ts\",\n format: \"esm\",\n target: \"es2022\",\n sourcemap: true,\n sourcefile: filepath,\n // Force native (Stage-3) semantics regardless of any ambient tsconfig\n // esbuild might otherwise honor.\n tsconfigRaw: { compilerOptions: { experimentalDecorators: false } },\n });\n\n return { code: result.code, map: result.map };\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,SAAgB,wBAAiD;CAC/D,OAAO;EACL,MAAM;EACN,SAAS;EACT,MAAM,UAAU,MAAM,IAAI;GACxB,MAAM,CAAC,YAAY,GAAG,MAAM,GAAG;GAE/B,IAAI,CAAC,UAAU,KAAK,QAAQ,KAAK,SAAS,SAAS,gBAAgB,GACjE,OAAO;GAIT,IAAI,CAAC,uBAAuB,KAAK,IAAI,GACnC,OAAO;GAGT,MAAM,SAAS,MAAM,UAAU,MAAM;IACnC,QAAQ,SAAS,SAAS,MAAM,IAAI,QAAQ;IAC5C,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,YAAY;IAGZ,aAAa,EAAE,iBAAiB,EAAE,wBAAwB,MAAM,EAAE;GACpE,CAAC;GAED,OAAO;IAAE,MAAM,OAAO;IAAM,KAAK,OAAO;GAAI;EAC9C;CACF;AACF"}
1
+ {"version":3,"file":"lower-stage3-decorators.mjs","names":[],"sources":["../../../../../../../core/src/vite/lower-stage3-decorators.ts"],"sourcesContent":["import { transform } from \"esbuild\";\n\n/**\n * The Vite/Vitest plugin object returned by {@link lowerStage3Decorators}.\n *\n * Declared structurally so `@warlock.js/core` needn't take a `vite` dependency\n * just for one type — the shape is assignable to Vite's `PluginOption` wherever\n * it's placed in a config's `plugins` array.\n */\nexport interface DecoratorLoweringPlugin {\n name: string;\n enforce: \"pre\";\n transform(code: string, id: string): Promise<{ code: string; map: string } | null>;\n}\n\n/**\n * Vite/Vitest plugin that lowers TC39 Stage-3 (native) decorators to plain JS\n * **before** the rest of the transform pipeline runs.\n *\n * Cascade models declare relations with native decorators (`@RegisterModel`,\n * `@BelongsTo`, `@HasMany`, …). Vitest's bundled rolldown-vite transforms `.ts`\n * with **oxc**, and Vite's SSR `moduleRunnerTransform` rewrites the decorator's\n * import reference into `@(0, __vite_ssr_import__.RegisterModel)()` — invalid\n * decorator syntax that throws \"SyntaxError: Invalid or unexpected token\" on\n * every model load. oxc can only lower *legacy* decorators, and legacy lowering\n * would mangle the Stage-3 `(value, context)` signature these decorators rely on\n * (they read `context.kind` / `context.metadata`).\n *\n * esbuild lowers Stage-3 decorators correctly while preserving their runtime\n * semantics — the same transform the production `tsx`/build path uses, so a file\n * lowered here behaves identically in dev, test, and prod. Running `enforce:\n * \"pre\"` hands oxc / the SSR rewrite already-lowered, decorator-free code. Files\n * with no decorator skip esbuild entirely, so the fast path is untouched.\n *\n * Keep it **first** in the `plugins` array so it runs ahead of `@mongez/vite`\n * and Vite's core transform.\n *\n * @example\n * ```ts\n * // vite.config.ts / vitest.config.ts\n * import { lowerStage3Decorators } from \"@warlock.js/core\";\n * import { defineConfig } from \"vitest/config\";\n *\n * export default defineConfig({\n * plugins: [lowerStage3Decorators(), mongezVite()],\n * });\n * ```\n */\nexport function lowerStage3Decorators(): DecoratorLoweringPlugin {\n return {\n name: \"warlock:lower-stage3-decorators\",\n enforce: \"pre\",\n async transform(code, id) {\n const [filepath] = id.split(\"?\");\n\n if (!/\\.tsx?$/.test(filepath) || filepath.includes(\"/node_modules/\")) {\n return null;\n }\n\n // Cheap gate: only files that actually carry a decorator pay esbuild's cost.\n if (!/(^|\\n)\\s*@[A-Za-z_$]/.test(code)) {\n return null;\n }\n\n const result = await transform(code, {\n loader: filepath.endsWith(\".tsx\") ? \"tsx\" : \"ts\",\n format: \"esm\",\n target: \"es2022\",\n sourcemap: true,\n sourcefile: filepath,\n // Force native (Stage-3) semantics regardless of any ambient tsconfig\n // esbuild might otherwise honor.\n tsconfigRaw: { compilerOptions: { experimentalDecorators: false } },\n });\n\n return { code: result.code, map: result.map };\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,SAAgB,wBAAiD;CAC/D,OAAO;EACL,MAAM;EACN,SAAS;EACT,MAAM,UAAU,MAAM,IAAI;GACxB,MAAM,CAAC,YAAY,GAAG,MAAM,GAAG;GAE/B,IAAI,CAAC,UAAU,KAAK,QAAQ,KAAK,SAAS,SAAS,gBAAgB,GACjE,OAAO;GAIT,IAAI,CAAC,uBAAuB,KAAK,IAAI,GACnC,OAAO;GAGT,MAAM,SAAS,MAAM,UAAU,MAAM;IACnC,QAAQ,SAAS,SAAS,MAAM,IAAI,QAAQ;IAC5C,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,YAAY;IAGZ,aAAa,EAAE,iBAAiB,EAAE,wBAAwB,MAAM,EAAE;GACpE,CAAC;GAED,OAAO;IAAE,MAAM,OAAO;IAAM,KAAK,OAAO;GAAI;EAC9C;CACF;AACF"}
@@ -1,4 +1,4 @@
1
- //#region ../@warlock.js/core/src/warlock-config/default-configurations.ts
1
+ //#region ../core/src/warlock-config/default-configurations.ts
2
2
  const defaultWarlockConfigurations = { build: {
3
3
  outdir: process.cwd() + "/dist",
4
4
  outFile: "app.js",
@@ -1 +1 @@
1
- {"version":3,"file":"default-configurations.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/warlock-config/default-configurations.ts"],"sourcesContent":["import { WarlockConfig } from \"./types\";\n\nexport const defaultWarlockConfigurations: WarlockConfig = {\n build: {\n outdir: process.cwd() + \"/dist\",\n outFile: \"app.js\",\n sourcemap: true,\n minify: true,\n },\n};\n"],"mappings":";AAEA,MAAa,+BAA8C,EACzD,OAAO;CACL,QAAQ,QAAQ,IAAI,IAAI;CACxB,SAAS;CACT,WAAW;CACX,QAAQ;AACV,EACF"}
1
+ {"version":3,"file":"default-configurations.mjs","names":[],"sources":["../../../../../../../core/src/warlock-config/default-configurations.ts"],"sourcesContent":["import { WarlockConfig } from \"./types\";\n\nexport const defaultWarlockConfigurations: WarlockConfig = {\n build: {\n outdir: process.cwd() + \"/dist\",\n outFile: \"app.js\",\n sourcemap: true,\n minify: true,\n },\n};\n"],"mappings":";AAEA,MAAa,+BAA8C,EACzD,OAAO;CACL,QAAQ,QAAQ,IAAI,IAAI;CACxB,SAAS;CACT,WAAW;CACX,QAAQ;AACV,EACF"}
@@ -1,6 +1,6 @@
1
1
  import { WarlockConfig } from "./types.mjs";
2
2
 
3
- //#region ../@warlock.js/core/src/warlock-config/define-config.d.ts
3
+ //#region ../core/src/warlock-config/define-config.d.ts
4
4
  declare function defineConfig(options: WarlockConfig): WarlockConfig;
5
5
  //#endregion
6
6
  export { defineConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"define-config.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/warlock-config/define-config.ts"],"mappings":";;;iBAIgB,YAAA,CAAa,OAAA,EAAS,aAAA,GAAa,aAAA"}
1
+ {"version":3,"file":"define-config.d.mts","names":[],"sources":["../../../../../../../core/src/warlock-config/define-config.ts"],"mappings":";;;iBAKgB,YAAA,CAAa,OAAA,EAAS,aAAA,GAQsB,aAAa"}
@@ -1,9 +1,13 @@
1
1
  import { defaultWarlockConfigurations } from "./default-configurations.mjs";
2
+ import { normalizeBuildConfig } from "./normalize-build-config.mjs";
2
3
  import { merge } from "@mongez/reinforcements";
3
4
 
4
- //#region ../@warlock.js/core/src/warlock-config/define-config.ts
5
+ //#region ../core/src/warlock-config/define-config.ts
5
6
  function defineConfig(options) {
6
- return merge(defaultWarlockConfigurations, options);
7
+ return merge(defaultWarlockConfigurations, options.build ? {
8
+ ...options,
9
+ build: normalizeBuildConfig(options.build)
10
+ } : options);
7
11
  }
8
12
 
9
13
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"define-config.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/warlock-config/define-config.ts"],"sourcesContent":["import { merge } from \"@mongez/reinforcements\";\nimport { defaultWarlockConfigurations } from \"./default-configurations\";\nimport type { WarlockConfig } from \"./types\";\n\nexport function defineConfig(options: WarlockConfig) {\n return merge(defaultWarlockConfigurations, options);\n}\n"],"mappings":";;;;AAIA,SAAgB,aAAa,SAAwB;CACnD,OAAO,MAAM,8BAA8B,OAAO;AACpD"}
1
+ {"version":3,"file":"define-config.mjs","names":[],"sources":["../../../../../../../core/src/warlock-config/define-config.ts"],"sourcesContent":["import { merge } from \"@mongez/reinforcements\";\nimport { defaultWarlockConfigurations } from \"./default-configurations\";\nimport { normalizeBuildConfig } from \"./normalize-build-config\";\nimport type { WarlockConfig } from \"./types\";\n\nexport function defineConfig(options: WarlockConfig) {\n // Fold `build.outDirectory` into `build.outdir` BEFORE merging. Afterwards\n // is too late: the defaults supply an `outdir`, so the alias could never\n // tell \"the user set outdir\" from \"the default did\" and would be dropped.\n const normalized: WarlockConfig = options.build\n ? { ...options, build: normalizeBuildConfig(options.build) }\n : options;\n\n return merge(defaultWarlockConfigurations, normalized) as WarlockConfig;\n}\n"],"mappings":";;;;;AAKA,SAAgB,aAAa,SAAwB;CAQnD,OAAO,MAAM,8BAJqB,QAAQ,QACtC;EAAE,GAAG;EAAS,OAAO,qBAAqB,QAAQ,KAAK;CAAE,IACzD,OAEiD;AACvD"}
@@ -0,0 +1,24 @@
1
+ //#region ../core/src/warlock-config/normalize-build-config.ts
2
+ /**
3
+ * Fold the `outDirectory` alias into the canonical `outdir`.
4
+ *
5
+ * `outDirectory` is the name the documentation used for several releases
6
+ * while the code only ever read `outdir`, so a config written from the docs
7
+ * was silently ignored and the bundle still landed in `dist/`. Accepting both
8
+ * keeps those configs working; `outdir` wins when both are set, since that is
9
+ * the name esbuild uses and the one we tell people to prefer.
10
+ *
11
+ * Returns the input untouched when there is nothing to fold, so the common
12
+ * case allocates nothing.
13
+ */
14
+ function normalizeBuildConfig(build) {
15
+ if (!build.outDirectory || build.outdir) return build;
16
+ return {
17
+ ...build,
18
+ outdir: build.outDirectory
19
+ };
20
+ }
21
+
22
+ //#endregion
23
+ export { normalizeBuildConfig };
24
+ //# sourceMappingURL=normalize-build-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-build-config.mjs","names":[],"sources":["../../../../../../../core/src/warlock-config/normalize-build-config.ts"],"sourcesContent":["import type { WarlockConfig } from \"./types\";\n\ntype BuildConfig = NonNullable<WarlockConfig[\"build\"]>;\n\n/**\n * Fold the `outDirectory` alias into the canonical `outdir`.\n *\n * `outDirectory` is the name the documentation used for several releases\n * while the code only ever read `outdir`, so a config written from the docs\n * was silently ignored and the bundle still landed in `dist/`. Accepting both\n * keeps those configs working; `outdir` wins when both are set, since that is\n * the name esbuild uses and the one we tell people to prefer.\n *\n * Returns the input untouched when there is nothing to fold, so the common\n * case allocates nothing.\n */\nexport function normalizeBuildConfig<T extends BuildConfig>(build: T): T {\n if (!build.outDirectory || build.outdir) {\n return build;\n }\n\n return { ...build, outdir: build.outDirectory };\n}\n"],"mappings":";;;;;;;;;;;;;AAgBA,SAAgB,qBAA4C,OAAa;CACvE,IAAI,CAAC,MAAM,gBAAgB,MAAM,QAC/B,OAAO;CAGT,OAAO;EAAE,GAAG;EAAO,QAAQ,MAAM;CAAa;AAChD"}
@@ -3,7 +3,7 @@ import { FileHealthCheckerContract } from "../dev-server/health-checker/file-hea
3
3
  import { MigrationConstructor } from "@warlock.js/cascade";
4
4
  import { BuildOptions } from "esbuild";
5
5
 
6
- //#region ../@warlock.js/core/src/warlock-config/types.d.ts
6
+ //#region ../core/src/warlock-config/types.d.ts
7
7
  /**
8
8
  * Resolved Warlock Configuration
9
9
  *
@@ -28,6 +28,17 @@ type WarlockConfig = {
28
28
  * @default dist
29
29
  */
30
30
  outdir?: string;
31
+ /**
32
+ * Alias for {@link outdir}.
33
+ *
34
+ * The docs described this name for several releases while the code only
35
+ * ever read `outdir`, so configs in the wild use it and were being
36
+ * silently ignored. Both are accepted; `outdir` wins if you set both.
37
+ *
38
+ * Prefer `outdir` — it is the name esbuild itself uses, and the value
39
+ * ends up there.
40
+ */
41
+ outDirectory?: string;
31
42
  /**
32
43
  * Output file
33
44
  *
@@ -92,6 +103,15 @@ type WarlockConfig = {
92
103
  * @default true
93
104
  */
94
105
  checkForUpdates?: boolean;
106
+ /**
107
+ * Restart the dev server automatically when a boot-time file changes —
108
+ * `warlock.config.ts` or any `.env*`. Neither can be hot-reloaded, so
109
+ * without a restart the running services keep using the old values.
110
+ *
111
+ * Set to `false` to go back to a warning telling you to restart yourself.
112
+ * @default true
113
+ */
114
+ restartOnConfigChange?: boolean;
95
115
  /**
96
116
  * Debug aid for the (always-on) persisted transpile cache. Names cache
97
117
  * files `<slug>.<hash>.js` (last 3 source path segments) and appends a
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/warlock-config/types.ts"],"mappings":";;;;;;;;AAUA;;;KAAY,aAAA;EAaF;;;EATR,MAAA;IACE,IAAA;IACA,IAAA;IACA,cAAA;EAAA;EAFA;;;EAQF,KAAA,GAAQ,IAAA,CAAK,YAAA;IAAL;;;;;IAMN,MAAA;IAwBF;;;;;IAlBE,OAAA;IAyCE;;;;;IAnCF,MAAA;IAsEF;;;;;IAhEE,SAAA;EAAA;EAyGO;AAAA;;EAnGT,GAAA;IACE,QAAA,GAAW,UAAA;EAAA;;;;EAMb,SAAA;;;;IAIE,KAAA;;;;;;MAME,OAAA;;;;;;MAMA,OAAA;IAAA;;;;IAKF,cAAA,GAAiB,yBAAA;;;;;IAKjB,eAAA;;;;;;;;;IASA,eAAA;;;;;;;;;;IAUA,mBAAA;EAAA;;;;EAMF,QAAA;;;;;;;;;;;;;;;;;;IAkBE,UAAA,GAAa,KAAA,CAAM,oBAAA;EAAA;;;;;;;EASrB,OAAA;;;;;;;IAOE,OAAA;;;;;;IAOA,OAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../core/src/warlock-config/types.ts"],"mappings":";;;;;;;;AAUA;;;KAAY,aAAA;EAaF;;;EATR,MAAA;IACE,IAAA;IACA,IAAA;IACA,cAAA;EAAA;EAFA;;;EAQF,KAAA,GAAQ,IAAA,CAAK,YAAA;IAAL;;;;;IAMN,MAAA;IA6BA;;;;;;;;;;IAlBA,YAAA;IAkEA;;;;;IA5DA,OAAA;IAuGmB;;;;;IAjGnB,MAAA;;;;;;IAMA,SAAA;EAAA;;;;EAMF,GAAA;IACE,QAAA,GAAW,UAAA;EAAA;;;;EAMb,SAAA;;;;IAIE,KAAA;;;;;;MAME,OAAA;;;;;;MAMA,OAAA;IAAA;;;;IAKF,cAAA,GAAiB,yBAAA;;;;;IAKjB,eAAA;;;;;;;;;IASA,eAAA;;;;;;;;;IASA,qBAAA;;;;;;;;;;IAUA,mBAAA;EAAA;;;;EAMF,QAAA;;;;;;;;;;;;;;;;;;IAkBE,UAAA,GAAa,KAAA,CAAM,oBAAA;EAAA;;;;;;;EASrB,OAAA;;;;;;;IAOE,OAAA;;;;;;IAOA,OAAA;EAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { WarlockConfig } from "./types.mjs";
2
2
 
3
- //#region ../@warlock.js/core/src/warlock-config/warlock-config.manager.d.ts
3
+ //#region ../core/src/warlock-config/warlock-config.manager.d.ts
4
4
  /**
5
5
  * True when `error` is Node's "this runtime can't import a `.ts` file" error.
6
6
  *