@rsdk/core 2.3.1 → 2.4.1-next.0
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/CHANGELOG.md +8 -0
- package/dist/app/platform.app.d.ts +0 -1
- package/dist/app/platform.app.js +0 -2
- package/dist/app/platform.app.js.map +1 -1
- package/dist/app-metadata/app-name.const.js +1 -1
- package/dist/config/config.abstract.js +2 -2
- package/dist/config/config.abstract.js.map +1 -1
- package/dist/config/metadata/decorators/config-section.decorator.js +1 -1
- package/dist/config/metadata/decorators/config-section.decorator.js.map +1 -1
- package/dist/config/parsers/path/fspath.parser.js +9 -9
- package/dist/config/parsers/path/fspath.parser.js.map +1 -1
- package/dist/config/reload/config-reload.events.d.ts +1 -1
- package/dist/config/reload/config-reload.events.js +3 -2
- package/dist/config/reload/config-reload.events.js.map +1 -1
- package/dist/config/sources/base/config-source.abstract.js +4 -4
- package/dist/config/sources/base/config-source.abstract.js.map +1 -1
- package/dist/config/sources/base/reloadable-config-source.abstract.js +3 -3
- package/dist/config/sources/base/reloadable-config-source.abstract.js.map +1 -1
- package/dist/config/sources/implementations/relodable-json-file.source.d.ts +0 -1
- package/dist/config/sources/implementations/relodable-json-file.source.js +2 -4
- package/dist/config/sources/implementations/relodable-json-file.source.js.map +1 -1
- package/dist/config/vars.class.js +13 -6
- package/dist/config/vars.class.js.map +1 -1
- package/dist/context.aggregator.d.ts +1 -1
- package/dist/context.aggregator.js +1 -0
- package/dist/context.aggregator.js.map +1 -1
- package/dist/exceptions/base/platform-exception.absract.js.map +1 -1
- package/dist/exceptions/metadata/decorators/exception.decorator.js +1 -2
- package/dist/exceptions/metadata/decorators/exception.decorator.js.map +1 -1
- package/dist/health/health.service.js +2 -2
- package/dist/health/health.service.js.map +1 -1
- package/dist/health/indicators.abstract/fs-access.indicator.js +5 -6
- package/dist/health/indicators.abstract/fs-access.indicator.js.map +1 -1
- package/dist/manifest/manifest.js +3 -3
- package/dist/manifest/manifest.js.map +1 -1
- package/dist/platform.context.d.ts +1 -1
- package/dist/platform.context.js +4 -4
- package/dist/platform.context.js.map +1 -1
- package/dist/tracing/auto-instrumentations.config.js +6 -6
- package/dist/tracing/auto-instrumentations.config.js.map +1 -1
- package/dist/tracing/constants.js.map +1 -1
- package/dist/tracing/decorators/span.decorator.js +3 -1
- package/dist/tracing/decorators/span.decorator.js.map +1 -1
- package/dist/tracing/services/trace.injector.js +4 -4
- package/dist/tracing/services/trace.injector.js.map +1 -1
- package/dist/types/metadata.js +9 -5
- package/dist/types/metadata.js.map +1 -1
- package/package.json +7 -7
- package/src/app/platform.app.ts +0 -3
- package/src/app-metadata/app-name.const.ts +1 -1
- package/src/config/config.abstract.ts +2 -2
- package/src/config/metadata/decorators/config-section.decorator.ts +1 -1
- package/src/config/parsers/path/fspath.parser.ts +4 -5
- package/src/config/reload/config-reload.events.ts +2 -1
- package/src/config/sources/base/config-source.abstract.ts +4 -4
- package/src/config/sources/base/reloadable-config-source.abstract.ts +3 -3
- package/src/config/sources/implementations/relodable-json-file.source.ts +2 -3
- package/src/config/vars.class.ts +13 -9
- package/src/context.aggregator.ts +2 -1
- package/src/exceptions/base/platform-exception.absract.ts +1 -1
- package/src/exceptions/metadata/decorators/exception.decorator.ts +1 -2
- package/src/health/health.service.ts +2 -2
- package/src/health/indicators.abstract/fs-access.indicator.ts +4 -4
- package/src/manifest/manifest.ts +2 -2
- package/src/platform.context.ts +7 -6
- package/src/tracing/auto-instrumentations.config.ts +7 -6
- package/src/tracing/constants.ts +1 -1
- package/src/tracing/decorators/span.decorator.ts +1 -0
- package/src/tracing/services/trace.injector.ts +1 -2
- package/src/types/metadata.ts +13 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.4.1-next.0](https://github.com/R-Vision/rsdk/compare/v2.4.0...v2.4.1-next.0) (2023-06-15)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @rsdk/core
|
|
9
|
+
|
|
10
|
+
# [2.4.0](https://github.com/R-Vision/rsdk/compare/v2.3.1...v2.4.0) (2023-06-15)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @rsdk/core
|
|
13
|
+
|
|
6
14
|
## [2.3.1](https://github.com/R-Vision/rsdk/compare/v2.3.0...v2.3.1) (2023-06-08)
|
|
7
15
|
|
|
8
16
|
### Bug Fixes
|
|
@@ -8,7 +8,6 @@ import type { PlatformAppMetadata, PlatformAppOptions } from '../types';
|
|
|
8
8
|
*/
|
|
9
9
|
export declare class PlatformApp {
|
|
10
10
|
readonly platformAppOptions: PlatformAppOptions;
|
|
11
|
-
private static logger;
|
|
12
11
|
readonly context: PlatformContext;
|
|
13
12
|
constructor(platformAppOptions: PlatformAppOptions);
|
|
14
13
|
/**
|
package/dist/app/platform.app.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PlatformApp = void 0;
|
|
4
4
|
const core_1 = require("@nestjs/core");
|
|
5
|
-
const logging_1 = require("@rsdk/logging");
|
|
6
5
|
const platform_context_1 = require("../platform.context");
|
|
7
6
|
/**
|
|
8
7
|
* Platform application itself.
|
|
@@ -12,7 +11,6 @@ const platform_context_1 = require("../platform.context");
|
|
|
12
11
|
*/
|
|
13
12
|
class PlatformApp {
|
|
14
13
|
platformAppOptions;
|
|
15
|
-
static logger = logging_1.LoggerFactory.create(PlatformApp);
|
|
16
14
|
context;
|
|
17
15
|
constructor(platformAppOptions) {
|
|
18
16
|
this.platformAppOptions = platformAppOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.app.js","sourceRoot":"","sources":["../../src/app/platform.app.ts"],"names":[],"mappings":";;;AACA,uCAA2C;
|
|
1
|
+
{"version":3,"file":"platform.app.js","sourceRoot":"","sources":["../../src/app/platform.app.ts"],"names":[],"mappings":";;;AACA,uCAA2C;AAE3C,0DAAsD;AAGtD;;;;;GAKG;AACH,MAAa,WAAW;IAGD;IAFZ,OAAO,CAAkB;IAElC,YAAqB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,kCAAe,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3C,MAAM,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,2BAA2B,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAClC,MAAM,OAAO,CAAC,OAAO,EAAE,EACvB,GAAG,WAAW,CACf,CAAC;QAEF,MAAM,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA1CD,kCA0CC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.APP_NAME_PATTERN = void 0;
|
|
4
|
-
exports.APP_NAME_PATTERN = /^[a-z][a-z-]*\.[a-z
|
|
4
|
+
exports.APP_NAME_PATTERN = /^[a-z][a-z-]*\.[.a-z-]*[a-z]$/;
|
|
5
5
|
//# sourceMappingURL=app-name.const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.abstract.js","sourceRoot":"","sources":["../../src/config/config.abstract.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,4BAA0B;AAE1B,yCAAiD;AAKjD;;;;;GAKG;AACH,MAAa,MAAM;IAOY;IAN7B;;OAEG;IACc,kBAAkB,CAAmC;IAEtE,qDAAqD;IACrD,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,8BAAmB,EACnB,IAAI,CAAC,WAAW,CACE,CAAC;QAErB,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,EAA4B;QACnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAS,EAAE,WAAqB,EAAE,EAAE;YAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,EAAE,CACvC,CAAC;YACF,IAAI,IAAA,qBAAY,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtD,EAAE,CAAC,WAAW,CAAC,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAU;QACb,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACtE,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAExC,yCAAyC;YACzC,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAC5B,IAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;aAClD;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,IAAU;QAClB,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"config.abstract.js","sourceRoot":"","sources":["../../src/config/config.abstract.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;AAE/C,4BAA0B;AAE1B,yCAAiD;AAKjD;;;;;GAKG;AACH,MAAa,MAAM;IAOY;IAN7B;;OAEG;IACc,kBAAkB,CAAmC;IAEtE,qDAAqD;IACrD,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,8BAAmB,EACnB,IAAI,CAAC,WAAW,CACE,CAAC;QAErB,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,QAAQ,CAAC,EAA4B;QACnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAS,EAAE,WAAqB,EAAE,EAAE;YAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,EAAE,CACvC,CAAC;YACF,IAAI,IAAA,qBAAY,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtD,EAAE,CAAC,WAAW,CAAC,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAU;QACb,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACtE,MAAM,KAAK,GAAI,IAAY,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAExC,yCAAyC;YACzC,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBAC5B,IAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;aAClD;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,CAAC,IAAU;QAClB,IAAI;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACjD;IACH,CAAC;CACF;AArDD,wBAqDC"}
|
|
@@ -12,7 +12,7 @@ const ConfigSection = (options) => function (target) {
|
|
|
12
12
|
const metadata = Reflect.getMetadata(property_decorator_1.CONFIG_METADATA_KEY, target);
|
|
13
13
|
config_metadata_registry_1.ConfigMetadataRegistry.registerSection(target, {
|
|
14
14
|
...metadata,
|
|
15
|
-
...
|
|
15
|
+
...options,
|
|
16
16
|
});
|
|
17
17
|
};
|
|
18
18
|
exports.ConfigSection = ConfigSection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-section.decorator.js","sourceRoot":"","sources":["../../../../src/config/metadata/decorators/config-section.decorator.ts"],"names":[],"mappings":";;;AAIA,0EAAqE;AAErE,6DAA2D;AAW3D;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAkB,EAAE,CAC9E,UAAU,MAAgB;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,wCAAmB,EACnB,MAAM,CACY,CAAC;IAErB,iDAAsB,CAAC,eAAe,CAAC,MAAqB,EAAE;QAC5D,GAAG,QAAQ;QACX,GAAG,
|
|
1
|
+
{"version":3,"file":"config-section.decorator.js","sourceRoot":"","sources":["../../../../src/config/metadata/decorators/config-section.decorator.ts"],"names":[],"mappings":";;;AAIA,0EAAqE;AAErE,6DAA2D;AAW3D;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAkB,EAAE,CAC9E,UAAU,MAAgB;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,wCAAmB,EACnB,MAAM,CACY,CAAC;IAErB,iDAAsB,CAAC,eAAe,CAAC,MAAqB,EAAE;QAC5D,GAAG,QAAQ;QACX,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAXS,QAAA,aAAa,iBAWtB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FsPathParser = void 0;
|
|
4
|
-
const fs_1 = require("fs");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const process_1 = require("process");
|
|
7
4
|
const common_1 = require("@rsdk/common");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const node_process_1 = require("node:process");
|
|
8
8
|
class FsPathParser {
|
|
9
9
|
objectType;
|
|
10
10
|
constructor(objectType) {
|
|
@@ -21,21 +21,21 @@ class FsPathParser {
|
|
|
21
21
|
}
|
|
22
22
|
parse(value) {
|
|
23
23
|
common_1.Assert.isString(value);
|
|
24
|
-
const wasRelative = !(0,
|
|
25
|
-
const absolutePath = wasRelative ? (0,
|
|
26
|
-
if (!(0,
|
|
24
|
+
const wasRelative = !(0, node_path_1.isAbsolute)(value);
|
|
25
|
+
const absolutePath = wasRelative ? (0, node_path_1.join)((0, node_process_1.cwd)(), value) : value;
|
|
26
|
+
if (!(0, node_fs_1.existsSync)(absolutePath)) {
|
|
27
27
|
const warning = wasRelative
|
|
28
28
|
? ' Since you have used relative path, check you current working directory is repos root.'
|
|
29
29
|
: '';
|
|
30
30
|
throw new Error(`File or directory <${absolutePath}> not found!${warning}`);
|
|
31
31
|
}
|
|
32
32
|
try {
|
|
33
|
-
(0,
|
|
33
|
+
(0, node_fs_1.accessSync)(absolutePath);
|
|
34
34
|
}
|
|
35
|
-
catch
|
|
35
|
+
catch {
|
|
36
36
|
throw new Error(`Can't access <${absolutePath}>!`);
|
|
37
37
|
}
|
|
38
|
-
const stat = (0,
|
|
38
|
+
const stat = (0, node_fs_1.lstatSync)(absolutePath);
|
|
39
39
|
/**
|
|
40
40
|
* Otherwise we'll have problems with IsNotDirectoryException
|
|
41
41
|
* when using symlinks.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fspath.parser.js","sourceRoot":"","sources":["../../../../src/config/parsers/path/fspath.parser.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fspath.parser.js","sourceRoot":"","sources":["../../../../src/config/parsers/path/fspath.parser.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAC5C,qCAA4D;AAC5D,yCAA6C;AAC7C,+CAAmC;AAInC,MAAa,YAAY;IACM;IAA7B,YAA6B,UAA0B;QAA1B,eAAU,GAAV,UAAU,CAAgB;IAAG,CAAC;IAE3D,IAAI;QACF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,WAAW;QACT,OAAO,IAAA,aAAI,EAAA;;;KAGV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAqB;QACzB,eAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEvB,MAAM,WAAW,GAAG,CAAC,IAAA,sBAAU,EAAC,KAAK,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAA,kBAAG,GAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE9D,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE;YAC7B,MAAM,OAAO,GAAG,WAAW;gBACzB,CAAC,CAAC,wFAAwF;gBAC1F,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,IAAI,KAAK,CACb,sBAAsB,YAAY,eAAe,OAAO,EAAE,CAC3D,CAAC;SACH;QAED,IAAI;YACF,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAC;SAC1B;QAAC,MAAM;YACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,IAAI,CAAC,CAAC;SACpD;QAED,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC,YAAY,CAAC,CAAC;QAErC;;;WAGG;QACH,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,YAAY,CAAC;SACrB;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,IAAI,YAAY,uBAAuB,CAAC,CAAC;SAC1D;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,IAAI,YAAY,kBAAkB,CAAC,CAAC;SACrD;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;AAxDD,oCAwDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import EventEmitter from 'events';
|
|
2
|
+
import EventEmitter from 'node:events';
|
|
3
3
|
import type { Config } from '../config.abstract';
|
|
4
4
|
import type { PropertyException } from '../exceptions';
|
|
5
5
|
import type { ConfigSource, ConfigSourceException } from '../sources';
|
|
@@ -4,8 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ReloadEvents = void 0;
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const node_events_1 = __importDefault(require("node:events"));
|
|
8
|
+
// eslint-disable-next-line unicorn/prefer-event-target
|
|
9
|
+
class ReloadEvents extends node_events_1.default {
|
|
9
10
|
}
|
|
10
11
|
exports.ReloadEvents = ReloadEvents;
|
|
11
12
|
//# sourceMappingURL=config-reload.events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-reload.events.js","sourceRoot":"","sources":["../../../src/config/reload/config-reload.events.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"config-reload.events.js","sourceRoot":"","sources":["../../../src/config/reload/config-reload.events.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAuC;AAOvC,uDAAuD;AACvD,MAAa,YAAa,SAAQ,qBAAY;CAAG;AAAjD,oCAAiD"}
|
|
@@ -24,11 +24,11 @@ class ConfigSource {
|
|
|
24
24
|
const raw = await this.loadRaw();
|
|
25
25
|
return this.flattenEndValidate(raw);
|
|
26
26
|
}
|
|
27
|
-
catch (
|
|
28
|
-
if (
|
|
29
|
-
throw
|
|
27
|
+
catch (error) {
|
|
28
|
+
if (error instanceof exceptions_1.ConfigSourceException) {
|
|
29
|
+
throw error;
|
|
30
30
|
}
|
|
31
|
-
throw new exceptions_1.ConfigSourceException('Failed to load configuration from file',
|
|
31
|
+
throw new exceptions_1.ConfigSourceException('Failed to load configuration from file', error);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/config-source.abstract.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAGrD,8CAAsD;AAEtD,MAAsB,YAAY;IAChC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI;QACR,IAAI;YACF;;;;;;;eAOG;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAEjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACrC;QAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/config-source.abstract.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAGrD,8CAAsD;AAEtD,MAAsB,YAAY;IAChC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI;QACR,IAAI;YACF;;;;;;;eAOG;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAEjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,kCAAqB,EAAE;gBAC1C,MAAM,KAAK,CAAC;aACb;YAED,MAAM,IAAI,kCAAqB,CAC7B,wCAAwC,EACxC,KAAc,CACf,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,GAAY,EAAE,MAAM,GAAG,EAAE;QAClD,IAAI,CAAC,IAAA,iBAAQ,EAAC,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,kCAAqB,CAC7B,MAAM;gBACJ,CAAC,CAAC,iBAAiB,MAAM,wDAAwD;gBACjF,CAAC,CAAC,kCAAkC,CACvC,CAAC;SACH;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAc,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACjE,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;gBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAEpB,OAAO,GAAG,CAAC;aACZ;YAED,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAE1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAW,CAAC,EAAE;oBAC7B,MAAM,IAAI,kCAAqB,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;iBACvE;gBAED,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAEpB,OAAO,GAAG,CAAC;aACZ;YAED;;;eAGG;YACH,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACjB;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAA0B,CAAC,CAAC;IACxC,CAAC;CAKF;AApFD,oCAoFC"}
|
|
@@ -18,9 +18,9 @@ class ReloadableConfigSource extends config_source_abstract_1.ConfigSource {
|
|
|
18
18
|
const vars = await this.load();
|
|
19
19
|
this.events.emit('reload', this, vars);
|
|
20
20
|
}
|
|
21
|
-
catch (
|
|
22
|
-
this.logger.error(`Failed to reload configuration (${this.constructor.name})`,
|
|
23
|
-
this.events.emit('reload_failure', this,
|
|
21
|
+
catch (error) {
|
|
22
|
+
this.logger.error(`Failed to reload configuration (${this.constructor.name})`, error);
|
|
23
|
+
this.events.emit('reload_failure', this, error);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reloadable-config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/reloadable-config-source.abstract.ts"],"names":[],"mappings":";;;AAKA,qEAAwD;AAExD,MAAsB,sBAAuB,SAAQ,qCAAY;IAGjB;IAF3B,MAAM,CAAU;IAEnC,YAAY,MAAe,EAAmB,MAAoB;QAChE,KAAK,EAAE,CAAC;QADoC,WAAM,GAAN,MAAM,CAAc;QAEhE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACxC;QAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"reloadable-config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/reloadable-config-source.abstract.ts"],"names":[],"mappings":";;;AAKA,qEAAwD;AAExD,MAAsB,sBAAuB,SAAQ,qCAAY;IAGjB;IAF3B,MAAM,CAAU;IAEnC,YAAY,MAAe,EAAmB,MAAoB;QAChE,KAAK,EAAE,CAAC;QADoC,WAAM,GAAN,MAAM,CAAc;QAEhE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACxC;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAC3D,KAAK,CACN,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;SACjD;IACH,CAAC;CAGF;AA3BD,wDA2BC;AAEM,MAAM,YAAY,GAAG,CAAC,CAAe,EAA+B,EAAE,CAC3E,CAAC,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC;AADf,QAAA,YAAY,gBACG"}
|
|
@@ -2,7 +2,6 @@ import { ReloadEvents } from '../../reload';
|
|
|
2
2
|
import { ReloadableConfigSource } from '../base';
|
|
3
3
|
export declare class ReloadableFileSource extends ReloadableConfigSource {
|
|
4
4
|
private readonly path;
|
|
5
|
-
private reloadEvents;
|
|
6
5
|
constructor(path: string, reloadEvents: ReloadEvents);
|
|
7
6
|
name(): string;
|
|
8
7
|
loadRaw(): Promise<unknown>;
|
|
@@ -14,9 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
var ReloadableFileSource_1;
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.ReloadableFileSource = void 0;
|
|
17
|
-
const fs_1 = require("fs");
|
|
18
17
|
const common_1 = require("@rsdk/common");
|
|
19
18
|
const logging_1 = require("@rsdk/logging");
|
|
19
|
+
const node_fs_1 = require("node:fs");
|
|
20
20
|
const metadata_1 = require("../../metadata");
|
|
21
21
|
const parsers_1 = require("../../parsers");
|
|
22
22
|
const reload_1 = require("../../reload");
|
|
@@ -24,11 +24,9 @@ const base_1 = require("../base");
|
|
|
24
24
|
const config_source_decorator_1 = require("../config-source.decorator");
|
|
25
25
|
let ReloadableFileSource = ReloadableFileSource_1 = class ReloadableFileSource extends base_1.ReloadableConfigSource {
|
|
26
26
|
path;
|
|
27
|
-
reloadEvents;
|
|
28
27
|
constructor(path, reloadEvents) {
|
|
29
28
|
super(logging_1.LoggerFactory.create(ReloadableFileSource_1), reloadEvents);
|
|
30
29
|
this.path = path;
|
|
31
|
-
this.reloadEvents = reloadEvents;
|
|
32
30
|
}
|
|
33
31
|
name() {
|
|
34
32
|
return `Configuration file: ${this.path}`;
|
|
@@ -37,7 +35,7 @@ let ReloadableFileSource = ReloadableFileSource_1 = class ReloadableFileSource e
|
|
|
37
35
|
return (0, common_1.readObj)(this.path);
|
|
38
36
|
}
|
|
39
37
|
init() {
|
|
40
|
-
(0,
|
|
38
|
+
(0, node_fs_1.watch)(this.path, (event) => {
|
|
41
39
|
if (event !== 'change') {
|
|
42
40
|
return;
|
|
43
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relodable-json-file.source.js","sourceRoot":"","sources":["../../../../src/config/sources/implementations/relodable-json-file.source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"relodable-json-file.source.js","sourceRoot":"","sources":["../../../../src/config/sources/implementations/relodable-json-file.source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuC;AACvC,2CAA8C;AAC9C,qCAAgC;AAEhC,6CAAiE;AACjE,2CAA6C;AAC7C,yCAA4C;AAC5C,kCAAiD;AACjD,wEAAoD;AAEpD,IAIa,oBAAoB,4BAJjC,MAIa,oBAAqB,SAAQ,6BAAsB;IAEZ;IADlD,YACkD,IAAY,EAC5D,YAA0B;QAE1B,KAAK,CAAC,uBAAa,CAAC,MAAM,CAAC,sBAAoB,CAAC,EAAE,YAAY,CAAC,CAAC;QAHhB,SAAI,GAAJ,IAAI,CAAQ;IAI9D,CAAC;IAEQ,IAAI;QACX,OAAO,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAEQ,OAAO;QACd,OAAO,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEQ,IAAI;QACX,IAAA,eAAK,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACtB,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AA3BY,oBAAoB;IAJhC,IAAA,gCAAM,EAAC,YAAY,CAAC;IACpB,IAAA,0BAAe,EAAC,aAAa,EAAE,IAAI,sBAAY,CAAC,MAAM,CAAC,EAAE;QACxD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IAGG,WAAA,IAAA,yBAAc,EAAC,aAAa,CAAC,CAAA;6CAChB,qBAAY;GAHjB,oBAAoB,CA2BhC;AA3BY,oDAAoB"}
|
|
@@ -52,27 +52,34 @@ class Vars {
|
|
|
52
52
|
return { createdKeys, updatedKeys };
|
|
53
53
|
}
|
|
54
54
|
extract(propertyMetadata) {
|
|
55
|
-
const { key, parser } = propertyMetadata;
|
|
55
|
+
const { key, parser, defaultValue } = propertyMetadata;
|
|
56
56
|
const preparedKey = this.toUpperSnakeCase(key);
|
|
57
57
|
const withPrefix = this.prefix
|
|
58
58
|
? `${this.toUpperSnakeCase(this.prefix)}_${preparedKey}`
|
|
59
59
|
: preparedKey;
|
|
60
60
|
const raw = this.values.get(withPrefix) ?? this.values.get(preparedKey);
|
|
61
61
|
if (raw === undefined) {
|
|
62
|
+
// Важная проверка на то что поле там вообще было
|
|
62
63
|
if ('defaultValue' in propertyMetadata) {
|
|
63
|
-
return
|
|
64
|
+
return defaultValue;
|
|
64
65
|
}
|
|
65
|
-
throw new exceptions_1.PropertyException(`No value by key ${
|
|
66
|
+
throw new exceptions_1.PropertyException(`No value by key ${key} was provided!`, {
|
|
67
|
+
propertyMetadata,
|
|
68
|
+
preparedKey,
|
|
69
|
+
});
|
|
66
70
|
}
|
|
67
71
|
try {
|
|
68
72
|
return parser.parse(raw);
|
|
69
73
|
}
|
|
70
|
-
catch (
|
|
71
|
-
throw exceptions_1.PropertyException.fromError(
|
|
74
|
+
catch (error) {
|
|
75
|
+
throw exceptions_1.PropertyException.fromError(error, {
|
|
76
|
+
preparedKey,
|
|
77
|
+
propertyMetadata,
|
|
78
|
+
});
|
|
72
79
|
}
|
|
73
80
|
}
|
|
74
81
|
toUpperSnakeCase(key) {
|
|
75
|
-
return key.
|
|
82
|
+
return key.replaceAll(/[^\dA-Za-z]+/g, '_').toUpperCase();
|
|
76
83
|
}
|
|
77
84
|
}
|
|
78
85
|
exports.Vars = Vars;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.class.js","sourceRoot":"","sources":["../../src/config/vars.class.ts"],"names":[],"mappings":";;;AAAA,mCAA4C;AAE5C,6CAAiD;AASjD,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,+CAAO,CAAA;IACP,+CAAO,CAAA;IACP,mDAAS,CAAA;AACX,CAAC,EAJW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAIpB;AAED,MAAa,IAAI;IAOc;IANZ,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE5D;;;OAGG;IACH,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,GAAG,CAAC,GAAW,EAAE,KAAqB;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACxC,CAAC,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC,IAAI,EAAE;YACzB,CAAC,CAAC,KAAK,CAAC;QAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE9C,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAE5C,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACzC;QAED,IAAI,IAAA,gBAAO,EAAC,aAAa,EAAE,QAAQ,CAAC,EAAE;YACpC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE5C,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAiB;QACrB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAEnD,QAAQ,MAAM,EAAE;gBACd,KAAK,SAAS,CAAC,OAAO;oBACpB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAE9B,MAAM;gBACR,KAAK,SAAS,CAAC,OAAO;oBACpB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAE9B,MAAM;aACT;SACF;QAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,CACL,gBAAqC;QAErC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"vars.class.js","sourceRoot":"","sources":["../../src/config/vars.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { ConfigContext } from './config';
|
|
|
5
5
|
import type { PlatformContext } from './platform.context';
|
|
6
6
|
export declare class ContextAggregator {
|
|
7
7
|
private platformContext;
|
|
8
|
-
private _aggregated
|
|
8
|
+
private _aggregated?;
|
|
9
9
|
constructor(platformContext: PlatformContext);
|
|
10
10
|
/**
|
|
11
11
|
* Прежде всего этот метод предназачен для единой точки конфигурации трех главных компонентов от которых зависит работа приложения
|
|
@@ -46,6 +46,7 @@ class ContextAggregator {
|
|
|
46
46
|
* Просто алиас чтобы везде не писать такую конструкцию
|
|
47
47
|
*/
|
|
48
48
|
async getConfigContext() {
|
|
49
|
+
// eslint-disable-next-line unicorn/no-await-expression-member
|
|
49
50
|
return (await this.getAggregated()).configContext;
|
|
50
51
|
}
|
|
51
52
|
async getRsdkMetadataProvider() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.aggregator.js","sourceRoot":"","sources":["../src/context.aggregator.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAEtD,oDAA8D;AAC9D,6FAAuF;AAEvF,qCAAyC;AAEzC,uDAAmD;AAEnD,MAAa,iBAAiB;IAGR;IAFZ,WAAW,
|
|
1
|
+
{"version":3,"file":"context.aggregator.js","sourceRoot":"","sources":["../src/context.aggregator.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAEtD,oDAA8D;AAC9D,6FAAuF;AAEvF,qCAAyC;AAEzC,uDAAmD;AAEnD,MAAa,iBAAiB;IAGR;IAFZ,WAAW,CAAqB;IAExC,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAExD;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QACD,MAAM,YAAY,GAAG,gCAAc,CAAC,OAAO,CACzC,IAAI,CAAC,eAAe,CAAC,eAAe,CACrC,CAAC;QACF,MAAM,wBAAwB,GAAG,MAAM,sDAAwB,CAAC,GAAG,CACjE,YAAY,CACb,CAAC;QACF,MAAM,oBAAoB,GAAG,MAAM,+BAAoB,CAAC,MAAM,CAC5D,wBAAwB,EACxB,YAAY,CACb,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,oBAAoB,EAAE;YAC5D,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM;YACtC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI;SACnD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG;YACX,OAAO,EAAE;gBACP,YAAY;gBACZ,wBAAwB;gBACxB,4BAAmB,CAAC,OAAO,CAAC,aAAa,CAAC;aAC3C;YACD,MAAM,EAAE,iBAAiB;SAC1B,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,8DAA8D;QAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE9C,OAAO,UAAU,CAAC,oBAAoB,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjED,8CAiEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-exception.absract.js","sourceRoot":"","sources":["../../../src/exceptions/base/platform-exception.absract.ts"],"names":[],"mappings":";;;AAkBA;;;;;GAKG;AACH,MAAsB,iBAA2B,SAAQ,KAAK;IAC5D;;OAEG;IACM,QAAQ,CAAS;IAE1B;;OAEG;IACM,IAAI,CAAgB;IAE7B;;;OAGG;
|
|
1
|
+
{"version":3,"file":"platform-exception.absract.js","sourceRoot":"","sources":["../../../src/exceptions/base/platform-exception.absract.ts"],"names":[],"mappings":";;;AAkBA;;;;;GAKG;AACH,MAAsB,iBAA2B,SAAQ,KAAK;IAC5D;;OAEG;IACM,QAAQ,CAAS;IAE1B;;OAEG;IACM,IAAI,CAAgB;IAE7B;;;OAGG;IACe,KAAK,CAAsB;IAE7C;;;;OAIG;IACM,OAAO,CAAgB;IAEhC;;;OAGG;IACH,YACE,IAAmB,EACnB,OAAe,EACf,KAAwC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,EAAS;QAC5B,IACE,CAAC,EAAE;YACH,CAAC,CAAC,EAAE,YAAY,iBAAiB,CAAC;YAClC,CAAC,EAAE,CAAC,KAAK;YACT,CAAC,CAAC,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,EAC5B;YACA,OAAO,EAAE,CAAC;SACX;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AApDD,8CAoDC"}
|
|
@@ -4,8 +4,7 @@ exports.Exception = void 0;
|
|
|
4
4
|
const exceptions_registry_1 = require("../exceptions.registry");
|
|
5
5
|
const Exception = (metadata) => {
|
|
6
6
|
// TODO: таргет нужно использовать при регистрации!
|
|
7
|
-
|
|
8
|
-
return function (target) {
|
|
7
|
+
return function (_target) {
|
|
9
8
|
exceptions_registry_1.ExceptionsRegistry.getInstance().register(metadata);
|
|
10
9
|
};
|
|
11
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception.decorator.js","sourceRoot":"","sources":["../../../../src/exceptions/metadata/decorators/exception.decorator.ts"],"names":[],"mappings":";;;AACA,gEAA4D;AAErD,MAAM,SAAS,GAAG,CAAC,QAA2B,EAAkB,EAAE;IACvE,mDAAmD;IACnD,
|
|
1
|
+
{"version":3,"file":"exception.decorator.js","sourceRoot":"","sources":["../../../../src/exceptions/metadata/decorators/exception.decorator.ts"],"names":[],"mappings":";;;AACA,gEAA4D;AAErD,MAAM,SAAS,GAAG,CAAC,QAA2B,EAAkB,EAAE;IACvE,mDAAmD;IACnD,OAAO,UAAU,OAAe;QAC9B,wCAAkB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,SAAS,aAKpB"}
|
|
@@ -50,9 +50,9 @@ let HealthChecksService = HealthChecksService_1 = class HealthChecksService {
|
|
|
50
50
|
}
|
|
51
51
|
summary.details[name] = result;
|
|
52
52
|
}
|
|
53
|
-
catch (
|
|
53
|
+
catch (error) {
|
|
54
54
|
success = false;
|
|
55
|
-
summary.details[name] =
|
|
55
|
+
summary.details[name] = error;
|
|
56
56
|
}
|
|
57
57
|
}));
|
|
58
58
|
if (!success) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../src/health/health.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,2CAA4C;AAC5C,uCAAyC;AAEzC,iDAA2C;AAE3C,6CAAsD;AAEtD,wCAA0C;AAE1C,oDAA4E;AAE5E,6CAAoD;AACpD,iDAA4D;AAQ5D,IACa,mBAAmB,2BADhC,MACa,mBAAmB;IAKwB;IACnC;IACA;IANF,UAAU,GAAuB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAChD,cAAc,GAAG,IAAI,GAAG,EAA2B,CAAC;IAErE,YACsD,MAAe,EAClD,SAAoB,EACpB,oBAA0C;QAFP,WAAM,GAAN,MAAM,CAAS;QAClD,cAAS,GAAT,SAAS,CAAW;QACpB,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAGE,AAAN,KAAK,CAAC,KAAK,CAAC,MAAqB;QAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,OAAO,GAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAE5D,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,EAAE;gBACT,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,WAAW,CAAC,IAAI,oBAAoB,CAC7D,CAAC;aACH;YAED,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvC,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,OAAO,GAAG,KAAK,CAAC;iBACjB;gBAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;aAChC;YAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"health.service.js","sourceRoot":"","sources":["../../src/health/health.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FileSystemIndicator = void 0;
|
|
4
|
-
const
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
5
|
const helpers_1 = require("../helpers");
|
|
6
6
|
/**
|
|
7
7
|
* FileSystemIndicator checks if specified file or directory
|
|
@@ -21,13 +21,12 @@ class FileSystemIndicator {
|
|
|
21
21
|
*/
|
|
22
22
|
check() {
|
|
23
23
|
return new Promise((resolve, reject) => {
|
|
24
|
-
(0,
|
|
25
|
-
if (
|
|
26
|
-
resolve(helpers_1.CheckResult.up({ path: this.path }));
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
24
|
+
(0, node_fs_1.access)(this.path, this.mode, (error) => {
|
|
25
|
+
if (error) {
|
|
29
26
|
reject({ error });
|
|
27
|
+
return;
|
|
30
28
|
}
|
|
29
|
+
resolve(helpers_1.CheckResult.up({ path: this.path }));
|
|
31
30
|
});
|
|
32
31
|
});
|
|
33
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-access.indicator.js","sourceRoot":"","sources":["../../../src/health/indicators.abstract/fs-access.indicator.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"fs-access.indicator.js","sourceRoot":"","sources":["../../../src/health/indicators.abstract/fs-access.indicator.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAEjC,wCAAyC;AAezC;;;;;GAKG;AACH,MAAsB,mBAAmB;IAC/B,IAAI,CAAS;IACb,IAAI,CAAqB;IAEjC,YAAY,OAA+B;QACzC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,gBAAM,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrC,IAAI,KAAK,EAAE;oBACT,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBAClB,OAAO;iBACR;gBACD,OAAO,CAAC,qBAAW,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvBD,kDAuBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Manifest = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
|
+
const node_process_1 = require("node:process");
|
|
6
6
|
const app_metadata_1 = require("../app-metadata");
|
|
7
7
|
/**
|
|
8
8
|
* Утилитарный класс для вывода данных из `package.json`
|
|
@@ -12,7 +12,7 @@ class Manifest {
|
|
|
12
12
|
/**
|
|
13
13
|
* Reading and validating metadata from package.json
|
|
14
14
|
*/
|
|
15
|
-
const path = manifestPath || (0,
|
|
15
|
+
const path = manifestPath || (0, node_path_1.join)((0, node_process_1.cwd)(), 'package.json');
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
17
17
|
const { name, description, version } = require(path);
|
|
18
18
|
(0, app_metadata_1.assertAppName)(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest/manifest.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/manifest/manifest.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,+CAAmC;AAEnC,kDAAgD;AAGhD;;GAEG;AACH,MAAa,QAAQ;IACnB,MAAM,CAAC,OAAO,CAAC,YAAqB;QAClC;;WAEG;QACH,MAAM,IAAI,GAAG,YAAY,IAAI,IAAA,gBAAI,EAAC,IAAA,kBAAG,GAAE,EAAE,cAAc,CAAC,CAAC;QAEzD,8DAA8D;QAC9D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAiB,CAAC;QAErE,IAAA,4BAAa,EAAC,IAAI,CAAC,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IACxC,CAAC;CACF;AAbD,4BAaC"}
|
|
@@ -14,7 +14,7 @@ export declare class PlatformContext {
|
|
|
14
14
|
private readonly httpTransport;
|
|
15
15
|
private readonly httpAdapter;
|
|
16
16
|
private aggregator;
|
|
17
|
-
private _extendedOptions
|
|
17
|
+
private _extendedOptions?;
|
|
18
18
|
/**
|
|
19
19
|
* Создаёт контекст проводя базовые проверки
|
|
20
20
|
* - все транспорты совместимы между собой
|
package/dist/platform.context.js
CHANGED
|
@@ -16,7 +16,7 @@ const types_1 = require("./types");
|
|
|
16
16
|
class PlatformContext {
|
|
17
17
|
options;
|
|
18
18
|
logger = logging_1.LoggerFactory.create('App');
|
|
19
|
-
microservices;
|
|
19
|
+
microservices = new Map();
|
|
20
20
|
httpTransport;
|
|
21
21
|
httpAdapter;
|
|
22
22
|
aggregator;
|
|
@@ -117,7 +117,6 @@ class PlatformContext {
|
|
|
117
117
|
await awaiter;
|
|
118
118
|
}
|
|
119
119
|
app.enableShutdownHooks();
|
|
120
|
-
this.microservices = new Map();
|
|
121
120
|
const transports = this.options.transports ?? [];
|
|
122
121
|
for (const transport of transports.filter(types_1.isMicroserviceTransport)) {
|
|
123
122
|
transport.init(configContext);
|
|
@@ -150,8 +149,9 @@ class PlatformContext {
|
|
|
150
149
|
}
|
|
151
150
|
}
|
|
152
151
|
}
|
|
153
|
-
catch (
|
|
154
|
-
this.logger.fatal(
|
|
152
|
+
catch (error) {
|
|
153
|
+
this.logger.fatal(error);
|
|
154
|
+
// eslint-disable-next-line unicorn/no-process-exit
|
|
155
155
|
process.exit(1);
|
|
156
156
|
}
|
|
157
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.context.js","sourceRoot":"","sources":["../src/platform.context.ts"],"names":[],"mappings":";;;AAKA,2CAA8C;AAE9C,mCAA+C;AAE/C,yFAAoF;AACpF,kDAA+C;AAE/C,6DAAyD;AACzD,6CAGsB;AACtB,uCAA8C;AAC9C,2DAAsD;AAQtD,mCAMiB;AAEjB;;GAEG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"platform.context.js","sourceRoot":"","sources":["../src/platform.context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.autoInstumentationOptions = void 0;
|
|
4
|
-
const http_1 = require("http");
|
|
5
4
|
const auto_instrumentations_node_1 = require("@opentelemetry/auto-instrumentations-node");
|
|
5
|
+
const node_http_1 = require("node:http");
|
|
6
6
|
exports.autoInstumentationOptions = (0, auto_instrumentations_node_1.getNodeAutoInstrumentations)({
|
|
7
7
|
'@opentelemetry/instrumentation-aws-sdk': {
|
|
8
8
|
responseHook: (span, { response }) => {
|
|
@@ -16,15 +16,15 @@ exports.autoInstumentationOptions = (0, auto_instrumentations_node_1.getNodeAuto
|
|
|
16
16
|
},
|
|
17
17
|
'@opentelemetry/instrumentation-http': {
|
|
18
18
|
requestHook: (span, request) => {
|
|
19
|
-
if (request instanceof
|
|
19
|
+
if (request instanceof node_http_1.IncomingMessage) {
|
|
20
20
|
if (request.method && request.url) {
|
|
21
21
|
span.updateName(`${request.method} ${request.url}`);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
else if (request instanceof
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
24
|
+
else if (request instanceof node_http_1.ClientRequest &&
|
|
25
|
+
request.req.method &&
|
|
26
|
+
request.req.url) {
|
|
27
|
+
span.updateName(`${request.req.method} ${request.req.url}`);
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-instrumentations.config.js","sourceRoot":"","sources":["../../src/tracing/auto-instrumentations.config.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"auto-instrumentations.config.js","sourceRoot":"","sources":["../../src/tracing/auto-instrumentations.config.ts"],"names":[],"mappings":";;;AAAA,0FAAwF;AACxF,yCAA2D;AAE9C,QAAA,yBAAyB,GAAG,IAAA,wDAA2B,EAAC;IACnE,wCAAwC,EAAE;QACxC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE;gBACzC,IAAI,CAAC,YAAY,CACf,gBAAgB,EAChB,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CACtC,CAAC;aACH;QACH,CAAC;KACF;IACD,wCAAwC,EAAE;QACxC,WAAW,EAAE,IAAI;KAClB;IACD,qCAAqC,EAAE;QACrC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,OAAO,YAAY,2BAAe,EAAE;gBACtC,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE;oBACjC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;iBACrD;aACF;iBAAM,IACL,OAAO,YAAY,yBAAa;gBAChC,OAAO,CAAC,GAAG,CAAC,MAAM;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG,EACf;gBACA,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;aAC7D;QACH,CAAC;KACF;IACD,mCAAmC,EAAE;QACnC,yBAAyB,EAAE,IAAI;KAChC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracing/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,2EAA8D,CAAA;IAC9D,kDAAqC,CAAA;AACvC,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAEY,QAAA,SAAS,GAAG,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracing/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,2EAA8D,CAAA;IAC9D,kDAAqC,CAAA;AACvC,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAEY,QAAA,SAAS,GAAG,GAAG,GAAG,IAAK,CAAC,CAAC,SAAS"}
|
|
@@ -8,7 +8,9 @@ const services_1 = require("../services");
|
|
|
8
8
|
* Use for classes that you instantiate manually.
|
|
9
9
|
* NOTE: Is redundant for injectables and other nest.js stuff
|
|
10
10
|
*/
|
|
11
|
-
const Span = () =>
|
|
11
|
+
const Span = () =>
|
|
12
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
13
|
+
function (target, methodName, descriptor) {
|
|
12
14
|
if (typeof methodName === 'symbol') {
|
|
13
15
|
throw new exceptions_1.SymbolKeyDecorationException();
|
|
14
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span.decorator.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.decorator.ts"],"names":[],"mappings":";;;AAAA,iDAAgE;AAChE,0CAA4C;AAE5C;;;;GAIG;AACI,MAAM,IAAI,GAAG,GAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"span.decorator.js","sourceRoot":"","sources":["../../../src/tracing/decorators/span.decorator.ts"],"names":[],"mappings":";;;AAAA,iDAAgE;AAChE,0CAA4C;AAE5C;;;;GAIG;AACI,MAAM,IAAI,GAAG,GAAoB,EAAE;AACxC,+DAA+D;AAC/D,UACE,MAAc,EACd,UAA2B,EAC3B,UAAwC;IAExC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QAClC,MAAM,IAAI,yCAA4B,EAAE,CAAC;KAC1C;IAED,wBAAa,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC,CAAC;AAZS,QAAA,IAAI,QAYb"}
|
|
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.TraceInjector = void 0;
|
|
7
|
-
const assert_1 = __importDefault(require("assert"));
|
|
8
7
|
const api_1 = require("@opentelemetry/api");
|
|
9
8
|
const common_1 = require("@rsdk/common");
|
|
10
9
|
const decorators_1 = require("@rsdk/decorators");
|
|
11
10
|
const logging_1 = require("@rsdk/logging");
|
|
11
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
12
12
|
const constants_1 = require("../constants");
|
|
13
13
|
const logger = logging_1.LoggerFactory.create('TraceInjector');
|
|
14
14
|
class TraceInjector {
|
|
@@ -88,15 +88,15 @@ class TraceInjector {
|
|
|
88
88
|
return `${cls.constructor.name} -> ${methodName}`;
|
|
89
89
|
}
|
|
90
90
|
static isWrapped(prototype) {
|
|
91
|
-
|
|
91
|
+
node_assert_1.default.ok(prototype);
|
|
92
92
|
return Reflect.hasMetadata(constants_1.Constants.TRACE_METADATA_ACTIVE, prototype);
|
|
93
93
|
}
|
|
94
94
|
static nowSpan(prototype) {
|
|
95
|
-
|
|
95
|
+
node_assert_1.default.ok(prototype);
|
|
96
96
|
return Reflect.hasMetadata(constants_1.Constants.NO_SPAN_METADATA, prototype);
|
|
97
97
|
}
|
|
98
98
|
static setWrapped(prototype) {
|
|
99
|
-
|
|
99
|
+
node_assert_1.default.ok(prototype);
|
|
100
100
|
// Value doesn't matter
|
|
101
101
|
const NOOP = 1;
|
|
102
102
|
Reflect.defineMetadata(constants_1.Constants.TRACE_METADATA_ACTIVE, NOOP, prototype);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.injector.js","sourceRoot":"","sources":["../../../src/tracing/services/trace.injector.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"trace.injector.js","sourceRoot":"","sources":["../../../src/tracing/services/trace.injector.ts"],"names":[],"mappings":"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"}
|
package/dist/types/metadata.js
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.transformSectionMetadata = exports.serializePropertyMetadata = void 0;
|
|
4
4
|
const common_1 = require("@rsdk/common");
|
|
5
|
+
function parseDefaultValue(defaultValue) {
|
|
6
|
+
if ((0, common_1.isPrimitive)(defaultValue)) {
|
|
7
|
+
return defaultValue;
|
|
8
|
+
}
|
|
9
|
+
return Array.isArray(defaultValue)
|
|
10
|
+
? defaultValue.map((x) => ((0, common_1.isPrimitive)(x) ? x : x.toString()))
|
|
11
|
+
: defaultValue?.toString();
|
|
12
|
+
}
|
|
5
13
|
const serializePropertyMetadata = (metadata) => {
|
|
6
14
|
const { parser, defaultValue, ...rest } = metadata;
|
|
7
15
|
return {
|
|
@@ -12,11 +20,7 @@ const serializePropertyMetadata = (metadata) => {
|
|
|
12
20
|
},
|
|
13
21
|
...((0, common_1.hasKey)(metadata, 'defaultValue') && {
|
|
14
22
|
// Here we need to serialize Timespans and URLs
|
|
15
|
-
defaultValue: (
|
|
16
|
-
? defaultValue
|
|
17
|
-
: Array.isArray(defaultValue)
|
|
18
|
-
? defaultValue.map((x) => ((0, common_1.isPrimitive)(x) ? x : x.toString()))
|
|
19
|
-
: defaultValue?.toString(),
|
|
23
|
+
defaultValue: parseDefaultValue(defaultValue),
|
|
20
24
|
}),
|
|
21
25
|
};
|
|
22
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/types/metadata.ts"],"names":[],"mappings":";;;AACA,yCAAmD;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/types/metadata.ts"],"names":[],"mappings":";;;AACA,yCAAmD;AAkBnD,SAAS,iBAAiB,CACxB,YAAqC;IAErC,IAAI,IAAA,oBAAW,EAAC,YAAY,CAAC,EAAE;QAC7B,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAChC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,oBAAW,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAEM,MAAM,yBAAyB,GAAG,CACvC,QAA0B,EACI,EAAE;IAChC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;IAEnD,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;YAEnB,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE;SAClC;QACD,GAAG,CAAC,IAAA,eAAM,EAAC,QAAQ,EAAE,cAAc,CAAC,IAAI;YACtC,+CAA+C;YAC/C,YAAY,EAAE,iBAAiB,CAAC,YAAY,CAAC;SAC9C,CAAC;KAC6B,CAAC;AACpC,CAAC,CAAC;AAjBW,QAAA,yBAAyB,6BAiBpC;AASK,MAAM,wBAAwB,GAAG,CAAC,EACvC,UAAU,EACV,GAAG,IAAI,EAGR,EAA+B,EAAE,CAAC,CAAC;IAClC,GAAG,IAAI;IACP,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,iCAAyB,CAAC;CACrE,CAAC,CAAC;AATU,QAAA,wBAAwB,4BASlC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1-next.0",
|
|
4
4
|
"description": "Nestjs based microservice chassis",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"@nestjs/core": "^9.0.0",
|
|
30
30
|
"@nestjs/microservices": "^9.0.0",
|
|
31
31
|
"@rsdk/autodoc.protocol": "^2.0.0",
|
|
32
|
-
"@rsdk/common": "^2.
|
|
33
|
-
"@rsdk/decorators": "^2.
|
|
34
|
-
"@rsdk/logging": "^2.
|
|
35
|
-
"@rsdk/metadata": "^2.
|
|
36
|
-
"@rsdk/nest-tools": "^2.
|
|
32
|
+
"@rsdk/common": "^2.4.1-next.0",
|
|
33
|
+
"@rsdk/decorators": "^2.4.1-next.0",
|
|
34
|
+
"@rsdk/logging": "^2.4.1-next.0",
|
|
35
|
+
"@rsdk/metadata": "^2.4.1-next.0",
|
|
36
|
+
"@rsdk/nest-tools": "^2.4.1-next.0",
|
|
37
37
|
"axios": "^1.1.3",
|
|
38
38
|
"reflect-metadata": "^0.1.13",
|
|
39
39
|
"rxjs": "^7.0.0"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "02cbc6be59dcf7d7784b316b315eb746c6d5ac4a"
|
|
42
42
|
}
|
package/src/app/platform.app.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { INestApplication } from '@nestjs/common/interfaces';
|
|
2
2
|
import { NestFactory } from '@nestjs/core';
|
|
3
|
-
import { LoggerFactory } from '@rsdk/logging';
|
|
4
3
|
|
|
5
4
|
import { PlatformContext } from '../platform.context';
|
|
6
5
|
import type { PlatformAppMetadata, PlatformAppOptions } from '../types';
|
|
@@ -12,8 +11,6 @@ import type { PlatformAppMetadata, PlatformAppOptions } from '../types';
|
|
|
12
11
|
* ready to go!
|
|
13
12
|
*/
|
|
14
13
|
export class PlatformApp {
|
|
15
|
-
private static logger = LoggerFactory.create(PlatformApp);
|
|
16
|
-
|
|
17
14
|
readonly context: PlatformContext;
|
|
18
15
|
|
|
19
16
|
constructor(readonly platformAppOptions: PlatformAppOptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const APP_NAME_PATTERN = /^[a-z][a-z-]*\.[a-z
|
|
1
|
+
export const APP_NAME_PATTERN = /^[a-z][a-z-]*\.[.a-z-]*[a-z]$/;
|
|
@@ -62,8 +62,8 @@ export class Config {
|
|
|
62
62
|
const updated = this.read(vars);
|
|
63
63
|
|
|
64
64
|
this.events.emit('update', this, updated);
|
|
65
|
-
} catch (
|
|
66
|
-
this.events.emit('update_failure', this,
|
|
65
|
+
} catch (error: any) {
|
|
66
|
+
this.events.emit('update_failure', this, error);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { accessSync, existsSync, lstatSync } from 'fs';
|
|
2
|
-
import { isAbsolute, join } from 'path';
|
|
3
|
-
import { cwd } from 'process';
|
|
4
|
-
|
|
5
1
|
import { Assert, text } from '@rsdk/common';
|
|
2
|
+
import { accessSync, existsSync, lstatSync } from 'node:fs';
|
|
3
|
+
import { isAbsolute, join } from 'node:path';
|
|
4
|
+
import { cwd } from 'node:process';
|
|
6
5
|
|
|
7
6
|
import type { PropertyParser, RawConfigValue } from '../../types';
|
|
8
7
|
|
|
@@ -38,7 +37,7 @@ export class FsPathParser implements PropertyParser<string> {
|
|
|
38
37
|
|
|
39
38
|
try {
|
|
40
39
|
accessSync(absolutePath);
|
|
41
|
-
} catch
|
|
40
|
+
} catch {
|
|
42
41
|
throw new Error(`Can't access <${absolutePath}>!`);
|
|
43
42
|
}
|
|
44
43
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import EventEmitter from 'events';
|
|
1
|
+
import EventEmitter from 'node:events';
|
|
2
2
|
|
|
3
3
|
import type { Config } from '../config.abstract';
|
|
4
4
|
import type { PropertyException } from '../exceptions';
|
|
5
5
|
import type { ConfigSource, ConfigSourceException } from '../sources';
|
|
6
6
|
import type { Changes, RawValues } from '../types';
|
|
7
7
|
|
|
8
|
+
// eslint-disable-next-line unicorn/prefer-event-target
|
|
8
9
|
export class ReloadEvents extends EventEmitter {}
|
|
9
10
|
|
|
10
11
|
export declare interface ReloadEvents {
|
|
@@ -24,14 +24,14 @@ export abstract class ConfigSource {
|
|
|
24
24
|
const raw = await this.loadRaw();
|
|
25
25
|
|
|
26
26
|
return this.flattenEndValidate(raw);
|
|
27
|
-
} catch (
|
|
28
|
-
if (
|
|
29
|
-
throw
|
|
27
|
+
} catch (error) {
|
|
28
|
+
if (error instanceof ConfigSourceException) {
|
|
29
|
+
throw error;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
throw new ConfigSourceException(
|
|
33
33
|
'Failed to load configuration from file',
|
|
34
|
-
|
|
34
|
+
error as Error,
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
@@ -22,12 +22,12 @@ export abstract class ReloadableConfigSource extends ConfigSource {
|
|
|
22
22
|
const vars = await this.load();
|
|
23
23
|
|
|
24
24
|
this.events.emit('reload', this, vars);
|
|
25
|
-
} catch (
|
|
25
|
+
} catch (error: any) {
|
|
26
26
|
this.logger.error(
|
|
27
27
|
`Failed to reload configuration (${this.constructor.name})`,
|
|
28
|
-
|
|
28
|
+
error,
|
|
29
29
|
);
|
|
30
|
-
this.events.emit('reload_failure', this,
|
|
30
|
+
this.events.emit('reload_failure', this, error);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { watch } from 'fs';
|
|
2
|
-
|
|
3
1
|
import { readObj } from '@rsdk/common';
|
|
4
2
|
import { LoggerFactory } from '@rsdk/logging';
|
|
3
|
+
import { watch } from 'node:fs';
|
|
5
4
|
|
|
6
5
|
import { DeclareProperty, InjectProperty } from '../../metadata';
|
|
7
6
|
import { FsPathParser } from '../../parsers';
|
|
@@ -16,7 +15,7 @@ import { Source } from '../config-source.decorator';
|
|
|
16
15
|
export class ReloadableFileSource extends ReloadableConfigSource {
|
|
17
16
|
constructor(
|
|
18
17
|
@InjectProperty('CONFIG_PATH') private readonly path: string,
|
|
19
|
-
|
|
18
|
+
reloadEvents: ReloadEvents,
|
|
20
19
|
) {
|
|
21
20
|
super(LoggerFactory.create(ReloadableFileSource), reloadEvents);
|
|
22
21
|
}
|
package/src/config/vars.class.ts
CHANGED
|
@@ -72,7 +72,7 @@ export class Vars {
|
|
|
72
72
|
extract<T extends ConfigValue>(
|
|
73
73
|
propertyMetadata: PropertyMetadata<T>,
|
|
74
74
|
): T | undefined {
|
|
75
|
-
const { key, parser } = propertyMetadata;
|
|
75
|
+
const { key, parser, defaultValue } = propertyMetadata;
|
|
76
76
|
const preparedKey = this.toUpperSnakeCase(key);
|
|
77
77
|
|
|
78
78
|
const withPrefix = this.prefix
|
|
@@ -82,24 +82,28 @@ export class Vars {
|
|
|
82
82
|
const raw = this.values.get(withPrefix) ?? this.values.get(preparedKey);
|
|
83
83
|
|
|
84
84
|
if (raw === undefined) {
|
|
85
|
+
// Важная проверка на то что поле там вообще было
|
|
85
86
|
if ('defaultValue' in propertyMetadata) {
|
|
86
|
-
return
|
|
87
|
+
return defaultValue;
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
throw new PropertyException(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
);
|
|
90
|
+
throw new PropertyException(`No value by key ${key} was provided!`, {
|
|
91
|
+
propertyMetadata,
|
|
92
|
+
preparedKey,
|
|
93
|
+
});
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
try {
|
|
96
97
|
return parser.parse(raw);
|
|
97
|
-
} catch (
|
|
98
|
-
throw PropertyException.fromError(
|
|
98
|
+
} catch (error) {
|
|
99
|
+
throw PropertyException.fromError(error, {
|
|
100
|
+
preparedKey,
|
|
101
|
+
propertyMetadata,
|
|
102
|
+
});
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
105
|
|
|
102
106
|
private toUpperSnakeCase(key: string): string {
|
|
103
|
-
return key.
|
|
107
|
+
return key.replaceAll(/[^\dA-Za-z]+/g, '_').toUpperCase();
|
|
104
108
|
}
|
|
105
109
|
}
|
|
@@ -9,7 +9,7 @@ import type { PlatformContext } from './platform.context';
|
|
|
9
9
|
import { PlatformModule } from './platform.module';
|
|
10
10
|
|
|
11
11
|
export class ContextAggregator {
|
|
12
|
-
private _aggregated
|
|
12
|
+
private _aggregated?: ContextAggregated;
|
|
13
13
|
|
|
14
14
|
constructor(private platformContext: PlatformContext) {}
|
|
15
15
|
|
|
@@ -58,6 +58,7 @@ export class ContextAggregator {
|
|
|
58
58
|
* Просто алиас чтобы везде не писать такую конструкцию
|
|
59
59
|
*/
|
|
60
60
|
async getConfigContext(): Promise<ConfigContext> {
|
|
61
|
+
// eslint-disable-next-line unicorn/no-await-expression-member
|
|
61
62
|
return (await this.getAggregated()).configContext;
|
|
62
63
|
}
|
|
63
64
|
|
|
@@ -37,7 +37,7 @@ export abstract class PlatformException<T = any> extends Error {
|
|
|
37
37
|
* PlatformException has ability to wrap original errors. Such an option exists
|
|
38
38
|
* in many other languages and frameworks: .NET, Java, Go etc.
|
|
39
39
|
*/
|
|
40
|
-
readonly cause: unknown | undefined;
|
|
40
|
+
override readonly cause: unknown | undefined;
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* Any custom attributes developer is willing to
|
|
@@ -3,8 +3,7 @@ import { ExceptionsRegistry } from '../exceptions.registry';
|
|
|
3
3
|
|
|
4
4
|
export const Exception = (metadata: ExceptionMetadata): ClassDecorator => {
|
|
5
5
|
// TODO: таргет нужно использовать при регистрации!
|
|
6
|
-
|
|
7
|
-
return function (target: object): void {
|
|
6
|
+
return function (_target: object): void {
|
|
8
7
|
ExceptionsRegistry.getInstance().register(metadata);
|
|
9
8
|
};
|
|
10
9
|
};
|
|
@@ -55,9 +55,9 @@ export class HealthChecksService implements OnModuleInit {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
summary.details[name] = result;
|
|
58
|
-
} catch (
|
|
58
|
+
} catch (error) {
|
|
59
59
|
success = false;
|
|
60
|
-
summary.details[name] =
|
|
60
|
+
summary.details[name] = error as any;
|
|
61
61
|
}
|
|
62
62
|
}),
|
|
63
63
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { access } from 'fs';
|
|
1
|
+
import { access } from 'node:fs';
|
|
2
2
|
|
|
3
3
|
import { CheckResult } from '../helpers';
|
|
4
4
|
import type { HealthIndicator } from '../types';
|
|
@@ -36,11 +36,11 @@ export abstract class FileSystemIndicator implements HealthIndicator {
|
|
|
36
36
|
check(): Promise<CheckResult> {
|
|
37
37
|
return new Promise((resolve, reject) => {
|
|
38
38
|
access(this.path, this.mode, (error) => {
|
|
39
|
-
if (
|
|
40
|
-
resolve(CheckResult.up({ path: this.path }));
|
|
41
|
-
} else {
|
|
39
|
+
if (error) {
|
|
42
40
|
reject({ error });
|
|
41
|
+
return;
|
|
43
42
|
}
|
|
43
|
+
resolve(CheckResult.up({ path: this.path }));
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
46
|
}
|
package/src/manifest/manifest.ts
CHANGED
package/src/platform.context.ts
CHANGED
|
@@ -37,11 +37,13 @@ import {
|
|
|
37
37
|
*/
|
|
38
38
|
export class PlatformContext {
|
|
39
39
|
readonly logger = LoggerFactory.create('App');
|
|
40
|
-
private microservices
|
|
40
|
+
private microservices = new Map<INestMicroservice, IMicroserviceTransport>();
|
|
41
|
+
|
|
41
42
|
private readonly httpTransport: IHttpTransport | undefined;
|
|
42
43
|
private readonly httpAdapter: AbstractHttpAdapter;
|
|
43
44
|
private aggregator: ContextAggregator;
|
|
44
|
-
|
|
45
|
+
|
|
46
|
+
private _extendedOptions?: PlatformExtendedOptions;
|
|
45
47
|
|
|
46
48
|
/**
|
|
47
49
|
* Создаёт контекст проводя базовые проверки
|
|
@@ -169,8 +171,6 @@ export class PlatformContext {
|
|
|
169
171
|
|
|
170
172
|
app.enableShutdownHooks();
|
|
171
173
|
|
|
172
|
-
this.microservices = new Map<INestMicroservice, IMicroserviceTransport>();
|
|
173
|
-
|
|
174
174
|
const transports = this.options.transports ?? ([] as any[]);
|
|
175
175
|
|
|
176
176
|
for (const transport of transports.filter(isMicroserviceTransport)) {
|
|
@@ -211,8 +211,9 @@ export class PlatformContext {
|
|
|
211
211
|
transport.onStart();
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
} catch (
|
|
215
|
-
this.logger.fatal(
|
|
214
|
+
} catch (error) {
|
|
215
|
+
this.logger.fatal(error as Error);
|
|
216
|
+
// eslint-disable-next-line unicorn/no-process-exit
|
|
216
217
|
process.exit(1);
|
|
217
218
|
}
|
|
218
219
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ClientRequest, IncomingMessage } from 'http';
|
|
2
|
-
|
|
3
1
|
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
|
|
2
|
+
import { ClientRequest, IncomingMessage } from 'node:http';
|
|
4
3
|
|
|
5
4
|
export const autoInstumentationOptions = getNodeAutoInstrumentations({
|
|
6
5
|
'@opentelemetry/instrumentation-aws-sdk': {
|
|
@@ -22,10 +21,12 @@ export const autoInstumentationOptions = getNodeAutoInstrumentations({
|
|
|
22
21
|
if (request.method && request.url) {
|
|
23
22
|
span.updateName(`${request.method} ${request.url}`);
|
|
24
23
|
}
|
|
25
|
-
} else if (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
} else if (
|
|
25
|
+
request instanceof ClientRequest &&
|
|
26
|
+
request.req.method &&
|
|
27
|
+
request.req.url
|
|
28
|
+
) {
|
|
29
|
+
span.updateName(`${request.req.method} ${request.req.url}`);
|
|
29
30
|
}
|
|
30
31
|
},
|
|
31
32
|
},
|
package/src/tracing/constants.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { TraceInjector } from '../services';
|
|
|
7
7
|
* NOTE: Is redundant for injectables and other nest.js stuff
|
|
8
8
|
*/
|
|
9
9
|
export const Span = (): MethodDecorator =>
|
|
10
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping
|
|
10
11
|
function (
|
|
11
12
|
target: object,
|
|
12
13
|
methodName: string | symbol,
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
|
|
3
1
|
import type { AttributeValue, Span } from '@opentelemetry/api';
|
|
4
2
|
import { SpanStatusCode, trace } from '@opentelemetry/api';
|
|
5
3
|
import type { ErrorLike } from '@rsdk/common';
|
|
6
4
|
import { isPrimitive, isRecord, normalizer } from '@rsdk/common';
|
|
7
5
|
import { redecorate } from '@rsdk/decorators';
|
|
8
6
|
import { LoggerFactory } from '@rsdk/logging';
|
|
7
|
+
import assert from 'node:assert';
|
|
9
8
|
|
|
10
9
|
import { Constants, MAX_BYTES } from '../constants';
|
|
11
10
|
|
package/src/types/metadata.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Primitive } from '@rsdk/common';
|
|
|
2
2
|
import { hasKey, isPrimitive } from '@rsdk/common';
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
|
+
ConfigValue,
|
|
5
6
|
ParserMetadata,
|
|
6
7
|
PropertyMetadata,
|
|
7
8
|
SectionMetadata,
|
|
@@ -16,6 +17,17 @@ export type SerializablePropertyMetadata = Omit<
|
|
|
16
17
|
parser: ParserMetadata;
|
|
17
18
|
};
|
|
18
19
|
|
|
20
|
+
function parseDefaultValue(
|
|
21
|
+
defaultValue: ConfigValue | undefined,
|
|
22
|
+
): Primitive | Primitive[] | undefined {
|
|
23
|
+
if (isPrimitive(defaultValue)) {
|
|
24
|
+
return defaultValue;
|
|
25
|
+
}
|
|
26
|
+
return Array.isArray(defaultValue)
|
|
27
|
+
? defaultValue.map((x) => (isPrimitive(x) ? x : x.toString()))
|
|
28
|
+
: defaultValue?.toString();
|
|
29
|
+
}
|
|
30
|
+
|
|
19
31
|
export const serializePropertyMetadata = (
|
|
20
32
|
metadata: PropertyMetadata,
|
|
21
33
|
): SerializablePropertyMetadata => {
|
|
@@ -30,11 +42,7 @@ export const serializePropertyMetadata = (
|
|
|
30
42
|
},
|
|
31
43
|
...(hasKey(metadata, 'defaultValue') && {
|
|
32
44
|
// Here we need to serialize Timespans and URLs
|
|
33
|
-
defaultValue:
|
|
34
|
-
? defaultValue
|
|
35
|
-
: Array.isArray(defaultValue)
|
|
36
|
-
? defaultValue.map((x) => (isPrimitive(x) ? x : x.toString()))
|
|
37
|
-
: defaultValue?.toString(),
|
|
45
|
+
defaultValue: parseDefaultValue(defaultValue),
|
|
38
46
|
}),
|
|
39
47
|
} as SerializablePropertyMetadata;
|
|
40
48
|
};
|