@sima-land/isomorph 11.0.0-alpha.0 → 11.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/{dist/cache → cache}/types.d.ts +0 -0
  2. package/{dist/utils/webpack/module-federation → cache}/types.js +0 -0
  3. package/{dist/cache → cache}/types.js.map +0 -0
  4. package/{dist/config → config}/browser.d.ts +0 -0
  5. package/{dist/config → config}/browser.js +0 -0
  6. package/{dist/config → config}/browser.js.map +0 -0
  7. package/{dist/config → config}/index.d.ts +0 -0
  8. package/{dist/config → config}/index.js +0 -0
  9. package/{dist/config → config}/index.js.map +0 -0
  10. package/{dist/config → config}/node.d.ts +0 -0
  11. package/{dist/config → config}/node.js +0 -0
  12. package/{dist/config → config}/node.js.map +0 -0
  13. package/{dist/config → config}/types.d.ts +0 -0
  14. package/{dist/tracer → config}/types.js +0 -0
  15. package/{dist/config → config}/types.js.map +0 -0
  16. package/{dist/config → config}/utils.d.ts +0 -0
  17. package/{dist/config → config}/utils.js +0 -0
  18. package/{dist/config → config}/utils.js.map +0 -0
  19. package/{dist/container → container}/application.d.ts +0 -0
  20. package/{dist/container → container}/application.js +0 -0
  21. package/{dist/container → container}/application.js.map +0 -0
  22. package/{dist/container → container}/index.d.ts +0 -0
  23. package/{dist/container → container}/index.js +0 -0
  24. package/{dist/container → container}/index.js.map +0 -0
  25. package/{dist/container → container}/types.d.ts +0 -0
  26. package/{dist/saga-runner → container}/types.js +0 -0
  27. package/{dist/container → container}/types.js.map +0 -0
  28. package/{dist/error-tracker → error-tracker}/browser.d.ts +0 -0
  29. package/{dist/error-tracker → error-tracker}/browser.js +0 -0
  30. package/{dist/error-tracker → error-tracker}/browser.js.map +0 -0
  31. package/{dist/error-tracker → error-tracker}/node.d.ts +0 -0
  32. package/{dist/error-tracker → error-tracker}/node.js +0 -0
  33. package/{dist/error-tracker → error-tracker}/node.js.map +0 -0
  34. package/{dist/error-tracker → error-tracker}/types.d.ts +0 -0
  35. package/{dist/preset → error-tracker}/types.js +0 -0
  36. package/{dist/error-tracker → error-tracker}/types.js.map +0 -0
  37. package/{dist/error-tracker → error-tracker}/utils.d.ts +0 -0
  38. package/{dist/error-tracker → error-tracker}/utils.js +0 -0
  39. package/{dist/error-tracker → error-tracker}/utils.js.map +0 -0
  40. package/{dist/http-client → http-client}/middleware/cookie.d.ts +0 -0
  41. package/{dist/http-client → http-client}/middleware/cookie.js +0 -0
  42. package/{dist/http-client → http-client}/middleware/cookie.js.map +0 -0
  43. package/{dist/http-client → http-client}/middleware/tracing.d.ts +0 -0
  44. package/{dist/http-client → http-client}/middleware/tracing.js +0 -0
  45. package/{dist/http-client → http-client}/middleware/tracing.js.map +0 -0
  46. package/{dist/http-client/utils.d.ts → http-client/sauce/index.d.ts} +0 -9
  47. package/{dist/http-client/utils.js → http-client/sauce/index.js} +2 -18
  48. package/http-client/sauce/index.js.map +1 -0
  49. package/{dist/http-client → http-client}/types.d.ts +0 -0
  50. package/{dist/logger → http-client}/types.js +0 -0
  51. package/{dist/http-client → http-client}/types.js.map +0 -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/{dist/http-server → http-server}/constants.d.ts +0 -0
  56. package/{dist/http-server → http-server}/constants.js +0 -0
  57. package/{dist/http-server → http-server}/constants.js.map +0 -0
  58. package/{dist/http-server → http-server}/handler/health-check.d.ts +0 -0
  59. package/{dist/http-server → http-server}/handler/health-check.js +0 -0
  60. package/{dist/http-server → http-server}/handler/health-check.js.map +0 -0
  61. package/{dist/http-server → http-server}/middleware/logging.d.ts +0 -0
  62. package/{dist/http-server → http-server}/middleware/logging.js +0 -0
  63. package/{dist/http-server → http-server}/middleware/logging.js.map +0 -0
  64. package/{dist/http-server → http-server}/middleware/metrics.d.ts +0 -0
  65. package/{dist/http-server → http-server}/middleware/metrics.js +0 -0
  66. package/{dist/http-server → http-server}/middleware/metrics.js.map +0 -0
  67. package/{dist/http-server → http-server}/middleware/tracing.d.ts +1 -1
  68. package/{dist/http-server → http-server}/middleware/tracing.js +3 -2
  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/{dist/http-server → http-server}/types.d.ts +8 -0
  74. package/{dist/http-server → http-server}/types.js +0 -0
  75. package/{dist/http-server → http-server}/types.js.map +0 -0
  76. package/{dist/http-server → http-server}/utils.d.ts +5 -1
  77. package/{dist/http-server → http-server}/utils.js +16 -4
  78. package/http-server/utils.js.map +1 -0
  79. package/{dist/logger → logger}/handler/console.d.ts +0 -0
  80. package/{dist/logger → logger}/handler/console.js +0 -0
  81. package/{dist/logger → logger}/handler/console.js.map +0 -0
  82. package/{dist/logger → logger}/handler/sentry.d.ts +0 -0
  83. package/{dist/logger → logger}/handler/sentry.js +0 -0
  84. package/{dist/logger → logger}/handler/sentry.js.map +0 -0
  85. package/{dist/logger → logger}/index.d.ts +0 -0
  86. package/{dist/logger → logger}/index.js +0 -0
  87. package/{dist/logger → logger}/index.js.map +0 -0
  88. package/{dist/logger → logger}/types.d.ts +0 -0
  89. package/{dist/http-client → logger}/types.js +0 -0
  90. package/{dist/logger → logger}/types.js.map +0 -0
  91. package/{dist/metrics → metrics}/constants.d.ts +0 -0
  92. package/{dist/metrics → metrics}/constants.js +0 -0
  93. package/{dist/metrics → metrics}/constants.js.map +0 -0
  94. package/{dist/metrics → metrics}/node.d.ts +0 -0
  95. package/{dist/metrics → metrics}/node.js +0 -0
  96. package/{dist/metrics → metrics}/node.js.map +0 -0
  97. package/package.json +6 -11
  98. package/{dist/preset → preset}/index.d.ts +0 -0
  99. package/{dist/preset → preset}/index.js +5 -3
  100. package/preset/index.js.map +1 -0
  101. package/{dist/preset → preset}/node/index.d.ts +3 -0
  102. package/{dist/preset → preset}/node/index.js +47 -17
  103. package/preset/node/index.js.map +1 -0
  104. package/{dist/preset → preset}/node/response.d.ts +6 -1
  105. package/{dist/preset → preset}/node/response.js +28 -2
  106. package/preset/node/response.js.map +1 -0
  107. package/{dist/preset → preset}/types.d.ts +2 -2
  108. package/{dist/error-tracker → preset}/types.js +0 -0
  109. package/{dist/preset → preset}/types.js.map +0 -0
  110. package/{dist/saga-runner → saga-runner}/index.d.ts +0 -0
  111. package/{dist/saga-runner → saga-runner}/index.js +3 -1
  112. package/saga-runner/index.js.map +1 -0
  113. package/{dist/saga-runner → saga-runner}/types.d.ts +0 -0
  114. package/{dist/container → saga-runner}/types.js +0 -0
  115. package/{dist/saga-runner → saga-runner}/types.js.map +0 -0
  116. package/{dist/tokens.d.ts → tokens.d.ts} +9 -3
  117. package/{dist/tokens.js → tokens.js} +6 -1
  118. package/tokens.js.map +1 -0
  119. package/{dist/utils → utils}/browser/analytics/data-layer.d.ts +0 -0
  120. package/{dist/utils → utils}/browser/analytics/data-layer.js +0 -0
  121. package/{dist/utils → utils}/browser/analytics/data-layer.js.map +0 -0
  122. package/{dist/utils → utils}/browser/analytics/oko.d.ts +0 -0
  123. package/{dist/utils → utils}/browser/analytics/oko.js +0 -0
  124. package/{dist/utils → utils}/browser/analytics/oko.js.map +0 -0
  125. package/{dist/utils → utils}/browser/storage/index.d.ts +0 -0
  126. package/{dist/utils → utils}/browser/storage/index.js +0 -0
  127. package/{dist/utils → utils}/browser/storage/index.js.map +0 -0
  128. package/{dist/utils → utils}/number.d.ts +0 -0
  129. package/{dist/utils → utils}/number.js +0 -0
  130. package/{dist/utils → utils}/number.js.map +0 -0
  131. package/{dist/utils → utils}/react/error-handlers/index.d.ts +0 -0
  132. package/{dist/utils → utils}/react/error-handlers/index.js +0 -0
  133. package/{dist/utils → utils}/react/error-handlers/index.js.map +0 -0
  134. package/{dist/utils → utils}/redux/remote-data.d.ts +0 -0
  135. package/{dist/utils → utils}/redux/remote-data.js +0 -0
  136. package/{dist/utils → utils}/redux/remote-data.js.map +0 -0
  137. package/{dist/utils → utils}/redux-saga/take-chain.d.ts +0 -0
  138. package/{dist/utils → utils}/redux-saga/take-chain.js +0 -0
  139. package/{dist/utils → utils}/redux-saga/take-chain.js.map +0 -0
  140. package/{dist/utils → utils}/webpack/module-federation/index.d.ts +0 -0
  141. package/{dist/utils → utils}/webpack/module-federation/index.js +0 -0
  142. package/{dist/utils → utils}/webpack/module-federation/index.js.map +0 -0
  143. package/{dist/utils → utils}/webpack/module-federation/types.d.ts +0 -0
  144. package/{dist/config → utils/webpack/module-federation}/types.js +0 -0
  145. package/{dist/utils → utils}/webpack/module-federation/types.js.map +0 -0
  146. package/{dist/utils → utils}/webpack/module-federation/utils.d.ts +0 -0
  147. package/{dist/utils → utils}/webpack/module-federation/utils.js +0 -0
  148. package/{dist/utils → utils}/webpack/module-federation/utils.js.map +0 -0
  149. package/LICENSE +0 -201
  150. package/dist/cache/types.js +0 -3
  151. package/dist/http-client/utils.js.map +0 -1
  152. package/dist/http-server/middleware/tracing.js.map +0 -1
  153. package/dist/http-server/utils.js.map +0 -1
  154. package/dist/preset/index.js.map +0 -1
  155. package/dist/preset/node/index.js.map +0 -1
  156. package/dist/preset/node/response.js.map +0 -1
  157. package/dist/saga-runner/index.js.map +0 -1
  158. package/dist/tokens.js.map +0 -1
  159. package/dist/tracer/node.d.ts +0 -10
  160. package/dist/tracer/node.js +0 -38
  161. package/dist/tracer/node.js.map +0 -1
  162. package/dist/tracer/types.d.ts +0 -2
  163. package/dist/tracer/types.js.map +0 -1
  164. package/readme.md +0 -23
  165. package/src/cache/types.ts +0 -7
  166. package/src/config/browser.ts +0 -10
  167. package/src/config/index.ts +0 -18
  168. package/src/config/node.ts +0 -18
  169. package/src/config/types.ts +0 -9
  170. package/src/config/utils.ts +0 -7
  171. package/src/container/application.ts +0 -91
  172. package/src/container/index.ts +0 -79
  173. package/src/container/types.ts +0 -17
  174. package/src/error-tracker/browser.ts +0 -14
  175. package/src/error-tracker/node.ts +0 -14
  176. package/src/error-tracker/types.ts +0 -22
  177. package/src/error-tracker/utils.ts +0 -18
  178. package/src/http-client/middleware/cookie.ts +0 -73
  179. package/src/http-client/middleware/tracing.ts +0 -79
  180. package/src/http-client/types.ts +0 -8
  181. package/src/http-client/utils.ts +0 -76
  182. package/src/http-server/constants.ts +0 -4
  183. package/src/http-server/handler/health-check.ts +0 -13
  184. package/src/http-server/middleware/logging.ts +0 -34
  185. package/src/http-server/middleware/metrics.ts +0 -87
  186. package/src/http-server/middleware/tracing.ts +0 -35
  187. package/src/http-server/types.ts +0 -29
  188. package/src/http-server/utils.ts +0 -105
  189. package/src/logger/handler/console.ts +0 -35
  190. package/src/logger/handler/sentry.ts +0 -38
  191. package/src/logger/index.ts +0 -31
  192. package/src/logger/types.ts +0 -28
  193. package/src/metrics/constants.ts +0 -4
  194. package/src/metrics/node.ts +0 -54
  195. package/src/preset/index.ts +0 -24
  196. package/src/preset/node/index.ts +0 -101
  197. package/src/preset/node/response.ts +0 -57
  198. package/src/preset/types.ts +0 -9
  199. package/src/saga-runner/index.ts +0 -59
  200. package/src/saga-runner/types.ts +0 -13
  201. package/src/tokens.ts +0 -54
  202. package/src/tracer/node.ts +0 -40
  203. package/src/tracer/types.ts +0 -3
  204. package/src/utils/browser/analytics/__test__/data-layer.test.ts +0 -50
  205. package/src/utils/browser/analytics/__test__/oko.test.tsx +0 -143
  206. package/src/utils/browser/analytics/data-layer.ts +0 -12
  207. package/src/utils/browser/analytics/oko.ts +0 -44
  208. package/src/utils/browser/storage/index.ts +0 -75
  209. package/src/utils/number.ts +0 -8
  210. package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +0 -27
  211. package/src/utils/react/error-handlers/__test__/index.test.tsx +0 -64
  212. package/src/utils/react/error-handlers/index.tsx +0 -62
  213. package/src/utils/redux/__test__/remote-data.test.ts +0 -50
  214. package/src/utils/redux/remote-data.ts +0 -34
  215. package/src/utils/redux-saga/__test__/take-chain.test.ts +0 -141
  216. package/src/utils/redux-saga/take-chain.ts +0 -65
  217. package/src/utils/webpack/module-federation/__test__/index.test.ts +0 -246
  218. package/src/utils/webpack/module-federation/index.ts +0 -92
  219. package/src/utils/webpack/module-federation/types.ts +0 -44
  220. package/src/utils/webpack/module-federation/utils.ts +0 -43
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,3 @@
1
- import type { Request } from 'express';
2
- import type { BaseConfig } from '../config/types';
3
1
  import type { AxiosInstance } from 'axios';
