@yolo-croket-dev/amqp-access 0.7.370 → 0.7.371

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.
Files changed (26) hide show
  1. package/analytics-service/amqp.analytics-service.provider.d.ts +1 -1
  2. package/analytics-service/amqp.analytics-service.provider.js +2 -1
  3. package/auth-service/amqp.auth-service.provider.d.ts +1 -1
  4. package/auth-service/amqp.auth-service.provider.js +2 -1
  5. package/coupon-server/amqp.coupon-server.provider.d.ts +1 -1
  6. package/coupon-server/amqp.coupon-server.provider.js +2 -1
  7. package/elastic-service/amqp.elastic-service.provider.d.ts +1 -1
  8. package/elastic-service/amqp.elastic-service.provider.js +2 -1
  9. package/excel-upload-server/amqp.excel-upload-server.provider.d.ts +1 -1
  10. package/excel-upload-server/amqp.excel-upload-server.provider.js +2 -1
  11. package/image-server/amqp.image-server.provider.d.ts +1 -1
  12. package/image-server/amqp.image-server.provider.js +2 -1
  13. package/manage-service/amqp.manage-service.provider.d.ts +1 -1
  14. package/manage-service/amqp.manage-service.provider.js +2 -1
  15. package/notification-service/amqp.notification-service.provider.d.ts +1 -1
  16. package/notification-service/amqp.notification-service.provider.js +2 -1
  17. package/order-server/amqp.order-server.provider.d.ts +1 -1
  18. package/order-server/amqp.order-server.provider.js +2 -1
  19. package/package.json +3 -2
  20. package/payment-service/amqp.payment-service.provider.d.ts +1 -1
  21. package/payment-service/amqp.payment-service.provider.js +2 -1
  22. package/store-item-server/amqp.store-item-server.provider.d.ts +1 -1
  23. package/store-item-server/amqp.store-item-server.provider.js +2 -1
  24. package/tests/rmq-provider.test.cjs +52 -0
  25. package/user-service/amqp.user-service.provider.d.ts +1 -1
  26. package/user-service/amqp.user-service.provider.js +2 -1
