@haku-sci/utils 8.5.0 → 11.0.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/TCP/haku-error.d.ts +8 -0
- package/dist/TCP/haku-error.js +14 -0
- package/dist/TCP/haku-error.js.map +1 -0
- package/dist/TCP/remote-service.exception.d.ts +3 -0
- package/dist/TCP/remote-service.exception.js +8 -0
- package/dist/TCP/remote-service.exception.js.map +1 -0
- package/dist/TCP/tcp.service.js +20 -13
- package/dist/TCP/tcp.service.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/microservice/exceptionFilter.d.ts +3 -3
- package/dist/microservice/exceptionFilter.js +15 -5
- package/dist/microservice/exceptionFilter.js.map +1 -1
- package/dist/microservice/sqlite.service.d.ts +1 -0
- package/dist/microservice/sqlite.service.js +9 -0
- package/dist/microservice/sqlite.service.js.map +1 -0
- package/package.json +56 -56
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toHakuError = toHakuError;
|
|
4
|
+
const remote_service_exception_1 = require("./remote-service.exception");
|
|
5
|
+
function toHakuError(error, service) {
|
|
6
|
+
return {
|
|
7
|
+
service,
|
|
8
|
+
message: error?.message ?? String(error),
|
|
9
|
+
status: error?.getStatus?.() ?? error?.status ?? error?.statusCode,
|
|
10
|
+
stack: error?.stack,
|
|
11
|
+
cause: error instanceof remote_service_exception_1.RemoteServiceException ? error.getResponse() : undefined,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=haku-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"haku-error.js","sourceRoot":"","sources":["../../src/TCP/haku-error.ts"],"names":[],"mappings":";;AAcA,kCAQC;AAtBD,yEAAoE;AAcpE,SAAgB,WAAW,CAAC,KAAU,EAAE,OAAgB;IACtD,OAAO;QACL,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;QACxC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,EAAE,UAAU;QAClE,KAAK,EAAE,KAAK,EAAE,KAAK;QACnB,KAAK,EAAE,KAAK,YAAY,iDAAsB,CAAC,CAAC,CAAE,KAAK,CAAC,WAAW,EAAgB,CAAC,CAAC,CAAC,SAAS;KAChG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemoteServiceException = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
class RemoteServiceException extends common_1.HttpException {
|
|
6
|
+
}
|
|
7
|
+
exports.RemoteServiceException = RemoteServiceException;
|
|
8
|
+
//# sourceMappingURL=remote-service.exception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remote-service.exception.js","sourceRoot":"","sources":["../../src/TCP/remote-service.exception.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAI/C,MAAa,sBAAuB,SAAQ,sBAAa;CAAI;AAA7D,wDAA6D"}
|
package/dist/TCP/tcp.service.js
CHANGED
|
@@ -18,18 +18,23 @@ const exceptionFilter_1 = require("../microservice/exceptionFilter");
|
|
|
18
18
|
const constants_1 = require("@nestjs/microservices/constants");
|
|
19
19
|
const constants_2 = require("@nestjs/common/constants");
|
|
20
20
|
const nestjs_discovery_1 = require("@golevelup/nestjs-discovery");
|
|
21
|
+
const remote_service_exception_1 = require("./remote-service.exception");
|
|
22
|
+
const UNDELIVERED_ERROR_CODES = new Set(['ECONNREFUSED', 'EHOSTUNREACH', 'ENOTFOUND', 'EAI_AGAIN']);
|
|
23
|
+
class UndeliveredMessageException extends common_1.HttpException {
|
|
24
|
+
}
|
|
21
25
|
let TCPService = TCPService_1 = class TCPService {
|
|
22
26
|
static async sendMessage(service, action, resource, payload = {}) {
|
|
27
|
+
const callSite = new Error().stack?.split('\n').slice(2).join('\n');
|
|
23
28
|
try {
|
|
24
|
-
return await TCPService_1.trySendMessage(service, action, resource, payload, false);
|
|
29
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, false, callSite);
|
|
25
30
|
}
|
|
26
31
|
catch (err) {
|
|
27
|
-
if (err instanceof
|
|
28
|
-
return await TCPService_1.trySendMessage(service, action, resource, payload, true);
|
|
32
|
+
if (err instanceof UndeliveredMessageException)
|
|
33
|
+
return await TCPService_1.trySendMessage(service, action, resource, payload, true, callSite);
|
|
29
34
|
throw err;
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
|
-
static async trySendMessage(service, action, resource, payload, forceRefresh) {
|
|
37
|
+
static async trySendMessage(service, action, resource, payload, forceRefresh, callSite) {
|
|
33
38
|
let client;
|
|
34
39
|
try {
|
|
35
40
|
client = await microservices_1.ClientProxyFactory.create({
|
|
@@ -39,13 +44,15 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
39
44
|
}
|
|
40
45
|
catch (err) {
|
|
41
46
|
const status = err?.status || err?.statusCode || common_1.HttpStatus.SERVICE_UNAVAILABLE;
|
|
42
|
-
throw new
|
|
47
|
+
throw new UndeliveredMessageException({ message: err?.message || 'Unknown error', service }, status);
|
|
43
48
|
}
|
|
44
49
|
try {
|
|
45
50
|
payload["sender"] = await utils.microServiceName();
|
|
46
51
|
let response$ = await client.send([resource, action].join("/"), payload).pipe((0, rxjs_1.catchError)(err => {
|
|
47
52
|
const inner = err?.error ?? err;
|
|
48
|
-
const
|
|
53
|
+
const undelivered = UNDELIVERED_ERROR_CODES.has(err?.code);
|
|
54
|
+
const status = inner?.status || inner?.statusCode || err?.status ||
|
|
55
|
+
(undelivered ? common_1.HttpStatus.SERVICE_UNAVAILABLE : common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
49
56
|
const message = (typeof inner === 'object' ? inner?.message : inner) ||
|
|
50
57
|
err?.message ||
|
|
51
58
|
'Unknown error';
|
|
@@ -54,7 +61,11 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
54
61
|
message,
|
|
55
62
|
service,
|
|
56
63
|
};
|
|
57
|
-
|
|
64
|
+
if (undelivered)
|
|
65
|
+
return (0, rxjs_1.throwError)(() => new UndeliveredMessageException(payload, status));
|
|
66
|
+
const remote = new remote_service_exception_1.RemoteServiceException(payload, status);
|
|
67
|
+
remote.stack = `${remote.name}: ${remote.message}\n${callSite}`;
|
|
68
|
+
return (0, rxjs_1.throwError)(() => remote);
|
|
58
69
|
}));
|
|
59
70
|
const watchdogTimeout = parseInt(process.env.WATCHDOG);
|
|
60
71
|
if (!isNaN(watchdogTimeout) && watchdogTimeout > 0)
|
|
@@ -151,7 +162,7 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
151
162
|
const prototype = Object.getPrototypeOf(instance);
|
|
152
163
|
const tcpParamMeta = Reflect.getMetadata(tcp_param_decorator_1.TCP_PARAM_METADATA_KEY, prototype, methodName) ?? [];
|
|
153
164
|
const senderParamIndex = Reflect.getMetadata(tcp_param_decorator_1.TCP_SENDER_METADATA_KEY, prototype, methodName);
|
|
154
|
-
return async function boundHandler(data
|
|
165
|
+
return async function boundHandler(data) {
|
|
155
166
|
try {
|
|
156
167
|
const { sender, ...rest } = data ?? {};
|
|
157
168
|
let payload = rest;
|
|
@@ -175,11 +186,7 @@ let TCPService = TCPService_1 = class TCPService {
|
|
|
175
186
|
return TCPService_1.normalizeErrors(result);
|
|
176
187
|
}
|
|
177
188
|
catch (err) {
|
|
178
|
-
|
|
179
|
-
switchToRpc: () => ({ getContext: () => context }),
|
|
180
|
-
getArgByIndex: (i) => (i === 0 ? data : context),
|
|
181
|
-
};
|
|
182
|
-
return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err, host);
|
|
189
|
+
return new exceptionFilter_1.AllExceptionsFilter(logger).catch(err);
|
|
183
190
|
}
|
|
184
191
|
};
|
|
185
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,yDAAmF;AACnF,+DAAwF;AACxF,+BAAsF;AACtF,kCAAiC;AACjC,mDAAgD;AAEhD,
|
|
1
|
+
{"version":3,"file":"tcp.service.js","sourceRoot":"","sources":["../../src/TCP/tcp.service.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './microservice/microservice.service';
|
|
2
2
|
export * from './microservice/consul';
|
|
3
3
|
export * from './TCP/tcp.service';
|
|
4
|
+
export * from './TCP/remote-service.exception';
|
|
5
|
+
export * from './TCP/haku-error';
|
|
4
6
|
export * from './TCP/tcp.module';
|
|
5
7
|
export * from './TCP/restrict-sender.decorator';
|
|
6
8
|
export * from './TCP/tcp-param.decorator';
|
package/dist/index.js
CHANGED
|
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./microservice/microservice.service"), exports);
|
|
18
18
|
__exportStar(require("./microservice/consul"), exports);
|
|
19
19
|
__exportStar(require("./TCP/tcp.service"), exports);
|
|
20
|
+
__exportStar(require("./TCP/remote-service.exception"), exports);
|
|
21
|
+
__exportStar(require("./TCP/haku-error"), exports);
|
|
20
22
|
__exportStar(require("./TCP/tcp.module"), exports);
|
|
21
23
|
__exportStar(require("./TCP/restrict-sender.decorator"), exports);
|
|
22
24
|
__exportStar(require("./TCP/tcp-param.decorator"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,wDAAsC;AACtC,oDAAkC;AAClC,iEAA+C;AAC/C,mDAAiC;AACjC,mDAAiC;AACjC,kEAAgD;AAChD,4DAA0C;AAC1C,oEAAkD;AAClD,+DAA6C;AAC7C,gEAA8C;AAC9C,sDAAoC;AACpC,uDAAqC;AACrC,uDAAqC;AACrC,mDAAiC;AACjC,gEAA8C;AAC9C,8CAA4B;AAC5B,iEAA+C;AAC/C,0CAAwB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger, RpcExceptionFilter } from '@nestjs/common';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
export declare class AllExceptionsFilter implements RpcExceptionFilter<any> {
|
|
4
4
|
private readonly logger;
|
|
5
5
|
constructor(logger: Logger);
|
|
6
|
-
handleUnknownError(exception: any
|
|
6
|
+
handleUnknownError(exception: any): Observable<never>;
|
|
7
7
|
isError(exception: any): exception is Error;
|
|
8
|
-
catch(exception: any
|
|
8
|
+
catch(exception: any): Observable<any>;
|
|
9
9
|
private handleException;
|
|
10
10
|
}
|
|
@@ -13,23 +13,33 @@ exports.AllExceptionsFilter = void 0;
|
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const rxjs_1 = require("rxjs");
|
|
15
15
|
const microservices_1 = require("@nestjs/microservices");
|
|
16
|
+
const remote_service_exception_1 = require("../TCP/remote-service.exception");
|
|
17
|
+
const haku_error_1 = require("../TCP/haku-error");
|
|
16
18
|
let AllExceptionsFilter = class AllExceptionsFilter {
|
|
17
19
|
constructor(logger) {
|
|
18
20
|
this.logger = logger;
|
|
19
21
|
this.logger.log('ExceptionsHandler initialized');
|
|
20
22
|
}
|
|
21
|
-
handleUnknownError(exception
|
|
23
|
+
handleUnknownError(exception) {
|
|
22
24
|
return this.handleException(exception);
|
|
23
25
|
}
|
|
24
26
|
isError(exception) {
|
|
25
|
-
|
|
27
|
+
return exception instanceof Error;
|
|
26
28
|
}
|
|
27
|
-
catch(exception
|
|
29
|
+
catch(exception) {
|
|
28
30
|
return this.handleException(exception);
|
|
29
31
|
}
|
|
30
32
|
handleException(exception) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
const status = exception?.getStatus?.() ?? exception?.status ?? exception?.statusCode;
|
|
34
|
+
if (exception instanceof remote_service_exception_1.RemoteServiceException)
|
|
35
|
+
this.logger.debug(`Relayed from ${exception.getResponse()?.['service']}: ${exception.message}`);
|
|
36
|
+
else if (typeof status === 'number' && status < 500)
|
|
37
|
+
this.logger.warn(exception instanceof Error ? exception : exception?.message ?? exception);
|
|
38
|
+
else if (exception instanceof Error)
|
|
39
|
+
this.logger.error(exception.message, exception.stack);
|
|
40
|
+
else
|
|
41
|
+
this.logger.error(exception);
|
|
42
|
+
return (0, rxjs_1.throwError)(() => new microservices_1.RpcException((0, haku_error_1.toHakuError)(exception)));
|
|
33
43
|
}
|
|
34
44
|
};
|
|
35
45
|
exports.AllExceptionsFilter = AllExceptionsFilter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"exceptionFilter.js","sourceRoot":"","sources":["../../src/microservice/exceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,+BAA8C;AAC9C,yDAAqD;AACrD,8EAAyE;AACzE,kDAAgD;AAEzC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE9B,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB,CAAC,SAAc;QAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAsB,CAAC;IAC9D,CAAC;IAED,OAAO,CAAC,SAAc;QACpB,OAAO,SAAS,YAAY,KAAK,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAAc;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAGO,eAAe,CAAC,SAAc;QACpC,MAAM,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,CAAC;QACtF,IAAI,SAAS,YAAY,iDAAsB;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;aAC7F,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,GAAG;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;aACxF,IAAI,SAAS,YAAY,KAAK;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;;YAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAA,iBAAU,EAAC,GAAG,EAAE,CAAC,IAAI,4BAAY,CAAC,IAAA,wBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF,CAAA;AA/BY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,cAAK,EAAC,4BAAY,CAAC;qCAGE,eAAM;GAFf,mBAAmB,CA+B/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createDatabaseFolderIfNotExists(): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createDatabaseFolderIfNotExists = createDatabaseFolderIfNotExists;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
function createDatabaseFolderIfNotExists() {
|
|
7
|
+
(0, fs_1.mkdirSync)((0, path_1.dirname)(process.env.SQL_DB), { recursive: true });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=sqlite.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.service.js","sourceRoot":"","sources":["../../src/microservice/sqlite.service.ts"],"names":[],"mappings":";;AAIA,0EAEC;AAND,2BAA+B;AAC/B,+BAA+B;AAG/B,SAAgB,+BAA+B;IAC7C,IAAA,cAAS,EAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@haku-sci/utils",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "utils from haku-sci. Library only",
|
|
5
|
-
"main": "./dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"peerdependencies": {
|
|
8
|
-
"@nestjs/common": "^
|
|
9
|
-
"@nestjs/core": "^
|
|
10
|
-
"@nestjs/microservices": "^
|
|
11
|
-
"@nestjs/platform-express": "^
|
|
12
|
-
"@nestjs/typeorm": "^
|
|
13
|
-
"pg": "^8.15.6",
|
|
14
|
-
"utils": "^0.3.1"
|
|
15
|
-
},
|
|
16
|
-
"dependencies": {
|
|
17
|
-
"@golevelup/nestjs-discovery": "^
|
|
18
|
-
"@golevelup/nestjs-rabbitmq": "^
|
|
19
|
-
"@nestjs/microservices": "^
|
|
20
|
-
"amqp-connection-manager": "^4.1.14",
|
|
21
|
-
"amqplib": "^0.10.8",
|
|
22
|
-
"axios": "^1.9.0",
|
|
23
|
-
"rxjs": "7.8.2",
|
|
24
|
-
"ws": "^8.21.2"
|
|
25
|
-
},
|
|
26
|
-
"devDependencies": {
|
|
27
|
-
"@nestjs/testing": "^
|
|
28
|
-
"@types/jest": "^29.5.12",
|
|
29
|
-
"@types/pg": "^8.20.0",
|
|
30
|
-
"@types/ws": "^8.18.1",
|
|
31
|
-
"rimraf": "^6.0.1",
|
|
32
|
-
"typescript": "^5.7.3"
|
|
33
|
-
},
|
|
34
|
-
"scripts": {
|
|
35
|
-
"test": "echo \"Error: no test specified\" && exit 1",
|
|
36
|
-
"build": "tsc --build",
|
|
37
|
-
"clean": "tsc --build --clean"
|
|
38
|
-
},
|
|
39
|
-
"author": "Nicolas Blexmann",
|
|
40
|
-
"license": "ISC",
|
|
41
|
-
"repository": {
|
|
42
|
-
"type": "git",
|
|
43
|
-
"url": "Haku-Nicolas-Blexmann"
|
|
44
|
-
},
|
|
45
|
-
"files": [
|
|
46
|
-
"dist/**/*"
|
|
47
|
-
],
|
|
48
|
-
"keywords": [
|
|
49
|
-
"microservices",
|
|
50
|
-
"ports",
|
|
51
|
-
"hosts"
|
|
52
|
-
],
|
|
53
|
-
"publishConfig": {
|
|
54
|
-
"access": "public"
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@haku-sci/utils",
|
|
3
|
+
"version": "11.0.0",
|
|
4
|
+
"description": "utils from haku-sci. Library only",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"peerdependencies": {
|
|
8
|
+
"@nestjs/common": "^12.0.0",
|
|
9
|
+
"@nestjs/core": "^12.0.0",
|
|
10
|
+
"@nestjs/microservices": "^12.0.0",
|
|
11
|
+
"@nestjs/platform-express": "^12.0.0",
|
|
12
|
+
"@nestjs/typeorm": "^12.0.0",
|
|
13
|
+
"pg": "^8.15.6",
|
|
14
|
+
"utils": "^0.3.1"
|
|
15
|
+
},
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@golevelup/nestjs-discovery": "^7.1.0",
|
|
18
|
+
"@golevelup/nestjs-rabbitmq": "^9.1.0",
|
|
19
|
+
"@nestjs/microservices": "^12.0.0",
|
|
20
|
+
"amqp-connection-manager": "^4.1.14",
|
|
21
|
+
"amqplib": "^0.10.8",
|
|
22
|
+
"axios": "^1.9.0",
|
|
23
|
+
"rxjs": "7.8.2",
|
|
24
|
+
"ws": "^8.21.2"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@nestjs/testing": "^12.0.0",
|
|
28
|
+
"@types/jest": "^29.5.12",
|
|
29
|
+
"@types/pg": "^8.20.0",
|
|
30
|
+
"@types/ws": "^8.18.1",
|
|
31
|
+
"rimraf": "^6.0.1",
|
|
32
|
+
"typescript": "^5.7.3"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
36
|
+
"build": "tsc --build",
|
|
37
|
+
"clean": "tsc --build --clean"
|
|
38
|
+
},
|
|
39
|
+
"author": "Nicolas Blexmann",
|
|
40
|
+
"license": "ISC",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "Haku-Nicolas-Blexmann"
|
|
44
|
+
},
|
|
45
|
+
"files": [
|
|
46
|
+
"dist/**/*"
|
|
47
|
+
],
|
|
48
|
+
"keywords": [
|
|
49
|
+
"microservices",
|
|
50
|
+
"ports",
|
|
51
|
+
"hosts"
|
|
52
|
+
],
|
|
53
|
+
"publishConfig": {
|
|
54
|
+
"access": "public"
|
|
55
|
+
}
|
|
56
|
+
}
|