@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.
- package/config/index.d.ts +1 -1
- package/config/source.d.ts +1 -5
- package/config/source.js.map +1 -1
- package/config/types.d.ts +6 -0
- package/di/index.d.ts +1 -1
- package/http/index.d.ts +1 -1
- package/http/index.js.map +1 -1
- package/http-server/types.d.ts +0 -8
- package/http-server/utils.d.ts +2 -4
- package/http-server/utils.js +5 -15
- package/http-server/utils.js.map +1 -1
- package/package.json +8 -9
- package/preset/browser/index.js +5 -1
- package/preset/browser/index.js.map +1 -1
- package/preset/node/handler.d.ts +0 -4
- package/preset/node/handler.js +79 -36
- package/preset/node/handler.js.map +1 -1
- package/preset/node/index.js +55 -21
- package/preset/node/index.js.map +1 -1
- package/tokens.d.ts +10 -9
- package/tokens.js +11 -7
- package/tokens.js.map +1 -1
- package/utils/react/error-handlers/index.d.ts +2 -2
- package/utils/react/error-handlers/index.js +1 -1
- package/utils/react/error-handlers/index.js.map +1 -1
- package/utils/react/index.d.ts +2 -0
- package/utils/react/index.js +7 -0
- package/utils/react/index.js.map +1 -0
- package/utils/ssr/index.d.ts +1 -2
- package/http-server/middleware/metrics.d.ts +0 -23
- package/http-server/middleware/metrics.js +0 -60
- package/http-server/middleware/metrics.js.map +0 -1
- package/http-server/template/index.d.ts +0 -1
- package/http-server/template/index.js +0 -41
- package/http-server/template/index.js.map +0 -1
- package/metrics/constants.d.ts +0 -7
- package/metrics/constants.js +0 -11
- package/metrics/constants.js.map +0 -1
- package/metrics/node.d.ts +0 -19
- package/metrics/node.js +0 -56
- package/metrics/node.js.map +0 -1
package/config/index.d.ts
CHANGED
package/config/source.d.ts
CHANGED
|
@@ -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 {};
|
package/config/source.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/config/source.ts"],"names":[],"mappings":";;;AACA,4CAAyC;
|
|
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
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":";;;
|
|
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"}
|
package/http-server/types.d.ts
CHANGED
|
@@ -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;
|
package/http-server/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Handler, Request, Response } from 'express';
|
|
2
|
-
import type { PageAssets
|
|
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
|
}
|
package/http-server/utils.js
CHANGED
|
@@ -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.
|
|
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.
|
|
124
|
+
res.send(this.markup);
|
|
135
125
|
break;
|
|
136
126
|
}
|
|
137
127
|
default:
|
package/http-server/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":";;;;;;AAGA,wDAA2B;AAE3B;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,IAAe;IAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9C,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;YAChB,IAAI,GAAG,EAAE;gBACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;aAClB;YAED,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,8CAUC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAY;IACvC,MAAM,WAAW,GACf,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IAEzF,OAAO,kBAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC;AALD,oCAKC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,MAAM,MAAM,GAAuC,EAAE,CAAC;IAEtD,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC/C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC/B;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,8CAUC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,MAAkB,EAAE,OAAgB;IACpE,OAAO;QACL,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC;QACpC,YAAY,EAAE,YAAY,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE;QAC/D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnC,GAAG,iBAAiB,CAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAPD,8CAOC;AAED,uDAAuD;AACvD,MAAa,YAAY;
|
|
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.
|
|
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": "^
|
|
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": "^
|
|
33
|
-
"@types/react-dom": "^
|
|
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.
|
|
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.
|
|
70
|
-
"react-dom": "^17.0.
|
|
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
|
}
|
package/preset/browser/index.js
CHANGED
|
@@ -36,7 +36,11 @@ function PresetBrowser(customize) {
|
|
|
36
36
|
}
|
|
37
37
|
exports.PresetBrowser = PresetBrowser;
|
|
38
38
|
function provideConfigSource() {
|
|
39
|
-
|
|
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":";;;AAAA,wDAAwD;AACxD,iCAAyD;AACzD,yCAA0C;AAC1C,yCAAgE;AAChE,mCAAiD;AACjD,qDAA+D;AAC/D,6CAMyB;AACzB,uDAA0C;AAC1C,yCAA8D;AAE9D,0CAA6D;AAC7D,0DAAiE;AAEjE,kDAI4B;AAE5B;;;;GAIG;AACH,SAAgB,aAAa,CAAC,SAAuB;IACnD,yFAAyF;IACzF,MAAM,MAAM,GAAG,IAAA,iBAAY,GAAE,CAAC;IAE9B,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;IACtD,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,cAAc,EAAE,iCAAqB,CAAC,CAAC;IAC7D,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;IACvF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,SAAS,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,wBAAwB,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;AAlBD,sCAkBC;AAED,SAAgB,mBAAmB;IACjC,OAAO,IAAA,2BAAkB,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/browser/index.ts"],"names":[],"mappings":"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"}
|
package/preset/node/handler.d.ts
CHANGED
|
@@ -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
|
/**
|
package/preset/node/handler.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HandlerProvider = exports.provideSpecificParams = exports.provideMain = exports.
|
|
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.
|
|
37
|
-
preset.set(tokens_1.KnownToken.Http.Handler.
|
|
38
|
-
preset.set(tokens_1.KnownToken.Http.Handler.
|
|
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
|
|
77
|
-
const
|
|
78
|
-
|
|
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
|
-
|
|
107
|
-
builder
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
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.
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/preset/node/handler.tsx"],"names":[],"mappings":"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"}
|
package/preset/node/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
//
|
|
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.
|
|
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:
|
|
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
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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) {
|
package/preset/node/index.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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;
|
|
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():
|
|
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;
|
|
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,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"}
|
package/utils/ssr/index.d.ts
CHANGED
|
@@ -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"}
|
package/metrics/constants.d.ts
DELETED
package/metrics/constants.js
DELETED
|
@@ -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
|
package/metrics/constants.js.map
DELETED
|
@@ -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
|
package/metrics/node.js.map
DELETED
|
@@ -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"}
|