@@ -1,4 +1,4 @@
1
1
  export declare const AnalyticsServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AnalyticsServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.AnalyticsServiceProvider = {
9
10
  provide: 'ANALYTICS_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const AuthServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AuthServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.AuthServiceProvider = {
9
10
  provide: 'AUTH_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const CouponServerProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CouponServerProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.CouponServerProvider = {
9
10
  provide: 'COUPON_SERVER_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const ElasticServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ElasticServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.ElasticServiceProvider = {
9
10
  provide: 'ELASTIC_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const ExcelUploadServerProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExcelUploadServerProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.ExcelUploadServerProvider = {
9
10
  provide: 'EXCEL_UPLOAD_SERVER_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const ImageServerProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImageServerProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.ImageServerProvider = {
9
10
  provide: 'IMAGE_SERVER_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const ManageServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ManageServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.ManageServiceProvider = {
9
10
  provide: 'MANAGE_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const NotifiactionServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NotifiactionServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.NotifiactionServiceProvider = {
9
10
  provide: 'NOTIFICATION_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const OrderServerProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrderServerProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.OrderServerProvider = {
9
10
  provide: 'ORDER_SERVER_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolo-croket-dev/amqp-access",
3
- "version": "0.7.370",
3
+ "version": "0.7.371",
4
4
  "main": "index.js",
5
5
  "author": "Yolo Co., Ltd.",
6
6
  "description": "크로켓 amqp-access npm",
@@ -10,6 +10,7 @@
10
10
  "scripts": {
11
11
  "build": "node ../../node_modules/typescript/bin/tsc",
12
12
  "lint": "eslint --no-error-on-unmatched-pattern src/**/*.ts",
13
+ "test": "yarn build && node --test tests/*.test.cjs",
13
14
  "fix": "eslint --fix src/**/*.ts",
14
15
  "clean": "node ../../node_modules/typescript/bin/tsc --build --clean",
15
16
  "prepublishOnly": "npm run build",
@@ -19,7 +20,7 @@
19
20
  "dependencies": {
20
21
  "@nestjs/common": "^10.3.10",
21
22
  "@nestjs/mapped-types": "2.0.2",
22
- "@yolo-croket-dev/core": "1.10.0",
23
+ "@yolo-croket-dev/core": "1.10.2",
23
24
  "@yolo-croket-dev/domain": "0.2.50",
24
25
  "@yolo-croket-dev/dto-v2": "0.2.31",
25
26
  "@yolo-croket-dev/entity": "0.2.109",
@@ -1,4 +1,4 @@
1
1
  export declare const PaymentServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PaymentServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.PaymentServiceProvider = {
9
10
  provide: 'PAYMENT_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -1,4 +1,4 @@
1
1
  export declare const StoreItemServerProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StoreItemServerProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.StoreItemServerProvider = {
9
10
  provide: 'STORE_ITEM_SERVER_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],
@@ -0,0 +1,52 @@
1
+ const assert = require('node:assert/strict');
2
+ const test = require('node:test');
3
+ const { getRmqDiagnosticSnapshot } = require('@yolo-croket-dev/core/functions');
4
+
5
+ const providerFiles = [
6
+ '../analytics-service/amqp.analytics-service.provider',
7
+ '../auth-service/amqp.auth-service.provider',
8
+ '../coupon-server/amqp.coupon-server.provider',
9
+ '../elastic-service/amqp.elastic-service.provider',
10
+ '../excel-upload-server/amqp.excel-upload-server.provider',
11
+ '../image-server/amqp.image-server.provider',
12
+ '../manage-service/amqp.manage-service.provider',
13
+ '../notification-service/amqp.notification-service.provider',
14
+ '../order-server/amqp.order-server.provider',
15
+ '../payment-service/amqp.payment-service.provider',
16
+ '../store-item-server/amqp.store-item-server.provider',
17
+ '../user-service/amqp.user-service.provider',
18
+ ];
19
+
20
+ test('shared RMQ providers use the caller-visible diagnostic client only when enabled', async t => {
21
+ const previous = process.env.RMQ_DIAGNOSTICS_ENABLED;
22
+ t.after(() => {
23
+ if (previous === undefined) delete process.env.RMQ_DIAGNOSTICS_ENABLED;
24
+ else process.env.RMQ_DIAGNOSTICS_ENABLED = previous;
25
+ });
26
+
27
+ const ids = new Set();
28
+ for (const file of providerFiles) {
29
+ const provider = Object.values(require(file)).find(value => value && typeof value.useFactory === 'function');
30
+ assert.ok(provider, `${file} exports a provider`);
31
+
32
+ process.env.RMQ_DIAGNOSTICS_ENABLED = 'true';
33
+ const observed = provider.useFactory();
34
+ const snapshot = getRmqDiagnosticSnapshot(observed);
35
+ assert.equal(snapshot?.direction, 'client', file);
36
+ assert.equal(snapshot?.connectionState, 'not_connected', file);
37
+ assert.equal(snapshot?.generation, 0, file);
38
+ assert.ok(snapshot?.connectionId, file);
39
+ ids.add(snapshot.connectionId);
40
+
41
+ process.env.RMQ_DIAGNOSTICS_ENABLED = 'false';
42
+ const plain = provider.useFactory();
43
+ assert.equal(getRmqDiagnosticSnapshot(plain), undefined, file);
44
+ assert.deepEqual(plain.options, {
45
+ ...observed.options,
46
+ socketOptions: { heartbeatIntervalInSeconds: 60 },
47
+ }, file);
48
+ await observed.close();
49
+ await plain.close();
50
+ }
51
+ assert.equal(ids.size, providerFiles.length);
52
+ });
@@ -1,4 +1,4 @@
1
1
  export declare const UserServiceProvider: {
2
2
  provide: string;
3
- useFactory: () => import("@nestjs/microservices").ClientProxy<Record<never, Function>, string>;
3
+ useFactory: () => import("@nestjs/microservices").ClientRMQ;
4
4
  };
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UserServiceProvider = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-explicit-any */
5
5
  const microservices_1 = require("@nestjs/microservices");
6
+ const functions_1 = require("@yolo-croket-dev/core/functions");
6
7
  const provider_inject_util_1 = require("../provider-inject.util");
7
8
  const { AMQP_URL } = process.env;
8
9
  exports.UserServiceProvider = {
9
10
  provide: 'USER_SERVICE_PROVIDER',
10
- useFactory: () => microservices_1.ClientProxyFactory.create({
11
+ useFactory: () => (0, functions_1.createDiagnosticRmqClient)({
11
12
  transport: microservices_1.Transport.RMQ,
12
13
  options: {
13
14
  urls: [AMQP_URL],