@sima-land/isomorph 11.0.0-alpha.1 → 11.0.0-alpha.12
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 → base.d.ts} +0 -0
- package/config/{index.js → base.js} +1 -1
- package/config/base.js.map +1 -0
- package/config/browser.js +10 -1
- package/config/browser.js.map +1 -1
- package/config/node.js +10 -5
- package/config/node.js.map +1 -1
- package/di/application.d.ts +6 -0
- package/{container → di}/application.js +17 -8
- package/di/application.js.map +1 -0
- package/di/container.d.ts +6 -0
- package/di/container.js +49 -0
- package/di/container.js.map +1 -0
- package/di/errors.d.ts +21 -0
- package/di/errors.js +33 -0
- package/di/errors.js.map +1 -0
- package/di/index.d.ts +6 -0
- package/di/index.js +16 -0
- package/di/index.js.map +1 -0
- package/di/preset.d.ts +9 -0
- package/{preset/index.js → di/preset.js} +4 -2
- package/di/preset.js.map +1 -0
- package/di/token.d.ts +7 -0
- package/di/token.js +17 -0
- package/di/token.js.map +1 -0
- package/di/types.d.ts +32 -0
- package/{container → di}/types.js +0 -0
- package/{tracer → di}/types.js.map +1 -1
- package/error-tracking/index.d.ts +22 -0
- package/{error-tracker/utils.js → error-tracking/index.js} +14 -3
- package/error-tracking/index.js.map +1 -0
- package/error-tracking/types.d.ts +13 -0
- package/{error-tracker → error-tracking}/types.js +0 -0
- package/{container → error-tracking}/types.js.map +1 -1
- package/http-client/middleware/logging.d.ts +15 -0
- package/http-client/middleware/logging.js +93 -0
- package/http-client/middleware/logging.js.map +1 -0
- package/http-client/sauce/index.d.ts +27 -0
- package/http-client/sauce/index.js +33 -0
- package/http-client/sauce/index.js.map +1 -0
- package/http-client/utils.d.ts +0 -27
- package/http-client/utils.js +1 -30
- package/http-client/utils.js.map +1 -1
- package/http-server/middleware/tracing.d.ts +8 -2
- package/http-server/middleware/tracing.js +22 -3
- package/http-server/middleware/tracing.js.map +1 -1
- package/http-server/template/index.js +6 -0
- package/http-server/template/index.js.map +1 -1
- package/http-server/types.d.ts +2 -0
- package/http-server/utils.d.ts +3 -5
- package/http-server/utils.js +16 -15
- package/http-server/utils.js.map +1 -1
- package/logger/handler/console.d.ts +1 -1
- package/logger/handler/console.js +8 -1
- package/logger/handler/console.js.map +1 -1
- package/logger/handler/sentry.d.ts +3 -3
- package/logger/handler/sentry.js +13 -7
- package/logger/handler/sentry.js.map +1 -1
- package/logger/index.d.ts +2 -6
- package/logger/index.js +2 -27
- package/logger/index.js.map +1 -1
- package/logger/logger.d.ts +6 -0
- package/logger/logger.js +31 -0
- package/logger/logger.js.map +1 -0
- package/package.json +4 -2
- package/preset/browser/index.d.ts +8 -0
- package/preset/browser/index.js +48 -0
- package/preset/browser/index.js.map +1 -0
- package/preset/node/index.d.ts +10 -6
- package/preset/node/index.js +73 -36
- package/preset/node/index.js.map +1 -1
- package/preset/node/response.d.ts +11 -8
- package/preset/node/response.js +26 -23
- package/preset/node/response.js.map +1 -1
- package/tokens.d.ts +25 -18
- package/tokens.js +23 -17
- package/tokens.js.map +1 -1
- package/tracing/index.d.ts +9 -0
- package/tracing/index.js +20 -0
- package/tracing/index.js.map +1 -0
- package/utils/react/error-handlers/index.js +1 -0
- package/utils/react/error-handlers/index.js.map +1 -1
- package/utils/redux-saga/index.d.ts +3 -0
- package/utils/redux-saga/index.js +8 -0
- package/utils/redux-saga/index.js.map +1 -0
- package/utils/redux-saga/middleware.d.ts +9 -0
- package/utils/redux-saga/middleware.js +87 -0
- package/utils/redux-saga/middleware.js.map +1 -0
- package/utils/redux-saga/types.d.ts +6 -0
- package/{preset → utils/redux-saga}/types.js +0 -0
- package/{error-tracker → utils/redux-saga}/types.js.map +1 -1
- package/utils/ssr/index.d.ts +30 -0
- package/utils/ssr/index.js +51 -0
- package/utils/ssr/index.js.map +1 -0
- package/utils/webpack/index.d.ts +23 -0
- package/utils/webpack/index.js +66 -0
- package/utils/webpack/index.js.map +1 -0
- package/config/index.js.map +0 -1
- package/config/utils.d.ts +0 -5
- package/config/utils.js +0 -12
- package/config/utils.js.map +0 -1
- package/container/application.d.ts +0 -25
- package/container/application.js.map +0 -1
- package/container/index.d.ts +0 -18
- package/container/index.js +0 -74
- package/container/index.js.map +0 -1
- package/container/types.d.ts +0 -14
- package/error-tracker/browser.d.ts +0 -8
- package/error-tracker/browser.js +0 -40
- package/error-tracker/browser.js.map +0 -1
- package/error-tracker/node.d.ts +0 -8
- package/error-tracker/node.js +0 -40
- package/error-tracker/node.js.map +0 -1
- package/error-tracker/types.d.ts +0 -18
- package/error-tracker/utils.d.ts +0 -12
- package/error-tracker/utils.js.map +0 -1
- package/preset/index.d.ts +0 -7
- package/preset/index.js.map +0 -1
- package/preset/types.d.ts +0 -7
- package/preset/types.js.map +0 -1
- package/saga-runner/index.d.ts +0 -8
- package/saga-runner/index.js +0 -79
- package/saga-runner/index.js.map +0 -1
- package/saga-runner/types.d.ts +0 -10
- package/saga-runner/types.js +0 -3
- package/saga-runner/types.js.map +0 -1
- package/tracer/node.d.ts +0 -10
- package/tracer/node.js +0 -38
- package/tracer/node.js.map +0 -1
- package/tracer/types.d.ts +0 -2
- package/tracer/types.js +0 -3
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sauce = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
|
|
6
|
+
* @param instance Экземпляр axios или AxiosInstanceWrapper.
|
|
7
|
+
* @return Обертка.
|
|
8
|
+
*/
|
|
9
|
+
function sauce(instance) {
|
|
10
|
+
// eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
|
|
11
|
+
function createMethod(methodName) {
|
|
12
|
+
return async function (...args) {
|
|
13
|
+
try {
|
|
14
|
+
const response = await instance[methodName](...args);
|
|
15
|
+
return { ok: true, data: response.data };
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return { ok: false, error };
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
get: createMethod('get'),
|
|
24
|
+
delete: createMethod('delete'),
|
|
25
|
+
head: createMethod('head'),
|
|
26
|
+
options: createMethod('options'),
|
|
27
|
+
post: createMethod('post'),
|
|
28
|
+
put: createMethod('put'),
|
|
29
|
+
patch: createMethod('patch'),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.sauce = sauce;
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-client/sauce/index.ts"],"names":[],"mappings":";;;AA4BA;;;;GAIG;AACH,SAAgB,KAAK,CAAC,QAA8C;IAClE,8DAA8D;IAC9D,SAAS,YAAY,CAAyB,UAAe;QAC3D,OAAO,KAAK,WACV,GAAG,IAAoC;YAEvC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAI,IAAc,CAAC,CAAC;gBAChE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC1C;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC7B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;KAC7B,CAAC;AACJ,CAAC;AAxBD,sBAwBC"}
|
package/http-client/utils.d.ts
CHANGED
|
@@ -1,32 +1,5 @@
|
|
|
1
1
|
import type { Request } from 'express';
|
|
2
2
|
import type { BaseConfig } from '../config/types';
|
|
3
|
-
import type { AxiosInstance } from 'axios';
|
|
4
|
-
import type { AxiosInstanceWrapper, MethodName } from 'middleware-axios';
|
|
5
|
-
export declare type SauceResponse<T = any> = {
|
|
6
|
-
ok: true;
|
|
7
|
-
data: T;
|
|
8
|
-
} | {
|
|
9
|
-
ok: false;
|
|
10
|
-
error: any;
|
|
11
|
-
};
|
|
12
|
-
export interface SauceMethod<K extends MethodName> {
|
|
13
|
-
<T>(...args: Parameters<AxiosInstanceWrapper[K]>): Promise<SauceResponse<T>>;
|
|
14
|
-
}
|
|
15
|
-
export interface Sauce {
|
|
16
|
-
readonly get: SauceMethod<'get'>;
|
|
17
|
-
readonly delete: SauceMethod<'delete'>;
|
|
18
|
-
readonly head: SauceMethod<'head'>;
|
|
19
|
-
readonly options: SauceMethod<'options'>;
|
|
20
|
-
readonly post: SauceMethod<'post'>;
|
|
21
|
-
readonly put: SauceMethod<'put'>;
|
|
22
|
-
readonly patch: SauceMethod<'patch'>;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
|
|
26
|
-
* @param instance Экземпляр axios или AxiosInstanceWrapper.
|
|
27
|
-
* @return Обертка.
|
|
28
|
-
*/
|
|
29
|
-
export declare function sauce(instance: AxiosInstance | AxiosInstanceWrapper): Sauce;
|
|
30
3
|
/**
|
|
31
4
|
* Формирует заголовки для исходящих запросов с сервера по соглашению.
|
|
32
5
|
* @param config Конфиг.
|
package/http-client/utils.js
CHANGED
|
@@ -1,36 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRequestHeaders =
|
|
3
|
+
exports.getRequestHeaders = void 0;
|
|
4
4
|
const utils_1 = require("../http-server/utils");
|
|
5
|
-
/**
|
|
6
|
-
* Оборачивает экземпляр axios. Все методы обертки возвращают promise, который никогда не попадают в состояние rejected.
|
|
7
|
-
* @param instance Экземпляр axios или AxiosInstanceWrapper.
|
|
8
|
-
* @return Обертка.
|
|
9
|
-
*/
|
|
10
|
-
function sauce(instance) {
|
|
11
|
-
// eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
|
|
12
|
-
function createMethod(methodName) {
|
|
13
|
-
return async function (...args) {
|
|
14
|
-
try {
|
|
15
|
-
const response = await instance[methodName](...args);
|
|
16
|
-
return { ok: true, data: response.data };
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
return { ok: false, error };
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
get: createMethod('get'),
|
|
25
|
-
delete: createMethod('delete'),
|
|
26
|
-
head: createMethod('head'),
|
|
27
|
-
options: createMethod('options'),
|
|
28
|
-
post: createMethod('post'),
|
|
29
|
-
put: createMethod('put'),
|
|
30
|
-
patch: createMethod('patch'),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
exports.sauce = sauce;
|
|
34
5
|
/**
|
|
35
6
|
* Формирует заголовки для исходящих запросов с сервера по соглашению.
|
|
36
7
|
* @param config Конфиг.
|
package/http-client/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-client/utils.ts"],"names":[],"mappings":";;;AAAA,gDAAuE;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-client/utils.ts"],"names":[],"mappings":";;;AAAA,gDAAuE;AAIvE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,MAAkB,EAAE,OAAgB;IACpE,OAAO;QACL,aAAa,EAAE,IAAA,oBAAY,EAAC,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,IAAA,yBAAiB,EAAC,OAAO,CAAC;KAC9B,CAAC;AACJ,CAAC;AAPD,8CAOC"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { Handler } from 'express';
|
|
1
|
+
import { Tracer } from '@opentelemetry/api';
|
|
2
|
+
import type { Request, Handler } from 'express';
|
|
3
3
|
/**
|
|
4
4
|
* Возвращает новый middleware для трассировки стадий входящего запроса.
|
|
5
5
|
* @param tracer Tracer.
|
|
6
6
|
* @return Middleware.
|
|
7
7
|
*/
|
|
8
8
|
export declare function tracingMiddleware(tracer: Tracer): Handler;
|
|
9
|
+
/**
|
|
10
|
+
* Возвращает набор стандартных атрибутов для спана.
|
|
11
|
+
* @param req Входящий http-запрос.
|
|
12
|
+
* @return Атрибуты.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getConventionalRequestAttrs(req: Request): Record<string, string | undefined>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tracingMiddleware = void 0;
|
|
3
|
+
exports.getConventionalRequestAttrs = exports.tracingMiddleware = void 0;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const api_1 = require("@opentelemetry/api");
|
|
6
6
|
/**
|
|
@@ -10,8 +10,10 @@ const api_1 = require("@opentelemetry/api");
|
|
|
10
10
|
*/
|
|
11
11
|
function tracingMiddleware(tracer) {
|
|
12
12
|
return (req, res, next) => {
|
|
13
|
-
const
|
|
14
|
-
const rootSpan = tracer.startSpan('response', undefined,
|
|
13
|
+
const externalContext = api_1.propagation.extract(api_1.ROOT_CONTEXT, req.headers);
|
|
14
|
+
const rootSpan = tracer.startSpan('response', undefined, externalContext);
|
|
15
|
+
rootSpan.setAttributes(getConventionalRequestAttrs(req));
|
|
16
|
+
const rootContext = api_1.trace.setSpan(externalContext, rootSpan);
|
|
15
17
|
res.locals.tracing = {
|
|
16
18
|
rootSpan,
|
|
17
19
|
rootContext,
|
|
@@ -29,4 +31,21 @@ function tracingMiddleware(tracer) {
|
|
|
29
31
|
};
|
|
30
32
|
}
|
|
31
33
|
exports.tracingMiddleware = tracingMiddleware;
|
|
34
|
+
/**
|
|
35
|
+
* Возвращает набор стандартных атрибутов для спана.
|
|
36
|
+
* @param req Входящий http-запрос.
|
|
37
|
+
* @return Атрибуты.
|
|
38
|
+
*/
|
|
39
|
+
function getConventionalRequestAttrs(req) {
|
|
40
|
+
const result = {
|
|
41
|
+
'request.path': req.originalUrl,
|
|
42
|
+
};
|
|
43
|
+
for (const headerName in req.headers) {
|
|
44
|
+
if (headerName.toLowerCase().startsWith('simaland-')) {
|
|
45
|
+
result[headerName] = req.header(headerName);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
exports.getConventionalRequestAttrs = getConventionalRequestAttrs;
|
|
32
51
|
//# sourceMappingURL=tracing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/http-server/middleware/tracing.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAC9C,4CAA8E;AAG9E;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,eAAe,GAAG,iBAAW,CAAC,OAAO,CAAC,kBAAY,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAE1E,QAAQ,CAAC,aAAa,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,WAAK,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAE7D,GAAG,CAAC,MAAM,CAAC,OAAO,GAAG;YACnB,QAAQ;YACR,WAAW;SACZ,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,EAAE,GAAG,EAAE;YACxC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,EAAE,GAAG,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AA5BD,8CA4BC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CAAC,GAAY;IACtD,MAAM,MAAM,GAAuC;QACjD,cAAc,EAAE,GAAG,CAAC,WAAW;KAChC,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,OAAO,EAAE;QACpC,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YACpD,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SAC7C;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,kEAYC"}
|
|
@@ -21,9 +21,15 @@ exports.pageTemplate = (0, ejs_1.compile)(`
|
|
|
21
21
|
line-height: inherit;
|
|
22
22
|
}
|
|
23
23
|
</style>
|
|
24
|
+
<% if (assets.criticalCss) { %>
|
|
25
|
+
<link rel="stylesheet" href="<%= assets.criticalCss %>">
|
|
26
|
+
<% } %>
|
|
24
27
|
<% if (assets.css) { %>
|
|
25
28
|
<link rel="stylesheet" href="<%= assets.css %>">
|
|
26
29
|
<% } %>
|
|
30
|
+
<% if (assets.criticalJs) { %>
|
|
31
|
+
<script src="<%= assets.criticalJs %>"></script>
|
|
32
|
+
<% } %>
|
|
27
33
|
</head>
|
|
28
34
|
<body>
|
|
29
35
|
<%- markup %>
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnC,CAAC,CAAC"}
|
package/http-server/types.d.ts
CHANGED
package/http-server/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
|
-
import type { PageTemplate, PageTemplateData } from './types';
|
|
2
|
+
import type { PageAssets, PageTemplate, PageTemplateData } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Определяет IP входящего запроса.
|
|
5
5
|
* @param req Входящий запрос.
|
|
@@ -15,15 +15,13 @@ export declare function getServiceHeaders(req: Request): Record<string, string |
|
|
|
15
15
|
export declare class PageResponse {
|
|
16
16
|
private type;
|
|
17
17
|
private html;
|
|
18
|
-
private
|
|
18
|
+
private _assets;
|
|
19
19
|
private _template;
|
|
20
|
-
static create(): PageResponse;
|
|
21
20
|
static defineFormat(req: Request): PageResponse['type'];
|
|
22
21
|
static defaultTemplate({ markup }: PageTemplateData): string;
|
|
23
22
|
constructor();
|
|
24
23
|
markup(html: string): this;
|
|
25
|
-
|
|
26
|
-
styles(url: string): this;
|
|
24
|
+
assets(assets: PageAssets): this;
|
|
27
25
|
format(type: PageResponse['type']): this;
|
|
28
26
|
template(template: PageTemplate): this;
|
|
29
27
|
send(res: Response): void;
|
package/http-server/utils.js
CHANGED
|
@@ -32,12 +32,9 @@ class PageResponse {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
this.type = 'html';
|
|
34
34
|
this.html = '';
|
|
35
|
-
this.
|
|
35
|
+
this._assets = { js: '', css: '' };
|
|
36
36
|
this._template = PageResponse.defaultTemplate;
|
|
37
37
|
}
|
|
38
|
-
static create() {
|
|
39
|
-
return new PageResponse();
|
|
40
|
-
}
|
|
41
38
|
static defineFormat(req) {
|
|
42
39
|
let result = 'html';
|
|
43
40
|
if ((req.header('accept') || '').toLowerCase().includes('application/json')) {
|
|
@@ -52,12 +49,8 @@ class PageResponse {
|
|
|
52
49
|
this.html = html;
|
|
53
50
|
return this;
|
|
54
51
|
}
|
|
55
|
-
|
|
56
|
-
this.
|
|
57
|
-
return this;
|
|
58
|
-
}
|
|
59
|
-
styles(url) {
|
|
60
|
-
this.assets.css = url;
|
|
52
|
+
assets(assets) {
|
|
53
|
+
this._assets = assets;
|
|
61
54
|
return this;
|
|
62
55
|
}
|
|
63
56
|
format(type) {
|
|
@@ -72,21 +65,29 @@ class PageResponse {
|
|
|
72
65
|
const templateData = {
|
|
73
66
|
type: this.type,
|
|
74
67
|
markup: this.html,
|
|
75
|
-
assets: this.
|
|
68
|
+
assets: this._assets,
|
|
76
69
|
};
|
|
77
70
|
switch (this.type) {
|
|
78
71
|
case 'json': {
|
|
79
72
|
const result = {
|
|
80
73
|
markup: this._template(templateData),
|
|
81
|
-
bundle_js: this.
|
|
82
|
-
bundle_css: this.
|
|
74
|
+
bundle_js: this._assets.js,
|
|
75
|
+
bundle_css: this._assets.css,
|
|
76
|
+
critical_js: this._assets.criticalJs,
|
|
77
|
+
critical_css: this._assets.criticalCss,
|
|
83
78
|
};
|
|
84
79
|
res.json(result);
|
|
85
80
|
break;
|
|
86
81
|
}
|
|
87
82
|
case 'html': {
|
|
88
|
-
res.setHeader('simaland-bundle-js', this.
|
|
89
|
-
res.setHeader('simaland-bundle-css', this.
|
|
83
|
+
res.setHeader('simaland-bundle-js', this._assets.js);
|
|
84
|
+
res.setHeader('simaland-bundle-css', this._assets.css);
|
|
85
|
+
if (this._assets.criticalJs) {
|
|
86
|
+
res.setHeader('simaland-critical-js', this._assets.criticalJs);
|
|
87
|
+
}
|
|
88
|
+
if (this._assets.criticalCss) {
|
|
89
|
+
res.setHeader('simaland-critical-css', this._assets.criticalCss);
|
|
90
|
+
}
|
|
90
91
|
res.send(this._template(templateData));
|
|
91
92
|
break;
|
|
92
93
|
}
|
package/http-server/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":";;;AAEA,6BAA2B;AAE3B;;;;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,IAAA,UAAI,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,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,uDAAuD;AACvD,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,18 @@ function createConsoleHandler(config) {
|
|
|
21
21
|
},
|
|
22
22
|
}
|
|
23
23
|
: (0, pino_pretty_1.default)({ colorize: true }));
|
|
24
|
-
return function (event) {
|
|
24
|
+
return function handler(event) {
|
|
25
25
|
switch (event.type) {
|
|
26
|
+
case 'log':
|
|
26
27
|
case 'info':
|
|
27
28
|
logger.info(event.data);
|
|
28
29
|
break;
|
|
30
|
+
case 'warn':
|
|
31
|
+
logger.warn(event.data);
|
|
32
|
+
break;
|
|
33
|
+
case 'debug':
|
|
34
|
+
logger.debug(event.data);
|
|
35
|
+
break;
|
|
29
36
|
case 'error':
|
|
30
37
|
logger.error(event.data);
|
|
31
38
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/logger/handler/console.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/logger/handler/console.ts"],"names":[],"mappings":";;;;;;AAEA,gDAAwB;AACxB,8DAAqC;AAErC;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,MAAkB;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,KAAK,YAAY,CAAC;IAE3C,MAAM,MAAM,GAAG,IAAA,cAAI,EACjB,MAAM;QACJ,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,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACnC,CAAC;IAEF,OAAO,SAAS,OAAO,CAAC,KAAK;QAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE;YAClB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM;SACT;IACH,CAAC,CAAC;AACJ,CAAC;AA/BD,oDA+BC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SentryLib } from '../../error-tracker/types';
|
|
2
1
|
import type { LoggerEventHandler } from '../types';
|
|
2
|
+
import type { Hub } from '@sentry/types';
|
|
3
3
|
/**
|
|
4
4
|
* Возвращает новый handler для logger'а для отправки событий в Sentry.
|
|
5
|
-
* @param
|
|
5
|
+
* @param hub Набор данных для работы с Sentry.
|
|
6
6
|
* @return Handler.
|
|
7
7
|
*/
|
|
8
|
-
export declare function createSentryHandler(
|
|
8
|
+
export declare function createSentryHandler(hub: Hub): LoggerEventHandler;
|
package/logger/handler/sentry.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createSentryHandler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const error_tracking_1 = require("../../error-tracking");
|
|
5
5
|
/**
|
|
6
6
|
* Возвращает новый handler для logger'а для отправки событий в Sentry.
|
|
7
|
-
* @param
|
|
7
|
+
* @param hub Набор данных для работы с Sentry.
|
|
8
8
|
* @return Handler.
|
|
9
9
|
*/
|
|
10
|
-
function createSentryHandler(
|
|
10
|
+
function createSentryHandler(hub) {
|
|
11
11
|
return event => {
|
|
12
|
+
// error
|
|
12
13
|
if (event.type === 'error') {
|
|
13
14
|
const error = event.data;
|
|
14
|
-
if (error instanceof
|
|
15
|
+
if (error instanceof error_tracking_1.SentryError) {
|
|
15
16
|
const { level, context, extra } = error.data;
|
|
16
|
-
|
|
17
|
+
hub.withScope(scope => {
|
|
17
18
|
if (level) {
|
|
18
19
|
scope.setLevel(level);
|
|
19
20
|
}
|
|
@@ -23,13 +24,18 @@ function createSentryHandler(sentry) {
|
|
|
23
24
|
if (extra) {
|
|
24
25
|
scope.setExtra(extra.key, extra.data);
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
+
hub.captureException(error);
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
30
|
else {
|
|
30
|
-
|
|
31
|
+
hub.captureException(error);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
34
|
+
// breadcrumb
|
|
35
|
+
if (event.data instanceof error_tracking_1.SentryBreadcrumb) {
|
|
36
|
+
const breadcrumb = event.data.data;
|
|
37
|
+
hub.addBreadcrumb(breadcrumb);
|
|
38
|
+
}
|
|
33
39
|
};
|
|
34
40
|
}
|
|
35
41
|
exports.createSentryHandler = createSentryHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../../src/logger/handler/sentry.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../../src/logger/handler/sentry.ts"],"names":[],"mappings":";;;AAEA,yDAAqE;AAErE;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,OAAO,KAAK,CAAC,EAAE;QACb,QAAQ;QACR,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YAEzB,IAAI,KAAK,YAAY,4BAAW,EAAE;gBAChC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;gBAE7C,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACpB,IAAI,KAAK,EAAE;wBACT,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;qBACvB;oBAED,IAAI,OAAO,EAAE;wBACX,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;qBAC7C;oBAED,IAAI,KAAK,EAAE;wBACT,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;qBACvC;oBAED,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aAC7B;SACF;QAED,aAAa;QACb,IAAI,KAAK,CAAC,IAAI,YAAY,iCAAgB,EAAE;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAEnC,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;AACJ,CAAC;AApCD,kDAoCC"}
|
package/logger/index.d.ts
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Возвращает новый logger - объект для журналирования событий подобно console.
|
|
4
|
-
* @return Logger.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createLogger(): Logger;
|
|
1
|
+
export { Logger, LoggerEvent, LoggerEventType, LoggerEventHandler } from './types';
|
|
2
|
+
export { createLogger } from './logger';
|
package/logger/index.js
CHANGED
|
@@ -1,31 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createLogger = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* @return Logger.
|
|
7
|
-
*/
|
|
8
|
-
function createLogger() {
|
|
9
|
-
const handlers = [];
|
|
10
|
-
// eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
|
|
11
|
-
function createMethod(type) {
|
|
12
|
-
return function (data) {
|
|
13
|
-
const event = { type, data };
|
|
14
|
-
for (const handler of handlers) {
|
|
15
|
-
handler(event);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
log: createMethod('log'),
|
|
21
|
-
info: createMethod('info'),
|
|
22
|
-
warn: createMethod('warn'),
|
|
23
|
-
error: createMethod('error'),
|
|
24
|
-
debug: createMethod('debug'),
|
|
25
|
-
subscribe: handler => {
|
|
26
|
-
handlers.push(handler);
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
exports.createLogger = createLogger;
|
|
4
|
+
var logger_1 = require("./logger");
|
|
5
|
+
Object.defineProperty(exports, "createLogger", { enumerable: true, get: function () { return logger_1.createLogger; } });
|
|
31
6
|
//# sourceMappingURL=index.js.map
|
package/logger/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":";;;AACA,mCAAwC;AAA/B,sGAAA,YAAY,OAAA"}
|
package/logger/logger.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createLogger = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Возвращает новый logger - объект для журналирования событий подобно console.
|
|
6
|
+
* @return Logger.
|
|
7
|
+
*/
|
|
8
|
+
function createLogger() {
|
|
9
|
+
const handlers = [];
|
|
10
|
+
// eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
|
|
11
|
+
function createMethod(type) {
|
|
12
|
+
return function (data) {
|
|
13
|
+
const event = { type, data };
|
|
14
|
+
for (const handler of handlers) {
|
|
15
|
+
handler(event);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
log: createMethod('log'),
|
|
21
|
+
info: createMethod('info'),
|
|
22
|
+
warn: createMethod('warn'),
|
|
23
|
+
error: createMethod('error'),
|
|
24
|
+
debug: createMethod('debug'),
|
|
25
|
+
subscribe: handler => {
|
|
26
|
+
handlers.push(handler);
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.createLogger = createLogger;
|
|
31
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,SAAgB,YAAY;IAC1B,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,8DAA8D;IAC9D,SAAS,YAAY,CAAC,IAAqB;QACzC,OAAO,UAAU,IAAS;YACxB,MAAM,KAAK,GAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,OAAO,CAAC,KAAK,CAAC,CAAC;aAChB;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC;QACxB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;QAC5B,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;QAE5B,SAAS,EAAE,OAAO,CAAC,EAAE;YACnB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAxBD,oCAwBC"}
|
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.12",
|
|
4
4
|
"description": "Tiny framework for fast start frontend microservices",
|
|
5
5
|
"author": "www.sima-land.ru team",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"@types/ejs": "^3.1.1",
|
|
23
23
|
"@types/express": "^4.17.13",
|
|
24
24
|
"@types/jest": "^27.4.1",
|
|
25
|
+
"@types/jsesc": "^3.0.1",
|
|
25
26
|
"@types/lodash": "^4.14.182",
|
|
26
27
|
"@types/react": "^17.0.40",
|
|
27
28
|
"@types/react-dom": "^17.0.13",
|
|
@@ -32,7 +33,7 @@
|
|
|
32
33
|
},
|
|
33
34
|
"dependencies": {
|
|
34
35
|
"@humanwhocodes/env": "^2.2.0",
|
|
35
|
-
"@opentelemetry/api": "^1.0
|
|
36
|
+
"@opentelemetry/api": "^1.1.0",
|
|
36
37
|
"@opentelemetry/exporter-jaeger": "^1.0.1",
|
|
37
38
|
"@opentelemetry/instrumentation": "^0.27.0",
|
|
38
39
|
"@opentelemetry/instrumentation-express": "^0.28.0",
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
"dotenv": "^16.0.0",
|
|
47
48
|
"ejs": "^3.1.8",
|
|
48
49
|
"express": "^4.17.3",
|
|
50
|
+
"jsesc": "^3.0.2",
|
|
49
51
|
"middleware-axios": "^2.1.2",
|
|
50
52
|
"pino": "^7.9.1",
|
|
51
53
|
"pino-pretty": "^7.5.4",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Resolve } from '../../di';
|
|
2
|
+
import { Logger } from '../../logger';
|
|
3
|
+
import { SagaExtendedMiddleware } from '../../utils/redux-saga';
|
|
4
|
+
import type { BaseConfig } from '../../config/types';
|
|
5
|
+
export declare function PresetBrowser(): import("../../di").Preset;
|
|
6
|
+
export declare function provideBaseConfig(resolve: Resolve): BaseConfig;
|
|
7
|
+
export declare function provideLogger(resolve: Resolve): Logger;
|
|
8
|
+
export declare function provideSagaMiddleware(resolve: Resolve): SagaExtendedMiddleware;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provideSagaMiddleware = exports.provideLogger = exports.provideBaseConfig = exports.PresetBrowser = void 0;
|
|
4
|
+
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
5
|
+
const di_1 = require("../../di");
|
|
6
|
+
const tokens_1 = require("../../tokens");
|
|
7
|
+
const base_1 = require("../../config/base");
|
|
8
|
+
const browser_1 = require("../../config/browser");
|
|
9
|
+
const logger_1 = require("../../logger");
|
|
10
|
+
const sentry_1 = require("../../logger/handler/sentry");
|
|
11
|
+
const redux_saga_1 = require("../../utils/redux-saga");
|
|
12
|
+
const browser_2 = require("@sentry/browser");
|
|
13
|
+
const middleware_axios_1 = require("middleware-axios");
|
|
14
|
+
function PresetBrowser() {
|
|
15
|
+
return (0, di_1.createPreset)([
|
|
16
|
+
[tokens_1.KnownToken.Config.source, browser_1.createConfigSource],
|
|
17
|
+
[tokens_1.KnownToken.Config.base, provideBaseConfig],
|
|
18
|
+
[tokens_1.KnownToken.logger, provideLogger],
|
|
19
|
+
[tokens_1.KnownToken.sagaMiddleware, provideSagaMiddleware],
|
|
20
|
+
[tokens_1.KnownToken.Http.Client.factory, () => middleware_axios_1.create],
|
|
21
|
+
]);
|
|
22
|
+
}
|
|
23
|
+
exports.PresetBrowser = PresetBrowser;
|
|
24
|
+
function provideBaseConfig(resolve) {
|
|
25
|
+
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
26
|
+
return (0, base_1.createBaseConfig)(source);
|
|
27
|
+
}
|
|
28
|
+
exports.provideBaseConfig = provideBaseConfig;
|
|
29
|
+
function provideLogger(resolve) {
|
|
30
|
+
const source = resolve(tokens_1.KnownToken.Config.source);
|
|
31
|
+
const client = new browser_2.BrowserClient({
|
|
32
|
+
dsn: source.require('SENTRY_CLIENT_DSN'),
|
|
33
|
+
release: source.require('SENTRY_RELEASE'),
|
|
34
|
+
environment: source.require('SENTRY_ENVIRONMENT'),
|
|
35
|
+
integrations: [...browser_2.defaultIntegrations],
|
|
36
|
+
});
|
|
37
|
+
const hub = new browser_2.Hub(client);
|
|
38
|
+
const logger = (0, logger_1.createLogger)();
|
|
39
|
+
logger.subscribe((0, sentry_1.createSentryHandler)(hub));
|
|
40
|
+
return logger;
|
|
41
|
+
}
|
|
42
|
+
exports.provideLogger = provideLogger;
|
|
43
|
+
function provideSagaMiddleware(resolve) {
|
|
44
|
+
const logger = resolve(tokens_1.KnownToken.logger);
|
|
45
|
+
return (0, redux_saga_1.createSagaMiddleware)(logger);
|
|
46
|
+
}
|
|
47
|
+
exports.provideSagaMiddleware = provideSagaMiddleware;
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/preset/browser/index.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,iCAAiD;AACjD,yCAA0C;AAC1C,4CAAqD;AACrD,kDAA0D;AAC1D,yCAAoD;AACpD,wDAAkE;AAClE,uDAAsF;AACtF,6CAA0E;AAC1E,uDAA0C;AAG1C,SAAgB,aAAa;IAC3B,OAAO,IAAA,iBAAY,EAAC;QAClB,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,EAAE,4BAAkB,CAAC;QAC9C,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;QAC3C,CAAC,mBAAU,CAAC,MAAM,EAAE,aAAa,CAAC;QAClC,CAAC,mBAAU,CAAC,cAAc,EAAE,qBAAqB,CAAC;QAClD,CAAC,mBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAM,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC;AARD,sCAQC;AAED,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,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,IAAI,uBAAa,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACxC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACjD,YAAY,EAAE,CAAC,GAAG,6BAAmB,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAE9B,MAAM,CAAC,SAAS,CAAC,IAAA,4BAAmB,EAAC,GAAG,CAAC,CAAC,CAAC;IAE3C,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,sCAiBC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAJD,sDAIC"}
|