@sima-land/isomorph 11.0.0-alpha.34 → 11.0.0-alpha.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/config/index.d.ts +1 -1
  2. package/config/source.d.ts +1 -5
  3. package/config/source.js.map +1 -1
  4. package/config/types.d.ts +6 -0
  5. package/di/index.d.ts +1 -1
  6. package/http/index.d.ts +1 -1
  7. package/http/index.js.map +1 -1
  8. package/http-server/types.d.ts +0 -8
  9. package/http-server/utils.d.ts +2 -4
  10. package/http-server/utils.js +5 -15
  11. package/http-server/utils.js.map +1 -1
  12. package/package.json +8 -9
  13. package/preset/browser/index.js +5 -1
  14. package/preset/browser/index.js.map +1 -1
  15. package/preset/node/handler.d.ts +0 -4
  16. package/preset/node/handler.js +79 -36
  17. package/preset/node/handler.js.map +1 -1
  18. package/preset/node/index.js +55 -21
  19. package/preset/node/index.js.map +1 -1
  20. package/tokens.d.ts +10 -9
  21. package/tokens.js +11 -7
  22. package/tokens.js.map +1 -1
  23. package/utils/react/error-handlers/index.d.ts +2 -2
  24. package/utils/react/error-handlers/index.js +1 -1
  25. package/utils/react/error-handlers/index.js.map +1 -1
  26. package/utils/react/index.d.ts +2 -0
  27. package/utils/react/index.js +7 -0
  28. package/utils/react/index.js.map +1 -0
  29. package/utils/ssr/index.d.ts +1 -2
  30. package/http-server/middleware/metrics.d.ts +0 -23
  31. package/http-server/middleware/metrics.js +0 -60
  32. package/http-server/middleware/metrics.js.map +0 -1
  33. package/http-server/template/index.d.ts +0 -1
  34. package/http-server/template/index.js +0 -41
  35. package/http-server/template/index.js.map +0 -1
  36. package/metrics/constants.d.ts +0 -7
  37. package/metrics/constants.js +0 -11
  38. package/metrics/constants.js.map +0 -1
  39. package/metrics/node.d.ts +0 -19
  40. package/metrics/node.js +0 -56
  41. package/metrics/node.js.map +0 -1
package/config/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { ConfigSource, BaseConfig } from './types';
1
+ export type { ConfigSource, BaseConfig } from './types';
2
2
  export { createConfigSource } from './source';
3
3
  export { createBaseConfig } from './base';
@@ -1,11 +1,7 @@
1
- import type { ConfigSource } from './types';
2
- interface Dictionary {
3
- readonly [key: string]: string | undefined;
4
- }
1
+ import type { ConfigSource, Dictionary } from './types';
5
2
  /**
6
3
  * Возвращает новый источник конфигурации.
7
4
  * @param dictionary Опции.
8
5
  * @return Источник.
9
6
  */
10
7
  export declare function createConfigSource(dictionary: Dictionary): ConfigSource;
11
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/config/source.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AAQzC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,UAAsB;IACvD,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,gDAAgD;IAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAElC,6CAA6C;IAC7C,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAZD,gDAYC"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/config/source.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AAIzC;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,UAAsB;IACvD,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,gDAAgD;IAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAElC,6CAA6C;IAC7C,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;QAC3C,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,SAAG,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAZD,gDAYC"}
package/config/types.d.ts CHANGED
@@ -12,3 +12,9 @@ export interface BaseConfig {
12
12
  /** Версия приложения. */
13
13
  appVersion: string;
14
14
  }
15
+ /**
16
+ * Словарь.
17
+ */
18
+ export interface Dictionary {
19
+ readonly [key: string]: string | undefined;
20
+ }
package/di/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Token, Resolve, Provider, Container, Application, Preset } from './types';
1
+ export type { Token, Resolve, Provider, Container, Application, Preset } from './types';
2
2
  export { NothingBoundError, CircularDependencyError, AlreadyBoundError } from './errors';
3
3
  export { createToken } from './token';
4
4
  export { createContainer } from './container';
