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

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 (215) hide show
  1. package/cache/types.d.ts +24 -2
  2. package/config/{index.d.ts → base.d.ts} +2 -2
  3. package/config/{index.js → base.js} +3 -3
  4. package/config/base.js.map +1 -0
  5. package/config/browser.d.ts +1 -1
  6. package/config/browser.js +11 -2
  7. package/config/browser.js.map +1 -1
  8. package/config/node.d.ts +1 -1
  9. package/config/node.js +17 -6
  10. package/config/node.js.map +1 -1
  11. package/config/types.d.ts +8 -1
  12. package/di/application.d.ts +10 -0
  13. package/{container → di}/application.js +29 -8
  14. package/di/application.js.map +1 -0
  15. package/di/container.d.ts +6 -0
  16. package/di/container.js +52 -0
  17. package/di/container.js.map +1 -0
  18. package/di/errors.d.ts +32 -0
  19. package/di/errors.js +48 -0
  20. package/di/errors.js.map +1 -0
  21. package/di/index.d.ts +6 -0
  22. package/di/index.js +17 -0
  23. package/di/index.js.map +1 -0
  24. package/di/preset.d.ts +9 -0
  25. package/di/preset.js +31 -0
  26. package/di/preset.js.map +1 -0
  27. package/di/token.d.ts +7 -0
  28. package/di/token.js +39 -0
  29. package/di/token.js.map +1 -0
  30. package/di/types.d.ts +88 -0
  31. package/{container → di}/types.js +0 -0
  32. package/{logger → di}/types.js.map +1 -1
  33. package/error-tracking/index.d.ts +24 -0
  34. package/error-tracking/index.js +32 -0
  35. package/error-tracking/index.js.map +1 -0
  36. package/error-tracking/types.d.ts +20 -0
  37. package/{error-tracker → error-tracking}/types.js +0 -0
  38. package/{container → error-tracking}/types.js.map +1 -1
  39. package/http-client/middleware/cookie.d.ts +1 -0
  40. package/http-client/middleware/cookie.js +4 -2
  41. package/http-client/middleware/cookie.js.map +1 -1
  42. package/http-client/middleware/headers.d.ts +13 -0
  43. package/http-client/middleware/headers.js +24 -0
  44. package/http-client/middleware/headers.js.map +1 -0
  45. package/http-client/middleware/log.d.ts +27 -0
  46. package/http-client/middleware/log.js +26 -0
  47. package/http-client/middleware/log.js.map +1 -0
  48. package/http-client/middleware/tracing.d.ts +3 -3
  49. package/http-client/middleware/tracing.js +22 -9
  50. package/http-client/middleware/tracing.js.map +1 -1
  51. package/http-client/sauce/index.d.ts +20 -5
  52. package/http-client/sauce/index.js +38 -21
  53. package/http-client/sauce/index.js.map +1 -1
  54. package/http-client/types.d.ts +1 -1
  55. package/http-client/utils.d.ts +14 -7
  56. package/http-client/utils.js +43 -12
  57. package/http-client/utils.js.map +1 -1
  58. package/http-server/errors.d.ts +11 -0
  59. package/http-server/errors.js +18 -0
  60. package/http-server/errors.js.map +1 -0
  61. package/http-server/handler/health-check.d.ts +1 -1
  62. package/http-server/handler/health-check.js +1 -1
  63. package/http-server/middleware/{logging.d.ts → log.d.ts} +2 -2
  64. package/http-server/middleware/{logging.js → log.js} +6 -5
  65. package/http-server/middleware/log.js.map +1 -0
  66. package/http-server/middleware/metrics.js +2 -2
  67. package/http-server/middleware/metrics.js.map +1 -1
  68. package/http-server/middleware/tracing.d.ts +7 -1
  69. package/http-server/middleware/tracing.js +20 -2
  70. package/http-server/middleware/tracing.js.map +1 -1
  71. package/http-server/template/index.js +11 -6
  72. package/http-server/template/index.js.map +1 -1
  73. package/http-server/types.d.ts +2 -0
  74. package/http-server/utils.d.ts +14 -5
  75. package/http-server/utils.js +46 -21
  76. package/http-server/utils.js.map +1 -1
  77. package/log/handler/pino.d.ts +8 -0
  78. package/log/handler/pino.js +29 -0
  79. package/log/handler/pino.js.map +1 -0
  80. package/log/handler/sentry.d.ts +8 -0
  81. package/log/handler/sentry.js +50 -0
  82. package/log/handler/sentry.js.map +1 -0
  83. package/log/index.d.ts +2 -0
  84. package/log/index.js +6 -0
  85. package/log/index.js.map +1 -0
  86. package/{logger/index.d.ts → log/logger.d.ts} +0 -0
  87. package/{logger/index.js → log/logger.js} +1 -1
  88. package/log/logger.js.map +1 -0
  89. package/log/types.d.ts +41 -0
  90. package/{logger → log}/types.js +0 -0
  91. package/{preset → log}/types.js.map +1 -1
  92. package/metrics/constants.d.ts +3 -0
  93. package/metrics/constants.js +3 -0
  94. package/metrics/constants.js.map +1 -1
  95. package/metrics/node.d.ts +7 -0
  96. package/metrics/node.js +1 -0
  97. package/metrics/node.js.map +1 -1
  98. package/package.json +35 -30
  99. package/preset/browser/index.d.ts +10 -0
  100. package/preset/browser/index.js +71 -0
  101. package/preset/browser/index.js.map +1 -0
  102. package/preset/node/index.d.ts +16 -11
  103. package/preset/node/index.js +105 -61
  104. package/preset/node/index.js.map +1 -1
  105. package/preset/node/response.d.ts +12 -8
  106. package/preset/node/response.js +98 -28
  107. package/preset/node/response.js.map +1 -1
  108. package/preset/parts/providers.d.ts +7 -0
  109. package/preset/parts/providers.js +26 -0
  110. package/preset/parts/providers.js.map +1 -0
  111. package/preset/parts/types.d.ts +8 -0
  112. package/preset/{types.js → parts/types.js} +0 -0
  113. package/{error-tracker → preset/parts}/types.js.map +1 -1
  114. package/preset/parts/utils.d.ts +110 -0
  115. package/preset/parts/utils.js +261 -0
  116. package/preset/parts/utils.js.map +1 -0
  117. package/tokens.d.ts +39 -21
  118. package/tokens.js +35 -20
  119. package/tokens.js.map +1 -1
  120. package/tracing/index.d.ts +9 -0
  121. package/tracing/index.js +20 -0
  122. package/tracing/index.js.map +1 -0
  123. package/utils/browser/analytics/data-layer.d.ts +2 -2
  124. package/utils/browser/analytics/data-layer.js +4 -5
  125. package/utils/browser/analytics/data-layer.js.map +1 -1
  126. package/utils/browser/analytics/oko.d.ts +3 -2
  127. package/utils/browser/analytics/oko.js +2 -1
  128. package/utils/browser/analytics/oko.js.map +1 -1
  129. package/utils/browser/storage/index.d.ts +8 -0
  130. package/utils/browser/storage/index.js +6 -1
  131. package/utils/browser/storage/index.js.map +1 -1
  132. package/utils/function.d.ts +28 -0
  133. package/utils/function.js +23 -0
  134. package/utils/function.js.map +1 -0
  135. package/utils/react/error-handlers/index.d.ts +11 -8
  136. package/utils/react/error-handlers/index.js +8 -10
  137. package/utils/react/error-handlers/index.js.map +1 -1
  138. package/utils/redux/index.d.ts +3 -0
  139. package/utils/redux/index.js +8 -0
  140. package/utils/redux/index.js.map +1 -0
  141. package/utils/redux/remote-data.d.ts +83 -5
  142. package/utils/redux/remote-data.js +83 -1
  143. package/utils/redux/remote-data.js.map +1 -1
  144. package/utils/redux-saga/index.d.ts +3 -0
  145. package/utils/redux-saga/index.js +8 -0
  146. package/utils/redux-saga/index.js.map +1 -0
  147. package/utils/redux-saga/middleware.d.ts +8 -0
  148. package/utils/redux-saga/middleware.js +84 -0
  149. package/utils/redux-saga/middleware.js.map +1 -0
  150. package/utils/redux-saga/take-chain.d.ts +2 -0
  151. package/utils/redux-saga/take-chain.js +2 -0
  152. package/utils/redux-saga/take-chain.js.map +1 -1
  153. package/utils/redux-saga/types.d.ts +15 -0
  154. package/{saga-runner → utils/redux-saga}/types.js +0 -0
  155. package/utils/redux-saga/types.js.map +1 -0
  156. package/utils/ssr/index.d.ts +41 -0
  157. package/utils/ssr/index.js +54 -0
  158. package/utils/ssr/index.js.map +1 -0
  159. package/utils/webpack/env/index.d.ts +18 -0
  160. package/utils/webpack/env/index.js +76 -0
  161. package/utils/webpack/env/index.js.map +1 -0
  162. package/utils/webpack/env/types.d.ts +11 -0
  163. package/utils/webpack/env/types.js +3 -0
  164. package/utils/webpack/env/types.js.map +1 -0
  165. package/utils/webpack/env/utils.d.ts +15 -0
  166. package/utils/webpack/env/utils.js +52 -0
  167. package/utils/webpack/env/utils.js.map +1 -0
  168. package/utils/webpack/index.d.ts +6 -0
  169. package/utils/webpack/index.js +8 -0
  170. package/utils/webpack/index.js.map +1 -0
  171. package/utils/webpack/module-federation/index.d.ts +7 -1
  172. package/utils/webpack/module-federation/index.js +11 -4
  173. package/utils/webpack/module-federation/index.js.map +1 -1
  174. package/utils/webpack/module-federation/types.d.ts +11 -3
  175. package/utils/webpack/module-federation/utils.d.ts +6 -0
  176. package/utils/webpack/module-federation/utils.js +73 -17
  177. package/utils/webpack/module-federation/utils.js.map +1 -1
  178. package/config/index.js.map +0 -1
  179. package/config/utils.d.ts +0 -5
  180. package/config/utils.js +0 -12
  181. package/config/utils.js.map +0 -1
  182. package/container/application.d.ts +0 -25
  183. package/container/application.js.map +0 -1
  184. package/container/index.d.ts +0 -18
  185. package/container/index.js +0 -74
  186. package/container/index.js.map +0 -1
  187. package/container/types.d.ts +0 -14
  188. package/error-tracker/browser.d.ts +0 -8
  189. package/error-tracker/browser.js +0 -40
  190. package/error-tracker/browser.js.map +0 -1
  191. package/error-tracker/node.d.ts +0 -8
  192. package/error-tracker/node.js +0 -40
  193. package/error-tracker/node.js.map +0 -1
  194. package/error-tracker/types.d.ts +0 -18
  195. package/error-tracker/utils.d.ts +0 -12
  196. package/error-tracker/utils.js +0 -19
  197. package/error-tracker/utils.js.map +0 -1
  198. package/http-server/middleware/logging.js.map +0 -1
  199. package/logger/handler/console.d.ts +0 -8
  200. package/logger/handler/console.js +0 -36
  201. package/logger/handler/console.js.map +0 -1
  202. package/logger/handler/sentry.d.ts +0 -8
  203. package/logger/handler/sentry.js +0 -36
  204. package/logger/handler/sentry.js.map +0 -1
  205. package/logger/index.js.map +0 -1
  206. package/logger/types.d.ts +0 -24
  207. package/preset/index.d.ts +0 -7
  208. package/preset/index.js +0 -25
  209. package/preset/index.js.map +0 -1
  210. package/preset/types.d.ts +0 -7
  211. package/saga-runner/index.d.ts +0 -8
  212. package/saga-runner/index.js +0 -79
  213. package/saga-runner/index.js.map +0 -1
  214. package/saga-runner/types.d.ts +0 -10
  215. package/saga-runner/types.js.map +0 -1
