@diia-inhouse/diia-app 18.0.0 → 18.2.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/dist/baseDeps.js CHANGED
@@ -11,7 +11,7 @@ const actionExecutor_1 = require("./actionExecutor");
11
11
  const grpc_1 = require("./grpc");
12
12
  const moleculerWrapper_1 = __importDefault(require("./moleculer/moleculerWrapper"));
13
13
  async function getBaseDeps(config) {
14
- const { isMoleculerEnabled, healthCheck: healthCheckConfig, store, redis, rabbit, db, auth, identifier, metrics } = config;
14
+ const { isMoleculerEnabled, healthCheck: healthCheckConfig, store, redis, rabbit, db, auth, identifier, metrics, featureFlags } = config;
15
15
  const baseDeps = {
16
16
  config: (0, awilix_1.asValue)(config),
17
17
  validator: (0, awilix_1.asClass)(validators_1.AppValidator).singleton(),
@@ -94,6 +94,12 @@ async function getBaseDeps(config) {
94
94
  injector: () => ({ identifierConfig: identifier }),
95
95
  }).singleton();
96
96
  }
97
+ if (featureFlags) {
98
+ const { FeatureService } = await import('@diia-inhouse/features');
99
+ baseDeps.featureFlag = (0, awilix_1.asClass)(FeatureService, {
100
+ injector: () => ({ featureConfig: featureFlags }),
101
+ }).singleton();
102
+ }
97
103
  return baseDeps;
98
104
  }
99
105
  exports.getBaseDeps = getBaseDeps;
