xcally-nest-library 0.0.15 → 0.0.16

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/README.md CHANGED
@@ -1,73 +1,6 @@
1
- <p align="center">
2
- <a href="http://nestjs.com/" target="blank"><img src="https://nestjs.com/img/logo-small.svg" width="200" alt="Nest Logo" /></a>
3
- </p>
1
+ # Publish library
4
2
 
5
- [circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
6
- [circleci-url]: https://circleci.com/gh/nestjs/nest
3
+ ## Patch
7
4
 
8
- <p align="center">A progressive <a href="http://nodejs.org" target="_blank">Node.js</a> framework for building efficient and scalable server-side applications.</p>
9
- <p align="center">
10
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/v/@nestjs/core.svg" alt="NPM Version" /></a>
11
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/l/@nestjs/core.svg" alt="Package License" /></a>
12
- <a href="https://www.npmjs.com/~nestjscore" target="_blank"><img src="https://img.shields.io/npm/dm/@nestjs/common.svg" alt="NPM Downloads" /></a>
13
- <a href="https://circleci.com/gh/nestjs/nest" target="_blank"><img src="https://img.shields.io/circleci/build/github/nestjs/nest/master" alt="CircleCI" /></a>
14
- <a href="https://coveralls.io/github/nestjs/nest?branch=master" target="_blank"><img src="https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9" alt="Coverage" /></a>
15
- <a href="https://discord.gg/G7Qnnhy" target="_blank"><img src="https://img.shields.io/badge/discord-online-brightgreen.svg" alt="Discord"/></a>
16
- <a href="https://opencollective.com/nest#backer" target="_blank"><img src="https://opencollective.com/nest/backers/badge.svg" alt="Backers on Open Collective" /></a>
17
- <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://opencollective.com/nest/sponsors/badge.svg" alt="Sponsors on Open Collective" /></a>
18
- <a href="https://paypal.me/kamilmysliwiec" target="_blank"><img src="https://img.shields.io/badge/Donate-PayPal-ff3f59.svg"/></a>
19
- <a href="https://opencollective.com/nest#sponsor" target="_blank"><img src="https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg" alt="Support us"></a>
20
- <a href="https://twitter.com/nestframework" target="_blank"><img src="https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow"></a>
21
- </p>
22
- <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)
23
- [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->
24
-
25
- ## Description
26
-
27
- [Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.
28
-
29
- ## Installation
30
-
31
- ```bash
32
- $ pnpm install
33
- ```
34
-
35
- ## Running the app
36
-
37
- ```bash
38
- # development
39
- $ pnpm run start
40
-
41
- # watch mode
42
- $ pnpm run start:dev
43
-
44
- # production mode
45
- $ pnpm run start:prod
46
- ```
47
-
48
- ## Test
49
-
50
- ```bash
51
- # unit tests
52
- $ pnpm run test
53
-
54
- # e2e tests
55
- $ pnpm run test:e2e
56
-
57
- # test coverage
58
- $ pnpm run test:cov
59
- ```
60
-
61
- ## Support
62
-
63
- Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).
64
-
65
- ## Stay in touch
66
-
67
- - Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)
68
- - Website - [https://nestjs.com](https://nestjs.com/)
69
- - Twitter - [@nestframework](https://twitter.com/nestframework)
70
-
71
- ## License
72
-
73
- Nest is [MIT licensed](LICENSE).
5
+ Run `pnpm bump:patch`
6
+ Run `npm publish`. It doesn't work with pnpm
package/dist/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from './src/decorators/utils.decorators';
9
9
  export * from './src/config/env.validation';
10
10
  export * from './src/modules/logger/pino/logger.service';
11
11
  export * from './src/modules/logger/pino/logger.module';
12
+ export * from './src/modules/logger/pino/logger.default';
package/dist/index.js CHANGED
@@ -25,4 +25,5 @@ __exportStar(require("./src/decorators/utils.decorators"), exports);
25
25
  __exportStar(require("./src/config/env.validation"), exports);
26
26
  __exportStar(require("./src/modules/logger/pino/logger.service"), exports);
27
27
  __exportStar(require("./src/modules/logger/pino/logger.module"), exports);
28
+ __exportStar(require("./src/modules/logger/pino/logger.default"), exports);
28
29
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6EAA2D;AAC3D,2EAAyD;AACzD,uEAAqD;AACrD,sEAAoD;AACpD,qEAAmD;AACnD,sEAAoD;AACpD,oEAAkD;AAClD,8DAA4C;AAC5C,2EAAyD;AACzD,0EAAwD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6EAA2D;AAC3D,2EAAyD;AACzD,uEAAqD;AACrD,sEAAoD;AACpD,qEAAmD;AACnD,sEAAoD;AACpD,oEAAkD;AAClD,8DAA4C;AAC5C,2EAAyD;AACzD,0EAAwD;AACxD,2EAAyD"}
@@ -0,0 +1 @@
1
+ export { Logger } from 'nestjs-pino';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = void 0;
4
+ var nestjs_pino_1 = require("nestjs-pino");
5
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return nestjs_pino_1.Logger; } });
6
+ //# sourceMappingURL=logger.default.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.default.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.default.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AAA5B,qGAAA,MAAM,OAAA"}
@@ -1,2 +1,4 @@
1
+ import { DynamicModule } from '@nestjs/common';
1
2
  export declare class LoggerModule {
3
+ static forRoot(): DynamicModule;
2
4
  }
