@sima-land/isomorph 11.0.0-alpha.34 → 11.0.0-alpha.36
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/errors.d.ts +12 -0
- package/http/errors.js +17 -1
- package/http/errors.js.map +1 -1
- package/http/index.d.ts +3 -3
- package/http/index.js +3 -1
- package/http/index.js.map +1 -1
- package/package.json +14 -14
- package/preset/isomorphic/constants.d.ts +7 -0
- package/preset/isomorphic/constants.js +11 -0
- package/preset/isomorphic/constants.js.map +1 -0
- package/preset/isomorphic/providers/index.d.ts +22 -0
- package/preset/isomorphic/providers/index.js +38 -0
- package/preset/isomorphic/providers/index.js.map +1 -0
- package/preset/isomorphic/types.d.ts +43 -0
- package/{http-client → preset/isomorphic}/types.js.map +1 -1
- package/preset/{parts/utils.d.ts → isomorphic/utils/index.d.ts} +14 -6
- package/preset/{parts/utils.js → isomorphic/utils/index.js} +31 -5
- package/preset/isomorphic/utils/index.js.map +1 -0
- package/preset/node/handler/index.d.ts +10 -0
- package/preset/node/handler/index.js +38 -0
- package/preset/node/handler/index.js.map +1 -0
- package/preset/node/handler/providers/index.d.ts +35 -0
- package/preset/node/handler/providers/index.js +184 -0
- package/preset/node/handler/providers/index.js.map +1 -0
- package/preset/node/handler/utils/index.d.ts +46 -0
- package/preset/node/handler/utils/index.js +81 -0
- package/preset/node/handler/utils/index.js.map +1 -0
- package/preset/node/index.d.ts +2 -29
- package/preset/node/index.js +6 -255
- package/preset/node/index.js.map +1 -1
- package/preset/node/node/index.d.ts +8 -0
- package/preset/node/node/index.js +49 -0
- package/preset/node/node/index.js.map +1 -0
- package/preset/node/node/providers/index.d.ts +112 -0
- package/preset/node/node/providers/index.js +392 -0
- package/preset/node/node/providers/index.js.map +1 -0
- package/{http-client/middleware/tracing.d.ts → preset/node/node/utils/http-client/index.d.ts} +9 -0
- package/{http-client/middleware/tracing.js → preset/node/node/utils/http-client/index.js} +32 -3
- package/preset/node/node/utils/http-client/index.js.map +1 -0
- package/preset/node/node/utils/http-server/index.d.ts +7 -0
- package/preset/node/node/utils/http-server/index.js +21 -0
- package/preset/node/node/utils/http-server/index.js.map +1 -0
- package/preset/web/index.d.ts +8 -0
- package/preset/web/index.js +30 -0
- package/preset/web/index.js.map +1 -0
- package/preset/web/providers/index.d.ts +35 -0
- package/preset/{browser → web/providers}/index.js +37 -33
- package/preset/web/providers/index.js.map +1 -0
- package/tokens.d.ts +20 -19
- package/tokens.js +11 -8
- package/tokens.js.map +1 -1
- package/utils/axios/index.d.ts +4 -0
- package/utils/axios/index.js +13 -0
- package/utils/axios/index.js.map +1 -0
- package/utils/axios/middleware/cookie.d.ts +8 -0
- package/utils/axios/middleware/cookie.js +26 -0
- package/utils/axios/middleware/cookie.js.map +1 -0
- package/utils/axios/middleware/log.js.map +1 -0
- package/{http-client → utils/axios}/sauce/index.d.ts +1 -1
- package/{http-client → utils/axios}/sauce/index.js +1 -1
- package/utils/axios/sauce/index.js.map +1 -0
- package/{http-client/utils.d.ts → utils/axios/utils/index.d.ts} +0 -7
- package/{http-client/utils.js → utils/axios/utils/index.js} +2 -28
- package/utils/axios/utils/index.js.map +1 -0
- package/utils/express/handler/health-check.js.map +1 -0
- package/utils/express/index.d.ts +2 -0
- package/utils/express/index.js +8 -0
- package/utils/express/index.js.map +1 -0
- package/utils/express/utils/index.d.ts +7 -0
- package/utils/express/utils/index.js +20 -0
- package/utils/express/utils/index.js.map +1 -0
- package/utils/react/error-handlers/index.d.ts +3 -3
- 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/utils/web/analytics/data-layer.js +16 -0
- package/utils/web/analytics/data-layer.js.map +1 -0
- package/utils/web/analytics/oko.d.ts +6 -0
- package/utils/web/analytics/oko.js +16 -0
- package/utils/web/analytics/oko.js.map +1 -0
- package/utils/{browser → web}/storage/index.d.ts +1 -0
- package/utils/{browser → web}/storage/index.js +1 -0
- package/utils/web/storage/index.js.map +1 -0
- package/http-client/middleware/cookie.d.ts +0 -20
- package/http-client/middleware/cookie.js +0 -64
- package/http-client/middleware/cookie.js.map +0 -1
- package/http-client/middleware/headers.d.ts +0 -13
- package/http-client/middleware/headers.js +0 -25
- package/http-client/middleware/headers.js.map +0 -1
- package/http-client/middleware/log.js.map +0 -1
- package/http-client/middleware/tracing.js.map +0 -1
- package/http-client/sauce/index.js.map +0 -1
- package/http-client/types.d.ts +0 -6
- package/http-client/utils.js.map +0 -1
- package/http-server/constants.d.ts +0 -4
- package/http-server/constants.js +0 -8
- package/http-server/constants.js.map +0 -1
- package/http-server/errors.d.ts +0 -11
- package/http-server/errors.js +0 -18
- package/http-server/errors.js.map +0 -1
- package/http-server/handler/health-check.js.map +0 -1
- 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/middleware/tracing.d.ts +0 -14
- package/http-server/middleware/tracing.js +0 -51
- package/http-server/middleware/tracing.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/http-server/types.d.ts +0 -28
- package/http-server/types.js +0 -3
- package/http-server/types.js.map +0 -1
- package/http-server/utils.d.ts +0 -45
- package/http-server/utils.js +0 -144
- package/http-server/utils.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/preset/browser/index.d.ts +0 -17
- package/preset/browser/index.js.map +0 -1
- package/preset/node/handler.d.ts +0 -24
- package/preset/node/handler.js +0 -165
- package/preset/node/handler.js.map +0 -1
- package/preset/parts/providers.d.ts +0 -7
- package/preset/parts/providers.js +0 -26
- package/preset/parts/providers.js.map +0 -1
- package/preset/parts/types.d.ts +0 -14
- package/preset/parts/types.js +0 -3
- package/preset/parts/types.js.map +0 -1
- package/preset/parts/utils.js.map +0 -1
- package/utils/browser/analytics/data-layer.js +0 -14
- package/utils/browser/analytics/data-layer.js.map +0 -1
- package/utils/browser/analytics/oko.d.ts +0 -13
- package/utils/browser/analytics/oko.js +0 -40
- package/utils/browser/analytics/oko.js.map +0 -1
- package/utils/browser/storage/index.js.map +0 -1
- /package/{http-client → preset/isomorphic}/types.js +0 -0
- /package/{http-client → utils/axios}/middleware/log.d.ts +0 -0
- /package/{http-client → utils/axios}/middleware/log.js +0 -0
- /package/{http-server → utils/express}/handler/health-check.d.ts +0 -0
- /package/{http-server → utils/express}/handler/health-check.js +0 -0
- /package/utils/{browser → web}/analytics/data-layer.d.ts +0 -0
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/errors.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ошибка валидации статуса ответа.
|
|
3
|
+
* @todo Переименовать в HttpStatusValidationError?
|
|
3
4
|
*/
|
|
4
5
|
export declare class StatusError extends Error {
|
|
5
6
|
readonly response: Response;
|
|
@@ -14,3 +15,14 @@ export declare class StatusError extends Error {
|
|
|
14
15
|
*/
|
|
15
16
|
static is(value: unknown): value is StatusError;
|
|
16
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Ошибка в процессе формирования ответа.
|
|
20
|
+
*/
|
|
21
|
+
export declare class ResponseError extends Error {
|
|
22
|
+
statusCode: number;
|
|
23
|
+
/**
|
|
24
|
+
* @param message Сообщение.
|
|
25
|
+
* @param statusCode Код ответа.
|
|
26
|
+
*/
|
|
27
|
+
constructor(message: string, statusCode?: number);
|
|
28
|
+
}
|
package/http/errors.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StatusError = void 0;
|
|
3
|
+
exports.ResponseError = exports.StatusError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Ошибка валидации статуса ответа.
|
|
6
|
+
* @todo Переименовать в HttpStatusValidationError?
|
|
6
7
|
*/
|
|
7
8
|
class StatusError extends Error {
|
|
8
9
|
/**
|
|
@@ -23,4 +24,19 @@ class StatusError extends Error {
|
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
exports.StatusError = StatusError;
|
|
27
|
+
/**
|
|
28
|
+
* Ошибка в процессе формирования ответа.
|
|
29
|
+
*/
|
|
30
|
+
class ResponseError extends Error {
|
|
31
|
+
/**
|
|
32
|
+
* @param message Сообщение.
|
|
33
|
+
* @param statusCode Код ответа.
|
|
34
|
+
*/
|
|
35
|
+
constructor(message, statusCode = 500) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.name = 'ResponseError';
|
|
38
|
+
this.statusCode = statusCode;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.ResponseError = ResponseError;
|
|
26
42
|
//# sourceMappingURL=errors.js.map
|
package/http/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/http/errors.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,WAAY,SAAQ,KAAK;IAGpC;;OAEG;IACH,YAAY,QAAkB;QAC5B,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,KAAc;QACtB,OAAQ,KAAa,EAAE,IAAI,KAAK,aAAa,CAAC;IAChD,CAAC;CACF;AApBD,kCAoBC;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IAGtC;;;OAGG;IACH,YAAY,OAAe,EAAE,UAAU,GAAG,GAAG;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAZD,sCAYC"}
|
package/http/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { Handler, Enhancer, Middleware, LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, } from './types';
|
|
2
|
-
export { configureFetch, applyMiddleware } from '@krutoo/fetch-tools';
|
|
1
|
+
export type { Handler, Enhancer, Middleware, LogData, DoneLogData, FailLogData, LogHandler, LogHandlerFactory, CookieStore, } from './types';
|
|
2
|
+
export { configureFetch, applyMiddleware, createCookieStore } from '@krutoo/fetch-tools';
|
|
3
3
|
export { log, cookie, defaultHeaders, validateStatus } from '@krutoo/fetch-tools/middleware';
|
|
4
|
-
export { StatusError } from './errors';
|
|
4
|
+
export { StatusError, ResponseError } from './errors';
|
package/http/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StatusError = exports.validateStatus = exports.defaultHeaders = exports.cookie = exports.log = exports.applyMiddleware = exports.configureFetch = void 0;
|
|
3
|
+
exports.ResponseError = exports.StatusError = exports.validateStatus = exports.defaultHeaders = exports.cookie = exports.log = exports.createCookieStore = exports.applyMiddleware = exports.configureFetch = void 0;
|
|
4
4
|
var fetch_tools_1 = require("@krutoo/fetch-tools");
|
|
5
5
|
Object.defineProperty(exports, "configureFetch", { enumerable: true, get: function () { return fetch_tools_1.configureFetch; } });
|
|
6
6
|
Object.defineProperty(exports, "applyMiddleware", { enumerable: true, get: function () { return fetch_tools_1.applyMiddleware; } });
|
|
7
|
+
Object.defineProperty(exports, "createCookieStore", { enumerable: true, get: function () { return fetch_tools_1.createCookieStore; } });
|
|
7
8
|
var middleware_1 = require("@krutoo/fetch-tools/middleware");
|
|
8
9
|
Object.defineProperty(exports, "log", { enumerable: true, get: function () { return middleware_1.log; } });
|
|
9
10
|
Object.defineProperty(exports, "cookie", { enumerable: true, get: function () { return middleware_1.cookie; } });
|
|
@@ -11,4 +12,5 @@ Object.defineProperty(exports, "defaultHeaders", { enumerable: true, get: functi
|
|
|
11
12
|
Object.defineProperty(exports, "validateStatus", { enumerable: true, get: function () { return middleware_1.validateStatus; } });
|
|
12
13
|
var errors_1 = require("./errors");
|
|
13
14
|
Object.defineProperty(exports, "StatusError", { enumerable: true, get: function () { return errors_1.StatusError; } });
|
|
15
|
+
Object.defineProperty(exports, "ResponseError", { enumerable: true, get: function () { return errors_1.ResponseError; } });
|
|
14
16
|
//# sourceMappingURL=index.js.map
|
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,mDAAyF;AAAhF,6GAAA,cAAc,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAC3D,6DAA6F;AAApF,iGAAA,GAAG,OAAA;AAAE,oGAAA,MAAM,OAAA;AAAE,4GAAA,cAAc,OAAA;AAAE,4GAAA,cAAc,OAAA;AACpD,mCAAsD;AAA7C,qGAAA,WAAW,OAAA;AAAE,uGAAA,aAAa,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sima-land/isomorph",
|
|
3
|
-
"version": "11.0.0-alpha.
|
|
3
|
+
"version": "11.0.0-alpha.36",
|
|
4
4
|
"description": "Tiny framework for fast start frontend microservices",
|
|
5
5
|
"author": "www.sima-land.ru team",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=16.15.1"
|
|
9
|
+
},
|
|
7
10
|
"scripts": {
|
|
8
11
|
"type-check": "tsc -p . --noEmit",
|
|
9
12
|
"build:before": "rm -rf dist",
|
|
@@ -14,33 +17,31 @@
|
|
|
14
17
|
"test": "jest",
|
|
15
18
|
"test:coverage": "jest --clearCache && jest --coverage"
|
|
16
19
|
},
|
|
17
|
-
"engines": {
|
|
18
|
-
"node": ">=16.15.1"
|
|
19
|
-
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@babel/core": "^7.22.5",
|
|
22
22
|
"@babel/preset-env": "^7.22.5",
|
|
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",
|
|
39
|
-
"
|
|
38
|
+
"prettier": "^2.8.8",
|
|
39
|
+
"typescript": "^4.9.4",
|
|
40
|
+
"whatwg-fetch": "^3.6.17"
|
|
40
41
|
},
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@humanwhocodes/env": "^2.2.2",
|
|
43
|
-
"@krutoo/fetch-tools": "^0.0.
|
|
44
|
+
"@krutoo/fetch-tools": "^0.0.9",
|
|
44
45
|
"@opentelemetry/api": "^1.4.1",
|
|
45
46
|
"@opentelemetry/exporter-prometheus": "^0.38.0",
|
|
46
47
|
"@opentelemetry/exporter-trace-otlp-http": "^0.39.1",
|
|
@@ -52,8 +53,7 @@
|
|
|
52
53
|
"@opentelemetry/semantic-conventions": "^1.12.0",
|
|
53
54
|
"@sentry/browser": "^7.51.2",
|
|
54
55
|
"@sentry/node": "^7.51.2",
|
|
55
|
-
"dotenv": "^16.
|
|
56
|
-
"ejs": "^3.1.9",
|
|
56
|
+
"dotenv": "^16.3.1",
|
|
57
57
|
"express": "^4.18.2",
|
|
58
58
|
"jsesc": "^3.0.2",
|
|
59
59
|
"middleware-axios": "^2.1.5",
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
"@reduxjs/toolkit": "^1.9.5",
|
|
67
67
|
"axios": "^1.4.0",
|
|
68
68
|
"lodash": "^4.17.21",
|
|
69
|
-
"react": "^17.0.
|
|
70
|
-
"react-dom": "^17.0.
|
|
69
|
+
"react": "^17.0 || ^18.0",
|
|
70
|
+
"react-dom": "^17.0 || ^18.0",
|
|
71
71
|
"react-redux": "^8.0.5",
|
|
72
72
|
"redux-saga": "^1.2.3"
|
|
73
73
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESPONSE_EVENT_TYPE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* События в процессе ответа на запрос.
|
|
6
|
+
*/
|
|
7
|
+
exports.RESPONSE_EVENT_TYPE = {
|
|
8
|
+
renderStart: Symbol('render:start'),
|
|
9
|
+
renderFinish: Symbol('render:finish'),
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/preset/isomorphic/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC,eAAe,CAAC;CAC7B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseConfig } from '../../../config/types';
|
|
2
|
+
import { Resolve } from '../../../di';
|
|
3
|
+
import { LogMiddlewareHandlerInit } from '../../../utils/axios/middleware/log';
|
|
4
|
+
import { SagaExtendedMiddleware } from '../../../utils/redux-saga';
|
|
5
|
+
/**
|
|
6
|
+
* Провайдер базовой конфигурации приложения.
|
|
7
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
8
|
+
* @return Базовая конфигурация.
|
|
9
|
+
*/
|
|
10
|
+
export declare function provideBaseConfig(resolve: Resolve): BaseConfig;
|
|
11
|
+
/**
|
|
12
|
+
* Провайдер кастомной версии createSagaMiddleware из redux-saga.
|
|
13
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
14
|
+
* @return Промежуточный слой для redux-хранилища.
|
|
15
|
+
*/
|
|
16
|
+
export declare function provideSagaMiddleware(resolve: Resolve): SagaExtendedMiddleware;
|
|
17
|
+
/**
|
|
18
|
+
* Провайдер обработчика логирования исходящих http-запросов.
|
|
19
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
20
|
+
* @return Обработчик.
|
|
21
|
+
*/
|
|
22
|
+
export declare function provideHttpClientLogHandler(resolve: Resolve): LogMiddlewareHandlerInit;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provideHttpClientLogHandler = exports.provideSagaMiddleware = exports.provideBaseConfig = void 0;
|
|
4
|
+
const base_1 = require("../../../config/base");
|
|
5
|
+
const tokens_1 = require("../../../tokens");
|
|
6
|
+
const redux_saga_1 = require("../../../utils/redux-saga");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
/**
|
|
9
|
+
* Провайдер базовой конфигурации приложения.
|
|
10
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
11
|
+
* @return Базовая конфигурация.
|
|
12
|
+
*/
|
|
13
|
+
function provideBaseConfig(resolve) {
|
|
14
|
+
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
15
|
+
return (0, base_1.createBaseConfig)(source);
|
|
16
|
+
}
|
|
17
|
+
exports.provideBaseConfig = provideBaseConfig;
|
|
18
|
+
/**
|
|
19
|
+
* Провайдер кастомной версии createSagaMiddleware из redux-saga.
|
|
20
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
21
|
+
* @return Промежуточный слой для redux-хранилища.
|
|
22
|
+
*/
|
|
23
|
+
function provideSagaMiddleware(resolve) {
|
|
24
|
+
const logger = resolve(tokens_1.KnownToken.logger);
|
|
25
|
+
return (0, redux_saga_1.createSagaMiddleware)(new utils_1.SagaLogging(logger));
|
|
26
|
+
}
|
|
27
|
+
exports.provideSagaMiddleware = provideSagaMiddleware;
|
|
28
|
+
/**
|
|
29
|
+
* Провайдер обработчика логирования исходящих http-запросов.
|
|
30
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
31
|
+
* @return Обработчик.
|
|
32
|
+
*/
|
|
33
|
+
function provideHttpClientLogHandler(resolve) {
|
|
34
|
+
const logger = resolve(tokens_1.KnownToken.logger);
|
|
35
|
+
return data => new utils_1.HttpClientLogging(logger, data);
|
|
36
|
+
}
|
|
37
|
+
exports.provideHttpClientLogHandler = provideHttpClientLogHandler;
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preset/isomorphic/providers/index.ts"],"names":[],"mappings":";;;AAAA,+CAAwD;AAIxD,4CAA6C;AAC7C,0DAAyF;AACzF,oCAA0D;AAE1D;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,OAAO,IAAA,uBAAgB,EAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAJD,8CAIC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAA,iCAAoB,EAAC,IAAI,mBAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAJD,sDAIC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,yBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAJD,kEAIC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Provider, Token } from '../../di';
|
|
2
|
+
import type { Request, Response, NextFunction } from 'express';
|
|
3
|
+
export interface PresetTuner {
|
|
4
|
+
(tools: {
|
|
5
|
+
override: <T>(token: Token<T>, provider: Provider<T>) => void;
|
|
6
|
+
}): void;
|
|
7
|
+
}
|
|
8
|
+
export type KnownHttpApiKey = 'ilium' | 'simaV3' | 'simaV4' | 'simaV6';
|
|
9
|
+
/**
|
|
10
|
+
* Строгая версия Map без возможности добавлять/удалять.
|
|
11
|
+
*/
|
|
12
|
+
export interface StrictMap<Key extends string> {
|
|
13
|
+
/** Возвращает значение по ключу. */
|
|
14
|
+
get(key: Key): string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Контекст обработчика express.
|
|
18
|
+
*/
|
|
19
|
+
export interface HandlerContext {
|
|
20
|
+
req: Request;
|
|
21
|
+
res: Response;
|
|
22
|
+
next: NextFunction;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Внутренний интерфейс для хранения ссылок на ассеты.
|
|
26
|
+
*/
|
|
27
|
+
export interface PageAssets {
|
|
28
|
+
js: string;
|
|
29
|
+
css: string;
|
|
30
|
+
criticalJs?: string;
|
|
31
|
+
criticalCss?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Структура ответа от frontend-микросервиса в формате JSON по соглашению.
|
|
35
|
+
*/
|
|
36
|
+
export interface ConventionalJson {
|
|
37
|
+
markup: string;
|
|
38
|
+
bundle_js: string;
|
|
39
|
+
bundle_css: string;
|
|
40
|
+
critical_js?: string;
|
|
41
|
+
critical_css?: string;
|
|
42
|
+
meta?: any;
|
|
43
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/preset/isomorphic/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { SeverityLevel } from '@sentry/browser';
|
|
2
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
3
|
import type { Middleware } from 'middleware-axios';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import type { StrictMap } from '../types';
|
|
5
|
+
import type { ConfigSource } from '../../../config/types';
|
|
6
|
+
import { Logger } from '../../../log';
|
|
7
|
+
import { SharedData, DoneSharedData, FailSharedData, LogMiddlewareHandler } from '../../../utils/axios/middleware/log';
|
|
8
|
+
import { applyAxiosDefaults } from '../../../utils/axios/utils';
|
|
9
|
+
import { SagaErrorInfo, SagaInterruptInfo, SagaMiddlewareHandler } from '../../../utils/redux-saga/types';
|
|
9
10
|
/** Реализация пула хостов. */
|
|
10
11
|
export declare class HttpApiHostPool<Key extends string> implements StrictMap<Key> {
|
|
11
12
|
private map;
|
|
@@ -108,3 +109,10 @@ export declare abstract class HttpStatus {
|
|
|
108
109
|
*/
|
|
109
110
|
static axiosMiddleware(): Middleware<unknown>;
|
|
110
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Объединяет значения опций baseURL и url (axios) в одну строку для логирования.
|
|
114
|
+
* @param baseURL Опция baseURL.
|
|
115
|
+
* @param url Опция url.
|
|
116
|
+
* @return Отображение. Не является валидным URL.
|
|
117
|
+
*/
|
|
118
|
+
export declare function displayUrl(baseURL?: AxiosRequestConfig['baseURL'], url?: AxiosRequestConfig['url']): string;
|
|
@@ -3,10 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HttpStatus = exports.SagaLogging = exports.HttpClientLogging = exports.severityFromStatus = exports.HttpApiHostPool = void 0;
|
|
6
|
+
exports.displayUrl = exports.HttpStatus = exports.SagaLogging = exports.HttpClientLogging = exports.severityFromStatus = exports.HttpApiHostPool = void 0;
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const log_1 = require("
|
|
9
|
-
const utils_1 = require("
|
|
8
|
+
const log_1 = require("../../../log");
|
|
9
|
+
const utils_1 = require("../../../utils/axios/utils");
|
|
10
10
|
/** Реализация пула хостов. */
|
|
11
11
|
class HttpApiHostPool {
|
|
12
12
|
/**
|
|
@@ -69,7 +69,7 @@ class HttpClientLogging {
|
|
|
69
69
|
this.logger = logger;
|
|
70
70
|
this.requestInfo = {
|
|
71
71
|
...config,
|
|
72
|
-
readyURL:
|
|
72
|
+
readyURL: displayUrl(config.baseURL, config.url),
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
@@ -260,4 +260,30 @@ class HttpStatus {
|
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
exports.HttpStatus = HttpStatus;
|
|
263
|
-
|
|
263
|
+
/**
|
|
264
|
+
* Объединяет значения опций baseURL и url (axios) в одну строку для логирования.
|
|
265
|
+
* @param baseURL Опция baseURL.
|
|
266
|
+
* @param url Опция url.
|
|
267
|
+
* @return Отображение. Не является валидным URL.
|
|
268
|
+
*/
|
|
269
|
+
function displayUrl(baseURL = '', url = '') {
|
|
270
|
+
let result;
|
|
271
|
+
switch (true) {
|
|
272
|
+
case Boolean(baseURL && url):
|
|
273
|
+
result = `${baseURL.replace(/\/$/, '')}/${url.replace(/^\//, '')}`;
|
|
274
|
+
break;
|
|
275
|
+
case Boolean(baseURL) && !url:
|
|
276
|
+
result = baseURL;
|
|
277
|
+
break;
|
|
278
|
+
case !baseURL && Boolean(url):
|
|
279
|
+
result = url;
|
|
280
|
+
break;
|
|
281
|
+
case !baseURL && !url:
|
|
282
|
+
default:
|
|
283
|
+
result = '[empty]';
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
286
|
+
return result;
|
|
287
|
+
}
|
|
288
|
+
exports.displayUrl = displayUrl;
|
|
289
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preset/isomorphic/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Preset } from '../../../di';
|
|
2
|
+
import { PresetTuner } from '../../isomorphic/types';
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
|
|
5
|
+
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
6
|
+
* @todo Возможно стоит переименовать в PresetPageHandler.
|
|
7
|
+
* @return Preset.
|
|
8
|
+
*/
|
|
9
|
+
export declare function PresetHandler(customize?: PresetTuner): Preset;
|
|
10
|
+
export { HandlerProvider } from './utils';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HandlerProvider = exports.PresetHandler = void 0;
|
|
4
|
+
const di_1 = require("../../../di");
|
|
5
|
+
const tokens_1 = require("../../../tokens");
|
|
6
|
+
const providers_1 = require("../../isomorphic/providers");
|
|
7
|
+
const providers_2 = require("./providers");
|
|
8
|
+
const utils_1 = require("./utils");
|
|
9
|
+
/**
|
|
10
|
+
* Возвращает preset с зависимостями по умолчанию для работы в рамках ответа на http-запрос.
|
|
11
|
+
* @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
|
|
12
|
+
* @todo Возможно стоит переименовать в PresetPageHandler.
|
|
13
|
+
* @return Preset.
|
|
14
|
+
*/
|
|
15
|
+
function PresetHandler(customize) {
|
|
16
|
+
// ВАЖНО: используем .set() вместо аргумента defaults функции createPreset из-за скорости
|
|
17
|
+
const preset = (0, di_1.createPreset)();
|
|
18
|
+
// saga
|
|
19
|
+
preset.set(tokens_1.KnownToken.sagaMiddleware, providers_1.provideSagaMiddleware);
|
|
20
|
+
// http client
|
|
21
|
+
preset.set(tokens_1.KnownToken.Http.Client.factory, providers_2.provideHttpClientFactory);
|
|
22
|
+
preset.set(tokens_1.KnownToken.Http.Client.Middleware.Log.handler, providers_1.provideHttpClientLogHandler);
|
|
23
|
+
// http handler
|
|
24
|
+
preset.set(tokens_1.KnownToken.Http.Handler.main, providers_2.provideHandlerMain);
|
|
25
|
+
preset.set(tokens_1.KnownToken.Http.Handler.Request.specificParams, providers_2.provideSpecificParams);
|
|
26
|
+
preset.set(tokens_1.KnownToken.Http.Handler.Response.specificExtras, () => new utils_1.SpecificExtras());
|
|
27
|
+
preset.set(tokens_1.KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));
|
|
28
|
+
preset.set(tokens_1.KnownToken.Http.Handler.Page.helmet, providers_2.providePageHelmet);
|
|
29
|
+
preset.set(tokens_1.KnownToken.Http.Handler.Page.render, providers_2.providePageRender);
|
|
30
|
+
if (customize) {
|
|
31
|
+
customize({ override: preset.set.bind(preset) });
|
|
32
|
+
}
|
|
33
|
+
return preset;
|
|
34
|
+
}
|
|
35
|
+
exports.PresetHandler = PresetHandler;
|
|
36
|
+
var utils_2 = require("./utils");
|
|
37
|
+
Object.defineProperty(exports, "HandlerProvider", { enumerable: true, get: function () { return utils_2.HandlerProvider; } });
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/preset/node/handler/index.ts"],"names":[],"mappings":";;;AAAA,oCAAmD;AACnD,4CAA6C;AAC7C,0DAAgG;AAEhG,2CAMqB;AACrB,mCAAyC;AAEzC;;;;;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,oCAAwB,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,8BAAkB,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,iCAAqB,CAAC,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,sBAAc,EAAE,CAAC,CAAC;IACxF,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,6BAAiB,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,CAAC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,6BAAiB,CAAC,CAAC;IAEnE,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,iCAA0C;AAAjC,wGAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Resolve } from '../../../../di';
|
|
3
|
+
import { CreateAxiosDefaults } from 'axios';
|
|
4
|
+
import { RegularHelmet } from '../utils';
|
|
5
|
+
/**
|
|
6
|
+
* Провайдер фабрики http-клиентов.
|
|
7
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
8
|
+
* @return Фабрика.
|
|
9
|
+
*/
|
|
10
|
+
export declare function provideHttpClientFactory(resolve: Resolve): (config?: CreateAxiosDefaults) => import("middleware-axios").AxiosInstanceWrapper;
|
|
11
|
+
/**
|
|
12
|
+
* Провайдер главной функции обработчика входящего http-запроса.
|
|
13
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
14
|
+
* @return Главная функция.
|
|
15
|
+
*/
|
|
16
|
+
export declare function provideHandlerMain(resolve: Resolve): VoidFunction;
|
|
17
|
+
/**
|
|
18
|
+
* Провайдер render-функции.
|
|
19
|
+
* @return Render-Функция.
|
|
20
|
+
*/
|
|
21
|
+
export declare function providePageRender(): () => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Провайдер helmet-компонента. Этот компонент является контейнером для результата render-функции.
|
|
24
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
25
|
+
* @return Helmet-компонент.
|
|
26
|
+
*/
|
|
27
|
+
export declare function providePageHelmet(resolve: Resolve): typeof RegularHelmet | import("react").ExoticComponent<{
|
|
28
|
+
children?: import("react").ReactNode;
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Провайдер специфичных параметров, которые frontend-микросервис будет получать в запросе.
|
|
32
|
+
* @param resolve Функция для получения зависимости по токену.
|
|
33
|
+
* @return Параметры.
|
|
34
|
+
*/
|
|
35
|
+
export declare function provideSpecificParams(resolve: Resolve): Record<string, unknown>;
|