4
2
  import type { AxiosInstanceWrapper, MethodName } from 'middleware-axios';
5
3
  export declare type SauceResponse<T = any> = {
@@ -27,10 +25,3 @@ export interface Sauce {
27
25
  * @return Обертка.
28
26
  */
29
27
  export declare function sauce(instance: AxiosInstance | AxiosInstanceWrapper): Sauce;
30
- /**
31
- * Формирует заголовки для исходящих запросов с сервера по соглашению.
32
- * @param config Конфиг.
33
- * @param request Входящий запрос.
34
- * @return Заголовки для исходящих запросов.
35
- */
36
- export declare function getRequestHeaders(config: BaseConfig, request: Request): Record<string, string>;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRequestHeaders = exports.sauce = void 0;
4
- const utils_1 = require("../http-server/utils");
3
+ exports.sauce = void 0;
5
4
  /**
6
5
  * Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
7
6
  * @param instance Экземпляр axios или AxiosInstanceWrapper.
@@ -31,19 +30,4 @@ function sauce(instance) {
31
30
  };
32
31
  }
33
32
  exports.sauce = sauce;
34
- /**
35
- * Формирует заголовки для исходящих запросов с сервера по соглашению.
36
- * @param config Конфиг.
37
- * @param request Входящий запрос.
38
- * @return Заголовки для исходящих запросов.
39
- */
40
- function getRequestHeaders(config, request) {
41
- return {
42
- 'X-Client-Ip': (0, utils_1.getXClientIp)(request),
43
- 'User-Agent': `simaland-${config.appName}/${config.appVersion}`,
44
- Cookie: request.get('cookie') || '',
45
- ...(0, utils_1.getServiceHeaders)(request),
46
- };
47
- }
48
- exports.getRequestHeaders = getRequestHeaders;
49
- //# sourceMappingURL=utils.js.map
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"}
File without changes
File without changes
File without changes
@@ -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"}
File without changes
File without changes
@@ -1,4 +1,4 @@
1
- import type { Tracer } from '../../tracer/types';
1
+ import { Tracer } from '@opentelemetry/api';
2
2
  import type { Handler } from 'express';
3
3
  /**
4
4
  * Возвращает новый middleware для трассировки стадий входящего запроса.
@@ -10,8 +10,9 @@ const api_1 = require("@opentelemetry/api");
10
10
  */
11
11
  function tracingMiddleware(tracer) {
12
12
  return (req, res, next) => {
13
- const rootContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
14
- const rootSpan = tracer.startSpan('response', undefined, rootContext);
13
+ const externalContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
14
+ const rootSpan = tracer.startSpan('response', undefined, externalContext);
15
+ const rootContext = api_1.trace.setSpan(externalContext, rootSpan);
15
16
  res.locals.tracing = {
16
17
  rootSpan,
17
18
  rootContext,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,4CAA8E;AAG9E;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,eAAe,GAAG,iBAAW,CAAC,OAAO,CAAC,kBAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE7D,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;YACnB,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAzBD,8CAyBC"}
@@ -0,0 +1 @@
1
+ export declare const pageTemplate: import("ejs").TemplateFunction;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pageTemplate = void 0;
4
+ const ejs_1 = require("ejs");
5
+ exports.pageTemplate = (0, ejs_1.compile)(`
6
+ <!DOCTYPE html>
7
+ <html lang="ru">
8
+ <head>
9
+ <meta charset="UTF-8">
10
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
12
+ <title><%= title %></title>
13
+ <style>
14
+ * {
15
+ margin: 0;
16
+ padding: 0;
17
+ border: 0;
18
+ outline: 0;
19
+ box-sizing: border-box;
20
+ font: inherit;
21
+ line-height: inherit;
22
+ }
23
+ </style>
24
+ <% if (assets.css) { %>
25
+ <link rel="stylesheet" href="<%= assets.css %>">
26
+ <% } %>
27
+ </head>
28
+ <body>
29
+ <%- markup %>
30
+ <% if (assets.js) { %>
31
+ <script src="<%= assets.js %>"></script>
32
+ <% } %>
33
+ </body>
34
+ </html>
35
+ `);
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-server/template/index.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAEjB,QAAA,YAAY,GAAG,IAAA,aAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BnC,CAAC,CAAC"}
@@ -8,6 +8,14 @@ export interface PageAssets {
8
8
  js: string;
9
9
  css: string;
10
10
  }
11
+ export interface PageTemplateData {
12
+ markup: string;
13
+ assets: PageAssets;
14
+ type: 'json' | 'html';
15
+ }
16
+ export interface PageTemplate {
17
+ (data: PageTemplateData): string;
18
+ }
11
19
  export interface ConventionalJson {
12
20
  markup: string;
13
21
  bundle_js: string;
File without changes
File without changes
@@ -1,4 +1,5 @@
1
1
  import type { Request, Response } from 'express';
2
+ import type { PageTemplate, PageTemplateData } from './types';
2
3
  /**
3
4
  * Определяет IP входящего запроса.
4
5
  * @param req Входящий запрос.
@@ -15,12 +16,15 @@ export declare class PageResponse {
15
16
  private type;
16
17
  private html;
17
18
  private assets;
19
+ private _template;
18
20
  static create(): PageResponse;
19
21
  static defineFormat(req: Request): PageResponse['type'];
22
+ static defaultTemplate({ markup }: PageTemplateData): string;
20
23
  constructor();
21
24
  markup(html: string): this;
22
25
  script(url: string): this;
23
- style(url: string): this;
26
+ styles(url: string): this;
24
27
  format(type: PageResponse['type']): this;
28
+ template(template: PageTemplate): this;
25
29
  send(res: Response): void;
26
30
  }
@@ -33,6 +33,7 @@ class PageResponse {
33
33
  this.type = 'html';
34
34
  this.html = '';
35
35
  this.assets = { js: '', css: '' };
36
+ this._template = PageResponse.defaultTemplate;
36
37
  }
37
38
  static create() {
38
39
  return new PageResponse();
@@ -44,6 +45,9 @@ class PageResponse {
44
45
  }
45
46
  return result;
46
47
  }
48
+ static defaultTemplate({ markup }) {
49
+ return markup;
50
+ }
47
51
  markup(html) {
48
52
  this.html = html;
49
53
  return this;
@@ -52,7 +56,7 @@ class PageResponse {
52
56
  this.assets.js = url;
53
57
  return this;
54
58
  }
55
- style(url) {
59
+ styles(url) {
56
60
  this.assets.css = url;
57
61
  return this;
58
62
  }
@@ -60,11 +64,20 @@ class PageResponse {
60
64
  this.type = type;
61
65
  return this;
62
66
  }
67
+ template(template) {
68
+ this._template = template;
69
+ return this;
70
+ }
63
71
  send(res) {
72
+ const templateData = {
73
+ type: this.type,
74
+ markup: this.html,
75
+ assets: this.assets,
76
+ };
64
77
  switch (this.type) {
65
78
  case 'json': {
66
79
  const result = {
67
- markup: this.html,
80
+ markup: this._template(templateData),
68
81
  bundle_js: this.assets.js,
69
82
  bundle_css: this.assets.css,
70
83
  };
@@ -74,8 +87,7 @@ class PageResponse {
74
87
  case 'html': {
75
88
  res.setHeader('simaland-bundle-js', this.assets.js);
76
89
  res.setHeader('simaland-bundle-css', this.assets.css);
77
- // @todo dev-шаблон?
78
- res.send(this.html);
90
+ res.send(this._template(templateData));
79
91
  break;
80
92
  }
81
93
  default:
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,23 +1,16 @@
1
1
  {
2
2
  "name": "@sima-land/isomorph",
3
- "version": "11.0.0-alpha.0",
3
+ "version": "11.0.0-alpha.3",
4
4
  "description": "Tiny framework for fast start frontend microservices",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",
7
- "files": [
8
- "src",
9
- "dist",
10
- "readme.md"
11
- ],
12
- "exports": {
13
- "./": "./dist/"
14
- },
15
7
  "scripts": {
16
8
  "prepare": "",
17
9
  "type-check": "tsc -p . --noEmit",
18
10
  "build:before": "rm -rf dist",
19
11
  "build:main": "tsc --project tsconfig.build.json",
20
- "build": "npm run build:before && npm run build:main",
12
+ "build:after": "cp package.json dist/package.json",
13
+ "build": "npm run build:before && npm run build:main && npm run build:after",
21
14
  "lint": "eslint --cache ./src --ext .js,.jsx,.ts,.tsx",
22
15
  "test": "jest",
23
16
  "test:coverage": "jest --clearCache && jest --coverage"
@@ -26,6 +19,7 @@
26
19
  "@sima-land/linters": "^2.1.2",
27
20
  "@swc/jest": "^0.2.20",
28
21
  "@testing-library/react": "^12.1.3",
22
+ "@types/ejs": "^3.1.1",
29
23
  "@types/express": "^4.17.13",
30
24
  "@types/jest": "^27.4.1",
31
25
  "@types/lodash": "^4.14.182",
@@ -38,7 +32,7 @@
38
32
  },
39
33
  "dependencies": {
40
34
  "@humanwhocodes/env": "^2.2.0",
41
- "@opentelemetry/api": "^1.0.4",
35
+ "@opentelemetry/api": "^1.1.0",
42
36
  "@opentelemetry/exporter-jaeger": "^1.0.1",
43
37
  "@opentelemetry/instrumentation": "^0.27.0",
44
38
  "@opentelemetry/instrumentation-express": "^0.28.0",
@@ -50,6 +44,7 @@
50
44
  "@sentry/browser": "^6.19.3",
51
45
  "@sentry/node": "^6.19.3",
52
46
  "dotenv": "^16.0.0",
47
+ "ejs": "^3.1.8",
53
48
  "express": "^4.17.3",
54
49
  "middleware-axios": "^2.1.2",
55
50
  "pino": "^7.9.1",
File without changes
@@ -8,16 +8,18 @@ exports.createPreset = void 0;
8
8
  */
9
9
  function createPreset(defaults) {
10
10
  const registry = new Map(defaults);
11
- return {
11
+ const preset = {
12
12
  override: (token, provider) => {
13
13
  registry.set(token, provider);
14
+ return preset;
14
15
  },
15
- apply: (container) => {
16
+ apply: (app) => {
16
17
  for (const [token, provider] of registry) {
17
- container.bind(token).toProvider(provider);
18
+ app.bind(token).toProvider(provider);
18
19
  }
19
20
  },
20
21
  };
22
+ return preset;
21
23
  }
22
24
  exports.createPreset = createPreset;
23
25
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preset/index.ts"],"names":[],"mappings":";;;AAIA;;;;GAIG;AACH,SAAgB,YAAY,CAAC,QAAuB;IAClD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA4B,QAAQ,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG;QACb,QAAQ,EAAE,CAAI,KAAe,EAAE,QAAqB,EAAE,EAAE;YACtD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,EAAE,CAAC,GAAgB,EAAE,EAAE;YAC1B,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,QAAQ,EAAE;gBACxC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aACtC;QACH,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,oCAiBC"}
@@ -3,6 +3,7 @@ import type { Provider } from '../../container/types';
3
3
  import type { BaseConfig } from '../../config/types';
4
4
  import type { Logger } from '../../logger/types';
5
5
  import type { Tracer } from '@opentelemetry/api';
6
+ import { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
6
7
  import type { DefaultMiddleware } from '../../http-server/types';
7
8
  /**
8
9
  * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
@@ -12,4 +13,6 @@ export declare function PresetNode(): Preset;
12
13
  export declare const provideBaseConfig: Provider<BaseConfig>;
13
14
  export declare const provideLogger: Provider<Logger>;
14
15
  export declare const provideTracer: Provider<Tracer>;
16
+ export declare const provideSpanExporter: Provider<SpanExporter>;
17
+ export declare const provideTracerProvider: Provider<BasicTracerProvider>;
15
18
  export declare const provideDefaultMiddleware: Provider<DefaultMiddleware>;