package/http/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { Handler, Enhancer, Middleware, LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, } from './types';
1
+ export type { Handler, Enhancer, Middleware, LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, CookieStore, } from './types';
2
2
  export { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';
3
3
  export { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';
4
4
  export { StatusError } from './errors';
package/http/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;AAUA,mDAAsE;AAA7D,6GAAA,cAAc,OAAA;AAAE,8GAAA,eAAe,OAAA;AACxC,6DAA6F;AAApF,iGAAA,GAAG,OAAA;AAAE,oGAAA,MAAM,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,4GAAA,cAAc,OAAA;AACpD,mCAAuC;AAA9B,qGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;AAWA,mDAAsE;AAA7D,6GAAA,cAAc,OAAA;AAAE,8GAAA,eAAe,OAAA;AACxC,6DAA6F;AAApF,iGAAA,GAAG,OAAA;AAAE,oGAAA,MAAM,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,4GAAA,cAAc,OAAA;AACpD,mCAAuC;AAA9B,qGAAA,WAAW,OAAA"}
@@ -10,14 +10,6 @@ export interface PageAssets {
10
10
  criticalJs?: string;
11
11
  criticalCss?: string;
12
12
  }
13
- export interface PageTemplateData {
14
- markup: string;
15
- assets: PageAssets;
16
- type: 'json' | 'html';
17
- }
18
- export interface PageTemplate {
19
- (data: PageTemplateData): string;
20
- }
21
13
  export interface ConventionalJson {
22
14
  markup: string;
23
15
  bundle_js: string;
@@ -1,5 +1,5 @@
1
1
  import type { Handler, Request, Response } from 'express';
2
- import type { PageAssets, PageTemplate, PageTemplateData } from './types';
2
+ import type { PageAssets } from './types';
3
3
  import type { BaseConfig } from '../config/types';
4
4
  /**
5
5
  * Объединяет промежуточные слои в один.
@@ -32,14 +32,12 @@ export declare class PageResponse {
32
32
  private html;
33
33
  private _meta;
34
34
  private _assets;
35
- private _template;
36
35
  static defineFormat(req: Request): PageResponse['type'];
37
- static defaultTemplate({ markup }: PageTemplateData): string;
38
36
  constructor();
39
37
  markup(html: string): this;
40
38
  assets(assets: PageAssets): this;
41
39
  format(type: PageResponse['type']): this;
42
- template(template: PageTemplate): this;
43
40
  meta(meta: any): this;
41
+ getMeta(): unknown;
44
42
  send(res: Response): void;
45
43
  }
@@ -71,14 +71,10 @@ class PageResponse {
71
71
  }
72
72
  return result;
73
73
  }
74
- static defaultTemplate({ markup }) {
75
- return markup;
76
- }
77
74
  constructor() {
78
75
  this.type = 'html';
79
76
  this.html = '';
80
77
  this._assets = { js: '', css: '' };
81
- this._template = PageResponse.defaultTemplate;
82
78
  }
83
79
  markup(html) {
84
80
  this.html = html;
@@ -92,24 +88,18 @@ class PageResponse {
92
88
  this.type = type;
93
89
  return this;
94
90
  }
95
- template(template) {
96
- this._template = template;
97
- return this;
98
- }
99
91
  meta(meta) {
100
92
  this._meta = meta;
101
93
  return this;
102
94
  }
95
+ getMeta() {
96
+ return this._meta;
97
+ }
103
98
  send(res) {
104
- const templateData = {
105
- type: this.type,
106
- markup: this.html,
107
- assets: this._assets,
108
- };
109
99
  switch (this.type) {
110
100
  case 'json': {
111
101
  const result = {
112
- markup: this._template(templateData),
102
+ markup: this.html,
113
103
  bundle_js: this._assets.js,
114
104
  bundle_css: this._assets.css,
115
105
  critical_js: this._assets.criticalJs,
@@ -131,7 +121,7 @@ class PageResponse {
131
121
  if (this._meta) {
132
122
  res.setHeader('simaland-meta', JSON.stringify(this._meta));
133
123
  }
134
- res.send(this._template(templateData));
124
+ res.send(this.markup);
135
125
  break;
136
126
  }
137
127
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sima-land/isomorph",
3
- "version": "11.0.0-alpha.34",
3
+ "version": "11.0.0-alpha.35",
4
4
  "description": "Tiny framework for fast start frontend microservices",
5
5
  "author": "www.sima-land.ru team",
6
6
  "license": "Apache-2.0",
@@ -23,19 +23,19 @@
23
23
  "@babel/preset-react": "^7.22.5",
24
24
  "@babel/preset-typescript": "^7.22.5",
25
25
  "@sima-land/linters": "^2.1.5",
26
- "@testing-library/react": "^12.1.3",
27
- "@types/ejs": "^3.1.2",
26
+ "@testing-library/react": "^14.0.0",
28
27
  "@types/express": "^4.17.17",
29
28
  "@types/jest": "^28.1.7",
30
29
  "@types/jsesc": "^3.0.1",
31
30
  "@types/lodash": "^4.14.194",
32
- "@types/react": "^17.0.40",
33
- "@types/react-dom": "^17.0.13",
31
+ "@types/react": "^18.2.14",
32
+ "@types/react-dom": "^18.2.6",
34
33
  "@types/webpack": "^5.28.1",
35
34
  "babel-jest": "^29.5.0",
36
35
  "husky": "^8.0.3",
37
36
  "jest": "^28.1.3",
38
37
  "jest-environment-jsdom": "^28.1.3",
38
+ "prettier": "^2.8.8",
39
39
  "typescript": "^4.9.4"
40
40
  },
41
41
  "dependencies": {
@@ -52,8 +52,7 @@
52
52
  "@opentelemetry/semantic-conventions": "^1.12.0",
53
53
  "@sentry/browser": "^7.51.2",
54
54
  "@sentry/node": "^7.51.2",
55
- "dotenv": "^16.0.3",
56
- "ejs": "^3.1.9",
55
+ "dotenv": "^16.3.1",
57
56
  "express": "^4.18.2",
58
57
  "jsesc": "^3.0.2",
59
58
  "middleware-axios": "^2.1.5",
@@ -66,8 +65,8 @@
66
65
  "@reduxjs/toolkit": "^1.9.5",
67
66
  "axios": "^1.4.0",
68
67
  "lodash": "^4.17.21",
69
- "react": "^17.0.2",
70
- "react-dom": "^17.0.2",
68
+ "react": "^17.0 || ^18.0",
69
+ "react-dom": "^17.0 || ^18.0",
71
70
  "react-redux": "^8.0.5",
72
71
  "redux-saga": "^1.2.3"
73
72
  }
@@ -36,7 +36,11 @@ function PresetBrowser(customize) {
36
36
  }
37
37
  exports.PresetBrowser = PresetBrowser;
38
38
  function provideConfigSource() {
39
- return (0, config_1.createConfigSource)(process.env);
39
+ // ВАЖНО: по умолчанию рассчитываем на process.env который предоставляется сборщиком (например webpack)
40
+ if (typeof process !== 'undefined' && process.env) {
41
+ return (0, config_1.createConfigSource)(process.env);
42
+ }
43
+ return (0, config_1.createConfigSource)({});
40
44
  }
41
45
  exports.provideConfigSource = provideConfigSource;
42
46
  function provideLogger(resolve) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/browser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/browser/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- /// <reference types="react" />
2
- import type { PageTemplate } from '../../http-server/types';
3
1
  import type { Handler } from 'express';
4
2
  import { Application, Preset, Resolve } from '../../di';
5
3
  import { HttpClientFactory } from '../../http-client/types';
@@ -12,8 +10,6 @@ import { PresetTuner } from '../parts/types';
12
10
  */
13
11
  export declare function PresetHandler(customize?: PresetTuner): Preset;
14
12
  export declare function provideHttpClientFactory(resolve: Resolve): HttpClientFactory;
15
- export declare function provideRender(resolve: Resolve): (element: JSX.Element) => string;
16
- export declare function provideTemplate(resolve: Resolve): PageTemplate;
17
13
  export declare function provideMain(resolve: Resolve): VoidFunction;
18
14
  export declare function provideSpecificParams(resolve: Resolve): Record<string, unknown>;
19
15
  /**
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HandlerProvider = exports.provideSpecificParams = exports.provideMain = exports.provideTemplate = exports.provideRender = exports.provideHttpClientFactory = exports.PresetHandler = void 0;
3
+ exports.HandlerProvider = exports.provideSpecificParams = exports.provideMain = exports.provideHttpClientFactory = exports.PresetHandler = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
5
  const di_1 = require("../../di");
5
6
  const tokens_1 = require("../../tokens");
6
7
  const server_1 = require("react-dom/server");
7
8
  const constants_1 = require("../../http-server/constants");
8
- const template_1 = require("../../http-server/template");
9
9
  const utils_1 = require("../../http-server/utils");
10
10
  const middleware_axios_1 = require("middleware-axios");
11
11
  const tracing_1 = require("../../http-client/middleware/tracing");
@@ -15,6 +15,7 @@ const cookie_1 = require("../../http-client/middleware/cookie");
15
15
  const errors_1 = require("../../http-server/errors");
16
16
  const providers_1 = require("../parts/providers");
17
17
  const utils_2 = require("../parts/utils");
18
+ const react_1 = require("react");
18
19
  /**
19
20
  * Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
20
21
  * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
@@ -33,9 +34,9 @@ function PresetHandler(customize) {
33
34
  preset.set(tokens_1.KnownToken.Http.Handler.main, provideMain);
34
35
  preset.set(tokens_1.KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);
35
36
  preset.set(tokens_1.KnownToken.Http.Handler.Response.builder, () => new utils_1.PageResponse());
36
- preset.set(tokens_1.KnownToken.Http.Handler.Response.Page.assets, () => ({ js: '', css: '' }));
37
- preset.set(tokens_1.KnownToken.Http.Handler.Response.Page.template, provideTemplate);
38
- preset.set(tokens_1.KnownToken.Http.Handler.Response.Page.render, provideRender);
37
+ preset.set(tokens_1.KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));
38
+ preset.set(tokens_1.KnownToken.Http.Handler.Page.helmet, providePageHelmet);
39
+ preset.set(tokens_1.KnownToken.Http.Handler.Page.render, providePageRender);
39
40
  if (customize) {
40
41
  customize({ override: preset.set.bind(preset) });
41
42
  }
@@ -73,43 +74,61 @@ function provideHttpClientFactory(resolve) {
73
74
  };
74
75
  }
75
76
  exports.provideHttpClientFactory = provideHttpClientFactory;
76
- function provideRender(resolve) {
77
- const { res } = resolve(tokens_1.KnownToken.Http.Handler.context);
78
- return function render(element) {
77
+ function provideMain(resolve) {
78
+ const config = resolve(tokens_1.KnownToken.Config.base);
79
+ const logger = resolve(tokens_1.KnownToken.logger);
80
+ const assetsInit = resolve(tokens_1.KnownToken.Http.Handler.Page.assets);
81
+ const render = resolve(tokens_1.KnownToken.Http.Handler.Page.render);
82
+ const builder = resolve(tokens_1.KnownToken.Http.Handler.Response.builder);
83
+ const Helmet = resolve(tokens_1.KnownToken.Http.Handler.Page.helmet);
84
+ const { req, res } = resolve(tokens_1.KnownToken.Http.Handler.context);
85
+ const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;
86
+ const elementToString = (element) => {
79
87
  res.emit(constants_1.RESPONSE_EVENT.renderStart);
80
88
  const result = (0, server_1.renderToString)(element);
81
89
  res.emit(constants_1.RESPONSE_EVENT.renderFinish);
82
90
  return result;
83
91
  };
84
- }
85
- exports.provideRender = provideRender;
86
- function provideTemplate(resolve) {
87
- const config = resolve(tokens_1.KnownToken.Config.base);
88
- return function template(data) {
89
- return data.type === 'html'
90
- ? (0, template_1.pageTemplate)({ ...data, title: `[dev] ${config.appName}` })
91
- : data.markup;
92
- };
93
- }
94
- exports.provideTemplate = provideTemplate;
95
- function provideMain(resolve) {
96
- const logger = resolve(tokens_1.KnownToken.logger);
97
- const context = resolve(tokens_1.KnownToken.Http.Handler.context);
98
- const assets = resolve(tokens_1.KnownToken.Http.Handler.Response.Page.assets);
99
- const prepare = resolve(tokens_1.KnownToken.Http.Handler.Response.Page.prepare);
100
- const render = resolve(tokens_1.KnownToken.Http.Handler.Response.Page.render);
101
- const template = resolve(tokens_1.KnownToken.Http.Handler.Response.Page.template);
102
- const builder = resolve(tokens_1.KnownToken.Http.Handler.Response.builder);
103
- const getAssets = typeof assets === 'function' ? assets : () => assets;
104
92
  return async function main() {
105
93
  try {
106
- // @todo это билдер ответа но в ответе может не быть markup, assets и тд, подумать и переделать
107
- builder
108
- .markup(await render(await prepare()))
109
- .assets(await getAssets())
110
- .format(utils_1.PageResponse.defineFormat(context.req))
111
- .template(template)
112
- .send(context.res);
94
+ const assets = await getAssets();
95
+ const meta = builder.getMeta();
96
+ const jsx = ((0, jsx_runtime_1.jsx)(HelmetContext.Provider, { value: { title: config.appName, assets }, children: (0, jsx_runtime_1.jsx)(Helmet, { children: await render() }) }));
97
+ switch (utils_1.PageResponse.defineFormat(req)) {
98
+ case 'html': {
99
+ res.setHeader('simaland-bundle-js', assets.js);
100
+ res.setHeader('simaland-bundle-css', assets.css);
101
+ if (assets.criticalJs) {
102
+ res.setHeader('simaland-critical-js', assets.criticalJs);
103
+ }
104
+ if (assets.criticalCss) {
105
+ res.setHeader('simaland-critical-css', assets.criticalCss);
106
+ }
107
+ if (meta) {
108
+ res.setHeader('simaland-meta', JSON.stringify(meta));
109
+ }
110
+ // ВАЖНО: DOCTYPE обязательно нужен так как влияет на то как браузер будет парсить html/css
111
+ // ВАЖНО: DOCTYPE нужен только когда отдаем полноценную страницу
112
+ if (config.env === 'development') {
113
+ res.send(`<!DOCTYPE html>${elementToString(jsx)}`);
114
+ }
115
+ else {
116
+ res.send(elementToString(jsx));
117
+ }
118
+ break;
119
+ }
120
+ case 'json': {
121
+ res.json(JSON.stringify({
122
+ markup: elementToString(jsx),
123
+ bundle_js: assets.js,
124
+ bundle_css: assets.css,
125
+ critical_js: assets.criticalJs,
126
+ critical_css: assets.criticalCss,
127
+ meta,
128
+ }));
129
+ break;
130
+ }
131
+ }
113
132
  }
114
133
  catch (error) {
115
134
  let message;
@@ -123,12 +142,22 @@ function provideMain(resolve) {
123
142
  else {
124
143
  message = String(error);
125
144
  }
126
- context.res.status(statusCode).send(message);
145
+ res.status(statusCode).send(message);
127
146
  logger.error(error);
128
147
  }
129
148
  };
130
149
  }
131
150
  exports.provideMain = provideMain;
151
+ function providePageRender() {
152
+ return () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("h1", { children: "Hello, world!" }), (0, jsx_runtime_1.jsx)("p", { children: "This is a stub page. Define the render component in your handler" })] }));
153
+ }
154
+ function providePageHelmet(resolve) {
155
+ const config = resolve(tokens_1.KnownToken.Config.base);
156
+ const { req } = resolve(tokens_1.KnownToken.Http.Handler.context);
157
+ return config.env === 'development' && utils_1.PageResponse.defineFormat(req) === 'html'
158
+ ? RegularHelmet
159
+ : react_1.Fragment;
160
+ }
132
161
  function provideSpecificParams(resolve) {
133
162
  const context = resolve(tokens_1.KnownToken.Http.Handler.context);
134
163
  try {
@@ -162,4 +191,18 @@ function HandlerProvider(getApp) {
162
191
  };
163
192
  }
164
193
  exports.HandlerProvider = HandlerProvider;
194
+ const HelmetContext = (0, react_1.createContext)({});
195
+ const resetCSS = `
196
+ * {
197
+ box-sizing: border-box;
198
+ }
199
+ body {
200
+ font-family: -apple-system,BlinkMacSystemFont,'Source Sans Pro',"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,Arial,sans-serif;
201
+ margin: 0;
202
+ }
203
+ `;
204
+ function RegularHelmet({ children }) {
205
+ const { title, assets } = (0, react_1.useContext)(HelmetContext);
206
+ return ((0, jsx_runtime_1.jsxs)("html", { children: [(0, jsx_runtime_1.jsxs)("head", { children: [(0, jsx_runtime_1.jsx)("meta", { charSet: 'UTF-8' }), (0, jsx_runtime_1.jsx)("meta", { httpEquiv: 'X-UA-Compatible', content: 'IE=edge' }), (0, jsx_runtime_1.jsx)("meta", { name: 'viewport', content: 'width=device-width, initial-scale=1' }), (0, jsx_runtime_1.jsx)("title", { children: title ?? 'Document' }), (0, jsx_runtime_1.jsx)("link", { href: 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700;1,900&display=swap', rel: 'stylesheet' }), (0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: resetCSS } }), assets?.criticalCss && (0, jsx_runtime_1.jsx)("link", { rel: 'stylesheet', href: assets.criticalCss }), assets?.css && (0, jsx_runtime_1.jsx)("link", { rel: 'stylesheet', href: assets.css }), assets?.criticalJs && (0, jsx_runtime_1.jsx)("script", { src: assets.criticalJs })] }), (0, jsx_runtime_1.jsxs)("body", { children: [children, assets?.js && (0, jsx_runtime_1.jsx)("script", { src: assets.js })] })] }));
207
+ }
165
208
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/preset/node/handler.ts"],"names":[],"mappings":";;;AAGA,iCAAmF;AACnF,yCAA0C;AAC1C,6CAAkD;AAClD,2DAA6D;AAC7D,yDAA0D;AAC1D,mDAA0E;AAE1E,uDAA0C;AAC1C,kEAAyE;AACzE,0DAAiE;AACjE,kEAA6E;AAC7E,gEAA8E;AAC9E,qDAAoD;AACpD,kDAAwF;AACxF,0CAA4C;AAG5C;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,SAAuB;IACnD,yFAAyF;IACzF,MAAM,MAAM,GAAG,IAAA,iBAAY,GAAE,CAAC;IAE9B,OAAO;IACP,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,cAAc,EAAE,iCAAqB,CAAC,CAAC;IAE7D,cAAc;IACd,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,uCAA2B,CAAC,CAAC;IAEvF,eAAe;IACf,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,oBAAY,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC5E,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAExE,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAxBD,sCAwBC;AAED,SAAgB,wBAAwB,CAAC,OAAgB;IACvD,oDAAoD;IACpD,6DAA6D;IAE7D,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE1E,qFAAqF;IACrF,4CAA4C;IAC5C,mCAAmC;IACnC,wBAAwB;IACxB,MAAM;IAEN,OAAO,SAAS,gBAAgB,CAAC,MAAM,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAA,yBAAM,EAAC;YACpB,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,IAAA,yBAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;gBAC5C,GAAG,MAAM,CAAC,OAAO;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,kBAAU,CAAC,eAAe,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,GAAG,CAAC,IAAA,2BAAiB,EAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,CAAC,IAAA,mBAAa,EAAC,UAAU,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,CACR,IAAA,+BAAqB,EAAC,OAAO,CAAC,GAAG,EAAE;YACjC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC;SAC5D,CAAC,CACH,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,IAAA,gCAAuB,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AApCD,4DAoCC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzD,OAAO,SAAS,MAAM,CAAC,OAAoB;QACzC,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;QAEvC,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAZD,sCAYC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,OAAO,SAAS,QAAQ,CAAC,IAAI;QAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM;YACzB,CAAC,CAAC,IAAA,uBAAY,EAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElE,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IAEvE,OAAO,KAAK,UAAU,IAAI;QACxB,IAAI;YACF,+FAA+F;YAC/F,OAAO;iBACJ,MAAM,CAAC,MAAM,MAAM,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;iBACrC,MAAM,CAAC,MAAM,SAAS,EAAE,CAAC;iBACzB,MAAM,CAAC,oBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBAC9C,QAAQ,CAAC,QAAQ,CAAC;iBAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,OAAO,CAAC;YACZ,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,4EAA4E;YAElG,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC1B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAExB,IAAI,KAAK,YAAY,iBAAQ,EAAE;oBAC7B,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;iBAC/B;aACF;iBAAM;gBACL,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;aACzB;YAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC,CAAC;AACJ,CAAC;AAtCD,kCAsCC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzD,IAAI;QACF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE1D;;;WAGG;QACH,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9F,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD;IAAC,MAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAhBD,sDAgBC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,MAAyB;IACvD,OAAO,SAAS,QAAQ,CAAC,OAAgB;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAW,CAAC,CAAC;QAEpC,OAAO,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;YACpC,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;YAErB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,GAAG,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAZD,0CAYC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/preset/node/handler.tsx"],"names":[],"mappings":"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"}
@@ -32,16 +32,19 @@ const config_1 = require("../../config");
32
32
  const log_1 = require("../../log");
33
33
  const pino_1 = require("../../log/handler/pino");
34
34
  const sentry_1 = require("../../log/handler/sentry");
35
- const metrics_1 = require("../../http-server/middleware/metrics");
36
35
  const utils_1 = require("../parts/utils");
37
36
  const tokens_1 = require("../../tokens");
38
37
  const providers_1 = require("../parts/providers");
39
38
  const di_1 = require("../../di");
40
39
  const tracing_1 = require("../../http-server/middleware/tracing");
41
- // nodejs specific packages
40
+ const health_check_1 = require("../../http-server/handler/health-check");
41
+ const utils_2 = require("../../http-server/utils");
42
+ const number_1 = require("../../utils/number");
43
+ const constants_1 = require("../../http-server/constants");
44
+ // Node.js specific packages
42
45
  const node_os_1 = __importDefault(require("node:os"));
43
46
  const node_path_1 = __importDefault(require("node:path"));
44
- // nodejs libraries (not isomorphic)
47
+ // Node.js libraries (not isomorphic)
45
48
  const dotenv_1 = require("dotenv");
46
49
  const middleware_axios_1 = require("middleware-axios");
47
50
  const node_1 = require("@sentry/node");
@@ -55,10 +58,6 @@ const propagator_jaeger_1 = require("@opentelemetry/propagator-jaeger");
55
58
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
56
59
  const resources_1 = require("@opentelemetry/resources");
57
60
  const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
58
- const health_check_1 = require("../../http-server/handler/health-check");
59
- const utils_2 = require("../../http-server/utils");
60
- const node_2 = require("../../metrics/node");
61
- const number_1 = require("../../utils/number");
62
61
  /**
63
62
  * Возвращает preset с зависимостями по умолчанию для frontend-микросервисов на Node.js.
64
63
  * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
@@ -83,7 +82,7 @@ function PresetNode(customize) {
83
82
  preset.set(tokens_1.KnownToken.Http.Client.factory, () => middleware_axios_1.create);
84
83
  // http server
85
84
  preset.set(tokens_1.KnownToken.Http.Server.factory, () => express_1.default);
86
- preset.set(tokens_1.KnownToken.Http.Server.Handler.healthCheck, () => (0, health_check_1.healthCheck)());
85
+ preset.set(tokens_1.KnownToken.Http.Server.Handlers.healthCheck, () => (0, health_check_1.healthCheck)());
87
86
  preset.set(tokens_1.KnownToken.Http.Server.Middleware.request, () => node_1.Handlers.requestHandler());
88
87
  preset.set(tokens_1.KnownToken.Http.Server.Middleware.log, provideHttpServerLogMiddleware);
89
88
  preset.set(tokens_1.KnownToken.Http.Server.Middleware.metrics, provideHttpServerMetricsMiddleware);
@@ -153,10 +152,8 @@ function provideTracer(resolve) {
153
152
  exports.provideTracer = provideTracer;
154
153
  function provideSpanExporter(resolve) {
155
154
  const source = resolve(tokens_1.KnownToken.Config.source);
156
- const host = source.require('JAEGER_AGENT_HOST');
157
- const port = source.require('JAEGER_AGENT_PORT');
158
155
  return new exporter_trace_otlp_http_1.OTLPTraceExporter({
159
- url: port ? `${host}:${port}` : host,
156
+ url: source.require('JAEGER_AGENT_URL'),
160
157
  });
161
158
  }
162
159
  exports.provideSpanExporter = provideSpanExporter;
@@ -212,16 +209,53 @@ function provideHttpServerLogMiddleware(resolve) {
212
209
  exports.provideHttpServerLogMiddleware = provideHttpServerLogMiddleware;
213
210
  function provideHttpServerMetricsMiddleware(resolve) {
214
211
  const config = resolve(tokens_1.KnownToken.Config.base);
215
- const metrics = (0, node_2.createDefaultMetrics)();
216
- return (0, utils_2.composeMiddleware)([
217
- (0, metrics_1.responseMetricsMiddleware)(config, {
218
- counter: metrics.requestCount,
219
- histogram: metrics.responseDuration,
220
- }),
221
- (0, metrics_1.renderMetricsMiddleware)(config, {
222
- histogram: metrics.renderDuration,
223
- }),
224
- ]);
212
+ const ConventionalLabels = {
213
+ HTTP_RESPONSE: ['version', 'route', 'code', 'method'],
214
+ SSR: ['version', 'route', 'method'],
215
+ };
216
+ const requestCount = new PromClient.Counter({
217
+ name: 'http_request_count',
218
+ help: 'Incoming HTTP request count',
219
+ labelNames: ConventionalLabels.HTTP_RESPONSE,
220
+ });
221
+ const responseDuration = new PromClient.Histogram({
222
+ name: 'http_response_duration_ms',
223
+ help: 'Duration of incoming HTTP requests in ms',
224
+ labelNames: ConventionalLabels.HTTP_RESPONSE,
225
+ buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],
226
+ });
227
+ const renderDuration = new PromClient.Histogram({
228
+ name: 'render_duration_ms',
229
+ help: 'Duration of SSR ms',
230
+ labelNames: ConventionalLabels.SSR,
231
+ buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],
232
+ });
233
+ const getLabels = (req, res) => ({
234
+ version: config.appVersion,
235
+ route: req.baseUrl + req.path,
236
+ code: res.statusCode,
237
+ method: req.method,
238
+ });
239
+ return (req, res, next) => {
240
+ const responseStart = process.hrtime.bigint();
241
+ requestCount.inc(getLabels(req, res), 1);
242
+ res.once(constants_1.RESPONSE_EVENT.renderStart, () => {
243
+ const renderStart = process.hrtime.bigint();
244
+ res.once(constants_1.RESPONSE_EVENT.renderFinish, () => {
245
+ const renderFinish = process.hrtime.bigint();
246
+ renderDuration.observe({
247
+ version: config.appVersion,
248
+ method: req.method,
249
+ route: req.baseUrl + req.path,
250
+ }, (0, number_1.toMilliseconds)(renderStart - renderFinish));
251
+ });
252
+ });
253
+ res.once('finish', () => {
254
+ const responseFinish = process.hrtime.bigint();
255
+ responseDuration.observe(getLabels(req, res), (0, number_1.toMilliseconds)(responseFinish - responseStart));
256
+ });
257
+ next();
258
+ };
225
259
  }
226
260
  exports.provideHttpServerMetricsMiddleware = provideHttpServerMetricsMiddleware;
227
261
  function provideHttpServerTracingMiddleware(resolve) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAA8D;AAC9D,yCAAgE;AAChE,mCAAyC;AACzC,iDAA2D;AAC3D,qDAA+D;AAC/D,kEAG8C;AAC9C,0CAAiD;AACjD,yCAA0C;AAC1C,kDAAuD;AACvD,iCAAyD;AAEzD,kEAAyE;AAEzE,2BAA2B;AAC3B,sDAAyB;AACzB,0DAA6B;AAE7B,oCAAoC;AACpC,mCAA+C;AAC/C,uDAA0C;AAC1C,uCAA6D;AAC7D,wDAA0C;AAC1C,sDAAwD;AACxD,gDAAwB;AACxB,8DAAqC;AAIrC,kEAIuC;AACvC,sFAA4E;AAC5E,wEAAoE;AACpE,kEAAmE;AACnE,wDAAoD;AACpD,8EAAiF;AACjF,yEAAqE;AACrE,mDAA0E;AAC1E,6CAA0D;AAC1D,+CAAoD;AAEpD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,SAAuB;IAChD,yFAAyF;IACzF,MAAM,MAAM,GAAG,IAAA,iBAAY,GAAE,CAAC;IAE9B,SAAS;IACT,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,6BAAiB,CAAC,CAAC;IAEtD,MAAM;IACN,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE7C,UAAU;IACV,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IACjE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,OAAO,CAAC,cAAc,EAAE,qBAAqB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,6BAA6B,CAAC,CAAC;IAErF,UAAU;IACV,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAE9D,cAAc;IACd,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAM,CAAC,CAAC;IAEzD,cAAc;IACd,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAO,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAW,GAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IAC1F,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;IAC1F,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,eAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;IAEnF,WAAW;IACX,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAErE,aAAa;IACb,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,SAAS,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IAErE,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAClD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA3CD,gCA2CC;AAED,SAAgB,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAErC,mEAAmE;IACnE,IAAI,OAAO,EAAE;QACX,IAAA,eAAW,EAAC,EAAE,IAAI,EAAE,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACzE;IAED,OAAO,IAAA,2BAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AATD,kDASC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,MAAM,GAAG,IAAA,kBAAY,GAAE,CAAC;IAE9B,qFAAqF;IACrF,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC;AARD,sCAQC;AAED,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,oEAAoE;IACpE,IAAA,WAAI,EAAC;QACH,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAClD,CAAC,CAAC;IAEH,kFAAkF;IAClF,6EAA6E;IAC7E,OAAO,IAAA,4BAAmB,EAAC,oBAAa,CAAC,CAAC;AAC5C,CAAC;AAbD,oDAaC;AAED,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,UAAU,GAAG,IAAA,cAAI,EACrB,MAAM,CAAC,GAAG,KAAK,YAAY;QACzB,CAAC,CAAC;YACE,UAAU,EAAE;gBACV,0DAA0D;gBAC1D,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aACnC;SACF;QACH,CAAC,CAAC,IAAA,qBAAU,EAAC;YACT,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,yBAAyB;SACzC,CAAC,CACP,CAAC;IAEF,OAAO,IAAA,wBAAiB,EAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAlBD,gDAkBC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE5D,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,mBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjD,OAAO,IAAI,4CAAiB,CAAC;QAC3B,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;KACrC,CAAC,CAAC;AACL,CAAC;AATD,kDASC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,IAAI,mCAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEtD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,mCAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,oCAAgB,EAAE,EAAE,CAAC,CAAC;IAE1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAVD,sDAUC;AAED,SAAgB,6BAA6B,CAAC,OAAgB;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,OAAO,IAAI,oBAAQ,CAAC;QAClB,CAAC,iDAA0B,CAAC,SAAS,CAAC,EAAE,iBAAE,CAAC,QAAQ,EAAE;QACrD,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;AATD,sEASC;AAED,SAAgB,8BAA8B,CAAC,OAAgB;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAA0E;YACtF,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,KAAK,EAAE,GAAG,CAAC,WAAW;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,SAAS,EAAE,QAAQ;SACpB,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEtB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,MAAM,SAAS,GAA8C;gBAC3D,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,KAAK,EAAE,GAAG,CAAC,WAAW;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,UAAU;gBACtB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC;aACxC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AApCD,wEAoCC;AAED,SAAgB,kCAAkC,CAAC,OAAgB;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,IAAA,2BAAoB,GAAE,CAAC;IAEvC,OAAO,IAAA,yBAAiB,EAAC;QACvB,IAAA,mCAAyB,EAAC,MAAM,EAAE;YAChC,OAAO,EAAE,OAAO,CAAC,YAAY;YAC7B,SAAS,EAAE,OAAO,CAAC,gBAAgB;SACpC,CAAC;QACF,IAAA,iCAAuB,EAAC,MAAM,EAAE;YAC9B,SAAS,EAAE,OAAO,CAAC,cAAc;SAClC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAbD,gFAaC;AAED,SAAgB,kCAAkC,CAAC,OAAgB;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO,IAAA,2BAAiB,EAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAJD,gFAIC;AAED,SAAgB,uBAAuB,CAAC,OAAgB;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,OAAO,eAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAJD,0DAIC;AAED,SAAgB,wBAAwB,CAAC,OAAgB;IACvD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO,IAAI,uBAAe,CACxB;QACE,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,qBAAqB;KAC9B,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAZD,4DAYC;AAED,SAAgB,qBAAqB;IACnC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IAEnC,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,GAAG;QACnC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEpD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAbD,sDAaC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/node/index.ts"],"names":[],"mappings":"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"}
package/tokens.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /// <reference types="qs" />
2
- /// <reference types="react" />
3
2
  import type * as express from 'express';
4
- import type { PageAssets, PageTemplate, HandlerContext } from './http-server/types';
3
+ import type { PageAssets, HandlerContext } from './http-server/types';
5
4
  import type { SagaExtendedMiddleware } from './utils/redux-saga';
6
5
  import type { Logger } from './log/types';
7
6
  import type { HttpClientFactory } from './http-client/types';
@@ -14,6 +13,7 @@ import type { StrictMap, KnownHttpApiKey } from './preset/parts/types';
14
13
  import type { BridgeClientSide, BridgeServerSide } from './utils/ssr';
15
14
  import type { PageResponse } from './http-server/utils';
16
15
  import type { LogMiddlewareHandlerInit } from './http-client/middleware/log';
16
+ import type { ElementType, ReactNode } from 'react';
17
17
  export declare const KnownToken: {
18
18
  readonly Config: {
19
19
  readonly source: import("./di").Token<import("@humanwhocodes/env").Env>;
@@ -45,7 +45,7 @@ export declare const KnownToken: {
45
45
  };
46
46
  readonly Server: {
47
47
  readonly factory: import("./di").Token<() => express.Application>;
48
- readonly Handler: {
48
+ readonly Handlers: {
49
49
  readonly healthCheck: import("./di").Token<express.Handler>;
50
50
  };
51
51
  readonly Middleware: {
@@ -64,12 +64,13 @@ export declare const KnownToken: {
64
64
  };
65
65
  readonly Response: {
66
66
  readonly builder: import("./di").Token<PageResponse>;
67
- readonly Page: {
68
- readonly assets: import("./di").Token<PageAssets | (() => PageAssets | Promise<PageAssets>)>;
69
- readonly template: import("./di").Token<PageTemplate>;
70
- readonly prepare: import("./di").Token<() => JSX.Element | Promise<JSX.Element>>;
71
- readonly render: import("./di").Token<(element: JSX.Element) => string | Promise<string>>;
72
- };
67
+ };
68
+ readonly Page: {
69
+ readonly assets: import("./di").Token<PageAssets | (() => PageAssets | Promise<PageAssets>)>;
70
+ readonly helmet: import("./di").Token<ElementType<{
71
+ children: ReactNode;
72
+ }>>;
73
+ readonly render: import("./di").Token<() => JSX.Element | Promise<JSX.Element>>;
73
74
  };
74
75
  };
75
76
  };
package/tokens.js CHANGED
@@ -13,6 +13,7 @@ exports.KnownToken = {
13
13
  // log
14
14
  logger: (0, di_1.createToken)('logger'),
15
15
  // saga runner
16
+ // @todo переименовать в Redux.Middleware.saga?
16
17
  sagaMiddleware: (0, di_1.createToken)('saga-middleware'),
17
18
  // tracing
18
19
  Tracing: {
@@ -31,6 +32,7 @@ exports.KnownToken = {
31
32
  Api: {
32
33
  knownHosts: (0, di_1.createToken)('http/api/known-hosts'),
33
34
  },
35
+ // @todo переименовать в Axios?
34
36
  Client: {
35
37
  factory: (0, di_1.createToken)('client/factory'),
36
38
  Middleware: {
@@ -39,9 +41,10 @@ exports.KnownToken = {
39
41
  },
40
42
  },
41
43
  },
44
+ // @todo переименовать в Express?
42
45
  Server: {
43
46
  factory: (0, di_1.createToken)('server/factory'),
44
- Handler: {
47
+ Handlers: {
45
48
  healthCheck: (0, di_1.createToken)('handler/health-check'),
46
49
  },
47
50
  Middleware: {
@@ -52,6 +55,7 @@ exports.KnownToken = {
52
55
  error: (0, di_1.createToken)('middleware/error'),
53
56
  },
54
57
  },
58
+ // @todo переименовать в ExpressHandler?
55
59
  Handler: {
56
60
  main: (0, di_1.createToken)('handler/main'),
57
61
  context: (0, di_1.createToken)('handler/context'),
@@ -59,13 +63,13 @@ exports.KnownToken = {
59
63
  specificParams: (0, di_1.createToken)('request/specific-params'),
60
64
  },
61
65
  Response: {
66
+ // @todo заменить на specificExtra с единственным методом setMeta?
62
67
  builder: (0, di_1.createToken)('response/builder'),
63
- Page: {
64
- assets: (0, di_1.createToken)('page/assets'),
65
- template: (0, di_1.createToken)('page/template'),
66
- prepare: (0, di_1.createToken)('page/prepare'),
67
- render: (0, di_1.createToken)('page/render'),
68
- },
68
+ },
69
+ Page: {
70
+ assets: (0, di_1.createToken)('page/assets'),
71
+ helmet: (0, di_1.createToken)('page/helmet'),
72
+ render: (0, di_1.createToken)('page/render'),
69
73
  },
70
74
  },
71
75
  },
package/tokens.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AAgBtB,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,MAAM;IACN,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;QAE3E,mDAAmD;QACnD,sBAAsB,EAAE,IAAA,gBAAW,EAAW,kBAAkB,CAAC;KAClE;IAED,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,gBAAW,EAAsB,kBAAkB,CAAC;KAC9D;IAED,OAAO;IACP,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,UAAU,EAAE,IAAA,gBAAW,EAA6B,sBAAsB,CAAC;SAC5E;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,gBAAgB,CAAC;YACzD,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO,EAAE,IAAA,gBAAW,EAA2B,aAAa,CAAC;iBAC9D;aACF;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAA4B,gBAAgB,CAAC;YACjE,OAAO,EAAE;gBACP,WAAW,EAAE,IAAA,gBAAW,EAAkB,sBAAsB,CAAC;aAClE;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,IAAA,gBAAW,EAAkB,oBAAoB,CAAC;gBAC3D,GAAG,EAAE,IAAA,gBAAW,EAAkB,gBAAgB,CAAC;gBACnD,OAAO,EAAE,IAAA,gBAAW,EAAkB,oBAAoB,CAAC;gBAC3D,OAAO,EAAE,IAAA,gBAAW,EAAkB,oBAAoB,CAAC;gBAC3D,KAAK,EAAE,IAAA,gBAAW,EAA8B,kBAAkB,CAAC;aACpE;SACF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,IAAA,gBAAW,EAAa,cAAc,CAAC;YAC7C,OAAO,EAAE,IAAA,gBAAW,EAAiB,iBAAiB,CAAC;YACvD,OAAO,EAAE;gBACP,cAAc,EAAE,IAAA,gBAAW,EAA0B,yBAAyB,CAAC;aAChF;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAA,gBAAW,EAAe,kBAAkB,CAAC;gBACtD,IAAI,EAAE;oBACJ,MAAM,EAAE,IAAA,gBAAW,EAAwD,aAAa,CAAC;oBACzF,QAAQ,EAAE,IAAA,gBAAW,EAAe,eAAe,CAAC;oBACpD,OAAO,EAAE,IAAA,gBAAW,EAA2C,cAAc,CAAC;oBAC9E,MAAM,EAAE,IAAA,gBAAW,EAAqD,aAAa,CAAC;iBACvF;aACF;SACF;KACF;IAED,MAAM;IACN,SAAS,EAAE;QACT,UAAU,EAAE,IAAA,gBAAW,EAA4B,wBAAwB,CAAC;QAC5E,UAAU,EAAE,IAAA,gBAAW,EAAmB,wBAAwB,CAAC;KACpE;CACO,CAAC"}
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,MAAM;IACN,MAAM,EAAE,IAAA,gBAAW,EAAS,QAAQ,CAAC;IAErC,cAAc;IACd,+CAA+C;IAC/C,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;QAE3E,mDAAmD;QACnD,sBAAsB,EAAE,IAAA,gBAAW,EAAW,kBAAkB,CAAC;KAClE;IAED,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,gBAAW,EAAsB,kBAAkB,CAAC;KAC9D;IAED,OAAO;IACP,IAAI,EAAE;QACJ,GAAG,EAAE;YACH,UAAU,EAAE,IAAA,gBAAW,EAA6B,sBAAsB,CAAC;SAC5E;QAED,+BAA+B;QAC/B,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,gBAAgB,CAAC;YACzD,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,OAAO,EAAE,IAAA,gBAAW,EAA2B,aAAa,CAAC;iBAC9D;aACF;SACF;QAED,iCAAiC;QACjC,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAA4B,gBAAgB,CAAC;YACjE,QAAQ,EAAE;gBACR,WAAW,EAAE,IAAA,gBAAW,EAAkB,sBAAsB,CAAC;aAClE;YACD,UAAU,EAAE;gBACV,OAAO,EAAE,IAAA,gBAAW,EAAkB,oBAAoB,CAAC;gBAC3D,GAAG,EAAE,IAAA,gBAAW,EAAkB,gBAAgB,CAAC;gBACnD,OAAO,EAAE,IAAA,gBAAW,EAAkB,oBAAoB,CAAC;gBAC3D,OAAO,EAAE,IAAA,gBAAW,EAAkB,oBAAoB,CAAC;gBAC3D,KAAK,EAAE,IAAA,gBAAW,EAA8B,kBAAkB,CAAC;aACpE;SACF;QAED,wCAAwC;QACxC,OAAO,EAAE;YACP,IAAI,EAAE,IAAA,gBAAW,EAAa,cAAc,CAAC;YAC7C,OAAO,EAAE,IAAA,gBAAW,EAAiB,iBAAiB,CAAC;YACvD,OAAO,EAAE;gBACP,cAAc,EAAE,IAAA,gBAAW,EAA0B,yBAAyB,CAAC;aAChF;YACD,QAAQ,EAAE;gBACR,kEAAkE;gBAClE,OAAO,EAAE,IAAA,gBAAW,EAAe,kBAAkB,CAAC;aACvD;YACD,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAA,gBAAW,EAAwD,aAAa,CAAC;gBACzF,MAAM,EAAE,IAAA,gBAAW,EAAuC,aAAa,CAAC;gBACxE,MAAM,EAAE,IAAA,gBAAW,EAA2C,aAAa,CAAC;aAC7E;SACF;KACF;IAED,MAAM;IACN,SAAS,EAAE;QACT,UAAU,EAAE,IAAA,gBAAW,EAA4B,wBAAwB,CAAC;QAC5E,UAAU,EAAE,IAAA,gBAAW,EAAmB,wBAAwB,CAAC;KACpE;CACO,CAAC"}
@@ -30,7 +30,7 @@ export declare class ErrorBoundary extends Component<Props, {
30
30
  * Рендер.
31
31
  * @return Дочерний элемент либо запасное значение.
32
32
  */
33
- render(): {} | null;
33
+ render(): import("react/jsx-runtime").JSX.Element;
34
34
  }
35
35
  /**
36
36
  * Обертка над Suspense c перехватом ошибок.
@@ -38,4 +38,4 @@ export declare class ErrorBoundary extends Component<Props, {
38
38
  * @param props Свойства.
39
39
  * @return Элемент.
40
40
  */
41
- export declare function SafeSuspense({ children, fallback, onError }: Props): JSX.Element;
41
+ export declare function SafeSuspense({ children, fallback, onError }: Props): import("react/jsx-runtime").JSX.Element;
@@ -30,7 +30,7 @@ class ErrorBoundary extends react_1.Component {
30
30
  */
31
31
  render() {
32
32
  const { children, fallback } = this.props;
33
- return this.state.hasError ? fallback : children;
33
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: this.state.hasError ? fallback : children });
34
34
  }
35
35
  }