package/package.json CHANGED
@@ -1,64 +1,69 @@
1
1
  {
2
2
  "name": "@sima-land/isomorph",
3
- "version": "11.0.0-alpha.3",
3
+ "version": "11.0.0-alpha.30",
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
7
  "scripts": {
8
- "prepare": "",
9
8
  "type-check": "tsc -p . --noEmit",
10
9
  "build:before": "rm -rf dist",
11
10
  "build:main": "tsc --project tsconfig.build.json",
12
- "build:after": "cp package.json dist/package.json",
11
+ "build:after": "cp package.json dist/package.json && cd dist && npm pkg delete scripts.prepare",
13
12
  "build": "npm run build:before && npm run build:main && npm run build:after",
14
13
  "lint": "eslint --cache ./src --ext .js,.jsx,.ts,.tsx",
15
14
  "test": "jest",
16
15
  "test:coverage": "jest --clearCache && jest --coverage"
17
16
  },
17
+ "engines": {
18
+ "node": ">=16.15.1"
19
+ },
18
20
  "devDependencies": {
19
- "@sima-land/linters": "^2.1.2",
20
- "@swc/jest": "^0.2.20",
21
+ "@sima-land/linters": "^2.1.5",
22
+ "@swc/jest": "^0.2.22",
21
23
  "@testing-library/react": "^12.1.3",
22
24
  "@types/ejs": "^3.1.1",
23
25
  "@types/express": "^4.17.13",
24
- "@types/jest": "^27.4.1",
25
- "@types/lodash": "^4.14.182",
26
+ "@types/jest": "^28.1.7",
27
+ "@types/jsesc": "^3.0.1",
28
+ "@types/lodash": "^4.14.184",
26
29
  "@types/react": "^17.0.40",
27
30
  "@types/react-dom": "^17.0.13",
28
31
  "@types/webpack": "^5.28.0",
29
- "husky": "^7.0.4",
30
- "jest": "^27.5.1",
31
- "typescript": "^4.6.2"
32
+ "husky": "^8.0.1",
33
+ "jest": "^28.1.3",
34
+ "jest-environment-jsdom": "^28.1.3",
35
+ "typescript": "^4.9.4"
32
36
  },
33
37
  "dependencies": {
34
- "@humanwhocodes/env": "^2.2.0",
35
- "@opentelemetry/api": "^1.1.0",
36
- "@opentelemetry/exporter-jaeger": "^1.0.1",
37
- "@opentelemetry/instrumentation": "^0.27.0",
38
- "@opentelemetry/instrumentation-express": "^0.28.0",
39
- "@opentelemetry/instrumentation-http": "^0.27.0",
40
- "@opentelemetry/resources": "^1.0.1",
41
- "@opentelemetry/sdk-trace-node": "^1.0.1",
42
- "@opentelemetry/semantic-conventions": "^1.0.1",
43
- "@opentelemetry/tracing": "^0.24.0",
44
- "@sentry/browser": "^6.19.3",
45
- "@sentry/node": "^6.19.3",
38
+ "@humanwhocodes/env": "^2.2.2",
39
+ "@opentelemetry/api": "^1.3.0",
40
+ "@opentelemetry/exporter-jaeger": "^1.8.0",
41
+ "@opentelemetry/instrumentation": "^0.34.0",
42
+ "@opentelemetry/instrumentation-express": "^0.32.0",
43
+ "@opentelemetry/instrumentation-http": "^0.34.0",
44
+ "@opentelemetry/resources": "^1.8.0",
45
+ "@opentelemetry/sdk-trace-base": "^1.8.0",
46
+ "@opentelemetry/sdk-trace-node": "^1.8.0",
47
+ "@opentelemetry/semantic-conventions": "^1.8.0",
48
+ "@sentry/browser": "^7.32.1",
49
+ "@sentry/node": "^7.32.1",
46
50
  "dotenv": "^16.0.0",
47
51
  "ejs": "^3.1.8",
48
52
  "express": "^4.17.3",
49
- "middleware-axios": "^2.1.2",
50
- "pino": "^7.9.1",
51
- "pino-pretty": "^7.5.4",
53
+ "jsesc": "^3.0.2",
54
+ "middleware-axios": "^2.1.5",
55
+ "pino": "^8.7.0",
56
+ "pino-pretty": "^9.1.1",
52
57
  "prom-client": "^14.0.1",
53
- "webpack": "^5.72.0"
58
+ "webpack": "^5.74.0"
54
59
  },
55
60
  "peerDependencies": {
56
- "@reduxjs/toolkit": "^1.8.0",
57
- "axios": "^0.24.0",
61
+ "@reduxjs/toolkit": "^1.9.1",
62
+ "axios": "^1.2.0-alpha.1",
58
63
  "lodash": "^4.17.21",
59
64
  "react": "^17.0.2",
60
65
  "react-dom": "^17.0.2",
61
- "react-redux": "^7.2.6",
62
- "redux-saga": "^1.1.3"
66
+ "react-redux": "^8.0.2",
67
+ "redux-saga": "^1.2.1"
63
68
  }
64
69
  }