@@ -1 +1 @@
1
- {"version":3,"file":"baseDeps.js","sourceRoot":"","sources":["../src/baseDeps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseDeps.js","sourceRoot":"","sources":["../src/baseDeps.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES = void 0;
4
+ exports.SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES = 'messaging.rabbitmq.attributes';
3
5
  //# sourceMappingURL=tracing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/interfaces/tracing.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/interfaces/tracing.ts"],"names":[],"mappings":";;;AAUa,QAAA,sCAAsC,GAAG,+BAA+B,CAAA"}
@@ -10,6 +10,7 @@ const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
10
10
  const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
11
11
  const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
12
12
  const lodash_1 = require("lodash");
13
+ const tracing_1 = require("../interfaces/tracing");
13
14
  function getIgnoreIncomingRequestHook(paths = []) {
14
15
  const ignoreIncomingPaths = new Set(['/metrics', '/ready', '/start', '/live'].concat(paths));
15
16
  return ({ url }) => {
@@ -45,6 +46,9 @@ const defaultConfig = {
45
46
  }
46
47
  },
47
48
  consumeHook: (span, consumeInfo) => {
49
+ for (const [key, value] of Object.entries(consumeInfo.msg.properties)) {
50
+ span.setAttribute(`${tracing_1.SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES}.${key}`, value);
51
+ }
48
52
  if (consumeInfo.msg.fields.exchange.includes('reply-to') || consumeInfo.msg.fields.routingKey.includes('reply-to')) {
49
53
  span.updateName('amq.rabbitmq.reply-to');
50
54
  span.setAttributes({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AuthConfig, IdentifierConfig } from '@diia-inhouse/crypto';
2
2
  import type { AppDbConfig } from '@diia-inhouse/db';
3
3
  import type { MetricsConfig as CustomMetricsConfig } from '@diia-inhouse/diia-metrics';
4
4
  import type { QueueConnectionConfig } from '@diia-inhouse/diia-queue';
5
+ import type { FeatureConfig } from '@diia-inhouse/features';
5
6
  import type { HealthCheckConfig } from '@diia-inhouse/healthcheck';
6
7
  import type { RedisConfig } from '@diia-inhouse/redis';
7
8
  import type { GenericObject, HttpMethod } from '@diia-inhouse/types';
@@ -60,4 +61,5 @@ export interface BaseConfig {
60
61
  auth?: AuthConfig;
61
62
  identifier?: IdentifierConfig;
62
63
  grpcServer?: GrpcServerConfig;
64
+ featureFlags?: FeatureConfig;
63
65
  }
@@ -5,6 +5,7 @@ import type { DatabaseService } from '@diia-inhouse/db';
5
5
  import type { MetricsService } from '@diia-inhouse/diia-metrics';
6
6
  import type { EventBus, EventMessageHandler, EventMessageValidator, ExternalCommunicator, ExternalCommunicatorChannel, ExternalEventBus, Queue, ScheduledTask, Task } from '@diia-inhouse/diia-queue';
7
7
  import type { EnvService } from '@diia-inhouse/env';
8
+ import type { FeatureService } from '@diia-inhouse/features';
8
9
  import type { HealthCheck } from '@diia-inhouse/healthcheck';
9
10
  import type { CacheService, PubSubService, RedlockService, StoreService } from '@diia-inhouse/redis';
10
11
  import type { AlsData, Logger } from '@diia-inhouse/types';
@@ -43,4 +44,5 @@ export interface BaseDeps<TConfig extends BaseConfig = BaseConfig> {
43
44
  database?: DatabaseService;
44
45
  auth?: AuthService;
45
46
  identifier?: IdentifierService;
47
+ featureFlag?: FeatureService;
46
48
  }
@@ -6,3 +6,4 @@ export interface OpentelemetryTracingConfig {
6
6
  exporter?: OTLPGRPCExporterConfigNode;
7
7
  debug?: boolean;
8
8
  }
9
+ export declare const SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES = "messaging.rabbitmq.attributes";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diia-inhouse/diia-app",
3
- "version": "18.0.0",
3
+ "version": "18.2.0",
4
4
  "description": "Application package with IoC container",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "src"
13
13
  ],
14
14
  "engines": {
15
- "node": ">=18"
15
+ "node": ">=20"
16
16
  },
17
17
  "scripts": {
18
18
  "prebuild": "rimraf dist",
@@ -50,7 +50,7 @@
50
50
  "awilix": "10.0.2",
51
51
  "cookie-parser": "1.4.6",
52
52
  "dotenv-flow": "3.3.0",
53
- "glob": "10.4.1",
53
+ "glob": "11.0.0",
54
54
  "lodash": "4.17.21",
55
55
  "moleculer": "0.14.33",
56
56
  "moleculer-web": "0.10.7",
@@ -69,6 +69,7 @@
69
69
  "@diia-inhouse/diia-queue": ">=6.3.2",
70
70
  "@diia-inhouse/env": ">=1.10.2",
71
71
  "@diia-inhouse/errors": ">=1.7.0",
72
+ "@diia-inhouse/features": ">=2.1.0",
72
73
  "@diia-inhouse/healthcheck": ">=1.7.0",
73
74
  "@diia-inhouse/redis": ">=2.2.1",
74
75
  "@diia-inhouse/types": ">=6.30.0",
@@ -93,37 +94,41 @@
93
94
  },
94
95
  "@diia-inhouse/crypto": {
95
96
  "optional": true
97
+ },
98
+ "@diia-inhouse/features": {
99
+ "optional": true
96
100
  }
97
101
  },
98
102
  "devDependencies": {
99
- "@diia-inhouse/configs": "1.32.0",
100
- "@diia-inhouse/crypto": "1.11.0",
101
- "@diia-inhouse/db": "4.9.0",
102
- "@diia-inhouse/diia-logger": "3.0.0",
103
+ "@diia-inhouse/configs": "2.2.0",
104
+ "@diia-inhouse/crypto": "1.11.1",
105
+ "@diia-inhouse/db": "4.13.1",
106
+ "@diia-inhouse/diia-logger": "3.3.0",
103
107
  "@diia-inhouse/diia-metrics": "3.12.0",
104
- "@diia-inhouse/diia-queue": "7.3.0",
108
+ "@diia-inhouse/diia-queue": "8.0.0",
105
109
  "@diia-inhouse/env": "1.16.0",
106
110
  "@diia-inhouse/errors": "1.10.0",
107
111
  "@diia-inhouse/eslint-config": "5.1.0",
108
112
  "@diia-inhouse/eslint-plugin": "1.6.0",
109
- "@diia-inhouse/genproto": "1.14.0",
113
+ "@diia-inhouse/features": "2.3.1",
114
+ "@diia-inhouse/genproto": "2.0.1",
110
115
  "@diia-inhouse/healthcheck": "1.12.0",
111
- "@diia-inhouse/redis": "2.12.0",
112
- "@diia-inhouse/test": "6.3.1",
113
- "@diia-inhouse/types": "6.30.0",
114
- "@diia-inhouse/utils": "3.5.0",
116
+ "@diia-inhouse/redis": "2.13.1",
117
+ "@diia-inhouse/test": "6.4.0",
118
+ "@diia-inhouse/types": "6.51.0",
119
+ "@diia-inhouse/utils": "4.0.0",
115
120
  "@diia-inhouse/validators": "1.17.0",
116
121
  "@opentelemetry/instrumentation-amqplib": "0.38.0",
117
122
  "@opentelemetry/instrumentation-http": "0.52.0",
118
123
  "@opentelemetry/otlp-grpc-exporter-base": "0.52.0",
119
124
  "@types/cookie-parser": "1.4.7",
120
- "@types/lodash": "4.17.5",
121
- "@types/node": "20.14.5",
125
+ "@types/lodash": "4.17.7",
126
+ "@types/node": "22.0.3",
122
127
  "@types/pluralize": "0.0.33",
123
128
  "eslint": "8.57.0",
124
129
  "lockfile-lint": "4.14.0",
125
130
  "madge": "7.0.0",
126
- "prettier": "3.3.2",
131
+ "prettier": "3.3.3",
127
132
  "type-fest": "4.8.2",
128
133
  "typescript": "5.4.5"
129
134
  },
package/src/baseDeps.ts CHANGED
@@ -13,7 +13,7 @@ import MoleculerService from './moleculer/moleculerWrapper'
13
13
  export async function getBaseDeps<TConfig extends BaseConfig = BaseConfig>(
14
14
  config: TConfig,
15
15
  ): Promise<NameAndRegistrationPair<BaseDeps<TConfig>>> {
16
- const { isMoleculerEnabled, healthCheck: healthCheckConfig, store, redis, rabbit, db, auth, identifier, metrics } = config
16
+ const { isMoleculerEnabled, healthCheck: healthCheckConfig, store, redis, rabbit, db, auth, identifier, metrics, featureFlags } = config
17
17
  const baseDeps: NameAndRegistrationPair<BaseDeps<TConfig>> = {
18
18
  config: asValue(config),
19
19
  validator: asClass(AppValidator).singleton(),
@@ -124,5 +124,13 @@ export async function getBaseDeps<TConfig extends BaseConfig = BaseConfig>(
124
124
  }).singleton()
125
125
  }
126
126
 
127
+ if (featureFlags) {
128
+ const { FeatureService } = await import('@diia-inhouse/features')
129
+
130
+ baseDeps.featureFlag = asClass(FeatureService, {
131
+ injector: () => ({ featureConfig: featureFlags }),
132
+ }).singleton()
133
+ }
134
+
127
135
  return baseDeps
128
136
  }
@@ -2,6 +2,7 @@ import type { AuthConfig, IdentifierConfig } from '@diia-inhouse/crypto'
2
2
  import type { AppDbConfig } from '@diia-inhouse/db'
3
3
  import type { MetricsConfig as CustomMetricsConfig } from '@diia-inhouse/diia-metrics'
4
4
  import type { QueueConnectionConfig } from '@diia-inhouse/diia-queue'
5
+ import type { FeatureConfig } from '@diia-inhouse/features'
5
6
  import type { HealthCheckConfig } from '@diia-inhouse/healthcheck'
6
7
  import type { RedisConfig } from '@diia-inhouse/redis'
7
8
  import type { GenericObject, HttpMethod } from '@diia-inhouse/types'
@@ -73,4 +74,5 @@ export interface BaseConfig {
73
74
  auth?: AuthConfig
74
75
  identifier?: IdentifierConfig
75
76
  grpcServer?: GrpcServerConfig
77
+ featureFlags?: FeatureConfig
76
78
  }
@@ -15,6 +15,7 @@ import type {
15
15
  Task,
16
16
  } from '@diia-inhouse/diia-queue'
17
17
  import type { EnvService } from '@diia-inhouse/env'
18
+ import type { FeatureService } from '@diia-inhouse/features'
18
19
  import type { HealthCheck } from '@diia-inhouse/healthcheck'
19
20
  import type { CacheService, PubSubService, RedlockService, StoreService } from '@diia-inhouse/redis'
20
21
  import type { AlsData, Logger } from '@diia-inhouse/types'
@@ -56,4 +57,5 @@ export interface BaseDeps<TConfig extends BaseConfig = BaseConfig> {
56
57
  database?: DatabaseService
57
58
  auth?: AuthService
58
59
  identifier?: IdentifierService
60
+ featureFlag?: FeatureService
59
61
  }
@@ -7,3 +7,5 @@ export interface OpentelemetryTracingConfig {
7
7
  exporter?: OTLPGRPCExporterConfigNode
8
8
  debug?: boolean
9
9
  }
10
+
11
+ export const SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES = 'messaging.rabbitmq.attributes'
@@ -10,7 +10,7 @@ import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'
10
10
  import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions'
11
11
  import { merge } from 'lodash'
12
12
 
13
- import { OpentelemetryTracingConfig } from '../interfaces/tracing'
13
+ import { OpentelemetryTracingConfig, SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES } from '../interfaces/tracing'
14
14
 
15
15
  export function getIgnoreIncomingRequestHook(paths: string[] = []): IgnoreIncomingRequestFunction {
16
16
  const ignoreIncomingPaths = new Set(['/metrics', '/ready', '/start', '/live'].concat(paths))
@@ -49,6 +49,10 @@ const defaultConfig: OpentelemetryTracingConfig = {
49
49
  }
50
50
  },
51
51
  consumeHook: (span: Span, consumeInfo: ConsumeInfo) => {
52
+ for (const [key, value] of Object.entries(consumeInfo.msg.properties)) {
53
+ span.setAttribute(`${SEMATTRS_MESSAGING_RABBITMQ_ATTRIBUTES}.${key}`, value)
54
+ }
55
+
52
56
  if (consumeInfo.msg.fields.exchange.includes('reply-to') || consumeInfo.msg.fields.routingKey.includes('reply-to')) {
53
57
  span.updateName('amq.rabbitmq.reply-to')
54
58
  span.setAttributes({