@sima-land/isomorph 11.0.0-alpha.36 → 11.0.0-alpha.37

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 (567) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +25 -0
  3. package/dist/cjs/cache/index.js +6 -0
  4. package/dist/cjs/cache/index.js.map +1 -0
  5. package/dist/cjs/cache/types.js +6 -0
  6. package/dist/cjs/cache/types.js.map +1 -0
  7. package/dist/cjs/config/base.js +22 -0
  8. package/dist/cjs/config/base.js.map +1 -0
  9. package/dist/cjs/config/index.js +20 -0
  10. package/dist/cjs/config/index.js.map +1 -0
  11. package/dist/cjs/config/source.js +25 -0
  12. package/dist/cjs/config/source.js.map +1 -0
  13. package/dist/cjs/config/types.js +6 -0
  14. package/dist/cjs/config/types.js.map +1 -0
  15. package/dist/cjs/di/application.js +106 -0
  16. package/dist/cjs/di/application.js.map +1 -0
  17. package/dist/cjs/di/container.js +55 -0
  18. package/dist/cjs/di/container.js.map +1 -0
  19. package/dist/cjs/di/errors.js +65 -0
  20. package/dist/cjs/di/errors.js.map +1 -0
  21. package/dist/cjs/di/index.js +59 -0
  22. package/dist/cjs/di/index.js.map +1 -0
  23. package/dist/cjs/di/preset.js +32 -0
  24. package/dist/cjs/di/preset.js.map +1 -0
  25. package/dist/cjs/di/token.js +44 -0
  26. package/dist/cjs/di/token.js.map +1 -0
  27. package/dist/cjs/di/types.js +6 -0
  28. package/dist/cjs/di/types.js.map +1 -0
  29. package/dist/cjs/http/errors.js +47 -0
  30. package/dist/cjs/http/errors.js.map +1 -0
  31. package/dist/cjs/http/index.js +63 -0
  32. package/dist/cjs/http/index.js.map +1 -0
  33. package/dist/cjs/http/types.js +6 -0
  34. package/dist/cjs/http/types.js.map +1 -0
  35. package/dist/cjs/log/errors.js +35 -0
  36. package/dist/cjs/log/errors.js.map +1 -0
  37. package/dist/cjs/log/handler/pino.js +31 -0
  38. package/dist/cjs/log/handler/pino.js.map +1 -0
  39. package/dist/cjs/log/handler/sentry.js +57 -0
  40. package/dist/cjs/log/handler/sentry.js.map +1 -0
  41. package/dist/cjs/log/index.js +26 -0
  42. package/dist/cjs/log/index.js.map +1 -0
  43. package/dist/cjs/log/logger.js +35 -0
  44. package/dist/cjs/log/logger.js.map +1 -0
  45. package/dist/cjs/log/types.js +6 -0
  46. package/dist/cjs/log/types.js.map +1 -0
  47. package/dist/cjs/package.json +1 -0
  48. package/dist/cjs/preset/isomorphic/constants.js +14 -0
  49. package/dist/cjs/preset/isomorphic/constants.js.map +1 -0
  50. package/{preset → dist/cjs/preset}/isomorphic/providers/index.js +19 -15
  51. package/dist/cjs/preset/isomorphic/providers/index.js.map +1 -0
  52. package/dist/cjs/preset/isomorphic/types.js +6 -0
  53. package/dist/cjs/preset/isomorphic/types.js.map +1 -0
  54. package/dist/cjs/preset/isomorphic/utils/index.js +322 -0
  55. package/dist/cjs/preset/isomorphic/utils/index.js.map +1 -0
  56. package/dist/cjs/preset/node/handler/index.js +52 -0
  57. package/dist/cjs/preset/node/handler/index.js.map +1 -0
  58. package/dist/cjs/preset/node/handler/providers/index.js +212 -0
  59. package/dist/cjs/preset/node/handler/providers/index.js.map +1 -0
  60. package/dist/cjs/preset/node/handler/utils/index.js +132 -0
  61. package/dist/cjs/preset/node/handler/utils/index.js.map +1 -0
  62. package/dist/cjs/preset/node/index.js +26 -0
  63. package/dist/cjs/preset/node/index.js.map +1 -0
  64. package/dist/cjs/preset/node/node/index.js +61 -0
  65. package/dist/cjs/preset/node/node/index.js.map +1 -0
  66. package/dist/cjs/preset/node/node/providers/index.js +403 -0
  67. package/dist/cjs/preset/node/node/providers/index.js.map +1 -0
  68. package/dist/cjs/preset/node/node/utils/http-client/index.js +122 -0
  69. package/dist/cjs/preset/node/node/utils/http-client/index.js.map +1 -0
  70. package/dist/cjs/preset/node/node/utils/http-server/index.js +18 -0
  71. package/dist/cjs/preset/node/node/utils/http-server/index.js.map +1 -0
  72. package/dist/cjs/preset/node/node/utils/index.js +20 -0
  73. package/dist/cjs/preset/node/node/utils/index.js.map +1 -0
  74. package/dist/cjs/preset/web/index.js +34 -0
  75. package/dist/cjs/preset/web/index.js.map +1 -0
  76. package/dist/cjs/preset/web/providers/index.js +94 -0
  77. package/dist/cjs/preset/web/providers/index.js.map +1 -0
  78. package/dist/cjs/tokens.js +86 -0
  79. package/dist/cjs/tokens.js.map +1 -0
  80. package/dist/cjs/utils/axios/index.js +40 -0
  81. package/dist/cjs/utils/axios/index.js.map +1 -0
  82. package/dist/cjs/utils/axios/middleware/cookie.js +28 -0
  83. package/dist/cjs/utils/axios/middleware/cookie.js.map +1 -0
  84. package/dist/cjs/utils/axios/middleware/log.js +37 -0
  85. package/dist/cjs/utils/axios/middleware/log.js.map +1 -0
  86. package/dist/cjs/utils/axios/sauce/index.js +57 -0
  87. package/dist/cjs/utils/axios/sauce/index.js.map +1 -0
  88. package/{utils → dist/cjs/utils}/axios/utils/index.js +19 -14
  89. package/dist/cjs/utils/axios/utils/index.js.map +1 -0
  90. package/{utils → dist/cjs/utils}/express/handler/health-check.js +11 -7
  91. package/dist/cjs/utils/express/handler/health-check.js.map +1 -0
  92. package/dist/cjs/utils/express/index.js +20 -0
  93. package/dist/cjs/utils/express/index.js.map +1 -0
  94. package/dist/cjs/utils/express/utils/index.js +22 -0
  95. package/dist/cjs/utils/express/utils/index.js.map +1 -0
  96. package/dist/cjs/utils/function.js +44 -0
  97. package/dist/cjs/utils/function.js.map +1 -0
  98. package/dist/cjs/utils/index.js +20 -0
  99. package/dist/cjs/utils/index.js.map +1 -0
  100. package/{utils/number.js → dist/cjs/utils/math.js} +7 -5
  101. package/dist/cjs/utils/math.js.map +1 -0
  102. package/dist/cjs/utils/react/error-handlers/index.js +80 -0
  103. package/dist/cjs/utils/react/error-handlers/index.js.map +1 -0
  104. package/dist/cjs/utils/react/index.js +19 -0
  105. package/dist/cjs/utils/react/index.js.map +1 -0
  106. package/dist/cjs/utils/redux/index.js +19 -0
  107. package/dist/cjs/utils/redux/index.js.map +1 -0
  108. package/dist/cjs/utils/redux/remote-data.js +118 -0
  109. package/dist/cjs/utils/redux/remote-data.js.map +1 -0
  110. package/dist/cjs/utils/redux-saga/index.js +20 -0
  111. package/dist/cjs/utils/redux-saga/index.js.map +1 -0
  112. package/dist/cjs/utils/redux-saga/middleware.js +149 -0
  113. package/dist/cjs/utils/redux-saga/middleware.js.map +1 -0
  114. package/dist/cjs/utils/redux-saga/take-chain.js +66 -0
  115. package/dist/cjs/utils/redux-saga/take-chain.js.map +1 -0
  116. package/dist/cjs/utils/redux-saga/types.js +6 -0
  117. package/dist/cjs/utils/redux-saga/types.js.map +1 -0
  118. package/dist/cjs/utils/ssr/index.js +73 -0
  119. package/dist/cjs/utils/ssr/index.js.map +1 -0
  120. package/dist/cjs/utils/web/analytics/data-layer.js +20 -0
  121. package/dist/cjs/utils/web/analytics/data-layer.js.map +1 -0
  122. package/dist/cjs/utils/web/analytics/index.js +20 -0
  123. package/dist/cjs/utils/web/analytics/index.js.map +1 -0
  124. package/dist/cjs/utils/web/analytics/oko.js +20 -0
  125. package/dist/cjs/utils/web/analytics/oko.js.map +1 -0
  126. package/dist/cjs/utils/web/storage/index.js +75 -0
  127. package/dist/cjs/utils/web/storage/index.js.map +1 -0
  128. package/dist/cjs/utils/webpack/env/index.js +96 -0
  129. package/dist/cjs/utils/webpack/env/index.js.map +1 -0
  130. package/dist/cjs/utils/webpack/env/types.js +6 -0
  131. package/dist/cjs/utils/webpack/env/types.js.map +1 -0
  132. package/dist/cjs/utils/webpack/env/utils.js +55 -0
  133. package/dist/cjs/utils/webpack/env/utils.js.map +1 -0
  134. package/dist/cjs/utils/webpack/index.js +20 -0
  135. package/dist/cjs/utils/webpack/index.js.map +1 -0
  136. package/dist/cjs/utils/webpack/module-federation/index.js +110 -0
  137. package/dist/cjs/utils/webpack/module-federation/index.js.map +1 -0
  138. package/dist/cjs/utils/webpack/module-federation/types.js +6 -0
  139. package/dist/cjs/utils/webpack/module-federation/types.js.map +1 -0
  140. package/{utils → dist/cjs/utils}/webpack/module-federation/utils.js +26 -31
  141. package/dist/cjs/utils/webpack/module-federation/utils.js.map +1 -0
  142. package/dist/esm/cache/index.js +2 -0
  143. package/dist/esm/cache/index.js.map +1 -0
  144. package/dist/esm/cache/types.js +2 -0
  145. package/dist/esm/cache/types.js.map +1 -0
  146. package/dist/esm/config/base.js +16 -0
  147. package/dist/esm/config/base.js.map +1 -0
  148. package/dist/esm/config/index.js +3 -0
  149. package/dist/esm/config/index.js.map +1 -0
  150. package/dist/esm/config/source.js +19 -0
  151. package/dist/esm/config/source.js.map +1 -0
  152. package/dist/esm/config/types.js +2 -0
  153. package/dist/esm/config/types.js.map +1 -0
  154. package/dist/esm/di/application.js +100 -0
  155. package/dist/esm/di/application.js.map +1 -0
  156. package/dist/esm/di/container.js +49 -0
  157. package/dist/esm/di/container.js.map +1 -0
  158. package/dist/esm/di/errors.js +56 -0
  159. package/dist/esm/di/errors.js.map +1 -0
  160. package/dist/esm/di/index.js +6 -0
  161. package/dist/esm/di/index.js.map +1 -0
  162. package/dist/esm/di/preset.js +26 -0
  163. package/dist/esm/di/preset.js.map +1 -0
  164. package/dist/esm/di/token.js +38 -0
  165. package/dist/esm/di/token.js.map +1 -0
  166. package/dist/esm/di/types.js +2 -0
  167. package/dist/esm/di/types.js.map +1 -0
  168. package/dist/esm/http/errors.js +39 -0
  169. package/dist/esm/http/errors.js.map +1 -0
  170. package/dist/esm/http/index.js +4 -0
  171. package/dist/esm/http/index.js.map +1 -0
  172. package/dist/esm/http/types.js +2 -0
  173. package/dist/esm/http/types.js.map +1 -0
  174. package/dist/esm/log/errors.js +27 -0
  175. package/dist/esm/log/errors.js.map +1 -0
  176. package/dist/esm/log/handler/pino.js +25 -0
  177. package/dist/esm/log/handler/pino.js.map +1 -0
  178. package/dist/esm/log/handler/sentry.js +52 -0
  179. package/dist/esm/log/handler/sentry.js.map +1 -0
  180. package/dist/esm/log/index.js +3 -0
  181. package/dist/esm/log/index.js.map +1 -0
  182. package/dist/esm/log/logger.js +29 -0
  183. package/dist/esm/log/logger.js.map +1 -0
  184. package/dist/esm/log/types.js +2 -0
  185. package/dist/esm/log/types.js.map +1 -0
  186. package/dist/esm/package.json +1 -0
  187. package/dist/esm/preset/isomorphic/constants.js +8 -0
  188. package/dist/esm/preset/isomorphic/constants.js.map +1 -0
  189. package/dist/esm/preset/isomorphic/providers/index.js +35 -0
  190. package/dist/esm/preset/isomorphic/providers/index.js.map +1 -0
  191. package/dist/esm/preset/isomorphic/types.js +2 -0
  192. package/dist/esm/preset/isomorphic/types.js.map +1 -0
  193. package/dist/esm/preset/isomorphic/utils/index.js +309 -0
  194. package/dist/esm/preset/isomorphic/utils/index.js.map +1 -0
  195. package/dist/esm/preset/node/handler/index.js +42 -0
  196. package/dist/esm/preset/node/handler/index.js.map +1 -0
  197. package/dist/esm/preset/node/handler/providers/index.js +194 -0
  198. package/dist/esm/preset/node/handler/providers/index.js.map +1 -0
  199. package/dist/esm/preset/node/handler/utils/index.js +113 -0
  200. package/dist/esm/preset/node/handler/utils/index.js.map +1 -0
  201. package/dist/esm/preset/node/index.js +3 -0
  202. package/dist/esm/preset/node/index.js.map +1 -0
  203. package/dist/esm/preset/node/node/index.js +56 -0
  204. package/dist/esm/preset/node/node/index.js.map +1 -0
  205. package/dist/esm/preset/node/node/providers/index.js +378 -0
  206. package/dist/esm/preset/node/node/providers/index.js.map +1 -0
  207. package/dist/esm/preset/node/node/utils/http-client/index.js +114 -0
  208. package/dist/esm/preset/node/node/utils/http-client/index.js.map +1 -0
  209. package/dist/esm/preset/node/node/utils/http-server/index.js +12 -0
  210. package/dist/esm/preset/node/node/utils/http-server/index.js.map +1 -0
  211. package/dist/esm/preset/node/node/utils/index.js +3 -0
  212. package/dist/esm/preset/node/node/utils/index.js.map +1 -0
  213. package/dist/esm/preset/web/index.js +29 -0
  214. package/dist/esm/preset/web/index.js.map +1 -0
  215. package/dist/esm/preset/web/providers/index.js +85 -0
  216. package/dist/esm/preset/web/providers/index.js.map +1 -0
  217. package/dist/esm/tokens.js +81 -0
  218. package/dist/esm/tokens.js.map +1 -0
  219. package/dist/esm/utils/axios/index.js +5 -0
  220. package/dist/esm/utils/axios/index.js.map +1 -0
  221. package/dist/esm/utils/axios/middleware/cookie.js +22 -0
  222. package/dist/esm/utils/axios/middleware/cookie.js.map +1 -0
  223. package/dist/esm/utils/axios/middleware/log.js +31 -0
  224. package/dist/esm/utils/axios/middleware/log.js.map +1 -0
  225. package/dist/esm/utils/axios/sauce/index.js +50 -0
  226. package/dist/esm/utils/axios/sauce/index.js.map +1 -0
  227. package/dist/esm/utils/axios/utils/index.js +24 -0
  228. package/dist/esm/utils/axios/utils/index.js.map +1 -0
  229. package/dist/esm/utils/express/handler/health-check.js +13 -0
  230. package/dist/esm/utils/express/handler/health-check.js.map +1 -0
  231. package/dist/esm/utils/express/index.js +3 -0
  232. package/dist/esm/utils/express/index.js.map +1 -0
  233. package/dist/esm/utils/express/utils/index.js +16 -0
  234. package/dist/esm/utils/express/utils/index.js.map +1 -0
  235. package/dist/esm/utils/function.js +38 -0
  236. package/dist/esm/utils/function.js.map +1 -0
  237. package/dist/esm/utils/index.js +3 -0
  238. package/dist/esm/utils/index.js.map +1 -0
  239. package/dist/esm/utils/math.js +9 -0
  240. package/dist/esm/utils/math.js.map +1 -0
  241. package/dist/esm/utils/react/error-handlers/index.js +69 -0
  242. package/dist/esm/utils/react/error-handlers/index.js.map +1 -0
  243. package/dist/esm/utils/react/index.js +3 -0
  244. package/dist/esm/utils/react/index.js.map +1 -0
  245. package/dist/esm/utils/redux/index.js +3 -0
  246. package/dist/esm/utils/redux/index.js.map +1 -0
  247. package/dist/esm/utils/redux/remote-data.js +108 -0
  248. package/dist/esm/utils/redux/remote-data.js.map +1 -0
  249. package/dist/esm/utils/redux-saga/index.js +3 -0
  250. package/dist/esm/utils/redux-saga/index.js.map +1 -0
  251. package/dist/esm/utils/redux-saga/middleware.js +143 -0
  252. package/dist/esm/utils/redux-saga/middleware.js.map +1 -0
  253. package/dist/esm/utils/redux-saga/take-chain.js +59 -0
  254. package/dist/esm/utils/redux-saga/take-chain.js.map +1 -0
  255. package/dist/esm/utils/redux-saga/types.js +2 -0
  256. package/dist/esm/utils/redux-saga/types.js.map +1 -0
  257. package/dist/esm/utils/ssr/index.js +66 -0
  258. package/dist/esm/utils/ssr/index.js.map +1 -0
  259. package/dist/esm/utils/web/analytics/data-layer.js +14 -0
  260. package/dist/esm/utils/web/analytics/data-layer.js.map +1 -0
  261. package/dist/esm/utils/web/analytics/index.js +3 -0
  262. package/dist/esm/utils/web/analytics/index.js.map +1 -0
  263. package/dist/esm/utils/web/analytics/oko.js +14 -0
  264. package/dist/esm/utils/web/analytics/oko.js.map +1 -0
  265. package/dist/esm/utils/web/storage/index.js +69 -0
  266. package/dist/esm/utils/web/storage/index.js.map +1 -0
  267. package/dist/esm/utils/webpack/env/index.js +89 -0
  268. package/dist/esm/utils/webpack/env/index.js.map +1 -0
  269. package/dist/esm/utils/webpack/env/types.js +2 -0
  270. package/dist/esm/utils/webpack/env/types.js.map +1 -0
  271. package/dist/esm/utils/webpack/env/utils.js +48 -0
  272. package/dist/esm/utils/webpack/env/utils.js.map +1 -0
  273. package/dist/esm/utils/webpack/index.js +4 -0
  274. package/dist/esm/utils/webpack/index.js.map +1 -0
  275. package/dist/esm/utils/webpack/module-federation/index.js +96 -0
  276. package/dist/esm/utils/webpack/module-federation/index.js.map +1 -0
  277. package/dist/esm/utils/webpack/module-federation/types.js +2 -0
  278. package/dist/esm/utils/webpack/module-federation/types.js.map +1 -0
  279. package/dist/esm/utils/webpack/module-federation/utils.js +80 -0
  280. package/dist/esm/utils/webpack/module-federation/utils.js.map +1 -0
  281. package/dist/types/cache/index.d.ts +1 -0
  282. package/dist/types/log/index.d.ts +3 -0
  283. package/{preset → dist/types/preset}/isomorphic/types.d.ts +1 -0
  284. package/dist/types/preset/node/node/utils/index.d.ts +2 -0
  285. package/{utils → dist/types/utils}/axios/sauce/index.d.ts +1 -1
  286. package/dist/types/utils/index.d.ts +2 -0
  287. package/{utils → dist/types/utils}/redux/remote-data.d.ts +8 -8
  288. package/{utils → dist/types/utils}/ssr/index.d.ts +1 -0
  289. package/dist/types/utils/web/analytics/index.d.ts +2 -0
  290. package/{utils → dist/types/utils}/webpack/module-federation/index.d.ts +2 -2
  291. package/package.json +167 -9
  292. package/src/cache/index.ts +1 -0
  293. package/src/cache/types.ts +34 -0
  294. package/src/config/base.ts +18 -0
  295. package/src/config/index.ts +3 -0
  296. package/src/config/source.ts +23 -0
  297. package/src/config/types.ts +25 -0
  298. package/src/di/__test__/application.test.ts +258 -0
  299. package/src/di/__test__/container.test.ts +103 -0
  300. package/src/di/__test__/errors.test.ts +56 -0
  301. package/src/di/__test__/preset.test.ts +23 -0
  302. package/src/di/__test__/token.test.ts +25 -0
  303. package/src/di/application.ts +126 -0
  304. package/src/di/container.ts +60 -0
  305. package/src/di/errors.ts +59 -0
  306. package/src/di/index.ts +6 -0
  307. package/src/di/preset.ts +32 -0
  308. package/src/di/token.ts +41 -0
  309. package/src/di/types.ts +105 -0
  310. package/src/http/__test__/errors.test.ts +35 -0
  311. package/src/http/errors.ts +42 -0
  312. package/src/http/index.ts +14 -0
  313. package/src/http/types.ts +8 -0
  314. package/src/log/__test__/errors.test.ts +13 -0
  315. package/src/log/__test__/logger.test.ts +24 -0
  316. package/src/log/errors.ts +33 -0
  317. package/src/log/handler/pino.ts +27 -0
  318. package/src/log/handler/sentry.ts +57 -0
  319. package/src/log/index.ts +12 -0
  320. package/src/log/logger.ts +30 -0
  321. package/src/log/types.ts +76 -0
  322. package/src/preset/isomorphic/constants.ts +7 -0
  323. package/src/preset/isomorphic/providers/index.ts +40 -0
  324. package/src/preset/isomorphic/types.ts +48 -0
  325. package/src/preset/isomorphic/utils/__test__/index.test.ts +541 -0
  326. package/src/preset/isomorphic/utils/index.ts +349 -0
  327. package/src/preset/node/handler/index.ts +46 -0
  328. package/src/preset/node/handler/providers/index.tsx +214 -0
  329. package/src/preset/node/handler/utils/index.tsx +110 -0
  330. package/src/preset/node/index.ts +2 -0
  331. package/src/preset/node/node/index.ts +73 -0
  332. package/src/preset/node/node/providers/index.ts +434 -0
  333. package/src/preset/node/node/utils/http-client/__test__/index.test.ts +232 -0
  334. package/src/preset/node/node/utils/http-client/index.ts +129 -0
  335. package/src/preset/node/node/utils/http-server/index.ts +17 -0
  336. package/src/preset/node/node/utils/index.ts +2 -0
  337. package/src/preset/web/index.ts +40 -0
  338. package/src/preset/web/providers/index.ts +108 -0
  339. package/src/tokens.ts +112 -0
  340. package/src/utils/axios/index.ts +12 -0
  341. package/src/utils/axios/middleware/__test__/cookie.test.ts +94 -0
  342. package/src/utils/axios/middleware/__test__/log.test.ts +121 -0
  343. package/src/utils/axios/middleware/cookie.ts +26 -0
  344. package/src/utils/axios/middleware/log.ts +52 -0
  345. package/src/utils/axios/sauce/index.ts +76 -0
  346. package/src/utils/axios/utils/__test__/index.test.ts +89 -0
  347. package/src/utils/axios/utils/index.ts +26 -0
  348. package/src/utils/express/handler/health-check.ts +13 -0
  349. package/src/utils/express/index.ts +2 -0
  350. package/src/utils/express/utils/index.ts +18 -0
  351. package/src/utils/function.ts +57 -0
  352. package/src/utils/index.ts +2 -0
  353. package/src/utils/math.ts +8 -0
  354. package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +27 -0
  355. package/src/utils/react/error-handlers/__test__/index.test.tsx +63 -0
  356. package/src/utils/react/error-handlers/index.tsx +68 -0
  357. package/src/utils/react/index.ts +3 -0
  358. package/src/utils/redux/__test__/remote-data.test.ts +172 -0
  359. package/src/utils/redux/index.ts +4 -0
  360. package/src/utils/redux/remote-data.ts +138 -0
  361. package/src/utils/redux-saga/__test__/take-chain.test.ts +141 -0
  362. package/src/utils/redux-saga/index.ts +3 -0
  363. package/src/utils/redux-saga/middleware.ts +168 -0
  364. package/src/utils/redux-saga/take-chain.ts +67 -0
  365. package/src/utils/redux-saga/types.ts +43 -0
  366. package/src/utils/ssr/index.tsx +78 -0
  367. package/src/utils/web/analytics/__test__/data-layer.test.ts +50 -0
  368. package/src/utils/web/analytics/__test__/oko.test.ts +50 -0
  369. package/src/utils/web/analytics/data-layer.ts +12 -0
  370. package/src/utils/web/analytics/index.ts +2 -0
  371. package/src/utils/web/analytics/oko.ts +14 -0
  372. package/src/utils/web/storage/index.ts +84 -0
  373. package/src/utils/webpack/env/index.ts +91 -0
  374. package/src/utils/webpack/env/types.ts +14 -0
  375. package/src/utils/webpack/env/utils.ts +53 -0
  376. package/src/utils/webpack/index.ts +7 -0
  377. package/src/utils/webpack/module-federation/__test__/__snapshots__/utils.test.ts.snap +124 -0
  378. package/src/utils/webpack/module-federation/__test__/index.test.ts +311 -0
  379. package/src/utils/webpack/module-federation/__test__/utils.test.ts +28 -0
  380. package/src/utils/webpack/module-federation/index.ts +102 -0
  381. package/src/utils/webpack/module-federation/types.ts +54 -0
  382. package/src/utils/webpack/module-federation/utils.ts +104 -0
  383. package/cache/types.js +0 -3
  384. package/cache/types.js.map +0 -1
  385. package/config/base.js +0 -20
  386. package/config/base.js.map +0 -1
  387. package/config/index.js +0 -8
  388. package/config/index.js.map +0 -1
  389. package/config/source.js +0 -21
  390. package/config/source.js.map +0 -1
  391. package/config/types.js +0 -3
  392. package/config/types.js.map +0 -1
  393. package/di/application.js +0 -88
  394. package/di/application.js.map +0 -1
  395. package/di/container.js +0 -52
  396. package/di/container.js.map +0 -1
  397. package/di/errors.js +0 -59
  398. package/di/errors.js.map +0 -1
  399. package/di/index.js +0 -17
  400. package/di/index.js.map +0 -1
  401. package/di/preset.js +0 -27
  402. package/di/preset.js.map +0 -1
  403. package/di/token.js +0 -39
  404. package/di/token.js.map +0 -1
  405. package/di/types.js +0 -3
  406. package/di/types.js.map +0 -1
  407. package/http/errors.js +0 -42
  408. package/http/errors.js.map +0 -1
  409. package/http/index.js +0 -16
  410. package/http/index.js.map +0 -1
  411. package/http/types.js +0 -3
  412. package/http/types.js.map +0 -1
  413. package/log/errors.js +0 -31
  414. package/log/errors.js.map +0 -1
  415. package/log/handler/pino.js +0 -29
  416. package/log/handler/pino.js.map +0 -1
  417. package/log/handler/sentry.js +0 -50
  418. package/log/handler/sentry.js.map +0 -1
  419. package/log/index.d.ts +0 -3
  420. package/log/index.js +0 -9
  421. package/log/index.js.map +0 -1
  422. package/log/logger.js +0 -29
  423. package/log/logger.js.map +0 -1
  424. package/log/types.js +0 -3
  425. package/log/types.js.map +0 -1
  426. package/preset/isomorphic/constants.js +0 -11
  427. package/preset/isomorphic/constants.js.map +0 -1
  428. package/preset/isomorphic/providers/index.js.map +0 -1
  429. package/preset/isomorphic/types.js +0 -3
  430. package/preset/isomorphic/types.js.map +0 -1
  431. package/preset/isomorphic/utils/index.js +0 -289
  432. package/preset/isomorphic/utils/index.js.map +0 -1
  433. package/preset/node/handler/index.js +0 -38
  434. package/preset/node/handler/index.js.map +0 -1
  435. package/preset/node/handler/providers/index.js +0 -184
  436. package/preset/node/handler/providers/index.js.map +0 -1
  437. package/preset/node/handler/utils/index.js +0 -81
  438. package/preset/node/handler/utils/index.js.map +0 -1
  439. package/preset/node/index.js +0 -9
  440. package/preset/node/index.js.map +0 -1
  441. package/preset/node/node/index.js +0 -49
  442. package/preset/node/node/index.js.map +0 -1
  443. package/preset/node/node/providers/index.js +0 -392
  444. package/preset/node/node/providers/index.js.map +0 -1
  445. package/preset/node/node/utils/http-client/index.js +0 -109
  446. package/preset/node/node/utils/http-client/index.js.map +0 -1
  447. package/preset/node/node/utils/http-server/index.js +0 -21
  448. package/preset/node/node/utils/http-server/index.js.map +0 -1
  449. package/preset/web/index.js +0 -30
  450. package/preset/web/index.js.map +0 -1
  451. package/preset/web/providers/index.js +0 -88
  452. package/preset/web/providers/index.js.map +0 -1
  453. package/tokens.js +0 -81
  454. package/tokens.js.map +0 -1
  455. package/utils/axios/index.js +0 -13
  456. package/utils/axios/index.js.map +0 -1
  457. package/utils/axios/middleware/cookie.js +0 -26
  458. package/utils/axios/middleware/cookie.js.map +0 -1
  459. package/utils/axios/middleware/log.js +0 -26
  460. package/utils/axios/middleware/log.js.map +0 -1
  461. package/utils/axios/sauce/index.js +0 -50
  462. package/utils/axios/sauce/index.js.map +0 -1
  463. package/utils/axios/utils/index.js.map +0 -1
  464. package/utils/express/handler/health-check.js.map +0 -1
  465. package/utils/express/index.js +0 -8
  466. package/utils/express/index.js.map +0 -1
  467. package/utils/express/utils/index.js +0 -20
  468. package/utils/express/utils/index.js.map +0 -1
  469. package/utils/function.js +0 -23
  470. package/utils/function.js.map +0 -1
  471. package/utils/number.js.map +0 -1
  472. package/utils/react/error-handlers/index.js +0 -47
  473. package/utils/react/error-handlers/index.js.map +0 -1
  474. package/utils/react/index.js +0 -7
  475. package/utils/react/index.js.map +0 -1
  476. package/utils/redux/index.js +0 -7
  477. package/utils/redux/index.js.map +0 -1
  478. package/utils/redux/remote-data.js +0 -91
  479. package/utils/redux/remote-data.js.map +0 -1
  480. package/utils/redux-saga/index.js +0 -8
  481. package/utils/redux-saga/index.js.map +0 -1
  482. package/utils/redux-saga/middleware.js +0 -142
  483. package/utils/redux-saga/middleware.js.map +0 -1
  484. package/utils/redux-saga/take-chain.js +0 -58
  485. package/utils/redux-saga/take-chain.js.map +0 -1
  486. package/utils/redux-saga/types.js +0 -3
  487. package/utils/redux-saga/types.js.map +0 -1
  488. package/utils/ssr/index.js +0 -54
  489. package/utils/ssr/index.js.map +0 -1
  490. package/utils/web/analytics/data-layer.js +0 -16
  491. package/utils/web/analytics/data-layer.js.map +0 -1
  492. package/utils/web/analytics/oko.js +0 -16
  493. package/utils/web/analytics/oko.js.map +0 -1
  494. package/utils/web/storage/index.js +0 -69
  495. package/utils/web/storage/index.js.map +0 -1
  496. package/utils/webpack/env/index.js +0 -76
  497. package/utils/webpack/env/index.js.map +0 -1
  498. package/utils/webpack/env/types.js +0 -3
  499. package/utils/webpack/env/types.js.map +0 -1
  500. package/utils/webpack/env/utils.js +0 -52
  501. package/utils/webpack/env/utils.js.map +0 -1
  502. package/utils/webpack/index.js +0 -8
  503. package/utils/webpack/index.js.map +0 -1
  504. package/utils/webpack/module-federation/index.js +0 -81
  505. package/utils/webpack/module-federation/index.js.map +0 -1
  506. package/utils/webpack/module-federation/types.js +0 -3
  507. package/utils/webpack/module-federation/types.js.map +0 -1
  508. package/utils/webpack/module-federation/utils.js.map +0 -1
  509. /package/{cache → dist/types/cache}/types.d.ts +0 -0
  510. /package/{config → dist/types/config}/base.d.ts +0 -0
  511. /package/{config → dist/types/config}/index.d.ts +0 -0
  512. /package/{config → dist/types/config}/source.d.ts +0 -0
  513. /package/{config → dist/types/config}/types.d.ts +0 -0
  514. /package/{di → dist/types/di}/application.d.ts +0 -0
  515. /package/{di → dist/types/di}/container.d.ts +0 -0
  516. /package/{di → dist/types/di}/errors.d.ts +0 -0
  517. /package/{di → dist/types/di}/index.d.ts +0 -0
  518. /package/{di → dist/types/di}/preset.d.ts +0 -0
  519. /package/{di → dist/types/di}/token.d.ts +0 -0
  520. /package/{di → dist/types/di}/types.d.ts +0 -0
  521. /package/{http → dist/types/http}/errors.d.ts +0 -0
  522. /package/{http → dist/types/http}/index.d.ts +0 -0
  523. /package/{http → dist/types/http}/types.d.ts +0 -0
  524. /package/{log → dist/types/log}/errors.d.ts +0 -0
  525. /package/{log → dist/types/log}/handler/pino.d.ts +0 -0
  526. /package/{log → dist/types/log}/handler/sentry.d.ts +0 -0
  527. /package/{log → dist/types/log}/logger.d.ts +0 -0
  528. /package/{log → dist/types/log}/types.d.ts +0 -0
  529. /package/{preset → dist/types/preset}/isomorphic/constants.d.ts +0 -0
  530. /package/{preset → dist/types/preset}/isomorphic/providers/index.d.ts +0 -0
  531. /package/{preset → dist/types/preset}/isomorphic/utils/index.d.ts +0 -0
  532. /package/{preset → dist/types/preset}/node/handler/index.d.ts +0 -0
  533. /package/{preset → dist/types/preset}/node/handler/providers/index.d.ts +0 -0
  534. /package/{preset → dist/types/preset}/node/handler/utils/index.d.ts +0 -0
  535. /package/{preset → dist/types/preset}/node/index.d.ts +0 -0
  536. /package/{preset → dist/types/preset}/node/node/index.d.ts +0 -0
  537. /package/{preset → dist/types/preset}/node/node/providers/index.d.ts +0 -0
  538. /package/{preset → dist/types/preset}/node/node/utils/http-client/index.d.ts +0 -0
  539. /package/{preset → dist/types/preset}/node/node/utils/http-server/index.d.ts +0 -0
  540. /package/{preset → dist/types/preset}/web/index.d.ts +0 -0
  541. /package/{preset → dist/types/preset}/web/providers/index.d.ts +0 -0
  542. /package/{tokens.d.ts → dist/types/tokens.d.ts} +0 -0
  543. /package/{utils → dist/types/utils}/axios/index.d.ts +0 -0
  544. /package/{utils → dist/types/utils}/axios/middleware/cookie.d.ts +0 -0
  545. /package/{utils → dist/types/utils}/axios/middleware/log.d.ts +0 -0
  546. /package/{utils → dist/types/utils}/axios/utils/index.d.ts +0 -0
  547. /package/{utils → dist/types/utils}/express/handler/health-check.d.ts +0 -0
  548. /package/{utils → dist/types/utils}/express/index.d.ts +0 -0
  549. /package/{utils → dist/types/utils}/express/utils/index.d.ts +0 -0
  550. /package/{utils → dist/types/utils}/function.d.ts +0 -0
  551. /package/{utils/number.d.ts → dist/types/utils/math.d.ts} +0 -0
  552. /package/{utils → dist/types/utils}/react/error-handlers/index.d.ts +0 -0
  553. /package/{utils → dist/types/utils}/react/index.d.ts +0 -0
  554. /package/{utils → dist/types/utils}/redux/index.d.ts +0 -0
  555. /package/{utils → dist/types/utils}/redux-saga/index.d.ts +0 -0
  556. /package/{utils → dist/types/utils}/redux-saga/middleware.d.ts +0 -0
  557. /package/{utils → dist/types/utils}/redux-saga/take-chain.d.ts +0 -0
  558. /package/{utils → dist/types/utils}/redux-saga/types.d.ts +0 -0
  559. /package/{utils → dist/types/utils}/web/analytics/data-layer.d.ts +0 -0
  560. /package/{utils → dist/types/utils}/web/analytics/oko.d.ts +0 -0
  561. /package/{utils → dist/types/utils}/web/storage/index.d.ts +0 -0
  562. /package/{utils → dist/types/utils}/webpack/env/index.d.ts +0 -0
  563. /package/{utils → dist/types/utils}/webpack/env/types.d.ts +0 -0
  564. /package/{utils → dist/types/utils}/webpack/env/utils.d.ts +0 -0
  565. /package/{utils → dist/types/utils}/webpack/index.d.ts +0 -0
  566. /package/{utils → dist/types/utils}/webpack/module-federation/types.d.ts +0 -0
  567. /package/{utils → dist/types/utils}/webpack/module-federation/utils.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_http","require","_tokens","_httpClient","_middlewareAxios","_utils","_axios","_constants","_react","_utils2","_server","_jsxRuntime","provideHttpClientFactory","resolve","appConfig","KnownToken","Config","base","tracer","Tracing","context","Http","Handler","logHandler","Client","Middleware","Log","handler","cookieStore","createCookieStore","req","header","subscribe","res","writableEnded","setHeader","getCookies","defaultHeaders","getRequestHeaders","config","client","create","headers","use","HttpStatus","axiosMiddleware","tracingMiddleware","locals","tracing","rootContext","logMiddleware","cookieMiddleware","provideHandlerMain","logger","assetsInit","Page","assets","render","extras","Response","specificExtras","Helmet","helmet","getAssets","elementToString","element","emit","RESPONSE_EVENT_TYPE","renderStart","result","renderToString","renderFinish","main","meta","getMeta","jsx","HelmetContext","Provider","value","title","appName","children","getResponseFormat","js","css","criticalJs","criticalCss","JSON","stringify","env","send","json","markup","bundle_js","bundle_css","critical_js","critical_css","error","message","statusCode","Error","ResponseError","String","status","providePageRender","jsxs","Fragment","providePageHelmet","RegularHelmet","provideSpecificParams","headerValue","processedValue","Buffer","from","toString","parse"],"sources":["../../../../../../src/preset/node/handler/providers/index.tsx"],"sourcesContent":["import { ResponseError, createCookieStore } from '../../../../http';\nimport { Resolve } from '../../../../di';\nimport { KnownToken } from '../../../../tokens';\nimport { getRequestHeaders, tracingMiddleware } from '../../node/utils/http-client';\nimport { CreateAxiosDefaults } from 'axios';\nimport { create } from 'middleware-axios';\nimport { HttpStatus } from '../../../isomorphic/utils';\nimport { cookieMiddleware, logMiddleware } from '../../../../utils/axios';\nimport { RESPONSE_EVENT_TYPE } from '../../../isomorphic/constants';\nimport { ConventionalJson } from '../../../isomorphic/types';\nimport { Fragment } from 'react';\nimport { HelmetContext, RegularHelmet, getResponseFormat } from '../utils';\nimport { renderToString } from 'react-dom/server';\n\n/**\n * Провайдер фабрики http-клиентов.\n * @param resolve Функция для получения зависимости по токену.\n * @return Фабрика.\n */\nexport function provideHttpClientFactory(resolve: Resolve) {\n // @todo а что если привести все зависимости к виду:\n // const getAppConfig = resolve.lazy(KnownToken.Config.base);\n\n const appConfig = resolve(KnownToken.Config.base);\n const tracer = resolve(KnownToken.Tracing.tracer);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Client.Middleware.Log.handler);\n\n // @todo добавить при необходимости (но тогда в логе будет значительно больше ошибок)\n // можно не отсылать ошибки из клиента если ответ от сервера уже ушел (writableEnded)\n // const controller = new AbortController();\n // context.res.on('finish', () => {\n // controller.abort();\n // });\n\n // ВАЖНО: для всех клиентов в рамках обработчика должно быть одно хранилище cookie\n const cookieStore = createCookieStore(context.req.header('cookie'));\n\n cookieStore.subscribe(() => {\n if (!context.res.writableEnded) {\n context.res.setHeader('cookie', cookieStore.getCookies());\n }\n });\n\n const defaultHeaders = getRequestHeaders(appConfig, context.req);\n\n return (config: CreateAxiosDefaults = {}) => {\n const client = create({\n ...config,\n headers: {\n ...defaultHeaders,\n\n // @todo убрать as any\n ...(config.headers as any),\n },\n });\n\n client.use(HttpStatus.axiosMiddleware());\n client.use(tracingMiddleware(tracer, context.res.locals.tracing.rootContext));\n client.use(logMiddleware(logHandler));\n client.use(cookieMiddleware(cookieStore));\n\n return client;\n };\n}\n\n/**\n * Провайдер главной функции обработчика входящего http-запроса.\n * @param resolve Функция для получения зависимости по токену.\n * @return Главная функция.\n */\nexport function provideHandlerMain(resolve: Resolve): VoidFunction {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const extras = resolve(KnownToken.Http.Handler.Response.specificExtras);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const { req, res } = resolve(KnownToken.Http.Handler.context);\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n /**\n * Рендер JSX-элемента в строку.\n * @param element Элемент.\n * @return Строка.\n */\n const elementToString = (element: JSX.Element) => {\n res.emit(RESPONSE_EVENT_TYPE.renderStart);\n const result = renderToString(element);\n res.emit(RESPONSE_EVENT_TYPE.renderFinish);\n\n return result;\n };\n\n return async function main() {\n try {\n const assets = await getAssets();\n const meta = extras.getMeta();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n switch (getResponseFormat(req)) {\n case 'html': {\n res.setHeader('simaland-bundle-js', assets.js);\n res.setHeader('simaland-bundle-css', assets.css);\n\n if (assets.criticalJs) {\n res.setHeader('simaland-critical-js', assets.criticalJs);\n }\n\n if (assets.criticalCss) {\n res.setHeader('simaland-critical-css', assets.criticalCss);\n }\n\n if (meta) {\n res.setHeader('simaland-meta', JSON.stringify(meta));\n }\n\n // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css\n // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу\n if (config.env === 'development') {\n res.send(`<!DOCTYPE html>${elementToString(jsx)}`);\n } else {\n res.send(elementToString(jsx));\n }\n break;\n }\n\n case 'json': {\n res.json({\n markup: elementToString(jsx),\n bundle_js: assets.js,\n bundle_css: assets.css,\n critical_js: assets.criticalJs,\n critical_css: assets.criticalCss,\n meta,\n } satisfies ConventionalJson);\n break;\n }\n }\n } catch (error) {\n let message;\n let statusCode = 500; // по умолчанию, если на этапе подготовки страницы что-то не так, отдаем 500\n\n if (error instanceof Error) {\n message = error.message;\n\n if (error instanceof ResponseError) {\n statusCode = error.statusCode;\n }\n } else {\n message = String(error);\n }\n\n res.status(statusCode).send(message);\n logger.error(error);\n }\n };\n}\n\n/**\n * Провайдер render-функции.\n * @return Render-Функция.\n */\nexport function providePageRender() {\n return () => (\n <>\n <h1>Hello, world!</h1>\n <p>This is a stub page. Define the render component in your handler</p>\n </>\n );\n}\n\n/**\n * Провайдер helmet-компонента. Этот компонент является контейнером для результата render-функции.\n * @param resolve Функция для получения зависимости по токену.\n * @return Helmet-компонент.\n */\nexport function providePageHelmet(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const { req } = resolve(KnownToken.Http.Handler.context);\n\n return config.env === 'development' && getResponseFormat(req) === 'html'\n ? RegularHelmet\n : Fragment;\n}\n\n/**\n * Провайдер специфичных параметров, которые frontend-микросервис будет получать в запросе.\n * @param resolve Функция для получения зависимости по токену.\n * @return Параметры.\n */\nexport function provideSpecificParams(resolve: Resolve): Record<string, unknown> {\n const context = resolve(KnownToken.Http.Handler.context);\n\n try {\n const headerValue = context.req.header('simaland-params');\n\n /**\n * Node.js переводит в ASCII.\n * @see {https://github.com/nodejs/node/issues/17390}\n */\n const processedValue = headerValue ? Buffer.from(headerValue, 'binary').toString('utf8') : '';\n\n return processedValue ? JSON.parse(processedValue) : {};\n } catch {\n return {};\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HandlerProvider = HandlerProvider;
7
+ exports.HelmetContext = void 0;
8
+ exports.RegularHelmet = RegularHelmet;
9
+ exports.SpecificExtras = void 0;
10
+ exports.getResponseFormat = getResponseFormat;
11
+ var _react = require("react");
12
+ var _di = require("../../../../di");
13
+ var _tokens = require("../../../../tokens");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ const HelmetContext = exports.HelmetContext = /*#__PURE__*/(0, _react.createContext)({});
16
+ const resetCSS = `
17
+ * {
18
+ box-sizing: border-box;
19
+ }
20
+ body {
21
+ font-family: -apple-system,BlinkMacSystemFont,'Source Sans Pro',"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,Arial,sans-serif;
22
+ margin: 0;
23
+ }
24
+ `;
25
+
26
+ /**
27
+ * Простой Helmet-компонент.
28
+ * Выведет html, head и body.
29
+ * @param props Свойства.
30
+ * @return Элемент.
31
+ */
32
+ function RegularHelmet({
33
+ children
34
+ }) {
35
+ const {
36
+ title,
37
+ assets
38
+ } = (0, _react.useContext)(HelmetContext);
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("html", {
40
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("head", {
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("meta", {
42
+ charSet: "UTF-8"
43
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("meta", {
44
+ httpEquiv: "X-UA-Compatible",
45
+ content: "IE=edge"
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("meta", {
47
+ name: "viewport",
48
+ content: "width=device-width, initial-scale=1"
49
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("title", {
50
+ children: title ?? 'Document'
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("link", {
52
+ href: "https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap",
53
+ rel: "stylesheet"
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("style", {
55
+ dangerouslySetInnerHTML: {
56
+ __html: resetCSS
57
+ }
58
+ }), assets?.criticalCss && /*#__PURE__*/(0, _jsxRuntime.jsx)("link", {
59
+ rel: "stylesheet",
60
+ href: assets.criticalCss
61
+ }), assets?.css && /*#__PURE__*/(0, _jsxRuntime.jsx)("link", {
62
+ rel: "stylesheet",
63
+ href: assets.css
64
+ }), assets?.criticalJs && /*#__PURE__*/(0, _jsxRuntime.jsx)("script", {
65
+ src: assets.criticalJs
66
+ })]
67
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("body", {
68
+ children: [children, assets?.js && /*#__PURE__*/(0, _jsxRuntime.jsx)("script", {
69
+ src: assets.js
70
+ })]
71
+ })]
72
+ });
73
+ }
74
+
75
+ /**
76
+ * Специфичные для наших микросервисов дополнительные данные ответа.
77
+ */
78
+ class SpecificExtras {
79
+ /**
80
+ * Установит мета-данные.
81
+ * @param meta Данные.
82
+ * @return Контекст.
83
+ */
84
+ setMeta(meta) {
85
+ this._meta = meta;
86
+ return this;
87
+ }
88
+
89
+ /**
90
+ * Вернет установленные мета-данные.
91
+ * @return Данные.
92
+ */
93
+ getMeta() {
94
+ return this._meta;
95
+ }
96
+ }
97
+
98
+ /**
99
+ * Определит формат ответа.
100
+ * @param req Запрос.
101
+ * @return Формат.
102
+ */
103
+ exports.SpecificExtras = SpecificExtras;
104
+ function getResponseFormat(req) {
105
+ let result = 'html';
106
+ if ((req.header('accept') || '').toLowerCase().includes('application/json')) {
107
+ result = 'json';
108
+ }
109
+ return result;
110
+ }
111
+
112
+ /**
113
+ * Возвращает express-handler, создающий дочернее di-приложение при запросе.
114
+ * @param getApp Должна вернуть di-приложения запроса.
115
+ * @return Обработчик.
116
+ */
117
+ function HandlerProvider(getApp) {
118
+ return function provider(resolve) {
119
+ const parent = resolve(_di.CURRENT_APP);
120
+ return function handler(req, res, next) {
121
+ const app = getApp();
122
+ app.attach(parent);
123
+ app.bind(_tokens.KnownToken.Http.Handler.context).toValue({
124
+ req,
125
+ res,
126
+ next
127
+ });
128
+ app.get(_tokens.KnownToken.Http.Handler.main)();
129
+ };
130
+ };
131
+ }
132
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","require","_di","_tokens","_jsxRuntime","HelmetContext","exports","createContext","resetCSS","RegularHelmet","children","title","assets","useContext","jsxs","jsx","charSet","httpEquiv","content","name","href","rel","dangerouslySetInnerHTML","__html","criticalCss","css","criticalJs","src","js","SpecificExtras","setMeta","meta","_meta","getMeta","getResponseFormat","req","result","header","toLowerCase","includes","HandlerProvider","getApp","provider","resolve","parent","CURRENT_APP","handler","res","next","app","attach","bind","KnownToken","Http","Handler","context","toValue","get","main"],"sources":["../../../../../../src/preset/node/handler/utils/index.tsx"],"sourcesContent":["import { ReactNode, createContext, useContext } from 'react';\nimport { PageAssets } from '../../../isomorphic/types';\nimport { Handler, Request } from 'express';\nimport { Application, CURRENT_APP, Resolve } from '../../../../di';\nimport { KnownToken } from '../../../../tokens';\n\nexport const HelmetContext = createContext<{ title?: string; assets?: PageAssets }>({});\n\nconst resetCSS = `\n* {\n box-sizing: border-box;\n}\nbody {\n font-family: -apple-system,BlinkMacSystemFont,'Source Sans Pro',\"Segoe UI\",Roboto,\"Helvetica Neue\",Ubuntu,Arial,sans-serif;\n margin: 0;\n}\n`;\n\n/**\n * Простой Helmet-компонент.\n * Выведет html, head и body.\n * @param props Свойства.\n * @return Элемент.\n */\nexport function RegularHelmet({ children }: { children?: ReactNode }) {\n const { title, assets } = useContext(HelmetContext);\n\n return (\n <html>\n <head>\n <meta charSet='UTF-8' />\n <meta httpEquiv='X-UA-Compatible' content='IE=edge' />\n <meta name='viewport' content='width=device-width, initial-scale=1' />\n <title>{title ?? 'Document'}</title>\n <link\n href='https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&amp;display=swap'\n rel='stylesheet'\n />\n <style dangerouslySetInnerHTML={{ __html: resetCSS }} />\n\n {assets?.criticalCss && <link rel='stylesheet' href={assets.criticalCss} />}\n {assets?.css && <link rel='stylesheet' href={assets.css} />}\n {assets?.criticalJs && <script src={assets.criticalJs} />}\n </head>\n <body>\n {children}\n {assets?.js && <script src={assets.js} />}\n </body>\n </html>\n );\n}\n\n/**\n * Специфичные для наших микросервисов дополнительные данные ответа.\n */\nexport class SpecificExtras {\n private _meta: any;\n\n /**\n * Установит мета-данные.\n * @param meta Данные.\n * @return Контекст.\n */\n setMeta(meta: any): this {\n this._meta = meta;\n return this;\n }\n\n /**\n * Вернет установленные мета-данные.\n * @return Данные.\n */\n getMeta(): unknown {\n return this._meta;\n }\n}\n\n/**\n * Определит формат ответа.\n * @param req Запрос.\n * @return Формат.\n */\nexport function getResponseFormat(req: Request): 'html' | 'json' {\n let result: 'html' | 'json' = 'html';\n\n if ((req.header('accept') || '').toLowerCase().includes('application/json')) {\n result = 'json';\n }\n\n return result;\n}\n\n/**\n * Возвращает express-handler, создающий дочернее di-приложение при запросе.\n * @param getApp Должна вернуть di-приложения запроса.\n * @return Обработчик.\n */\nexport function HandlerProvider(getApp: () => Application) {\n return function provider(resolve: Resolve): Handler {\n const parent = resolve(CURRENT_APP);\n\n return function handler(req, res, next) {\n const app = getApp();\n\n app.attach(parent);\n app.bind(KnownToken.Http.Handler.context).toValue({ req, res, next });\n app.get(KnownToken.Http.Handler.main)();\n };\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "HandlerProvider", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _handler.HandlerProvider;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "PresetHandler", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _handler.PresetHandler;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "PresetNode", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _node.PresetNode;
22
+ }
23
+ });
24
+ var _node = require("./node");
25
+ var _handler = require("./handler");
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_node","require","_handler"],"sources":["../../../../src/preset/node/index.ts"],"sourcesContent":["export { PresetNode } from './node';\nexport { PresetHandler, HandlerProvider } from './handler';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PresetNode = PresetNode;
7
+ var _tokens = require("../../../tokens");
8
+ var _providers = require("../../isomorphic/providers");
9
+ var _di = require("../../../di");
10
+ var _healthCheck = require("../../../utils/express/handler/health-check");
11
+ var _providers2 = require("./providers");
12
+ /**
13
+ * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
14
+ * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
15
+ * @return Preset.
16
+ */
17
+ function PresetNode(customize) {
18
+ // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
19
+ const preset = (0, _di.createPreset)();
20
+
21
+ // config
22
+ preset.set(_tokens.KnownToken.Config.source, _providers2.provideConfigSource);
23
+ preset.set(_tokens.KnownToken.Config.base, _providers.provideBaseConfig);
24
+
25
+ // log
26
+ preset.set(_tokens.KnownToken.logger, _providers2.provideLogger);
27
+
28
+ // tracing
29
+ preset.set(_tokens.KnownToken.Tracing.tracer, _providers2.provideTracer);
30
+ preset.set(_tokens.KnownToken.Tracing.spanExporter, _providers2.provideSpanExporter);
31
+ preset.set(_tokens.KnownToken.Tracing.tracerProvider, _providers2.provideTracerProvider);
32
+ preset.set(_tokens.KnownToken.Tracing.tracerProviderResource, _providers2.provideTracerProviderResource);
33
+
34
+ // metrics
35
+ preset.set(_tokens.KnownToken.Metrics.httpApp, _providers2.provideMetricsHttpApp);
36
+
37
+ // http client
38
+ preset.set(_tokens.KnownToken.Http.Client.factory, _providers2.provideHttpClientFactory);
39
+
40
+ // http server
41
+ preset.set(_tokens.KnownToken.Http.Server.factory, _providers2.provideHttpServerFactory);
42
+ preset.set(_tokens.KnownToken.Http.Server.Handlers.healthCheck, _healthCheck.healthCheck);
43
+ preset.set(_tokens.KnownToken.Http.Server.Middleware.request, _providers2.provideHttpServerRequestMiddleware);
44
+ preset.set(_tokens.KnownToken.Http.Server.Middleware.log, _providers2.provideHttpServerLogMiddleware);
45
+ preset.set(_tokens.KnownToken.Http.Server.Middleware.metrics, _providers2.provideHttpServerMetricsMiddleware);
46
+ preset.set(_tokens.KnownToken.Http.Server.Middleware.tracing, _providers2.provideHttpServerTracingMiddleware);
47
+ preset.set(_tokens.KnownToken.Http.Server.Middleware.error, _providers2.provideHttpServerErrorMiddleware);
48
+
49
+ // http api
50
+ preset.set(_tokens.KnownToken.Http.Api.knownHosts, _providers2.provideKnownHttpApiHosts);
51
+
52
+ // ssr bridge
53
+ preset.set(_tokens.KnownToken.SsrBridge.serverSide, _providers2.provideSsrBridgeServerSide);
54
+ if (customize) {
55
+ customize({
56
+ override: preset.set.bind(preset)
57
+ });
58
+ }
59
+ return preset;
60
+ }
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_tokens","require","_providers","_di","_healthCheck","_providers2","PresetNode","customize","preset","createPreset","set","KnownToken","Config","source","provideConfigSource","base","provideBaseConfig","logger","provideLogger","Tracing","tracer","provideTracer","spanExporter","provideSpanExporter","tracerProvider","provideTracerProvider","tracerProviderResource","provideTracerProviderResource","Metrics","httpApp","provideMetricsHttpApp","Http","Client","factory","provideHttpClientFactory","Server","provideHttpServerFactory","Handlers","healthCheck","Middleware","request","provideHttpServerRequestMiddleware","log","provideHttpServerLogMiddleware","metrics","provideHttpServerMetricsMiddleware","tracing","provideHttpServerTracingMiddleware","error","provideHttpServerErrorMiddleware","Api","knownHosts","provideKnownHttpApiHosts","SsrBridge","serverSide","provideSsrBridgeServerSide","override","bind"],"sources":["../../../../../src/preset/node/node/index.ts"],"sourcesContent":["import { KnownToken } from '../../../tokens';\nimport { provideBaseConfig } from '../../isomorphic/providers';\nimport { Preset, createPreset } from '../../../di';\nimport { PresetTuner } from '../../isomorphic/types';\nimport { healthCheck } from '../../../utils/express/handler/health-check';\nimport {\n provideConfigSource,\n provideHttpClientFactory,\n provideHttpServerErrorMiddleware,\n provideHttpServerFactory,\n provideHttpServerLogMiddleware,\n provideHttpServerMetricsMiddleware,\n provideHttpServerRequestMiddleware,\n provideHttpServerTracingMiddleware,\n provideKnownHttpApiHosts,\n provideLogger,\n provideMetricsHttpApp,\n provideSpanExporter,\n provideSsrBridgeServerSide,\n provideTracer,\n provideTracerProvider,\n provideTracerProviderResource,\n} from './providers';\n\n/**\n * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetNode(customize?: PresetTuner): Preset {\n // ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n preset.set(KnownToken.Tracing.tracer, provideTracer);\n preset.set(KnownToken.Tracing.spanExporter, provideSpanExporter);\n preset.set(KnownToken.Tracing.tracerProvider, provideTracerProvider);\n preset.set(KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource);\n\n // metrics\n preset.set(KnownToken.Metrics.httpApp, provideMetricsHttpApp);\n\n // http client\n preset.set(KnownToken.Http.Client.factory, provideHttpClientFactory);\n\n // http server\n preset.set(KnownToken.Http.Server.factory, provideHttpServerFactory);\n preset.set(KnownToken.Http.Server.Handlers.healthCheck, healthCheck);\n preset.set(KnownToken.Http.Server.Middleware.request, provideHttpServerRequestMiddleware);\n preset.set(KnownToken.Http.Server.Middleware.log, provideHttpServerLogMiddleware);\n preset.set(KnownToken.Http.Server.Middleware.metrics, provideHttpServerMetricsMiddleware);\n preset.set(KnownToken.Http.Server.Middleware.tracing, provideHttpServerTracingMiddleware);\n preset.set(KnownToken.Http.Server.Middleware.error, provideHttpServerErrorMiddleware);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAmBA;AACA;AACA;AACA;AACA;AACO,SAASK,UAAUA,CAACC,SAAuB,EAAU;EAC1D;EACA,MAAMC,MAAM,GAAG,IAAAC,gBAAY,EAAC,CAAC;;EAE7B;EACAD,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACC,MAAM,EAAEC,+BAAmB,CAAC;EACzDN,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACC,MAAM,CAACG,IAAI,EAAEC,4BAAiB,CAAC;;EAErD;EACAR,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACM,MAAM,EAAEC,yBAAa,CAAC;;EAE5C;EACAV,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACC,MAAM,EAAEC,yBAAa,CAAC;EACpDb,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACG,YAAY,EAAEC,+BAAmB,CAAC;EAChEf,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACK,cAAc,EAAEC,iCAAqB,CAAC;EACpEjB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACQ,OAAO,CAACO,sBAAsB,EAAEC,yCAA6B,CAAC;;EAEpF;EACAnB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACiB,OAAO,CAACC,OAAO,EAAEC,iCAAqB,CAAC;;EAE7D;EACAtB,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACC,MAAM,CAACC,OAAO,EAAEC,oCAAwB,CAAC;;EAEpE;EACA1B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACF,OAAO,EAAEG,oCAAwB,CAAC;EACpE5B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACE,QAAQ,CAACC,WAAW,EAAEA,wBAAW,CAAC;EACpE9B,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACI,UAAU,CAACC,OAAO,EAAEC,8CAAkC,CAAC;EACzFjC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACI,UAAU,CAACG,GAAG,EAAEC,0CAA8B,CAAC;EACjFnC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACI,UAAU,CAACK,OAAO,EAAEC,8CAAkC,CAAC;EACzFrC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACI,UAAU,CAACO,OAAO,EAAEC,8CAAkC,CAAC;EACzFvC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACI,MAAM,CAACI,UAAU,CAACS,KAAK,EAAEC,4CAAgC,CAAC;;EAErF;EACAzC,MAAM,CAACE,GAAG,CAACC,kBAAU,CAACoB,IAAI,CAACmB,GAAG,CAACC,UAAU,EAAEC,oCAAwB,CAAC;;EAEpE;EACA5C,MAAM,CAACE,GAAG,CAACC,kBAAU,CAAC0C,SAAS,CAACC,UAAU,EAAEC,sCAA0B,CAAC;EAEvE,IAAIhD,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEiD,QAAQ,EAAEhD,MAAM,CAACE,GAAG,CAAC+C,IAAI,CAACjD,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf"}