@@ -0,0 +1,10 @@
1
+ import { Resolve, Preset } from '../../di';
2
+ import { Logger } from '../../log';
3
+ import { BridgeClientSide } from '../../utils/ssr';
4
+ import { StrictMap, KnownHttpApiKey } from '../parts/types';
5
+ import { HttpClientFactory } from '../../http-client/types';
6
+ export declare function PresetBrowser(): Preset;
7
+ export declare function provideLogger(resolve: Resolve): Logger;
8
+ export declare function provideBridgeClientSide(resolve: Resolve): BridgeClientSide<unknown>;
9
+ export declare function provideKnownHttpApiHosts(resolve: Resolve): StrictMap<KnownHttpApiKey>;
10
+ export declare function provideHttpClientFactory(resolve: Resolve): HttpClientFactory;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.provideHttpClientFactory = exports.provideKnownHttpApiHosts = exports.provideBridgeClientSide = exports.provideLogger = exports.PresetBrowser = void 0;
4
+ /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
5
+ const di_1 = require("../../di");
6
+ const tokens_1 = require("../../tokens");
7
+ const browser_1 = require("../../config/browser");
8
+ const log_1 = require("../../log");
9
+ const sentry_1 = require("../../log/handler/sentry");
10
+ const browser_2 = require("@sentry/browser");
11
+ const middleware_axios_1 = require("middleware-axios");
12
+ const ssr_1 = require("../../utils/ssr");
13
+ const utils_1 = require("../parts/utils");
14
+ const log_2 = require("../../http-client/middleware/log");
15
+ const providers_1 = require("../parts/providers");
16
+ function PresetBrowser() {
17
+ return (0, di_1.createPreset)([
18
+ [tokens_1.KnownToken.Config.source, browser_1.createConfigSource],
19
+ [tokens_1.KnownToken.Config.base, providers_1.provideBaseConfig],
20
+ [tokens_1.KnownToken.logger, provideLogger],
21
+ [tokens_1.KnownToken.sagaMiddleware, providers_1.provideSagaMiddleware],
22
+ [tokens_1.KnownToken.Http.Client.factory, provideHttpClientFactory],
23
+ [tokens_1.KnownToken.Http.Client.LogMiddleware.handler, providers_1.provideHttpClientLogHandler],
24
+ [tokens_1.KnownToken.SsrBridge.clientSide, provideBridgeClientSide],
25
+ [tokens_1.KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts],
26
+ ]);
27
+ }
28
+ exports.PresetBrowser = PresetBrowser;
29
+ function provideLogger(resolve) {
30
+ const source = resolve(tokens_1.KnownToken.Config.source);
31
+ const client = new browser_2.BrowserClient({
32
+ transport: browser_2.makeFetchTransport,
33
+ stackParser: browser_2.defaultStackParser,
34
+ dsn: source.require('PUBLIC_SENTRY_DSN'),
35
+ release: source.require('SENTRY_RELEASE'),
36
+ environment: source.require('PUBLIC_SENTRY_ENVIRONMENT'),
37
+ integrations: [...browser_2.defaultIntegrations],
38
+ });
39
+ const hub = new browser_2.Hub(client);
40
+ hub.setTag('url', window.location.href);
41
+ const logger = (0, log_1.createLogger)();
42
+ logger.subscribe((0, sentry_1.createSentryHandler)(hub));
43
+ return logger;
44
+ }
45
+ exports.provideLogger = provideLogger;
46
+ function provideBridgeClientSide(resolve) {
47
+ const config = resolve(tokens_1.KnownToken.Config.base);
48
+ return ssr_1.SsrBridge.resolve(config.appName);
49
+ }
50
+ exports.provideBridgeClientSide = provideBridgeClientSide;
51
+ function provideKnownHttpApiHosts(resolve) {
52
+ const source = resolve(tokens_1.KnownToken.Config.source);
53
+ return new utils_1.HttpApiHostPool({
54
+ ilium: 'PUBLIC_API_URL_ILIUM',
55
+ simaV3: 'PUBLIC_API_URL_SIMALAND_V3',
56
+ simaV4: 'PUBLIC_API_URL_SIMALAND_V4',
57
+ simaV6: 'PUBLIC_API_URL_SIMALAND_V6',
58
+ }, source);
59
+ }
60
+ exports.provideKnownHttpApiHosts = provideKnownHttpApiHosts;
61
+ function provideHttpClientFactory(resolve) {
62
+ const logHandler = resolve(tokens_1.KnownToken.Http.Client.LogMiddleware.handler);
63
+ return function createHttpClient(config) {
64
+ const client = (0, middleware_axios_1.create)(config);
65
+ client.use(utils_1.HttpStatus.createMiddleware());
66
+ client.use((0, log_2.logMiddleware)(logHandler));
67
+ return client;
68
+ };
69
+ }
70
+ exports.provideHttpClientFactory = provideHttpClientFactory;
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/browser/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,23 @@
1
- import type { Preset } from '../types';
2
- import type { Provider } from '../../container/types';
3
- import type { BaseConfig } from '../../config/types';
4
- import type { Logger } from '../../logger/types';
1
+ import type { Logger, LoggerEventHandler } from '../../log/types';
5
2
  import type { Tracer } from '@opentelemetry/api';
