exisjs 0.5.12 → 0.6.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 (255) hide show
  1. package/README.md +1 -1
  2. package/dist/auth/jwt.d.ts +1 -1
  3. package/dist/auth/jwt.js +1 -1
  4. package/dist/auth/oauth/middleware.js +1 -1
  5. package/dist/auth/rbac.js +1 -1
  6. package/dist/cli/commands/build.d.ts.map +1 -1
  7. package/dist/cli/commands/build.js +9 -1
  8. package/dist/cli/commands/build.js.map +1 -1
  9. package/dist/cli/commands/dev.d.ts.map +1 -1
  10. package/dist/cli/commands/dev.js +69 -5
  11. package/dist/cli/commands/dev.js.map +1 -1
  12. package/dist/cli/commands/exports.js +2 -2
  13. package/dist/cli/commands/exports.js.map +1 -1
  14. package/dist/cli/commands/generate.d.ts +22 -1
  15. package/dist/cli/commands/generate.d.ts.map +1 -1
  16. package/dist/cli/commands/generate.js +110 -52
  17. package/dist/cli/commands/generate.js.map +1 -1
  18. package/dist/cli/commands/test.js +2 -2
  19. package/dist/cli/commands/test.js.map +1 -1
  20. package/dist/cli/index.js +53 -24
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/routes.js +1 -1
  23. package/dist/cli/routes.js.map +1 -1
  24. package/dist/config/config.d.ts.map +1 -0
  25. package/dist/config/config.js.map +1 -0
  26. package/dist/config/env.d.ts.map +1 -0
  27. package/dist/config/env.js.map +1 -0
  28. package/dist/config/index.d.ts +1 -1
  29. package/dist/config/index.d.ts.map +1 -1
  30. package/dist/config/index.js +3 -2
  31. package/dist/config/index.js.map +1 -1
  32. package/dist/config/types.d.ts +98 -0
  33. package/dist/config/types.d.ts.map +1 -0
  34. package/dist/config/types.js +3 -0
  35. package/dist/config/types.js.map +1 -0
  36. package/dist/cron/scheduler.d.ts.map +1 -1
  37. package/dist/cron/scheduler.js +3 -1
  38. package/dist/cron/scheduler.js.map +1 -1
  39. package/dist/database/adapters/mysql.d.ts +1 -1
  40. package/dist/database/adapters/mysql.js +1 -1
  41. package/dist/database/adapters/postgres.d.ts +1 -1
  42. package/dist/database/adapters/postgres.js +1 -1
  43. package/dist/database/adapters/sqlite.d.ts +1 -1
  44. package/dist/database/adapters/sqlite.js +1 -1
  45. package/dist/database/manager.d.ts +28 -1
  46. package/dist/database/manager.d.ts.map +1 -1
  47. package/dist/database/manager.js +69 -1
  48. package/dist/database/manager.js.map +1 -1
  49. package/dist/database/query-builder.d.ts +6 -0
  50. package/dist/database/query-builder.d.ts.map +1 -1
  51. package/dist/database/query-builder.js +56 -5
  52. package/dist/database/query-builder.js.map +1 -1
  53. package/dist/database/sql/index.d.ts +18 -0
  54. package/dist/database/sql/index.d.ts.map +1 -0
  55. package/dist/database/sql/index.js +74 -0
  56. package/dist/database/sql/index.js.map +1 -0
  57. package/dist/database/sql/schema.d.ts +38 -0
  58. package/dist/database/sql/schema.d.ts.map +1 -0
  59. package/dist/database/sql/schema.js +80 -0
  60. package/dist/database/sql/schema.js.map +1 -0
  61. package/dist/database/synchronizer.d.ts +12 -0
  62. package/dist/database/synchronizer.d.ts.map +1 -0
  63. package/dist/database/synchronizer.js +82 -0
  64. package/dist/database/synchronizer.js.map +1 -0
  65. package/dist/decorators/core/engine.d.ts +43 -0
  66. package/dist/decorators/core/engine.d.ts.map +1 -0
  67. package/dist/decorators/core/engine.js +77 -0
  68. package/dist/decorators/core/engine.js.map +1 -0
  69. package/dist/decorators/core/index.d.ts +3 -0
  70. package/dist/decorators/core/index.d.ts.map +1 -0
  71. package/dist/decorators/core/index.js +19 -0
  72. package/dist/decorators/core/index.js.map +1 -0
  73. package/dist/decorators/core/metadata.d.ts +23 -0
  74. package/dist/decorators/core/metadata.d.ts.map +1 -0
  75. package/dist/decorators/core/metadata.js +42 -0
  76. package/dist/decorators/core/metadata.js.map +1 -0
  77. package/dist/decorators/core.d.ts.map +1 -1
  78. package/dist/decorators/core.js +36 -49
  79. package/dist/decorators/core.js.map +1 -1
  80. package/dist/decorators/index.d.ts +1 -0
  81. package/dist/decorators/index.d.ts.map +1 -1
  82. package/dist/decorators/index.js +1 -0
  83. package/dist/decorators/index.js.map +1 -1
  84. package/dist/decorators/params.d.ts.map +1 -1
  85. package/dist/decorators/params.js +12 -14
  86. package/dist/decorators/params.js.map +1 -1
  87. package/dist/decorators/routing.d.ts.map +1 -1
  88. package/dist/decorators/routing.js +4 -6
  89. package/dist/decorators/routing.js.map +1 -1
  90. package/dist/dev/dep-graph.d.ts.map +1 -0
  91. package/dist/dev/dep-graph.js.map +1 -0
  92. package/dist/{server/dev-error-overlay.d.ts → dev/error-overlay.d.ts} +1 -1
  93. package/dist/dev/error-overlay.d.ts.map +1 -0
  94. package/dist/{server/dev-error-overlay.js → dev/error-overlay.js} +1 -1
  95. package/dist/dev/error-overlay.js.map +1 -0
  96. package/dist/dev/hot-reload.d.ts.map +1 -0
  97. package/dist/{server → dev}/hot-reload.js +14 -7
  98. package/dist/dev/hot-reload.js.map +1 -0
  99. package/dist/docs/ARCHITECTURE.md +5 -5
  100. package/dist/docs/content/controllers.mdx +1 -1
  101. package/dist/docs/content/cron.mdx +1 -1
  102. package/dist/docs/content/database.mdx +141 -72
  103. package/dist/docs/content/errors.mdx +1 -1
  104. package/dist/docs/content/gateways.mdx +1 -1
  105. package/dist/docs/content/providers.mdx +1 -1
  106. package/dist/docs/content/queues.mdx +2 -2
  107. package/dist/docs/content/structure.mdx +71 -21
  108. package/dist/docs/content/testing.mdx +2 -2
  109. package/dist/docs/integrations/openai.mdx +1 -1
  110. package/dist/docs/integrations/resend.mdx +1 -1
  111. package/dist/docs/integrations/s3.mdx +1 -1
  112. package/dist/docs/reference/cache.mdx +1 -1
  113. package/dist/docs/reference/config.mdx +2 -2
  114. package/dist/docs/reference/di.mdx +2 -2
  115. package/dist/docs/reference/middleware.mdx +4 -4
  116. package/dist/docs/reference/router.mdx +1 -1
  117. package/dist/docs/reference/validator.mdx +2 -2
  118. package/dist/{utils → error}/errors.d.ts.map +1 -1
  119. package/dist/{utils → error}/errors.js.map +1 -1
  120. package/dist/error/index.d.ts +1 -1
  121. package/dist/error/index.d.ts.map +1 -1
  122. package/dist/error/index.js +1 -1
  123. package/dist/error/index.js.map +1 -1
  124. package/dist/index.d.ts +3 -7
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +4 -13
  127. package/dist/index.js.map +1 -1
  128. package/dist/lib/start-repl.js +3 -5
  129. package/dist/lib/start-repl.js.map +1 -1
  130. package/dist/lib/start-server.js +5 -7
  131. package/dist/lib/start-server.js.map +1 -1
  132. package/dist/middleware/backpressure.js +1 -1
  133. package/dist/middleware/ip-filter.js +1 -1
  134. package/dist/middleware/middleware.d.ts +1 -1
  135. package/dist/middleware/middleware.d.ts.map +1 -1
  136. package/dist/middleware/middleware.js +1 -1
  137. package/dist/middleware/middleware.js.map +1 -1
  138. package/dist/middleware/rate-limit.js +1 -1
  139. package/dist/middleware/security.js +1 -1
  140. package/dist/observability/metrics.d.ts +2 -2
  141. package/dist/observability/metrics.d.ts.map +1 -1
  142. package/dist/observability/metrics.js +1 -1
  143. package/dist/observability/metrics.js.map +1 -1
  144. package/dist/observability/prometheus.d.ts +1 -1
  145. package/dist/observability/prometheus.js +1 -1
  146. package/dist/{utils/plugin.d.ts → plugin/define.d.ts} +1 -1
  147. package/dist/plugin/define.d.ts.map +1 -0
  148. package/dist/{utils/plugin.js → plugin/define.js} +1 -1
  149. package/dist/plugin/define.js.map +1 -0
  150. package/dist/plugin/index.d.ts +1 -1
  151. package/dist/plugin/index.d.ts.map +1 -1
  152. package/dist/plugin/index.js +2 -2
  153. package/dist/plugin/index.js.map +1 -1
  154. package/dist/{server/plugin-manager.d.ts → plugin/manager.d.ts} +2 -2
  155. package/dist/plugin/manager.d.ts.map +1 -0
  156. package/dist/{server/plugin-manager.js → plugin/manager.js} +1 -1
  157. package/dist/plugin/manager.js.map +1 -0
  158. package/dist/plugin/types.d.ts +23 -0
  159. package/dist/plugin/types.d.ts.map +1 -0
  160. package/dist/plugin/types.js +3 -0
  161. package/dist/plugin/types.js.map +1 -0
  162. package/dist/{server/queue-manager.d.ts → queue/manager.d.ts} +2 -2
  163. package/dist/queue/manager.d.ts.map +1 -0
  164. package/dist/{server/queue-manager.js → queue/manager.js} +1 -1
  165. package/dist/queue/manager.js.map +1 -0
  166. package/dist/{server → router}/controller-registrar.d.ts +1 -1
  167. package/dist/{server → router}/controller-registrar.d.ts.map +1 -1
  168. package/dist/{server → router}/controller-registrar.js +12 -3
  169. package/dist/router/controller-registrar.js.map +1 -0
  170. package/dist/router/index.d.ts +3 -3
  171. package/dist/router/index.js +5 -5
  172. package/dist/router/index.js.map +1 -1
  173. package/dist/{server/route.d.ts → router/route-builder.d.ts} +3 -3
  174. package/dist/router/route-builder.d.ts.map +1 -0
  175. package/dist/{server/route.js → router/route-builder.js} +1 -1
  176. package/dist/router/route-builder.js.map +1 -0
  177. package/dist/{server → router}/route-scanner.d.ts +2 -1
  178. package/dist/router/route-scanner.d.ts.map +1 -0
  179. package/dist/{server → router}/route-scanner.js +83 -13
  180. package/dist/router/route-scanner.js.map +1 -0
  181. package/dist/router/types.d.ts +89 -0
  182. package/dist/router/types.d.ts.map +1 -0
  183. package/dist/router/types.js +3 -0
  184. package/dist/router/types.js.map +1 -0
  185. package/dist/sanitize/index.d.ts +2 -2
  186. package/dist/sanitize/index.js +3 -3
  187. package/dist/sanitize/sanitize.d.ts.map +1 -0
  188. package/dist/sanitize/sanitize.js.map +1 -0
  189. package/dist/server/app.d.ts +7 -7
  190. package/dist/server/app.d.ts.map +1 -1
  191. package/dist/server/app.js +12 -12
  192. package/dist/server/app.js.map +1 -1
  193. package/dist/server/bootstrapper.d.ts.map +1 -1
  194. package/dist/server/bootstrapper.js +12 -0
  195. package/dist/server/bootstrapper.js.map +1 -1
  196. package/dist/server/request-handler.js +1 -1
  197. package/dist/server/request.js +1 -1
  198. package/dist/testing/mocks.d.ts.map +1 -1
  199. package/dist/testing/mocks.js +5 -0
  200. package/dist/testing/mocks.js.map +1 -1
  201. package/dist/types.d.ts +3 -203
  202. package/dist/types.d.ts.map +1 -1
  203. package/dist/types.js +17 -0
  204. package/dist/types.js.map +1 -1
  205. package/dist/validator/index.d.ts +2 -2
  206. package/dist/validator/index.d.ts.map +1 -1
  207. package/dist/validator/index.js +1 -1
  208. package/dist/validator/index.js.map +1 -1
  209. package/dist/validator/validator.d.ts.map +1 -0
  210. package/dist/validator/validator.js.map +1 -0
  211. package/dist/{server/ws-orchestrator.d.ts → websocket/orchestrator.d.ts} +2 -2
  212. package/dist/websocket/orchestrator.d.ts.map +1 -0
  213. package/dist/{server/ws-orchestrator.js → websocket/orchestrator.js} +3 -3
  214. package/dist/websocket/orchestrator.js.map +1 -0
  215. package/package.json +11 -3
  216. package/dist/server/controller-registrar.js.map +0 -1
  217. package/dist/server/dep-graph.d.ts.map +0 -1
  218. package/dist/server/dep-graph.js.map +0 -1
  219. package/dist/server/dev-error-overlay.d.ts.map +0 -1
  220. package/dist/server/dev-error-overlay.js.map +0 -1
  221. package/dist/server/hot-reload.d.ts.map +0 -1
  222. package/dist/server/hot-reload.js.map +0 -1
  223. package/dist/server/plugin-manager.d.ts.map +0 -1
  224. package/dist/server/plugin-manager.js.map +0 -1
  225. package/dist/server/queue-manager.d.ts.map +0 -1
  226. package/dist/server/queue-manager.js.map +0 -1
  227. package/dist/server/route-scanner.d.ts.map +0 -1
  228. package/dist/server/route-scanner.js.map +0 -1
  229. package/dist/server/route.d.ts.map +0 -1
  230. package/dist/server/route.js.map +0 -1
  231. package/dist/server/ws-orchestrator.d.ts.map +0 -1
  232. package/dist/server/ws-orchestrator.js.map +0 -1
  233. package/dist/utils/config.d.ts.map +0 -1
  234. package/dist/utils/config.js.map +0 -1
  235. package/dist/utils/env.d.ts.map +0 -1
  236. package/dist/utils/env.js.map +0 -1
  237. package/dist/utils/plugin.d.ts.map +0 -1
  238. package/dist/utils/plugin.js.map +0 -1
  239. package/dist/utils/sanitize.d.ts.map +0 -1
  240. package/dist/utils/sanitize.js.map +0 -1
  241. package/dist/utils/validator.d.ts.map +0 -1
  242. package/dist/utils/validator.js.map +0 -1
  243. /package/dist/{utils → config}/config.d.ts +0 -0
  244. /package/dist/{utils → config}/config.js +0 -0
  245. /package/dist/{utils → config}/env.d.ts +0 -0
  246. /package/dist/{utils → config}/env.js +0 -0
  247. /package/dist/{server → dev}/dep-graph.d.ts +0 -0
  248. /package/dist/{server → dev}/dep-graph.js +0 -0
  249. /package/dist/{server → dev}/hot-reload.d.ts +0 -0
  250. /package/dist/{utils → error}/errors.d.ts +0 -0
  251. /package/dist/{utils → error}/errors.js +0 -0
  252. /package/dist/{utils → sanitize}/sanitize.d.ts +0 -0
  253. /package/dist/{utils → sanitize}/sanitize.js +0 -0
  254. /package/dist/{utils → validator}/validator.d.ts +0 -0
  255. /package/dist/{utils → validator}/validator.js +0 -0
