@sima-land/isomorph 11.0.0-alpha.50 → 11.0.0-alpha.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/di/application.js +1 -1
- package/dist/cjs/di/application.js.map +1 -1
- package/dist/cjs/di/container.js +1 -1
- package/dist/cjs/di/container.js.map +1 -1
- package/dist/cjs/di/preset.js +1 -1
- package/dist/cjs/di/preset.js.map +1 -1
- package/dist/cjs/http/utils.js +16 -4
- package/dist/cjs/http/utils.js.map +1 -1
- package/dist/cjs/log/handler/sentry.js +18 -22
- package/dist/cjs/log/handler/sentry.js.map +1 -1
- package/dist/cjs/log/index.js +14 -0
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.js +1 -1
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/package.json +16 -16
- package/dist/cjs/preset/bun/providers/config-source.js +1 -1
- package/dist/cjs/preset/bun/providers/config-source.js.map +1 -1
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js +5 -3
- package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +1 -1
- package/dist/cjs/preset/bun/providers/logger.js +1 -1
- package/dist/cjs/preset/bun/providers/logger.js.map +1 -1
- package/dist/cjs/preset/bun/providers/serve-metrics.js +1 -1
- package/dist/cjs/preset/bun/providers/serve-metrics.js.map +1 -1
- package/dist/cjs/preset/bun/providers/serve-middleware.js +2 -2
- package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -1
- package/dist/cjs/preset/bun/providers/service-routes.js +1 -1
- package/dist/cjs/preset/bun/providers/service-routes.js.map +1 -1
- package/dist/cjs/preset/bun-handler/index.js +0 -2
- package/dist/cjs/preset/bun-handler/index.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +1 -1
- package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/handler-main.js +1 -1
- package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -1
- package/dist/cjs/preset/bun-handler/providers/specific-params.js +1 -1
- package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-error-middleware.js +1 -1
- package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/express-request-middleware.js +6 -1
- package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -1
- package/dist/cjs/preset/node/providers/log-handler-sentry.js +11 -7
- package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -1
- package/dist/cjs/preset/node/providers/main-express-app.js +1 -3
- package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -1
- package/dist/cjs/preset/server/providers/fetch-middleware.js +1 -1
- package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -1
- package/dist/cjs/preset/server/providers/serve.js +1 -1
- package/dist/cjs/preset/server/providers/serve.js.map +1 -1
- package/dist/cjs/preset/web/providers/logger.js +9 -6
- package/dist/cjs/preset/web/providers/logger.js.map +1 -1
- package/dist/cjs/utils/redux/remote-data.js +1 -1
- package/dist/cjs/utils/redux/remote-data.js.map +1 -1
- package/dist/cjs/utils/redux-saga/middleware.js +1 -1
- package/dist/cjs/utils/redux-saga/middleware.js.map +1 -1
- package/dist/cjs/utils/web/storage/index.js +1 -1
- package/dist/cjs/utils/web/storage/index.js.map +1 -1
- package/dist/cjs/utils/webpack/index.js +6 -0
- package/dist/cjs/utils/webpack/index.js.map +1 -1
- package/dist/esm/di/application.js +1 -1
- package/dist/esm/di/application.js.map +1 -1
- package/dist/esm/di/container.js +1 -1
- package/dist/esm/di/container.js.map +1 -1
- package/dist/esm/di/preset.js +1 -1
- package/dist/esm/di/preset.js.map +1 -1
- package/dist/esm/http/utils.js +16 -4
- package/dist/esm/http/utils.js.map +1 -1
- package/dist/esm/log/handler/sentry.js +18 -22
- package/dist/esm/log/handler/sentry.js.map +1 -1
- package/dist/esm/log/index.js +2 -0
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.js +1 -1
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/package.json +16 -16
- package/dist/esm/preset/bun/providers/config-source.js +1 -1
- package/dist/esm/preset/bun/providers/config-source.js.map +1 -1
- package/dist/esm/preset/bun/providers/log-handler-sentry.js +6 -4
- package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +1 -1
- package/dist/esm/preset/bun/providers/logger.js +1 -1
- package/dist/esm/preset/bun/providers/logger.js.map +1 -1
- package/dist/esm/preset/bun/providers/serve-metrics.js +1 -1
- package/dist/esm/preset/bun/providers/serve-metrics.js.map +1 -1
- package/dist/esm/preset/bun/providers/serve-middleware.js +3 -3
- package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -1
- package/dist/esm/preset/bun/providers/service-routes.js +1 -1
- package/dist/esm/preset/bun/providers/service-routes.js.map +1 -1
- package/dist/esm/preset/bun-handler/index.js +0 -1
- package/dist/esm/preset/bun-handler/index.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +1 -1
- package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/handler-main.js +1 -1
- package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -1
- package/dist/esm/preset/bun-handler/providers/specific-params.js +1 -1
- package/dist/esm/preset/bun-handler/providers/specific-params.js.map +1 -1
- package/dist/esm/preset/node/providers/express-error-middleware.js +2 -3
- package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/express-request-middleware.js +7 -3
- package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -1
- package/dist/esm/preset/node/providers/log-handler-sentry.js +11 -5
- package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -1
- package/dist/esm/preset/node/providers/main-express-app.js +1 -3
- package/dist/esm/preset/node/providers/main-express-app.js.map +1 -1
- package/dist/esm/preset/server/providers/fetch-middleware.js +1 -1
- package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -1
- package/dist/esm/preset/server/providers/serve.js +1 -1
- package/dist/esm/preset/server/providers/serve.js.map +1 -1
- package/dist/esm/preset/web/providers/logger.js +10 -7
- package/dist/esm/preset/web/providers/logger.js.map +1 -1
- package/dist/esm/utils/redux/remote-data.js +1 -1
- package/dist/esm/utils/redux/remote-data.js.map +1 -1
- package/dist/esm/utils/redux-saga/middleware.js +1 -1
- package/dist/esm/utils/redux-saga/middleware.js.map +1 -1
- package/dist/esm/utils/web/storage/index.js +1 -1
- package/dist/esm/utils/web/storage/index.js.map +1 -1
- package/dist/esm/utils/webpack/index.js +2 -3
- package/dist/esm/utils/webpack/index.js.map +1 -1
- package/dist/types/http/utils.d.ts.map +1 -1
- package/dist/types/log/handler/sentry.d.ts +3 -3
- package/dist/types/log/handler/sentry.d.ts.map +1 -1
- package/dist/types/log/index.d.ts +2 -0
- package/dist/types/log/index.d.ts.map +1 -1
- package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +1 -1
- package/dist/types/preset/bun-handler/index.d.ts.map +1 -1
- package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -1
- package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -1
- package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -1
- package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -1
- package/dist/types/preset/web/providers/logger.d.ts.map +1 -1
- package/dist/types/utils/webpack/index.d.ts +4 -6
- package/dist/types/utils/webpack/index.d.ts.map +1 -1
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","names":["AlreadyBoundError","CircularDependencyError","NothingBoundError","ContainerImplementation","constructor","cache","Map","registry","set","token","provider","has","_key","get","resolve","chain","includes","push","Error","value","otherToken","createContainer"],"sources":["../../../src/di/container.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"container.js","names":["AlreadyBoundError","CircularDependencyError","NothingBoundError","ContainerImplementation","constructor","cache","Map","registry","set","token","provider","has","_key","get","resolve","chain","includes","push","Error","value","otherToken","createContainer"],"sources":["../../../src/di/container.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Container, Provider, Token } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\n\nclass ContainerImplementation implements Container {\n cache: Map<symbol, any>;\n registry: Map<symbol, Provider<any>>;\n\n constructor() {\n this.cache = new Map<symbol, any>();\n this.registry = new Map<symbol, Provider<any>>();\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): void {\n if (this.registry.has(token._key)) {\n throw new AlreadyBoundError(token);\n }\n\n this.registry.set(token._key, provider);\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n private resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (chain.includes(token)) {\n throw new CircularDependencyError([...chain, token]);\n } else {\n chain.push(token);\n }\n\n if (this.cache.has(token._key)) {\n return this.cache.get(token._key);\n } else if (this.registry.has(token._key)) {\n const provider = this.registry.get(token._key);\n\n if (typeof provider !== 'function') {\n throw new Error('Provider is not a function');\n }\n\n const value = provider(otherToken => this.resolve(otherToken, chain));\n\n // всегда как singleton\n this.cache.set(token._key, value);\n\n return value;\n } else {\n throw new NothingBoundError(token);\n }\n }\n}\n\n/**\n * Возвращает новый DI-контейнер.\n * @return DI-контейнер.\n */\nexport function createContainer(): Container {\n return new ContainerImplementation();\n}\n"],"mappings":"AAAA;;AAEA,SAASA,iBAAiB,EAAEC,uBAAuB,EAAEC,iBAAiB,QAAQ,aAAU;AAExF,MAAMC,uBAAuB,CAAsB;EAIjDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,KAAK,GAAG,IAAIC,GAAG,CAAc,CAAC;IACnC,IAAI,CAACC,QAAQ,GAAG,IAAID,GAAG,CAAwB,CAAC;EAClD;EAEAE,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACjC,MAAM,IAAIZ,iBAAiB,CAACS,KAAK,CAAC;IACpC;IAEA,IAAI,CAACF,QAAQ,CAACC,GAAG,CAACC,KAAK,CAACG,IAAI,EAAEF,QAAQ,CAAC;EACzC;EAEAG,GAAGA,CAAIJ,KAAe,EAAK;IACzB,OAAO,IAAI,CAACK,OAAO,CAACL,KAAK,EAAE,EAAE,CAAC;EAChC;EAEQK,OAAOA,CAAIL,KAAe,EAAEM,KAAmB,EAAK;IAC1D,IAAIA,KAAK,CAACC,QAAQ,CAACP,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIR,uBAAuB,CAAC,CAAC,GAAGc,KAAK,EAAEN,KAAK,CAAC,CAAC;IACtD,CAAC,MAAM;MACLM,KAAK,CAACE,IAAI,CAACR,KAAK,CAAC;IACnB;IAEA,IAAI,IAAI,CAACJ,KAAK,CAACM,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MAC9B,OAAO,IAAI,CAACP,KAAK,CAACQ,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;IACnC,CAAC,MAAM,IAAI,IAAI,CAACL,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACxC,MAAMF,QAAQ,GAAG,IAAI,CAACH,QAAQ,CAACM,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;MAE9C,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;QAClC,MAAM,IAAIQ,KAAK,CAAC,4BAA4B,CAAC;MAC/C;MAEA,MAAMC,KAAK,GAAGT,QAAQ,CAACU,UAAU,IAAI,IAAI,CAACN,OAAO,CAACM,UAAU,EAAEL,KAAK,CAAC,CAAC;;MAErE;MACA,IAAI,CAACV,KAAK,CAACG,GAAG,CAACC,KAAK,CAACG,IAAI,EAAEO,KAAK,CAAC;MAEjC,OAAOA,KAAK;IACd,CAAC,MAAM;MACL,MAAM,IAAIjB,iBAAiB,CAACO,KAAK,CAAC;IACpC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASY,eAAeA,CAAA,EAAc;EAC3C,OAAO,IAAIlB,uBAAuB,CAAC,CAAC;AACtC"}
|
package/dist/esm/di/preset.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preset.js","names":["PresetImplementation","constructor","defaults","registry","Map","set","token","provider","apply","app","bind","toProvider","createPreset"],"sources":["../../../src/di/preset.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"preset.js","names":["PresetImplementation","constructor","defaults","registry","Map","set","token","provider","apply","app","bind","toProvider","createPreset"],"sources":["../../../src/di/preset.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Preset } from './types';\n\ntype PresetEntry<T = any> = [Token<T>, Provider<T>];\n\nclass PresetImplementation implements Preset {\n private registry: Map<Token<any>, Provider<any>>;\n\n constructor(defaults?: Iterable<PresetEntry>) {\n this.registry = new Map<Token<any>, Provider<any>>(defaults);\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): this {\n this.registry.set(token, provider);\n return this;\n }\n\n apply(app: Application): void {\n for (const [token, provider] of this.registry) {\n app.bind(token).toProvider(provider);\n }\n }\n}\n\n/**\n * Возвращает новый \"preset\" для DI-приложения - набор предустановленных компонентов которые можно переопределять.\n * @param defaults Предустановленные зависимости.\n * @return Preset.\n */\nexport function createPreset(defaults?: PresetEntry[]): Preset {\n return new PresetImplementation(defaults);\n}\n"],"mappings":"AAAA;;AAKA,MAAMA,oBAAoB,CAAmB;EAG3CC,WAAWA,CAACC,QAAgC,EAAE;IAC5C,IAAI,CAACC,QAAQ,GAAG,IAAIC,GAAG,CAA4BF,QAAQ,CAAC;EAC9D;EAEAG,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,CAACJ,QAAQ,CAACE,GAAG,CAACC,KAAK,EAAEC,QAAQ,CAAC;IAClC,OAAO,IAAI;EACb;EAEAC,KAAKA,CAACC,GAAgB,EAAQ;IAC5B,KAAK,MAAM,CAACH,KAAK,EAAEC,QAAQ,CAAC,IAAI,IAAI,CAACJ,QAAQ,EAAE;MAC7CM,GAAG,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,UAAU,CAACJ,QAAQ,CAAC;IACtC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,YAAYA,CAACV,QAAwB,EAAU;EAC7D,OAAO,IAAIF,oBAAoB,CAACE,QAAQ,CAAC;AAC3C"}
|
package/dist/esm/http/utils.js
CHANGED
|
@@ -51,11 +51,21 @@ export const FetchUtil = {
|
|
|
51
51
|
eitherResponse({
|
|
52
52
|
parseBody = response => response.json()
|
|
53
53
|
} = {}) {
|
|
54
|
-
|
|
54
|
+
/** @inheritdoc */
|
|
55
|
+
const parse = async response => {
|
|
56
|
+
try {
|
|
57
|
+
return await parseBody(response);
|
|
58
|
+
} catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
return [
|
|
63
|
+
// then
|
|
64
|
+
async response => {
|
|
55
65
|
if (!response.ok) {
|
|
56
66
|
return {
|
|
57
67
|
ok: false,
|
|
58
|
-
data: await
|
|
68
|
+
data: await parse(response),
|
|
59
69
|
error: new Error(`Request failed with status code ${response.status}`),
|
|
60
70
|
status: response.status,
|
|
61
71
|
statusText: response.statusText,
|
|
@@ -64,13 +74,15 @@ export const FetchUtil = {
|
|
|
64
74
|
}
|
|
65
75
|
return {
|
|
66
76
|
ok: true,
|
|
67
|
-
data: await
|
|
77
|
+
data: await parse(response),
|
|
68
78
|
error: null,
|
|
69
79
|
status: response.status,
|
|
70
80
|
statusText: response.statusText,
|
|
71
81
|
headers: response.headers
|
|
72
82
|
};
|
|
73
|
-
},
|
|
83
|
+
},
|
|
84
|
+
// catch
|
|
85
|
+
async error => ({
|
|
74
86
|
ok: false,
|
|
75
87
|
error
|
|
76
88
|
})];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["FetchUtil","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","parseBody","response","json","
|
|
1
|
+
{"version":3,"file":"utils.js","names":["FetchUtil","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","parseBody","response","json","parse","ok","data","error","Error","status","statusText","headers"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @param options Опции.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>({\n parseBody = response => response.json(),\n }: {\n /** Парсер body. */\n parseBody?: (response: Response) => Promise<T>;\n } = {}) {\n /** @inheritdoc */\n const parse = async (response: Response): Promise<T | null> => {\n try {\n return await parseBody(response);\n } catch {\n return null;\n }\n };\n\n return [\n // then\n async (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (!response.ok) {\n return {\n ok: false,\n data: (await parse(response)) as T,\n error: new Error(`Request failed with status code ${response.status}`),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n return {\n ok: true,\n data: (await parse(response)) as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n },\n\n // catch\n async (error: unknown): Promise<ResponseFail<T>> => ({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":"AAEA;AACA;AACA;AACA,OAAO,MAAMA,SAAS,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEC,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BF,SAAS,CAACC,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,cAAcA,CAAc;IAC1BC,SAAS,GAAGC,QAAQ,IAAIA,QAAQ,CAACC,IAAI,CAAC;EAIxC,CAAC,GAAG,CAAC,CAAC,EAAE;IACN;IACA,MAAMC,KAAK,GAAG,MAAOF,QAAkB,IAAwB;MAC7D,IAAI;QACF,OAAO,MAAMD,SAAS,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF,CAAC;IAED,OAAO;IACL;IACA,MAAOA,QAAkB,IAAiD;MACxE,IAAI,CAACA,QAAQ,CAACG,EAAE,EAAE;QAChB,OAAO;UACLA,EAAE,EAAE,KAAK;UACTC,IAAI,EAAG,MAAMF,KAAK,CAACF,QAAQ,CAAO;UAClCK,KAAK,EAAE,IAAIC,KAAK,CAAE,mCAAkCN,QAAQ,CAACO,MAAO,EAAC,CAAC;UACtEA,MAAM,EAAEP,QAAQ,CAACO,MAAM;UACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;UAC/BC,OAAO,EAAET,QAAQ,CAACS;QACpB,CAAC;MACH;MAEA,OAAO;QACLN,EAAE,EAAE,IAAI;QACRC,IAAI,EAAG,MAAMF,KAAK,CAACF,QAAQ,CAAO;QAClCK,KAAK,EAAE,IAAI;QACXE,MAAM,EAAEP,QAAQ,CAACO,MAAM;QACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;QAC/BC,OAAO,EAAET,QAAQ,CAACS;MACpB,CAAC;IACH,CAAC;IAED;IACA,MAAOJ,KAAc,KAAgC;MACnDF,EAAE,EAAE,KAAK;MACTE;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAU"}
|
|
@@ -2,16 +2,16 @@ import { Breadcrumb, DetailedError } from "./../../log/index.js";
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Возвращает новый handler для logger'а для отправки событий в Sentry.
|
|
5
|
-
* @param
|
|
5
|
+
* @param scopeInit Sentry Hub или функция которая его вернёт.
|
|
6
6
|
* @return Handler.
|
|
7
7
|
*/
|
|
8
|
-
export function createSentryHandler(
|
|
9
|
-
const
|
|
8
|
+
export function createSentryHandler(scopeInit) {
|
|
9
|
+
const getScope = typeof scopeInit === 'function' ? scopeInit : () => scopeInit;
|
|
10
10
|
return event => {
|
|
11
|
-
// ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub
|
|
11
|
+
// ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub (ныне scope)
|
|
12
12
|
// подробности: https://github.com/getsentry/sentry-javascript/discussions/5648
|
|
13
13
|
// поэтому если передана функция - вызываем каждый раз (внутри обработчика)
|
|
14
|
-
const
|
|
14
|
+
const scope = getScope();
|
|
15
15
|
|
|
16
16
|
// error
|
|
17
17
|
if (event.type === 'error') {
|
|
@@ -22,30 +22,26 @@ export function createSentryHandler(hubInit) {
|
|
|
22
22
|
context,
|
|
23
23
|
extra
|
|
24
24
|
} = error.data;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
if (level) {
|
|
26
|
+
scope.setLevel(level);
|
|
27
|
+
}
|
|
28
|
+
if (context) {
|
|
29
|
+
const list = Array.isArray(context) ? context : [context];
|
|
30
|
+
for (const item of list) {
|
|
31
|
+
scope.setContext(item.key, item.data);
|
|
28
32
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (extra) {
|
|
36
|
-
scope.setExtra(extra.key, extra.data);
|
|
37
|
-
}
|
|
38
|
-
hub.captureException(error);
|
|
39
|
-
});
|
|
40
|
-
} else {
|
|
41
|
-
hub.captureException(error);
|
|
33
|
+
}
|
|
34
|
+
if (extra) {
|
|
35
|
+
scope.setExtra(extra.key, extra.data);
|
|
36
|
+
}
|
|
42
37
|
}
|
|
38
|
+
scope.captureException(error);
|
|
43
39
|
}
|
|
44
40
|
|
|
45
41
|
// breadcrumb
|
|
46
42
|
if (event.data instanceof Breadcrumb) {
|
|
47
43
|
const breadcrumb = event.data.data;
|
|
48
|
-
|
|
44
|
+
scope.addBreadcrumb(breadcrumb);
|
|
49
45
|
}
|
|
50
46
|
};
|
|
51
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.js","names":["Breadcrumb","DetailedError","createSentryHandler","
|
|
1
|
+
{"version":3,"file":"sentry.js","names":["Breadcrumb","DetailedError","createSentryHandler","scopeInit","getScope","event","scope","type","error","data","level","context","extra","setLevel","list","Array","isArray","item","setContext","key","setExtra","captureException","breadcrumb","addBreadcrumb"],"sources":["../../../../src/log/handler/sentry.ts"],"sourcesContent":["import type { LogHandler } from '../types';\nimport type { Scope } from '@sentry/types';\nimport { Breadcrumb, DetailedError } from '../../log';\n\n/**\n * Возвращает новый handler для logger'а для отправки событий в Sentry.\n * @param scopeInit Sentry Hub или функция которая его вернёт.\n * @return Handler.\n */\nexport function createSentryHandler(scopeInit: Scope | (() => Scope)): LogHandler {\n const getScope = typeof scopeInit === 'function' ? scopeInit : () => scopeInit;\n\n return event => {\n // ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub (ныне scope)\n // подробности: https://github.com/getsentry/sentry-javascript/discussions/5648\n // поэтому если передана функция - вызываем каждый раз (внутри обработчика)\n const scope = getScope();\n\n // error\n if (event.type === 'error') {\n const error = event.data;\n\n if (error instanceof DetailedError) {\n const { level, context, extra } = error.data;\n\n if (level) {\n scope.setLevel(level);\n }\n\n if (context) {\n const list = Array.isArray(context) ? context : [context];\n\n for (const item of list) {\n scope.setContext(item.key, item.data);\n }\n }\n\n if (extra) {\n scope.setExtra(extra.key, extra.data);\n }\n }\n\n scope.captureException(error);\n }\n\n // breadcrumb\n if (event.data instanceof Breadcrumb) {\n const breadcrumb = event.data.data;\n\n scope.addBreadcrumb(breadcrumb);\n }\n };\n}\n"],"mappings":"AAEA,SAASA,UAAU,EAAEC,aAAa,QAAQ,sBAAW;;AAErD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,SAAgC,EAAc;EAChF,MAAMC,QAAQ,GAAG,OAAOD,SAAS,KAAK,UAAU,GAAGA,SAAS,GAAG,MAAMA,SAAS;EAE9E,OAAOE,KAAK,IAAI;IACd;IACA;IACA;IACA,MAAMC,KAAK,GAAGF,QAAQ,CAAC,CAAC;;IAExB;IACA,IAAIC,KAAK,CAACE,IAAI,KAAK,OAAO,EAAE;MAC1B,MAAMC,KAAK,GAAGH,KAAK,CAACI,IAAI;MAExB,IAAID,KAAK,YAAYP,aAAa,EAAE;QAClC,MAAM;UAAES,KAAK;UAAEC,OAAO;UAAEC;QAAM,CAAC,GAAGJ,KAAK,CAACC,IAAI;QAE5C,IAAIC,KAAK,EAAE;UACTJ,KAAK,CAACO,QAAQ,CAACH,KAAK,CAAC;QACvB;QAEA,IAAIC,OAAO,EAAE;UACX,MAAMG,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACL,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;UAEzD,KAAK,MAAMM,IAAI,IAAIH,IAAI,EAAE;YACvBR,KAAK,CAACY,UAAU,CAACD,IAAI,CAACE,GAAG,EAAEF,IAAI,CAACR,IAAI,CAAC;UACvC;QACF;QAEA,IAAIG,KAAK,EAAE;UACTN,KAAK,CAACc,QAAQ,CAACR,KAAK,CAACO,GAAG,EAAEP,KAAK,CAACH,IAAI,CAAC;QACvC;MACF;MAEAH,KAAK,CAACe,gBAAgB,CAACb,KAAK,CAAC;IAC/B;;IAEA;IACA,IAAIH,KAAK,CAACI,IAAI,YAAYT,UAAU,EAAE;MACpC,MAAMsB,UAAU,GAAGjB,KAAK,CAACI,IAAI,CAACA,IAAI;MAElCH,KAAK,CAACiB,aAAa,CAACD,UAAU,CAAC;IACjC;EACF,CAAC;AACH"}
|
package/dist/esm/log/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createLogger","DetailedError","Breadcrumb"],"sources":["../../../src/log/index.ts"],"sourcesContent":["export type {\n Logger,\n LogEvent,\n LogLevel,\n LogHandler,\n ErrorDetails,\n BreadcrumbDetails,\n ContextData,\n} from './types';\n\nexport { createLogger } from './logger';\nexport { DetailedError, Breadcrumb } from './errors';\n"],"mappings":"AAUA,SAASA,YAAY,QAAQ,aAAU;AACvC,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAU"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["createLogger","DetailedError","Breadcrumb","createPinoHandler","createSentryHandler"],"sources":["../../../src/log/index.ts"],"sourcesContent":["export type {\n Logger,\n LogEvent,\n LogLevel,\n LogHandler,\n ErrorDetails,\n BreadcrumbDetails,\n ContextData,\n} from './types';\n\nexport { createLogger } from './logger';\nexport { DetailedError, Breadcrumb } from './errors';\nexport { createPinoHandler } from './handler/pino';\nexport { createSentryHandler } from './handler/sentry';\n"],"mappings":"AAUA,SAASA,YAAY,QAAQ,aAAU;AACvC,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAU;AACpD,SAASC,iBAAiB,QAAQ,mBAAgB;AAClD,SAASC,mBAAmB,QAAQ,qBAAkB"}
|
package/dist/esm/log/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","names":["createLogger","handlers","createMethod","type","data","event","handler","log","info","warn","error","debug","subscribe","push"],"sources":["../../../src/log/logger.ts"],"sourcesContent":["import type { Logger, LogEvent, LogLevel, LogHandler } from './types';\n\n/**\n * Возвращает новый logger - объект для журналирования событий подобно console.\n * @return Logger.\n */\nexport function createLogger(): Logger {\n const handlers: LogHandler[] = [];\n\n // eslint-disable-next-line
|
|
1
|
+
{"version":3,"file":"logger.js","names":["createLogger","handlers","createMethod","type","data","event","handler","log","info","warn","error","debug","subscribe","push"],"sources":["../../../src/log/logger.ts"],"sourcesContent":["import type { Logger, LogEvent, LogLevel, LogHandler } from './types';\n\n/**\n * Возвращает новый logger - объект для журналирования событий подобно console.\n * @return Logger.\n */\nexport function createLogger(): Logger {\n const handlers: LogHandler[] = [];\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n const createMethod = (type: LogLevel) => (data: any) => {\n const event: LogEvent = { type, data };\n\n for (const handler of handlers) {\n handler(event);\n }\n };\n\n return {\n log: createMethod('log'),\n info: createMethod('info'),\n warn: createMethod('warn'),\n error: createMethod('error'),\n debug: createMethod('debug'),\n\n subscribe: handler => {\n handlers.push(handler);\n },\n };\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA,OAAO,SAASA,YAAYA,CAAA,EAAW;EACrC,MAAMC,QAAsB,GAAG,EAAE;;EAEjC;EACA,MAAMC,YAAY,GAAIC,IAAc,IAAMC,IAAS,IAAK;IACtD,MAAMC,KAAe,GAAG;MAAEF,IAAI;MAAEC;IAAK,CAAC;IAEtC,KAAK,MAAME,OAAO,IAAIL,QAAQ,EAAE;MAC9BK,OAAO,CAACD,KAAK,CAAC;IAChB;EACF,CAAC;EAED,OAAO;IACLE,GAAG,EAAEL,YAAY,CAAC,KAAK,CAAC;IACxBM,IAAI,EAAEN,YAAY,CAAC,MAAM,CAAC;IAC1BO,IAAI,EAAEP,YAAY,CAAC,MAAM,CAAC;IAC1BQ,KAAK,EAAER,YAAY,CAAC,OAAO,CAAC;IAC5BS,KAAK,EAAET,YAAY,CAAC,OAAO,CAAC;IAE5BU,SAAS,EAAEN,OAAO,IAAI;MACpBL,QAAQ,CAACY,IAAI,CAACP,OAAO,CAAC;IACxB;EACF,CAAC;AACH"}
|
package/dist/esm/package.json
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@sima-land/isomorph",
|
|
4
|
-
"version": "11.0.0-alpha.
|
|
4
|
+
"version": "11.0.0-alpha.52",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@humanwhocodes/env": "^3.0.5",
|
|
7
7
|
"@krutoo/fetch-tools": "^0.0.16",
|
|
8
|
-
"@opentelemetry/api": "^1.
|
|
9
|
-
"@opentelemetry/exporter-prometheus": "^0.
|
|
10
|
-
"@opentelemetry/exporter-trace-otlp-http": "^0.
|
|
11
|
-
"@opentelemetry/propagator-jaeger": "^1.
|
|
12
|
-
"@opentelemetry/resources": "^1.
|
|
13
|
-
"@opentelemetry/sdk-metrics": "^1.
|
|
14
|
-
"@opentelemetry/sdk-trace-base": "^1.
|
|
15
|
-
"@opentelemetry/sdk-trace-node": "^1.
|
|
16
|
-
"@opentelemetry/semantic-conventions": "^1.
|
|
17
|
-
"@sentry/browser": "^
|
|
18
|
-
"@sentry/bun": "^
|
|
19
|
-
"@sentry/node": "^
|
|
8
|
+
"@opentelemetry/api": "^1.9.0",
|
|
9
|
+
"@opentelemetry/exporter-prometheus": "^0.52.1",
|
|
10
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.52.1",
|
|
11
|
+
"@opentelemetry/propagator-jaeger": "^1.25.1",
|
|
12
|
+
"@opentelemetry/resources": "^1.25.1",
|
|
13
|
+
"@opentelemetry/sdk-metrics": "^1.25.1",
|
|
14
|
+
"@opentelemetry/sdk-trace-base": "^1.25.1",
|
|
15
|
+
"@opentelemetry/sdk-trace-node": "^1.25.1",
|
|
16
|
+
"@opentelemetry/semantic-conventions": "^1.25.1",
|
|
17
|
+
"@sentry/browser": "^8.13.0",
|
|
18
|
+
"@sentry/bun": "^8.13.0",
|
|
19
|
+
"@sentry/node": "^8.13.0",
|
|
20
20
|
"accepts": "^1.3.8",
|
|
21
21
|
"dotenv": "^16.3.1",
|
|
22
|
-
"express": "^4.
|
|
22
|
+
"express": "^4.21.0",
|
|
23
23
|
"http-proxy-middleware": "^3.0.0",
|
|
24
24
|
"jsesc": "^3.0.2",
|
|
25
|
-
"middleware-axios": "^
|
|
25
|
+
"middleware-axios": "^3.0.0",
|
|
26
26
|
"pino": "^8.14.1",
|
|
27
27
|
"pino-pretty": "^9.1.1",
|
|
28
28
|
"prom-client": "^14.2.0",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@reduxjs/toolkit": "^1.9.5",
|
|
33
|
-
"axios": "^1.
|
|
33
|
+
"axios": "^1.7.4",
|
|
34
34
|
"react": "^17.0 || ^18.0",
|
|
35
35
|
"react-dom": "^17.0 || ^18.0",
|
|
36
36
|
"react-redux": "^8.0.5",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-source.js","names":["createConfigSource","provideConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"config-source.js","names":["createConfigSource","provideConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { ConfigSource, createConfigSource } from '../../../config';\n\nexport function provideConfigSource(): ConfigSource {\n return createConfigSource(Bun.env);\n}\n"],"mappings":"AAAA;AACA,SAAuBA,kBAAkB,QAAQ,4BAAiB;AAElE,OAAO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAOD,kBAAkB,CAACE,GAAG,CAACC,GAAG,CAAC;AACpC"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
/* eslint-disable
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
2
|
|
|
3
3
|
import { KnownToken } from "../../../tokens.js";
|
|
4
|
-
import {
|
|
4
|
+
import { getCurrentScope, getDefaultIntegrations, init } from '@sentry/bun';
|
|
5
5
|
import { createSentryHandler } from "../../../log/handler/sentry.js";
|
|
6
6
|
export function provideLogHandlerSentry(resolve) {
|
|
7
7
|
const source = resolve(KnownToken.Config.source);
|
|
8
8
|
init({
|
|
9
9
|
dsn: source.require('SENTRY_DSN'),
|
|
10
10
|
release: source.require('SENTRY_RELEASE'),
|
|
11
|
-
environment: source.require('SENTRY_ENVIRONMENT')
|
|
11
|
+
environment: source.require('SENTRY_ENVIRONMENT'),
|
|
12
|
+
tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),
|
|
13
|
+
integrations: [...getDefaultIntegrations({})]
|
|
12
14
|
});
|
|
13
15
|
|
|
14
16
|
// ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
|
|
15
17
|
// это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
|
|
16
|
-
return createSentryHandler(
|
|
18
|
+
return createSentryHandler(getCurrentScope);
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=log-handler-sentry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-handler-sentry.js","names":["KnownToken","
|
|
1
|
+
{"version":3,"file":"log-handler-sentry.js","names":["KnownToken","getCurrentScope","getDefaultIntegrations","init","createSentryHandler","provideLogHandlerSentry","resolve","source","Config","dsn","require","release","environment","tracesSampleRate","Number","get","integrations"],"sources":["../../../../../src/preset/bun/providers/log-handler-sentry.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { getCurrentScope, getDefaultIntegrations, init } from '@sentry/bun';\nimport { createSentryHandler } from '../../../log/handler/sentry';\n\nexport function provideLogHandlerSentry(resolve: Resolve) {\n const source = resolve(KnownToken.Config.source);\n\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,eAAe,EAAEC,sBAAsB,EAAEC,IAAI,QAAQ,aAAa;AAC3E,SAASC,mBAAmB,QAAQ,gCAA6B;AAEjE,OAAO,SAASC,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACD,MAAM,CAAC;EAEhDJ,IAAI,CAAC;IACHM,GAAG,EAAEF,MAAM,CAACG,OAAO,CAAC,YAAY,CAAC;IACjCC,OAAO,EAAEJ,MAAM,CAACG,OAAO,CAAC,gBAAgB,CAAC;IACzCE,WAAW,EAAEL,MAAM,CAACG,OAAO,CAAC,oBAAoB,CAAC;IACjDG,gBAAgB,EAAEC,MAAM,CAACP,MAAM,CAACQ,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,YAAY,EAAE,CAAC,GAAGd,sBAAsB,CAAC,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;;EAEF;EACA;EACA,OAAOE,mBAAmB,CAACH,eAAe,CAAC;AAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"logger.js","names":["createLogger","provideLogHandlerPino","provideLogHandlerSentry","provideLogger","resolve","logger","subscribe"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from '../../node/providers/log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":"AAAA;;AAEA,SAAiBA,YAAY,QAAQ,yBAAc;AACnD,SAASC,qBAAqB,QAAQ,0CAAuC;AAC7E,SAASC,uBAAuB,QAAQ,yBAAsB;AAE9D,OAAO,SAASC,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAGL,YAAY,CAAC,CAAC;EAE7BK,MAAM,CAACC,SAAS,CAACL,qBAAqB,CAACG,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACC,SAAS,CAACJ,uBAAuB,CAACE,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-metrics.js","names":["route","router","PromClient","provideServeMetrics","get","metrics","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"serve-metrics.js","names":["route","router","PromClient","provideServeMetrics","get","metrics","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport PromClient from 'prom-client';\n\nexport function provideServeMetrics(): Handler {\n // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)\n // PromClient.collectDefaultMetrics();\n\n return router(\n route.get('/', async () => {\n const metrics = await PromClient.register.metrics();\n const headers = new Headers();\n\n headers.set('Content-Type', PromClient.register.contentType);\n\n return new Response(metrics, { headers });\n }),\n );\n}\n"],"mappings":"AAAA;;AAEA,SAASA,KAAK,EAAEC,MAAM,QAAQ,qBAAqB;AACnD,OAAOC,UAAU,MAAM,aAAa;AAEpC,OAAO,SAASC,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAOF,MAAM,CACXD,KAAK,CAACI,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMH,UAAU,CAACI,QAAQ,CAACD,OAAO,CAAC,CAAC;IACnD,MAAME,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEP,UAAU,CAACI,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACN,OAAO,EAAE;MAAEE;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/* eslint-disable
|
|
1
|
+
/* eslint-disable jsdoc/require-jsdoc */
|
|
2
2
|
|
|
3
3
|
import { KnownToken } from "../../../tokens.js";
|
|
4
|
-
import {
|
|
4
|
+
import { withIsolationScope } from '@sentry/bun';
|
|
5
5
|
import { getServeLogging } from "../../server/utils/get-serve-logging.js";
|
|
6
6
|
import { getServeErrorLogging } from "../../server/utils/get-serve-error-logging.js";
|
|
7
7
|
import { getServeMeasuring } from "../../node/utils/get-serve-measuring.js";
|
|
@@ -10,7 +10,7 @@ export function provideServeMiddleware(resolve) {
|
|
|
10
10
|
const logger = resolve(KnownToken.logger);
|
|
11
11
|
return [
|
|
12
12
|
// ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам
|
|
13
|
-
(request, next) =>
|
|
13
|
+
(request, next) => withIsolationScope(async () => next(request)),
|
|
14
14
|
// ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
|
|
15
15
|
getServeErrorLogging(logger),
|
|
16
16
|
// @todo tracing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-middleware.js","names":["KnownToken","
|
|
1
|
+
{"version":3,"file":"serve-middleware.js","names":["KnownToken","withIsolationScope","getServeLogging","getServeErrorLogging","getServeMeasuring","provideServeMiddleware","resolve","config","Config","base","logger","request","next"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { withIsolationScope } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../node/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => withIsolationScope(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAASC,kBAAkB,QAAQ,aAAa;AAEhD,SAASC,eAAe,QAAQ,yCAAsC;AACtE,SAASC,oBAAoB,QAAQ,+CAA4C;AACjF,SAASC,iBAAiB,QAAQ,yCAAsC;AAExE,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACN,UAAU,CAACQ,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGJ,OAAO,CAACN,UAAU,CAACU,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAKX,kBAAkB,CAAC,YAAYW,IAAI,CAACD,OAAO,CAAC,CAAC;EAEhE;EACAR,oBAAoB,CAACO,MAAM,CAAC;EAE5B;;EAEA;EACAN,iBAAiB,CAACG,MAAM,CAAC;EAEzB;EACAL,eAAe,CAACQ,MAAM,CAAC,CACxB;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-routes.js","names":["getStatsHandler","getHealthCheck","provideServiceRoutes"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"service-routes.js","names":["getStatsHandler","getHealthCheck","provideServiceRoutes"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { ServerHandler } from '../../server/types';\nimport { getStatsHandler } from '../utils/get-stats-handler';\nimport { getHealthCheck } from '../../server/utils/get-health-check';\n\nexport function provideServiceRoutes(): Array<[string, ServerHandler]> {\n return [\n // служебные маршруты (без промежуточных слоев)\n ['/healthcheck', getHealthCheck()],\n ['/stats', getStatsHandler()],\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,eAAe,QAAQ,+BAA4B;AAC5D,SAASC,cAAc,QAAQ,wCAAqC;AAEpE,OAAO,SAASC,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAED,cAAc,CAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAED,eAAe,CAAC,CAAC,CAAC,CAC9B;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createPreset","KnownToken","provideAbortController","provideFetch","provideReduxMiddlewareSaga","providePageRender","provideFetchLogHandler","provideFetchMiddleware","provideHandlerMain","providePageHelmet","provideSpecificParams","SpecificExtras","provideElementToString","provideFormatPageResponse","provideAcceptType","provideResponseEvents","PresetBunHandler","customize","preset","set","Http","fetch","Fetch","abortController","middleware","Middleware","Log","handler","Handler","main","Request","acceptType","specificParams","Response","events","specificExtras","Page","assets","js","css","helmet","render","elementToString","formatResponse","Redux","saga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["createPreset","KnownToken","provideAbortController","provideFetch","provideReduxMiddlewareSaga","providePageRender","provideFetchLogHandler","provideFetchMiddleware","provideHandlerMain","providePageHelmet","provideSpecificParams","SpecificExtras","provideElementToString","provideFormatPageResponse","provideAcceptType","provideResponseEvents","PresetBunHandler","customize","preset","set","Http","fetch","Fetch","abortController","middleware","Middleware","Log","handler","Handler","main","Request","acceptType","specificParams","Response","events","specificExtras","Page","assets","js","css","helmet","render","elementToString","formatResponse","Redux","saga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-middleware.js","names":["KnownToken","defaultHeaders","getFetchErrorLogging","getFetchExtraAborting","getFetchLogging","getForwardedHeaders","provideFetchMiddleware","resolve","config","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","abortController","request"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"fetch-middleware.js","names":["KnownToken","defaultHeaders","getFetchErrorLogging","getFetchExtraAborting","getFetchLogging","getForwardedHeaders","provideFetchMiddleware","resolve","config","Config","base","context","Http","Handler","logHandler","Fetch","Middleware","Log","handler","abortController","request"],"sources":["../../../../../src/preset/bun-handler/providers/fetch-middleware.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { Middleware, defaultHeaders } from '../../../http';\nimport { getFetchErrorLogging } from '../../isomorphic/utils/get-fetch-error-logging';\nimport { getFetchExtraAborting } from '../../isomorphic/utils/get-fetch-extra-aborting';\nimport { getFetchLogging } from '../../isomorphic/utils/get-fetch-logging';\nimport { getForwardedHeaders } from '../../server/utils/get-forwarded-headers';\n\nexport function provideFetchMiddleware(resolve: Resolve): Middleware[] {\n const config = resolve(KnownToken.Config.base);\n const context = resolve(KnownToken.Http.Handler.context);\n const logHandler = resolve(KnownToken.Http.Fetch.Middleware.Log.handler);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n\n return [\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getFetchErrorLogging(logHandler),\n\n // обрывание по сигналу из обработчика входящего запроса и по сигналу из конфига исходящего запроса\n getFetchExtraAborting(abortController),\n\n defaultHeaders(getForwardedHeaders(config, context.request)),\n\n // @todo tracing\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getFetchLogging(logHandler),\n ];\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAC5C,SAAqBC,cAAc,QAAQ,0BAAe;AAC1D,SAASC,oBAAoB,QAAQ,mDAAgD;AACrF,SAASC,qBAAqB,QAAQ,oDAAiD;AACvF,SAASC,eAAe,QAAQ,6CAA0C;AAC1E,SAASC,mBAAmB,QAAQ,6CAA0C;AAE9E,OAAO,SAASC,sBAAsBA,CAACC,OAAgB,EAAgB;EACrE,MAAMC,MAAM,GAAGD,OAAO,CAACP,UAAU,CAACS,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,OAAO,GAAGJ,OAAO,CAACP,UAAU,CAACY,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EACxD,MAAMG,UAAU,GAAGP,OAAO,CAACP,UAAU,CAACY,IAAI,CAACG,KAAK,CAACC,UAAU,CAACC,GAAG,CAACC,OAAO,CAAC;EACxE,MAAMC,eAAe,GAAGZ,OAAO,CAACP,UAAU,CAACY,IAAI,CAACG,KAAK,CAACI,eAAe,CAAC;EAEtE,OAAO;EACL;EACAjB,oBAAoB,CAACY,UAAU,CAAC;EAEhC;EACAX,qBAAqB,CAACgB,eAAe,CAAC,EAEtClB,cAAc,CAACI,mBAAmB,CAACG,MAAM,EAAEG,OAAO,CAACS,OAAO,CAAC,CAAC;EAE5D;;EAEA;EACAhB,eAAe,CAACU,UAAU,CAAC,CAC5B;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-main.js","names":["KnownToken","applyMiddleware","HelmetContext","formatHandlerError","provideHandlerMain","resolve","config","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","jsx","React","createElement","Provider","value","title","appName","body","headers","Response","error","response","log","level","status","redirectLocation","Location","enhancer","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"handler-main.js","names":["KnownToken","applyMiddleware","HelmetContext","formatHandlerError","provideHandlerMain","resolve","config","Config","base","logger","assetsInit","Http","Handler","Page","assets","render","Helmet","helmet","abortController","Fetch","formatResponse","getAssets","handler","jsx","React","createElement","Provider","value","title","appName","body","headers","Response","error","response","log","level","status","redirectLocation","Location","enhancer","request","next","abort"],"sources":["../../../../../src/preset/bun-handler/providers/handler-main.tsx"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { applyMiddleware } from '../../../http';\nimport { HelmetContext } from '../../server/utils/regular-helmet';\nimport { formatHandlerError } from '../../server/utils/format-handler-error';\n\nexport function provideHandlerMain(resolve: Resolve) {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n const assetsInit = resolve(KnownToken.Http.Handler.Page.assets);\n const render = resolve(KnownToken.Http.Handler.Page.render);\n const Helmet = resolve(KnownToken.Http.Handler.Page.helmet);\n const abortController = resolve(KnownToken.Http.Fetch.abortController);\n const formatResponse = resolve(KnownToken.Http.Handler.Page.formatResponse);\n\n const getAssets = typeof assetsInit === 'function' ? assetsInit : () => assetsInit;\n\n const handler = async (): Promise<Response> => {\n try {\n const assets = await getAssets();\n\n const jsx = (\n <HelmetContext.Provider value={{ title: config.appName, assets }}>\n <Helmet>{await render()}</Helmet>\n </HelmetContext.Provider>\n );\n\n const { body, headers } = await formatResponse(jsx, assets);\n\n return new Response(body, { headers });\n } catch (error) {\n const { response, log } = formatHandlerError(error);\n\n if (log.level && logger[log.level]) {\n logger[log.level](error);\n }\n\n if (response.status > 299 && response.status < 400 && response.redirectLocation) {\n return new Response(null, {\n status: response.status,\n headers: {\n Location: response.redirectLocation,\n },\n });\n } else {\n return new Response(response.body, {\n status: response.status,\n });\n }\n }\n };\n\n const enhancer = applyMiddleware(\n // ВАЖНО: прерываем исходящие в рамках обработчика http-запросы\n async (request, next) => {\n try {\n return await next(request);\n } finally {\n abortController.abort();\n }\n },\n );\n\n return enhancer(handler);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specific-params.js","names":["KnownToken","provideSpecificParams","resolve","context","Http","Handler","headerValue","request","headers","get","JSON","parse"],"sources":["../../../../../src/preset/bun-handler/providers/specific-params.ts"],"sourcesContent":["/* eslint-disable
|
|
1
|
+
{"version":3,"file":"specific-params.js","names":["KnownToken","provideSpecificParams","resolve","context","Http","Handler","headerValue","request","headers","get","JSON","parse"],"sources":["../../../../../src/preset/bun-handler/providers/specific-params.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\n\nexport function provideSpecificParams(resolve: Resolve) {\n const context = resolve(KnownToken.Http.Handler.context);\n\n try {\n const headerValue = context.request.headers.get('simaland-params');\n\n return JSON.parse(headerValue ?? '{}');\n } catch {\n return {};\n }\n}\n"],"mappings":"AAAA;;AAEA,SAASA,UAAU,QAAQ,oBAAiB;AAE5C,OAAO,SAASC,qBAAqBA,CAACC,OAAgB,EAAE;EACtD,MAAMC,OAAO,GAAGD,OAAO,CAACF,UAAU,CAACI,IAAI,CAACC,OAAO,CAACF,OAAO,CAAC;EAExD,IAAI;IACF,MAAMG,WAAW,GAAGH,OAAO,CAACI,OAAO,CAACC,OAAO,CAACC,GAAG,CAAC,iBAAiB,CAAC;IAElE,OAAOC,IAAI,CAACC,KAAK,CAACL,WAAW,IAAI,IAAI,CAAC;EACxC,CAAC,CAAC,MAAM;IACN,OAAO,CAAC,CAAC;EACX;AACF"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { expressErrorHandler } from '@sentry/node';
|
|
3
2
|
/**
|
|
4
3
|
* Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.
|
|
5
4
|
* @return Промежуточный слой.
|
|
6
5
|
*/
|
|
7
6
|
export function provideExpressErrorMiddleware() {
|
|
8
|
-
return
|
|
7
|
+
return expressErrorHandler();
|
|
9
8
|
}
|
|
10
9
|
//# sourceMappingURL=express-error-middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"express-error-middleware.js","names":["
|
|
1
|
+
{"version":3,"file":"express-error-middleware.js","names":["expressErrorHandler","provideExpressErrorMiddleware"],"sources":["../../../../../src/preset/node/providers/express-error-middleware.ts"],"sourcesContent":["import { expressErrorHandler } from '@sentry/node';\nimport type express from 'express';\n\n/**\n * Провайдер промежуточного слоя обработки ошибок в рамках ответ на http-запросы.\n * @return Промежуточный слой.\n */\nexport function provideExpressErrorMiddleware(): express.ErrorRequestHandler {\n return expressErrorHandler();\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAGlD;AACA;AACA;AACA;AACA,OAAO,SAASC,6BAA6BA,CAAA,EAAgC;EAC3E,OAAOD,mBAAmB,CAAC,CAAC;AAC9B"}
|