@sima-land/isomorph 10.1.0 → 11.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/cache/types.d.ts +7 -0
  2. package/cache/types.js +3 -0
  3. package/cache/types.js.map +1 -0
  4. package/config/browser.d.ts +6 -0
  5. package/config/browser.js +13 -0
  6. package/config/browser.js.map +1 -0
  7. package/config/index.d.ts +7 -0
  8. package/config/index.js +20 -0
  9. package/config/index.js.map +1 -0
  10. package/config/node.d.ts +6 -0
  11. package/config/node.js +19 -0
  12. package/config/node.js.map +1 -0
  13. package/config/types.d.ts +7 -0
  14. package/config/types.js +3 -0
  15. package/config/types.js.map +1 -0
  16. package/config/utils.d.ts +5 -0
  17. package/config/utils.js +12 -0
  18. package/config/utils.js.map +1 -0
  19. package/container/application.d.ts +25 -0
  20. package/container/application.js +63 -0
  21. package/container/application.js.map +1 -0
  22. package/container/index.d.ts +16 -13
  23. package/container/index.js +60 -161
  24. package/container/index.js.map +1 -1
  25. package/container/types.d.ts +14 -0
  26. package/container/types.js +3 -0
  27. package/container/types.js.map +1 -0
  28. package/error-tracker/browser.d.ts +8 -0
  29. package/error-tracker/browser.js +40 -0
  30. package/error-tracker/browser.js.map +1 -0
  31. package/error-tracker/node.d.ts +8 -0
  32. package/error-tracker/node.js +40 -0
  33. package/error-tracker/node.js.map +1 -0
  34. package/error-tracker/types.d.ts +18 -0
  35. package/error-tracker/types.js +3 -0
  36. package/error-tracker/types.js.map +1 -0
  37. package/error-tracker/utils.d.ts +12 -0
  38. package/error-tracker/utils.js +19 -0
  39. package/error-tracker/utils.js.map +1 -0
  40. package/http-client/middleware/cookie.d.ts +19 -0
  41. package/http-client/middleware/cookie.js +62 -0
  42. package/http-client/middleware/cookie.js.map +1 -0
  43. package/http-client/middleware/tracing.d.ts +32 -0
  44. package/http-client/middleware/tracing.js +67 -0
  45. package/http-client/middleware/tracing.js.map +1 -0
  46. package/http-client/sauce/index.d.ts +27 -0
  47. package/http-client/sauce/index.js +33 -0
  48. package/http-client/sauce/index.js.map +1 -0
  49. package/http-client/types.d.ts +6 -0
  50. package/http-client/types.js +3 -0
  51. package/http-client/types.js.map +1 -0
  52. package/http-client/utils.d.ts +9 -0
  53. package/http-client/utils.js +20 -0
  54. package/http-client/utils.js.map +1 -0
  55. package/http-server/constants.d.ts +4 -0
  56. package/http-server/constants.js +8 -0
  57. package/http-server/constants.js.map +1 -0
  58. package/http-server/handler/health-check.d.ts +6 -0
  59. package/http-server/handler/health-check.js +15 -0
  60. package/http-server/handler/health-check.js.map +1 -0
  61. package/http-server/middleware/logging.d.ts +10 -0
  62. package/http-server/middleware/logging.js +31 -0
  63. package/http-server/middleware/logging.js.map +1 -0
  64. package/http-server/middleware/metrics.d.ts +23 -0
  65. package/http-server/middleware/metrics.js +60 -0
  66. package/http-server/middleware/metrics.js.map +1 -0
  67. package/http-server/middleware/tracing.d.ts +8 -0
  68. package/http-server/middleware/tracing.js +33 -0
  69. package/http-server/middleware/tracing.js.map +1 -0
  70. package/http-server/template/index.d.ts +1 -0
  71. package/http-server/template/index.js +36 -0
  72. package/http-server/template/index.js.map +1 -0
  73. package/http-server/types.d.ts +33 -0
  74. package/http-server/types.js +3 -0
  75. package/http-server/types.js.map +1 -0
  76. package/http-server/utils.d.ts +30 -0
  77. package/http-server/utils.js +100 -0
  78. package/http-server/utils.js.map +1 -0
  79. package/logger/handler/console.d.ts +8 -0
  80. package/logger/handler/console.js +36 -0
  81. package/logger/handler/console.js.map +1 -0
  82. package/logger/handler/sentry.d.ts +8 -0
  83. package/logger/handler/sentry.js +36 -0
  84. package/logger/handler/sentry.js.map +1 -0
  85. package/logger/index.d.ts +6 -0
  86. package/logger/index.js +31 -0
  87. package/logger/index.js.map +1 -0
  88. package/logger/types.d.ts +24 -0
  89. package/logger/types.js +3 -0
  90. package/logger/types.js.map +1 -0
  91. package/metrics/constants.d.ts +4 -0
  92. package/metrics/constants.js +8 -0
  93. package/metrics/constants.js.map +1 -0
  94. package/metrics/node.d.ts +18 -0
  95. package/metrics/node.js +74 -0
  96. package/metrics/node.js.map +1 -0
  97. package/package.json +44 -63
  98. package/preset/index.d.ts +7 -0
  99. package/preset/index.js +25 -0
  100. package/preset/index.js.map +1 -0
  101. package/preset/node/index.d.ts +15 -0
  102. package/preset/node/index.js +90 -0
  103. package/preset/node/index.js.map +1 -0
  104. package/preset/node/response.d.ts +17 -0
  105. package/preset/node/response.js +78 -0
  106. package/preset/node/response.js.map +1 -0
  107. package/preset/types.d.ts +7 -0
  108. package/preset/types.js +3 -0
  109. package/preset/types.js.map +1 -0
  110. package/saga-runner/index.d.ts +8 -0
  111. package/saga-runner/index.js +79 -0
  112. package/saga-runner/index.js.map +1 -0
  113. package/saga-runner/types.d.ts +10 -0
  114. package/saga-runner/types.js +3 -0
  115. package/saga-runner/types.js.map +1 -0
  116. package/tokens.d.ts +41 -0
  117. package/tokens.js +44 -0
  118. package/tokens.js.map +1 -0
  119. package/tracer/node.d.ts +10 -0
  120. package/tracer/node.js +38 -0
  121. package/tracer/node.js.map +1 -0
  122. package/tracer/types.d.ts +2 -0
  123. package/tracer/types.js +3 -0
  124. package/tracer/types.js.map +1 -0
  125. package/{browser → utils/browser}/analytics/data-layer.d.ts +0 -0
  126. package/{browser → utils/browser}/analytics/data-layer.js +1 -2
  127. package/utils/browser/analytics/data-layer.js.map +1 -0
  128. package/{browser → utils/browser}/analytics/oko.d.ts +0 -0
  129. package/{browser → utils/browser}/analytics/oko.js +6 -7
  130. package/utils/browser/analytics/oko.js.map +1 -0
  131. package/utils/browser/storage/index.d.ts +4 -0
  132. package/utils/browser/storage/index.js +63 -0
  133. package/utils/browser/storage/index.js.map +1 -0
  134. package/utils/number.d.ts +6 -0
  135. package/utils/number.js +13 -0
  136. package/utils/number.js.map +1 -0
  137. package/utils/react/error-handlers/index.d.ts +38 -0
  138. package/utils/react/error-handlers/index.js +47 -0
  139. package/utils/react/error-handlers/index.js.map +1 -0
  140. package/utils/redux/remote-data.d.ts +23 -0
  141. package/utils/redux/remote-data.js +28 -0
  142. package/utils/redux/remote-data.js.map +1 -0
  143. package/utils/redux-saga/take-chain.d.ts +24 -0
  144. package/utils/redux-saga/take-chain.js +56 -0
  145. package/utils/redux-saga/take-chain.js.map +1 -0
  146. package/utils/webpack/module-federation/index.d.ts +21 -0
  147. package/utils/webpack/module-federation/index.js +74 -0
  148. package/utils/webpack/module-federation/index.js.map +1 -0
  149. package/utils/webpack/module-federation/types.d.ts +26 -0
  150. package/utils/webpack/module-federation/types.js +3 -0
  151. package/utils/webpack/module-federation/types.js.map +1 -0
  152. package/utils/webpack/module-federation/utils.d.ts +15 -0
  153. package/utils/webpack/module-federation/utils.js +36 -0
  154. package/utils/webpack/module-federation/utils.js.map +1 -0
  155. package/browser/analytics/data-layer.js.map +0 -1
  156. package/browser/analytics/oko.js.map +0 -1
  157. package/cache/helpers.d.ts +0 -4
  158. package/cache/helpers.js +0 -39
  159. package/cache/helpers.js.map +0 -1
  160. package/cache/local-storage.d.ts +0 -34
  161. package/cache/local-storage.js +0 -90
  162. package/cache/local-storage.js.map +0 -1
  163. package/cache/redis.d.ts +0 -10
  164. package/cache/redis.js +0 -54
  165. package/cache/redis.js.map +0 -1
  166. package/cache/wrap-in-trace.d.ts +0 -8
  167. package/cache/wrap-in-trace.js +0 -68
  168. package/cache/wrap-in-trace.js.map +0 -1
  169. package/config/create.d.ts +0 -8
  170. package/config/create.js +0 -32
  171. package/config/create.js.map +0 -1
  172. package/config/helpers.d.ts +0 -11
  173. package/config/helpers.js +0 -71
  174. package/config/helpers.js.map +0 -1
  175. package/config/validate.d.ts +0 -18
  176. package/config/validate.js +0 -107
  177. package/config/validate.js.map +0 -1
  178. package/container/create-inject.d.ts +0 -7
  179. package/container/create-inject.js +0 -36
  180. package/container/create-inject.js.map +0 -1
  181. package/container/get-dependencies.d.ts +0 -13
  182. package/container/get-dependencies.js +0 -54
  183. package/container/get-dependencies.js.map +0 -1
  184. package/container/is-container.d.ts +0 -7
  185. package/container/is-container.js +0 -17
  186. package/container/is-container.js.map +0 -1
  187. package/container/service-not-found-error.d.ts +0 -10
  188. package/container/service-not-found-error.js +0 -18
  189. package/container/service-not-found-error.js.map +0 -1
  190. package/create-proxy/create-proxy-middleware/index.d.ts +0 -16
  191. package/create-proxy/create-proxy-middleware/index.js +0 -47
  192. package/create-proxy/create-proxy-middleware/index.js.map +0 -1
  193. package/create-proxy/index.d.ts +0 -12
  194. package/create-proxy/index.js +0 -25
  195. package/create-proxy/index.js.map +0 -1
  196. package/create-response-sender/index.d.ts +0 -8
  197. package/create-response-sender/index.js +0 -42
  198. package/create-response-sender/index.js.map +0 -1
  199. package/get-dynamic-data/index.d.ts +0 -8
  200. package/get-dynamic-data/index.js +0 -23
  201. package/get-dynamic-data/index.js.map +0 -1
  202. package/graceful-shutdown/index.d.ts +0 -26
  203. package/graceful-shutdown/index.js +0 -87
  204. package/graceful-shutdown/index.js.map +0 -1
  205. package/helpers/add-error-handling/index.d.ts +0 -1
  206. package/helpers/add-error-handling/index.js +0 -42
  207. package/helpers/add-error-handling/index.js.map +0 -1
  208. package/helpers/api/create-enhancer.d.ts +0 -12
  209. package/helpers/api/create-enhancer.js +0 -52
  210. package/helpers/api/create-enhancer.js.map +0 -1
  211. package/helpers/api/create-instance.d.ts +0 -11
  212. package/helpers/api/create-instance.js +0 -39
  213. package/helpers/api/create-instance.js.map +0 -1
  214. package/helpers/api/middlewares/collect-cookie-middleware.d.ts +0 -10
  215. package/helpers/api/middlewares/collect-cookie-middleware.js +0 -39
  216. package/helpers/api/middlewares/collect-cookie-middleware.js.map +0 -1
  217. package/helpers/api/middlewares/count-api-response-time.d.ts +0 -12
  218. package/helpers/api/middlewares/count-api-response-time.js +0 -39
  219. package/helpers/api/middlewares/count-api-response-time.js.map +0 -1
  220. package/helpers/api/middlewares/error-handlers-middlewares.d.ts +0 -5
  221. package/helpers/api/middlewares/error-handlers-middlewares.js +0 -114
  222. package/helpers/api/middlewares/error-handlers-middlewares.js.map +0 -1
  223. package/helpers/api/middlewares/helpers.d.ts +0 -11
  224. package/helpers/api/middlewares/helpers.js +0 -27
  225. package/helpers/api/middlewares/helpers.js.map +0 -1
  226. package/helpers/api/middlewares/pass-headers-middleware.d.ts +0 -3
  227. package/helpers/api/middlewares/pass-headers-middleware.js +0 -27
  228. package/helpers/api/middlewares/pass-headers-middleware.js.map +0 -1
  229. package/helpers/api/middlewares/prepare-request-headers.d.ts +0 -5
  230. package/helpers/api/middlewares/prepare-request-headers.js +0 -20
  231. package/helpers/api/middlewares/prepare-request-headers.js.map +0 -1
  232. package/helpers/api/middlewares/set-http-agents-middleware.d.ts +0 -15
  233. package/helpers/api/middlewares/set-http-agents-middleware.js +0 -34
  234. package/helpers/api/middlewares/set-http-agents-middleware.js.map +0 -1
  235. package/helpers/api/middlewares/stages-trace-middleware.d.ts +0 -17
  236. package/helpers/api/middlewares/stages-trace-middleware.js +0 -57
  237. package/helpers/api/middlewares/stages-trace-middleware.js.map +0 -1
  238. package/helpers/api/middlewares/trace-request-middleware.d.ts +0 -24
  239. package/helpers/api/middlewares/trace-request-middleware.js +0 -69
  240. package/helpers/api/middlewares/trace-request-middleware.js.map +0 -1
  241. package/helpers/api/server-adapter/__fixtures__/fake-keys.d.ts +0 -10
  242. package/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -61
  243. package/helpers/api/server-adapter/__fixtures__/fake-keys.js.map +0 -1
  244. package/helpers/api/server-adapter/constants.d.ts +0 -5
  245. package/helpers/api/server-adapter/constants.js +0 -16
  246. package/helpers/api/server-adapter/constants.js.map +0 -1
  247. package/helpers/api/server-adapter/helpers.d.ts +0 -26
  248. package/helpers/api/server-adapter/helpers.js +0 -208
  249. package/helpers/api/server-adapter/helpers.js.map +0 -1
  250. package/helpers/api/server-adapter/index.d.ts +0 -10
  251. package/helpers/api/server-adapter/index.js +0 -118
  252. package/helpers/api/server-adapter/index.js.map +0 -1
  253. package/helpers/development/use-dot-env.d.ts +0 -6
  254. package/helpers/development/use-dot-env.js +0 -11
  255. package/helpers/development/use-dot-env.js.map +0 -1
  256. package/helpers/get-params/index.d.ts +0 -4
  257. package/helpers/get-params/index.js +0 -51
  258. package/helpers/get-params/index.js.map +0 -1
  259. package/helpers/http/request-getters.d.ts +0 -5
  260. package/helpers/http/request-getters.js +0 -49
  261. package/helpers/http/request-getters.js.map +0 -1
  262. package/helpers/http/statuses-validator.d.ts +0 -3
  263. package/helpers/http/statuses-validator.js +0 -25
  264. package/helpers/http/statuses-validator.js.map +0 -1
  265. package/helpers/logger/create-pino-instance/index.d.ts +0 -6
  266. package/helpers/logger/create-pino-instance/index.js +0 -39
  267. package/helpers/logger/create-pino-instance/index.js.map +0 -1
  268. package/helpers/logger/format-time/index.d.ts +0 -6
  269. package/helpers/logger/format-time/index.js +0 -9
  270. package/helpers/logger/format-time/index.js.map +0 -1
  271. package/helpers/metrics/index.d.ts +0 -23
  272. package/helpers/metrics/index.js +0 -42
  273. package/helpers/metrics/index.js.map +0 -1
  274. package/helpers/prometheus/index.d.ts +0 -4
  275. package/helpers/prometheus/index.js +0 -13
  276. package/helpers/prometheus/index.js.map +0 -1
  277. package/helpers/prometheus/measure-middleware.d.ts +0 -5
  278. package/helpers/prometheus/measure-middleware.js +0 -69
  279. package/helpers/prometheus/measure-middleware.js.map +0 -1
  280. package/helpers/prometheus/metric-adapter.d.ts +0 -36
  281. package/helpers/prometheus/metric-adapter.js +0 -98
  282. package/helpers/prometheus/metric-adapter.js.map +0 -1
  283. package/helpers/react/error-handlers/index.d.ts +0 -40
  284. package/helpers/react/error-handlers/index.js +0 -52
  285. package/helpers/react/error-handlers/index.js.map +0 -1
  286. package/helpers/redux/constants.d.ts +0 -5
  287. package/helpers/redux/constants.js +0 -14
  288. package/helpers/redux/constants.js.map +0 -1
  289. package/helpers/redux/create-compose-middleware.d.ts +0 -15
  290. package/helpers/redux/create-compose-middleware.js +0 -23
  291. package/helpers/redux/create-compose-middleware.js.map +0 -1
  292. package/helpers/redux/get-dev-compose-creator.d.ts +0 -6
  293. package/helpers/redux/get-dev-compose-creator.js +0 -13
  294. package/helpers/redux/get-dev-compose-creator.js.map +0 -1
  295. package/helpers/redux/prepare-on-ready.d.ts +0 -9
  296. package/helpers/redux/prepare-on-ready.js +0 -16
  297. package/helpers/redux/prepare-on-ready.js.map +0 -1
  298. package/helpers/redux/remote-data.d.ts +0 -40
  299. package/helpers/redux/remote-data.js +0 -91
  300. package/helpers/redux/remote-data.js.map +0 -1
  301. package/helpers/redux/selector/statuses.d.ts +0 -23
  302. package/helpers/redux/selector/statuses.js +0 -34
  303. package/helpers/redux/selector/statuses.js.map +0 -1
  304. package/helpers/redux/wait-on-store-readiness.d.ts +0 -11
  305. package/helpers/redux/wait-on-store-readiness.js +0 -29
  306. package/helpers/redux/wait-on-store-readiness.js.map +0 -1
  307. package/helpers/render/get-react-markup-data.d.ts +0 -14
  308. package/helpers/render/get-react-markup-data.js +0 -20
  309. package/helpers/render/get-react-markup-data.js.map +0 -1
  310. package/helpers/render/index.d.ts +0 -21
  311. package/helpers/render/index.js +0 -72
  312. package/helpers/render/index.js.map +0 -1
  313. package/helpers/render/render-app.d.ts +0 -12
  314. package/helpers/render/render-app.js +0 -12
  315. package/helpers/render/render-app.js.map +0 -1
  316. package/helpers/saga/__fixtures__/do-safe-request.d.ts +0 -43
  317. package/helpers/saga/__fixtures__/do-safe-request.js +0 -50
  318. package/helpers/saga/__fixtures__/do-safe-request.js.map +0 -1
  319. package/helpers/saga/cache-result.d.ts +0 -46
  320. package/helpers/saga/cache-result.js +0 -71
  321. package/helpers/saga/cache-result.js.map +0 -1
  322. package/helpers/saga/create-store.d.ts +0 -20
  323. package/helpers/saga/create-store.js +0 -106
  324. package/helpers/saga/create-store.js.map +0 -1
  325. package/helpers/saga/do-safe-request.d.ts +0 -38
  326. package/helpers/saga/do-safe-request.js +0 -45
  327. package/helpers/saga/do-safe-request.js.map +0 -1
  328. package/helpers/saga/safe-request.d.ts +0 -7
  329. package/helpers/saga/safe-request.js +0 -15
  330. package/helpers/saga/safe-request.js.map +0 -1
  331. package/helpers/saga/take-chain.d.ts +0 -20
  332. package/helpers/saga/take-chain.js +0 -56
  333. package/helpers/saga/take-chain.js.map +0 -1
  334. package/helpers/tracer/create-child-tracing-middleware.d.ts +0 -7
  335. package/helpers/tracer/create-child-tracing-middleware.js +0 -40
  336. package/helpers/tracer/create-child-tracing-middleware.js.map +0 -1
  337. package/helpers/tracer/index.d.ts +0 -24
  338. package/helpers/tracer/index.js +0 -144
  339. package/helpers/tracer/index.js.map +0 -1
  340. package/helpers/utils/check-feature-by-segment.d.ts +0 -2
  341. package/helpers/utils/check-feature-by-segment.js +0 -31
  342. package/helpers/utils/check-feature-by-segment.js.map +0 -1
  343. package/helpers/utils/format-object-keys.d.ts +0 -6
  344. package/helpers/utils/format-object-keys.js +0 -27
  345. package/helpers/utils/format-object-keys.js.map +0 -1
  346. package/helpers/utils/get-ms-from-hrt.d.ts +0 -2
  347. package/helpers/utils/get-ms-from-hrt.js +0 -22
  348. package/helpers/utils/get-ms-from-hrt.js.map +0 -1
  349. package/helpers/utils/is-match-pattern-list.d.ts +0 -8
  350. package/helpers/utils/is-match-pattern-list.js +0 -16
  351. package/helpers/utils/is-match-pattern-list.js.map +0 -1
  352. package/helpers/utils/is-not-empty-array.d.ts +0 -2
  353. package/helpers/utils/is-not-empty-array.js +0 -12
  354. package/helpers/utils/is-not-empty-array.js.map +0 -1
  355. package/helpers/utils/is-not-empty-string.d.ts +0 -2
  356. package/helpers/utils/is-not-empty-string.js +0 -15
  357. package/helpers/utils/is-not-empty-string.js.map +0 -1
  358. package/helpers/utils/is-numeric.d.ts +0 -7
  359. package/helpers/utils/is-numeric.js +0 -16
  360. package/helpers/utils/is-numeric.js.map +0 -1
  361. package/helpers/utils/wrap-in-measure-event.d.ts +0 -9
  362. package/helpers/utils/wrap-in-measure-event.js +0 -50
  363. package/helpers/utils/wrap-in-measure-event.js.map +0 -1
  364. package/logger/create-logger-middleware/index.d.ts +0 -14
  365. package/logger/create-logger-middleware/index.js +0 -41
  366. package/logger/create-logger-middleware/index.js.map +0 -1
  367. package/logger/create-sentry-instance/index.d.ts +0 -29
  368. package/logger/create-sentry-instance/index.js +0 -63
  369. package/logger/create-sentry-instance/index.js.map +0 -1
  370. package/logger/create-sentry-middleware/index.d.ts +0 -14
  371. package/logger/create-sentry-middleware/index.js +0 -19
  372. package/logger/create-sentry-middleware/index.js.map +0 -1
  373. package/logger/handler-creators/index.d.ts +0 -5
  374. package/logger/handler-creators/index.js +0 -41
  375. package/logger/handler-creators/index.js.map +0 -1
  376. package/logger/initialize-sentry-creator/index.d.ts +0 -17
  377. package/logger/initialize-sentry-creator/index.js +0 -35
  378. package/logger/initialize-sentry-creator/index.js.map +0 -1
  379. package/logger/sentry-logger/index.d.ts +0 -9
  380. package/logger/sentry-logger/index.js +0 -36
  381. package/logger/sentry-logger/index.js.map +0 -1
  382. package/module-federation/__example__/webpack-config.example.d.ts +0 -366
  383. package/module-federation/__example__/webpack-config.example.js +0 -58
  384. package/module-federation/__example__/webpack-config.example.js.map +0 -1
  385. package/module-federation/enhanced-module-federation-plugin.d.ts +0 -69
  386. package/module-federation/enhanced-module-federation-plugin.js +0 -97
  387. package/module-federation/enhanced-module-federation-plugin.js.map +0 -1
  388. package/module-federation/utils/index.d.ts +0 -16
  389. package/module-federation/utils/index.js +0 -33
  390. package/module-federation/utils/index.js.map +0 -1
  391. package/observe-middleware/index.d.ts +0 -9
  392. package/observe-middleware/index.js +0 -67
  393. package/observe-middleware/index.js.map +0 -1
  394. package/set-header-middleware/create.d.ts +0 -10
  395. package/set-header-middleware/create.js +0 -16
  396. package/set-header-middleware/create.js.map +0 -1
  397. package/src/browser/analytics/data-layer.ts +0 -12
  398. package/src/browser/analytics/oko.ts +0 -42
  399. package/src/cache/helpers.js +0 -32
  400. package/src/cache/local-storage.ts +0 -92
  401. package/src/cache/redis.js +0 -79
  402. package/src/cache/wrap-in-trace.js +0 -57
  403. package/src/config/create.js +0 -33
  404. package/src/config/helpers.js +0 -71
  405. package/src/config/validate.js +0 -114
  406. package/src/container/create-inject.js +0 -32
  407. package/src/container/get-dependencies.js +0 -46
  408. package/src/container/index.js +0 -188
  409. package/src/container/is-container.js +0 -14
  410. package/src/container/service-not-found-error.js +0 -14
  411. package/src/create-proxy/create-proxy-middleware/index.js +0 -47
  412. package/src/create-proxy/index.js +0 -27
  413. package/src/create-response-sender/index.js +0 -48
  414. package/src/get-dynamic-data/index.js +0 -26
  415. package/src/graceful-shutdown/index.js +0 -97
  416. package/src/helpers/add-error-handling/index.js +0 -24
  417. package/src/helpers/api/create-enhancer.js +0 -52
  418. package/src/helpers/api/create-instance.js +0 -42
  419. package/src/helpers/api/middlewares/collect-cookie-middleware.js +0 -27
  420. package/src/helpers/api/middlewares/count-api-response-time.js +0 -31
  421. package/src/helpers/api/middlewares/error-handlers-middlewares.js +0 -124
  422. package/src/helpers/api/middlewares/helpers.js +0 -26
  423. package/src/helpers/api/middlewares/pass-headers-middleware.js +0 -19
  424. package/src/helpers/api/middlewares/prepare-request-headers.js +0 -18
  425. package/src/helpers/api/middlewares/set-http-agents-middleware.js +0 -22
  426. package/src/helpers/api/middlewares/stages-trace-middleware.js +0 -46
  427. package/src/helpers/api/middlewares/trace-request-middleware.ts +0 -86
  428. package/src/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -58
  429. package/src/helpers/api/server-adapter/constants.js +0 -12
  430. package/src/helpers/api/server-adapter/helpers.js +0 -244
  431. package/src/helpers/api/server-adapter/index.js +0 -155
  432. package/src/helpers/development/use-dot-env.js +0 -9
  433. package/src/helpers/get-params/index.js +0 -59
  434. package/src/helpers/http/request-getters.js +0 -42
  435. package/src/helpers/http/statuses-validator.js +0 -20
  436. package/src/helpers/logger/create-pino-instance/index.js +0 -41
  437. package/src/helpers/logger/format-time/index.js +0 -6
  438. package/src/helpers/metrics/index.js +0 -40
  439. package/src/helpers/prometheus/index.js +0 -9
  440. package/src/helpers/prometheus/measure-middleware.js +0 -73
  441. package/src/helpers/prometheus/metric-adapter.js +0 -99
  442. package/src/helpers/react/error-handlers/index.tsx +0 -68
  443. package/src/helpers/redux/constants.js +0 -10
  444. package/src/helpers/redux/create-compose-middleware.js +0 -24
  445. package/src/helpers/redux/get-dev-compose-creator.js +0 -9
  446. package/src/helpers/redux/prepare-on-ready.js +0 -16
  447. package/src/helpers/redux/remote-data.js +0 -124
  448. package/src/helpers/redux/selector/statuses.js +0 -30
  449. package/src/helpers/redux/wait-on-store-readiness.js +0 -40
  450. package/src/helpers/render/get-react-markup-data.js +0 -18
  451. package/src/helpers/render/index.js +0 -69
  452. package/src/helpers/render/render-app.js +0 -15
  453. package/src/helpers/saga/__fixtures__/do-safe-request.js +0 -49
  454. package/src/helpers/saga/cache-result.js +0 -77
  455. package/src/helpers/saga/create-store.js +0 -102
  456. package/src/helpers/saga/do-safe-request.js +0 -47
  457. package/src/helpers/saga/safe-request.js +0 -11
  458. package/src/helpers/saga/take-chain.js +0 -53
  459. package/src/helpers/tracer/create-child-tracing-middleware.js +0 -42
  460. package/src/helpers/tracer/index.js +0 -171
  461. package/src/helpers/utils/check-feature-by-segment.js +0 -32
  462. package/src/helpers/utils/format-object-keys.js +0 -23
  463. package/src/helpers/utils/get-ms-from-hrt.js +0 -16
  464. package/src/helpers/utils/is-match-pattern-list.js +0 -13
  465. package/src/helpers/utils/is-not-empty-array.js +0 -8
  466. package/src/helpers/utils/is-not-empty-string.js +0 -11
  467. package/src/helpers/utils/is-numeric.ts +0 -12
  468. package/src/helpers/utils/wrap-in-measure-event.js +0 -35
  469. package/src/logger/create-logger-middleware/index.js +0 -46
  470. package/src/logger/create-sentry-instance/index.js +0 -74
  471. package/src/logger/create-sentry-middleware/index.js +0 -16
  472. package/src/logger/handler-creators/index.js +0 -38
  473. package/src/logger/initialize-sentry-creator/index.js +0 -43
  474. package/src/logger/sentry-logger/index.js +0 -33
  475. package/src/module-federation/__example__/webpack-config.example.js +0 -64
  476. package/src/module-federation/enhanced-module-federation-plugin.js +0 -119
  477. package/src/module-federation/utils/index.js +0 -39
  478. package/src/observe-middleware/index.js +0 -70
  479. package/src/set-header-middleware/create.js +0 -17
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.createSentryLib = void 0;
27
+ const Sentry = __importStar(require("@sentry/node"));
28
+ /**
29
+ * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
30
+ * @param options Опции создания клиента.
31
+ * @return Новый набор из клиента Sentry и функций из пакета Sentry.
32
+ */
33
+ function createSentryLib(options) {
34
+ return {
35
+ client: new Sentry.NodeClient(options),
36
+ withScope: Sentry.withScope,
37
+ };
38
+ }
39
+ exports.createSentryLib = createSentryLib;
40
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/error-tracker/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAAuC;AAEvC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAA2B;IACzD,OAAO;QACL,MAAM,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AALD,0CAKC"}
@@ -0,0 +1,18 @@
1
+ import type { Client, Severity, Context, Extra } from '@sentry/types';
2
+ import type { withScope as withScopeBrowser } from '@sentry/browser';
3
+ import type { withScope as withScopeNode } from '@sentry/node';
4
+ export interface SentryLib {
5
+ client: Client;
6
+ withScope: typeof withScopeBrowser | typeof withScopeNode;
7
+ }
8
+ export interface SentryErrorData {
9
+ level?: Severity;
10
+ context?: {
11
+ key: string;
12
+ data: Context | null;
13
+ };
14
+ extra?: {
15
+ key: string;
16
+ data: Extra | null;
17
+ };
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/error-tracker/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { SentryErrorData } from './types';
2
+ /**
3
+ * Ошибка с данными для Sentry.
4
+ */
5
+ export declare class SentryError extends Error {
6
+ data: SentryErrorData;
7
+ /**
8
+ * @param message Сообщение.
9
+ * @param data Данные.
10
+ */
11
+ constructor(message: string, data?: SentryErrorData);
12
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SentryError = void 0;
4
+ /**
5
+ * Ошибка с данными для Sentry.
6
+ */
7
+ class SentryError extends Error {
8
+ /**
9
+ * @param message Сообщение.
10
+ * @param data Данные.
11
+ */
12
+ constructor(message, data = {}) {
13
+ super(message);
14
+ this.data = data;
15
+ this.name = 'SentryError';
16
+ }
17
+ }
18
+ exports.SentryError = SentryError;
19
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/error-tracker/utils.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,WAAY,SAAQ,KAAK;IAGpC;;;OAGG;IACH,YAAY,OAAe,EAAE,OAAwB,EAAE;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAZD,kCAYC"}
@@ -0,0 +1,19 @@
1
+ import type { Request, Response } from 'express';
2
+ import type { Middleware } from 'middleware-axios';
3
+ export interface CookieStore {
4
+ set: (seCookie: string[]) => void;
5
+ asHeader: () => string;
6
+ }
7
+ /**
8
+ * Возвращает новый middleware для работы с cookie на сервере.
9
+ * @param request Входящий запрос.
10
+ * @param response Исходящий ответ.
11
+ * @return Middleware.
12
+ */
13
+ export declare function collectCookieMiddleware(request: Request, response: Response): Middleware<any>;
14
+ /**
15
+ * Возвращает новое хранилище cookie.
16
+ * @param initialCookie Начальное значение cookie.
17
+ * @return Хранилище cookie.
18
+ */
19
+ export declare function createCookieStore(initialCookie?: string): CookieStore;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCookieStore = exports.collectCookieMiddleware = void 0;
4
+ /**
5
+ * Возвращает новый middleware для работы с cookie на сервере.
6
+ * @param request Входящий запрос.
7
+ * @param response Исходящий ответ.
8
+ * @return Middleware.
9
+ */
10
+ function collectCookieMiddleware(request, response) {
11
+ const store = createCookieStore(request.get('cookie'));
12
+ return async function (config, next) {
13
+ const result = await next({
14
+ ...config,
15
+ headers: {
16
+ ...config.headers,
17
+ Cookie: store.asHeader(),
18
+ },
19
+ });
20
+ if (result.headers['set-cookie']) {
21
+ store.set(result.headers['set-cookie']);
22
+ response.setHeader('cookie', store.asHeader());
23
+ }
24
+ };
25
+ }
26
+ exports.collectCookieMiddleware = collectCookieMiddleware;
27
+ /**
28
+ * Возвращает новое хранилище cookie.
29
+ * @param initialCookie Начальное значение cookie.
30
+ * @return Хранилище cookie.
31
+ */
32
+ function createCookieStore(initialCookie) {
33
+ const data = {};
34
+ // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
35
+ function setItem(cookieItem) {
36
+ const [cookieName, cookieValue] = cookieItem.split('=').map(item => item.trim());
37
+ if (cookieName && cookieValue) {
38
+ data[cookieName] = { name: cookieName, value: cookieValue };
39
+ }
40
+ }
41
+ if (initialCookie && initialCookie.length) {
42
+ for (const item of initialCookie.split(';')) {
43
+ setItem(item);
44
+ }
45
+ }
46
+ // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
47
+ function set(setCookieHeaderValues) {
48
+ for (const item of setCookieHeaderValues) {
49
+ const [cookie] = item.split(';');
50
+ setItem(cookie);
51
+ }
52
+ }
53
+ // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
54
+ function asHeader() {
55
+ return Object.values(data)
56
+ .map(cookie => `${cookie.name}=${cookie.value}`)
57
+ .join(';');
58
+ }
59
+ return { set, asHeader };
60
+ }
61
+ exports.createCookieStore = createCookieStore;
62
+ //# sourceMappingURL=cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../../src/http-client/middleware/cookie.ts"],"names":[],"mappings":";;;AAQA;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,OAAgB,EAAE,QAAkB;IAC1E,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvD,OAAO,KAAK,WAAW,MAAM,EAAE,IAAI;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;YACxB,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE;aACzB;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAChC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;SAChD;IACH,CAAC,CAAC;AACJ,CAAC;AAjBD,0DAiBC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,aAAsB;IACtD,MAAM,IAAI,GAAoD,EAAE,CAAC;IAEjE,8DAA8D;IAC9D,SAAS,OAAO,CAAC,UAAkB;QACjC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjF,IAAI,UAAU,IAAI,WAAW,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;SAC7D;IACH,CAAC;IAED,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,EAAE;QACzC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;SACf;KACF;IAED,8DAA8D;IAC9D,SAAS,GAAG,CAAC,qBAA+B;QAC1C,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE;YACxC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;IACH,CAAC;IAED,8DAA8D;IAC9D,SAAS,QAAQ;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;aACvB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;aAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAlCD,8CAkCC"}
@@ -0,0 +1,32 @@
1
+ import type { AxiosDefaults, AxiosRequestConfig } from 'axios';
2
+ import type { Middleware } from 'middleware-axios';
3
+ import { Context, Tracer } from '@opentelemetry/api';
4
+ /**
5
+ * Возвращает новый middleware для трассировки исходящих запросов.
6
+ * @param tracer Трейсер.
7
+ * @param rootContext Контекст.
8
+ * @return Middleware.
9
+ */
10
+ export declare function tracingMiddleware(tracer: Tracer, rootContext: Context): Middleware<any>;
11
+ /**
12
+ * Формирует базовые данные запроса.
13
+ * Заменяет первое найденное число в url на "{id}", возвращая его в результате.
14
+ * @param config Axios-конфиг запроса.
15
+ * @param defaults Базовый конфиг экземпляра Axios.
16
+ * @return Базовые данные запроса.
17
+ */
18
+ export declare const getRequestInfo: (config: AxiosRequestConfig, defaults: AxiosDefaults) => {
19
+ method: string;
20
+ url: string;
21
+ foundId?: number | undefined;
22
+ };
23
+ /**
24
+ * Преобразует строку вида:
25
+ * "/api/v2/something/123456/some-bff/123456"
26
+ * в строку вида:
27
+ * "/api/v2/something/{id}/some-bff/123456"
28
+ * и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
29
+ * @param url Url.
30
+ * @return Кортеж со строкой и результатом поиска числа.
31
+ */
32
+ export declare const hideFirstId: (url: string) => [string, number | undefined];
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hideFirstId = exports.getRequestInfo = exports.tracingMiddleware = void 0;
4
+ const api_1 = require("@opentelemetry/api");
5
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
6
+ /**
7
+ * Возвращает новый middleware для трассировки исходящих запросов.
8
+ * @param tracer Трейсер.
9
+ * @param rootContext Контекст.
10
+ * @return Middleware.
11
+ */
12
+ function tracingMiddleware(tracer, rootContext) {
13
+ return async function (config, next, defaults) {
14
+ const { method, url, foundId } = (0, exports.getRequestInfo)(config, defaults);
15
+ const span = tracer.startSpan(`HTTP ${method} ${url}`, undefined, rootContext);
16
+ span.setAttributes({
17
+ [semantic_conventions_1.SemanticAttributes.HTTP_URL]: url,
18
+ [semantic_conventions_1.SemanticAttributes.HTTP_METHOD]: method,
19
+ // если нашли id - добавляем в теги
20
+ ...(foundId && { 'request.id': foundId }),
21
+ });
22
+ try {
23
+ await next(config);
24
+ }
25
+ catch (error) {
26
+ span.setStatus({
27
+ code: api_1.SpanStatusCode.ERROR,
28
+ message: 'HTTP Request failed',
29
+ });
30
+ // не прячем ошибку
31
+ throw error;
32
+ }
33
+ span.end();
34
+ };
35
+ }
36
+ exports.tracingMiddleware = tracingMiddleware;
37
+ /**
38
+ * Формирует базовые данные запроса.
39
+ * Заменяет первое найденное число в url на "{id}", возвращая его в результате.
40
+ * @param config Axios-конфиг запроса.
41
+ * @param defaults Базовый конфиг экземпляра Axios.
42
+ * @return Базовые данные запроса.
43
+ */
44
+ const getRequestInfo = (config, defaults) => {
45
+ const method = (config.method || 'GET').toUpperCase();
46
+ const baseURL = config.baseURL || defaults.baseURL || '';
47
+ // ВАЖНО: абстрагируем id только в url игнорируя baseURL
48
+ const [url, foundId] = (0, exports.hideFirstId)(config.url || defaults.url || '');
49
+ const readyUrl = `${baseURL}${url}`;
50
+ return { method, url: readyUrl, foundId };
51
+ };
52
+ exports.getRequestInfo = getRequestInfo;
53
+ /**
54
+ * Преобразует строку вида:
55
+ * "/api/v2/something/123456/some-bff/123456"
56
+ * в строку вида:
57
+ * "/api/v2/something/{id}/some-bff/123456"
58
+ * и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
59
+ * @param url Url.
60
+ * @return Кортеж со строкой и результатом поиска числа.
61
+ */
62
+ const hideFirstId = (url) => {
63
+ const found = /\d{2,}/.exec(url);
64
+ return found ? [url.replace(found[0], '{id}'), Number(found[0])] : [url, undefined];
65
+ };
66
+ exports.hideFirstId = hideFirstId;
67
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-client/middleware/tracing.ts"],"names":[],"mappings":";;;AAEA,4CAAqE;AACrE,8EAAyE;AAEzE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,WAAoB;IACpE,OAAO,KAAK,WAAW,MAAM,EAAE,IAAI,EAAE,QAAQ;QAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAA,sBAAc,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,MAAM,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAE/E,IAAI,CAAC,aAAa,CAAC;YACjB,CAAC,yCAAkB,CAAC,QAAQ,CAAC,EAAE,GAAG;YAClC,CAAC,yCAAkB,CAAC,WAAW,CAAC,EAAE,MAAM;YAExC,mCAAmC;YACnC,GAAG,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;SACpB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,oBAAc,CAAC,KAAK;gBAC1B,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,KAAK,CAAC;SACb;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AA3BD,8CA2BC;AAED;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,CAC5B,MAA0B,EAC1B,QAAuB,EAKvB,EAAE;IACF,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAEzD,wDAAwD;IACxD,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,GAAG,OAAO,GAAG,GAAG,EAAE,CAAC;IAEpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC5C,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB;AAEF;;;;;;;;GAQG;AACI,MAAM,WAAW,GAAG,CAAC,GAAW,EAAgC,EAAE;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AACtF,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB"}
@@ -0,0 +1,27 @@
1
+ import type { AxiosInstance } from 'axios';
2
+ import type { AxiosInstanceWrapper, MethodName } from 'middleware-axios';
3
+ export declare type SauceResponse<T = any> = {
4
+ ok: true;
5
+ data: T;
6
+ } | {
7
+ ok: false;
8
+ error: any;
9
+ };
10
+ export interface SauceMethod<K extends MethodName> {
11
+ <T>(...args: Parameters<AxiosInstanceWrapper[K]>): Promise<SauceResponse<T>>;
12
+ }
13
+ export interface Sauce {
14
+ readonly get: SauceMethod<'get'>;
15
+ readonly delete: SauceMethod<'delete'>;
16
+ readonly head: SauceMethod<'head'>;
17
+ readonly options: SauceMethod<'options'>;
18
+ readonly post: SauceMethod<'post'>;
19
+ readonly put: SauceMethod<'put'>;
20
+ readonly patch: SauceMethod<'patch'>;
21
+ }
22
+ /**
23
+ * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
24
+ * @param instance Экземпляр axios или AxiosInstanceWrapper.
25
+ * @return Обертка.
26
+ */
27
+ export declare function sauce(instance: AxiosInstance | AxiosInstanceWrapper): Sauce;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sauce = void 0;
4
+ /**
5
+ * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
6
+ * @param instance Экземпляр axios или AxiosInstanceWrapper.
7
+ * @return Обертка.
8
+ */
9
+ function sauce(instance) {
10
+ // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
11
+ function createMethod(methodName) {
12
+ return async function (...args) {
13
+ try {
14
+ const response = await instance[methodName](...args);
15
+ return { ok: true, data: response.data };
16
+ }
17
+ catch (error) {
18
+ return { ok: false, error };
19
+ }
20
+ };
21
+ }
22
+ return {
23
+ get: createMethod('get'),
24
+ delete: createMethod('delete'),
25
+ head: createMethod('head'),
26
+ options: createMethod('options'),
27
+ post: createMethod('post'),
28
+ put: createMethod('put'),
29
+ patch: createMethod('patch'),
30
+ };
31
+ }
32
+ exports.sauce = sauce;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-client/sauce/index.ts"],"names":[],"mappings":";;;AA4BA;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAA8C;IAClE,8DAA8D;IAC9D,SAAS,YAAY,CAAyB,UAAe;QAC3D,OAAO,KAAK,WACV,GAAG,IAAoC;YAEvC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAI,IAAc,CAAC,CAAC;gBAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC1C;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;KAC7B,CAAC;AACJ,CAAC;AAxBD,sBAwBC"}
@@ -0,0 +1,6 @@
1
+ import type { AxiosRequestConfig } from 'axios';
2
+ import type { AxiosInstanceWrapper } from 'middleware-axios';
3
+ export declare type HttpClient = AxiosInstanceWrapper;
4
+ export interface HttpClientFactory {
5
+ (config: AxiosRequestConfig): HttpClient;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/http-client/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { Request } from 'express';
2
+ import type { BaseConfig } from '../config/types';
3
+ /**
4
+ * Формирует заголовки для исходящих запросов с сервера по соглашению.
5
+ * @param config Конфиг.
6
+ * @param request Входящий запрос.
7
+ * @return Заголовки для исходящих запросов.
8
+ */
9
+ export declare function getRequestHeaders(config: BaseConfig, request: Request): Record<string, string>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRequestHeaders = void 0;
4
+ const utils_1 = require("../http-server/utils");
5
+ /**
6
+ * Формирует заголовки для исходящих запросов с сервера по соглашению.
7
+ * @param config Конфиг.
8
+ * @param request Входящий запрос.
9
+ * @return Заголовки для исходящих запросов.
10
+ */
11
+ function getRequestHeaders(config, request) {
12
+ return {
13
+ 'X-Client-Ip': (0, utils_1.getXClientIp)(request),
14
+ 'User-Agent': `simaland-${config.appName}/${config.appVersion}`,
15
+ Cookie: request.get('cookie') || '',
16
+ ...(0, utils_1.getServiceHeaders)(request),
17
+ };
18
+ }
19
+ exports.getRequestHeaders = getRequestHeaders;
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-client/utils.ts"],"names":[],"mappings":";;;AAAA,gDAAuE;AAIvE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAkB,EAAE,OAAgB;IACpE,OAAO;QACL,aAAa,EAAE,IAAA,oBAAY,EAAC,OAAO,CAAC;QACpC,YAAY,EAAE,YAAY,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnC,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAPD,8CAOC"}
@@ -0,0 +1,4 @@
1
+ export declare const RESPONSE_EVENT: {
2
+ readonly renderStart: symbol;
3
+ readonly renderFinish: symbol;
4
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESPONSE_EVENT = void 0;
4
+ exports.RESPONSE_EVENT = {
5
+ renderStart: Symbol('render:start'),
6
+ renderFinish: Symbol('render:finish'),
7
+ };
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/http-server/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC;CAC7B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Handler } from 'express';
2
+ /**
3
+ * Обработчик, отвечающий данными о времени работы приложения.
4
+ * @return Обработчик http-запроса.
5
+ */
6
+ export declare function healthCheck(): Handler;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.healthCheck = void 0;
4
+ /**
5
+ * Обработчик, отвечающий данными о времени работы приложения.
6
+ * @return Обработчик http-запроса.
7
+ */
8
+ function healthCheck() {
9
+ const startTime = Date.now();
10
+ return (req, res) => {
11
+ res.json({ uptime: Date.now() - startTime });
12
+ };
13
+ }
14
+ exports.healthCheck = healthCheck;
15
+ //# sourceMappingURL=health-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../../src/http-server/handler/health-check.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,WAAW;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClB,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAND,kCAMC"}
@@ -0,0 +1,10 @@
1
+ import type { Handler } from 'express';
2
+ import type { BaseConfig } from '../../config/types';
3
+ import type { Logger } from '../../logger/types';
4
+ /**
5
+ * Возвращает новый middleware для логирования запросов.
6
+ * @param config Конфиг.
7
+ * @param logger Logger.
8
+ * @return Middleware.
9
+ */
10
+ export declare function loggingMiddleware(config: BaseConfig, logger: Logger): Handler;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loggingMiddleware = void 0;
4
+ const utils_1 = require("../utils");
5
+ const number_1 = require("../../utils/number");
6
+ /**
7
+ * Возвращает новый middleware для логирования запросов.
8
+ * @param config Конфиг.
9
+ * @param logger Logger.
10
+ * @return Middleware.
11
+ */
12
+ function loggingMiddleware(config, logger) {
13
+ return function (req, res, next) {
14
+ const start = process.hrtime.bigint();
15
+ res.once('finish', () => {
16
+ const finish = process.hrtime.bigint();
17
+ const message = {
18
+ version: config.appVersion,
19
+ route: req.originalUrl,
20
+ method: req.method,
21
+ status: res.statusCode,
22
+ remote_ip: (0, utils_1.getXClientIp)(req),
23
+ latency: (0, number_1.toMilliseconds)(finish - start),
24
+ };
25
+ logger.info(message);
26
+ });
27
+ next();
28
+ };
29
+ }
30
+ exports.loggingMiddleware = loggingMiddleware;
31
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/http-server/middleware/logging.ts"],"names":[],"mappings":";;;AAGA,oCAAwC;AACxC,+CAAoD;AAEpD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAkB,EAAE,MAAc;IAClE,OAAO,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,MAAM,OAAO,GAA2B;gBACtC,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,KAAK,EAAE,GAAG,CAAC,WAAW;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,UAAU;gBACtB,SAAS,EAAE,IAAA,oBAAY,EAAC,GAAG,CAAC;gBAC5B,OAAO,EAAE,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC;aACxC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AArBD,8CAqBC"}
@@ -0,0 +1,23 @@
1
+ import type { Handler } from 'express';
2
+ import type { BaseConfig } from '../../config/types';
3
+ import * as PromClient from 'prom-client';
4
+ import { ConventionalLabels } from '../../metrics/constants';
5
+ /**
6
+ * Возвращает новый middleware для формирования метрик входящего запроса.
7
+ * @param config Конфиг.
8
+ * @param metrics Метрики - счетчик запросов и гистограмма длительности ответа.
9
+ * @return Middleware.
10
+ */
11
+ export declare function responseMetricsMiddleware(config: BaseConfig, metrics: {
12
+ counter: PromClient.Counter<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
13
+ histogram: PromClient.Histogram<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
14
+ }): Handler;
15
+ /**
16
+ * Возвращает новый middleware для формирования метрик рендеринга верстки.
17
+ * @param config Конфиг.
18
+ * @param metrics Метрики - гистограмма длительности рендеринга.
19
+ * @return Middleware.
20
+ */
21
+ export declare function renderMetricsMiddleware(config: BaseConfig, metrics: {
22
+ histogram: PromClient.Histogram<typeof ConventionalLabels.SSR[number]>;
23
+ }): Handler;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderMetricsMiddleware = exports.responseMetricsMiddleware = void 0;
4
+ const number_1 = require("../../utils/number");
5
+ const constants_1 = require("../constants");
6
+ /**
7
+ * Возвращает новый middleware для формирования метрик входящего запроса.
8
+ * @param config Конфиг.
9
+ * @param metrics Метрики - счетчик запросов и гистограмма длительности ответа.
10
+ * @return Middleware.
11
+ */
12
+ function responseMetricsMiddleware(config, metrics) {
13
+ // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
14
+ function resolveLabels(req, res) {
15
+ return {
16
+ version: config.appVersion,
17
+ route: req.baseUrl + req.path,
18
+ code: res.statusCode,
19
+ method: req.method,
20
+ };
21
+ }
22
+ return (req, res, next) => {
23
+ const start = process.hrtime.bigint();
24
+ metrics.counter.inc(resolveLabels(req, res), 1);
25
+ res.once('finish', () => {
26
+ const finish = process.hrtime.bigint();
27
+ metrics.histogram.observe(resolveLabels(req, res), (0, number_1.toMilliseconds)(finish - start));
28
+ });
29
+ next();
30
+ };
31
+ }
32
+ exports.responseMetricsMiddleware = responseMetricsMiddleware;
33
+ /**
34
+ * Возвращает новый middleware для формирования метрик рендеринга верстки.
35
+ * @param config Конфиг.
36
+ * @param metrics Метрики - гистограмма длительности рендеринга.
37
+ * @return Middleware.
38
+ */
39
+ function renderMetricsMiddleware(config, metrics) {
40
+ return (req, res, next) => {
41
+ let start;
42
+ res.once(constants_1.RESPONSE_EVENT.renderStart, () => {
43
+ start = process.hrtime.bigint();
44
+ });
45
+ res.once(constants_1.RESPONSE_EVENT.renderFinish, () => {
46
+ if (typeof start !== 'bigint') {
47
+ throw Error('Looks like "render start" event not emitted');
48
+ }
49
+ const finish = process.hrtime.bigint();
50
+ metrics.histogram.observe({
51
+ version: config.appVersion,
52
+ method: req.method,
53
+ route: req.baseUrl + req.path,
54
+ }, (0, number_1.toMilliseconds)(finish - start));
55
+ });
56
+ next();
57
+ };
58
+ }
59
+ exports.renderMetricsMiddleware = renderMetricsMiddleware;
60
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/http-server/middleware/metrics.ts"],"names":[],"mappings":";;;AAGA,+CAAoD;AACpD,4CAA8C;AAG9C;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,MAAkB,EAClB,OAGC;IAED,8DAA8D;IAC9D,SAAS,aAAa,CACpB,GAAY,EACZ,GAAa;QAEb,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI;YAC7B,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAjCD,8DAiCC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAkB,EAClB,OAEC;IAED,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,KAAyB,CAAC;QAE9B,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAC5D;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,OAAO,CAAC,SAAS,CAAC,OAAO,CACvB;gBACE,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI;aAC9B,EACD,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAhCD,0DAgCC"}
@@ -0,0 +1,8 @@
1
+ import type { Tracer } from '../../tracer/types';
2
+ import type { Handler } from 'express';
3
+ /**
4
+ * Возвращает новый middleware для трассировки стадий входящего запроса.
5
+ * @param tracer Tracer.
6
+ * @return Middleware.
7
+ */
8
+ export declare function tracingMiddleware(tracer: Tracer): Handler;