6
- import { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
7
3
  import type { DefaultMiddleware } from '../../http-server/types';
4
+ import { Resolve, Preset } from '../../di';
5
+ import { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';
6
+ import { Resource } from '@opentelemetry/resources';
7
+ import { BridgeServerSide } from '../../utils/ssr';
8
+ import { StrictMap, KnownHttpApiKey } from '../parts/types';
8
9
  /**
9
10
  * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
10
11
  * @return Preset.
11
12
  */
12
13
  export declare function PresetNode(): Preset;
13
- export declare const provideBaseConfig: Provider<BaseConfig>;
14
- export declare const provideLogger: Provider<Logger>;
15
- export declare const provideTracer: Provider<Tracer>;
16
- export declare const provideSpanExporter: Provider<SpanExporter>;
17
- export declare const provideTracerProvider: Provider<BasicTracerProvider>;
18
- export declare const provideDefaultMiddleware: Provider<DefaultMiddleware>;
14
+ export declare function provideLogger(resolve: Resolve): Logger;
15
+ export declare function provideSentryHandler(resolve: Resolve): LoggerEventHandler;
16
+ export declare function providePinoHandler(resolve: Resolve): LoggerEventHandler;
17
+ export declare function provideTracer(resolve: Resolve): Tracer;
18
+ export declare function provideSpanExporter(resolve: Resolve): SpanExporter;
19
+ export declare function provideTracerProvider(resolve: Resolve): BasicTracerProvider;
20
+ export declare function provideTracerProviderResource(resolve: Resolve): Resource;
21
+ export declare function provideDefaultMiddleware(resolve: Resolve): DefaultMiddleware;
22
+ export declare function provideBridgeServerSide(resolve: Resolve): BridgeServerSide;
23
+ export declare function provideKnownHttpApiHosts(resolve: Resolve): StrictMap<KnownHttpApiKey>;
@@ -3,107 +3,136 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.provideDefaultMiddleware = exports.provideTracerProvider = exports.provideSpanExporter = exports.provideTracer = exports.provideLogger = exports.provideBaseConfig = exports.PresetNode = void 0;
7
- const tracing_1 = require("@opentelemetry/tracing");
6
+ exports.provideKnownHttpApiHosts = exports.provideBridgeServerSide = exports.provideDefaultMiddleware = exports.provideTracerProviderResource = exports.provideTracerProvider = exports.provideSpanExporter = exports.provideTracer = exports.providePinoHandler = exports.provideSentryHandler = exports.provideLogger = exports.PresetNode = void 0;
7
+ const di_1 = require("../../di");
8
+ const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
8
9
  const tokens_1 = require("../../tokens");
9
- const __1 = require("..");
10
10
  const node_1 = require("../../config/node");
11
- const config_1 = require("../../config");
12
- const logger_1 = require("../../logger");
13
- const console_1 = require("../../logger/handler/console");
14
- const sentry_1 = require("../../logger/handler/sentry");
15
- const node_2 = require("../../error-tracker/node");
16
- const logging_1 = require("../../http-server/middleware/logging");
17
- const tracing_2 = require("../../http-server/middleware/tracing");
11
+ const log_1 = require("../../log");
12
+ const pino_1 = require("../../log/handler/pino");
13
+ const sentry_1 = require("../../log/handler/sentry");
14
+ const log_2 = require("../../http-server/middleware/log");
15
+ const tracing_1 = require("../../http-server/middleware/tracing");
18
16
  const metrics_1 = require("../../http-server/middleware/metrics");
19
- const node_3 = require("../../metrics/node");
17
+ const node_2 = require("../../metrics/node");
20
18
  const exporter_jaeger_1 = require("@opentelemetry/exporter-jaeger");
21
19
  const middleware_axios_1 = require("middleware-axios");
22
20
  const express_1 = __importDefault(require("express"));
23
- const node_4 = require("@sentry/node");
21
+ const node_3 = require("@sentry/node");
24
22
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
25
23
  const resources_1 = require("@opentelemetry/resources");
26
- const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
27
24
  const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
25
+ const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
26
+ const tracing_2 = require("../../tracing");
27
+ const os_1 = require("os");
28
+ const ssr_1 = require("../../utils/ssr");
29
+ const utils_1 = require("../parts/utils");
30
+ const providers_1 = require("../parts/providers");
31
+ const pino_2 = __importDefault(require("pino"));
32
+ const pino_pretty_1 = __importDefault(require("pino-pretty"));
28
33
  /**
29
34
  * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
30
35
  * @return Preset.
31
36
  */
32
37
  function PresetNode() {
33
- return (0, __1.createPreset)([
38
+ return (0, di_1.createPreset)([
34
39
  [tokens_1.KnownToken.Config.source, node_1.createConfigSource],
35
- [tokens_1.KnownToken.Config.base, exports.provideBaseConfig],
36
- [tokens_1.KnownToken.logger, exports.provideLogger],
37
- [tokens_1.KnownToken.Tracing.tracer, exports.provideTracer],
38
- [tokens_1.KnownToken.Tracing.spanExporter, exports.provideSpanExporter],
39
- [tokens_1.KnownToken.Tracing.tracerProvider, exports.provideTracerProvider],
40
+ [tokens_1.KnownToken.Config.base, providers_1.provideBaseConfig],
41
+ [tokens_1.KnownToken.logger, provideLogger],
42
+ [tokens_1.KnownToken.Tracing.tracer, provideTracer],
43
+ [tokens_1.KnownToken.Tracing.spanExporter, provideSpanExporter],
44
+ [tokens_1.KnownToken.Tracing.tracerProvider, provideTracerProvider],
45
+ [tokens_1.KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource],
40
46
  [tokens_1.KnownToken.Http.Client.factory, () => middleware_axios_1.create],
41
47
  [tokens_1.KnownToken.Http.Server.factory, () => express_1.default],
42
- [tokens_1.KnownToken.Http.Server.Defaults.middleware, exports.provideDefaultMiddleware],
43
- [tokens_1.KnownToken.Metrics.httpApp, node_3.createMetricsHttpApp],
48
+ [tokens_1.KnownToken.Http.Server.Defaults.middleware, provideDefaultMiddleware],
49
+ [tokens_1.KnownToken.Metrics.httpApp, node_2.createMetricsHttpApp],
50
+ [tokens_1.KnownToken.SsrBridge.serverSide, provideBridgeServerSide],
51
+ [tokens_1.KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts],
44
52
  ]);
45
53
  }
46
54
  exports.PresetNode = PresetNode;
47
- const provideBaseConfig = resolve => {
48
- const source = resolve(tokens_1.KnownToken.Config.source);
49
- return (0, config_1.createBaseConfig)(source);
50
- };
51
- exports.provideBaseConfig = provideBaseConfig;
52
- const provideLogger = resolve => {
53
- const source = resolve(tokens_1.KnownToken.Config.source);
54
- const config = resolve(tokens_1.KnownToken.Config.base);
55
- const sentry = (0, node_2.createSentryLib)({
56
- dsn: source.get('SENTRY_DSN'),
57
- release: source.get('SENTRY_RELEASE'),
58
- environment: source.get('SENTRY_ENVIRONMENT'),
59
- });
60
- const logger = (0, logger_1.createLogger)();
61
- logger.subscribe((0, console_1.createConsoleHandler)(config));
62
- logger.subscribe((0, sentry_1.createSentryHandler)(sentry));
55
+ function provideLogger(resolve) {
56
+ const logger = (0, log_1.createLogger)();
57
+ // @todo возможно надо придумать как не давать вызывать провайдеры внутри провайдеров
58
+ logger.subscribe(providePinoHandler(resolve));
59
+ logger.subscribe(provideSentryHandler(resolve));
63
60
  return logger;
64
- };
61
+ }
65
62
  exports.provideLogger = provideLogger;
66
- const provideTracer = resolve => {
63
+ function provideSentryHandler(resolve) {
64
+ const source = resolve(tokens_1.KnownToken.Config.source);
65
+ // экспериментально пробуем не использовать вручную созданный клиент
66
+ (0, node_3.init)({
67
+ dsn: source.require('SENTRY_DSN'),
68
+ release: source.require('SENTRY_RELEASE'),
69
+ environment: source.require('SENTRY_ENVIRONMENT'),
70
+ });
71
+ // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
72
+ // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
73
+ return (0, sentry_1.createSentryHandler)(node_3.getCurrentHub);
74
+ }
75
+ exports.provideSentryHandler = provideSentryHandler;
76
+ function providePinoHandler(resolve) {
77
+ const config = resolve(tokens_1.KnownToken.Config.base);
78
+ const pinoLogger = (0, pino_2.default)(config.env === 'production'
79
+ ? {
80
+ formatters: {
81
+ // ВАЖНО: для Fluent необходимо наличие поля level: string
82
+ level: label => ({ level: label }),
83
+ },
84
+ }
85
+ : (0, pino_pretty_1.default)({
86
+ colorize: true,
87
+ translateTime: 'yyyy-mm-dd HH:MM:ss.l o',
88
+ }));
89
+ return (0, pino_1.createPinoHandler)(pinoLogger);
90
+ }
91
+ exports.providePinoHandler = providePinoHandler;
92
+ function provideTracer(resolve) {
67
93
  const config = resolve(tokens_1.KnownToken.Config.base);
68
94
  const provider = resolve(tokens_1.KnownToken.Tracing.tracerProvider);
69
95
  return provider.getTracer(config.appName, config.appVersion);
70
- };
96
+ }
71
97
  exports.provideTracer = provideTracer;
72
- const provideSpanExporter = resolve => {
98
+ function provideSpanExporter(resolve) {
73
99
  const source = resolve(tokens_1.KnownToken.Config.source);
74
100
  const exporter = new exporter_jaeger_1.JaegerExporter({
75
101
  host: source.require('JAEGER_AGENT_HOST'),
76
102
  port: parseInt(source.require('JAEGER_AGENT_PORT')) || undefined,
77
103
  });
78
104
  return exporter;
79
- };
105
+ }
80
106
  exports.provideSpanExporter = provideSpanExporter;
81
- const provideTracerProvider = resolve => {
82
- const config = resolve(tokens_1.KnownToken.Config.base);
107
+ function provideTracerProvider(resolve) {
83
108
  const exporter = resolve(tokens_1.KnownToken.Tracing.spanExporter);
109
+ const resource = resolve(tokens_1.KnownToken.Tracing.tracerProviderResource);
84
110
  const provider = new sdk_trace_node_1.NodeTracerProvider({
85
- resource: new resources_1.Resource({
86
- [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
87
- [semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
88
- [semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
89
- }),
111
+ resource,
112
+ });
113
+ provider.addSpanProcessor(new sdk_trace_base_1.BatchSpanProcessor(exporter));
114
+ provider.register({
115
+ propagator: new propagator_jaeger_1.JaegerPropagator(),
90
116
  });
91
- // @todo разобраться с as any
92
- provider.addSpanProcessor(new tracing_1.BatchSpanProcessor(exporter));
93
- provider.register({ propagator: new propagator_jaeger_1.JaegerPropagator() });
94
- // @todo разобраться с as any
95
117
  return provider;
96
- };
118
+ }
97
119
  exports.provideTracerProvider = provideTracerProvider;
98
- const provideDefaultMiddleware = resolve => {
120
+ function provideTracerProviderResource(resolve) {
121
+ const config = resolve(tokens_1.KnownToken.Config.base);
122
+ return (0, tracing_2.getConventionalResource)(config).merge(new resources_1.Resource({
123
+ [semantic_conventions_1.SemanticResourceAttributes.HOST_NAME]: (0, os_1.hostname)(),
124
+ }));
125
+ }
126
+ exports.provideTracerProviderResource = provideTracerProviderResource;
127
+ function provideDefaultMiddleware(resolve) {
99
128
  const config = resolve(tokens_1.KnownToken.Config.base);
100
129
  const logger = resolve(tokens_1.KnownToken.logger);
101
130
  const tracer = resolve(tokens_1.KnownToken.Tracing.tracer);
102
- const metrics = (0, node_3.createDefaultMetrics)();
131
+ const metrics = (0, node_2.createDefaultMetrics)();
103
132
  return {
104
- start: [node_4.Handlers.requestHandler()],
105
- logging: [(0, logging_1.loggingMiddleware)(config, logger)],
106
- tracing: [(0, tracing_2.tracingMiddleware)(tracer)],
133
+ start: [node_3.Handlers.requestHandler()],
134
+ logging: [(0, log_2.logMiddleware)(config, logger)],
135
+ tracing: [(0, tracing_1.tracingMiddleware)(tracer)],
107
136
  metrics: [
108
137
  (0, metrics_1.responseMetricsMiddleware)(config, {
109
138
  counter: metrics.requestCount,
@@ -113,8 +142,23 @@ const provideDefaultMiddleware = resolve => {
113
142
  histogram: metrics.renderDuration,
114
143
  }),
115
144
  ],
116
- finish: [node_4.Handlers.errorHandler()],
145
+ finish: [node_3.Handlers.errorHandler()],
117
146
  };
118
- };
147
+ }
119
148
  exports.provideDefaultMiddleware = provideDefaultMiddleware;
149
+ function provideBridgeServerSide(resolve) {
150
+ const config = resolve(tokens_1.KnownToken.Config.base);
151
+ return ssr_1.SsrBridge.prepare(config.appName);
152
+ }
153
+ exports.provideBridgeServerSide = provideBridgeServerSide;
154
+ function provideKnownHttpApiHosts(resolve) {
155
+ const source = resolve(tokens_1.KnownToken.Config.source);
156
+ return new utils_1.HttpApiHostPool({
157
+ ilium: 'API_URL_ILIUM',
158
+ simaV3: 'API_URL_SIMALAND_V3',
159
+ simaV4: 'API_URL_SIMALAND_V4',
160
+ simaV6: 'API_URL_SIMALAND_V6',
161
+ }, source);
162
+ }
163
+ exports.provideKnownHttpApiHosts = provideKnownHttpApiHosts;
120
164
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,21 @@
1
1
  /// <reference types="react" />
2
- import type { Preset } from '../types';
3
- import type { Provider, Resolve } from '../../container/types';
4
- import type { SagaRunner } from '../../saga-runner/types';
5
2
  import type { PageTemplate } from '../../http-server/types';
6
3
  import type { Handler } from 'express';
7
- import { Application } from '../../container/application';
4
+ import { Application, Preset, Resolve } from '../../di';
5
+ import { HttpClientFactory } from '../../http-client/types';
8
6
  /**
9
7
  * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
10
8
  * @return Preset.
11
9
  */
12
10
  export declare function PresetResponse(): Preset;
13
- export declare const provideSagaRunner: Provider<SagaRunner>;
14
- export declare const provideRender: Provider<(el: JSX.Element) => string | Promise<string>>;
15
- export declare const provideTemplate: Provider<PageTemplate>;
16
- export declare const provideMain: Provider<() => void>;
11
+ export declare function provideHttpClientFactory(resolve: Resolve): HttpClientFactory;
12
+ export declare function provideRender(resolve: Resolve): (element: JSX.Element) => string;
13
+ export declare function provideTemplate(resolve: Resolve): PageTemplate;
14
+ export declare function provideMain(resolve: Resolve): VoidFunction;
15
+ export declare function provideParams(resolve: Resolve): Record<string, unknown>;
16
+ /**
17
+ * Возвращает express-handler, создающий дочернее di-приложение при запросе.
18
+ * @param appFactory Фабрика di-приложения запроса.
19
+ * @return Обработчик.
20
+ */
17
21
  export declare function HandlerProvider(appFactory: () => Application): (resolve: Resolve) => Handler;