@sima-land/isomorph 11.0.0-alpha.53 → 11.0.0-alpha.55
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/cjs/config/source.js +5 -0
- package/dist/cjs/config/source.js.map +1 -1
- package/dist/cjs/package.json +7 -9
- package/dist/cjs/preset/node/index.js +10 -8
- package/dist/cjs/preset/node/index.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js +15 -4
- package/dist/cjs/preset/node/providers/express-tracing-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/public-envs.js +22 -0
- package/dist/cjs/preset/node/providers/public-envs.js.map +1 -0
- package/dist/cjs/preset/node/providers/{tracer-provider.js → telemetry-tracer-provider.js} +7 -10
- package/dist/cjs/preset/node/providers/telemetry-tracer-provider.js.map +1 -0
- package/dist/cjs/preset/{bun/utils/get-stats-handler.js → node/providers/telemetry-tracer-resource.js} +19 -20
- package/dist/cjs/preset/node/providers/telemetry-tracer-resource.js.map +1 -0
- package/dist/cjs/preset/node/providers/{span-exporter.js → telemetry-tracer-span-exporter.js} +6 -5
- package/dist/cjs/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -0
- package/dist/cjs/preset/node/providers/{tracer.js → telemetry-tracer.js} +2 -2
- package/dist/cjs/preset/node/providers/telemetry-tracer.js.map +1 -0
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js +9 -24
- package/dist/cjs/preset/node/utils/axios-tracing-middleware.js.map +1 -1
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js +6 -11
- package/dist/cjs/preset/node/utils/get-fetch-tracing.js.map +1 -1
- package/dist/cjs/preset/node/utils/telemetry.js +23 -0
- package/dist/cjs/preset/node/utils/telemetry.js.map +1 -0
- package/dist/cjs/tokens.js +5 -4
- package/dist/cjs/tokens.js.map +1 -1
- package/dist/cjs/utils/ssr/index.js +2 -1
- package/dist/cjs/utils/ssr/index.js.map +1 -1
- package/dist/cjs/utils/webpack/env/index.js +1 -0
- package/dist/cjs/utils/webpack/env/index.js.map +1 -1
- package/dist/esm/config/source.js +5 -0
- package/dist/esm/config/source.js.map +1 -1
- package/dist/esm/package.json +7 -9
- package/dist/esm/preset/node/index.js +9 -6
- package/dist/esm/preset/node/index.js.map +1 -1
- package/dist/esm/preset/node/providers/express-tracing-middleware.js +15 -4
- package/dist/esm/preset/node/providers/express-tracing-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/public-envs.js +16 -0
- package/dist/esm/preset/node/providers/public-envs.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js +19 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-provider.js.map +1 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js +21 -0
- package/dist/esm/preset/node/providers/telemetry-tracer-resource.js.map +1 -0
- package/dist/esm/preset/node/providers/{span-exporter.js → telemetry-tracer-span-exporter.js} +4 -4
- package/dist/esm/preset/node/providers/telemetry-tracer-span-exporter.js.map +1 -0
- package/dist/esm/preset/node/providers/{tracer.js → telemetry-tracer.js} +2 -2
- package/dist/esm/preset/node/providers/telemetry-tracer.js.map +1 -0
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js +9 -24
- package/dist/esm/preset/node/utils/axios-tracing-middleware.js.map +1 -1
- package/dist/esm/preset/node/utils/get-fetch-tracing.js +7 -12
- package/dist/esm/preset/node/utils/get-fetch-tracing.js.map +1 -1
- package/dist/esm/preset/node/utils/telemetry.js +18 -0
- package/dist/esm/preset/node/utils/telemetry.js.map +1 -0
- package/dist/esm/tokens.js +5 -4
- package/dist/esm/tokens.js.map +1 -1
- package/dist/esm/utils/ssr/index.js +2 -1
- package/dist/esm/utils/ssr/index.js.map +1 -1
- package/dist/esm/utils/webpack/env/index.js +1 -0
- package/dist/esm/utils/webpack/env/index.js.map +1 -1
- package/dist/types/config/source.d.ts.map +1 -1
- package/dist/types/preset/node/index.d.ts.map +1 -1
- package/dist/types/preset/node/providers/express-tracing-middleware.d.ts.map +1 -1
- package/dist/types/preset/node/providers/public-envs.d.ts +6 -0
- package/dist/types/preset/node/providers/public-envs.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-provider.d.ts.map +1 -0
- package/dist/types/preset/node/providers/telemetry-tracer-resource.d.ts +9 -0
- package/dist/types/preset/node/providers/telemetry-tracer-resource.d.ts.map +1 -0
- package/dist/types/preset/node/providers/{span-exporter.d.ts → telemetry-tracer-span-exporter.d.ts} +3 -3
- package/dist/types/preset/node/providers/telemetry-tracer-span-exporter.d.ts.map +1 -0
- package/dist/types/preset/node/providers/{tracer.d.ts → telemetry-tracer.d.ts} +1 -1
- package/dist/types/preset/node/providers/telemetry-tracer.d.ts.map +1 -0
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts +1 -3
- package/dist/types/preset/node/utils/axios-tracing-middleware.d.ts.map +1 -1
- package/dist/types/preset/node/utils/emitter-as-target.d.ts +0 -1
- package/dist/types/preset/node/utils/emitter-as-target.d.ts.map +1 -1
- package/dist/types/preset/node/utils/telemetry.d.ts +8 -0
- package/dist/types/preset/node/utils/telemetry.d.ts.map +1 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts +1 -0
- package/dist/types/preset/server/providers/page-helmet.d.ts.map +1 -1
- package/dist/types/preset/server/types.d.ts +1 -0
- package/dist/types/preset/server/types.d.ts.map +1 -1
- package/dist/types/tokens.d.ts +5 -2
- package/dist/types/tokens.d.ts.map +1 -1
- package/dist/types/utils/ssr/index.d.ts +1 -0
- package/dist/types/utils/ssr/index.d.ts.map +1 -1
- package/dist/types/utils/webpack/env/index.d.ts +1 -0
- package/dist/types/utils/webpack/env/index.d.ts.map +1 -1
- package/package.json +8 -29
- package/dist/cjs/preset/bun/index.js +0 -80
- package/dist/cjs/preset/bun/index.js.map +0 -1
- package/dist/cjs/preset/bun/providers/config-source.js +0 -13
- package/dist/cjs/preset/bun/providers/config-source.js.map +0 -1
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js +0 -26
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +0 -1
- package/dist/cjs/preset/bun/providers/logger.js +0 -18
- package/dist/cjs/preset/bun/providers/logger.js.map +0 -1
- package/dist/cjs/preset/bun/providers/serve-metrics.js +0 -25
- package/dist/cjs/preset/bun/providers/serve-metrics.js.map +0 -1
- package/dist/cjs/preset/bun/providers/serve-middleware.js +0 -29
- package/dist/cjs/preset/bun/providers/serve-middleware.js.map +0 -1
- package/dist/cjs/preset/bun/providers/service-routes.js +0 -16
- package/dist/cjs/preset/bun/providers/service-routes.js.map +0 -1
- package/dist/cjs/preset/bun/utils/get-stats-handler.js.map +0 -1
- package/dist/cjs/preset/bun-handler/index.js +0 -62
- package/dist/cjs/preset/bun-handler/index.js.map +0 -1
- package/dist/cjs/preset/bun-handler/providers/accept-type.js +0 -24
- package/dist/cjs/preset/bun-handler/providers/accept-type.js.map +0 -1
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +0 -30
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +0 -1
- package/dist/cjs/preset/bun-handler/providers/handler-main.js +0 -75
- package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +0 -1
- package/dist/cjs/preset/bun-handler/providers/specific-params.js +0 -19
- package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +0 -1
- package/dist/cjs/preset/isomorphic/utils/hide-first-id.js +0 -20
- package/dist/cjs/preset/isomorphic/utils/hide-first-id.js.map +0 -1
- package/dist/cjs/preset/node/providers/span-exporter.js.map +0 -1
- package/dist/cjs/preset/node/providers/tracer-provider-resource.js +0 -26
- package/dist/cjs/preset/node/providers/tracer-provider-resource.js.map +0 -1
- package/dist/cjs/preset/node/providers/tracer-provider.js.map +0 -1
- package/dist/cjs/preset/node/providers/tracer.js.map +0 -1
- package/dist/esm/preset/bun/index.js +0 -63
- package/dist/esm/preset/bun/index.js.map +0 -1
- package/dist/esm/preset/bun/providers/config-source.js +0 -6
- package/dist/esm/preset/bun/providers/config-source.js.map +0 -1
- package/dist/esm/preset/bun/providers/log-handler-sentry.js +0 -20
- package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +0 -1
- package/dist/esm/preset/bun/providers/logger.js +0 -12
- package/dist/esm/preset/bun/providers/logger.js.map +0 -1
- package/dist/esm/preset/bun/providers/serve-metrics.js +0 -18
- package/dist/esm/preset/bun/providers/serve-metrics.js.map +0 -1
- package/dist/esm/preset/bun/providers/serve-middleware.js +0 -23
- package/dist/esm/preset/bun/providers/serve-middleware.js.map +0 -1
- package/dist/esm/preset/bun/providers/service-routes.js +0 -10
- package/dist/esm/preset/bun/providers/service-routes.js.map +0 -1
- package/dist/esm/preset/bun/utils/get-stats-handler.js +0 -22
- package/dist/esm/preset/bun/utils/get-stats-handler.js.map +0 -1
- package/dist/esm/preset/bun-handler/index.js +0 -57
- package/dist/esm/preset/bun-handler/index.js.map +0 -1
- package/dist/esm/preset/bun-handler/providers/accept-type.js +0 -18
- package/dist/esm/preset/bun-handler/providers/accept-type.js.map +0 -1
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +0 -24
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +0 -1
- package/dist/esm/preset/bun-handler/providers/handler-main.js +0 -66
- package/dist/esm/preset/bun-handler/providers/handler-main.js.map +0 -1
- package/dist/esm/preset/bun-handler/providers/specific-params.js +0 -13
- package/dist/esm/preset/bun-handler/providers/specific-params.js.map +0 -1
- package/dist/esm/preset/isomorphic/utils/hide-first-id.js +0 -14
- package/dist/esm/preset/isomorphic/utils/hide-first-id.js.map +0 -1
- package/dist/esm/preset/node/providers/span-exporter.js.map +0 -1
- package/dist/esm/preset/node/providers/tracer-provider-resource.js +0 -20
- package/dist/esm/preset/node/providers/tracer-provider-resource.js.map +0 -1
- package/dist/esm/preset/node/providers/tracer-provider.js +0 -22
- package/dist/esm/preset/node/providers/tracer-provider.js.map +0 -1
- package/dist/esm/preset/node/providers/tracer.js.map +0 -1
- package/dist/types/preset/bun/index.d.ts +0 -10
- package/dist/types/preset/bun/index.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/config-source.d.ts +0 -3
- package/dist/types/preset/bun/providers/config-source.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts +0 -3
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/logger.d.ts +0 -4
- package/dist/types/preset/bun/providers/logger.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/serve-metrics.d.ts +0 -3
- package/dist/types/preset/bun/providers/serve-metrics.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/serve-middleware.d.ts +0 -4
- package/dist/types/preset/bun/providers/serve-middleware.d.ts.map +0 -1
- package/dist/types/preset/bun/providers/service-routes.d.ts +0 -3
- package/dist/types/preset/bun/providers/service-routes.d.ts.map +0 -1
- package/dist/types/preset/bun/utils/get-stats-handler.d.ts +0 -7
- package/dist/types/preset/bun/utils/get-stats-handler.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/index.d.ts +0 -9
- package/dist/types/preset/bun-handler/index.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/providers/accept-type.d.ts +0 -11
- package/dist/types/preset/bun-handler/providers/accept-type.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts +0 -4
- package/dist/types/preset/bun-handler/providers/fetch-middleware.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts +0 -3
- package/dist/types/preset/bun-handler/providers/handler-main.d.ts.map +0 -1
- package/dist/types/preset/bun-handler/providers/specific-params.d.ts +0 -3
- package/dist/types/preset/bun-handler/providers/specific-params.d.ts.map +0 -1
- package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts +0 -11
- package/dist/types/preset/isomorphic/utils/hide-first-id.d.ts.map +0 -1
- package/dist/types/preset/node/providers/span-exporter.d.ts.map +0 -1
- package/dist/types/preset/node/providers/tracer-provider-resource.d.ts +0 -9
- package/dist/types/preset/node/providers/tracer-provider-resource.d.ts.map +0 -1
- package/dist/types/preset/node/providers/tracer-provider.d.ts +0 -9
- package/dist/types/preset/node/providers/tracer-provider.d.ts.map +0 -1
- package/dist/types/preset/node/providers/tracer.d.ts.map +0 -1
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.provideSpecificParams = provideSpecificParams;
|
|
7
|
-
var _tokens = require("../../../tokens");
|
|
8
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
9
|
-
|
|
10
|
-
function provideSpecificParams(resolve) {
|
|
11
|
-
const context = resolve(_tokens.KnownToken.Http.Handler.context);
|
|
12
|
-
try {
|
|
13
|
-
const headerValue = context.request.headers.get('simaland-params');
|
|
14
|
-
return JSON.parse(headerValue ?? '{}');
|
|
15
|
-
} catch {
|
|
16
|
-
return {};
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=specific-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"specific-params.js","names":["_tokens","require","provideSpecificParams","resolve","context","KnownToken","Http","Handler","headerValue","request","headers","get","JSON","parse"],"sources":["../../../../../src/preset/bun-handler/providers/specific-params.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\nexport function provideSpecificParams(resolve: Resolve) {\n const context = resolve(KnownToken.Http.Handler.context);\n\n try {\n const headerValue = context.request.headers.get('simaland-params');\n\n return JSON.parse(headerValue ?? '{}');\n } catch {\n return {};\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAFA;;AAIO,SAASC,qBAAqBA,CAACC,OAAgB,EAAE;EACtD,MAAMC,OAAO,GAAGD,OAAO,CAACE,kBAAU,CAACC,IAAI,CAACC,OAAO,CAACH,OAAO,CAAC;EAExD,IAAI;IACF,MAAMI,WAAW,GAAGJ,OAAO,CAACK,OAAO,CAACC,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;IAElE,OAAOC,IAAI,CAACC,KAAK,CAACL,WAAW,IAAI,IAAI,CAAC;EACxC,CAAC,CAAC,MAAM;IACN,OAAO,CAAC,CAAC;EACX;AACF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.hideFirstId = hideFirstId;
|
|
7
|
-
/**
|
|
8
|
-
* Преобразует строку вида:
|
|
9
|
-
* "/api/v2/something/123456/some-bff/123456"
|
|
10
|
-
* в строку вида:
|
|
11
|
-
* "/api/v2/something/{id}/some-bff/123456"
|
|
12
|
-
* и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
|
|
13
|
-
* @param url Url.
|
|
14
|
-
* @return Кортеж со строкой и результатом поиска числа.
|
|
15
|
-
*/
|
|
16
|
-
function hideFirstId(url) {
|
|
17
|
-
const found = /\d{2,}/.exec(url);
|
|
18
|
-
return found ? [url.replace(found[0], '{id}'), Number(found[0])] : [url, undefined];
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=hide-first-id.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hide-first-id.js","names":["hideFirstId","url","found","exec","replace","Number","undefined"],"sources":["../../../../../src/preset/isomorphic/utils/hide-first-id.ts"],"sourcesContent":["/**\n * Преобразует строку вида:\n * \"/api/v2/something/123456/some-bff/123456\"\n * в строку вида:\n * \"/api/v2/something/{id}/some-bff/123456\"\n * и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.\n * @param url Url.\n * @return Кортеж со строкой и результатом поиска числа.\n */\nexport function hideFirstId(url: string): [string, number | undefined] {\n const found = /\\d{2,}/.exec(url);\n\n return found ? [url.replace(found[0], '{id}'), Number(found[0])] : [url, undefined];\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,WAAWA,CAACC,GAAW,EAAgC;EACrE,MAAMC,KAAK,GAAG,QAAQ,CAACC,IAAI,CAACF,GAAG,CAAC;EAEhC,OAAOC,KAAK,GAAG,CAACD,GAAG,CAACG,OAAO,CAACF,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAEG,MAAM,CAACH,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAACD,GAAG,EAAEK,SAAS,CAAC;AACrF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"span-exporter.js","names":["_exporterTraceOtlpHttp","require","_tokens","provideSpanExporter","resolve","source","KnownToken","Config","OTLPTraceExporter","url"],"sources":["../../../../../src/preset/node/providers/span-exporter.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { SpanExporter } from '@opentelemetry/sdk-trace-base';\nimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта SpanExporter.\n * @param resolve Функция для получения зависимости по токену.\n * @return SpanExporter.\n */\nexport function provideSpanExporter(resolve: Resolve): SpanExporter {\n const source = resolve(KnownToken.Config.source);\n\n return new OTLPTraceExporter({\n // @todo сделать компонент ConventionalConfig и в реализации описать все переменные среды там\n url: source.require('JAEGER_AGENT_URL'),\n });\n}\n"],"mappings":";;;;;;AAEA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,mBAAmBA,CAACC,OAAgB,EAAgB;EAClE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,OAAO,IAAIG,wCAAiB,CAAC;IAC3B;IACAC,GAAG,EAAEJ,MAAM,CAACJ,OAAO,CAAC,kBAAkB;EACxC,CAAC,CAAC;AACJ"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.provideTracerProviderResource = provideTracerProviderResource;
|
|
7
|
-
var _nodeOs = _interopRequireDefault(require("node:os"));
|
|
8
|
-
var _resources = require("@opentelemetry/resources");
|
|
9
|
-
var _semanticConventions = require("@opentelemetry/semantic-conventions");
|
|
10
|
-
var _tokens = require("../../../tokens");
|
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
/**
|
|
13
|
-
* Провайдер объекта Resource.
|
|
14
|
-
* @param resolve Функция для получения зависимости по токену.
|
|
15
|
-
* @return Resource.
|
|
16
|
-
*/
|
|
17
|
-
function provideTracerProviderResource(resolve) {
|
|
18
|
-
const config = resolve(_tokens.KnownToken.Config.base);
|
|
19
|
-
return new _resources.Resource({
|
|
20
|
-
[_semanticConventions.SemanticResourceAttributes.HOST_NAME]: _nodeOs.default.hostname(),
|
|
21
|
-
[_semanticConventions.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
22
|
-
[_semanticConventions.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
23
|
-
[_semanticConventions.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=tracer-provider-resource.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracer-provider-resource.js","names":["_nodeOs","_interopRequireDefault","require","_resources","_semanticConventions","_tokens","obj","__esModule","default","provideTracerProviderResource","resolve","config","KnownToken","Config","base","Resource","SemanticResourceAttributes","HOST_NAME","os","hostname","SERVICE_NAME","appName","SERVICE_VERSION","appVersion","DEPLOYMENT_ENVIRONMENT","env"],"sources":["../../../../../src/preset/node/providers/tracer-provider-resource.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport os from 'node:os';\nimport { Resource } from '@opentelemetry/resources';\nimport { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта Resource.\n * @param resolve Функция для получения зависимости по токену.\n * @return Resource.\n */\nexport function provideTracerProviderResource(resolve: Resolve): Resource {\n const config = resolve(KnownToken.Config.base);\n\n return new Resource({\n [SemanticResourceAttributes.HOST_NAME]: os.hostname(),\n [SemanticResourceAttributes.SERVICE_NAME]: config.appName,\n [SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,\n [SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,\n });\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAA6C,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE7C;AACA;AACA;AACA;AACA;AACO,SAASG,6BAA6BA,CAACC,OAAgB,EAAY;EACxE,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAE9C,OAAO,IAAIC,mBAAQ,CAAC;IAClB,CAACC,+CAA0B,CAACC,SAAS,GAAGC,eAAE,CAACC,QAAQ,CAAC,CAAC;IACrD,CAACH,+CAA0B,CAACI,YAAY,GAAGT,MAAM,CAACU,OAAO;IACzD,CAACL,+CAA0B,CAACM,eAAe,GAAGX,MAAM,CAACY,UAAU;IAC/D,CAACP,+CAA0B,CAACQ,sBAAsB,GAAGb,MAAM,CAACc;EAC9D,CAAC,CAAC;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracer-provider.js","names":["_sdkTraceNode","require","_propagatorJaeger","_tokens","provideTracerProvider","resolve","exporter","KnownToken","Tracing","spanExporter","resource","tracerProviderResource","provider","NodeTracerProvider","addSpanProcessor","BatchSpanProcessor","register","propagator","JaegerPropagator"],"sources":["../../../../../src/preset/node/providers/tracer-provider.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport type { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';\nimport { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';\nimport { JaegerPropagator } from '@opentelemetry/propagator-jaeger';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта BasicTracerProvider.\n * @param resolve Функция для получения зависимости по токену.\n * @return BasicTracerProvider.\n */\nexport function provideTracerProvider(resolve: Resolve): BasicTracerProvider {\n const exporter = resolve(KnownToken.Tracing.spanExporter);\n const resource = resolve(KnownToken.Tracing.tracerProviderResource);\n\n const provider = new NodeTracerProvider({ resource });\n\n provider.addSpanProcessor(new BatchSpanProcessor(exporter));\n provider.register({ propagator: new JaegerPropagator() });\n\n return provider;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CAACC,OAAgB,EAAuB;EAC3E,MAAMC,QAAQ,GAAGD,OAAO,CAACE,kBAAU,CAACC,OAAO,CAACC,YAAY,CAAC;EACzD,MAAMC,QAAQ,GAAGL,OAAO,CAACE,kBAAU,CAACC,OAAO,CAACG,sBAAsB,CAAC;EAEnE,MAAMC,QAAQ,GAAG,IAAIC,gCAAkB,CAAC;IAAEH;EAAS,CAAC,CAAC;EAErDE,QAAQ,CAACE,gBAAgB,CAAC,IAAIC,gCAAkB,CAACT,QAAQ,CAAC,CAAC;EAC3DM,QAAQ,CAACI,QAAQ,CAAC;IAAEC,UAAU,EAAE,IAAIC,kCAAgB,CAAC;EAAE,CAAC,CAAC;EAEzD,OAAON,QAAQ;AACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","names":["_tokens","require","provideTracer","resolve","config","KnownToken","Config","base","provider","Tracing","tracerProvider","getTracer","appName","appVersion"],"sources":["../../../../../src/preset/node/providers/tracer.ts"],"sourcesContent":["import { Tracer } from '@opentelemetry/api';\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\n/**\n * Провайдер объекта Tracer.\n * @param resolve Функция для получения зависимости по токену.\n * @return Tracer.\n */\nexport function provideTracer(resolve: Resolve): Tracer {\n const config = resolve(KnownToken.Config.base);\n const provider = resolve(KnownToken.Tracing.tracerProvider);\n\n return provider.getTracer(config.appName, config.appVersion);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,QAAQ,GAAGL,OAAO,CAACE,kBAAU,CAACI,OAAO,CAACC,cAAc,CAAC;EAE3D,OAAOF,QAAQ,CAACG,SAAS,CAACP,MAAM,CAACQ,OAAO,EAAER,MAAM,CAACS,UAAU,CAAC;AAC9D"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { createPreset } from "./../../di/index.js";
|
|
2
|
-
import { KnownToken } from "../../tokens.js";
|
|
3
|
-
import { provideBaseConfig } from "../isomorphic/providers/base-config.js";
|
|
4
|
-
import { provideFetch } from "../isomorphic/providers/fetch.js";
|
|
5
|
-
import { provideKnownHttpApiHosts } from "../server/providers/known-http-api-hosts.js";
|
|
6
|
-
import { provideSsrBridgeServerSide } from "../server/providers/ssr-bridge-server-side.js";
|
|
7
|
-
import { provideConfigSource } from "./providers/config-source.js";
|
|
8
|
-
import { provideLogger } from "./providers/logger.js";
|
|
9
|
-
import { provideServe } from "../server/providers/serve.js";
|
|
10
|
-
import { provideServeMetrics } from "./providers/serve-metrics.js";
|
|
11
|
-
import { provideFetchMiddleware } from "../server/providers/fetch-middleware.js";
|
|
12
|
-
import { provideServiceRoutes } from "./providers/service-routes.js";
|
|
13
|
-
import { provideServeMiddleware } from "./providers/serve-middleware.js";
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Возвращает preset с зависимостями для запуска приложения в Bun.
|
|
17
|
-
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
18
|
-
* @return Preset.
|
|
19
|
-
*/
|
|
20
|
-
export function PresetBun(customize) {
|
|
21
|
-
// @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)
|
|
22
|
-
const preset = createPreset();
|
|
23
|
-
|
|
24
|
-
// config
|
|
25
|
-
preset.set(KnownToken.Config.source, provideConfigSource);
|
|
26
|
-
preset.set(KnownToken.Config.base, provideBaseConfig);
|
|
27
|
-
|
|
28
|
-
// log
|
|
29
|
-
preset.set(KnownToken.logger, provideLogger);
|
|
30
|
-
|
|
31
|
-
// tracing
|
|
32
|
-
// @todo
|
|
33
|
-
|
|
34
|
-
// metrics
|
|
35
|
-
preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);
|
|
36
|
-
|
|
37
|
-
// http fetch
|
|
38
|
-
preset.set(KnownToken.Http.fetch, provideFetch);
|
|
39
|
-
preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);
|
|
40
|
-
|
|
41
|
-
// http serve
|
|
42
|
-
preset.set(KnownToken.Http.serve, provideServe);
|
|
43
|
-
preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);
|
|
44
|
-
preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);
|
|
45
|
-
preset.set(KnownToken.Http.Serve.Proxy.config, () => null);
|
|
46
|
-
|
|
47
|
-
// http api
|
|
48
|
-
preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);
|
|
49
|
-
|
|
50
|
-
// ssr bridge
|
|
51
|
-
preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);
|
|
52
|
-
if (customize) {
|
|
53
|
-
customize({
|
|
54
|
-
override: preset.set.bind(preset)
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
return preset;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// доступные утилиты
|
|
61
|
-
export { HandlerProvider } from "../server/utils/handler-provider.js";
|
|
62
|
-
export { getStatsHandler } from "./utils/get-stats-handler.js";
|
|
63
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createPreset","KnownToken","provideBaseConfig","provideFetch","provideKnownHttpApiHosts","provideSsrBridgeServerSide","provideConfigSource","provideLogger","provideServe","provideServeMetrics","provideFetchMiddleware","provideServiceRoutes","provideServeMiddleware","PresetBun","customize","preset","set","Config","source","base","logger","Metrics","httpHandler","Http","fetch","Fetch","middleware","serve","Serve","serviceRoutes","Proxy","config","Api","knownHosts","SsrBridge","serverSide","override","bind","HandlerProvider","getStatsHandler"],"sources":["../../../../src/preset/bun/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideBaseConfig } from '../isomorphic/providers/base-config';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideKnownHttpApiHosts } from '../server/providers/known-http-api-hosts';\nimport { provideSsrBridgeServerSide } from '../server/providers/ssr-bridge-server-side';\nimport { provideConfigSource } from './providers/config-source';\nimport { provideLogger } from './providers/logger';\nimport { provideServe } from '../server/providers/serve';\nimport { provideServeMetrics } from './providers/serve-metrics';\nimport { provideFetchMiddleware } from '../server/providers/fetch-middleware';\nimport { provideServiceRoutes } from './providers/service-routes';\nimport { provideServeMiddleware } from './providers/serve-middleware';\n\n/**\n * Возвращает preset с зависимостями для запуска приложения в Bun.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @return Preset.\n */\nexport function PresetBun(customize?: PresetTuner) {\n // @todo возможно стоит переименовать в PresetServer (так как в теории это можно использовать не только в Bun но и в Deno, Node.js)\n const preset = createPreset();\n\n // config\n preset.set(KnownToken.Config.source, provideConfigSource);\n preset.set(KnownToken.Config.base, provideBaseConfig);\n\n // log\n preset.set(KnownToken.logger, provideLogger);\n\n // tracing\n // @todo\n\n // metrics\n preset.set(KnownToken.Metrics.httpHandler, provideServeMetrics);\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n\n // http serve\n preset.set(KnownToken.Http.serve, provideServe);\n preset.set(KnownToken.Http.Serve.serviceRoutes, provideServiceRoutes);\n preset.set(KnownToken.Http.Serve.middleware, provideServeMiddleware);\n preset.set(KnownToken.Http.Serve.Proxy.config, () => null);\n\n // http api\n preset.set(KnownToken.Http.Api.knownHosts, provideKnownHttpApiHosts);\n\n // ssr bridge\n preset.set(KnownToken.SsrBridge.serverSide, provideSsrBridgeServerSide);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n\n// доступные утилиты\nexport { HandlerProvider } from '../server/utils/handler-provider';\nexport { getStatsHandler } from './utils/get-stats-handler';\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAU;AACvC,SAASC,UAAU,QAAQ,iBAAc;AAEzC,SAASC,iBAAiB,QAAQ,wCAAqC;AACvE,SAASC,YAAY,QAAQ,kCAA+B;AAC5D,SAASC,wBAAwB,QAAQ,6CAA0C;AACnF,SAASC,0BAA0B,QAAQ,+CAA4C;AACvF,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,aAAa,QAAQ,uBAAoB;AAClD,SAASC,YAAY,QAAQ,8BAA2B;AACxD,SAASC,mBAAmB,QAAQ,8BAA2B;AAC/D,SAASC,sBAAsB,QAAQ,yCAAsC;AAC7E,SAASC,oBAAoB,QAAQ,+BAA4B;AACjE,SAASC,sBAAsB,QAAQ,iCAA8B;;AAErE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAACC,SAAuB,EAAE;EACjD;EACA,MAAMC,MAAM,GAAGf,YAAY,CAAC,CAAC;;EAE7B;EACAe,MAAM,CAACC,GAAG,CAACf,UAAU,CAACgB,MAAM,CAACC,MAAM,EAAEZ,mBAAmB,CAAC;EACzDS,MAAM,CAACC,GAAG,CAACf,UAAU,CAACgB,MAAM,CAACE,IAAI,EAAEjB,iBAAiB,CAAC;;EAErD;EACAa,MAAM,CAACC,GAAG,CAACf,UAAU,CAACmB,MAAM,EAAEb,aAAa,CAAC;;EAE5C;EACA;;EAEA;EACAQ,MAAM,CAACC,GAAG,CAACf,UAAU,CAACoB,OAAO,CAACC,WAAW,EAAEb,mBAAmB,CAAC;;EAE/D;EACAM,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACC,KAAK,EAAErB,YAAY,CAAC;EAC/CY,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACE,KAAK,CAACC,UAAU,EAAEhB,sBAAsB,CAAC;;EAEpE;EACAK,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACI,KAAK,EAAEnB,YAAY,CAAC;EAC/CO,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACC,aAAa,EAAElB,oBAAoB,CAAC;EACrEI,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACF,UAAU,EAAEd,sBAAsB,CAAC;EACpEG,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACK,KAAK,CAACE,KAAK,CAACC,MAAM,EAAE,MAAM,IAAI,CAAC;;EAE1D;EACAhB,MAAM,CAACC,GAAG,CAACf,UAAU,CAACsB,IAAI,CAACS,GAAG,CAACC,UAAU,EAAE7B,wBAAwB,CAAC;;EAEpE;EACAW,MAAM,CAACC,GAAG,CAACf,UAAU,CAACiC,SAAS,CAACC,UAAU,EAAE9B,0BAA0B,CAAC;EAEvE,IAAIS,SAAS,EAAE;IACbA,SAAS,CAAC;MAAEsB,QAAQ,EAAErB,MAAM,CAACC,GAAG,CAACqB,IAAI,CAACtB,MAAM;IAAE,CAAC,CAAC;EAClD;EAEA,OAAOA,MAAM;AACf;;AAEA;AACA,SAASuB,eAAe,QAAQ,qCAAkC;AAClE,SAASC,eAAe,QAAQ,8BAA2B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-source.js","names":["createConfigSource","provideConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { ConfigSource, createConfigSource } from '../../../config';\n\nexport function provideConfigSource(): ConfigSource {\n return createConfigSource(Bun.env);\n}\n"],"mappings":"AAAA;AACA,SAAuBA,kBAAkB,QAAQ,4BAAiB;AAElE,OAAO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAOD,kBAAkB,CAACE,GAAG,CAACC,GAAG,CAAC;AACpC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { KnownToken } from "../../../tokens.js";
|
|
4
|
-
import { getCurrentScope, getDefaultIntegrations, init } from '@sentry/bun';
|
|
5
|
-
import { createSentryHandler } from "../../../log/handler/sentry.js";
|
|
6
|
-
export function provideLogHandlerSentry(resolve) {
|
|
7
|
-
const source = resolve(KnownToken.Config.source);
|
|
8
|
-
init({
|
|
9
|
-
dsn: source.require('SENTRY_DSN'),
|
|
10
|
-
release: source.require('SENTRY_RELEASE'),
|
|
11
|
-
environment: source.require('SENTRY_ENVIRONMENT'),
|
|
12
|
-
tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),
|
|
13
|
-
integrations: [...getDefaultIntegrations({})]
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
// ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
|
|
17
|
-
// это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
|
|
18
|
-
return createSentryHandler(getCurrentScope);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=log-handler-sentry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-handler-sentry.js","names":["KnownToken","getCurrentScope","getDefaultIntegrations","init","createSentryHandler","provideLogHandlerSentry","resolve","source","Config","dsn","require","release","environment","tracesSampleRate","Number","get","integrations"],"sources":["../../../../../src/preset/bun/providers/log-handler-sentry.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { getCurrentScope, getDefaultIntegrations, init } from '@sentry/bun';\nimport { createSentryHandler } from '../../../log/handler/sentry';\n\nexport function provideLogHandlerSentry(resolve: Resolve) {\n const source = resolve(KnownToken.Config.source);\n\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,eAAe,EAAEC,sBAAsB,EAAEC,IAAI,QAAQ,aAAa;AAC3E,SAASC,mBAAmB,QAAQ,gCAA6B;AAEjE,OAAO,SAASC,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACD,MAAM,CAAC;EAEhDJ,IAAI,CAAC;IACHM,GAAG,EAAEF,MAAM,CAACG,OAAO,CAAC,YAAY,CAAC;IACjCC,OAAO,EAAEJ,MAAM,CAACG,OAAO,CAAC,gBAAgB,CAAC;IACzCE,WAAW,EAAEL,MAAM,CAACG,OAAO,CAAC,oBAAoB,CAAC;IACjDG,gBAAgB,EAAEC,MAAM,CAACP,MAAM,CAACQ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,YAAY,EAAE,CAAC,GAAGd,sBAAsB,CAAC,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;;EAEF;EACA;EACA,OAAOE,mBAAmB,CAACH,eAAe,CAAC;AAC7C"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { createLogger } from "./../../../log/index.js";
|
|
4
|
-
import { provideLogHandlerPino } from "../../node/providers/log-handler-pino.js";
|
|
5
|
-
import { provideLogHandlerSentry } from "./log-handler-sentry.js";
|
|
6
|
-
export function provideLogger(resolve) {
|
|
7
|
-
const logger = createLogger();
|
|
8
|
-
logger.subscribe(provideLogHandlerPino(resolve));
|
|
9
|
-
logger.subscribe(provideLogHandlerSentry(resolve));
|
|
10
|
-
return logger;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from '../../node/providers/log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":"AAAA;;AAEA,SAAiBA,YAAY,QAAQ,yBAAc;AACnD,SAASC,qBAAqB,QAAQ,0CAAuC;AAC7E,SAASC,uBAAuB,QAAQ,yBAAsB;AAE9D,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGL,YAAY,CAAC,CAAC;EAE7BK,MAAM,CAACC,SAAS,CAACL,qBAAqB,CAACG,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACC,SAAS,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { route, router } from '@krutoo/fetch-tools';
|
|
4
|
-
import PromClient from 'prom-client';
|
|
5
|
-
export function provideServeMetrics() {
|
|
6
|
-
// @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)
|
|
7
|
-
// PromClient.collectDefaultMetrics();
|
|
8
|
-
|
|
9
|
-
return router(route.get('/', async () => {
|
|
10
|
-
const metrics = await PromClient.register.metrics();
|
|
11
|
-
const headers = new Headers();
|
|
12
|
-
headers.set('Content-Type', PromClient.register.contentType);
|
|
13
|
-
return new Response(metrics, {
|
|
14
|
-
headers
|
|
15
|
-
});
|
|
16
|
-
}));
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=serve-metrics.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve-metrics.js","names":["route","router","PromClient","provideServeMetrics","get","metrics","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport PromClient from 'prom-client';\n\nexport function provideServeMetrics(): Handler {\n // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)\n // PromClient.collectDefaultMetrics();\n\n return router(\n route.get('/', async () => {\n const metrics = await PromClient.register.metrics();\n const headers = new Headers();\n\n headers.set('Content-Type', PromClient.register.contentType);\n\n return new Response(metrics, { headers });\n }),\n );\n}\n"],"mappings":"AAAA;;AAEA,SAASA,KAAK,EAAEC,MAAM,QAAQ,qBAAqB;AACnD,OAAOC,UAAU,MAAM,aAAa;AAEpC,OAAO,SAASC,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAOF,MAAM,CACXD,KAAK,CAACI,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMH,UAAU,CAACI,QAAQ,CAACD,OAAO,CAAC,CAAC;IACnD,MAAME,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEP,UAAU,CAACI,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACN,OAAO,EAAE;MAAEE;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { KnownToken } from "../../../tokens.js";
|
|
4
|
-
import { withIsolationScope } from '@sentry/bun';
|
|
5
|
-
import { getServeLogging } from "../../server/utils/get-serve-logging.js";
|
|
6
|
-
import { getServeErrorLogging } from "../../server/utils/get-serve-error-logging.js";
|
|
7
|
-
import { getServeMeasuring } from "../../node/utils/get-serve-measuring.js";
|
|
8
|
-
export function provideServeMiddleware(resolve) {
|
|
9
|
-
const config = resolve(KnownToken.Config.base);
|
|
10
|
-
const logger = resolve(KnownToken.logger);
|
|
11
|
-
return [
|
|
12
|
-
// ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам
|
|
13
|
-
(request, next) => withIsolationScope(async () => next(request)),
|
|
14
|
-
// ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
|
|
15
|
-
getServeErrorLogging(logger),
|
|
16
|
-
// @todo tracing
|
|
17
|
-
|
|
18
|
-
// метрики
|
|
19
|
-
getServeMeasuring(config),
|
|
20
|
-
// ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
|
|
21
|
-
getServeLogging(logger)];
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=serve-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve-middleware.js","names":["KnownToken","withIsolationScope","getServeLogging","getServeErrorLogging","getServeMeasuring","provideServeMiddleware","resolve","config","Config","base","logger","request","next"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { withIsolationScope } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../node/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => withIsolationScope(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,kBAAkB,QAAQ,aAAa;AAEhD,SAASC,eAAe,QAAQ,yCAAsC;AACtE,SAASC,oBAAoB,QAAQ,+CAA4C;AACjF,SAASC,iBAAiB,QAAQ,yCAAsC;AAExE,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACU,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAKX,kBAAkB,CAAC,YAAYW,IAAI,CAACD,OAAO,CAAC,CAAC;EAEhE;EACAR,oBAAoB,CAACO,MAAM,CAAC;EAE5B;;EAEA;EACAN,iBAAiB,CAACG,MAAM,CAAC;EAEzB;EACAL,eAAe,CAACQ,MAAM,CAAC,CACxB;AACH"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { getStatsHandler } from "../utils/get-stats-handler.js";
|
|
4
|
-
import { getHealthCheck } from "../../server/utils/get-health-check.js";
|
|
5
|
-
export function provideServiceRoutes() {
|
|
6
|
-
return [
|
|
7
|
-
// служебные маршруты (без промежуточных слоев)
|
|
8
|
-
['/healthcheck', getHealthCheck()], ['/stats', getStatsHandler()]];
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=service-routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-routes.js","names":["getStatsHandler","getHealthCheck","provideServiceRoutes"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { ServerHandler } from '../../server/types';\nimport { getStatsHandler } from '../utils/get-stats-handler';\nimport { getHealthCheck } from '../../server/utils/get-health-check';\n\nexport function provideServiceRoutes(): Array<[string, ServerHandler]> {\n return [\n // служебные маршруты (без промежуточных слоев)\n ['/healthcheck', getHealthCheck()],\n ['/stats', getStatsHandler()],\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,eAAe,QAAQ,+BAA4B;AAC5D,SAASC,cAAc,QAAQ,wCAAqC;AAEpE,OAAO,SAASC,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAED,cAAc,CAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAED,eAAe,CAAC,CAAC,CAAC,CAC9B;AACH"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ВАЖНО: временная экспериментальная утилита, скорее всего будет удалена в будущем.
|
|
3
|
-
* @inheritdoc
|
|
4
|
-
*/
|
|
5
|
-
export function getStatsHandler() {
|
|
6
|
-
/** @inheritdoc */
|
|
7
|
-
const getHeapStats = async () => {
|
|
8
|
-
// ВАЖНО: должны быть именно кавычки "'" по причине https://github.com/web-infra-dev/rspack/issues/5938#issuecomment-2000393152
|
|
9
|
-
const jsc = await import( /* webpackIgnore: true */
|
|
10
|
-
'bun:jsc');
|
|
11
|
-
return jsc.heapStats();
|
|
12
|
-
};
|
|
13
|
-
return async () => {
|
|
14
|
-
const stats = await getHeapStats();
|
|
15
|
-
return new Response(JSON.stringify(stats, null, 2), {
|
|
16
|
-
headers: {
|
|
17
|
-
'content-type': 'application/json'
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=get-stats-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-stats-handler.js","names":["getStatsHandler","getHeapStats","jsc","heapStats","stats","Response","JSON","stringify","headers"],"sources":["../../../../../src/preset/bun/utils/get-stats-handler.ts"],"sourcesContent":["import type { Handler } from '../../../http';\n\n/**\n * ВАЖНО: временная экспериментальная утилита, скорее всего будет удалена в будущем.\n * @inheritdoc\n */\nexport function getStatsHandler(): Handler {\n /** @inheritdoc */\n const getHeapStats = async () => {\n // ВАЖНО: должны быть именно кавычки \"'\" по причине https://github.com/web-infra-dev/rspack/issues/5938#issuecomment-2000393152\n const jsc = await import(\n /* webpackIgnore: true */\n 'bun:jsc'\n );\n\n return jsc.heapStats();\n };\n\n return async () => {\n const stats = await getHeapStats();\n\n return new Response(JSON.stringify(stats, null, 2), {\n headers: { 'content-type': 'application/json' },\n });\n };\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA,OAAO,SAASA,eAAeA,CAAA,EAAY;EACzC;EACA,MAAMC,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B;IACA,MAAMC,GAAG,GAAG,MAAM,MAAM,EACtB;IACA,SACF,CAAC;IAED,OAAOA,GAAG,CAACC,SAAS,CAAC,CAAC;EACxB,CAAC;EAED,OAAO,YAAY;IACjB,MAAMC,KAAK,GAAG,MAAMH,YAAY,CAAC,CAAC;IAElC,OAAO,IAAII,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACH,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;MAClDI,OAAO,EAAE;QAAE,cAAc,EAAE;MAAmB;IAChD,CAAC,CAAC;EACJ,CAAC;AACH"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { createPreset } from "./../../di/index.js";
|
|
2
|
-
import { KnownToken } from "../../tokens.js";
|
|
3
|
-
import { provideAbortController } from "../isomorphic/providers/abort-controller.js";
|
|
4
|
-
import { provideFetch } from "../isomorphic/providers/fetch.js";
|
|
5
|
-
import { provideReduxMiddlewareSaga } from "../isomorphic/providers/redux-middleware-saga.js";
|
|
6
|
-
import { providePageRender } from "../server/providers/page-render.js";
|
|
7
|
-
import { provideFetchLogHandler } from "../server/providers/fetch-log-handler.js";
|
|
8
|
-
import { provideFetchMiddleware } from "./providers/fetch-middleware.js";
|
|
9
|
-
import { provideHandlerMain } from "./providers/handler-main.js";
|
|
10
|
-
import { providePageHelmet } from "../server/providers/page-helmet.js";
|
|
11
|
-
import { provideSpecificParams } from "./providers/specific-params.js";
|
|
12
|
-
import { SpecificExtras } from "../server/utils/specific-extras.js";
|
|
13
|
-
import { provideElementToString } from "../server/providers/element-to-string.js";
|
|
14
|
-
import { provideFormatPageResponse } from "../server/providers/format-page-response.js";
|
|
15
|
-
import { provideAcceptType } from "./providers/accept-type.js";
|
|
16
|
-
import { provideResponseEvents } from "../server/providers/response-events.js";
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.
|
|
20
|
-
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
21
|
-
* @todo Возможно стоит переименовать в PresetPageHandler.
|
|
22
|
-
* @return Preset.
|
|
23
|
-
*/
|
|
24
|
-
export function PresetBunHandler(customize) {
|
|
25
|
-
const preset = createPreset();
|
|
26
|
-
|
|
27
|
-
// http fetch
|
|
28
|
-
preset.set(KnownToken.Http.fetch, provideFetch);
|
|
29
|
-
preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);
|
|
30
|
-
preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);
|
|
31
|
-
preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);
|
|
32
|
-
|
|
33
|
-
// handler
|
|
34
|
-
preset.set(KnownToken.Http.Handler.main, provideHandlerMain);
|
|
35
|
-
preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);
|
|
36
|
-
preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);
|
|
37
|
-
preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);
|
|
38
|
-
preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());
|
|
39
|
-
preset.set(KnownToken.Http.Handler.Page.assets, () => ({
|
|
40
|
-
js: '',
|
|
41
|
-
css: ''
|
|
42
|
-
}));
|
|
43
|
-
preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);
|
|
44
|
-
preset.set(KnownToken.Http.Handler.Page.render, providePageRender);
|
|
45
|
-
preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);
|
|
46
|
-
preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);
|
|
47
|
-
|
|
48
|
-
// redux saga
|
|
49
|
-
preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);
|
|
50
|
-
if (customize) {
|
|
51
|
-
customize({
|
|
52
|
-
override: preset.set.bind(preset)
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
return preset;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createPreset","KnownToken","provideAbortController","provideFetch","provideReduxMiddlewareSaga","providePageRender","provideFetchLogHandler","provideFetchMiddleware","provideHandlerMain","providePageHelmet","provideSpecificParams","SpecificExtras","provideElementToString","provideFormatPageResponse","provideAcceptType","provideResponseEvents","PresetBunHandler","customize","preset","set","Http","fetch","Fetch","abortController","middleware","Middleware","Log","handler","Handler","main","Request","acceptType","specificParams","Response","events","specificExtras","Page","assets","js","css","helmet","render","elementToString","formatResponse","Redux","saga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { KnownToken } from "../../../tokens.js";
|
|
2
|
-
import accepts from 'accepts';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Провайдер функции, которая определяет возможные типы ответа и их приоритет.
|
|
6
|
-
* @param resolve Resolve.
|
|
7
|
-
* @return Функция.
|
|
8
|
-
*/
|
|
9
|
-
export function provideAcceptType(resolve) {
|
|
10
|
-
const context = resolve(KnownToken.Http.Handler.context);
|
|
11
|
-
|
|
12
|
-
// @todo опасное место, будем решать как исправлять по итогам https://github.com/jshttp/accepts/issues/30
|
|
13
|
-
const accept = accepts({
|
|
14
|
-
headers: Object.fromEntries(context.request.headers.entries())
|
|
15
|
-
});
|
|
16
|
-
return accept.type.bind(accept);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=accept-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accept-type.js","names":["KnownToken","accepts","provideAcceptType","resolve","context","Http","Handler","accept","headers","Object","fromEntries","request","entries","type","bind"],"sources":["../../../../../src/preset/bun-handler/providers/accept-type.ts"],"sourcesContent":["import type { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport accepts from 'accepts';\n\n/**\n * Провайдер функции, которая определяет возможные типы ответа и их приоритет.\n * @param resolve Resolve.\n * @return Функция.\n */\nexport function provideAcceptType(resolve: Resolve) {\n const context = resolve(KnownToken.Http.Handler.context);\n\n // @todo опасное место, будем решать как исправлять по итогам https://github.com/jshttp/accepts/issues/30\n const accept = accepts({\n headers: Object.fromEntries(context.request.headers.entries()),\n } as any);\n\n return accept.type.bind(accept);\n}\n"],"mappings":"AACA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,OAAOC,OAAO,MAAM,SAAS;;AAE7B;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,OAAgB,EAAE;EAClD,MAAMC,OAAO,GAAGD,OAAO,CAACH,UAAU,CAACK,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;;EAExD;EACA,MAAMG,MAAM,GAAGN,OAAO,CAAC;IACrBO,OAAO,EAAEC,MAAM,CAACC,WAAW,CAACN,OAAO,CAACO,OAAO,CAACH,OAAO,CAACI,OAAO,CAAC,CAAC;EAC/D,CAAQ,CAAC;EAET,OAAOL,MAAM,CAACM,IAAI,CAACC,IAAI,CAACP,MAAM,CAAC;AACjC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { KnownToken } from "../../../tokens.js";
|
|
4
|
-
import { defaultHeaders } from "./../../../http/index.js";
|
|
5
|
-
import { getFetchErrorLogging } from "../../isomorphic/utils/get-fetch-error-logging.js";
|
|
6
|
-
import { getFetchExtraAborting } from "../../isomorphic/utils/get-fetch-extra-aborting.js";
|
|
7
|
-
import { getFetchLogging } from "../../isomorphic/utils/get-fetch-logging.js";
|
|
8
|
-
import { getForwardedHeaders } from "../../server/utils/get-forwarded-headers.js";
|
|
9
|
-
export function provideFetchMiddleware(resolve) {
|
|
10
|
-
const config = resolve(KnownToken.Config.base);
|
|
11
|
-
const context = resolve(KnownToken.Http.Handler.context);
|
|
12
|
-
const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);
|
|
13
|
-
const abortController = resolve(KnownToken.Http.Fetch.abortController);
|
|
14
|
-
return [
|
|
15
|
-
// ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
|
|
16
|
-
getFetchErrorLogging(logHandler),
|
|
17
|
-
// обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса
|
|
18
|
-
getFetchExtraAborting(abortController), defaultHeaders(getForwardedHeaders(config, context.request)),
|
|
19
|
-
// @todo tracing
|
|
20
|
-
|
|
21
|
-
// ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные
|
|
22
|
-
getFetchLogging(logHandler)];
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=fetch-middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-middleware.js","names":["KnownToken","defaultHeaders","getFetchErrorLogging","getFetchExtraAborting","getFetchLogging","getForwardedHeaders","provideFetchMiddleware","resolve","config","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","abortController","request"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAAqBC,cAAc,QAAQ,0BAAe;AAC1D,SAASC,oBAAoB,QAAQ,mDAAgD;AACrF,SAASC,qBAAqB,QAAQ,oDAAiD;AACvF,SAASC,eAAe,QAAQ,6CAA0C;AAC1E,SAASC,mBAAmB,QAAQ,6CAA0C;AAE9E,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACP,UAAU,CAACS,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGJ,OAAO,CAACP,UAAU,CAACY,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGP,OAAO,CAACP,UAAU,CAACY,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGZ,OAAO,CAACP,UAAU,CAACY,IAAI,CAACG,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACAjB,oBAAoB,CAACY,UAAU,CAAC;EAEhC;EACAX,qBAAqB,CAACgB,eAAe,CAAC,EAEtClB,cAAc,CAACI,mBAAmB,CAACG,MAAM,EAAEG,OAAO,CAACS,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACAhB,eAAe,CAACU,UAAU,CAAC,CAC5B;AACH"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
3
|
-
|
|
4
|
-
import { KnownToken } from "../../../tokens.js";
|
|
5
|
-
import { applyMiddleware } from "./../../../http/index.js";
|
|
6
|
-
import { HelmetContext } from "../../server/utils/regular-helmet.js";
|
|
7
|
-
import { formatHandlerError } from "../../server/utils/format-handler-error.js";
|
|
8
|
-
export function provideHandlerMain(resolve) {
|
|
9
|
-
const config = resolve(KnownToken.Config.base);
|
|
10
|
-
const logger = resolve(KnownToken.logger);
|
|
11
|
-
const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);
|
|
12
|
-
const render = resolve(KnownToken.Http.Handler.Page.render);
|
|
13
|
-
const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);
|
|
14
|
-
const abortController = resolve(KnownToken.Http.Fetch.abortController);
|
|
15
|
-
const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);
|
|
16
|
-
const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;
|
|
17
|
-
const handler = async () => {
|
|
18
|
-
try {
|
|
19
|
-
const assets = await getAssets();
|
|
20
|
-
const jsx = /*#__PURE__*/React.createElement(HelmetContext.Provider, {
|
|
21
|
-
value: {
|
|
22
|
-
title: config.appName,
|
|
23
|
-
assets
|
|
24
|
-
}
|
|
25
|
-
}, /*#__PURE__*/React.createElement(Helmet, null, await render()));
|
|
26
|
-
const {
|
|
27
|
-
body,
|
|
28
|
-
headers
|
|
29
|
-
} = await formatResponse(jsx, assets);
|
|
30
|
-
return new Response(body, {
|
|
31
|
-
headers
|
|
32
|
-
});
|
|
33
|
-
} catch (error) {
|
|
34
|
-
const {
|
|
35
|
-
response,
|
|
36
|
-
log
|
|
37
|
-
} = formatHandlerError(error);
|
|
38
|
-
if (log.level && logger[log.level]) {
|
|
39
|
-
logger[log.level](error);
|
|
40
|
-
}
|
|
41
|
-
if (response.status > 299 && response.status < 400 && response.redirectLocation) {
|
|
42
|
-
return new Response(null, {
|
|
43
|
-
status: response.status,
|
|
44
|
-
headers: {
|
|
45
|
-
Location: response.redirectLocation
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
} else {
|
|
49
|
-
return new Response(response.body, {
|
|
50
|
-
status: response.status
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
const enhancer = applyMiddleware(
|
|
56
|
-
// ВАЖНО: прерываем исходящие в рамках обработчика http-запросы
|
|
57
|
-
async (request, next) => {
|
|
58
|
-
try {
|
|
59
|
-
return await next(request);
|
|
60
|
-
} finally {
|
|
61
|
-
abortController.abort();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
return enhancer(handler);
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=handler-main.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler-main.js","names":["KnownToken","applyMiddleware","HelmetContext","formatHandlerError","provideHandlerMain","resolve","config","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","jsx","React","createElement","Provider","value","title","appName","body","headers","Response","error","response","log","level","status","redirectLocation","Location","enhancer","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n const handler = async (): Promise<Response> => {\n try {\n const assets = await getAssets();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n const { body, headers } = await formatResponse(jsx, assets);\n\n return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n try {\n return await next(request);\n } finally {\n abortController.abort();\n }\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
|
-
|
|
3
|
-
import { KnownToken } from "../../../tokens.js";
|
|
4
|
-
export function provideSpecificParams(resolve) {
|
|
5
|
-
const context = resolve(KnownToken.Http.Handler.context);
|
|
6
|
-
try {
|
|
7
|
-
const headerValue = context.request.headers.get('simaland-params');
|
|
8
|
-
return JSON.parse(headerValue ?? '{}');
|
|
9
|
-
} catch {
|
|
10
|
-
return {};
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=specific-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"specific-params.js","names":["KnownToken","provideSpecificParams","resolve","context","Http","Handler","headerValue","request","headers","get","JSON","parse"],"sources":["../../../../../src/preset/bun-handler/providers/specific-params.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\nexport function provideSpecificParams(resolve: Resolve) {\n const context = resolve(KnownToken.Http.Handler.context);\n\n try {\n const headerValue = context.request.headers.get('simaland-params');\n\n return JSON.parse(headerValue ?? '{}');\n } catch {\n return {};\n }\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,OAAO,SAASC,qBAAqBA,CAACC,OAAgB,EAAE;EACtD,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EAExD,IAAI;IACF,MAAMG,WAAW,GAAGH,OAAO,CAACI,OAAO,CAACC,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;IAElE,OAAOC,IAAI,CAACC,KAAK,CAACL,WAAW,IAAI,IAAI,CAAC;EACxC,CAAC,CAAC,MAAM;IACN,OAAO,CAAC,CAAC;EACX;AACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Преобразует строку вида:
|
|
3
|
-
* "/api/v2/something/123456/some-bff/123456"
|
|
4
|
-
* в строку вида:
|
|
5
|
-
* "/api/v2/something/{id}/some-bff/123456"
|
|
6
|
-
* и возвращает кортеж с этой строкой и вырезанным числом в случае если оно найдено.
|
|
7
|
-
* @param url Url.
|
|
8
|
-
* @return Кортеж со строкой и результатом поиска числа.
|
|
9
|
-
*/
|
|
10
|
-
export function hideFirstId(url) {
|
|
11
|
-
const found = /\d{2,}/.exec(url);
|
|
12
|
-
return found ? [url.replace(found[0], '{id}'), Number(found[0])] : [url, undefined];
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=hide-first-id.js.map
|