@sima-land/isomorph 11.0.0-alpha.0 → 11.0.0-alpha.11
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.
- package/{dist/cache → cache}/types.d.ts +0 -0
- package/{dist/utils/webpack/module-federation → cache}/types.js +0 -0
- package/{dist/cache → cache}/types.js.map +0 -0
- package/{dist/config/index.d.ts → config/base.d.ts} +0 -0
- package/{dist/config/index.js → config/base.js} +1 -1
- package/config/base.js.map +1 -0
- package/{dist/config → config}/browser.d.ts +0 -0
- package/config/browser.js +22 -0
- package/config/browser.js.map +1 -0
- package/{dist/config → config}/node.d.ts +0 -0
- package/{dist/config → config}/node.js +10 -5
- package/config/node.js.map +1 -0
- package/{dist/config → config}/types.d.ts +0 -0
- package/{dist/tracer → config}/types.js +0 -0
- package/{dist/config → config}/types.js.map +0 -0
- package/di/application.d.ts +6 -0
- package/{dist/container → di}/application.js +17 -8
- package/di/application.js.map +1 -0
- package/di/container.d.ts +6 -0
- package/di/container.js +49 -0
- package/di/container.js.map +1 -0
- package/di/errors.d.ts +21 -0
- package/di/errors.js +33 -0
- package/di/errors.js.map +1 -0
- package/di/index.d.ts +6 -0
- package/di/index.js +16 -0
- package/di/index.js.map +1 -0
- package/di/preset.d.ts +9 -0
- package/di/preset.js +27 -0
- package/di/preset.js.map +1 -0
- package/di/token.d.ts +7 -0
- package/di/token.js +17 -0
- package/di/token.js.map +1 -0
- package/di/types.d.ts +32 -0
- package/{dist/saga-runner → di}/types.js +0 -0
- package/{dist/preset → di}/types.js.map +1 -1
- package/error-tracking/index.d.ts +22 -0
- package/{dist/error-tracker/utils.js → error-tracking/index.js} +14 -3
- package/error-tracking/index.js.map +1 -0
- package/error-tracking/types.d.ts +13 -0
- package/{dist/preset → error-tracking}/types.js +0 -0
- package/{dist/container → error-tracking}/types.js.map +1 -1
- package/{dist/http-client → http-client}/middleware/cookie.d.ts +0 -0
- package/{dist/http-client → http-client}/middleware/cookie.js +0 -0
- package/{dist/http-client → http-client}/middleware/cookie.js.map +0 -0
- package/http-client/middleware/logging.d.ts +15 -0
- package/http-client/middleware/logging.js +93 -0
- package/http-client/middleware/logging.js.map +1 -0
- package/{dist/http-client → http-client}/middleware/tracing.d.ts +0 -0
- package/{dist/http-client → http-client}/middleware/tracing.js +0 -0
- package/{dist/http-client → http-client}/middleware/tracing.js.map +0 -0
- package/{dist/http-client/utils.d.ts → http-client/sauce/index.d.ts} +0 -9
- package/{dist/http-client/utils.js → http-client/sauce/index.js} +2 -18
- package/http-client/sauce/index.js.map +1 -0
- package/{dist/http-client → http-client}/types.d.ts +0 -0
- package/{dist/logger → http-client}/types.js +0 -0
- package/{dist/http-client → http-client}/types.js.map +0 -0
- package/http-client/utils.d.ts +9 -0
- package/http-client/utils.js +20 -0
- package/http-client/utils.js.map +1 -0
- package/{dist/http-server → http-server}/constants.d.ts +0 -0
- package/{dist/http-server → http-server}/constants.js +0 -0
- package/{dist/http-server → http-server}/constants.js.map +0 -0
- package/{dist/http-server → http-server}/handler/health-check.d.ts +0 -0
- package/{dist/http-server → http-server}/handler/health-check.js +0 -0
- package/{dist/http-server → http-server}/handler/health-check.js.map +0 -0
- package/{dist/http-server → http-server}/middleware/logging.d.ts +0 -0
- package/{dist/http-server → http-server}/middleware/logging.js +0 -0
- package/{dist/http-server → http-server}/middleware/logging.js.map +0 -0
- package/{dist/http-server → http-server}/middleware/metrics.d.ts +0 -0
- package/{dist/http-server → http-server}/middleware/metrics.js +0 -0
- package/{dist/http-server → http-server}/middleware/metrics.js.map +0 -0
- package/http-server/middleware/tracing.d.ts +14 -0
- package/{dist/http-server → http-server}/middleware/tracing.js +22 -3
- package/http-server/middleware/tracing.js.map +1 -0
- package/http-server/template/index.d.ts +1 -0
- package/http-server/template/index.js +36 -0
- package/http-server/template/index.js.map +1 -0
- package/{dist/http-server → http-server}/types.d.ts +8 -0
- package/{dist/http-server → http-server}/types.js +0 -0
- package/{dist/http-server → http-server}/types.js.map +0 -0
- package/{dist/http-server → http-server}/utils.d.ts +5 -1
- package/{dist/http-server → http-server}/utils.js +16 -4
- package/http-server/utils.js.map +1 -0
- package/{dist/logger → logger}/handler/console.d.ts +1 -1
- package/{dist/logger → logger}/handler/console.js +8 -1
- package/logger/handler/console.js.map +1 -0
- package/logger/handler/sentry.d.ts +8 -0
- package/{dist/logger → logger}/handler/sentry.js +13 -7
- package/logger/handler/sentry.js.map +1 -0
- package/logger/index.d.ts +2 -0
- package/logger/index.js +6 -0
- package/logger/index.js.map +1 -0
- package/{dist/logger/index.d.ts → logger/logger.d.ts} +0 -0
- package/{dist/logger/index.js → logger/logger.js} +1 -1
- package/logger/logger.js.map +1 -0
- package/{dist/logger → logger}/types.d.ts +0 -0
- package/{dist/http-client → logger}/types.js +0 -0
- package/{dist/logger → logger}/types.js.map +0 -0
- package/{dist/metrics → metrics}/constants.d.ts +0 -0
- package/{dist/metrics → metrics}/constants.js +0 -0
- package/{dist/metrics → metrics}/constants.js.map +0 -0
- package/{dist/metrics → metrics}/node.d.ts +0 -0
- package/{dist/metrics → metrics}/node.js +0 -0
- package/{dist/metrics → metrics}/node.js.map +0 -0
- package/package.json +8 -11
- package/preset/browser/index.d.ts +8 -0
- package/preset/browser/index.js +48 -0
- package/preset/browser/index.js.map +1 -0
- package/preset/node/index.d.ts +19 -0
- package/preset/node/index.js +127 -0
- package/preset/node/index.js.map +1 -0
- package/preset/node/response.d.ts +20 -0
- package/preset/node/response.js +82 -0
- package/preset/node/response.js.map +1 -0
- package/tokens.d.ts +48 -0
- package/tokens.js +50 -0
- package/tokens.js.map +1 -0
- package/tracing/index.d.ts +9 -0
- package/tracing/index.js +20 -0
- package/tracing/index.js.map +1 -0
- package/{dist/utils → utils}/browser/analytics/data-layer.d.ts +0 -0
- package/{dist/utils → utils}/browser/analytics/data-layer.js +0 -0
- package/{dist/utils → utils}/browser/analytics/data-layer.js.map +0 -0
- package/{dist/utils → utils}/browser/analytics/oko.d.ts +0 -0
- package/{dist/utils → utils}/browser/analytics/oko.js +0 -0
- package/{dist/utils → utils}/browser/analytics/oko.js.map +0 -0
- package/{dist/utils → utils}/browser/storage/index.d.ts +0 -0
- package/{dist/utils → utils}/browser/storage/index.js +0 -0
- package/{dist/utils → utils}/browser/storage/index.js.map +0 -0
- package/{dist/utils → utils}/number.d.ts +0 -0
- package/{dist/utils → utils}/number.js +0 -0
- package/{dist/utils → utils}/number.js.map +0 -0
- package/{dist/utils → utils}/react/error-handlers/index.d.ts +0 -0
- package/{dist/utils → utils}/react/error-handlers/index.js +1 -0
- package/utils/react/error-handlers/index.js.map +1 -0
- package/{dist/utils → utils}/redux/remote-data.d.ts +0 -0
- package/{dist/utils → utils}/redux/remote-data.js +0 -0
- package/{dist/utils → utils}/redux/remote-data.js.map +0 -0
- package/utils/redux-saga/index.d.ts +3 -0
- package/utils/redux-saga/index.js +8 -0
- package/utils/redux-saga/index.js.map +1 -0
- package/utils/redux-saga/middleware.d.ts +9 -0
- package/utils/redux-saga/middleware.js +87 -0
- package/utils/redux-saga/middleware.js.map +1 -0
- package/{dist/utils → utils}/redux-saga/take-chain.d.ts +0 -0
- package/{dist/utils → utils}/redux-saga/take-chain.js +0 -0
- package/{dist/utils → utils}/redux-saga/take-chain.js.map +0 -0
- package/utils/redux-saga/types.d.ts +6 -0
- package/{dist/error-tracker → utils/redux-saga}/types.js +0 -0
- package/{dist/error-tracker → utils/redux-saga}/types.js.map +1 -1
- package/utils/ssr/index.d.ts +30 -0
- package/utils/ssr/index.js +51 -0
- package/utils/ssr/index.js.map +1 -0
- package/utils/webpack/index.d.ts +23 -0
- package/utils/webpack/index.js +66 -0
- package/utils/webpack/index.js.map +1 -0
- package/{dist/utils → utils}/webpack/module-federation/index.d.ts +0 -0
- package/{dist/utils → utils}/webpack/module-federation/index.js +0 -0
- package/{dist/utils → utils}/webpack/module-federation/index.js.map +0 -0
- package/{dist/utils → utils}/webpack/module-federation/types.d.ts +0 -0
- package/{dist/container → utils/webpack/module-federation}/types.js +0 -0
- package/{dist/utils → utils}/webpack/module-federation/types.js.map +0 -0
- package/{dist/utils → utils}/webpack/module-federation/utils.d.ts +0 -0
- package/{dist/utils → utils}/webpack/module-federation/utils.js +0 -0
- package/{dist/utils → utils}/webpack/module-federation/utils.js.map +0 -0
- package/LICENSE +0 -201
- package/dist/cache/types.js +0 -3
- package/dist/config/browser.js +0 -13
- package/dist/config/browser.js.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/node.js.map +0 -1
- package/dist/config/types.js +0 -3
- package/dist/config/utils.d.ts +0 -5
- package/dist/config/utils.js +0 -12
- package/dist/config/utils.js.map +0 -1
- package/dist/container/application.d.ts +0 -25
- package/dist/container/application.js.map +0 -1
- package/dist/container/index.d.ts +0 -18
- package/dist/container/index.js +0 -74
- package/dist/container/index.js.map +0 -1
- package/dist/container/types.d.ts +0 -14
- package/dist/error-tracker/browser.d.ts +0 -8
- package/dist/error-tracker/browser.js +0 -40
- package/dist/error-tracker/browser.js.map +0 -1
- package/dist/error-tracker/node.d.ts +0 -8
- package/dist/error-tracker/node.js +0 -40
- package/dist/error-tracker/node.js.map +0 -1
- package/dist/error-tracker/types.d.ts +0 -18
- package/dist/error-tracker/utils.d.ts +0 -12
- package/dist/error-tracker/utils.js.map +0 -1
- package/dist/http-client/utils.js.map +0 -1
- package/dist/http-server/middleware/tracing.d.ts +0 -8
- package/dist/http-server/middleware/tracing.js.map +0 -1
- package/dist/http-server/utils.js.map +0 -1
- package/dist/logger/handler/console.js.map +0 -1
- package/dist/logger/handler/sentry.d.ts +0 -8
- package/dist/logger/handler/sentry.js.map +0 -1
- package/dist/logger/index.js.map +0 -1
- package/dist/preset/index.d.ts +0 -7
- package/dist/preset/index.js +0 -23
- package/dist/preset/index.js.map +0 -1
- package/dist/preset/node/index.d.ts +0 -15
- package/dist/preset/node/index.js +0 -90
- package/dist/preset/node/index.js.map +0 -1
- package/dist/preset/node/response.d.ts +0 -12
- package/dist/preset/node/response.js +0 -52
- package/dist/preset/node/response.js.map +0 -1
- package/dist/preset/types.d.ts +0 -7
- package/dist/saga-runner/index.d.ts +0 -8
- package/dist/saga-runner/index.js +0 -77
- package/dist/saga-runner/index.js.map +0 -1
- package/dist/saga-runner/types.d.ts +0 -10
- package/dist/saga-runner/types.js.map +0 -1
- package/dist/tokens.d.ts +0 -40
- package/dist/tokens.js +0 -43
- package/dist/tokens.js.map +0 -1
- package/dist/tracer/node.d.ts +0 -10
- package/dist/tracer/node.js +0 -38
- package/dist/tracer/node.js.map +0 -1
- package/dist/tracer/types.d.ts +0 -2
- package/dist/tracer/types.js.map +0 -1
- package/dist/utils/react/error-handlers/index.js.map +0 -1
- package/readme.md +0 -23
- package/src/cache/types.ts +0 -7
- package/src/config/browser.ts +0 -10
- package/src/config/index.ts +0 -18
- package/src/config/node.ts +0 -18
- package/src/config/types.ts +0 -9
- package/src/config/utils.ts +0 -7
- package/src/container/application.ts +0 -91
- package/src/container/index.ts +0 -79
- package/src/container/types.ts +0 -17
- package/src/error-tracker/browser.ts +0 -14
- package/src/error-tracker/node.ts +0 -14
- package/src/error-tracker/types.ts +0 -22
- package/src/error-tracker/utils.ts +0 -18
- package/src/http-client/middleware/cookie.ts +0 -73
- package/src/http-client/middleware/tracing.ts +0 -79
- package/src/http-client/types.ts +0 -8
- package/src/http-client/utils.ts +0 -76
- package/src/http-server/constants.ts +0 -4
- package/src/http-server/handler/health-check.ts +0 -13
- package/src/http-server/middleware/logging.ts +0 -34
- package/src/http-server/middleware/metrics.ts +0 -87
- package/src/http-server/middleware/tracing.ts +0 -35
- package/src/http-server/types.ts +0 -29
- package/src/http-server/utils.ts +0 -105
- package/src/logger/handler/console.ts +0 -35
- package/src/logger/handler/sentry.ts +0 -38
- package/src/logger/index.ts +0 -31
- package/src/logger/types.ts +0 -28
- package/src/metrics/constants.ts +0 -4
- package/src/metrics/node.ts +0 -54
- package/src/preset/index.ts +0 -24
- package/src/preset/node/index.ts +0 -101
- package/src/preset/node/response.ts +0 -57
- package/src/preset/types.ts +0 -9
- package/src/saga-runner/index.ts +0 -59
- package/src/saga-runner/types.ts +0 -13
- package/src/tokens.ts +0 -54
- package/src/tracer/node.ts +0 -40
- package/src/tracer/types.ts +0 -3
- package/src/utils/browser/analytics/__test__/data-layer.test.ts +0 -50
- package/src/utils/browser/analytics/__test__/oko.test.tsx +0 -143
- package/src/utils/browser/analytics/data-layer.ts +0 -12
- package/src/utils/browser/analytics/oko.ts +0 -44
- package/src/utils/browser/storage/index.ts +0 -75
- package/src/utils/number.ts +0 -8
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +0 -27
- package/src/utils/react/error-handlers/__test__/index.test.tsx +0 -64
- package/src/utils/react/error-handlers/index.tsx +0 -62
- package/src/utils/redux/__test__/remote-data.test.ts +0 -50
- package/src/utils/redux/remote-data.ts +0 -34
- package/src/utils/redux-saga/__test__/take-chain.test.ts +0 -141
- package/src/utils/redux-saga/take-chain.ts +0 -65
- package/src/utils/webpack/module-federation/__test__/index.test.ts +0 -246
- package/src/utils/webpack/module-federation/index.ts +0 -92
- package/src/utils/webpack/module-federation/types.ts +0 -44
- package/src/utils/webpack/module-federation/utils.ts +0 -43
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BaseConfig } from '../../config/types';
|
|
2
|
+
import type { Logger } from '../../logger/types';
|
|
3
|
+
import type { Tracer } from '@opentelemetry/api';
|
|
4
|
+
import type { DefaultMiddleware } from '../../http-server/types';
|
|
5
|
+
import { Resolve, Preset } from '../../di';
|
|
6
|
+
import { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
|
|
7
|
+
import { Resource } from '@opentelemetry/resources';
|
|
8
|
+
/**
|
|
9
|
+
* Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
|
|
10
|
+
* @return Preset.
|
|
11
|
+
*/
|
|
12
|
+
export declare function PresetNode(): Preset;
|
|
13
|
+
export declare function provideBaseConfig(resolve: Resolve): BaseConfig;
|
|
14
|
+
export declare function provideLogger(resolve: Resolve): Logger;
|
|
15
|
+
export declare function provideTracer(resolve: Resolve): Tracer;
|
|
16
|
+
export declare function provideSpanExporter(resolve: Resolve): SpanExporter;
|
|
17
|
+
export declare function provideTracerProvider(resolve: Resolve): BasicTracerProvider;
|
|
18
|
+
export declare function provideTracerProviderResource(resolve: Resolve): Resource;
|
|
19
|
+
export declare function provideDefaultMiddleware(resolve: Resolve): DefaultMiddleware;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.provideDefaultMiddleware = exports.provideTracerProviderResource = exports.provideTracerProvider = exports.provideSpanExporter = exports.provideTracer = exports.provideLogger = exports.provideBaseConfig = exports.PresetNode = void 0;
|
|
7
|
+
const di_1 = require("../../di");
|
|
8
|
+
const tracing_1 = require("@opentelemetry/tracing");
|
|
9
|
+
const tokens_1 = require("../../tokens");
|
|
10
|
+
const node_1 = require("../../config/node");
|
|
11
|
+
const base_1 = require("../../config/base");
|
|
12
|
+
const logger_1 = require("../../logger");
|
|
13
|
+
const console_1 = require("../../logger/handler/console");
|
|
14
|
+
const sentry_1 = require("../../logger/handler/sentry");
|
|
15
|
+
const logging_1 = require("../../http-server/middleware/logging");
|
|
16
|
+
const tracing_2 = require("../../http-server/middleware/tracing");
|
|
17
|
+
const metrics_1 = require("../../http-server/middleware/metrics");
|
|
18
|
+
const node_2 = require("../../metrics/node");
|
|
19
|
+
const exporter_jaeger_1 = require("@opentelemetry/exporter-jaeger");
|
|
20
|
+
const middleware_axios_1 = require("middleware-axios");
|
|
21
|
+
const express_1 = __importDefault(require("express"));
|
|
22
|
+
const node_3 = require("@sentry/node");
|
|
23
|
+
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
24
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
25
|
+
const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
|
|
26
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
27
|
+
const tracing_3 = require("../../tracing");
|
|
28
|
+
const os_1 = require("os");
|
|
29
|
+
/**
|
|
30
|
+
* Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
|
|
31
|
+
* @return Preset.
|
|
32
|
+
*/
|
|
33
|
+
function PresetNode() {
|
|
34
|
+
return (0, di_1.createPreset)([
|
|
35
|
+
[tokens_1.KnownToken.Config.source, node_1.createConfigSource],
|
|
36
|
+
[tokens_1.KnownToken.Config.base, provideBaseConfig],
|
|
37
|
+
[tokens_1.KnownToken.logger, provideLogger],
|
|
38
|
+
[tokens_1.KnownToken.Tracing.tracer, provideTracer],
|
|
39
|
+
[tokens_1.KnownToken.Tracing.spanExporter, provideSpanExporter],
|
|
40
|
+
[tokens_1.KnownToken.Tracing.tracerProvider, provideTracerProvider],
|
|
41
|
+
[tokens_1.KnownToken.Tracing.tracerProviderResource, provideTracerProviderResource],
|
|
42
|
+
[tokens_1.KnownToken.Http.Client.factory, () => middleware_axios_1.create],
|
|
43
|
+
[tokens_1.KnownToken.Http.Server.factory, () => express_1.default],
|
|
44
|
+
[tokens_1.KnownToken.Http.Server.Defaults.middleware, provideDefaultMiddleware],
|
|
45
|
+
[tokens_1.KnownToken.Metrics.httpApp, node_2.createMetricsHttpApp],
|
|
46
|
+
]);
|
|
47
|
+
}
|
|
48
|
+
exports.PresetNode = PresetNode;
|
|
49
|
+
function provideBaseConfig(resolve) {
|
|
50
|
+
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
51
|
+
return (0, base_1.createBaseConfig)(source);
|
|
52
|
+
}
|
|
53
|
+
exports.provideBaseConfig = provideBaseConfig;
|
|
54
|
+
function provideLogger(resolve) {
|
|
55
|
+
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
56
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
57
|
+
const client = new node_3.NodeClient({
|
|
58
|
+
dsn: source.require('SENTRY_SERVER_DSN'),
|
|
59
|
+
release: source.require('SENTRY_RELEASE'),
|
|
60
|
+
environment: source.require('SENTRY_ENVIRONMENT'),
|
|
61
|
+
integrations: [...node_3.defaultIntegrations],
|
|
62
|
+
});
|
|
63
|
+
const hub = new node_3.Hub(client);
|
|
64
|
+
const logger = (0, logger_1.createLogger)();
|
|
65
|
+
logger.subscribe((0, console_1.createConsoleHandler)(config));
|
|
66
|
+
logger.subscribe((0, sentry_1.createSentryHandler)(hub));
|
|
67
|
+
return logger;
|
|
68
|
+
}
|
|
69
|
+
exports.provideLogger = provideLogger;
|
|
70
|
+
function provideTracer(resolve) {
|
|
71
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
72
|
+
const provider = resolve(tokens_1.KnownToken.Tracing.tracerProvider);
|
|
73
|
+
return provider.getTracer(config.appName, config.appVersion);
|
|
74
|
+
}
|
|
75
|
+
exports.provideTracer = provideTracer;
|
|
76
|
+
function provideSpanExporter(resolve) {
|
|
77
|
+
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
78
|
+
const exporter = new exporter_jaeger_1.JaegerExporter({
|
|
79
|
+
host: source.require('JAEGER_AGENT_HOST'),
|
|
80
|
+
port: parseInt(source.require('JAEGER_AGENT_PORT')) || undefined,
|
|
81
|
+
});
|
|
82
|
+
return exporter;
|
|
83
|
+
}
|
|
84
|
+
exports.provideSpanExporter = provideSpanExporter;
|
|
85
|
+
function provideTracerProvider(resolve) {
|
|
86
|
+
const exporter = resolve(tokens_1.KnownToken.Tracing.spanExporter);
|
|
87
|
+
const resource = resolve(tokens_1.KnownToken.Tracing.tracerProviderResource);
|
|
88
|
+
const provider = new sdk_trace_node_1.NodeTracerProvider({
|
|
89
|
+
resource,
|
|
90
|
+
});
|
|
91
|
+
provider.addSpanProcessor(new tracing_1.BatchSpanProcessor(exporter)); // @todo разобраться с as any
|
|
92
|
+
provider.register({
|
|
93
|
+
propagator: new propagator_jaeger_1.JaegerPropagator(),
|
|
94
|
+
});
|
|
95
|
+
return provider; // @todo разобраться с as any
|
|
96
|
+
}
|
|
97
|
+
exports.provideTracerProvider = provideTracerProvider;
|
|
98
|
+
function provideTracerProviderResource(resolve) {
|
|
99
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
100
|
+
return (0, tracing_3.getConventionalResource)(config).merge(new resources_1.Resource({
|
|
101
|
+
[semantic_conventions_1.SemanticResourceAttributes.HOST_NAME]: (0, os_1.hostname)(),
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
exports.provideTracerProviderResource = provideTracerProviderResource;
|
|
105
|
+
function provideDefaultMiddleware(resolve) {
|
|
106
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
107
|
+
const logger = resolve(tokens_1.KnownToken.logger);
|
|
108
|
+
const tracer = resolve(tokens_1.KnownToken.Tracing.tracer);
|
|
109
|
+
const metrics = (0, node_2.createDefaultMetrics)();
|
|
110
|
+
return {
|
|
111
|
+
start: [node_3.Handlers.requestHandler()],
|
|
112
|
+
logging: [(0, logging_1.loggingMiddleware)(config, logger)],
|
|
113
|
+
tracing: [(0, tracing_2.tracingMiddleware)(tracer)],
|
|
114
|
+
metrics: [
|
|
115
|
+
(0, metrics_1.responseMetricsMiddleware)(config, {
|
|
116
|
+
counter: metrics.requestCount,
|
|
117
|
+
histogram: metrics.responseDuration,
|
|
118
|
+
}),
|
|
119
|
+
(0, metrics_1.renderMetricsMiddleware)(config, {
|
|
120
|
+
histogram: metrics.renderDuration,
|
|
121
|
+
}),
|
|
122
|
+
],
|
|
123
|
+
finish: [node_3.Handlers.errorHandler()],
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
exports.provideDefaultMiddleware = provideDefaultMiddleware;
|
|
127
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":";;;;;;AAKA,iCAAyD;AACzD,oDAA+F;AAC/F,yCAAmD;AACnD,4CAAuD;AACvD,4CAAqD;AACrD,yCAA4C;AAC5C,0DAAoE;AACpE,wDAAkE;AAClE,kEAAyE;AACzE,kEAAyE;AACzE,kEAG8C;AAC9C,6CAAgF;AAChF,oEAAgE;AAChE,uDAA0C;AAC1C,sDAA8B;AAC9B,uCAA8E;AAC9E,kEAAmE;AACnE,wDAAoD;AACpD,wEAAoE;AACpE,8EAAiF;AACjF,2CAAwD;AACxD,2BAA8B;AAE9B;;;GAGG;AACH,SAAgB,UAAU;IACxB,OAAO,IAAA,iBAAY,EAAC;QAClB,CAAC,mBAAK,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAkB,CAAC;QACzC,CAAC,mBAAK,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACtC,CAAC,mBAAK,CAAC,MAAM,EAAE,aAAa,CAAC;QAC7B,CAAC,mBAAK,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC;QACrC,CAAC,mBAAK,CAAC,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC;QACjD,CAAC,mBAAK,CAAC,OAAO,CAAC,cAAc,EAAE,qBAAqB,CAAC;QACrD,CAAC,mBAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,6BAA6B,CAAC;QACrE,CAAC,mBAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAM,CAAC;QACzC,CAAC,mBAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAO,CAAC;QAC1C,CAAC,mBAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;QACjE,CAAC,mBAAK,CAAC,OAAO,CAAC,OAAO,EAAE,2BAAoB,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAdD,gCAcC;AAED,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5C,OAAO,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAJD,8CAIC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,IAAI,iBAAU,CAAC;QAC5B,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACjD,YAAY,EAAE,CAAC,GAAG,0BAAmB,CAAC;KACvC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAE9B,MAAM,CAAC,SAAS,CAAC,IAAA,8BAAoB,EAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,SAAS,CAAC,IAAA,4BAAmB,EAAC,GAAG,CAAC,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC;AAChB,CAAC;AAlBD,sCAkBC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvD,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;AAC/D,CAAC;AALD,sCAKC;AAED,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAI,gCAAc,CAAC;QAClC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACzC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,IAAI,SAAS;KACjE,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AATD,kDASC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC;QACtC,QAAQ;KACT,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,CAAC,IAAI,4BAAkB,CAAC,QAAQ,CAAQ,CAAC,CAAC,CAAC,6BAA6B;IAEjG,QAAQ,CAAC,QAAQ,CAAC;QAChB,UAAU,EAAE,IAAI,oCAAgB,EAAE;KACnC,CAAC,CAAC;IAEH,OAAO,QAAe,CAAC,CAAC,6BAA6B;AACvD,CAAC;AAfD,sDAeC;AAED,SAAgB,6BAA6B,CAAC,OAAgB;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,OAAO,IAAA,iCAAuB,EAAC,MAAM,CAAC,CAAC,KAAK,CAC1C,IAAI,oBAAQ,CAAC;QACX,CAAC,iDAA0B,CAAC,SAAS,CAAC,EAAE,IAAA,aAAQ,GAAE;KACnD,CAAC,CACH,CAAC;AACJ,CAAC;AARD,sEAQC;AAED,SAAgB,wBAAwB,CAAC,OAAgB;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,IAAA,2BAAoB,GAAE,CAAC;IAEvC,OAAO;QACL,KAAK,EAAE,CAAC,eAAQ,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC,IAAA,2BAAiB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC;QACpC,OAAO,EAAE;YACP,IAAA,mCAAyB,EAAC,MAAM,EAAE;gBAChC,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,SAAS,EAAE,OAAO,CAAC,gBAAgB;aACpC,CAAC;YACF,IAAA,iCAAuB,EAAC,MAAM,EAAE;gBAC9B,SAAS,EAAE,OAAO,CAAC,cAAc;aAClC,CAAC;SACH;QACD,MAAM,EAAE,CAAC,eAAQ,CAAC,YAAY,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAtBD,4DAsBC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { PageTemplate } from '../../http-server/types';
|
|
3
|
+
import type { Handler } from 'express';
|
|
4
|
+
import { Application, Preset, Resolve } from '../../di';
|
|
5
|
+
import { SagaExtendedMiddleware } from '../../utils/redux-saga';
|
|
6
|
+
/**
|
|
7
|
+
* Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
|
|
8
|
+
* @return Preset.
|
|
9
|
+
*/
|
|
10
|
+
export declare function PresetResponse(): Preset;
|
|
11
|
+
export declare function provideSagaMiddleware(resolve: Resolve): SagaExtendedMiddleware;
|
|
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
|
+
/**
|
|
16
|
+
* Возвращает express-handler, создающий дочернее di-приложение при запросе.
|
|
17
|
+
* @param appFactory Фабрика di-приложения запроса.
|
|
18
|
+
* @return Обработчик.
|
|
19
|
+
*/
|
|
20
|
+
export declare function HandlerProvider(appFactory: () => Application): (resolve: Resolve) => Handler;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandlerProvider = exports.provideMain = exports.provideTemplate = exports.provideRender = exports.provideSagaMiddleware = exports.PresetResponse = void 0;
|
|
4
|
+
const di_1 = require("../../di");
|
|
5
|
+
const tokens_1 = require("../../tokens");
|
|
6
|
+
const server_1 = require("react-dom/server");
|
|
7
|
+
const constants_1 = require("../../http-server/constants");
|
|
8
|
+
const template_1 = require("../../http-server/template");
|
|
9
|
+
const utils_1 = require("../../http-server/utils");
|
|
10
|
+
const redux_saga_1 = require("../../utils/redux-saga");
|
|
11
|
+
/**
|
|
12
|
+
* Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
|
|
13
|
+
* @return Preset.
|
|
14
|
+
*/
|
|
15
|
+
function PresetResponse() {
|
|
16
|
+
return (0, di_1.createPreset)([
|
|
17
|
+
[tokens_1.KnownToken.sagaMiddleware, provideSagaMiddleware],
|
|
18
|
+
[tokens_1.KnownToken.Response.render, provideRender],
|
|
19
|
+
[tokens_1.KnownToken.Response.template, provideTemplate],
|
|
20
|
+
[tokens_1.KnownToken.Response.main, provideMain],
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
exports.PresetResponse = PresetResponse;
|
|
24
|
+
function provideSagaMiddleware(resolve) {
|
|
25
|
+
const logger = resolve(tokens_1.KnownToken.logger);
|
|
26
|
+
return (0, redux_saga_1.createSagaMiddleware)(logger);
|
|
27
|
+
}
|
|
28
|
+
exports.provideSagaMiddleware = provideSagaMiddleware;
|
|
29
|
+
function provideRender(resolve) {
|
|
30
|
+
const { res } = resolve(tokens_1.KnownToken.Response.context);
|
|
31
|
+
return function render(element) {
|
|
32
|
+
res.emit(constants_1.RESPONSE_EVENT.renderStart);
|
|
33
|
+
const result = (0, server_1.renderToString)(element);
|
|
34
|
+
res.emit(constants_1.RESPONSE_EVENT.renderFinish);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
exports.provideRender = provideRender;
|
|
39
|
+
function provideTemplate(resolve) {
|
|
40
|
+
const config = resolve(tokens_1.KnownToken.Config.base);
|
|
41
|
+
return function template(data) {
|
|
42
|
+
return data.type === 'html'
|
|
43
|
+
? (0, template_1.pageTemplate)({ ...data, title: `[dev] ${config.appName}` })
|
|
44
|
+
: data.markup;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.provideTemplate = provideTemplate;
|
|
48
|
+
function provideMain(resolve) {
|
|
49
|
+
const context = resolve(tokens_1.KnownToken.Response.context);
|
|
50
|
+
const assets = resolve(tokens_1.KnownToken.Response.assets);
|
|
51
|
+
const prepare = resolve(tokens_1.KnownToken.Response.prepare);
|
|
52
|
+
const render = resolve(tokens_1.KnownToken.Response.render);
|
|
53
|
+
const template = resolve(tokens_1.KnownToken.Response.template);
|
|
54
|
+
return async function main() {
|
|
55
|
+
utils_1.PageResponse.create()
|
|
56
|
+
.markup(await render(await prepare()))
|
|
57
|
+
.script(assets.js)
|
|
58
|
+
.styles(assets.css)
|
|
59
|
+
.format(utils_1.PageResponse.defineFormat(context.req))
|
|
60
|
+
.template(template)
|
|
61
|
+
.send(context.res);
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
exports.provideMain = provideMain;
|
|
65
|
+
/**
|
|
66
|
+
* Возвращает express-handler, создающий дочернее di-приложение при запросе.
|
|
67
|
+
* @param appFactory Фабрика di-приложения запроса.
|
|
68
|
+
* @return Обработчик.
|
|
69
|
+
*/
|
|
70
|
+
function HandlerProvider(appFactory) {
|
|
71
|
+
return function provider(resolve) {
|
|
72
|
+
const parent = resolve(di_1.CURRENT_APP);
|
|
73
|
+
return function handler(req, res, next) {
|
|
74
|
+
const app = appFactory();
|
|
75
|
+
app.attach(parent);
|
|
76
|
+
app.bind(tokens_1.KnownToken.Response.context).toValue({ req, res, next });
|
|
77
|
+
app.get(tokens_1.KnownToken.Response.main)();
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
exports.HandlerProvider = HandlerProvider;
|
|
82
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/preset/node/response.ts"],"names":[],"mappings":"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"}
|
package/tokens.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Application } from 'express';
|
|
3
|
+
import type { DefaultMiddleware, PageAssets, PageTemplate, ResponseContext } from './http-server/types';
|
|
4
|
+
import type { SagaExtendedMiddleware } from './utils/redux-saga';
|
|
5
|
+
import type { Logger } from './logger/types';
|
|
6
|
+
import type { HttpClientFactory } from './http-client/types';
|
|
7
|
+
import type { BaseConfig } from './config/types';
|
|
8
|
+
import type { Tracer } from '@opentelemetry/api';
|
|
9
|
+
import type { Cache } from './cache/types';
|
|
10
|
+
import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
|
|
11
|
+
import type { Resource } from '@opentelemetry/resources';
|
|
12
|
+
export declare const KnownToken: {
|
|
13
|
+
readonly Config: {
|
|
14
|
+
readonly source: import("./di").Token<import("@humanwhocodes/env").Env>;
|
|
15
|
+
readonly base: import("./di").Token<BaseConfig>;
|
|
16
|
+
};
|
|
17
|
+
readonly cache: import("./di").Token<Cache>;
|
|
18
|
+
readonly logger: import("./di").Token<Logger>;
|
|
19
|
+
readonly sagaMiddleware: import("./di").Token<SagaExtendedMiddleware>;
|
|
20
|
+
readonly Tracing: {
|
|
21
|
+
readonly tracer: import("./di").Token<Tracer>;
|
|
22
|
+
readonly spanExporter: import("./di").Token<SpanExporter>;
|
|
23
|
+
readonly tracerProvider: import("./di").Token<BasicTracerProvider>;
|
|
24
|
+
readonly tracerProviderResource: import("./di").Token<Resource>;
|
|
25
|
+
};
|
|
26
|
+
readonly Metrics: {
|
|
27
|
+
readonly httpApp: import("./di").Token<Application>;
|
|
28
|
+
};
|
|
29
|
+
readonly Http: {
|
|
30
|
+
readonly Client: {
|
|
31
|
+
readonly factory: import("./di").Token<HttpClientFactory>;
|
|
32
|
+
};
|
|
33
|
+
readonly Server: {
|
|
34
|
+
readonly factory: import("./di").Token<() => Application>;
|
|
35
|
+
readonly Defaults: {
|
|
36
|
+
readonly middleware: import("./di").Token<DefaultMiddleware>;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
readonly Response: {
|
|
41
|
+
readonly template: import("./di").Token<PageTemplate>;
|
|
42
|
+
readonly context: import("./di").Token<ResponseContext>;
|
|
43
|
+
readonly assets: import("./di").Token<PageAssets>;
|
|
44
|
+
readonly prepare: import("./di").Token<() => JSX.Element | Promise<JSX.Element>>;
|
|
45
|
+
readonly render: import("./di").Token<(element: JSX.Element) => string | Promise<string>>;
|
|
46
|
+
readonly main: import("./di").Token<() => void>;
|
|
47
|
+
};
|
|
48
|
+
};
|
package/tokens.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KnownToken = void 0;
|
|
4
|
+
const di_1 = require("./di");
|
|
5
|
+
exports.KnownToken = {
|
|
6
|
+
// config
|
|
7
|
+
Config: {
|
|
8
|
+
source: (0, di_1.createToken)('config.source'),
|
|
9
|
+
base: (0, di_1.createToken)('config.base'),
|
|
10
|
+
},
|
|
11
|
+
// cache
|
|
12
|
+
cache: (0, di_1.createToken)('cache'),
|
|
13
|
+
// logging
|
|
14
|
+
logger: (0, di_1.createToken)('logger'),
|
|
15
|
+
// saga runner
|
|
16
|
+
sagaMiddleware: (0, di_1.createToken)('saga-middleware'),
|
|
17
|
+
// tracing
|
|
18
|
+
Tracing: {
|
|
19
|
+
tracer: (0, di_1.createToken)('tracing.tracer'),
|
|
20
|
+
spanExporter: (0, di_1.createToken)('tracing.span-exporter'),
|
|
21
|
+
tracerProvider: (0, di_1.createToken)('tracing.tracer-provider'),
|
|
22
|
+
tracerProviderResource: (0, di_1.createToken)('tracing.tracer-provider-resource'),
|
|
23
|
+
},
|
|
24
|
+
// metrics
|
|
25
|
+
Metrics: {
|
|
26
|
+
httpApp: (0, di_1.createToken)('metrics.http-app'),
|
|
27
|
+
},
|
|
28
|
+
// http
|
|
29
|
+
Http: {
|
|
30
|
+
Client: {
|
|
31
|
+
factory: (0, di_1.createToken)('http.client.factory'),
|
|
32
|
+
},
|
|
33
|
+
Server: {
|
|
34
|
+
factory: (0, di_1.createToken)('http.server.factory'),
|
|
35
|
+
Defaults: {
|
|
36
|
+
middleware: (0, di_1.createToken)('http.server.defaults.middleware'),
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
// scope: page response
|
|
41
|
+
Response: {
|
|
42
|
+
template: (0, di_1.createToken)('response/template'),
|
|
43
|
+
context: (0, di_1.createToken)('response/context'),
|
|
44
|
+
assets: (0, di_1.createToken)('response/assets'),
|
|
45
|
+
prepare: (0, di_1.createToken)('response/prepare'),
|
|
46
|
+
render: (0, di_1.createToken)('response/render'),
|
|
47
|
+
main: (0, di_1.createToken)('response/main'),
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=tokens.js.map
|
package/tokens.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AAiBtB,QAAA,UAAU,GAAG;IACxB,SAAS;IACT,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,gBAAW,EAAe,eAAe,CAAC;QAClD,IAAI,EAAE,IAAA,gBAAW,EAAa,aAAa,CAAC;KAC7C;IAED,QAAQ;IACR,KAAK,EAAE,IAAA,gBAAW,EAAQ,OAAO,CAAC;IAElC,UAAU;IACV,MAAM,EAAE,IAAA,gBAAW,EAAS,QAAQ,CAAC;IAErC,cAAc;IACd,cAAc,EAAE,IAAA,gBAAW,EAAyB,iBAAiB,CAAC;IAEtE,UAAU;IACV,OAAO,EAAE;QACP,MAAM,EAAE,IAAA,gBAAW,EAAS,gBAAgB,CAAC;QAC7C,YAAY,EAAE,IAAA,gBAAW,EAAe,uBAAuB,CAAC;QAChE,cAAc,EAAE,IAAA,gBAAW,EAAsB,yBAAyB,CAAC;QAC3E,sBAAsB,EAAE,IAAA,gBAAW,EAAW,kCAAkC,CAAC;KAClF;IAED,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,gBAAW,EAAc,kBAAkB,CAAC;KACtD;IAED,OAAO;IACP,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,qBAAqB,CAAC;SAC/D;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,qBAAqB,CAAC;YAC9D,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAA,gBAAW,EAAoB,iCAAiC,CAAC;aAC9E;SACF;KACF;IAED,uBAAuB;IACvB,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,gBAAW,EAAe,mBAAmB,CAAC;QACxD,OAAO,EAAE,IAAA,gBAAW,EAAkB,kBAAkB,CAAC;QACzD,MAAM,EAAE,IAAA,gBAAW,EAAa,iBAAiB,CAAC;QAClD,OAAO,EAAE,IAAA,gBAAW,EAA2C,kBAAkB,CAAC;QAClF,MAAM,EAAE,IAAA,gBAAW,EAAqD,iBAAiB,CAAC;QAC1F,IAAI,EAAE,IAAA,gBAAW,EAAa,eAAe,CAAC;KAC/C;CACO,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BaseConfig } from '../config/types';
|
|
2
|
+
import { Resource } from '@opentelemetry/resources';
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает ресурс для BasicTracerProvider, заполненный данными по соглашению.
|
|
5
|
+
* Может быть дополнен с помощью метода merge.
|
|
6
|
+
* @param config Конфиг.
|
|
7
|
+
* @return Ресурс для провайдера.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getConventionalResource(config: BaseConfig): Resource;
|
package/tracing/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConventionalResource = void 0;
|
|
4
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
5
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
6
|
+
/**
|
|
7
|
+
* Возвращает ресурс для BasicTracerProvider, заполненный данными по соглашению.
|
|
8
|
+
* Может быть дополнен с помощью метода merge.
|
|
9
|
+
* @param config Конфиг.
|
|
10
|
+
* @return Ресурс для провайдера.
|
|
11
|
+
*/
|
|
12
|
+
function getConventionalResource(config) {
|
|
13
|
+
return new resources_1.Resource({
|
|
14
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
15
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
16
|
+
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.getConventionalResource = getConventionalResource;
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;AACA,wDAAoD;AACpD,8EAAiF;AAEjF;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,MAAkB;IACxD,OAAO,IAAI,oBAAQ,CAAC;QAClB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO;QACzD,CAAC,iDAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU;QAC/D,CAAC,iDAA0B,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,GAAG;KAChE,CAAC,CAAC;AACL,CAAC;AAND,0DAMC"}
|
|
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
|
|
@@ -22,6 +22,7 @@ class ErrorBoundary extends react_1.default.Component {
|
|
|
22
22
|
}
|
|
23
23
|
/** @inheritdoc */
|
|
24
24
|
componentDidCatch(error, errorInfo) {
|
|
25
|
+
// @todo добавить возможность брать onError из специального контекста (это упростит передачу из di-контейнера)
|
|
25
26
|
const { onError } = this.props;
|
|
26
27
|
onError?.(error, errorInfo);
|
|
27
28
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAa1B;;GAEG;AACH,MAAa,aAAc,SAAQ,eAAK,CAAC,SAAuC;IAC9E;;OAEG;IACH,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,KAAY,EAAE,SAA0B;QACxD,8GAA8G;QAC9G,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE/B,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,CAAC;CACF;AAhCD,sCAgCC;AAED;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS,EAAE,EAAE,CAAC,CACtE,8BAAC,eAAK,CAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ;IAChC,8BAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAChD,QAAQ,CACK,CACD,CAClB,CAAC;AANW,QAAA,YAAY,gBAMvB"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSagaMiddleware = exports.takeChain = void 0;
|
|
4
|
+
var take_chain_1 = require("./take-chain");
|
|
5
|
+
Object.defineProperty(exports, "takeChain", { enumerable: true, get: function () { return take_chain_1.takeChain; } });
|
|
6
|
+
var middleware_1 = require("./middleware");
|
|
7
|
+
Object.defineProperty(exports, "createSagaMiddleware", { enumerable: true, get: function () { return middleware_1.createSagaMiddleware; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/redux-saga/index.ts"],"names":[],"mappings":";;;AACA,2CAAyC;AAAhC,uGAAA,SAAS,OAAA;AAClB,2CAAoD;AAA3C,kHAAA,oBAAoB,OAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SagaExtendedMiddleware } from './types';
|
|
2
|
+
import { Logger } from '../../logger';
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает расширенную версию SagaMiddleware.
|
|
5
|
+
* @param logger Logger.
|
|
6
|
+
* @return Middleware.
|
|
7
|
+
*/
|
|
8
|
+
declare function createSagaExtendedMiddleware(logger: Logger): SagaExtendedMiddleware;
|
|
9
|
+
export { createSagaExtendedMiddleware as createSagaMiddleware };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.createSagaMiddleware = void 0;
|
|
27
|
+
const redux_saga_1 = __importStar(require("redux-saga"));
|
|
28
|
+
const error_tracking_1 = require("../../error-tracking");
|
|
29
|
+
/**
|
|
30
|
+
* Возвращает расширенную версию SagaMiddleware.
|
|
31
|
+
* @param logger Logger.
|
|
32
|
+
* @return Middleware.
|
|
33
|
+
*/
|
|
34
|
+
function createSagaExtendedMiddleware(logger) {
|
|
35
|
+
const privates = {};
|
|
36
|
+
const sagaMiddleware = (0, redux_saga_1.default)({
|
|
37
|
+
onError: (error, { sagaStack }) => {
|
|
38
|
+
logger.error(
|
|
39
|
+
// @todo убрать отсюда упоминание sentry, вынести в провайдер, возможно заменить аргумент logger на onError
|
|
40
|
+
new error_tracking_1.SentryError(error.message, {
|
|
41
|
+
extra: {
|
|
42
|
+
key: 'Saga stack',
|
|
43
|
+
data: sagaStack,
|
|
44
|
+
},
|
|
45
|
+
}));
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const middleware = api => {
|
|
49
|
+
privates.api = api;
|
|
50
|
+
return sagaMiddleware(api);
|
|
51
|
+
};
|
|
52
|
+
middleware.timeout = function timeout(milliseconds) {
|
|
53
|
+
privates.timeout = milliseconds;
|
|
54
|
+
return middleware;
|
|
55
|
+
};
|
|
56
|
+
middleware.run = async function run(saga, ...args) {
|
|
57
|
+
const { api, timeout } = privates;
|
|
58
|
+
const promises = [];
|
|
59
|
+
let ready = false;
|
|
60
|
+
let timerId;
|
|
61
|
+
if (!api) {
|
|
62
|
+
throw Error('Middleware is not applied to the store');
|
|
63
|
+
}
|
|
64
|
+
promises.push(sagaMiddleware
|
|
65
|
+
.run(saga, ...args)
|
|
66
|
+
.toPromise()
|
|
67
|
+
.then(() => {
|
|
68
|
+
ready = true;
|
|
69
|
+
timerId !== undefined && clearTimeout(timerId);
|
|
70
|
+
}));
|
|
71
|
+
if (typeof timeout === 'number' && Number.isFinite(timeout)) {
|
|
72
|
+
promises.push(new Promise(resolve => {
|
|
73
|
+
timerId = setTimeout(() => {
|
|
74
|
+
if (!ready) {
|
|
75
|
+
logger.error(Error(`Сага прервана по таймауту (${timeout} миллисекунд)`));
|
|
76
|
+
api.dispatch(redux_saga_1.END);
|
|
77
|
+
}
|
|
78
|
+
resolve();
|
|
79
|
+
}, timeout);
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
await Promise.race(promises);
|
|
83
|
+
};
|
|
84
|
+
return middleware;
|
|
85
|
+
}
|
|
86
|
+
exports.createSagaMiddleware = createSagaExtendedMiddleware;
|
|
87
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/utils/redux-saga/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yDAA6D;AAC7D,yDAAmD;AAEnD;;;;GAIG;AACH,SAAS,4BAA4B,CAAC,MAAc;IAClD,MAAM,QAAQ,GAGV,EAAE,CAAC;IAEP,MAAM,cAAc,GAAG,IAAA,oBAAoB,EAAC;QAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YAChC,MAAM,CAAC,KAAK;YACV,2GAA2G;YAC3G,IAAI,4BAAW,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC7B,KAAK,EAAE;oBACL,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,SAAS;iBAChB;aACF,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAA2B,GAAG,CAAC,EAAE;QAC/C,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,UAAU,CAAC,OAAO,GAAG,SAAS,OAAO,CAAC,YAAoB;QACxD,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QAChC,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,GAAG,KAAK,UAAU,GAAG,CACjC,IAAO,EACP,GAAG,IAAmB;QAEtB,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,OAAuB,CAAC;QAE5B,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,KAAK,CAAC,wCAAwC,CAAC,CAAC;SACvD;QAED,QAAQ,CAAC,IAAI,CACX,cAAc;aACX,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;aAClB,SAAS,EAAE;aACX,IAAI,CAAC,GAAG,EAAE;YACT,KAAK,GAAG,IAAI,CAAC;YACb,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC,CAAC,CACL,CAAC;QAEF,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC3D,QAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAC1B,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBACxB,IAAI,CAAC,KAAK,EAAE;wBACV,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,OAAO,eAAe,CAAC,CAAC,CAAC;wBAC1E,GAAG,CAAC,QAAQ,CAAC,gBAAG,CAAC,CAAC;qBACnB;oBAED,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,OAAO,CAAC,CAAC;YACd,CAAC,CAAC,CACH,CAAC;SACH;QAED,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAEwC,4DAAoB"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Middleware } from '@reduxjs/toolkit';
|
|
2
|
+
import type { Saga } from 'redux-saga';
|
|
3
|
+
export interface SagaExtendedMiddleware extends Middleware {
|
|
4
|
+
timeout(milliseconds: number): this;
|
|
5
|
+
run: <S extends Saga>(saga: S, ...args: Parameters<S>) => Promise<void>;
|
|
6
|
+
}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/redux-saga/types.ts"],"names":[],"mappings":""}
|