@expressots/adapter-express 3.0.0 โ†’ 4.0.0-preview.3

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 (244) hide show
  1. package/LICENSE.md +21 -21
  2. package/README.md +61 -118
  3. package/lib/CHANGELOG.md +36 -5
  4. package/lib/README.md +61 -118
  5. package/lib/cjs/adapter-express/application-express.base.js +3 -1
  6. package/lib/cjs/adapter-express/application-express.js +1405 -85
  7. package/lib/cjs/adapter-express/express-utils/conditional-middleware.js +102 -0
  8. package/lib/cjs/adapter-express/express-utils/constants.js +17 -0
  9. package/lib/cjs/adapter-express/express-utils/content-negotiation-decorators.js +129 -0
  10. package/lib/cjs/adapter-express/express-utils/decorators.js +225 -59
  11. package/lib/cjs/adapter-express/express-utils/exception-filter-decorators.js +11 -0
  12. package/lib/cjs/adapter-express/express-utils/guard-context-factory.js +84 -0
  13. package/lib/cjs/adapter-express/express-utils/guard-middleware.js +115 -0
  14. package/lib/cjs/adapter-express/express-utils/guard-utils.js +18 -0
  15. package/lib/cjs/adapter-express/express-utils/http-context-store.js +15 -0
  16. package/lib/cjs/adapter-express/express-utils/http-status-middleware.js +37 -2
  17. package/lib/cjs/adapter-express/express-utils/index.js +67 -1
  18. package/lib/cjs/adapter-express/express-utils/interceptor-middleware.js +132 -0
  19. package/lib/cjs/adapter-express/express-utils/inversify-express-server.js +827 -64
  20. package/lib/cjs/adapter-express/express-utils/lazy-module-middleware.js +241 -0
  21. package/lib/cjs/adapter-express/express-utils/middleware-composition.js +95 -0
  22. package/lib/cjs/adapter-express/express-utils/path-pattern-compat.js +129 -0
  23. package/lib/cjs/adapter-express/express-utils/permission-preloader.middleware.js +48 -0
  24. package/lib/cjs/adapter-express/express-utils/route-constraints.js +104 -0
  25. package/lib/cjs/adapter-express/express-utils/scope-extractor.interface.js +2 -0
  26. package/lib/cjs/adapter-express/express-utils/scope-extractor.js +66 -0
  27. package/lib/cjs/adapter-express/express-utils/setup-authorization.js +71 -0
  28. package/lib/cjs/adapter-express/express-utils/setup-event-system.js +113 -0
  29. package/lib/cjs/adapter-express/express-utils/setup-interceptors.js +103 -0
  30. package/lib/cjs/adapter-express/express-utils/setup-lazy-loading.js +228 -0
  31. package/lib/cjs/adapter-express/express-utils/utils.js +30 -12
  32. package/lib/cjs/adapter-express/express-utils/validation-decorators.js +205 -0
  33. package/lib/cjs/adapter-express/express-utils/validation-service.js +252 -0
  34. package/lib/cjs/adapter-express/index.js +7 -5
  35. package/lib/cjs/adapter-express/micro-api/application-express-micro-route.js +31 -1
  36. package/lib/cjs/adapter-express/micro-api/application-express-micro.js +8 -38
  37. package/lib/cjs/adapter-express/micro-api/gateway/circuit-breaker.js +174 -0
  38. package/lib/cjs/adapter-express/micro-api/gateway/index.js +11 -0
  39. package/lib/cjs/adapter-express/micro-api/gateway/service-proxy.js +214 -0
  40. package/lib/cjs/adapter-express/micro-api/index.js +27 -3
  41. package/lib/cjs/adapter-express/micro-api/micro.js +272 -0
  42. package/lib/cjs/adapter-express/micro-api/queue/index.js +8 -0
  43. package/lib/cjs/adapter-express/micro-api/queue/queue.interface.js +2 -0
  44. package/lib/cjs/adapter-express/micro-api/queue/rabbitmq-consumer.js +255 -0
  45. package/lib/cjs/adapter-express/micro-api/serverless/aws-lambda.adapter.js +183 -0
  46. package/lib/cjs/adapter-express/micro-api/serverless/cloudflare.adapter.js +158 -0
  47. package/lib/cjs/adapter-express/micro-api/serverless/index.js +12 -0
  48. package/lib/cjs/adapter-express/micro-api/serverless/vercel.adapter.js +102 -0
  49. package/lib/cjs/adapter-express/micro-api/service-mesh/index.js +10 -0
  50. package/lib/cjs/adapter-express/micro-api/service-mesh/service-client.js +194 -0
  51. package/lib/cjs/adapter-express/micro-api/service-mesh/service-discovery.js +261 -0
  52. package/lib/cjs/adapter-express/middleware/index.js +21 -0
  53. package/lib/cjs/adapter-express/middleware/request-logging.middleware.js +244 -0
  54. package/lib/cjs/adapter-express/render/engine.js +15 -15
  55. package/lib/cjs/adapter-express/render/index.js +5 -0
  56. package/lib/cjs/adapter-express/studio/index.js +10 -0
  57. package/lib/cjs/adapter-express/studio/studio-integration.js +267 -0
  58. package/lib/cjs/index.js +1 -1
  59. package/lib/cjs/types/adapter-express/application-express.base.d.ts +20 -7
  60. package/lib/cjs/types/adapter-express/application-express.d.ts +316 -33
  61. package/lib/cjs/types/adapter-express/express-utils/base-middleware.d.ts +2 -2
  62. package/lib/cjs/types/adapter-express/express-utils/conditional-middleware.d.ts +97 -0
  63. package/lib/cjs/types/adapter-express/express-utils/constants.d.ts +13 -0
  64. package/lib/cjs/types/adapter-express/express-utils/content-negotiation-decorators.d.ts +94 -0
  65. package/lib/cjs/types/adapter-express/express-utils/decorators.d.ts +54 -6
  66. package/lib/cjs/types/adapter-express/express-utils/exception-filter-decorators.d.ts +6 -0
  67. package/lib/cjs/types/adapter-express/express-utils/guard-context-factory.d.ts +17 -0
  68. package/lib/cjs/types/adapter-express/express-utils/guard-middleware.d.ts +22 -0
  69. package/lib/cjs/types/adapter-express/express-utils/guard-utils.d.ts +11 -0
  70. package/lib/cjs/types/adapter-express/express-utils/http-context-store.d.ts +20 -0
  71. package/lib/cjs/types/adapter-express/express-utils/httpResponseMessage.d.ts +1 -1
  72. package/lib/cjs/types/adapter-express/express-utils/index.d.ts +30 -2
  73. package/lib/cjs/types/adapter-express/express-utils/interceptor-middleware.d.ts +40 -0
  74. package/lib/cjs/types/adapter-express/express-utils/interfaces.d.ts +42 -5
  75. package/lib/cjs/types/adapter-express/express-utils/inversify-express-server.d.ts +114 -2
  76. package/lib/cjs/types/adapter-express/express-utils/lazy-module-middleware.d.ts +122 -0
  77. package/lib/cjs/types/adapter-express/express-utils/middleware-composition.d.ts +85 -0
  78. package/lib/cjs/types/adapter-express/express-utils/path-pattern-compat.d.ts +66 -0
  79. package/lib/cjs/types/adapter-express/express-utils/permission-preloader.middleware.d.ts +10 -0
  80. package/lib/cjs/types/adapter-express/express-utils/route-constraints.d.ts +98 -0
  81. package/lib/cjs/types/adapter-express/express-utils/scope-extractor.d.ts +21 -0
  82. package/lib/cjs/types/adapter-express/express-utils/scope-extractor.interface.d.ts +12 -0
  83. package/lib/cjs/types/adapter-express/express-utils/setup-authorization.d.ts +34 -0
  84. package/lib/cjs/types/adapter-express/express-utils/setup-event-system.d.ts +118 -0
  85. package/lib/cjs/types/adapter-express/express-utils/setup-interceptors.d.ts +115 -0
  86. package/lib/cjs/types/adapter-express/express-utils/setup-lazy-loading.d.ts +123 -0
  87. package/lib/cjs/types/adapter-express/express-utils/utils.d.ts +17 -2
  88. package/lib/cjs/types/adapter-express/express-utils/validation-decorators.d.ts +145 -0
  89. package/lib/cjs/types/adapter-express/express-utils/validation-service.d.ts +88 -0
  90. package/lib/cjs/types/adapter-express/index.d.ts +6 -4
  91. package/lib/cjs/types/adapter-express/micro-api/application-express-micro-route.d.ts +25 -14
  92. package/lib/cjs/types/adapter-express/micro-api/application-express-micro.d.ts +3 -10
  93. package/lib/cjs/types/adapter-express/micro-api/gateway/circuit-breaker.d.ts +111 -0
  94. package/lib/cjs/types/adapter-express/micro-api/gateway/index.d.ts +5 -0
  95. package/lib/cjs/types/adapter-express/micro-api/gateway/service-proxy.d.ts +83 -0
  96. package/lib/cjs/types/adapter-express/micro-api/index.d.ts +7 -1
  97. package/lib/cjs/types/adapter-express/micro-api/micro.d.ts +83 -0
  98. package/lib/cjs/types/adapter-express/micro-api/queue/index.d.ts +5 -0
  99. package/lib/cjs/types/adapter-express/micro-api/queue/queue.interface.d.ts +60 -0
  100. package/lib/cjs/types/adapter-express/micro-api/queue/rabbitmq-consumer.d.ts +86 -0
  101. package/lib/cjs/types/adapter-express/micro-api/serverless/aws-lambda.adapter.d.ts +77 -0
  102. package/lib/cjs/types/adapter-express/micro-api/serverless/cloudflare.adapter.d.ts +64 -0
  103. package/lib/cjs/types/adapter-express/micro-api/serverless/index.d.ts +6 -0
  104. package/lib/cjs/types/adapter-express/micro-api/serverless/vercel.adapter.d.ts +56 -0
  105. package/lib/cjs/types/adapter-express/micro-api/service-mesh/index.d.ts +5 -0
  106. package/lib/cjs/types/adapter-express/micro-api/service-mesh/service-client.d.ts +122 -0
  107. package/lib/cjs/types/adapter-express/micro-api/service-mesh/service-discovery.d.ts +150 -0
  108. package/lib/cjs/types/adapter-express/middleware/index.d.ts +5 -0
  109. package/lib/cjs/types/adapter-express/middleware/request-logging.middleware.d.ts +65 -0
  110. package/lib/cjs/types/adapter-express/render/index.d.ts +1 -0
  111. package/lib/cjs/types/adapter-express/studio/index.d.ts +1 -0
  112. package/lib/cjs/types/adapter-express/studio/studio-integration.d.ts +170 -0
  113. package/lib/cjs/types/index.d.ts +1 -1
  114. package/lib/esm/adapter-express/application-express.base.js +24 -0
  115. package/lib/esm/adapter-express/application-express.js +1656 -0
  116. package/lib/esm/adapter-express/application-express.types.js +1 -0
  117. package/lib/esm/adapter-express/express-utils/base-middleware.js +19 -0
  118. package/lib/esm/adapter-express/express-utils/conditional-middleware.js +96 -0
  119. package/lib/esm/adapter-express/express-utils/constants.js +63 -0
  120. package/lib/esm/adapter-express/express-utils/content/httpContent.js +6 -0
  121. package/lib/esm/adapter-express/express-utils/content-negotiation-decorators.js +120 -0
  122. package/lib/esm/adapter-express/express-utils/decorators.js +604 -0
  123. package/lib/esm/adapter-express/express-utils/exception-filter-decorators.js +6 -0
  124. package/lib/esm/adapter-express/express-utils/guard-context-factory.js +83 -0
  125. package/lib/esm/adapter-express/express-utils/guard-middleware.js +115 -0
  126. package/lib/esm/adapter-express/express-utils/guard-utils.js +14 -0
  127. package/lib/esm/adapter-express/express-utils/http-context-store.js +10 -0
  128. package/lib/esm/adapter-express/express-utils/http-status-middleware.js +116 -0
  129. package/lib/esm/adapter-express/express-utils/httpResponseMessage.js +29 -0
  130. package/lib/esm/adapter-express/express-utils/index.js +24 -0
  131. package/lib/esm/adapter-express/express-utils/interceptor-middleware.js +130 -0
  132. package/lib/esm/adapter-express/express-utils/interfaces.js +1 -0
  133. package/lib/esm/adapter-express/express-utils/inversify-express-server.js +1047 -0
  134. package/lib/esm/adapter-express/express-utils/lazy-module-middleware.js +236 -0
  135. package/lib/esm/adapter-express/express-utils/middleware-composition.js +89 -0
  136. package/lib/esm/adapter-express/express-utils/path-pattern-compat.js +125 -0
  137. package/lib/esm/adapter-express/express-utils/permission-preloader.middleware.js +45 -0
  138. package/lib/esm/adapter-express/express-utils/resolver-multer.js +30 -0
  139. package/lib/esm/adapter-express/express-utils/route-constraints.js +100 -0
  140. package/lib/esm/adapter-express/express-utils/scope-extractor.interface.js +1 -0
  141. package/lib/esm/adapter-express/express-utils/scope-extractor.js +63 -0
  142. package/lib/esm/adapter-express/express-utils/setup-authorization.js +68 -0
  143. package/lib/esm/adapter-express/express-utils/setup-event-system.js +110 -0
  144. package/lib/esm/adapter-express/express-utils/setup-interceptors.js +100 -0
  145. package/lib/esm/adapter-express/express-utils/setup-lazy-loading.js +225 -0
  146. package/lib/esm/adapter-express/express-utils/utils.js +68 -0
  147. package/lib/esm/adapter-express/express-utils/validation-decorators.js +199 -0
  148. package/lib/esm/adapter-express/express-utils/validation-service.js +251 -0
  149. package/lib/esm/adapter-express/index.js +7 -0
  150. package/lib/esm/adapter-express/micro-api/application-express-micro-container.js +48 -0
  151. package/lib/esm/adapter-express/micro-api/application-express-micro-route.js +128 -0
  152. package/lib/esm/adapter-express/micro-api/application-express-micro.js +157 -0
  153. package/lib/esm/adapter-express/micro-api/gateway/circuit-breaker.js +174 -0
  154. package/lib/esm/adapter-express/micro-api/gateway/index.js +5 -0
  155. package/lib/esm/adapter-express/micro-api/gateway/service-proxy.js +210 -0
  156. package/lib/esm/adapter-express/micro-api/index.js +10 -0
  157. package/lib/esm/adapter-express/micro-api/micro.js +266 -0
  158. package/lib/esm/adapter-express/micro-api/queue/index.js +4 -0
  159. package/lib/esm/adapter-express/micro-api/queue/queue.interface.js +1 -0
  160. package/lib/esm/adapter-express/micro-api/queue/rabbitmq-consumer.js +229 -0
  161. package/lib/esm/adapter-express/micro-api/serverless/aws-lambda.adapter.js +180 -0
  162. package/lib/esm/adapter-express/micro-api/serverless/cloudflare.adapter.js +155 -0
  163. package/lib/esm/adapter-express/micro-api/serverless/index.js +6 -0
  164. package/lib/esm/adapter-express/micro-api/serverless/vercel.adapter.js +99 -0
  165. package/lib/esm/adapter-express/micro-api/service-mesh/index.js +5 -0
  166. package/lib/esm/adapter-express/micro-api/service-mesh/service-client.js +191 -0
  167. package/lib/esm/adapter-express/micro-api/service-mesh/service-discovery.js +259 -0
  168. package/lib/esm/adapter-express/middleware/index.js +5 -0
  169. package/lib/esm/adapter-express/middleware/request-logging.middleware.js +239 -0
  170. package/lib/esm/adapter-express/render/constants.js +37 -0
  171. package/lib/esm/adapter-express/render/engine.js +51 -0
  172. package/lib/esm/adapter-express/render/index.js +1 -0
  173. package/lib/esm/adapter-express/render/resolve-render.js +30 -0
  174. package/lib/esm/adapter-express/studio/index.js +1 -0
  175. package/lib/esm/adapter-express/studio/studio-integration.js +236 -0
  176. package/lib/esm/index.mjs +1 -0
  177. package/lib/esm/package.json +3 -0
  178. package/lib/esm/types/adapter-express/application-express.base.d.ts +77 -0
  179. package/lib/esm/types/adapter-express/application-express.d.ts +453 -0
  180. package/lib/esm/types/adapter-express/application-express.types.d.ts +23 -0
  181. package/lib/esm/types/adapter-express/express-utils/base-middleware.d.ts +8 -0
  182. package/lib/esm/types/adapter-express/express-utils/conditional-middleware.d.ts +97 -0
  183. package/lib/esm/types/adapter-express/express-utils/constants.d.ts +57 -0
  184. package/lib/esm/types/adapter-express/express-utils/content/httpContent.d.ts +6 -0
  185. package/lib/esm/types/adapter-express/express-utils/content-negotiation-decorators.d.ts +94 -0
  186. package/lib/esm/types/adapter-express/express-utils/decorators.d.ts +257 -0
  187. package/lib/esm/types/adapter-express/express-utils/exception-filter-decorators.d.ts +6 -0
  188. package/lib/esm/types/adapter-express/express-utils/guard-context-factory.d.ts +17 -0
  189. package/lib/esm/types/adapter-express/express-utils/guard-middleware.d.ts +22 -0
  190. package/lib/esm/types/adapter-express/express-utils/guard-utils.d.ts +11 -0
  191. package/lib/esm/types/adapter-express/express-utils/http-context-store.d.ts +20 -0
  192. package/lib/esm/types/adapter-express/express-utils/http-status-middleware.d.ts +26 -0
  193. package/lib/esm/types/adapter-express/express-utils/httpResponseMessage.d.ts +14 -0
  194. package/lib/esm/types/adapter-express/express-utils/index.d.ts +30 -0
  195. package/lib/esm/types/adapter-express/express-utils/interceptor-middleware.d.ts +40 -0
  196. package/lib/esm/types/adapter-express/express-utils/interfaces.d.ts +115 -0
  197. package/lib/esm/types/adapter-express/express-utils/inversify-express-server.d.ts +172 -0
  198. package/lib/esm/types/adapter-express/express-utils/lazy-module-middleware.d.ts +122 -0
  199. package/lib/esm/types/adapter-express/express-utils/middleware-composition.d.ts +85 -0
  200. package/lib/esm/types/adapter-express/express-utils/path-pattern-compat.d.ts +66 -0
  201. package/lib/esm/types/adapter-express/express-utils/permission-preloader.middleware.d.ts +10 -0
  202. package/lib/esm/types/adapter-express/express-utils/resolver-multer.d.ts +7 -0
  203. package/lib/esm/types/adapter-express/express-utils/route-constraints.d.ts +98 -0
  204. package/lib/esm/types/adapter-express/express-utils/scope-extractor.d.ts +21 -0
  205. package/lib/esm/types/adapter-express/express-utils/scope-extractor.interface.d.ts +12 -0
  206. package/lib/esm/types/adapter-express/express-utils/setup-authorization.d.ts +34 -0
  207. package/lib/esm/types/adapter-express/express-utils/setup-event-system.d.ts +118 -0
  208. package/lib/esm/types/adapter-express/express-utils/setup-interceptors.d.ts +115 -0
  209. package/lib/esm/types/adapter-express/express-utils/setup-lazy-loading.d.ts +123 -0
  210. package/lib/esm/types/adapter-express/express-utils/utils.d.ts +24 -0
  211. package/lib/esm/types/adapter-express/express-utils/validation-decorators.d.ts +145 -0
  212. package/lib/esm/types/adapter-express/express-utils/validation-service.d.ts +88 -0
  213. package/lib/esm/types/adapter-express/index.d.ts +7 -0
  214. package/lib/esm/types/adapter-express/micro-api/application-express-micro-container.d.ts +47 -0
  215. package/lib/esm/types/adapter-express/micro-api/application-express-micro-route.d.ts +104 -0
  216. package/lib/esm/types/adapter-express/micro-api/application-express-micro.d.ts +72 -0
  217. package/lib/esm/types/adapter-express/micro-api/gateway/circuit-breaker.d.ts +111 -0
  218. package/lib/esm/types/adapter-express/micro-api/gateway/index.d.ts +5 -0
  219. package/lib/esm/types/adapter-express/micro-api/gateway/service-proxy.d.ts +83 -0
  220. package/lib/esm/types/adapter-express/micro-api/index.d.ts +7 -0
  221. package/lib/esm/types/adapter-express/micro-api/micro.d.ts +83 -0
  222. package/lib/esm/types/adapter-express/micro-api/queue/index.d.ts +5 -0
  223. package/lib/esm/types/adapter-express/micro-api/queue/queue.interface.d.ts +60 -0
  224. package/lib/esm/types/adapter-express/micro-api/queue/rabbitmq-consumer.d.ts +86 -0
  225. package/lib/esm/types/adapter-express/micro-api/serverless/aws-lambda.adapter.d.ts +77 -0
  226. package/lib/esm/types/adapter-express/micro-api/serverless/cloudflare.adapter.d.ts +64 -0
  227. package/lib/esm/types/adapter-express/micro-api/serverless/index.d.ts +6 -0
  228. package/lib/esm/types/adapter-express/micro-api/serverless/vercel.adapter.d.ts +56 -0
  229. package/lib/esm/types/adapter-express/micro-api/service-mesh/index.d.ts +5 -0
  230. package/lib/esm/types/adapter-express/micro-api/service-mesh/service-client.d.ts +122 -0
  231. package/lib/esm/types/adapter-express/micro-api/service-mesh/service-discovery.d.ts +150 -0
  232. package/lib/esm/types/adapter-express/middleware/index.d.ts +5 -0
  233. package/lib/esm/types/adapter-express/middleware/request-logging.middleware.d.ts +65 -0
  234. package/lib/esm/types/adapter-express/render/constants.d.ts +26 -0
  235. package/lib/esm/types/adapter-express/render/engine.d.ts +20 -0
  236. package/lib/esm/types/adapter-express/render/index.d.ts +5 -0
  237. package/lib/esm/types/adapter-express/render/resolve-render.d.ts +7 -0
  238. package/lib/esm/types/adapter-express/studio/index.d.ts +1 -0
  239. package/lib/esm/types/adapter-express/studio/studio-integration.d.ts +170 -0
  240. package/lib/esm/types/index.d.ts +1 -0
  241. package/lib/package.json +170 -146
  242. package/package.json +170 -146
  243. package/lib/cjs/di/di.interfaces.js +0 -10
  244. package/lib/cjs/types/di/di.interfaces.d.ts +0 -289
