exisjs 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +2 -8
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/dev.d.ts.map +1 -1
  5. package/dist/cli/commands/dev.js +33 -44
  6. package/dist/cli/commands/dev.js.map +1 -1
  7. package/dist/cli/commands/exports.d.ts.map +1 -1
  8. package/dist/cli/commands/exports.js +5 -32
  9. package/dist/cli/commands/exports.js.map +1 -1
  10. package/dist/cli/commands/generate.d.ts +2 -13
  11. package/dist/cli/commands/generate.d.ts.map +1 -1
  12. package/dist/cli/commands/generate.js +27 -60
  13. package/dist/cli/commands/generate.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts.map +1 -1
  15. package/dist/cli/commands/init.js +4 -4
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/start.d.ts.map +1 -1
  18. package/dist/cli/commands/start.js +2 -6
  19. package/dist/cli/commands/start.js.map +1 -1
  20. package/dist/cli/index.js +11 -23
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/routes.d.ts.map +1 -1
  23. package/dist/cli/routes.js +20 -8
  24. package/dist/cli/routes.js.map +1 -1
  25. package/dist/config/config.d.ts +2 -1
  26. package/dist/config/config.d.ts.map +1 -1
  27. package/dist/config/config.js +3 -2
  28. package/dist/config/config.js.map +1 -1
  29. package/dist/config/types.d.ts +7 -2
  30. package/dist/config/types.d.ts.map +1 -1
  31. package/dist/decorators/constants.d.ts +2 -2
  32. package/dist/decorators/constants.d.ts.map +1 -1
  33. package/dist/decorators/constants.js +2 -2
  34. package/dist/decorators/constants.js.map +1 -1
  35. package/dist/decorators/core.d.ts +4 -3
  36. package/dist/decorators/core.d.ts.map +1 -1
  37. package/dist/decorators/core.js +7 -4
  38. package/dist/decorators/core.js.map +1 -1
  39. package/dist/decorators/middleware.d.ts +0 -10
  40. package/dist/decorators/middleware.d.ts.map +1 -1
  41. package/dist/decorators/middleware.js +0 -25
  42. package/dist/decorators/middleware.js.map +1 -1
  43. package/dist/decorators/routing.d.ts +0 -2
  44. package/dist/decorators/routing.d.ts.map +1 -1
  45. package/dist/decorators/routing.js +1 -3
  46. package/dist/decorators/routing.js.map +1 -1
  47. package/dist/di/inject.d.ts +1 -2
  48. package/dist/di/inject.d.ts.map +1 -1
  49. package/dist/di/inject.js.map +1 -1
  50. package/dist/docs/ARCHITECTURE.md +46 -285
  51. package/dist/docs/BENCHMARKS.md +5 -5
  52. package/dist/docs/README.md +8 -11
  53. package/dist/docs/content/boundaries.mdx +151 -0
  54. package/dist/docs/content/cli/commands.mdx +66 -104
  55. package/dist/docs/content/cli/overview.mdx +37 -47
  56. package/dist/docs/content/cli/usage.mdx +29 -15
  57. package/dist/docs/content/decorators.mdx +107 -80
  58. package/dist/docs/content/installation.mdx +20 -1
  59. package/dist/docs/content/middleware.mdx +65 -291
  60. package/dist/docs/content/security.mdx +44 -246
  61. package/dist/docs/content/structure.mdx +227 -100
  62. package/dist/docs/content/validation.mdx +0 -17
  63. package/dist/docs/reference/decorators.mdx +24 -217
  64. package/dist/docs/reference/middleware.mdx +41 -217
  65. package/dist/docs/reference/validator.mdx +2 -5
  66. package/dist/error/errors.d.ts.map +1 -1
  67. package/dist/error/errors.js +16 -0
  68. package/dist/error/errors.js.map +1 -1
  69. package/dist/index.d.ts +1 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +5 -2
  72. package/dist/index.js.map +1 -1
  73. package/dist/lib/start-server.js +10 -0
  74. package/dist/lib/start-server.js.map +1 -1
  75. package/dist/logger/index.d.ts +81 -0
  76. package/dist/logger/index.d.ts.map +1 -0
  77. package/dist/logger/index.js +142 -0
  78. package/dist/logger/index.js.map +1 -0
  79. package/dist/middleware/dedupe.d.ts +1 -1
  80. package/dist/middleware/dedupe.js +1 -1
  81. package/dist/middleware/middleware.d.ts +3 -5
  82. package/dist/middleware/middleware.d.ts.map +1 -1
  83. package/dist/middleware/middleware.js +2 -6
  84. package/dist/middleware/middleware.js.map +1 -1
  85. package/dist/router/{gateway.d.ts → boundary.d.ts} +21 -13
  86. package/dist/router/boundary.d.ts.map +1 -0
  87. package/dist/router/boundary.js +11 -0
  88. package/dist/router/boundary.js.map +1 -0
  89. package/dist/router/index.d.ts +3 -6
  90. package/dist/router/index.d.ts.map +1 -1
  91. package/dist/router/index.js +3 -7
  92. package/dist/router/index.js.map +1 -1
  93. package/dist/router/route-builder.d.ts +0 -28
  94. package/dist/router/route-builder.d.ts.map +1 -1
  95. package/dist/router/route-builder.js +0 -4
  96. package/dist/router/route-builder.js.map +1 -1
  97. package/dist/router/route-scanner.d.ts +1 -2
  98. package/dist/router/route-scanner.d.ts.map +1 -1
  99. package/dist/router/route-scanner.js +216 -193
  100. package/dist/router/route-scanner.js.map +1 -1
  101. package/dist/router/router.d.ts +4 -6
  102. package/dist/router/router.d.ts.map +1 -1
  103. package/dist/router/router.js +36 -72
  104. package/dist/router/router.js.map +1 -1
  105. package/dist/router/types.d.ts +2 -6
  106. package/dist/router/types.d.ts.map +1 -1
  107. package/dist/server/{bun-adapter.d.ts → adapters/bun-adapter.d.ts} +1 -1
  108. package/dist/server/adapters/bun-adapter.d.ts.map +1 -0
  109. package/dist/server/{bun-adapter.js → adapters/bun-adapter.js} +2 -24
  110. package/dist/server/adapters/bun-adapter.js.map +1 -0
  111. package/dist/server/{uws-adapter.d.ts → adapters/uws-adapter.d.ts} +1 -1
  112. package/dist/server/adapters/uws-adapter.d.ts.map +1 -0
  113. package/dist/server/{uws-adapter.js → adapters/uws-adapter.js} +1 -28
  114. package/dist/server/adapters/uws-adapter.js.map +1 -0
  115. package/dist/server/app.d.ts +9 -30
  116. package/dist/server/app.d.ts.map +1 -1
  117. package/dist/server/app.js +19 -134
  118. package/dist/server/app.js.map +1 -1
  119. package/dist/server/bootstrapper.d.ts +4 -15
  120. package/dist/server/bootstrapper.d.ts.map +1 -1
  121. package/dist/server/bootstrapper.js +30 -229
  122. package/dist/server/bootstrapper.js.map +1 -1
  123. package/dist/server/define.d.ts +2 -2
  124. package/dist/server/define.d.ts.map +1 -1
  125. package/dist/server/define.js +3 -3
  126. package/dist/server/define.js.map +1 -1
  127. package/dist/server/engines/bun-engine.d.ts +16 -0
  128. package/dist/server/engines/bun-engine.d.ts.map +1 -0
  129. package/dist/server/engines/bun-engine.js +41 -0
  130. package/dist/server/engines/bun-engine.js.map +1 -0
  131. package/dist/server/engines/engine.d.ts +16 -0
  132. package/dist/server/engines/engine.d.ts.map +1 -0
  133. package/dist/{queue/types.js → server/engines/engine.js} +1 -1
  134. package/dist/server/engines/engine.js.map +1 -0
  135. package/dist/server/engines/node-engine.d.ts +22 -0
  136. package/dist/server/engines/node-engine.d.ts.map +1 -0
  137. package/dist/server/engines/node-engine.js +130 -0
  138. package/dist/server/engines/node-engine.js.map +1 -0
  139. package/dist/server/engines/uws-engine.d.ts +16 -0
  140. package/dist/server/engines/uws-engine.d.ts.map +1 -0
  141. package/dist/server/engines/uws-engine.js +48 -0
  142. package/dist/server/engines/uws-engine.js.map +1 -0
  143. package/dist/server/request-handler.d.ts +0 -1
  144. package/dist/server/request-handler.d.ts.map +1 -1
  145. package/dist/server/request-handler.js +74 -48
  146. package/dist/server/request-handler.js.map +1 -1
  147. package/dist/server/request.d.ts +0 -8
  148. package/dist/server/request.d.ts.map +1 -1
  149. package/dist/server/request.js +0 -16
  150. package/dist/server/request.js.map +1 -1
  151. package/dist/utils/time.d.ts +6 -0
  152. package/dist/utils/time.d.ts.map +1 -0
  153. package/dist/utils/time.js +15 -0
  154. package/dist/utils/time.js.map +1 -0
  155. package/dist/validator/index.d.ts +1 -7
  156. package/dist/validator/index.d.ts.map +1 -1
  157. package/dist/validator/index.js +1 -5
  158. package/dist/validator/index.js.map +1 -1
  159. package/dist/validator/tex-types.d.ts +15 -2
  160. package/dist/validator/tex-types.d.ts.map +1 -1
  161. package/dist/validator/tex-types.js +8 -0
  162. package/dist/validator/tex-types.js.map +1 -1
  163. package/dist/validator/tex.d.ts.map +1 -1
  164. package/dist/validator/tex.js +21 -2
  165. package/dist/validator/tex.js.map +1 -1
  166. package/package.json +9 -151
  167. package/dist/adapters/aws-lambda.d.ts +0 -21
  168. package/dist/adapters/aws-lambda.d.ts.map +0 -1
  169. package/dist/adapters/aws-lambda.js +0 -125
  170. package/dist/adapters/aws-lambda.js.map +0 -1
  171. package/dist/adapters/bun.d.ts +0 -9
  172. package/dist/adapters/bun.d.ts.map +0 -1
  173. package/dist/adapters/bun.js +0 -23
  174. package/dist/adapters/bun.js.map +0 -1
  175. package/dist/adapters/cloudflare.d.ts +0 -10
  176. package/dist/adapters/cloudflare.d.ts.map +0 -1
  177. package/dist/adapters/cloudflare.js +0 -22
  178. package/dist/adapters/cloudflare.js.map +0 -1
  179. package/dist/adapters/deno.d.ts +0 -7
  180. package/dist/adapters/deno.d.ts.map +0 -1
  181. package/dist/adapters/deno.js +0 -21
  182. package/dist/adapters/deno.js.map +0 -1
  183. package/dist/adapters/fastly.d.ts +0 -6
  184. package/dist/adapters/fastly.d.ts.map +0 -1
  185. package/dist/adapters/fastly.js +0 -20
  186. package/dist/adapters/fastly.js.map +0 -1
  187. package/dist/adapters/fetch.d.ts +0 -30
  188. package/dist/adapters/fetch.d.ts.map +0 -1
  189. package/dist/adapters/fetch.js +0 -119
  190. package/dist/adapters/fetch.js.map +0 -1
  191. package/dist/adapters/index.d.ts +0 -9
  192. package/dist/adapters/index.d.ts.map +0 -1
  193. package/dist/adapters/index.js +0 -28
  194. package/dist/adapters/index.js.map +0 -1
  195. package/dist/adapters/netlify.d.ts +0 -8
  196. package/dist/adapters/netlify.d.ts.map +0 -1
  197. package/dist/adapters/netlify.js +0 -20
  198. package/dist/adapters/netlify.js.map +0 -1
  199. package/dist/adapters/vercel.d.ts +0 -17
  200. package/dist/adapters/vercel.d.ts.map +0 -1
  201. package/dist/adapters/vercel.js +0 -23
  202. package/dist/adapters/vercel.js.map +0 -1
  203. package/dist/auth/index.d.ts +0 -8
  204. package/dist/auth/index.d.ts.map +0 -1
  205. package/dist/auth/index.js +0 -49
  206. package/dist/auth/index.js.map +0 -1
  207. package/dist/auth/jwt.d.ts +0 -20
  208. package/dist/auth/jwt.d.ts.map +0 -1
  209. package/dist/auth/jwt.js +0 -59
  210. package/dist/auth/jwt.js.map +0 -1
  211. package/dist/auth/oauth/core.d.ts +0 -96
  212. package/dist/auth/oauth/core.d.ts.map +0 -1
  213. package/dist/auth/oauth/core.js +0 -203
  214. package/dist/auth/oauth/core.js.map +0 -1
  215. package/dist/auth/oauth/index.d.ts +0 -45
  216. package/dist/auth/oauth/index.d.ts.map +0 -1
  217. package/dist/auth/oauth/index.js +0 -64
  218. package/dist/auth/oauth/index.js.map +0 -1
  219. package/dist/auth/oauth/middleware.d.ts +0 -63
  220. package/dist/auth/oauth/middleware.d.ts.map +0 -1
  221. package/dist/auth/oauth/middleware.js +0 -164
  222. package/dist/auth/oauth/middleware.js.map +0 -1
  223. package/dist/auth/oauth/providers/custom.d.ts +0 -41
  224. package/dist/auth/oauth/providers/custom.d.ts.map +0 -1
  225. package/dist/auth/oauth/providers/custom.js +0 -204
  226. package/dist/auth/oauth/providers/custom.js.map +0 -1
  227. package/dist/auth/oauth/providers/discord.d.ts +0 -23
  228. package/dist/auth/oauth/providers/discord.d.ts.map +0 -1
  229. package/dist/auth/oauth/providers/discord.js +0 -130
  230. package/dist/auth/oauth/providers/discord.js.map +0 -1
  231. package/dist/auth/oauth/providers/facebook.d.ts +0 -28
  232. package/dist/auth/oauth/providers/facebook.d.ts.map +0 -1
  233. package/dist/auth/oauth/providers/facebook.js +0 -124
  234. package/dist/auth/oauth/providers/facebook.js.map +0 -1
  235. package/dist/auth/oauth/providers/github.d.ts +0 -25
  236. package/dist/auth/oauth/providers/github.d.ts.map +0 -1
  237. package/dist/auth/oauth/providers/github.js +0 -132
  238. package/dist/auth/oauth/providers/github.js.map +0 -1
  239. package/dist/auth/oauth/providers/google.d.ts +0 -23
  240. package/dist/auth/oauth/providers/google.d.ts.map +0 -1
  241. package/dist/auth/oauth/providers/google.js +0 -134
  242. package/dist/auth/oauth/providers/google.js.map +0 -1
  243. package/dist/auth/oauth/providers/microsoft.d.ts +0 -28
  244. package/dist/auth/oauth/providers/microsoft.d.ts.map +0 -1
  245. package/dist/auth/oauth/providers/microsoft.js +0 -136
  246. package/dist/auth/oauth/providers/microsoft.js.map +0 -1
  247. package/dist/auth/oauth/types.d.ts +0 -158
  248. package/dist/auth/oauth/types.d.ts.map +0 -1
  249. package/dist/auth/oauth/types.js +0 -4
  250. package/dist/auth/oauth/types.js.map +0 -1
  251. package/dist/auth/password.d.ts +0 -25
  252. package/dist/auth/password.d.ts.map +0 -1
  253. package/dist/auth/password.js +0 -93
  254. package/dist/auth/password.js.map +0 -1
  255. package/dist/auth/rbac.d.ts +0 -10
  256. package/dist/auth/rbac.d.ts.map +0 -1
  257. package/dist/auth/rbac.js +0 -34
  258. package/dist/auth/rbac.js.map +0 -1
  259. package/dist/auth/session.d.ts +0 -26
  260. package/dist/auth/session.d.ts.map +0 -1
  261. package/dist/auth/session.js +0 -134
  262. package/dist/auth/session.js.map +0 -1
  263. package/dist/cache/index.d.ts +0 -4
  264. package/dist/cache/index.d.ts.map +0 -1
  265. package/dist/cache/index.js +0 -25
  266. package/dist/cache/index.js.map +0 -1
  267. package/dist/cache/store.d.ts +0 -58
  268. package/dist/cache/store.d.ts.map +0 -1
  269. package/dist/cache/store.js +0 -298
  270. package/dist/cache/store.js.map +0 -1
  271. package/dist/cron/parser.d.ts +0 -2
  272. package/dist/cron/parser.d.ts.map +0 -1
  273. package/dist/cron/parser.js +0 -52
  274. package/dist/cron/parser.js.map +0 -1
  275. package/dist/cron/scheduler.d.ts +0 -23
  276. package/dist/cron/scheduler.d.ts.map +0 -1
  277. package/dist/cron/scheduler.js +0 -114
  278. package/dist/cron/scheduler.js.map +0 -1
  279. package/dist/database/adapters/mongodb.d.ts +0 -58
  280. package/dist/database/adapters/mongodb.d.ts.map +0 -1
  281. package/dist/database/adapters/mongodb.js +0 -264
  282. package/dist/database/adapters/mongodb.js.map +0 -1
  283. package/dist/database/adapters/mysql.d.ts +0 -27
  284. package/dist/database/adapters/mysql.d.ts.map +0 -1
  285. package/dist/database/adapters/mysql.js +0 -188
  286. package/dist/database/adapters/mysql.js.map +0 -1
  287. package/dist/database/adapters/postgres.d.ts +0 -28
  288. package/dist/database/adapters/postgres.d.ts.map +0 -1
  289. package/dist/database/adapters/postgres.js +0 -174
  290. package/dist/database/adapters/postgres.js.map +0 -1
  291. package/dist/database/adapters/sqlite.d.ts +0 -27
  292. package/dist/database/adapters/sqlite.d.ts.map +0 -1
  293. package/dist/database/adapters/sqlite.js +0 -149
  294. package/dist/database/adapters/sqlite.js.map +0 -1
  295. package/dist/database/index.d.ts +0 -42
  296. package/dist/database/index.d.ts.map +0 -1
  297. package/dist/database/index.js +0 -58
  298. package/dist/database/index.js.map +0 -1
  299. package/dist/database/manager.d.ts +0 -141
  300. package/dist/database/manager.d.ts.map +0 -1
  301. package/dist/database/manager.js +0 -337
  302. package/dist/database/manager.js.map +0 -1
  303. package/dist/database/migration.d.ts +0 -57
  304. package/dist/database/migration.d.ts.map +0 -1
  305. package/dist/database/migration.js +0 -329
  306. package/dist/database/migration.js.map +0 -1
  307. package/dist/database/query-builder.d.ts +0 -95
  308. package/dist/database/query-builder.d.ts.map +0 -1
  309. package/dist/database/query-builder.js +0 -404
  310. package/dist/database/query-builder.js.map +0 -1
  311. package/dist/database/sql/index.d.ts +0 -18
  312. package/dist/database/sql/index.d.ts.map +0 -1
  313. package/dist/database/sql/index.js +0 -74
  314. package/dist/database/sql/index.js.map +0 -1
  315. package/dist/database/sql/schema.d.ts +0 -38
  316. package/dist/database/sql/schema.d.ts.map +0 -1
  317. package/dist/database/sql/schema.js +0 -80
  318. package/dist/database/sql/schema.js.map +0 -1
  319. package/dist/database/synchronizer.d.ts +0 -12
  320. package/dist/database/synchronizer.d.ts.map +0 -1
  321. package/dist/database/synchronizer.js +0 -82
  322. package/dist/database/synchronizer.js.map +0 -1
  323. package/dist/database/types.d.ts +0 -184
  324. package/dist/database/types.d.ts.map +0 -1
  325. package/dist/database/types.js +0 -4
  326. package/dist/database/types.js.map +0 -1
  327. package/dist/dataloader/dataloader.d.ts +0 -23
  328. package/dist/dataloader/dataloader.d.ts.map +0 -1
  329. package/dist/dataloader/dataloader.js +0 -98
  330. package/dist/dataloader/dataloader.js.map +0 -1
  331. package/dist/dataloader/index.d.ts +0 -3
  332. package/dist/dataloader/index.d.ts.map +0 -1
  333. package/dist/dataloader/index.js +0 -19
  334. package/dist/dataloader/index.js.map +0 -1
  335. package/dist/dataloader/registry.d.ts +0 -17
  336. package/dist/dataloader/registry.d.ts.map +0 -1
  337. package/dist/dataloader/registry.js +0 -47
  338. package/dist/dataloader/registry.js.map +0 -1
  339. package/dist/dev/dep-graph.d.ts +0 -2
  340. package/dist/dev/dep-graph.d.ts.map +0 -1
  341. package/dist/dev/dep-graph.js +0 -111
  342. package/dist/dev/dep-graph.js.map +0 -1
  343. package/dist/dev/hot-reload.d.ts +0 -30
  344. package/dist/dev/hot-reload.d.ts.map +0 -1
  345. package/dist/dev/hot-reload.js +0 -262
  346. package/dist/dev/hot-reload.js.map +0 -1
  347. package/dist/docs/content/adapters.mdx +0 -199
  348. package/dist/docs/content/cache.mdx +0 -239
  349. package/dist/docs/content/circuit-breaker.mdx +0 -130
  350. package/dist/docs/content/cron.mdx +0 -109
  351. package/dist/docs/content/database.mdx +0 -278
  352. package/dist/docs/content/gateways.mdx +0 -376
  353. package/dist/docs/content/oauth.mdx +0 -179
  354. package/dist/docs/content/queues.mdx +0 -177
  355. package/dist/docs/content/rpc.mdx +0 -146
  356. package/dist/docs/content/sse.mdx +0 -159
  357. package/dist/docs/content/websockets.mdx +0 -289
  358. package/dist/docs/integrations/README.md +0 -23
  359. package/dist/docs/integrations/jwt.mdx +0 -151
  360. package/dist/docs/integrations/mongo.mdx +0 -183
  361. package/dist/docs/integrations/observability.mdx +0 -125
  362. package/dist/docs/integrations/openai.mdx +0 -108
  363. package/dist/docs/integrations/postgres.mdx +0 -190
  364. package/dist/docs/integrations/posthog.mdx +0 -122
  365. package/dist/docs/integrations/redis.mdx +0 -141
  366. package/dist/docs/integrations/resend.mdx +0 -117
  367. package/dist/docs/integrations/s3.mdx +0 -122
  368. package/dist/docs/integrations/swagger.mdx +0 -113
  369. package/dist/docs/reference/adapters.mdx +0 -130
  370. package/dist/docs/reference/auth.mdx +0 -183
  371. package/dist/docs/reference/cache.mdx +0 -132
  372. package/dist/docs/reference/circuit-breaker.mdx +0 -71
  373. package/dist/docs/reference/queue.mdx +0 -155
  374. package/dist/docs/reference/storage.mdx +0 -116
  375. package/dist/docs/reference/swagger.mdx +0 -132
  376. package/dist/integrations/drizzle.d.ts +0 -10
  377. package/dist/integrations/drizzle.d.ts.map +0 -1
  378. package/dist/integrations/drizzle.js +0 -34
  379. package/dist/integrations/drizzle.js.map +0 -1
  380. package/dist/integrations/jwt.d.ts +0 -12
  381. package/dist/integrations/jwt.d.ts.map +0 -1
  382. package/dist/integrations/jwt.js +0 -29
  383. package/dist/integrations/jwt.js.map +0 -1
  384. package/dist/integrations/mongodb.d.ts +0 -13
  385. package/dist/integrations/mongodb.d.ts.map +0 -1
  386. package/dist/integrations/mongodb.js +0 -48
  387. package/dist/integrations/mongodb.js.map +0 -1
  388. package/dist/integrations/mongoose.d.ts +0 -13
  389. package/dist/integrations/mongoose.d.ts.map +0 -1
  390. package/dist/integrations/mongoose.js +0 -84
  391. package/dist/integrations/mongoose.js.map +0 -1
  392. package/dist/integrations/openai.d.ts +0 -12
  393. package/dist/integrations/openai.d.ts.map +0 -1
  394. package/dist/integrations/openai.js +0 -47
  395. package/dist/integrations/openai.js.map +0 -1
  396. package/dist/integrations/postgres.d.ts +0 -13
  397. package/dist/integrations/postgres.d.ts.map +0 -1
  398. package/dist/integrations/postgres.js +0 -55
  399. package/dist/integrations/postgres.js.map +0 -1
  400. package/dist/integrations/posthog.d.ts +0 -13
  401. package/dist/integrations/posthog.d.ts.map +0 -1
  402. package/dist/integrations/posthog.js +0 -49
  403. package/dist/integrations/posthog.js.map +0 -1
  404. package/dist/integrations/prisma.d.ts +0 -10
  405. package/dist/integrations/prisma.d.ts.map +0 -1
  406. package/dist/integrations/prisma.js +0 -39
  407. package/dist/integrations/prisma.js.map +0 -1
  408. package/dist/integrations/redis.d.ts +0 -12
  409. package/dist/integrations/redis.d.ts.map +0 -1
  410. package/dist/integrations/redis.js +0 -48
  411. package/dist/integrations/redis.js.map +0 -1
  412. package/dist/integrations/resend.d.ts +0 -12
  413. package/dist/integrations/resend.d.ts.map +0 -1
  414. package/dist/integrations/resend.js +0 -47
  415. package/dist/integrations/resend.js.map +0 -1
  416. package/dist/integrations/s3.d.ts +0 -15
  417. package/dist/integrations/s3.d.ts.map +0 -1
  418. package/dist/integrations/s3.js +0 -60
  419. package/dist/integrations/s3.js.map +0 -1
  420. package/dist/integrations/supabase.d.ts +0 -13
  421. package/dist/integrations/supabase.d.ts.map +0 -1
  422. package/dist/integrations/supabase.js +0 -51
  423. package/dist/integrations/supabase.js.map +0 -1
  424. package/dist/middleware/cache.d.ts +0 -21
  425. package/dist/middleware/cache.d.ts.map +0 -1
  426. package/dist/middleware/cache.js +0 -156
  427. package/dist/middleware/cache.js.map +0 -1
  428. package/dist/observability/health.d.ts +0 -23
  429. package/dist/observability/health.d.ts.map +0 -1
  430. package/dist/observability/health.js +0 -49
  431. package/dist/observability/health.js.map +0 -1
  432. package/dist/observability/index.d.ts +0 -4
  433. package/dist/observability/index.d.ts.map +0 -1
  434. package/dist/observability/index.js +0 -10
  435. package/dist/observability/index.js.map +0 -1
  436. package/dist/observability/metrics.d.ts +0 -6
  437. package/dist/observability/metrics.d.ts.map +0 -1
  438. package/dist/observability/metrics.js +0 -60
  439. package/dist/observability/metrics.js.map +0 -1
  440. package/dist/observability/otel.d.ts +0 -27
  441. package/dist/observability/otel.d.ts.map +0 -1
  442. package/dist/observability/otel.js +0 -45
  443. package/dist/observability/otel.js.map +0 -1
  444. package/dist/observability/prometheus.d.ts +0 -30
  445. package/dist/observability/prometheus.d.ts.map +0 -1
  446. package/dist/observability/prometheus.js +0 -31
  447. package/dist/observability/prometheus.js.map +0 -1
  448. package/dist/queue/client.d.ts +0 -13
  449. package/dist/queue/client.d.ts.map +0 -1
  450. package/dist/queue/client.js +0 -83
  451. package/dist/queue/client.js.map +0 -1
  452. package/dist/queue/drivers/MemoryDriver.d.ts +0 -21
  453. package/dist/queue/drivers/MemoryDriver.d.ts.map +0 -1
  454. package/dist/queue/drivers/MemoryDriver.js +0 -176
  455. package/dist/queue/drivers/MemoryDriver.js.map +0 -1
  456. package/dist/queue/drivers/RedisDriver.d.ts +0 -19
  457. package/dist/queue/drivers/RedisDriver.d.ts.map +0 -1
  458. package/dist/queue/drivers/RedisDriver.js +0 -130
  459. package/dist/queue/drivers/RedisDriver.js.map +0 -1
  460. package/dist/queue/index.d.ts +0 -18
  461. package/dist/queue/index.d.ts.map +0 -1
  462. package/dist/queue/index.js +0 -37
  463. package/dist/queue/index.js.map +0 -1
  464. package/dist/queue/manager.d.ts +0 -18
  465. package/dist/queue/manager.d.ts.map +0 -1
  466. package/dist/queue/manager.js +0 -59
  467. package/dist/queue/manager.js.map +0 -1
  468. package/dist/queue/types.d.ts +0 -55
  469. package/dist/queue/types.d.ts.map +0 -1
  470. package/dist/queue/types.js.map +0 -1
  471. package/dist/queue/worker.d.ts +0 -18
  472. package/dist/queue/worker.d.ts.map +0 -1
  473. package/dist/queue/worker.js +0 -176
  474. package/dist/queue/worker.js.map +0 -1
  475. package/dist/router/gateway.d.ts.map +0 -1
  476. package/dist/router/gateway.js +0 -11
  477. package/dist/router/gateway.js.map +0 -1
  478. package/dist/server/bun-adapter.d.ts.map +0 -1
  479. package/dist/server/bun-adapter.js.map +0 -1
  480. package/dist/server/sse.d.ts +0 -16
  481. package/dist/server/sse.d.ts.map +0 -1
  482. package/dist/server/sse.js +0 -51
  483. package/dist/server/sse.js.map +0 -1
  484. package/dist/server/uws-adapter.d.ts.map +0 -1
  485. package/dist/server/uws-adapter.js.map +0 -1
  486. package/dist/storage/index.d.ts +0 -15
  487. package/dist/storage/index.d.ts.map +0 -1
  488. package/dist/storage/index.js +0 -7
  489. package/dist/storage/index.js.map +0 -1
  490. package/dist/swagger/index.d.ts +0 -9
  491. package/dist/swagger/index.d.ts.map +0 -1
  492. package/dist/swagger/index.js +0 -165
  493. package/dist/swagger/index.js.map +0 -1
  494. package/dist/threads/pool.d.ts +0 -14
  495. package/dist/threads/pool.d.ts.map +0 -1
  496. package/dist/threads/pool.js +0 -93
  497. package/dist/threads/pool.js.map +0 -1
  498. package/dist/threads/worker-runner.d.ts +0 -2
  499. package/dist/threads/worker-runner.d.ts.map +0 -1
  500. package/dist/threads/worker-runner.js +0 -71
  501. package/dist/threads/worker-runner.js.map +0 -1
  502. package/dist/validator/validator.d.ts +0 -360
  503. package/dist/validator/validator.d.ts.map +0 -1
  504. package/dist/validator/validator.js +0 -931
  505. package/dist/validator/validator.js.map +0 -1
  506. package/dist/websocket/orchestrator.d.ts +0 -11
  507. package/dist/websocket/orchestrator.d.ts.map +0 -1
  508. package/dist/websocket/orchestrator.js +0 -238
  509. package/dist/websocket/orchestrator.js.map +0 -1
  510. package/dist/websocket/server.d.ts +0 -66
  511. package/dist/websocket/server.d.ts.map +0 -1
  512. package/dist/websocket/server.js +0 -158
  513. package/dist/websocket/server.js.map +0 -1
  514. package/dist/websocket/socket.d.ts +0 -119
  515. package/dist/websocket/socket.d.ts.map +0 -1
  516. package/dist/websocket/socket.js +0 -242
  517. package/dist/websocket/socket.js.map +0 -1