@@ -38,8 +38,8 @@ const router_1 = require("../router/router");
38
38
  const middleware_1 = require("../middleware/middleware");
39
39
  const index_1 = require("../validator/index");
40
40
  const node_url_1 = require("node:url");
41
- const context_1 = require("./context");
42
- const dev_error_overlay_1 = require("./dev-error-overlay");
41
+ const context_1 = require("../server/context");
42
+ const error_overlay_1 = require("../dev/error-overlay");
43
43
  class RouteScanner {
44
44
  constructor(app) {
45
45
  this.app = app;
@@ -47,6 +47,7 @@ class RouteScanner {
47
47
  this.routeMap = new Map();
48
48
  this.apiDir = null;
49
49
  this.hasGateways = false;
50
+ this.globalParadigm = null;
50
51
  }
51
52
  async loadAllRoutes() {
52
53
  for (const [filePath, entry] of this.lazyRoutes.entries()) {
@@ -116,10 +117,20 @@ class RouteScanner {
116
117
  const functionalControllerObj = unwrappedMod && unwrappedMod.__isController ? unwrappedMod : null;
117
118
  const routerInstance = routeMod.router || routeMod.default || routeMod;
118
119
  if (functionalControllerObj) {
120
+ if (this.globalParadigm === 'oop') {
121
+ console.error(`\x1b[31m[ExisJS] Mixed Paradigm Error:\x1b[0m File ${filePath} uses a Functional controller, but the app is already using Class-Based (OOP) controllers. Please use a single paradigm for the entire project.`);
122
+ process.exit(1);
123
+ }
124
+ this.globalParadigm = 'functional';
119
125
  const router = this.compileFunctionalController(functionalControllerObj);
120
126
  this.mountRouteWithSource(routePath, router, normalizedPath);
121
127
  }
122
128
  else if (isClassController(routerInstance)) {
129
+ if (this.globalParadigm === 'functional') {
130
+ console.error(`\x1b[31m[ExisJS] Mixed Paradigm Error:\x1b[0m File ${filePath} uses a Class-Based (OOP) controller, but the app is already using Functional controllers. Please use a single paradigm for the entire project.`);
131
+ process.exit(1);
132
+ }
133
+ this.globalParadigm = 'oop';
123
134
  this.app.registerControllers([routerInstance], routePath);
124
135
  }
125
136
  else {
@@ -132,13 +143,10 @@ class RouteScanner {
132
143
  const searchDirs = isProd
133
144
  ? [
134
145
  path.join(root, '.exis', 'server', 'src', 'http'),
135
- path.join(root, '.exis', 'server', 'http'),
136
146
  path.join(root, 'dist', 'src', 'http'),
137
- path.join(root, 'dist', 'http'),
138
147
  path.join(root, 'src', 'http'),
139
- path.join(root, 'http'),
140
148
  ]
141
- : [path.join(root, 'src', 'http'), path.join(root, 'http')];
149
+ : [path.join(root, 'src', 'http')];
142
150
  const appDirs = [];
143
151
  for (const dir of searchDirs) {
144
152
  try {
@@ -197,10 +205,14 @@ class RouteScanner {
197
205
  const relative = path
198
206
  .relative(process.cwd(), normalized)
199
207
  .replace(/\\/g, '/');
200
- console.log(` ${cc.green}✓${cc.reset} Lazy loaded ${cc.cyan}${relative}${cc.reset}`);
208
+ const now = new Date();
209
+ const h = String(now.getHours()).padStart(2, '0');
210
+ const m = String(now.getMinutes()).padStart(2, '0');
211
+ const s = String(now.getSeconds()).padStart(2, '0');
212
+ console.log(`${cc.gray}[${h}:${m}:${s}]${cc.reset} ${cc.green}HMR:${cc.reset} Lazy loaded ${cc.cyan}${relative}${cc.reset}`);
201
213
  }
202
214
  catch (err) {
203
- (0, dev_error_overlay_1.formatDevError)(err, normalized);
215
+ (0, error_overlay_1.formatDevError)(err, normalized);
204
216
  return;
205
217
  }
206
218
  await this.app.getRouter().handle(req, res, next);
@@ -228,6 +240,55 @@ class RouteScanner {
228
240
  }
229
241
  }
230
242
  }
243
+ // ─── Eager Paradigm Validation ──────────────────────────────────────────────
244
+ // Even in dev mode (lazy routes), pre-scan all route files at startup to
245
+ // detect mixed paradigms (OOP + functional) and throw a fatal error immediately.
246
+ if (isDev && this.globalParadigm === null) {
247
+ const CONTROLLER_PREFIX = Symbol.for('exisjs:controller_prefix');
248
+ const routeFiles = [...this.routeMap.keys()];
249
+ const oopFiles = [];
250
+ const functionalFiles = [];
251
+ const dynamicImport = new Function('specifier', 'return import(specifier)');
252
+ for (const file of routeFiles) {
253
+ try {
254
+ const url = (0, node_url_1.pathToFileURL)(file).href;
255
+ const mod = await dynamicImport(url);
256
+ const unwrapped = mod && mod.default && mod.default.default
257
+ ? mod.default.default
258
+ : mod && mod.default
259
+ ? mod.default
260
+ : mod;
261
+ if (unwrapped && unwrapped.__isController) {
262
+ functionalFiles.push(file);
263
+ }
264
+ else if (unwrapped &&
265
+ unwrapped.prototype &&
266
+ unwrapped.prototype[CONTROLLER_PREFIX] !== undefined) {
267
+ oopFiles.push(file);
268
+ }
269
+ }
270
+ catch {
271
+ // Skip files that fail to import (TS errors will be caught by tsc)
272
+ }
273
+ }
274
+ if (oopFiles.length > 0 && functionalFiles.length > 0) {
275
+ const path = await Promise.resolve().then(() => __importStar(require('node:path')));
276
+ const cwd = process.cwd();
277
+ const formatFiles = (files) => files
278
+ .map((f) => ` → ${path.relative(cwd, f).replace(/\\/g, '/')}`)
279
+ .join('\n');
280
+ console.error(`\n\x1b[31m[ExisJS] Mixed Paradigm Error\x1b[0m\n\n` +
281
+ `A project can only use one controller paradigm (OOP or Functional). Mixing them is not supported.\n\n` +
282
+ `\x1b[36mClass-Based (OOP) controllers found in:\x1b[0m\n${formatFiles(oopFiles)}\n\n` +
283
+ `\x1b[36mFunctional controllers found in:\x1b[0m\n${formatFiles(functionalFiles)}\n\n` +
284
+ `\x1b[33mFix: Choose one paradigm and update the files to match.\x1b[0m\n`);
285
+ process.exit(1);
286
+ }
287
+ if (oopFiles.length > 0)
288
+ this.globalParadigm = 'oop';
289
+ else if (functionalFiles.length > 0)
290
+ this.globalParadigm = 'functional';
291
+ }
231
292
  if (!this.hasGateways && !isProd) {
232
293
  console.warn('\x1b[33m[ExisJS] Warning: No gateway.ts found — applying default security headers.\x1b[0m');
233
294
  }
@@ -243,13 +304,10 @@ class RouteScanner {
243
304
  const searchDirs = isProd
244
305
  ? [
245
306
  path.join(root, '.exis', 'server', 'src', 'jobs'),
246
- path.join(root, '.exis', 'server', 'jobs'),
247
307
  path.join(root, 'dist', 'src', 'jobs'),
248
- path.join(root, 'dist', 'jobs'),
249
308
  path.join(root, 'src', 'jobs'),
250
- path.join(root, 'jobs'),
251
309
  ]
252
- : [path.join(root, 'src', 'jobs'), path.join(root, 'jobs')];
310
+ : [path.join(root, 'src', 'jobs')];
253
311
  let jobsDir = '';
254
312
  for (const dir of searchDirs) {
255
313
  try {
@@ -288,7 +346,9 @@ class RouteScanner {
288
346
  if (this.app._cronScheduler && jobDef.cron) {
289
347
  this.app._cronScheduler.registerJob(def);
290
348
  }
291
- this.app.log.info(`Registered background job: ${name}`);
349
+ if (!process.env.__EXIS_IS_RESTART) {
350
+ this.app.log.info(`Registered background job: ${name}`);
351
+ }
292
352
  }
293
353
  }
294
354
  catch (err) {
@@ -614,6 +674,11 @@ class RouteScanner {
614
674
  : mod;
615
675
  const functionalControllerObj = unwrappedMod && unwrappedMod.__isController ? unwrappedMod : null;
616
676
  if (functionalControllerObj) {
677
+ if (this.globalParadigm === 'oop') {
678
+ console.error(`\x1b[31m[ExisJS] Mixed Paradigm Error:\x1b[0m File ${filePath} uses a Functional controller, but the app is already using Class-Based (OOP) controllers. Please use a single paradigm for the entire project.`);
679
+ process.exit(1);
680
+ }
681
+ this.globalParadigm = 'functional';
617
682
  // ─── THE NEW PERFECT FUNCTIONAL CONTROLLER ───
618
683
  const compiledRouter = this.compileFunctionalController(functionalControllerObj);
619
684
  this.mountRouteWithSource(routePath, compiledRouter, filePath, prefixMiddlewares);
@@ -622,6 +687,11 @@ class RouteScanner {
622
687
  this.mountRouteWithSource(routePath, mod.router, filePath, prefixMiddlewares);
623
688
  }
624
689
  else if (unwrappedMod && isController(unwrappedMod)) {
690
+ if (this.globalParadigm === 'functional') {
691
+ console.error(`\x1b[31m[ExisJS] Mixed Paradigm Error:\x1b[0m File ${filePath} uses a Class-Based (OOP) controller, but the app is already using Functional controllers. Please use a single paradigm for the entire project.`);
692
+ process.exit(1);
693
+ }
694
+ this.globalParadigm = 'oop';
625
695
  this.app.registerControllers([unwrappedMod], routePath, prefixMiddlewares);
626
696
  }
627
697
  else if (unwrappedMod && isRouter(unwrappedMod)) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-scanner.js","sourceRoot":"","sources":["../../src/router/route-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import type { ExisRequest } from '../server/request';
2
+ import type { ExisResponse } from '../server/response';
3
+ import type { ExisWebSocket } from '../websocket/socket';
4
+ import type { ExisSSE } from '../server/sse';
5
+ export interface ExisUser {
6
+ }
7
+ export type Request<TBody = unknown, TQuery = Record<string, string>, TParams = Record<string, string>, TContext = Record<string, any>> = ExisRequest<TBody, TQuery, TParams> & TContext;
8
+ export type Response<TResponse = any> = ExisResponse<TResponse>;
9
+ export interface ExisFile {
10
+ fieldname: string;
11
+ filename: string;
12
+ mimetype: string;
13
+ data: Buffer;
14
+ size: number;
15
+ /**
16
+ * Helper method to securely save the file to disk.
17
+ * Automatically generates a unique, collision-free filename.
18
+ * @param destDirectory The directory to save the file in (e.g. 'uploads')
19
+ * @returns The absolute path to the saved file
20
+ */
21
+ saveToDisk: (destDirectory: string) => Promise<string>;
22
+ }
23
+ export interface CookieOptions {
24
+ maxAge?: number;
25
+ expires?: Date;
26
+ httpOnly?: boolean;
27
+ secure?: boolean;
28
+ sameSite?: 'Strict' | 'Lax' | 'None';
29
+ path?: string;
30
+ domain?: string;
31
+ }
32
+ export type NextFunction = (err?: Error) => void;
33
+ export type Handler<TBody = unknown, TQuery = Record<string, string>, TParams = Record<string, string>, TResponse = any, TContext = Record<string, any>> = (req: Request<TBody, TQuery, TParams, TContext>, res: Response<TResponse>, next: NextFunction) => (unknown extends TResponse ? any : TResponse) | Promise<unknown extends TResponse ? any : TResponse>;
34
+ export type ErrorHandler = (err: Error, req: Request, res: Response, next: NextFunction) => void | Promise<void>;
35
+ export type WsHandler<TBody = any, TQuery = any, TParams = any, TContext = Record<string, any>> = (ws: ExisWebSocket, req: Request<TBody, TQuery, TParams, TContext>) => void | Promise<void>;
36
+ export type SseHandler<TBody = any, TQuery = any, TParams = any, TContext = Record<string, any>> = (sse: ExisSSE, req: Request<TBody, TQuery, TParams, TContext>) => void | Promise<void>;
37
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'CONNECT' | 'TRACE' | 'QUERY' | 'ALL' | 'WS' | 'SSE';
38
+ export type RouteValidator<T> = {
39
+ parse: (val: unknown) => T;
40
+ transform?: unknown;
41
+ } | {
42
+ parse?: unknown;
43
+ transform: (val: unknown, meta?: any) => Promise<T> | T;
44
+ };
45
+ export interface RouteSchema<TBody = unknown, TQuery = unknown, TParams = unknown, TResponse = unknown, _TContext = Record<string, any>> {
46
+ response?: TResponse;
47
+ body?: RouteValidator<TBody>;
48
+ query?: RouteValidator<TQuery>;
49
+ params?: RouteValidator<TParams>;
50
+ host?: string | string[];
51
+ filters?: any | any[];
52
+ metadata?: Record<string, any>;
53
+ permissions?: string[];
54
+ }
55
+ export type InferZod<S> = S extends {
56
+ parse: (val: unknown) => infer U;
57
+ } ? U : S extends {
58
+ parse: (val: any) => infer U;
59
+ } ? U : unknown;
60
+ export type InferSchemaBody<S> = S extends {
61
+ body: infer B;
62
+ } ? InferZod<B> : unknown;
63
+ export type InferSchemaQuery<S> = S extends {
64
+ query: infer Q;
65
+ } ? InferZod<Q> extends unknown ? unknown extends InferZod<Q> ? Record<string, string> : InferZod<Q> : InferZod<Q> : Record<string, string>;
66
+ export type InferSchemaParams<S> = S extends {
67
+ params: infer P;
68
+ } ? InferZod<P> extends unknown ? unknown extends InferZod<P> ? Record<string, string> : InferZod<P> : InferZod<P> : Record<string, string>;
69
+ export type InferSchemaResponse<S> = S extends {
70
+ response: infer R;
71
+ } ? R extends {
72
+ parse: any;
73
+ } ? InferZod<R> : any : any;
74
+ export type InferHandler<S extends RouteSchema<any, any, any, any, any>> = Handler<InferSchemaBody<S>, InferSchemaQuery<S>, InferSchemaParams<S>, InferSchemaResponse<S>, Record<string, any>>;
75
+ export type RouteHandler<TBody = unknown, TQuery = Record<string, string>, TParams = Record<string, string>, TResponse = unknown, TContext = Record<string, any>> = Handler<TBody, TQuery, TParams, TResponse, TContext> | RouteSchema<TBody, TQuery, TParams, TResponse, TContext>;
76
+ export interface Route {
77
+ method: HttpMethod | 'ALL' | 'WS';
78
+ path: string;
79
+ handlers: Handler<any, any, any, any, any>[];
80
+ sourceFile?: string;
81
+ schema?: RouteSchema<any, any, any, any, any>;
82
+ host?: string | string[];
83
+ _serializer?: (data: unknown) => string;
84
+ }
85
+ export interface RouteMatch {
86
+ route: Route;
87
+ params: Record<string, string>;
88
+ }
89
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * ExisJS Advanced Sanitization Engine
2
+ * ExisJS Sanitization Engine
3
3
  *
4
- * Offers dual-use standalone sanitization powered by ultra-fast native Rust
4
+ * Offers dual-use standalone sanitization powered by native Rust
5
5
  * bindings along with pure Javascript fallback utilities for complex object
6
6
  * manipulation.
7
7
  */
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sanitize = void 0;
4
4
  const rs_1 = require("@exisjs/rs");
5
5
  /**
6
- * ExisJS Advanced Sanitization Engine
6
+ * ExisJS Sanitization Engine
7
7
  *
8
- * Offers dual-use standalone sanitization powered by ultra-fast native Rust
8
+ * Offers dual-use standalone sanitization powered by native Rust
9
9
  * bindings along with pure Javascript fallback utilities for complex object
10
10
  * manipulation.
11
11
  */
12
12
  exports.sanitize = {
13
- // ─── Native Rust Sanitizers (Ultra Fast) ─────────────────────────────────
13
+ // ─── Native Rust Sanitizers ──────────────────────────────────────────────
14
14
  escapeHtml: (val) => (0, rs_1.escapeHtml)(val),
15
15
  stripHtml: (val) => (0, rs_1.stripHtml)(val),
16
16
  preventSql: (val) => {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../src/sanitize/sanitize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,QAAQ;gBAGP,MAAM,KAAG,MAAM;uBAER,MAAM,KAAG,MAAM;uBAEf,MAAM,KAAG,MAAM;8BAER,MAAM,KAAG,MAAM;qBAExB,MAAM,KAAG,MAAM;sBAEd,MAAM,KAAG,MAAM;4BAYT,MAAM,KAAG,MAAM;mBAExB,MAAM,KAAG,MAAM;uBAOnB,MAAM,MACd,KAAK,MAAM,KAAG,MAAM;iCAGM,MAAM,KAAG,MAAM;gCAGhB,MAAM,KAAG,MAAM;iBAI9B,MAAM,KAAG,MAAM;iBAGpB,MAAM,OAAO,MAAM,MACxB,KAAK,MAAM,KAAG,MAAM;6BAIV,MAAM,MAChB,KAAK,MAAM,KAAG,MAAM;gCAKK,IAAI,KAAG,MAAM;qBAExB,IAAI,KAAG,IAAI;aAQnB,CAAC,OAAO,CAAC,EAAE,KAAG,CAAC,EAAE;cAEhB,CAAC,OAAO,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,EAAE;wBAKvC,MAAM,EAAE,KAAG,MAAM,EAAE;kBAIpC,CAAC,UAAU,MAAM,MACjB,KAAK,CAAC,EAAE,KAAG,CAAC,EAAE;uBAMd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,MACvD,KAAK,CAAC,KAAG,CAAC;2BAQU,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,KAAG,CAAC;WAmB7D,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,EAAE,MAC3D,KAAK,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;WASnB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,EAAE,MAC3D,KAAK,CAAC,KAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;CAOvB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../../src/sanitize/sanitize.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,19 @@ import type { Server as HttpsServer } from 'node:https';
4
4
  import type { Http2SecureServer } from 'node:http2';
5
5
  import { Router } from '../router/router';
6
6
  import { ExisWebSocketServer } from '../websocket/server';
7
- import type { ResolvedConfig } from '../utils/config';
8
- import { HotReloader } from './hot-reload';
7
+ import type { ResolvedConfig } from '../config/config';
8
+ import { HotReloader } from '../dev/hot-reload';
9
9
  import type { JobOptions } from '../queue/types';
10
10
  import { Container } from '../di/container';
11
11
  import type { ProviderToken, ProviderDefinition } from '../di/container';
12
12
  import type { Handler, ErrorHandler, ExisConfig, ListenOptions, Logger, ExisPlugin, ExisPluginInstance, HookReady, HookClose, HookRequest, HookResponse, HookError, HookRoute } from '../types';
13
13
  import { ServerBootstrapper } from './bootstrapper';
14
- import { WsOrchestrator } from './ws-orchestrator';
15
- import { PluginManager } from './plugin-manager';
16
- import { RouteScanner } from './route-scanner';
17
- import { QueueManager } from './queue-manager';
14
+ import { WsOrchestrator } from '../websocket/orchestrator';
15
+ import { PluginManager } from '../plugin/manager';
16
+ import { RouteScanner } from '../router/route-scanner';
17
+ import { QueueManager } from '../queue/manager';
18
18
  import { RequestHandler } from './request-handler';
19
- import { ControllerRegistrar } from './controller-registrar';
19
+ import { ControllerRegistrar } from '../router/controller-registrar';
20
20
  export declare class App<TRoutes extends Record<string, any> = {}> {
21
21
  bootstrapper: ServerBootstrapper;
22
22
  wsOrchestrator: WsOrchestrator;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AASzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAExE,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EACV,aAAa,EACb,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAG5D,qBAAa,GAAG,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IAChD,YAAY,EAAG,kBAAkB,CAAA;IACjC,cAAc,EAAG,cAAc,CAAA;IACtC,IAAI,MAAM,+RAET;IACD,IAAI,cAAc,QAEjB;IACM,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,cAAc,CAAA;IACvB,gBAAgB,EAAE,OAAO,EAAE,CAAK;IACvC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAAQ;IACvB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAO;IAEtC,QAAQ,sBAA4B;IACpC,WAAW,mEAA0C;IAGrD,aAAa,EAAE,aAAa,CAAA;IAC5B,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,cAAc,CAAA;IAC9B,mBAAmB,EAAE,mBAAmB,CAAA;IAE/C,IAAI,WAAW,qDAEd;IACD,IAAI,WAAW,CAAC,EAAE,kDAAA,EAEjB;IAED,IAAI,WAAW,qDAEd;IACD,IAAI,WAAW,CAAC,EAAE,kDAAA,EAEjB;IAGD,IAAI,KAAK;;;;;;;MAER;IAGM,YAAY;iBAGN,OAAO,0BAA0B,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;kBACvD,OAAO,0BAA0B,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;OAEzE;IAGI,GAAG,EAAG,MAAM,CAAA;IACZ,eAAe,EAAE,UAAU,CAAK;IAGhC,SAAS,YAAkB;IAGlC,IAAW,MAAM,IAAI,MAAM,GAAG,IAAI,CAEjC;IACD,IAAW,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAEnC;IACD,IAAW,YAAY,wCAEtB;IACD,IAAW,YAAY,yCAEtB;IACD,IAAW,cAAc,qDAExB;IACD,IAAW,iBAAiB,sDAE3B;IACD,IAAW,iBAAiB,CAAC,CAAC,mDAAA,EAE7B;IAED,IAAW,WAAW,wCAErB;IACD,IAAW,WAAW,yCAErB;gBAEW,OAAO,GAAE,UAAe;IAmBpC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAI5B,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAI5B,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIhC,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAIlC,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAI5B,OAAO,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAO5B,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EACpB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,0BAA0B,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7D,OAAO,CAAC,EAAE,OAAO,0BAA0B,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GACnE,IAAI;IAUP,SAAS,IAAI,OAAO,UAAU,EAAE,KAAK,EAAE;IAMhC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,EAC3D,aAAa,CAAC,EAAE,QAAQ,GACvB,OAAO,CAAC,IAAI,CAAC;IAOhB,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,IAAI;IAWlD,GAAG,CACD,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAM/C,IAAI,CACF,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMhD,GAAG,CACD,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAM/C,KAAK,CACH,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMjD,MAAM,CACJ,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMlD,WAAW,CACT,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMnD,GAAG,CACD,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAM/C,IAAI,CACF,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMhD,OAAO,CACL,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMnD,KAAK,CACH,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAMjD,KAAK,CACH,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,OAAO,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAEjE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP;QACE,GAAG,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9C,MAAM;QACN,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KAC1C,GACD,OAAO,UAAU,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACxD,GAAG,CAAC,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAQjD,EAAE,CAAC,IAAI,SAAS,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EAAE,CACX,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,SAAS,CACzE,EAAE,GACF,GAAG,CAAC,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAM3C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAM1C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IA2BvC,mBAAmB,CACxB,WAAW,EAAE,GAAG,EAAE,EAClB,QAAQ,SAAK,EACb,iBAAiB,GAAE,GAAG,EAAO,GAC5B,IAAI;IAWP,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAK1E,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAM7D,aAAa,IAAI,IAAI;IA2Gf,KAAK,CAChB,OAAO,EAAE,UAAU,CAAC,OAAO,EAC3B,GAAG,CAAC,EAAE,GAAG,EACT,GAAG,CAAC,EAAE,GAAG,GACR,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAIlB,MAAM,CAAC,OAAO,EAAE;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,GAAG,CAAA;KACX,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,YAAY,CAAC;IAM9C,mBAAmB,IAAI,OAAO,EAAE;IAIhC,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAI7D,gBAAgB;IAMvB,OAAO,CAAC,aAAa,CAAqC;IAI1D,SAAS,IAAI,UAAU,GAAG,WAAW,GAAG,iBAAiB;IAIzD,SAAS,IAAI,cAAc;IAM3B,OAAO,CAAC,aAAa,CAAQ;IAEvB,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwHzC,MAAM,CACJ,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa,EACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,UAAU,GAAG,WAAW,GAAG,iBAAiB;IAKlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjD,UAAU,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAKlD,KAAK,CAAC,OAAO,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpC,SAAS,IAAI,MAAM;IAMZ,KAAK,CAAC,CAAC,GAAG,OAAO,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC,EAC/C,OAAO,CAAC,EAAE,IAAI,CACZ,OAAO,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,EACzC,MAAM,GAAG,SAAS,CACnB;IAKU,OAAO,CAAC,CAAC,GAAG,OAAO,EAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,EACV,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC;CAGnB;AAID,eAAO,MAAM,GAAG,SAAY,CAAA;AAE5B,eAAO,IAAI,iBAAiB,EAAE,GAAG,GAAG,IAAW,CAAA;AAE/C,wBAAgB,YAAY,IAAI,GAAG,CAElC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,QAEjD"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/server/app.ts"],"names":[],"mappings":"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"}
@@ -39,19 +39,19 @@ exports.setActiveAppInstance = setActiveAppInstance;
39
39
  const ws_1 = require("ws");
40
40
  const router_1 = require("../router/router");
41
41
  const middleware_1 = require("../middleware/middleware");
42
- const errors_1 = require("../utils/errors");
42
+ const errors_1 = require("../error/errors");
43
43
  const server_1 = require("../websocket/server");
44
- const config_1 = require("../utils/config");
44
+ const config_1 = require("../config/config");
45
45
  const logger_1 = require("../utils/logger");
46
- const hot_reload_1 = require("./hot-reload");
46
+ const hot_reload_1 = require("../dev/hot-reload");
47
47
  const container_1 = require("../di/container");
48
48
  const bootstrapper_1 = require("./bootstrapper");
49
- const ws_orchestrator_1 = require("./ws-orchestrator");
50
- const plugin_manager_1 = require("./plugin-manager");
51
- const route_scanner_1 = require("./route-scanner");
52
- const queue_manager_1 = require("./queue-manager");
49
+ const orchestrator_1 = require("../websocket/orchestrator");
50
+ const manager_1 = require("../plugin/manager");
51
+ const route_scanner_1 = require("../router/route-scanner");
52
+ const manager_2 = require("../queue/manager");
53
53
  const request_handler_1 = require("./request-handler");
54
- const controller_registrar_1 = require("./controller-registrar");
54
+ const controller_registrar_1 = require("../router/controller-registrar");
55
55
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
56
56
  class App {
57
57
  get server() {
@@ -126,11 +126,11 @@ class App {
126
126
  this.options = (0, config_1.mergeConfig)(config_1.defaultConfig, options);
127
127
  this.router = new router_1.Router();
128
128
  this.ensureLogger();
129
- this.pluginManager = new plugin_manager_1.PluginManager(this);
130
- this.wsOrchestrator = new ws_orchestrator_1.WsOrchestrator(this);
129
+ this.pluginManager = new manager_1.PluginManager(this);
130
+ this.wsOrchestrator = new orchestrator_1.WsOrchestrator(this);
131
131
  this.bootstrapper = new bootstrapper_1.ServerBootstrapper(this);
132
132
  this.routeScanner = new route_scanner_1.RouteScanner(this);
133
- this.queueManager = new queue_manager_1.QueueManager(this);
133
+ this.queueManager = new manager_2.QueueManager(this);
134
134
  this.requestHandler = new request_handler_1.RequestHandler(this);
135
135
  this.controllerRegistrar = new controller_registrar_1.ControllerRegistrar(this);
136
136
  if (this.options.queue) {
@@ -410,7 +410,7 @@ class App {
410
410
  exports.activeAppInstance = this;
411
411
  const root = cwd ?? process.cwd();
412
412
  if (!this._configLoaded) {
413
- const { loadConfig } = await Promise.resolve().then(() => __importStar(require('../utils/config')));
413
+ const { loadConfig } = await Promise.resolve().then(() => __importStar(require('../config/config')));
414
414
  const fileConfig = await loadConfig(root);
415
415
  // File config takes precedence over defaults, but explicit options take highest precedence
416
416
  this.options = (0, config_1.mergeConfig)(config_1.defaultConfig, fileConfig);