package/LICENSE.md CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 Richard Zampieri
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Richard Zampieri
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,118 +1,61 @@
1
- <a name="readme-top"></a>
2
-
3
- <!-- PROJECT SHIELDS -->
4
-
5
- [![Codecov][codecov-shield]][codecov-url]
6
- [![NPM][npm-shield]][npm-url]
7
- ![Build][build-shield]
8
- [![Contributors][contributors-shield]][contributors-url]
9
- [![Forks][forks-shield]][forks-url]
10
- [![Stargazers][stars-shield]][stars-url]
11
- [![Issues][issues-shield]][issues-url]
12
- [![MIT License][license-shield]][license-url]
13
- [![LinkedIn][linkedin-shield]][linkedin-url]
14
-
15
- <!-- PROJECT LOGO -->
16
- <br />
17
- <div align="center">
18
- <a href="https://github.com/othneildrew/Best-README-Template">
19
- <img src="https://github.com/expressots/expressots/blob/main/media/expressots.png" alt="Logo" width="120">
20
- </a>
21
-
22
- <h3 align="center">ExpressoTS Framework</h3>
23
-
24
- <p align="center">
25
- Everything you need to know to build applications with ExpressoTS
26
- <br />
27
- <a href="https://doc.expresso-ts.com/"><strong>Explore the docs ยป</strong></a>
28
- <br />
29
- <br />
30
- <a href="https://github.com/expressots/expressots/discussions">Let's discuss</a>
31
- ยท
32
- <a href="https://github.com/expressots/expressots/issues">Report Bug</a>
33
- ยท
34
- <a href="https://github.com/expressots/expressots/issues">Request Feature</a>
35
- </p>
36
- </div>
37
-
38
- <!-- TABLE OF CONTENTS -->
39
- <details>
40
- <summary>Table of Contents</summary>
41
- <ol>
42
- <li><a href="#about-the-project">About The Project</a></li>
43
- <li><a href="#getting-started">Getting Started</a></li>
44
- <li><a href="#contributing">Contributing</a></li>
45
- <li><a href="#support-the-project">Support the project</a></li>
46
- <li><a href="#license">License</a></li>
47
- </ol>
48
- </details>
49
-
50
- <!-- ABOUT THE PROJECT -->
51
-
52
- # About The Project
53
-
54
- ExpressoTS is a [Typescript](https://www.typescriptlang.org/) + [Node.js](https://nodejs.org/en/) lightweight framework for quick building scalable, easy to read and maintain, server-side applications ๐ŸŽ
55
-
56
- ## Getting Started
57
-
58
- - Here is our [Site](https://expresso-ts.com/)
59
- - You can find our [Documentation here](https://doc.expresso-ts.com/)
60
- - Checkout our [First Steps documentation](https://doc.expresso-ts.com/docs/overview/first-steps)
61
- - Our [CLI Documentation](https://doc.expresso-ts.com/docs/cli/overview)
62
-
63
- ## Contributing
64
-
65
- Welcome to the ExpressoTS community, a place bustling with innovative minds just like yours. We're absolutely thrilled to have you here!
66
- ExpressoTS is more than just a TypeScript framework; it's a collective effort by developers who are passionate about creating a more efficient, secure, and robust web ecosystem. We firmly believe that the best ideas come from a diversity of perspectives, backgrounds, and skills.
67
-
68
- Why Contribute to Documentation?
69
-
70
- - **Share Knowledge**: If you've figured out something cool, why keep it to yourself?
71
- - **Build Your Portfolio**: Contributing to an open-source project like ExpressoTS is a great way to showcase your skills.
72
- - **Join a Network**: Get to know a community of like-minded developers.
73
- - **Improve the Product**: Help us fill in the gaps, correct errors, or make complex topics easier to understand.
74
-
75
- Ready to contribute?
76
-
77
- - [Contributing Guidelines](https://github.com/expressots/expressots/blob/main/CONTRIBUTING.md)
78
- - [How to Contribute](https://github.com/expressots/expressots/blob/main/CONTRIBUTING_HOWTO.md)
79
- - [Coding Guidelines](https://github.com/rsaz/TypescriptCodingGuidelines)
80
-
81
- ## Support the project
82
-
83
- ExpressoTS is an independent open source project with ongoing development made possible thanks to your support. If you'd like to help, please consider:
84
-
85
- - Become a **[sponsor on GitHub](https://github.com/sponsors/expressots)**
86
- - Follow the **[organization](https://github.com/expressots)** on GitHub and Star โญ the project
87
- - Subscribe to the Twitch channel: **[Richard Zampieri](https://www.twitch.tv/richardzampieri)**
88
- - Join our **[Discord](https://discord.com/invite/PyPJfGK)**
89
- - Contribute submitting **[issues and pull requests](https://github.com/expressots/expressots/issues)**
90
- - Share the project with your friends and colleagues
91
-
92
- ## License
93
-
94
- Distributed under the MIT License. See [`LICENSE.txt`](https://github.com/expressots/expressots/blob/main/LICENSE) for more information.
95
-
96
- <p align="right">(<a href="#readme-top">back to top</a>)</p>
97
-
98
- <!-- MARKDOWN LINKS & IMAGES -->
99
- <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
100
-
101
- [codecov-url]: https://codecov.io/gh/expressots/adapter-express
102
- [codecov-shield]: https://img.shields.io/codecov/c/gh/expressots/adapter-express/main?style=for-the-badge&logo=codecov&labelColor=FB9AD1
103
- [npm-url]: https://www.npmjs.com/package/@expressots/adapter-express
104
- [npm-shield]: https://img.shields.io/npm/v/@expressots/adapter-express?style=for-the-badge&logo=npm&color=9B3922
105
- [build-shield]: https://img.shields.io/github/actions/workflow/status/expressots/adapter-express/build.yaml?branch=main&style=for-the-badge&logo=github
106
- [contributors-shield]: https://img.shields.io/github/contributors/expressots/adapter-express?style=for-the-badge
107
- [contributors-url]: https://github.com/expressots/adapter-express/graphs/contributors
108
- [forks-shield]: https://img.shields.io/github/forks/expressots/adapter-express?style=for-the-badge
109
- [forks-url]: https://github.com/expressots/adapter-express/forks
110
- [stars-shield]: https://img.shields.io/github/stars/expressots/adapter-express?style=for-the-badge
111
- [stars-url]: https://github.com/expressots/adapter-express/stargazers
112
- [issues-shield]: https://img.shields.io/github/issues/expressots/adapter-express?style=for-the-badge
113
- [issues-url]: https://github.com/expressots/expressadapter-expressots/issues
114
- [license-shield]: https://img.shields.io/github/license/expressots/adapter-express?style=for-the-badge
115
- [license-url]: https://github.com/expressots/adapter-express/blob/main/LICENSE
116
- [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
117
- [linkedin-url]: https://www.linkedin.com/company/expresso-ts/
118
- [product-screenshot]: images/screenshot.png
1
+ <div align="center">
2
+ <a href="https://expresso-ts.com">
3
+ <img src="https://github.com/expressots/expressots/blob/main/media/expressots.png" alt="ExpressoTS" width="120">
4
+ </a>
5
+
6
+ <h1>@expressots/adapter-express</h1>
7
+
8
+ <p>Express HTTP adapter for ExpressoTS โ€” connects the framework core to the Express.js server engine.</p>
9
+
10
+ <p>
11
+ <a href="https://www.npmjs.com/package/@expressots/adapter-express"><img src="https://img.shields.io/npm/v/@expressots/adapter-express?style=flat&color=0d0d0d" alt="npm"></a>
12
+ <a href="https://github.com/expressots/adapter-express/blob/main/LICENSE.md"><img src="https://img.shields.io/github/license/expressots/adapter-express?style=flat&color=0d0d0d" alt="License"></a>
13
+ <a href="https://discord.com/invite/PyPJfGK"><img src="https://img.shields.io/badge/Discord-join-0d0d0d?logo=discord&logoColor=white" alt="Discord"></a>
14
+ </p>
15
+
16
+ <p>
17
+ <a href="https://doc.expresso-ts.com">Documentation</a> ยท
18
+ <a href="https://doc.expresso-ts.com/docs/core/first-steps">Getting Started</a> ยท
19
+ <a href="https://discord.com/invite/PyPJfGK">Community</a>
20
+ </p>
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ npm i @expressots/adapter-express
29
+ ```
30
+
31
+ ## What This Package Does
32
+
33
+ This adapter bridges ExpressoTS Core and Express.js. It provides the HTTP server implementation, route registration, middleware pipeline, and the `App` class that wires everything together. Install it alongside `@expressots/core` to run ExpressoTS on Express.
34
+
35
+ ## Quick Look
36
+
37
+ ```typescript
38
+ import { ExpressAdapter } from "@expressots/adapter-express";
39
+
40
+ // Used as the server adapter when bootstrapping your ExpressoTS application
41
+ const app = await AppFactory.create(App, ExpressAdapter);
42
+ await app.listen(3000, "development");
43
+ ```
44
+
45
+ ## Documentation
46
+
47
+ For guides, API reference, architecture patterns, and examples visit **[doc.expresso-ts.com](https://doc.expresso-ts.com)**.
48
+
49
+ ## Contributing
50
+
51
+ See the [Contributing Guide](https://github.com/expressots/expressots/blob/main/CONTRIBUTING.md) for how to get involved.
52
+
53
+ ## Support
54
+
55
+ - [GitHub Sponsors](https://github.com/sponsors/expressots)
56
+ - [Discord](https://discord.com/invite/PyPJfGK)
57
+ - [Report an Issue](https://github.com/expressots/adapter-express/issues)
58
+
59
+ ## License
60
+
61
+ MIT โ€” see [LICENSE](./LICENSE.md).
package/lib/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
-
2
-
1
+ ## [4.0.0-preview.3](https://github.com/expressots/adapter-express/compare/3.0.0...4.0.0-preview.3) (2026-05-25)
2
+
3
+ Part of the ExpressoTS **v4.0.0 preview bundle**. See the [v4.0.0 release notes](https://expresso-ts.com/docs/4.0.0/prologue/release) and the [upgrade guide](https://expresso-ts.com/docs/4.0.0/prologue/upgrade_guide) for the full picture.
4
+
5
+ ### Features
6
+
7
+ * **Express 5:** upgraded to Express `^5.1.0` and `@types/express@^5`. Route registration uses `app.use(handler)` for the global HttpContext middleware (was `app.all("*", ...)`) so we are forward-compatible with `path-to-regexp` v8.
8
+ * **AppExpress lifecycle:** `globalConfiguration`, `configureServices`, `postServerInitialization`, `serverShutdown` hooks fully wired with async support; `setGlobalRoutePrefix`, `setBanner({ style, showMetrics })`, `isDevelopment()`, `getPort()` helpers.
9
+ * **systems setup helpers:** `setupInterceptorsForExpress`, `setupEventSystemForExpress`, `setupLazyLoadingForExpress`, `setupAuthorizationForExpress` โ€” one-call wiring for the new core subsystems with consistent return-shape diagnostics (`interceptorsRegistered`, `handlersDiscovered`, `lazyModulesCount`, `routeMappings`, ...).
10
+ * **`micro()` API:** single-file Express apps with auto-response serialisation, optional global route prefix, environment-aware banner, and `setErrorHandler`.
11
+ * **serverless adapters:** `awsLambdaAdapter`, `vercelAdapter`, `cloudflareAdapter` โ€” same code runs locally and on the target platform with binary content-type and base64 handling.
12
+ * **microservices primitives:** `CircuitBreaker`, `ServiceDiscovery` (static + dynamic), `ServiceClient` (timeouts, retries, circuit-breaker integration), `ServiceProxy` via `createProxy` with `pathRewrite` / `changeOrigin` / `onError`.
13
+ * **content negotiation runtime + decorators:** `@Accept`, `@Consumes`, `@Produces`, `StreamResponse` decorators; `addContentNegotiation` middleware factory with `XmlOptions`, `CsvOptions`, `YamlOptions`, quality-value support, lazy formatter loading; built-in JSON / XML / CSV / YAML / Text formatters.
14
+ * **route constraints + API versioning:** `@Version` decorator, `Patterns` route-constraint catalogue (`NUMERIC_ID`, `UUID`, `SLUG`, `ALPHA`, `ALPHANUMERIC`, `ANY_PATH`), URL / header / query versioning helpers.
15
+ * **smart validation runtime:** `Middleware.addValidation({ smartDetection, autoDetection, errorFormat })`.
16
+ * **request logging middleware:** `createRequestLoggingMiddleware(logger, { verbosity, logBody, logHeaders, slowRequestThreshold, requestIdHeader, correlationIdHeader })`.
17
+ * **route, body, query, params, header decorators:** `@Get/@Post/@Put/@Delete/@Patch`, `@body`, `@query`, `@param`, `@headers`.
18
+ * **exception filter middleware:** `Middleware.setErrorHandler({ showStackTrace, enableExceptionFilters })`.
19
+ * **studio agent integration:** `@expressots/studio-agent` is an optional peer dependency โ€” adapter-express dynamically imports it only when `NODE_ENV=development` and the package is installed; production deployments pay zero runtime cost. Detection now uses `createRequire(import.meta.url)` so it works in both CJS and ESM consumers.
20
+
21
+ ### Bug Fixes
22
+
23
+ * **import-time stdio:** importing `@expressots/adapter-express` no longer mutates `process.stdout.write`, `process.stderr.write`, or `console.*`. Banner-first log buffering is now opt-in: `bootstrap()` activates it before app construction, the `AppExpress` constructor is a safety net, and `micro()` keeps disabling it on entry. Test harnesses, type-only consumers, and IDE tooling that import the module without booting an app see normal stdio. (Regression test: `application-express.early.spec/no-import-side-effects.early.spec.ts`.)
24
+ * **runtime dep classification:** `@expressots/core` and `@expressots/shared` are now declared in `dependencies` (previously misclassified as `devDependencies`). Fresh `npm install @expressots/adapter-express` no longer throws `Cannot find module '@expressots/core'`.
25
+ * `setupAuthorizationForExpress` signature corrected to `(container, config?, middleware?, authProvider?)` so the auth provider is passed as the fourth argument rather than inside the config object.
26
+
27
+ ### Breaking Changes
28
+
29
+ * **Express 5** is now required. Most apps need no changes; review the [Express 5 migration guide](https://expressjs.com/en/guide/migrating-5.html) if you used `req.param()`, `app.del()`, or path patterns like `:foo?` / `:foo*`.
30
+ * All `AppExpress` lifecycle methods are now async; `await` them or rely on the bootstrap pipeline to drive them.
31
+ * `getHttpServer()` now returns an `http.Server` instance (was `AppExpress` in v3).
32
+ * `server.listen(0)` now resolves to a randomly assigned port and the actual port is observable via `getHttpServer().address()`.
33
+
3
34
  ## [3.0.0](https://github.com/expressots/adapter-express/compare/3.0.0-beta.3...3.0.0) (2024-12-04)
4
35
 
5
36
 
@@ -13,8 +44,8 @@
13
44
 
14
45
  ### Tests
15
46
 
16
- * update tests for globalConfiguration, isDevelopment, getHttpServer, serverShutdown ([17b7d92](https://github.com/expressots/adapter-express/commit/17b7d92e87f4ad0d14a386e8351c723e1392a5c3))
17
-
47
+ * update tests for globalConfiguration, isDevelopment, getHttpServer, serverShutdown ([17b7d92](https://github.com/expressots/adapter-express/commit/17b7d92e87f4ad0d14a386e8351c723e1392a5c3))
48
+
18
49
  ## [3.0.0-beta.4.2](https://github.com/expressots/adapter-express/compare/3.0.0-beta.3...3.0.0) (2024-12-03)
19
50
 
20
51
  ### Code Refactoring
@@ -292,4 +323,4 @@
292
323
 
293
324
  ### Bug Fixes
294
325
 
295
- - testing commitlint ([0e78653](https://github.com/expressots/<<repo_name>>/commit/0e786539402f69fdca3fe5b684d850e523db7698))
326
+ - testing commitlint ([0e78653](https://github.com/expressots/<<repo_name>>/commit/0e786539402f69fdca3fe5b684d850e523db7698))
package/lib/README.md CHANGED
@@ -1,118 +1,61 @@
1
- <a name="readme-top"></a>
2
-
3
- <!-- PROJECT SHIELDS -->
4
-
5
- [![Codecov][codecov-shield]][codecov-url]
6
- [![NPM][npm-shield]][npm-url]
7
- ![Build][build-shield]
8
- [![Contributors][contributors-shield]][contributors-url]
9
- [![Forks][forks-shield]][forks-url]
10
- [![Stargazers][stars-shield]][stars-url]
11
- [![Issues][issues-shield]][issues-url]
12
- [![MIT License][license-shield]][license-url]
13
- [![LinkedIn][linkedin-shield]][linkedin-url]
14
-
15
- <!-- PROJECT LOGO -->
16
- <br />
17
- <div align="center">
18
- <a href="https://github.com/othneildrew/Best-README-Template">
19
- <img src="https://github.com/expressots/expressots/blob/main/media/expressots.png" alt="Logo" width="120">
20
- </a>
21
-
22
- <h3 align="center">ExpressoTS Framework</h3>
23
-
24
- <p align="center">
25
- Everything you need to know to build applications with ExpressoTS
26
- <br />
27
- <a href="https://doc.expresso-ts.com/"><strong>Explore the docs ยป</strong></a>
28
- <br />
29
- <br />
30
- <a href="https://github.com/expressots/expressots/discussions">Let's discuss</a>
31
- ยท
32
- <a href="https://github.com/expressots/expressots/issues">Report Bug</a>
33
- ยท
34
- <a href="https://github.com/expressots/expressots/issues">Request Feature</a>
35
- </p>
36
- </div>
37
-
38
- <!-- TABLE OF CONTENTS -->
39
- <details>
40
- <summary>Table of Contents</summary>
41
- <ol>
42
- <li><a href="#about-the-project">About The Project</a></li>
43
- <li><a href="#getting-started">Getting Started</a></li>
44
- <li><a href="#contributing">Contributing</a></li>
45
- <li><a href="#support-the-project">Support the project</a></li>
46
- <li><a href="#license">License</a></li>
47
- </ol>
48
- </details>
49
-
50
- <!-- ABOUT THE PROJECT -->
51
-
52
- # About The Project
53
-
54
- ExpressoTS is a [Typescript](https://www.typescriptlang.org/) + [Node.js](https://nodejs.org/en/) lightweight framework for quick building scalable, easy to read and maintain, server-side applications ๐ŸŽ
55
-
56
- ## Getting Started
57
-
58
- - Here is our [Site](https://expresso-ts.com/)
59
- - You can find our [Documentation here](https://doc.expresso-ts.com/)
60
- - Checkout our [First Steps documentation](https://doc.expresso-ts.com/docs/overview/first-steps)
61
- - Our [CLI Documentation](https://doc.expresso-ts.com/docs/cli/overview)
62
-
63
- ## Contributing
64
-
65
- Welcome to the ExpressoTS community, a place bustling with innovative minds just like yours. We're absolutely thrilled to have you here!
66
- ExpressoTS is more than just a TypeScript framework; it's a collective effort by developers who are passionate about creating a more efficient, secure, and robust web ecosystem. We firmly believe that the best ideas come from a diversity of perspectives, backgrounds, and skills.
67
-
68
- Why Contribute to Documentation?
69
-
70
- - **Share Knowledge**: If you've figured out something cool, why keep it to yourself?
71
- - **Build Your Portfolio**: Contributing to an open-source project like ExpressoTS is a great way to showcase your skills.
72
- - **Join a Network**: Get to know a community of like-minded developers.
73
- - **Improve the Product**: Help us fill in the gaps, correct errors, or make complex topics easier to understand.
74
-
75
- Ready to contribute?
76
-
77
- - [Contributing Guidelines](https://github.com/expressots/expressots/blob/main/CONTRIBUTING.md)
78
- - [How to Contribute](https://github.com/expressots/expressots/blob/main/CONTRIBUTING_HOWTO.md)
79
- - [Coding Guidelines](https://github.com/rsaz/TypescriptCodingGuidelines)
80
-
81
- ## Support the project
82
-
83
- ExpressoTS is an independent open source project with ongoing development made possible thanks to your support. If you'd like to help, please consider:
84
-
85
- - Become a **[sponsor on GitHub](https://github.com/sponsors/expressots)**
86
- - Follow the **[organization](https://github.com/expressots)** on GitHub and Star โญ the project
87
- - Subscribe to the Twitch channel: **[Richard Zampieri](https://www.twitch.tv/richardzampieri)**
88
- - Join our **[Discord](https://discord.com/invite/PyPJfGK)**
89
- - Contribute submitting **[issues and pull requests](https://github.com/expressots/expressots/issues)**
90
- - Share the project with your friends and colleagues
91
-
92
- ## License
93
-
94
- Distributed under the MIT License. See [`LICENSE.txt`](https://github.com/expressots/expressots/blob/main/LICENSE) for more information.
95
-
96
- <p align="right">(<a href="#readme-top">back to top</a>)</p>
97
-
98
- <!-- MARKDOWN LINKS & IMAGES -->
99
- <!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
100
-
101
- [codecov-url]: https://codecov.io/gh/expressots/adapter-express
102
- [codecov-shield]: https://img.shields.io/codecov/c/gh/expressots/adapter-express/main?style=for-the-badge&logo=codecov&labelColor=FB9AD1
103
- [npm-url]: https://www.npmjs.com/package/@expressots/adapter-express
104
- [npm-shield]: https://img.shields.io/npm/v/@expressots/adapter-express?style=for-the-badge&logo=npm&color=9B3922
105
- [build-shield]: https://img.shields.io/github/actions/workflow/status/expressots/adapter-express/build.yaml?branch=main&style=for-the-badge&logo=github
106
- [contributors-shield]: https://img.shields.io/github/contributors/expressots/adapter-express?style=for-the-badge
107
- [contributors-url]: https://github.com/expressots/adapter-express/graphs/contributors
108
- [forks-shield]: https://img.shields.io/github/forks/expressots/adapter-express?style=for-the-badge
109
- [forks-url]: https://github.com/expressots/adapter-express/forks
110
- [stars-shield]: https://img.shields.io/github/stars/expressots/adapter-express?style=for-the-badge
111
- [stars-url]: https://github.com/expressots/adapter-express/stargazers
112
- [issues-shield]: https://img.shields.io/github/issues/expressots/adapter-express?style=for-the-badge
113
- [issues-url]: https://github.com/expressots/expressadapter-expressots/issues
114
- [license-shield]: https://img.shields.io/github/license/expressots/adapter-express?style=for-the-badge
115
- [license-url]: https://github.com/expressots/adapter-express/blob/main/LICENSE
116
- [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555
117
- [linkedin-url]: https://www.linkedin.com/company/expresso-ts/
118
- [product-screenshot]: images/screenshot.png
1
+ <div align="center">
2
+ <a href="https://expresso-ts.com">
3
+ <img src="https://github.com/expressots/expressots/blob/main/media/expressots.png" alt="ExpressoTS" width="120">
4
+ </a>
5
+
6
+ <h1>@expressots/adapter-express</h1>
7
+
8
+ <p>Express HTTP adapter for ExpressoTS โ€” connects the framework core to the Express.js server engine.</p>
9
+
10
+ <p>
11
+ <a href="https://www.npmjs.com/package/@expressots/adapter-express"><img src="https://img.shields.io/npm/v/@expressots/adapter-express?style=flat&color=0d0d0d" alt="npm"></a>
12
+ <a href="https://github.com/expressots/adapter-express/blob/main/LICENSE.md"><img src="https://img.shields.io/github/license/expressots/adapter-express?style=flat&color=0d0d0d" alt="License"></a>
13
+ <a href="https://discord.com/invite/PyPJfGK"><img src="https://img.shields.io/badge/Discord-join-0d0d0d?logo=discord&logoColor=white" alt="Discord"></a>
14
+ </p>
15
+
16
+ <p>
17
+ <a href="https://doc.expresso-ts.com">Documentation</a> ยท
18
+ <a href="https://doc.expresso-ts.com/docs/core/first-steps">Getting Started</a> ยท
19
+ <a href="https://discord.com/invite/PyPJfGK">Community</a>
20
+ </p>
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## Install
26
+
27
+ ```bash
28
+ npm i @expressots/adapter-express
29
+ ```
30
+
31
+ ## What This Package Does
32
+
33
+ This adapter bridges ExpressoTS Core and Express.js. It provides the HTTP server implementation, route registration, middleware pipeline, and the `App` class that wires everything together. Install it alongside `@expressots/core` to run ExpressoTS on Express.
34
+
35
+ ## Quick Look
36
+
37
+ ```typescript
38
+ import { ExpressAdapter } from "@expressots/adapter-express";
39
+
40
+ // Used as the server adapter when bootstrapping your ExpressoTS application
41
+ const app = await AppFactory.create(App, ExpressAdapter);
42
+ await app.listen(3000, "development");
43
+ ```
44
+
45
+ ## Documentation
46
+
47
+ For guides, API reference, architecture patterns, and examples visit **[doc.expresso-ts.com](https://doc.expresso-ts.com)**.
48
+
49
+ ## Contributing
50
+
51
+ See the [Contributing Guide](https://github.com/expressots/expressots/blob/main/CONTRIBUTING.md) for how to get involved.
52
+
53
+ ## Support
54
+
55
+ - [GitHub Sponsors](https://github.com/sponsors/expressots)
56
+ - [Discord](https://discord.com/invite/PyPJfGK)
57
+ - [Report an Issue](https://github.com/expressots/adapter-express/issues)
58
+
59
+ ## License
60
+
61
+ MIT โ€” see [LICENSE](./LICENSE.md).
@@ -15,7 +15,9 @@ exports.ApplicationBase = void 0;
15
15
  * class Application extends ApplicationBase {
16
16
  * protected configureServices() { //... }
17
17
  * protected postServerInitialization() { //... }
18
- * protected serverShutdown() { //... }
18
+ * protected serverShutdown(signal) {
19
+ * console.log(`Shutting down due to ${signal}`);
20
+ * }
19
21
  * }
20
22
  *
21
23
  * @export