36
36
  exports.ErrorBoundary = ErrorBoundary;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAAkE;AAgBlE;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAuC;IACxE;;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;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS;IACjE,OAAO,CACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,uBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,YAChD,QAAQ,GACK,GACP,CACZ,CAAC;AACJ,CAAC;AARD,oCAQC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAAkE;AAgBlE;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAuC;IACxE;;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,2DAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAI,CAAC;IAC1D,CAAC;CACF;AAhCD,sCAgCC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS;IACjE,OAAO,CACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,uBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,YAChD,QAAQ,GACK,GACP,CACZ,CAAC;AACJ,CAAC;AARD,oCAQC"}
@@ -0,0 +1,2 @@
1
+ import { ErrorBoundary, SafeSuspense } from './error-handlers';
2
+ export { ErrorBoundary, SafeSuspense };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SafeSuspense = exports.ErrorBoundary = void 0;
4
+ const error_handlers_1 = require("./error-handlers");
5
+ Object.defineProperty(exports, "ErrorBoundary", { enumerable: true, get: function () { return error_handlers_1.ErrorBoundary; } });
6
+ Object.defineProperty(exports, "SafeSuspense", { enumerable: true, get: function () { return error_handlers_1.SafeSuspense; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/react/index.ts"],"names":[],"mappings":";;;AAAA,qDAA+D;AAEtD,8FAFA,8BAAa,OAEA;AAAE,6FAFA,6BAAY,OAEA"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * Данные для SSR, сформированные на сервере.
4
3
  */
@@ -38,4 +37,4 @@ export declare const SsrBridge: {
38
37
  export declare function GlobalDataScript({ property, value, }: {
39
38
  property: string;
40
39
  value: Record<any, any>;
41
- }): JSX.Element;
40
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,23 +0,0 @@
1
- import type { Handler } from 'express';
2
- import type { BaseConfig } from '../../config/types';
3
- import * as PromClient from 'prom-client';
4
- import { ConventionalLabels } from '../../metrics/constants';
5
- /**
6
- * Возвращает новый middleware для формирования метрик входящего запроса.
7
- * @param config Конфиг.
8
- * @param metrics Метрики - счетчик запросов и гистограмма длительности ответа.
9
- * @return Middleware.
10
- */
11
- export declare function responseMetricsMiddleware(config: BaseConfig, metrics: {
12
- counter: PromClient.Counter<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
13
- histogram: PromClient.Histogram<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
14
- }): Handler;
15
- /**
16
- * Возвращает новый middleware для формирования метрик рендеринга верстки.
17
- * @param config Конфиг.
18
- * @param metrics Метрики - гистограмма длительности рендеринга.
19
- * @return Middleware.
20
- */
21
- export declare function renderMetricsMiddleware(config: BaseConfig, metrics: {
22
- histogram: PromClient.Histogram<typeof ConventionalLabels.SSR[number]>;
23
- }): Handler;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.renderMetricsMiddleware = exports.responseMetricsMiddleware = void 0;
4
- const number_1 = require("../../utils/number");
5
- const constants_1 = require("../constants");
6
- /**
7
- * Возвращает новый middleware для формирования метрик входящего запроса.
8
- * @param config Конфиг.
9
- * @param metrics Метрики - счетчик запросов и гистограмма длительности ответа.
10
- * @return Middleware.
11
- */
12
- function responseMetricsMiddleware(config, metrics) {
13
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
14
- function resolveLabels(req, res) {
15
- return {
16
- version: config.appVersion,
17
- route: req.baseUrl + req.path,
18
- code: res.statusCode,
19
- method: req.method,
20
- };
21
- }
22
- return function responseMetrics(req, res, next) {
23
- const start = process.hrtime.bigint();
24
- metrics.counter.inc(resolveLabels(req, res), 1);
25
- res.once('finish', () => {
26
- const finish = process.hrtime.bigint();
27
- metrics.histogram.observe(resolveLabels(req, res), (0, number_1.toMilliseconds)(finish - start));
28
- });
29
- next();
30
- };
31
- }
32
- exports.responseMetricsMiddleware = responseMetricsMiddleware;
33
- /**
34
- * Возвращает новый middleware для формирования метрик рендеринга верстки.
35
- * @param config Конфиг.
36
- * @param metrics Метрики - гистограмма длительности рендеринга.
37
- * @return Middleware.
38
- */
39
- function renderMetricsMiddleware(config, metrics) {
40
- return function renderMetrics(req, res, next) {
41
- let start;
42
- res.once(constants_1.RESPONSE_EVENT.renderStart, () => {
43
- start = process.hrtime.bigint();
44
- });
45
- res.once(constants_1.RESPONSE_EVENT.renderFinish, () => {
46
- if (typeof start !== 'bigint') {
47
- throw Error('Looks like "render start" event not emitted');
48
- }
49
- const finish = process.hrtime.bigint();
50
- metrics.histogram.observe({
51
- version: config.appVersion,
52
- method: req.method,
53
- route: req.baseUrl + req.path,
54
- }, (0, number_1.toMilliseconds)(finish - start));
55
- });
56
- next();
57
- };
58
- }
59
- exports.renderMetricsMiddleware = renderMetricsMiddleware;
60
- //# sourceMappingURL=metrics.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/http-server/middleware/metrics.ts"],"names":[],"mappings":";;;AAGA,+CAAoD;AACpD,4CAA8C;AAG9C;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,MAAkB,EAClB,OAGC;IAED,8DAA8D;IAC9D,SAAS,aAAa,CACpB,GAAY,EACZ,GAAa;QAEb,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,UAAU;YAC1B,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI;YAC7B,IAAI,EAAE,GAAG,CAAC,UAAU;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAEtC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAjCD,8DAiCC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,MAAkB,EAClB,OAEC;IAED,OAAO,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QAC1C,IAAI,KAAyB,CAAC;QAE9B,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAC5D;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAEvC,OAAO,CAAC,SAAS,CAAC,OAAO,CACvB;gBACE,OAAO,EAAE,MAAM,CAAC,UAAU;gBAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI;aAC9B,EACD,IAAA,uBAAc,EAAC,MAAM,GAAG,KAAK,CAAC,CAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAhCD,0DAgCC"}
@@ -1 +0,0 @@
1
- export declare const pageTemplate: import("ejs").TemplateFunction;
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pageTemplate = void 0;
4
- const ejs_1 = require("ejs");
5
- exports.pageTemplate = (0, ejs_1.compile)(`
6
- <!DOCTYPE html>
7
- <html lang="ru">
8
- <head>
9
- <meta charset="UTF-8">
10
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
11
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
12
- <title><%= title %></title>
13
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,600,700,700i,800&display=swap&subset=cyrillic">
14
- <style>
15
- * {
16
- box-sizing: border-box;
17
- }
18
- body {
19
- font-family: -apple-system,BlinkMacSystemFont,'Source Sans Pro',"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,Arial,sans-serif;
20
- margin: 0;
21
- }
22
- </style>
23
- <% if (assets.criticalCss) { %>
24
- <link rel="stylesheet" href="<%= assets.criticalCss %>">
25
- <% } %>
26
- <% if (assets.css) { %>
27
- <link rel="stylesheet" href="<%= assets.css %>">
28
- <% } %>
29
- <% if (assets.criticalJs) { %>
30
- <script src="<%= assets.criticalJs %>"></script>
31
- <% } %>
32
- </head>
33
- <body>
34
- <%- markup %>
35
- <% if (assets.js) { %>
36
- <script src="<%= assets.js %>"></script>
37
- <% } %>
38
- </body>
39
- </html>
40
- `);
41
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-server/template/index.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAEjB,QAAA,YAAY,GAAG,IAAA,aAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCnC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Константы лейблов для метрик по соглашению.
3
- */
4
- export declare const ConventionalLabels: {
5
- readonly HTTP_RESPONSE: readonly ["version", "route", "code", "method"];
6
- readonly SSR: readonly ["version", "route", "method"];
7
- };
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConventionalLabels = void 0;
4
- /**
5
- * Константы лейблов для метрик по соглашению.
6
- */
7
- exports.ConventionalLabels = {
8
- HTTP_RESPONSE: ['version', 'route', 'code', 'method'],
9
- SSR: ['version', 'route', 'method'],
10
- };
11
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/metrics/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,kBAAkB,GAAG;IAChC,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;IACrD,GAAG,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;CAC3B,CAAC"}
package/metrics/node.d.ts DELETED
@@ -1,19 +0,0 @@
1
- import * as PromClient from 'prom-client';
2
- import { ConventionalLabels } from './constants';
3
- /**
4
- * Распространенные метрики для Node.js приложения.
5
- */
6
- export interface DefaultNodeMetrics {
7
- /** Счетчик входящих запросов. */
8
- requestCount: PromClient.Counter<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
9
- /** Гистограмма длительности ответа. */
10
- responseDuration: PromClient.Histogram<typeof ConventionalLabels.HTTP_RESPONSE[number]>;
11
- /** Гистограмма длительности SSR. */
12
- renderDuration: PromClient.Histogram<typeof ConventionalLabels.SSR[number]>;
13
- }
14
- /**
15
- * Возвращает набор готовых метрик по умолчанию для приложений.
16
- * @todo Возможно стоит унести это в пресет.
17
- * @return Набор метрик.
18
- */
19
- export declare function createDefaultMetrics(): DefaultNodeMetrics;
package/metrics/node.js DELETED
@@ -1,56 +0,0 @@
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.createDefaultMetrics = void 0;
27
- const PromClient = __importStar(require("prom-client"));
28
- const constants_1 = require("./constants");
29
- /**
30
- * Возвращает набор готовых метрик по умолчанию для приложений.
31
- * @todo Возможно стоит унести это в пресет.
32
- * @return Набор метрик.
33
- */
34
- function createDefaultMetrics() {
35
- return {
36
- requestCount: new PromClient.Counter({
37
- name: 'http_request_count',
38
- help: 'Incoming HTTP request count',
39
- labelNames: constants_1.ConventionalLabels.HTTP_RESPONSE,
40
- }),
41
- responseDuration: new PromClient.Histogram({
42
- name: 'http_response_duration_ms',
43
- help: 'Duration of incoming HTTP requests in ms',
44
- labelNames: constants_1.ConventionalLabels.HTTP_RESPONSE,
45
- buckets: [30, 100, 200, 500, 1000, 2500, 5000, 10000],
46
- }),
47
- renderDuration: new PromClient.Histogram({
48
- name: 'render_duration_ms',
49
- help: 'Duration of SSR ms',
50
- labelNames: constants_1.ConventionalLabels.SSR,
51
- buckets: [0.1, 15, 50, 100, 250, 500, 800, 1500],
52
- }),
53
- };
54
- }
55
- exports.createDefaultMetrics = createDefaultMetrics;
56
- //# sourceMappingURL=node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/metrics/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,2CAAiD;AAgBjD;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,OAAO;QACL,YAAY,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC;YACnC,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,8BAAkB,CAAC,aAAa;SAC7C,CAAC;QACF,gBAAgB,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC;YACzC,IAAI,EAAE,2BAA2B;YACjC,IAAI,EAAE,0CAA0C;YAChD,UAAU,EAAE,8BAAkB,CAAC,aAAa;YAC5C,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;SACtD,CAAC;QACF,cAAc,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC;YACvC,IAAI,EAAE,oBAAoB;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,UAAU,EAAE,8BAAkB,CAAC,GAAG;YAClC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;SACjD,CAAC;KACH,CAAC;AACJ,CAAC;AApBD,oDAoBC"}