@sima-land/isomorph 11.0.0-alpha.3 → 11.0.0-alpha.31
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/cache/types.d.ts +24 -2
- package/config/{index.d.ts → base.d.ts} +2 -2
- package/config/{index.js → base.js} +3 -3
- package/config/base.js.map +1 -0
- package/config/browser.d.ts +1 -1
- package/config/browser.js +11 -2
- package/config/browser.js.map +1 -1
- package/config/node.d.ts +1 -1
- package/config/node.js +17 -6
- package/config/node.js.map +1 -1
- package/config/types.d.ts +8 -1
- package/di/application.d.ts +10 -0
- package/{container → di}/application.js +29 -8
- package/di/application.js.map +1 -0
- package/di/container.d.ts +6 -0
- package/di/container.js +52 -0
- package/di/container.js.map +1 -0
- package/di/errors.d.ts +32 -0
- package/di/errors.js +48 -0
- package/di/errors.js.map +1 -0
- package/di/index.d.ts +6 -0
- package/di/index.js +17 -0
- package/di/index.js.map +1 -0
- package/di/preset.d.ts +9 -0
- package/di/preset.js +31 -0
- package/di/preset.js.map +1 -0
- package/di/token.d.ts +7 -0
- package/di/token.js +39 -0
- package/di/token.js.map +1 -0
- package/di/types.d.ts +88 -0
- package/{container → di}/types.js +0 -0
- package/{logger → di}/types.js.map +1 -1
- package/error-tracking/index.d.ts +25 -0
- package/error-tracking/index.js +34 -0
- package/error-tracking/index.js.map +1 -0
- package/error-tracking/types.d.ts +20 -0
- package/{error-tracker → error-tracking}/types.js +0 -0
- package/{container → error-tracking}/types.js.map +1 -1
- package/http-client/middleware/cookie.d.ts +1 -0
- package/http-client/middleware/cookie.js +5 -3
- package/http-client/middleware/cookie.js.map +1 -1
- package/http-client/middleware/headers.d.ts +13 -0
- package/http-client/middleware/headers.js +25 -0
- package/http-client/middleware/headers.js.map +1 -0
- package/http-client/middleware/log.d.ts +27 -0
- package/http-client/middleware/log.js +26 -0
- package/http-client/middleware/log.js.map +1 -0
- package/http-client/middleware/tracing.d.ts +3 -3
- package/http-client/middleware/tracing.js +22 -9
- package/http-client/middleware/tracing.js.map +1 -1
- package/http-client/sauce/index.d.ts +20 -5
- package/http-client/sauce/index.js +38 -21
- package/http-client/sauce/index.js.map +1 -1
- package/http-client/types.d.ts +1 -1
- package/http-client/utils.d.ts +14 -7
- package/http-client/utils.js +43 -12
- package/http-client/utils.js.map +1 -1
- package/http-server/errors.d.ts +11 -0
- package/http-server/errors.js +18 -0
- package/http-server/errors.js.map +1 -0
- package/http-server/handler/health-check.d.ts +1 -1
- package/http-server/handler/health-check.js +1 -1
- package/http-server/middleware/{logging.d.ts → log.d.ts} +2 -2
- package/http-server/middleware/log.js +43 -0
- package/http-server/middleware/log.js.map +1 -0
- package/http-server/middleware/metrics.js +2 -2
- package/http-server/middleware/metrics.js.map +1 -1
- package/http-server/middleware/tracing.d.ts +7 -1
- package/http-server/middleware/tracing.js +20 -2
- package/http-server/middleware/tracing.js.map +1 -1
- package/http-server/template/index.js +11 -6
- package/http-server/template/index.js.map +1 -1
- package/http-server/types.d.ts +2 -0
- package/http-server/utils.d.ts +14 -5
- package/http-server/utils.js +46 -21
- package/http-server/utils.js.map +1 -1
- package/log/handler/pino.d.ts +8 -0
- package/log/handler/pino.js +29 -0
- package/log/handler/pino.js.map +1 -0
- package/log/handler/sentry.d.ts +8 -0
- package/log/handler/sentry.js +50 -0
- package/log/handler/sentry.js.map +1 -0
- package/log/index.d.ts +2 -0
- package/log/index.js +6 -0
- package/log/index.js.map +1 -0
- package/{logger/index.d.ts → log/logger.d.ts} +0 -0
- package/{logger/index.js → log/logger.js} +1 -1
- package/log/logger.js.map +1 -0
- package/log/types.d.ts +41 -0
- package/{logger → log}/types.js +0 -0
- package/{preset → log}/types.js.map +1 -1
- package/metrics/constants.d.ts +3 -0
- package/metrics/constants.js +3 -0
- package/metrics/constants.js.map +1 -1
- package/metrics/node.d.ts +7 -0
- package/metrics/node.js +1 -0
- package/metrics/node.js.map +1 -1
- package/package.json +35 -30
- package/preset/browser/index.d.ts +10 -0
- package/preset/browser/index.js +71 -0
- package/preset/browser/index.js.map +1 -0
- package/preset/node/index.d.ts +16 -11
- package/preset/node/index.js +105 -61
- package/preset/node/index.js.map +1 -1
- package/preset/node/response.d.ts +12 -8
- package/preset/node/response.js +98 -28
- package/preset/node/response.js.map +1 -1
- package/preset/parts/providers.d.ts +7 -0
- package/preset/parts/providers.js +26 -0
- package/preset/parts/providers.js.map +1 -0
- package/preset/parts/types.d.ts +8 -0
- package/preset/{types.js → parts/types.js} +0 -0
- package/{error-tracker → preset/parts}/types.js.map +1 -1
- package/preset/parts/utils.d.ts +110 -0
- package/preset/parts/utils.js +261 -0
- package/preset/parts/utils.js.map +1 -0
- package/tokens.d.ts +39 -21
- package/tokens.js +35 -20
- package/tokens.js.map +1 -1
- package/tracing/index.d.ts +10 -0
- package/tracing/index.js +21 -0
- package/tracing/index.js.map +1 -0
- package/utils/browser/analytics/data-layer.d.ts +2 -2
- package/utils/browser/analytics/data-layer.js +4 -5
- package/utils/browser/analytics/data-layer.js.map +1 -1
- package/utils/browser/analytics/oko.d.ts +3 -2
- package/utils/browser/analytics/oko.js +2 -1
- package/utils/browser/analytics/oko.js.map +1 -1
- package/utils/browser/storage/index.d.ts +8 -0
- package/utils/browser/storage/index.js +6 -1
- package/utils/browser/storage/index.js.map +1 -1
- package/utils/function.d.ts +28 -0
- package/utils/function.js +23 -0
- package/utils/function.js.map +1 -0
- package/utils/react/error-handlers/index.d.ts +11 -8
- package/utils/react/error-handlers/index.js +8 -10
- package/utils/react/error-handlers/index.js.map +1 -1
- package/utils/redux/index.d.ts +3 -0
- package/utils/redux/index.js +8 -0
- package/utils/redux/index.js.map +1 -0
- package/utils/redux/remote-data.d.ts +83 -5
- package/utils/redux/remote-data.js +83 -1
- package/utils/redux/remote-data.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 +8 -0
- package/utils/redux-saga/middleware.js +143 -0
- package/utils/redux-saga/middleware.js.map +1 -0
- package/utils/redux-saga/take-chain.d.ts +2 -0
- package/utils/redux-saga/take-chain.js +2 -0
- package/utils/redux-saga/take-chain.js.map +1 -1
- package/utils/redux-saga/types.d.ts +36 -0
- package/{saga-runner → utils/redux-saga}/types.js +0 -0
- package/utils/redux-saga/types.js.map +1 -0
- package/utils/ssr/index.d.ts +41 -0
- package/utils/ssr/index.js +54 -0
- package/utils/ssr/index.js.map +1 -0
- package/utils/webpack/env/index.d.ts +18 -0
- package/utils/webpack/env/index.js +76 -0
- package/utils/webpack/env/index.js.map +1 -0
- package/utils/webpack/env/types.d.ts +11 -0
- package/utils/webpack/env/types.js +3 -0
- package/utils/webpack/env/types.js.map +1 -0
- package/utils/webpack/env/utils.d.ts +15 -0
- package/utils/webpack/env/utils.js +52 -0
- package/utils/webpack/env/utils.js.map +1 -0
- package/utils/webpack/index.d.ts +6 -0
- package/utils/webpack/index.js +8 -0
- package/utils/webpack/index.js.map +1 -0
- package/utils/webpack/module-federation/index.d.ts +7 -1
- package/utils/webpack/module-federation/index.js +11 -4
- package/utils/webpack/module-federation/index.js.map +1 -1
- package/utils/webpack/module-federation/types.d.ts +11 -3
- package/utils/webpack/module-federation/utils.d.ts +6 -0
- package/utils/webpack/module-federation/utils.js +73 -17
- package/utils/webpack/module-federation/utils.js.map +1 -1
- 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 +0 -19
- package/error-tracker/utils.js.map +0 -1
- package/http-server/middleware/logging.js +0 -31
- package/http-server/middleware/logging.js.map +0 -1
- package/logger/handler/console.d.ts +0 -8
- package/logger/handler/console.js +0 -36
- package/logger/handler/console.js.map +0 -1
- package/logger/handler/sentry.d.ts +0 -8
- package/logger/handler/sentry.js +0 -36
- package/logger/handler/sentry.js.map +0 -1
- package/logger/index.js.map +0 -1
- package/logger/types.d.ts +0 -24
- package/preset/index.d.ts +0 -7
- package/preset/index.js +0 -25
- package/preset/index.js.map +0 -1
- package/preset/types.d.ts +0 -7
- 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.map +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.asEnvVariables = exports.defineEnv = void 0;
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
10
|
+
/**
|
|
11
|
+
* Формирует объект с переменными среды с учетом .env файлов.
|
|
12
|
+
* @param options Опции.
|
|
13
|
+
* @return Объект с переменными среды.
|
|
14
|
+
*/
|
|
15
|
+
function defineEnv(options) {
|
|
16
|
+
const result = { ...process.env };
|
|
17
|
+
if (options.dotenvUsage && process.env.NODE_ENV) {
|
|
18
|
+
try {
|
|
19
|
+
const dotenvPath = path_1.default.join(process.cwd(), `.env.${process.env.NODE_ENV}`);
|
|
20
|
+
if ((0, fs_1.existsSync)(dotenvPath)) {
|
|
21
|
+
const parsed = dotenv_1.default.parse((0, fs_1.readFileSync)(dotenvPath, 'utf-8'));
|
|
22
|
+
// @todo дёрнуть бы эту логику из пакета dotenv, https://github.com/motdotla/dotenv/issues/690
|
|
23
|
+
for (const key of Object.keys(parsed)) {
|
|
24
|
+
if (!Object.prototype.hasOwnProperty.call(result, key)) {
|
|
25
|
+
result[key] = parsed[key];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
options.onError?.(error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
exports.defineEnv = defineEnv;
|
|
37
|
+
/**
|
|
38
|
+
* Получив таблицу "название переменной среды >> значение переменной среды" вернёт определение для DefinePlugin.
|
|
39
|
+
* @param input Таблица переменных.
|
|
40
|
+
* @return Определение для DefinePlugin.
|
|
41
|
+
*/
|
|
42
|
+
function asEnvVariables(input) {
|
|
43
|
+
const result = {};
|
|
44
|
+
for (const [key, value] of Object.entries(input)) {
|
|
45
|
+
if (key && typeof value === 'string') {
|
|
46
|
+
result[`process.env.${key}`] = JSON.stringify(value);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
exports.asEnvVariables = asEnvVariables;
|
|
52
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/webpack/env/utils.ts"],"names":[],"mappings":";;;;;;AACA,2BAA8C;AAC9C,gDAAwB;AACxB,oDAA4B;AAE5B;;;;GAIG;AACH,SAAgB,SAAS,CACvB,OAAuF;IAEvF,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC/C,IAAI;YACF,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE5E,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;gBAC1B,MAAM,MAAM,GAAG,gBAAM,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;gBAE/D,8FAA8F;gBAC9F,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;wBACtD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC3B;iBACF;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;SAC1B;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAzBD,8BAyBC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,KAAyC;IACtE,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAChD,IAAI,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACtD;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,wCAUC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EnvPlugin } from './env';
|
|
2
|
+
import { EnvPluginOptions } from './env/types';
|
|
3
|
+
import { ModuleFederationPlugin } from './module-federation';
|
|
4
|
+
import { ModuleFederationPluginOptions } from './module-federation/types';
|
|
5
|
+
export type { EnvPluginOptions, ModuleFederationPluginOptions };
|
|
6
|
+
export { EnvPlugin, ModuleFederationPlugin };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleFederationPlugin = exports.EnvPlugin = void 0;
|
|
4
|
+
const env_1 = require("./env");
|
|
5
|
+
Object.defineProperty(exports, "EnvPlugin", { enumerable: true, get: function () { return env_1.EnvPlugin; } });
|
|
6
|
+
const module_federation_1 = require("./module-federation");
|
|
7
|
+
Object.defineProperty(exports, "ModuleFederationPlugin", { enumerable: true, get: function () { return module_federation_1.ModuleFederationPlugin; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/webpack/index.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAMzB,0FANA,eAAS,OAMA;AAJlB,2DAA6D;AAIzC,uGAJX,0CAAsB,OAIW"}
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import type { ModuleFederationPluginOptions, ReadyOptions } from './types';
|
|
2
2
|
import { Compiler } from 'webpack';
|
|
3
|
+
import { DEFAULT_SHARED } from './utils';
|
|
4
|
+
/** @internal */
|
|
3
5
|
export declare const LIBRARY_ERROR_TEXT: string;
|
|
6
|
+
/** @internal */
|
|
4
7
|
export declare const REMOTE_ERROR_TEXT: string;
|
|
5
8
|
/**
|
|
6
9
|
* Создает плагин ModuleFederation с опциями, необходимыми для оркестрации удаленных модулей в браузере.
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
declare class CustomModuleFederationPlugin {
|
|
9
12
|
/**
|
|
10
13
|
* Проверенные, готовые опции.
|
|
11
14
|
*/
|
|
12
15
|
readonly readyOptions: ReadyOptions;
|
|
13
16
|
/**
|
|
14
17
|
* @param options Опции.
|
|
18
|
+
* @param options.shared Общие модули. Если не переданы, используются дефолтные модули.
|
|
19
|
+
* Для отключения общих модулей задать false.
|
|
15
20
|
*/
|
|
16
21
|
constructor(options: ModuleFederationPluginOptions);
|
|
17
22
|
/**
|
|
@@ -19,3 +24,4 @@ export declare class ModuleFederationPlugin {
|
|
|
19
24
|
*/
|
|
20
25
|
apply(compiler: Compiler): void;
|
|
21
26
|
}
|
|
27
|
+
export { CustomModuleFederationPlugin as ModuleFederationPlugin, DEFAULT_SHARED };
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ModuleFederationPlugin = exports.REMOTE_ERROR_TEXT = exports.LIBRARY_ERROR_TEXT = void 0;
|
|
3
|
+
exports.DEFAULT_SHARED = exports.ModuleFederationPlugin = exports.REMOTE_ERROR_TEXT = exports.LIBRARY_ERROR_TEXT = void 0;
|
|
4
4
|
const webpack_1 = require("webpack");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
|
+
Object.defineProperty(exports, "DEFAULT_SHARED", { enumerable: true, get: function () { return utils_1.DEFAULT_SHARED; } });
|
|
7
|
+
/** @internal */
|
|
6
8
|
exports.LIBRARY_ERROR_TEXT = [
|
|
7
9
|
'Property "library" set internally as "global" and not overridden.',
|
|
8
10
|
'For override global variable name use "containersGlobalKey" property.',
|
|
9
11
|
'For override "library" type use ModuleFederationPlugin.',
|
|
10
12
|
].join(' ');
|
|
13
|
+
/** @internal */
|
|
11
14
|
exports.REMOTE_ERROR_TEXT = [
|
|
12
15
|
'The value of the remote element must be a string,',
|
|
13
16
|
'or an object with field "name" for dynamic resolution of "remoteEntry".',
|
|
@@ -16,9 +19,11 @@ exports.REMOTE_ERROR_TEXT = [
|
|
|
16
19
|
/**
|
|
17
20
|
* Создает плагин ModuleFederation с опциями, необходимыми для оркестрации удаленных модулей в браузере.
|
|
18
21
|
*/
|
|
19
|
-
class
|
|
22
|
+
class CustomModuleFederationPlugin {
|
|
20
23
|
/**
|
|
21
24
|
* @param options Опции.
|
|
25
|
+
* @param options.shared Общие модули. Если не переданы, используются дефолтные модули.
|
|
26
|
+
* Для отключения общих модулей задать false.
|
|
22
27
|
*/
|
|
23
28
|
constructor(options) {
|
|
24
29
|
const { name, remotes, remoteEntriesGlobalKey = '__RemoteEntriesList__', containersGlobalKey = '__FederationContainers__', } = options;
|
|
@@ -46,7 +51,8 @@ class ModuleFederationPlugin {
|
|
|
46
51
|
* @param compiler Компилятор.
|
|
47
52
|
*/
|
|
48
53
|
apply(compiler) {
|
|
49
|
-
const { remotes, remoteEntriesGlobalKey, containersGlobalKey, ...restOptions } = this.readyOptions;
|
|
54
|
+
const { remotes, remoteEntriesGlobalKey, containersGlobalKey, shared, ...restOptions } = this.readyOptions;
|
|
55
|
+
const configuredShared = shared || utils_1.DEFAULT_SHARED;
|
|
50
56
|
const configuredRemotes = {};
|
|
51
57
|
if (remotes) {
|
|
52
58
|
for (const [key, value] of Object.entries(remotes)) {
|
|
@@ -65,10 +71,11 @@ class ModuleFederationPlugin {
|
|
|
65
71
|
compiler.hooks.environment.tap('[isomorph]ModuleFederationPlugin', () => {
|
|
66
72
|
new webpack_1.container.ModuleFederationPlugin({
|
|
67
73
|
...(remotes && { remotes: configuredRemotes }),
|
|
74
|
+
...(shared !== false && { shared: configuredShared }),
|
|
68
75
|
...restOptions,
|
|
69
76
|
}).apply(compiler);
|
|
70
77
|
});
|
|
71
78
|
}
|
|
72
79
|
}
|
|
73
|
-
exports.ModuleFederationPlugin =
|
|
80
|
+
exports.ModuleFederationPlugin = CustomModuleFederationPlugin;
|
|
74
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/webpack/module-federation/index.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAC5D,mCAA+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/webpack/module-federation/index.ts"],"names":[],"mappings":";;;AACA,qCAA4D;AAC5D,mCAA+D;AAiGE,+FAjGlC,sBAAc,OAiGkC;AA/F/E,gBAAgB;AACH,QAAA,kBAAkB,GAAG;IAChC,mEAAmE;IACnE,uEAAuE;IACvE,yDAAyD;CAC1D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,gBAAgB;AACH,QAAA,iBAAiB,GAAG;IAC/B,mDAAmD;IACnD,yEAAyE;IACzE,2EAA2E;CAC5E,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,4BAA4B;IAMhC;;;;OAIG;IACH,YAAY,OAAsC;QAChD,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,sBAAsB,GAAG,uBAAuB,EAChD,mBAAmB,GAAG,0BAA0B,GACjD,GAAG,OAAO,CAAC;QAEZ,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,MAAM,IAAI,sBAAY,CAAC,0BAAkB,CAAC,CAAC;SAC5C;QAED,IAAI,OAAO,EAAE;YACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;oBAC5C,MAAM,IAAI,sBAAY,CAAC,yBAAiB,CAAC,CAAC;iBAC3C;aACF;SACF;QAED,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,OAAO;YACV,sBAAsB;YACtB,mBAAmB;YACnB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAClC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GACpF,IAAI,CAAC,YAAY,CAAC;QAEpB,MAAM,gBAAgB,GAAG,MAAM,IAAI,sBAAc,CAAC;QAClD,MAAM,iBAAiB,GAAwB,EAAE,CAAC;QAElD,IAAI,OAAO,EAAE;YACX,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAClD,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACnE,MAAM,eAAe,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;gBAEtF,iBAAiB,CAAC,GAAG,CAAC,GAAG;oBACvB,QAAQ,EAAE,IAAA,4BAAoB,EAAC;wBAC7B,WAAW;wBACX,eAAe;wBACf,sBAAsB;wBACtB,mBAAmB;qBACpB,CAAC;iBACH,CAAC;aACH;SACF;QAED,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACtE,IAAI,mBAAS,CAAC,sBAAsB,CAAC;gBACnC,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;gBAC9C,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACrD,GAAG,WAAW;aACf,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAEwC,8DAAsB"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { container } from 'webpack';
|
|
2
|
+
/** @internal */
|
|
2
3
|
export interface RemoteProperty {
|
|
3
4
|
name: string;
|
|
4
5
|
remoteEntryPath?: string;
|
|
5
6
|
version?: string;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
+
/** @internal */
|
|
9
|
+
export type OriginalModuleFederationPluginOptions = ConstructorParameters<typeof container.ModuleFederationPlugin>[0];
|
|
10
|
+
/** @internal */
|
|
11
|
+
export type Shared = OriginalModuleFederationPluginOptions['shared'];
|
|
12
|
+
/** @internal */
|
|
8
13
|
export interface ModuleFederationPluginOptions {
|
|
9
14
|
/** Имя сервиса. */
|
|
10
15
|
name: string;
|
|
@@ -15,12 +20,15 @@ export interface ModuleFederationPluginOptions {
|
|
|
15
20
|
/** Предоставляемые сервисы. */
|
|
16
21
|
exposes?: OriginalModuleFederationPluginOptions['exposes'];
|
|
17
22
|
/** Общие зависимости. */
|
|
18
|
-
shared?:
|
|
23
|
+
shared?: Shared | false;
|
|
19
24
|
/** Ключ свойства в глобальном объекте,в котором хранится карта точек входа в удаленные сервисы. */
|
|
20
25
|
remoteEntriesGlobalKey?: string;
|
|
21
26
|
/** Ключ свойства в глобальном объекте, в который добавляются контейнеры удаленных сервисов. */
|
|
22
27
|
containersGlobalKey?: string;
|
|
23
28
|
}
|
|
24
|
-
|
|
29
|
+
/** @internal */
|
|
30
|
+
export type ReadyOptions = Omit<ModuleFederationPluginOptions, 'remoteEntriesGlobalKey' | 'containersGlobalKey'> & Required<Pick<ModuleFederationPluginOptions, 'remoteEntriesGlobalKey' | 'containersGlobalKey'>> & {
|
|
25
31
|
library: Required<OriginalModuleFederationPluginOptions>['library'];
|
|
26
32
|
};
|
|
33
|
+
/** @internal */
|
|
34
|
+
export type SharedArray = Extract<Shared, Array<unknown>>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { SharedArray } from './types';
|
|
1
2
|
/**
|
|
2
3
|
* Возвращает скрипт инициализации удаленного модуля.
|
|
4
|
+
* @internal
|
|
3
5
|
* @param params Параметры.
|
|
4
6
|
* @param params.serviceName Имя сервиса, содержащего удаленные модули.
|
|
5
7
|
* @param params.containersGlobalKey Глобальная переменная, в которую добавляются удаленные контейнеры.
|
|
@@ -13,3 +15,7 @@ export declare function createExternalConfig({ serviceName, containersGlobalKey,
|
|
|
13
15
|
containersGlobalKey: string;
|
|
14
16
|
remoteEntryPath?: string;
|
|
15
17
|
}): string;
|
|
18
|
+
/**
|
|
19
|
+
* Перечень общих для всех сервисов зависимостей.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_SHARED: SharedArray;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createExternalConfig = void 0;
|
|
3
|
+
exports.DEFAULT_SHARED = exports.createExternalConfig = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Возвращает скрипт инициализации удаленного модуля.
|
|
6
|
+
* @internal
|
|
6
7
|
* @param params Параметры.
|
|
7
8
|
* @param params.serviceName Имя сервиса, содержащего удаленные модули.
|
|
8
9
|
* @param params.containersGlobalKey Глобальная переменная, в которую добавляются удаленные контейнеры.
|
|
@@ -11,26 +12,81 @@ exports.createExternalConfig = void 0;
|
|
|
11
12
|
* @return Скрипт инициализации.
|
|
12
13
|
*/
|
|
13
14
|
function createExternalConfig({ serviceName, containersGlobalKey, remoteEntriesGlobalKey, remoteEntryPath, }) {
|
|
14
|
-
return `promise new Promise((
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
return `promise new Promise((resolveProxy, rejectProxy) => {
|
|
16
|
+
let installed = false;
|
|
17
|
+
let shareScope;
|
|
18
|
+
|
|
19
|
+
if (window["${remoteEntriesGlobalKey}"]) {
|
|
20
|
+
const proxy = {
|
|
21
|
+
get(request) {
|
|
22
|
+
return installed
|
|
23
|
+
? window["${containersGlobalKey}"]["${serviceName}"].get(request)
|
|
24
|
+
: new Promise((resolveRequest, rejectRequest) => {
|
|
25
|
+
const scriptElement = document.createElement("script");
|
|
26
|
+
|
|
27
|
+
scriptElement.onload = () => {
|
|
28
|
+
scriptElement.remove();
|
|
29
|
+
const container = window["${containersGlobalKey}"]["${serviceName}"];
|
|
30
|
+
try {
|
|
31
|
+
container.init(shareScope);
|
|
32
|
+
installed = true;
|
|
33
|
+
} catch (e) {}
|
|
34
|
+
resolveRequest(container.get(request));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
scriptElement.onerror = () => {
|
|
38
|
+
scriptElement.remove();
|
|
39
|
+
rejectRequest(
|
|
40
|
+
new Error('Failed loading remoteEntry for "${serviceName}".')
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
scriptElement.src = ${remoteEntryPath
|
|
26
45
|
? `'${remoteEntryPath}'`
|
|
27
46
|
: `window['${remoteEntriesGlobalKey}']['${serviceName}']`};
|
|
28
|
-
|
|
29
|
-
|
|
47
|
+
|
|
48
|
+
scriptElement.async = true;
|
|
49
|
+
document.head.append(scriptElement);
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
init(scope) {
|
|
53
|
+
shareScope = scope;
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
resolveProxy(proxy);
|
|
30
58
|
} else {
|
|
31
|
-
|
|
59
|
+
rejectProxy(
|
|
60
|
+
new ReferenceError('Object "${remoteEntriesGlobalKey}" unavailable.')
|
|
61
|
+
);
|
|
32
62
|
}
|
|
33
|
-
})
|
|
63
|
+
});`;
|
|
34
64
|
}
|
|
35
65
|
exports.createExternalConfig = createExternalConfig;
|
|
66
|
+
/**
|
|
67
|
+
* Перечень общих для всех сервисов зависимостей.
|
|
68
|
+
*/
|
|
69
|
+
exports.DEFAULT_SHARED = [
|
|
70
|
+
{
|
|
71
|
+
react: {
|
|
72
|
+
singleton: true,
|
|
73
|
+
},
|
|
74
|
+
'react-dom': {
|
|
75
|
+
singleton: true,
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
/* Инжектится транспайлером в [jt]sx для преобразования JSX */
|
|
79
|
+
'react/jsx-runtime',
|
|
80
|
+
'react-redux',
|
|
81
|
+
'@reduxjs/toolkit',
|
|
82
|
+
'redux-saga',
|
|
83
|
+
/* Шарим модули, импортируемые из поддиректорий, например `/effects` */
|
|
84
|
+
'redux-saga/',
|
|
85
|
+
'classnames',
|
|
86
|
+
/* Шарим модули, импортируемые из поддиректорий, например `/bind` */
|
|
87
|
+
'classnames/',
|
|
88
|
+
'axios',
|
|
89
|
+
'@olime/cq-ch',
|
|
90
|
+
'@sentry/browser',
|
|
91
|
+
];
|
|
36
92
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/webpack/module-federation/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/webpack/module-federation/utils.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,eAAe,GAMhB;IACC,OAAO;;;;gBAIO,sBAAsB;;;;sBAIhB,mBAAmB,OAAO,WAAW;;;;;;4CAMf,mBAAmB,OAAO,WAAW;;;;;;;;;;;+DAWlB,WAAW;;;;oCAK1D,eAAe;QACb,CAAC,CAAC,IAAI,eAAe,GAAG;QACxB,CAAC,CAAC,WAAW,sBAAsB,OAAO,WAAW,IACzD;;;;;;;;;;;;;;oCAcsB,sBAAsB;;;IAGtD,CAAC;AACL,CAAC;AA9DD,oDA8DC;AAED;;GAEG;AACU,QAAA,cAAc,GAAgB;IACzC;QACE,KAAK,EAAE;YACL,SAAS,EAAE,IAAI;SAChB;QACD,WAAW,EAAE;YACX,SAAS,EAAE,IAAI;SAChB;KACF;IAED,8DAA8D;IAC9D,mBAAmB;IACnB,aAAa;IACb,kBAAkB;IAClB,YAAY;IAEZ,uEAAuE;IACvE,aAAa;IACb,YAAY;IACZ,oEAAoE;IACpE,aAAa;IACb,OAAO;IACP,cAAc;IACd,iBAAiB;CAClB,CAAC"}
|
package/config/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG;QACH,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAVD,4CAUC"}
|
package/config/utils.d.ts
DELETED
package/config/utils.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineEnvironment = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Возвращает значение process.env.NODE_ENV или "unknown".
|
|
6
|
-
* @return Значение.
|
|
7
|
-
*/
|
|
8
|
-
function defineEnvironment() {
|
|
9
|
-
return process.env.NODE_ENV || 'unknown';
|
|
10
|
-
}
|
|
11
|
-
exports.defineEnvironment = defineEnvironment;
|
|
12
|
-
//# sourceMappingURL=utils.js.map
|
package/config/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;AAC3C,CAAC;AAFD,8CAEC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Provider, Token } from './types';
|
|
2
|
-
import type { Preset } from '../preset/types';
|
|
3
|
-
declare type ExtractType<T extends readonly Token<any>[]> = {
|
|
4
|
-
[index in keyof T]: T[index] extends T[number] ? ReturnType<T[index]['_resolve']> : never;
|
|
5
|
-
};
|
|
6
|
-
interface Binding<T> {
|
|
7
|
-
toValue: (value: T) => void;
|
|
8
|
-
toProvider: (provider: Provider<T>) => void;
|
|
9
|
-
}
|
|
10
|
-
export declare class Application {
|
|
11
|
-
private container?;
|
|
12
|
-
private parent?;
|
|
13
|
-
private presets;
|
|
14
|
-
private providers;
|
|
15
|
-
static readonly self: Token<never>;
|
|
16
|
-
constructor();
|
|
17
|
-
bind<T>(token: Token<T>): Binding<T>;
|
|
18
|
-
get<T>(token: Token<T>): T;
|
|
19
|
-
private getContainer;
|
|
20
|
-
private configureContainer;
|
|
21
|
-
attach(parent: Application): void;
|
|
22
|
-
preset(preset: Preset): void;
|
|
23
|
-
invoke<Tokens extends readonly Token<any>[]>(tokens: [...Tokens], fn: (...args: ExtractType<Tokens>) => void): void;
|
|
24
|
-
}
|
|
25
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/container/application.ts"],"names":[],"mappings":";;;AAGA,wBAAoE;AAWpE,MAAa,WAAW;IAQtB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAI,KAAe;QACrB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAI,KAAe;QACpB,IAAI;YACF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,oBAAiB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACrD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,MAAM,KAAK,CAAC;aACb;SACF;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,kBAAkB;QACxB,MAAM,SAAS,GAAG,IAAA,kBAAe,GAAE,CAAC;QAEpC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAE5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,MAAM,OAAO,GAAY,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAElD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9C,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CACJ,MAAmB,EACnB,EAA0C;QAE1C,EAAE,CAAC,GAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAS,CAAC,CAAC;IACvD,CAAC;;AA3EH,kCA4EC;AAtEiB,gBAAI,GAAG,IAAA,cAAW,EAAC,kBAAkB,CAAC,CAAC"}
|
package/container/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Container, Token } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Возвращает новый токен.
|
|
4
|
-
* @param name Имя токена для отладки в случае ошибок.
|
|
5
|
-
* @return Токен.
|
|
6
|
-
*/
|
|
7
|
-
export declare function createToken<T = never>(name?: string): Token<T>;
|
|
8
|
-
export declare class NothingBoundError extends Error {
|
|
9
|
-
constructor(key: symbol);
|
|
10
|
-
}
|
|
11
|
-
export declare class CircularDependencyError extends Error {
|
|
12
|
-
constructor(trace: Token<any>[]);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Возвращает новый DI-контейнер.
|
|
16
|
-
* @return DI-контейнер.
|
|
17
|
-
*/
|
|
18
|
-
export declare function createContainer(): Container;
|
package/container/index.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createContainer = exports.CircularDependencyError = exports.NothingBoundError = exports.createToken = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Возвращает новый токен.
|
|
6
|
-
* @param name Имя токена для отладки в случае ошибок.
|
|
7
|
-
* @return Токен.
|
|
8
|
-
*/
|
|
9
|
-
function createToken(name) {
|
|
10
|
-
const key = Symbol(name);
|
|
11
|
-
return {
|
|
12
|
-
_key: key,
|
|
13
|
-
_resolve: (registry) => registry.get(key),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
exports.createToken = createToken;
|
|
17
|
-
class NothingBoundError extends Error {
|
|
18
|
-
constructor(key) {
|
|
19
|
-
super(`Nothing bound to ${String(key)}`);
|
|
20
|
-
this.name = 'NothingBoundError';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.NothingBoundError = NothingBoundError;
|
|
24
|
-
class CircularDependencyError extends Error {
|
|
25
|
-
constructor(trace) {
|
|
26
|
-
const names = trace.map(token => String(token._key)).join(' >> ');
|
|
27
|
-
super(`Circular dependency found, trace: ${names}`);
|
|
28
|
-
this.name = 'CircularDependencyError';
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.CircularDependencyError = CircularDependencyError;
|
|
32
|
-
/**
|
|
33
|
-
* Возвращает новый DI-контейнер.
|
|
34
|
-
* @return DI-контейнер.
|
|
35
|
-
*/
|
|
36
|
-
function createContainer() {
|
|
37
|
-
const cache = new Map();
|
|
38
|
-
const registry = new Map();
|
|
39
|
-
function resolve(token, chain) {
|
|
40
|
-
if (chain.includes(token)) {
|
|
41
|
-
throw new CircularDependencyError([...chain, token]);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
chain.push(token);
|
|
45
|
-
}
|
|
46
|
-
if (cache.has(token._key)) {
|
|
47
|
-
return cache.get(token._key);
|
|
48
|
-
}
|
|
49
|
-
else if (registry.has(token._key)) {
|
|
50
|
-
const provider = registry.get(token._key);
|
|
51
|
-
if (typeof provider !== 'function') {
|
|
52
|
-
throw new Error('Provider is not a function');
|
|
53
|
-
}
|
|
54
|
-
const value = provider(otherToken => resolve(otherToken, chain));
|
|
55
|
-
// всегда как singleton
|
|
56
|
-
cache.set(token._key, value);
|
|
57
|
-
return value;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
throw new NothingBoundError(token._key);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
const container = {
|
|
64
|
-
set(token, provider) {
|
|
65
|
-
registry.set(token._key, provider);
|
|
66
|
-
},
|
|
67
|
-
get(token) {
|
|
68
|
-
return resolve(token, []);
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
return container;
|
|
72
|
-
}
|
|
73
|
-
exports.createContainer = createContainer;
|
|
74
|
-
//# sourceMappingURL=index.js.map
|
package/container/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,WAAW,CAAY,IAAa;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO;QACL,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,CAAC,QAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAM;KACjE,CAAC;AACJ,CAAC;AAPD,kCAOC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,GAAW;QACrB,KAAK,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,KAAmB;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAND,0DAMC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD,SAAS,OAAO,CAAI,KAAe,EAAE,KAAmB;QACtD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,uBAAuB,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SACtD;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QAED,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aAC/C;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAEjE,uBAAuB;YACvB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE7B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,GAAG,CAAI,KAAe,EAAE,QAAqB;YAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAI,KAAe;YACpB,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AA1CD,0CA0CC"}
|
package/container/types.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface Token<T> {
|
|
2
|
-
readonly _key: symbol;
|
|
3
|
-
readonly _resolve: (registry: Map<symbol, any>) => T;
|
|
4
|
-
}
|
|
5
|
-
export interface Resolve {
|
|
6
|
-
<T>(token: Token<T>): T;
|
|
7
|
-
}
|
|
8
|
-
export interface Provider<T> {
|
|
9
|
-
(resolve: Resolve): T;
|
|
10
|
-
}
|
|
11
|
-
export interface Container {
|
|
12
|
-
set: <T = never>(token: Token<T>, provider: Provider<T>) => void;
|
|
13
|
-
get: Resolve;
|
|
14
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { SentryLib } from './types';
|
|
2
|
-
import * as Sentry from '@sentry/browser';
|
|
3
|
-
/**
|
|
4
|
-
* Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
|
|
5
|
-
* @param options Опции создания клиента.
|
|
6
|
-
* @return Новый набор из клиента Sentry и функций из пакета Sentry.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createSentryLib(options: Sentry.BrowserOptions): SentryLib;
|
package/error-tracker/browser.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createSentryLib = void 0;
|
|
27
|
-
const Sentry = __importStar(require("@sentry/browser"));
|
|
28
|
-
/**
|
|
29
|
-
* Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
|
|
30
|
-
* @param options Опции создания клиента.
|
|
31
|
-
* @return Новый набор из клиента Sentry и функций из пакета Sentry.
|
|
32
|
-
*/
|
|
33
|
-
function createSentryLib(options) {
|
|
34
|
-
return {
|
|
35
|
-
client: new Sentry.BrowserClient(options),
|
|
36
|
-
withScope: Sentry.withScope,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
exports.createSentryLib = createSentryLib;
|
|
40
|
-
//# sourceMappingURL=browser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/error-tracker/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAE1C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAA8B;IAC5D,OAAO;QACL,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AALD,0CAKC"}
|
package/error-tracker/node.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { SentryLib } from './types';
|
|
2
|
-
import * as Sentry from '@sentry/node';
|
|
3
|
-
/**
|
|
4
|
-
* Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
|
|
5
|
-
* @param options Опции создания клиента.
|
|
6
|
-
* @return Новый набор из клиента Sentry и функций из пакета Sentry.
|
|
7
|
-
*/
|
|
8
|
-
export declare function createSentryLib(options: Sentry.NodeOptions): SentryLib;
|
package/error-tracker/node.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createSentryLib = void 0;
|
|
27
|
-
const Sentry = __importStar(require("@sentry/node"));
|
|
28
|
-
/**
|
|
29
|
-
* Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
|
|
30
|
-
* @param options Опции создания клиента.
|
|
31
|
-
* @return Новый набор из клиента Sentry и функций из пакета Sentry.
|
|
32
|
-
*/
|
|
33
|
-
function createSentryLib(options) {
|
|
34
|
-
return {
|
|
35
|
-
client: new Sentry.NodeClient(options),
|
|
36
|
-
withScope: Sentry.withScope,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
exports.createSentryLib = createSentryLib;
|
|
40
|
-
//# sourceMappingURL=node.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/error-tracker/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qDAAuC;AAEvC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAA2B;IACzD,OAAO;QACL,MAAM,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AALD,0CAKC"}
|