@@ -34,32 +34,25 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ServerBootstrapper = void 0;
37
- const node_http_1 = require("node:http");
38
- const node_https_1 = require("node:https");
39
- const node_http2_1 = require("node:http2");
40
- const bun_adapter_1 = require("./bun-adapter");
37
+ const time_1 = require("../utils/time");
41
38
  const request_handler_1 = require("./request-handler");
39
+ const node_engine_1 = require("./engines/node-engine");
40
+ const bun_engine_1 = require("./engines/bun-engine");
41
+ const uws_engine_1 = require("./engines/uws-engine");
42
42
  class ServerBootstrapper {
43
43
  constructor(app) {
44
- this.redirectServer = null;
45
44
  this.shutdownHooks = [];
46
- this._useBun = false;
47
- this._bunApp = null;
48
- this.bunServerInstance = null;
49
- this._useUws = false;
50
- this._uwsApp = null;
51
- this.uwsListenToken = null;
52
45
  this.app = app;
53
46
  const requestedServer = app.explicitOptions.server;
54
47
  if (requestedServer === 'uws') {
55
48
  try {
56
49
  // eslint-disable-next-line @typescript-eslint/no-require-imports
57
50
  require('uWebSockets.js');
58
- this._useUws = true;
51
+ this.engine = new uws_engine_1.UwsEngine(app);
59
52
  }
60
53
  catch {
61
54
  app.log.warn("server: 'uws' was requested, but uWebSockets.js is not available. Falling back to the native Node.js HTTP server.");
62
- this.server = this._initServer();
55
+ this.engine = new node_engine_1.NodeEngine(app);
63
56
  }
64
57
  }
65
58
  else if (requestedServer === 'bun' ||
@@ -67,50 +60,24 @@ class ServerBootstrapper {
67
60
  typeof Bun !== 'undefined' &&
68
61
  app.options.env !== 'test')) {
69
62
  if (typeof Bun !== 'undefined') {
70
- this._useBun = true;
63
+ this.engine = new bun_engine_1.BunEngine(app);
71
64
  }
72
65
  else {
73
66
  if (requestedServer === 'bun') {
74
67
  app.log.warn("server: 'bun' was requested, but Bun is not available. Falling back to the native Node.js HTTP server.");
75
68
  }
76
- this.server = this._initServer();
69
+ this.engine = new node_engine_1.NodeEngine(app);
77
70
  }
78
71
  }
79
72
  else {
80
- this.server = this._initServer();
73
+ this.engine = new node_engine_1.NodeEngine(app);
81
74
  }
82
75
  }
83
76
  getServer() {
84
- return this.server;
85
- }
86
- _initServer() {
87
- let server;
88
- if (this.app.options.ssl) {
89
- if (this.app.options.http2 !== false) {
90
- server = (0, node_http2_1.createSecureServer)({ allowHTTP1: true, ...this.app.options.ssl }, this.app.handle.bind(this.app));
91
- }
92
- else {
93
- server = (0, node_https_1.createServer)(this.app.options.ssl, this.app.handle.bind(this.app));
94
- }
95
- }
96
- else {
97
- server = (0, node_http_1.createServer)(this.app.handle.bind(this.app));
98
- }
99
- server.on('upgrade', this.app.wsOrchestrator.handleUpgrade.bind(this.app.wsOrchestrator));
100
- const keepAlive = this.app.options.keepAlive;
101
- if (keepAlive) {
102
- const kaConfig = keepAlive === true ? {} : keepAlive;
103
- if ('keepAliveTimeout' in server)
104
- server.keepAliveTimeout = kaConfig.timeoutMs ?? 5000;
105
- if ('headersTimeout' in server)
106
- server.headersTimeout = kaConfig.headersTimeoutMs ?? 60000;
107
- if (kaConfig.maxRequests !== undefined &&
108
- 'maxRequestsPerSocket' in server) {
109
- ;
110
- server.maxRequestsPerSocket = kaConfig.maxRequests;
111
- }
112
- }
113
- return server;
77
+ // Only used externally if they really need the raw server object.
78
+ return (this.engine.server ||
79
+ this.engine.serverInstance ||
80
+ this.engine.uwsApp);
114
81
  }
115
82
  listen(portOrOptions, callback) {
116
83
  if (process.env.EXIS_CLI_MODE === '1') {
@@ -120,20 +87,14 @@ class ServerBootstrapper {
120
87
  let port;
121
88
  let host;
122
89
  let onListen;
90
+ let options = {};
123
91
  if (typeof portOrOptions === 'number') {
124
92
  port = portOrOptions;
125
93
  host = this.app.options.host;
126
94
  onListen = callback ? () => callback() : undefined;
127
95
  }
128
96
  else if (typeof portOrOptions === 'object') {
129
- if (portOrOptions.ssl) {
130
- this.app.options.ssl = portOrOptions.ssl;
131
- // Re-initialize server if ssl is passed during listen
132
- this.server = this._initServer();
133
- }
134
- if (portOrOptions.redirectHttp !== undefined) {
135
- this.app.options.redirectHttp = portOrOptions.redirectHttp;
136
- }
97
+ options = portOrOptions;
137
98
  port = portOrOptions.port ?? this.app.options.port;
138
99
  host = portOrOptions.host ?? this.app.options.host;
139
100
  onListen = portOrOptions.onListen;
@@ -142,123 +103,10 @@ class ServerBootstrapper {
142
103
  port = this.app.options.port;
143
104
  host = this.app.options.host;
144
105
  }
145
- // --- uWebSockets.js listen path ---
146
- if (this._useUws) {
147
- // eslint-disable-next-line @typescript-eslint/no-require-imports
148
- const { createUwsApp } = require('./uws-adapter');
149
- this._uwsApp = createUwsApp(this.app.handle.bind(this.app), this.app.wsOrchestrator.handleUwsUpgrade.bind(this.app.wsOrchestrator), this.app.options.ssl);
150
- this._uwsApp.listen(port, host, async (tokenInfo) => {
151
- if (!tokenInfo) {
152
- console.error(`\n\x1b[31m? Port ${port} is already in use (uWS).\x1b[0m`);
153
- process.exit(1);
154
- }
155
- this.uwsListenToken = tokenInfo.token;
156
- const address = { port: tokenInfo.port, host };
157
- if (this.app.hotReloader) {
158
- this.app.hotReloader.stop();
159
- }
160
- if (onListen) {
161
- onListen(address);
162
- }
163
- else {
164
- if (!process.env.__EXIS_DEV_SERVER && !process.env.__EXIS_CLI) {
165
- const url = `http://${host === '0.0.0.0' ? 'localhost' : host}:${port}`;
166
- this.app.log.info({ url, env: this.app.options.env, backend: 'uws' }, `Server running at ${url} (uWS)`);
167
- }
168
- }
169
- for (const hook of this.app.hooks.ready) {
170
- await hook();
171
- }
172
- if (callback)
173
- callback();
174
- });
175
- return this.server;
176
- }
177
- // --- Bun listen path ---
178
- if (this._useBun) {
179
- this._bunApp = (0, bun_adapter_1.createBunApp)(this.app.handle.bind(this.app), this.app.wsOrchestrator.handleBunUpgrade.bind(this.app.wsOrchestrator), port, host, this.app.options.ssl);
180
- this.bunServerInstance = this._bunApp.listen(port, host, async () => {
181
- const address = { port, host };
182
- if (this.app.hotReloader) {
183
- this.app.hotReloader.stop();
184
- }
185
- if (onListen) {
186
- onListen(address);
187
- }
188
- else {
189
- if (!process.env.__EXIS_DEV_SERVER && !process.env.__EXIS_CLI) {
190
- const url = `http://${host === '0.0.0.0' ? 'localhost' : host}:${port}`;
191
- this.app.log.info({ url, env: this.app.options.env, backend: 'bun' }, `Server running at ${url} (Bun)`);
192
- }
193
- }
194
- // --- onReady Hook ---
195
- for (const hook of this.app.hooks.ready) {
196
- await hook();
197
- }
198
- if (callback)
199
- callback();
200
- });
201
- // Return a minimal server-like object for compatibility
202
- return this.server;
203
- }
204
- // --- Node HTTP listen path ---
205
- // Auto HTTP -> HTTPS redirect server
206
- if (this.app.options.ssl &&
207
- this.app.options.redirectHttp !== undefined &&
208
- this.app.options.redirectHttp !== false) {
209
- const redirectPort = typeof this.app.options.redirectHttp === 'number'
210
- ? this.app.options.redirectHttp
211
- : 80;
212
- this.redirectServer = (0, node_http_1.createServer)((req, res) => {
213
- const targetHost = req.headers.host?.split(':')[0] || host;
214
- const actualPort = port === 0
215
- ? this.server.address()?.port ||
216
- port
217
- : port;
218
- const targetPort = actualPort === 443 ? '' : `:${actualPort}`;
219
- res.writeHead(301, {
220
- Location: `https://${targetHost}${targetPort}${req.url || '/'}`,
221
- });
222
- res.end();
223
- });
224
- this.redirectServer.listen(redirectPort, host, () => {
225
- this.app.log.info(`Redirect server listening on port ${redirectPort} -> HTTPS port ${port}`);
226
- });
106
+ if (callback && !onListen) {
107
+ onListen = callback;
227
108
  }
228
- this.server.on('error', (err) => {
229
- if (err.code === 'EADDRINUSE') {
230
- console.error(`\n\x1b[31m? Port ${port} is already in use.\x1b[0m`);
231
- console.error(` Try killing the process or use a different port in exis.config.ts\n`);
232
- process.exit(1);
233
- }
234
- else {
235
- this.app.log.error({ err }, 'Failed to start server');
236
- process.exit(1);
237
- }
238
- });
239
- this.server.listen(port, host, async () => {
240
- const address = { port, host };
241
- // --- onReady Hook ---
242
- for (const hook of this.app.hooks.ready) {
243
- await hook();
244
- }
245
- // Start queue worker if initialized
246
- if (this.app._queueWorker) {
247
- await this.app._queueWorker.start();
248
- }
249
- if (onListen) {
250
- onListen(address);
251
- }
252
- else {
253
- if (!process.env.__EXIS_DEV_SERVER && !process.env.__EXIS_CLI) {
254
- const url = `http://${host === '0.0.0.0' ? 'localhost' : host}:${port}`;
255
- this.app.log.info({ url, env: this.app.options.env }, `Server running at ${url}`);
256
- }
257
- }
258
- if (callback)
259
- callback();
260
- });
261
- return this.server;
109
+ return this.engine.listen(port, host, options, onListen);
262
110
  }
263
111
  async printStartupBanner() {
264
112
  const port = this.app.options.port ?? 3000;
@@ -317,14 +165,7 @@ class ServerBootstrapper {
317
165
  return;
318
166
  }
319
167
  if (process.env.__EXIS_IS_RESTART) {
320
- const time = new Date()
321
- .toLocaleTimeString('en-US', {
322
- hour12: true,
323
- hour: 'numeric',
324
- minute: '2-digit',
325
- second: '2-digit',
326
- })
327
- .toLowerCase();
168
+ const time = (0, time_1.getFormattedTime)();
328
169
  console.log(`${c.dim}${time}${c.reset} ${c.primary}[exis]${c.reset} ${c.dim}restarted in ${readyMs} ms${c.reset}`);
329
170
  return;
330
171
  }
@@ -362,18 +203,6 @@ class ServerBootstrapper {
362
203
  if (this.app.onCloseHook) {
363
204
  await this.app.onCloseHook(this.app);
364
205
  }
365
- if (this.app._cronScheduler) {
366
- this.app._cronScheduler.stop();
367
- }
368
- if (this.app._queueWorker) {
369
- await this.app._queueWorker.stop();
370
- }
371
- if (this.app._queueClient) {
372
- await this.app._queueClient.close();
373
- }
374
- if (this.app.hotReloader) {
375
- await this.app.hotReloader.stop();
376
- }
377
206
  if (!isCLI)
378
207
  this.app.log.info('Graceful shutdown completed');
379
208
  resolve();
@@ -383,30 +212,26 @@ class ServerBootstrapper {
383
212
  reject(err);
384
213
  }
385
214
  };
386
- if (!this._useBun && (!this.server || !this.server.listening)) {
387
- finish();
388
- return;
389
- }
390
- if (this._useBun && !this.bunServerInstance) {
215
+ if (!this.engine) {
391
216
  finish();
392
217
  return;
393
218
  }
219
+ setTimeout(async () => {
220
+ await this.engine.close();
221
+ process.exit(0);
222
+ }, timeout).unref();
394
223
  // Close idle keep-alive connections immediately
395
- if (!this._useBun &&
396
- this.server &&
397
- 'closeIdleConnections' in this.server) {
224
+ if ('closeIdleConnections' in this.engine) {
398
225
  ;
399
- this.server.closeIdleConnections?.();
226
+ this.engine.closeIdleConnections?.();
400
227
  }
401
228
  let checkIdle;
402
229
  // Set timeout to force close active connections
403
230
  const timer = setTimeout(() => {
404
231
  this.app.log.warn(`Shutdown timeout of ${timeout}ms exceeded, forcefully terminating active connections`);
405
- if (!this._useBun &&
406
- this.server &&
407
- 'closeAllConnections' in this.server) {
232
+ if ('closeAllConnections' in this.engine) {
408
233
  ;
409
- this.server.closeAllConnections?.();
234
+ this.engine.closeAllConnections?.();
410
235
  }
411
236
  if (checkIdle)
412
237
  clearInterval(checkIdle);
@@ -422,32 +247,8 @@ class ServerBootstrapper {
422
247
  }
423
248
  }, 100);
424
249
  };
425
- this.app.wsServer.close();
426
- for (const client of this.app.rawWsServer.clients) {
427
- client.terminate();
428
- }
429
- this.app.rawWsServer.close();
430
- if (this.redirectServer) {
431
- this.redirectServer.close();
432
- }
433
- if (this._useBun && this.bunServerInstance) {
434
- this.bunServerInstance.stop(true);
435
- this.bunServerInstance = null;
436
- cleanupAndFinish();
437
- }
438
- else if (this._useUws && this._uwsApp && this.uwsListenToken) {
439
- this._uwsApp.close(this.uwsListenToken);
440
- this.uwsListenToken = null;
441
- cleanupAndFinish();
442
- }
443
- else {
444
- this.server.close((err) => {
445
- if (err)
446
- reject(err);
447
- });
448
- // Call immediately to start polling active requests concurrently
449
- cleanupAndFinish();
450
- }
250
+ this.engine.close();
251
+ cleanupAndFinish();
451
252
  });
452
253
  }
453
254
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapper.js","sourceRoot":"","sources":["../../src/server/bootstrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrapper.js","sourceRoot":"","sources":["../../src/server/bootstrapper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAgD;AAEhD,uDAAkD;AAElD,uDAAkD;AAClD,qDAAgD;AAChD,qDAAgD;AAGhD,MAAa,kBAAkB;IAK7B,YAAY,GAAa;QAFjB,kBAAa,GAAmC,EAAE,CAAA;QAGxD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC,MAAM,CAAA;QAElD,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,iEAAiE;gBACjE,OAAO,CAAC,gBAAgB,CAAC,CAAA;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAA;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,GAAG,CAAC,IAAI,CACV,mHAAmH,CACpH,CAAA;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;aAAM,IACL,eAAe,KAAK,KAAK;YACzB,CAAC,eAAe,KAAK,MAAM;gBACzB,OAAO,GAAG,KAAK,WAAW;gBAC1B,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,EAC7B,CAAC;YACD,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;oBAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,CACV,wGAAwG,CACzG,CAAA;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAU,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAEM,SAAS;QACd,kEAAkE;QAClE,OAAO,CACJ,IAAI,CAAC,MAAc,CAAC,MAAM;YAC1B,IAAI,CAAC,MAAc,CAAC,cAAc;YAClC,IAAI,CAAC,MAAc,CAAC,MAAM,CAC5B,CAAA;IACH,CAAC;IAEM,MAAM,CACX,aAAsC,EACtC,QAAqB;QAErB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;YACtC,OAAO,SAAgB,CAAA;QACzB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAExB,IAAI,IAAY,CAAA;QAChB,IAAI,IAAY,CAAA;QAChB,IAAI,QAC6D,CAAA;QACjE,IAAI,OAAO,GAAkB,EAAE,CAAA;QAE/B,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,GAAG,aAAa,CAAA;YACpB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAc,CAAA;YACtC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QACpD,CAAC;aAAM,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,GAAG,aAAa,CAAA;YACvB,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;YAClD,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;YAClD,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAK,CAAA;YAC7B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAK,CAAA;QAC/B,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,QAAQ,GAAG,QAAQ,CAAA;QACrB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAe,CAAC,CAAA;IACjE,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAA;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAA;QACjD,MAAM,CAAC,GAAG;YACR,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,uBAAuB;YAChC,IAAI,EAAE,uBAAuB;SAC9B,CAAA;QAED,IAAI,SAAS,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,wDAAa,SAAS,GAAC,CAAA;YAClC,MAAM,IAAI,GAAG,wDAAa,WAAW,GAAC,CAAA;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;YAC1D,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,MAAM,WAAW,GACf,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA;QAEjE,IAAI,OAAO,GAAG,WAAW,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,wDAAa,SAAS,GAAC,CAAA;YAClC,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;YACnC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;wBAC3C,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;wBACrB,MAAK;oBACP,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,KAAK,WAAW;oBAAE,MAAK;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QAED,MAAM,WAAW,GACf,IAAI,KAAK,SAAS;YAChB,CAAC,CAAC,UAAU,OAAO,IAAI,IAAI,EAAE;YAC7B,CAAC,CAAC,8BAA8B,CAAA;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QACnD,MAAM,UAAU,GACd,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;QAEtD,MAAM,OAAO,GAAG,wDAAa,cAAc,GAAC,CAAA;QAC5C,6FAA6F;QAC7F,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;YACjE,OAAM;QACR,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAA,uBAAgB,GAAE,CAAA;YAC/B,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,gBAAgB,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CACtG,CAAA;YACD,OAAM;QACR,CAAC;QAED,OAAO,CAAC,GAAG,CACT,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,SAAS,SAAS,GAAG,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,CAAC,KAAK,IAAI,CACrG,CAAA;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,UAAU,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CACzG,CAAA;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAG,WAAW,IAAI,CAAC,CAAC,KAAK,EAAE,CACzF,CAAA;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,KAAK,EAAE,CACxF,CAAA;QACD,IAAI,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE,CAC3F,CAAA;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,KAAK,IAAI,CAC/F,CAAA;IACH,CAAC;IAEM,UAAU,CAAC,IAAgC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAC,OAAO,GAAG,IAAI;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA;YACrE,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;YAE7D,IAAI,YAAY,GAAG,KAAK,CAAA;YACxB,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;gBACxB,IAAI,YAAY;oBAAE,OAAM;gBACxB,YAAY,GAAG,IAAI,CAAA;gBACnB,IAAI,CAAC;oBACH,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACtC,MAAM,IAAI,EAAE,CAAA;oBACd,CAAC;oBACD,6BAA6B;oBAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;wBACxC,MAAM,IAAI,EAAE,CAAA;oBACd,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;wBACzB,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACtC,CAAC;oBAED,IAAI,CAAC,KAAK;wBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAA;oBAC5D,OAAO,EAAE,CAAA;gBACX,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAA;oBAC7D,MAAM,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC;YACH,CAAC,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,EAAE,CAAA;gBACR,OAAM;YACR,CAAC;YAED,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;YAEnB,gDAAgD;YAChD,IAAI,sBAAsB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1C,CAAC;gBAAC,IAAI,CAAC,MAAc,CAAC,oBAAoB,EAAE,EAAE,CAAA;YAChD,CAAC;YAED,IAAI,SAAqC,CAAA;YACzC,gDAAgD;YAChD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CACf,uBAAuB,OAAO,wDAAwD,CACvF,CAAA;gBACD,IAAI,qBAAqB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACzC,CAAC;oBAAC,IAAI,CAAC,MAAc,CAAC,mBAAmB,EAAE,EAAE,CAAA;gBAC/C,CAAC;gBACD,IAAI,SAAS;oBAAE,aAAa,CAAC,SAAS,CAAC,CAAA;gBACvC,MAAM,EAAE,CAAA,CAAC,qCAAqC;YAChD,CAAC,EAAE,OAAO,CAAC,CAAA;YAEX,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;gBAClC,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;oBACjC,MAAM,MAAM,GAAG,gCAAc,CAAC,cAAc,CAAA;oBAC5C,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjB,aAAa,CAAC,SAAS,CAAC,CAAA;wBACxB,YAAY,CAAC,KAAK,CAAC,CAAA;wBACnB,MAAM,MAAM,EAAE,CAAA;oBAChB,CAAC;gBACH,CAAC,EAAE,GAAG,CAAC,CAAA;YACT,CAAC,CAAA;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACnB,gBAAgB,EAAE,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAlQD,gDAkQC"}
@@ -33,6 +33,6 @@ export declare class ExisAppDefinition {
33
33
  * @public
34
34
  */
35
35
  export declare function defineApp(options?: ExisAppOptions): ExisAppDefinition;
36
- export { defineGateway } from '../router/gateway';
37
- export type { GatewayConfig } from '../router/gateway';
36
+ export { defineBoundary } from '../router/boundary';
37
+ export type { BoundaryConfig } from '../router/boundary';
38
38
  //# sourceMappingURL=define.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/server/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C;AAED,qBAAa,iBAAiB;IAET,OAAO,EAAE,cAAc;IADnC,oBAAoB,UAAO;gBACf,OAAO,GAAE,cAAmB;IAE/C;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;CAoBlC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAErE;AAED,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/server/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C;AAED,qBAAa,iBAAiB;IAET,OAAO,EAAE,cAAc;IADnC,oBAAoB,UAAO;gBACf,OAAO,GAAE,cAAmB;IAE/C;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;CAoBlC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAErE;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.defineGateway = exports.ExisAppDefinition = void 0;
36
+ exports.defineBoundary = exports.ExisAppDefinition = void 0;
37
37
  exports.defineApp = defineApp;
38
38
  class ExisAppDefinition {
39
39
  constructor(options = {}) {
@@ -83,6 +83,6 @@ exports.ExisAppDefinition = ExisAppDefinition;
83
83
  function defineApp(options) {
84
84
  return new ExisAppDefinition(options);
85
85
  }
86
- var gateway_1 = require("../router/gateway");
87
- Object.defineProperty(exports, "defineGateway", { enumerable: true, get: function () { return gateway_1.defineGateway; } });
86
+ var boundary_1 = require("../router/boundary");
87
+ Object.defineProperty(exports, "defineBoundary", { enumerable: true, get: function () { return boundary_1.defineBoundary; } });
88
88
  //# sourceMappingURL=define.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/server/define.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,8BAEC;AAlDD,MAAa,iBAAiB;IAE5B,YAAmB,UAA0B,EAAE;QAA5B,YAAO,GAAP,OAAO,CAAqB;QADxC,yBAAoB,GAAG,IAAI,CAAA;IACgB,CAAC;IAEnD;;;OAGG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,wDAAa,OAAO,GAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QACxC,CAAC;QAED,oBAAoB,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;QAElB,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AA5BD,8CA4BC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,SAAS,CAAC,OAAwB;IAChD,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAED,6CAAiD;AAAxC,wGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/server/define.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDA,8BAEC;AAlDD,MAAa,iBAAiB;IAE5B,YAAmB,UAA0B,EAAE;QAA5B,YAAO,GAAP,OAAO,CAAqB;QADxC,yBAAoB,GAAG,IAAI,CAAA;IACgB,CAAC;IAEnD;;;OAGG;IACI,KAAK,CAAC,IAAI;QACf,MAAM,EAAE,GAAG,EAAE,oBAAoB,EAAE,GAAG,wDAAa,OAAO,GAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAEjC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACzB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QACxC,CAAC;QAED,oBAAoB,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;QAElB,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AA5BD,8CA4BC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,SAAS,CAAC,OAAwB;IAChD,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAED,+CAAmD;AAA1C,0GAAA,cAAc,OAAA"}
@@ -0,0 +1,16 @@
1
+ import type { HttpEngine } from './engine';
2
+ import type { App } from '../app';
3
+ import type { ListenOptions } from '../../types';
4
+ export declare class BunEngine implements HttpEngine {
5
+ private app;
6
+ readonly name = "bun";
7
+ private bunApp;
8
+ private serverInstance;
9
+ constructor(app: App<any>);
10
+ listen(port: number, host: string, options: ListenOptions, onListen: (address: {
11
+ port: number;
12
+ host: string;
13
+ }) => void): any;
14
+ close(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=bun-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-engine.d.ts","sourceRoot":"","sources":["../../../src/server/engines/bun-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,qBAAa,SAAU,YAAW,UAAU;IAK9B,OAAO,CAAC,GAAG;IAJvB,SAAgB,IAAI,SAAQ;IAC5B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAAY;gBAEd,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC1D,GAAG;IAmCA,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BunEngine = void 0;
4
+ class BunEngine {
5
+ constructor(app) {
6
+ this.app = app;
7
+ this.name = 'bun';
8
+ this.bunApp = null;
9
+ this.serverInstance = null;
10
+ }
11
+ listen(port, host, options, onListen) {
12
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
13
+ const { createBunApp } = require('../adapters/bun-adapter');
14
+ this.bunApp = createBunApp(this.app.handle.bind(this.app), port, host, options.ssl ?? this.app.options.ssl);
15
+ this.serverInstance = this.bunApp.listen(port, host, async () => {
16
+ const address = { port, host };
17
+ // --- onReady Hook ---
18
+ for (const hook of this.app.hooks.ready) {
19
+ await hook();
20
+ }
21
+ if (onListen) {
22
+ onListen(address);
23
+ }
24
+ else {
25
+ if (!process.env.__EXIS_DEV_SERVER && !process.env.__EXIS_CLI) {
26
+ const url = `http://${host === '0.0.0.0' ? 'localhost' : host}:${port}`;
27
+ this.app.log.info({ url, env: this.app.options.env, backend: 'bun' }, `Server running at ${url} (Bun)`);
28
+ }
29
+ }
30
+ });
31
+ return this.serverInstance;
32
+ }
33
+ async close() {
34
+ if (this.serverInstance) {
35
+ this.serverInstance.stop();
36
+ this.serverInstance = null;
37
+ }
38
+ }
39
+ }
40
+ exports.BunEngine = BunEngine;
41
+ //# sourceMappingURL=bun-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bun-engine.js","sourceRoot":"","sources":["../../../src/server/engines/bun-engine.ts"],"names":[],"mappings":";;;AAIA,MAAa,SAAS;IAKpB,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;QAJjB,SAAI,GAAG,KAAK,CAAA;QACpB,WAAM,GAAQ,IAAI,CAAA;QAClB,mBAAc,GAAQ,IAAI,CAAA;IAEE,CAAC;IAErC,MAAM,CACJ,IAAY,EACZ,IAAY,EACZ,OAAsB,EACtB,QAA2D;QAE3D,iEAAiE;QACjE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,GAAG,YAAY,CACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAQ,EACrC,IAAI,EACJ,IAAI,EACJ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CACpC,CAAA;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;YAE9B,uBAAuB;YACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,IAAI,EAAE,CAAA;YACd,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC9D,MAAM,GAAG,GAAG,UAAU,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAA;oBACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CACf,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAClD,qBAAqB,GAAG,QAAQ,CACjC,CAAA;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC5B,CAAC;IACH,CAAC;CACF;AArDD,8BAqDC"}
@@ -0,0 +1,16 @@
1
+ import type { ListenOptions } from '../../types';
2
+ export interface HttpEngine {
3
+ readonly name: string;
4
+ /**
5
+ * Start the server and listen on the given port and host.
6
+ */
7
+ listen(port: number, host: string, options: ListenOptions, onListen: (address: {
8
+ port: number;
9
+ host: string;
10
+ }) => void): Promise<any> | any;
11
+ /**
12
+ * Close the server gracefully.
13
+ */
14
+ close(): Promise<void> | void;
15
+ }
16
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/server/engines/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC1D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;IAErB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9B"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
3
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/server/engines/engine.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { Server as HttpServer } from 'node:http';
2
+ import type { Server as HttpsServer } from 'node:https';
3
+ import type { Http2SecureServer } from 'node:http2';
4
+ import type { HttpEngine } from './engine';
5
+ import type { App } from '../app';
6
+ import type { ListenOptions } from '../../types';
7
+ export declare class NodeEngine implements HttpEngine {
8
+ private app;
9
+ readonly name = "node";
10
+ private server;
11
+ redirectServer: HttpServer | null;
12
+ constructor(app: App<any>);
13
+ private _initServer;
14
+ listen(port: number, host: string, options: ListenOptions, onListen: (address: {
15
+ port: number;
16
+ host: string;
17
+ }) => void): HttpServer | HttpsServer | Http2SecureServer;
18
+ close(): Promise<void>;
19
+ closeIdleConnections(): void;
20
+ closeAllConnections(): void;
21
+ }
22
+ //# sourceMappingURL=node-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-engine.d.ts","sourceRoot":"","sources":["../../../src/server/engines/node-engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,qBAAa,UAAW,YAAW,UAAU;IAK/B,OAAO,CAAC,GAAG;IAJvB,SAAgB,IAAI,UAAS;IAC7B,OAAO,CAAC,MAAM,CAA+C;IACtD,cAAc,EAAE,UAAU,GAAG,IAAI,CAAO;gBAE3B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAEjC,OAAO,CAAC,WAAW;IA0CnB,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAC1D,UAAU,GAAG,WAAW,GAAG,iBAAiB;IA4EzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,oBAAoB;IAMpB,mBAAmB;CAKpB"}