@@ -5,32 +5,61 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var LoggerModule_1;
8
9
  Object.defineProperty(exports, "__esModule", { value: true });
9
10
  exports.LoggerModule = void 0;
10
11
  const common_1 = require("@nestjs/common");
11
- const logger_service_1 = require("./logger.service");
12
+ const config_1 = require("@nestjs/config");
12
13
  const nestjs_pino_1 = require("nestjs-pino");
13
- const api_1 = require("@opentelemetry/api");
14
- let LoggerModule = class LoggerModule {
14
+ const logger_service_1 = require("./logger.service");
15
+ let LoggerModule = LoggerModule_1 = class LoggerModule {
16
+ static forRoot() {
17
+ return {
18
+ module: LoggerModule_1,
19
+ providers: [logger_service_1.LoggerService],
20
+ exports: [logger_service_1.LoggerService],
21
+ imports: [
22
+ nestjs_pino_1.LoggerModule.forRootAsync({
23
+ imports: [config_1.ConfigModule],
24
+ inject: [config_1.ConfigService],
25
+ useFactory: async (config) => {
26
+ return {
27
+ pinoHttp: {
28
+ level: config.get('LOG_LEVEL') || 'info',
29
+ redact: {
30
+ paths: ['req.headers.cookie', 'req.headers.authorization'],
31
+ },
32
+ transport: {
33
+ targets: [
34
+ {
35
+ level: 'debug',
36
+ target: 'pino-pretty',
37
+ options: {
38
+ colorize: true,
39
+ },
40
+ },
41
+ {
42
+ level: 'info',
43
+ target: 'pino/file',
44
+ options: {
45
+ destination: './logs/info.log',
46
+ mkdir: true,
47
+ append: process.env.NODE_ENV !== 'production' ? false : true,
48
+ },
49
+ },
50
+ ],
51
+ },
52
+ },
53
+ };
54
+ },
55
+ }),
56
+ ],
57
+ };
58
+ }
15
59
  };
16
60
  exports.LoggerModule = LoggerModule;
17
- exports.LoggerModule = LoggerModule = __decorate([
18
- (0, common_1.Module)({
19
- providers: [logger_service_1.LoggerService],
20
- exports: [logger_service_1.LoggerService],
21
- imports: [
22
- nestjs_pino_1.LoggerModule.forRoot({
23
- pinoHttp: {
24
- genReqId: () => {
25
- const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
26
- return activeSpan.spanContext().traceId;
27
- },
28
- redact: {
29
- paths: ['req.headers.cookie', 'req.headers.authorization'],
30
- },
31
- },
32
- }),
33
- ],
34
- })
61
+ exports.LoggerModule = LoggerModule = LoggerModule_1 = __decorate([
62
+ (0, common_1.Global)(),
63
+ (0, common_1.Module)({})
35
64
  ], LoggerModule);
36
65
  //# sourceMappingURL=logger.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,6CAA+D;AAC/D,4CAAqC;AAmB9B,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IAjBxB,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC,8BAAa,CAAC;QAC1B,OAAO,EAAE,CAAC,8BAAa,CAAC;QACxB,OAAO,EAAE;YACP,0BAAgB,CAAC,OAAO,CAAC;gBACvB,QAAQ,EAAE;oBACR,QAAQ,EAAE,GAAG,EAAE;wBACb,MAAM,UAAU,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;wBAC3D,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;oBAC1C,CAAC;oBACD,MAAM,EAAE;wBACN,KAAK,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;qBAC3D;iBACF;aACF,CAAC;SACH;KACF,CAAC;GACW,YAAY,CAAG"}
1
+ {"version":3,"file":"logger.module.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,2CAA6D;AAC7D,6CAA+D;AAC/D,qDAAiD;AAI1C,IAAM,YAAY,oBAAlB,MAAM,YAAY;IACvB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,cAAY;YACpB,SAAS,EAAE,CAAC,8BAAa,CAAC;YAC1B,OAAO,EAAE,CAAC,8BAAa,CAAC;YACxB,OAAO,EAAE;gBACP,0BAAgB,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,CAAC,qBAAY,CAAC;oBACvB,MAAM,EAAE,CAAC,sBAAa,CAAC;oBACvB,UAAU,EAAE,KAAK,EAAE,MAAqB,EAAE,EAAE;wBAC1C,OAAO;4BACL,QAAQ,EAAE;gCACR,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM;gCAWxC,MAAM,EAAE;oCACN,KAAK,EAAE,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;iCAC3D;gCACD,SAAS,EAAE;oCACT,OAAO,EAAE;wCACP;4CACE,KAAK,EAAE,OAAO;4CACd,MAAM,EAAE,aAAa;4CACrB,OAAO,EAAE;gDACP,QAAQ,EAAE,IAAI;6CACf;yCACF;wCAQD;4CACE,KAAK,EAAE,MAAM;4CACb,MAAM,EAAE,WAAW;4CACnB,OAAO,EAAE;gDACP,WAAW,EAAE,iBAAiB;gDAC9B,KAAK,EAAE,IAAI;gDACX,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;6CAC7D;yCACF;qCACF;iCACF;6BAKF;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAjEY,oCAAY;uBAAZ,YAAY;IAFxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,YAAY,CAiExB"}
@@ -1,15 +1,10 @@
1
1
  import { PinoLogger } from 'nestjs-pino';
2
- import pino from 'pino';
3
- type PinoMethods = Pick<pino.Logger, 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'>;
4
- export declare class LoggerService implements PinoMethods {
2
+ export declare class LoggerService {
5
3
  private readonly logger;
6
4
  constructor(logger: PinoLogger);
7
- trace(msg: string, ...args: any[]): void;
8
- debug(msg: string, ...args: any[]): void;
9
- warn(msg: string, ...args: any[]): void;
10
- error(msg: string, ...args: any[]): void;
11
- fatal(msg: string, ...args: any[]): void;
12
- info(msg: string, ...args: any[]): void;
13
- log(msg: string, ...args: any[]): void;
5
+ debug(msg: string, meta?: any): void;
6
+ warn(msg: string, meta?: any): void;
7
+ error(msg: string, meta?: any): void;
8
+ fatal(msg: string, meta?: any): void;
9
+ info(msg: string, meta?: any): void;
14
10
  }
15
- export {};
@@ -17,42 +17,30 @@ let LoggerService = class LoggerService {
17
17
  constructor(logger) {
18
18
  this.logger = logger;
19
19
  }
20
- trace(msg, ...args) {
20
+ debug(msg, meta) {
21
21
  const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
22
- activeSpan.addEvent(msg, ...args);
23
- this.logger.trace(msg, ...args);
22
+ activeSpan.addEvent(msg);
23
+ this.logger.debug({ meta }, msg);
24
24
  }
25
- debug(msg, ...args) {
25
+ warn(msg, meta) {
26
26
  const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
27
- activeSpan.addEvent(msg, ...args);
28
- this.logger.debug(msg, ...args);
27
+ activeSpan.addEvent(msg);
28
+ this.logger.warn({ meta }, msg);
29
29
  }
30
- warn(msg, ...args) {
30
+ error(msg, meta) {
31
31
  const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
32
- activeSpan.addEvent(msg, ...args);
33
- this.logger.warn(msg, ...args);
32
+ activeSpan.addEvent(msg);
33
+ this.logger.error({ meta }, msg);
34
34
  }
35
- error(msg, ...args) {
35
+ fatal(msg, meta) {
36
36
  const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
37
- activeSpan.addEvent(msg, ...args);
38
- this.logger.error(msg, ...args);
37
+ activeSpan.addEvent(msg);
38
+ this.logger.fatal({ meta }, msg);
39
39
  }
40
- fatal(msg, ...args) {
40
+ info(msg, meta) {
41
41
  const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
42
- activeSpan.addEvent(msg, ...args);
43
- this.logger.fatal(msg, ...args);
44
- }
45
- info(msg, ...args) {
46
- const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
47
- activeSpan.addEvent(msg, ...args);
48
- this.logger.info(msg, ...args);
49
- }
50
- log(msg, ...args) {
51
- const activeSpan = api_1.default.trace.getSpan(api_1.default.context.active());
52
- if (activeSpan) {
53
- activeSpan.addEvent(msg, ...args);
54
- }
55
- this.logger.info(msg, ...args);
42
+ activeSpan.addEvent(msg);
43
+ this.logger.info({ meta }, msg);
56
44
  }
57
45
  };
58
46
  exports.LoggerService = LoggerService;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../src/modules/logger/pino/logger.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAyC;AACzC,4CAAqC;AAG9B,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD,KAAK,CAAC,GAAW,EAAE,IAAU;QAC3B,MAAM,UAAU,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,GAAW,EAAE,IAAU;QAC1B,MAAM,UAAU,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,IAAU;QAC3B,MAAM,UAAU,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,GAAW,EAAE,IAAU;QAC3B,MAAM,UAAU,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,IAAU;QAE1B,MAAM,UAAU,GAAG,aAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QASzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;CACF,CAAA;AAtCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAE0B,wBAAU;GADpC,aAAa,CAsCzB"}