{"_id":"@21jumpclick/nestjs-tools","_rev":"2-1a7ef1442fa05c2a998fe65922373924","name":"@21jumpclick/nestjs-tools","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@21jumpclick/nestjs-tools","version":"1.0.0","author":{"name":"21JumpClick"},"license":"UNLICENSED","_id":"@21jumpclick/nestjs-tools@1.0.0","maintainers":[{"name":"agent-smits","email":"victor-smi@hotmail.fr"}],"dist":{"shasum":"cf568d570c1456f9a8f0bc0c31afce060f672dba","tarball":"https://registry.npmjs.org/@21jumpclick/nestjs-tools/-/nestjs-tools-1.0.0.tgz","fileCount":18,"integrity":"sha512-3Q4XGKfsYhC/Oe/UKkjweX8dOmhMawBpf+dXGumJt9rCqUxGCZOgHgbYpaetjx3JZc+RzUvrSNRruT9Ed51QnA==","signatures":[{"sig":"MEYCIQCHj9em8wryQaPXqpwHgb7VKZbGTAHZBSOD8ROXg3JpcgIhAP1JzIEc99lZ0ut36jCMNK3AFO3NQTEdGYyhGxbU524V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32737},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"aa54e94d281abf9fbabf816de114b6e87686a0a7","scripts":{"lint":"npx @biomejs/biome check","build":"nest build","start":"nest start","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","lint:fix":"npx @biomejs/biome check --fix","start:dev":"nest build --webpack --webpackPath webpack-hmr.config.js --watch","prepublish":"npm run build","start:prod":"node dist/main","start:debug":"nest start --debug --watch"},"_npmUser":{"name":"agent-smits","email":"victor-smi@hotmail.fr"},"_npmVersion":"10.8.2","description":"NestJS tools library with logging and other utilities","directories":{},"_nodeVersion":"20.19.5","dependencies":{"rxjs":"^7.8.1","pino-http":"^11.0.0","nestjs-pino":"^4.5.0","pino-pretty":"^13.1.3","@nestjs/core":"^11.0.7","@nestjs/common":"^11.0.7","reflect-metadata":"^0.2.2","@nestjs/microservices":"^11.0.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","webpack":"^5.97.1","@swc/cli":"^0.6.0","lefthook":"^1.10.10","@swc/core":"^1.10.12","ts-loader":"^9.5.2","typescript":"^5.7.3","@nestjs/cli":"^11.0.2","@types/node":"^22.13.0","@biomejs/biome":"^1.9.4","tsconfig-paths":"^4.2.0","@nestjs/schematics":"^11.0.0","source-map-support":"^0.5.21","webpack-node-externals":"^3.0.0","run-script-webpack-plugin":"^0.2.0"},"peerDependencies":{"@nestjs/core":"^10.0.0 || ^11.0.0","@nestjs/common":"^10.0.0 || ^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-tools_1.0.0_1771084479243_0.4579982971605312","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@21jumpclick/nestjs-tools","version":"1.0.1","description":"NestJS tools library with logging and other utilities","author":{"name":"21JumpClick"},"license":"UNLICENSED","main":"dist/index.js","types":"dist/index.d.ts","publishConfig":{"access":"public"},"scripts":{"build":"nest build","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","start":"nest start","start:dev":"nest build --webpack --webpackPath webpack-hmr.config.js --watch","start:debug":"nest start --debug --watch","start:prod":"node dist/main","lint":"npx @biomejs/biome check","lint:fix":"npx @biomejs/biome check --fix","prepublish":"npm run build"},"dependencies":{"@nestjs/common":"^11.0.7","@nestjs/core":"^11.0.7","@nestjs/microservices":"^11.0.7","nestjs-pino":"^4.5.0","pino-http":"^11.0.0","pino-pretty":"^13.1.3","reflect-metadata":"^0.2.2","rxjs":"^7.8.1"},"devDependencies":{"@biomejs/biome":"^1.9.4","@nestjs/cli":"^11.0.2","@nestjs/schematics":"^11.0.0","@swc/cli":"^0.6.0","@swc/core":"^1.10.12","@types/node":"^22.13.0","lefthook":"^1.10.10","run-script-webpack-plugin":"^0.2.0","source-map-support":"^0.5.21","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0","typescript":"^5.7.3","webpack":"^5.97.1","webpack-node-externals":"^3.0.0"},"peerDependencies":{"@nestjs/common":"^10.0.0 || ^11.0.0","@nestjs/core":"^10.0.0 || ^11.0.0"},"_id":"@21jumpclick/nestjs-tools@1.0.1","gitHead":"aa54e94d281abf9fbabf816de114b6e87686a0a7","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-8MhDS32ygoC14vCseSvwfEUybWPfp0Yo8C/boNuN9dPrjq70IbZHEPYrGGocdveFWHX2nMeGkyO3+M9cyW+dKA==","shasum":"4a65955c4f3b4da48b658fa7e8990e0112fb715e","tarball":"https://registry.npmjs.org/@21jumpclick/nestjs-tools/-/nestjs-tools-1.0.1.tgz","fileCount":63,"unpackedSize":213456,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCtYaq+lm0fDyfpfs6thlVkWL8YVFi+wk5arw0tkC7bbQIhANPDq783nbz+khwfqgPu7PVC0ffazz4HrQ0QwVnMJiCt"}]},"_npmUser":{"name":"agent-smits","email":"victor-smi@hotmail.fr"},"directories":{},"maintainers":[{"name":"agent-smits","email":"victor-smi@hotmail.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-tools_1.0.1_1771084835032_0.3268864434128458"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-14T15:54:39.117Z","modified":"2026-02-14T16:00:35.657Z","1.0.0":"2026-02-14T15:54:39.397Z","1.0.1":"2026-02-14T16:00:35.225Z"},"author":{"name":"21JumpClick"},"license":"UNLICENSED","description":"NestJS tools library with logging and other utilities","maintainers":[{"name":"agent-smits","email":"victor-smi@hotmail.fr"}],"readme":"# @21jumpclick/nestjs-tools\n\nBibliothèque d'outils NestJS pour les projets 21JumpClick, avec un focus sur le logging et les utilitaires RMQ.\n\n## Installation\n\n```bash\nnpm install @21jumpclick/nestjs-tools\n```\n\n## Utilisation\n\n### Logging Module\n\nLe module de logging fournit des fonctionnalités de logging avancées avec Pino et des utilitaires pour RabbitMQ.\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { LoggingModule } from '@21jumpclick/nestjs-tools';\n\n@Module({\n  imports: [\n    LoggingModule, // Module global - automatiquement disponible partout\n  ],\n})\nexport class AppModule {}\n```\n\n### Logging Service\n\nUtilisez le service de logging pour enregistrer les messages RMQ et créer des clients avec logging intégré.\n\n```typescript\nimport { Injectable } from '@nestjs/common';\nimport { LoggingService } from '@21jumpclick/nestjs-tools';\n\n@Injectable()\nexport class MyService {\n  constructor(private readonly loggingService: LoggingService) {}\n\n  async someMethod() {\n    // Logger un message RMQ entrant\n    this.loggingService.logRmqMessage('pattern.name', { data: 'example' });\n\n    // Logger un message RMQ sortant\n    this.loggingService.logRmqOutgoing('pattern.name', { data: 'example' }, {\n      durationMs: 150,\n      status: 'sent'\n    });\n  }\n}\n```\n\n### RMQ Module\n\nModule simplifié pour la configuration des clients RabbitMQ.\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { RmqModule } from '@21jumpclick/nestjs-tools';\n\n@Module({\n  imports: [\n    RmqModule.register({\n      name: 'MY_SERVICE',\n      urls: ['amqp://localhost:5672'],\n      queue: 'my_queue',\n      isGlobal: true,\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Configuration RMQ Avancée\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { RmqModule } from '@21jumpclick/nestjs-tools';\n\n@Module({\n  imports: [\n    RmqModule.registerAsync({\n      name: 'MY_SERVICE',\n      useFactory: (configService: ConfigService) => ({\n        urls: configService.get('RMQ_URLS'),\n        queue: configService.get('MY_QUEUE'),\n        queueOptions: {\n          durable: true,\n        },\n        prefetchCount: 20,\n      }),\n      inject: [ConfigService],\n    }),\n  ],\n})\nexport class AppModule {}\n```\n\n### Interceptors\n\nInterceptors pour le logging automatique des requêtes HTTP et messages RMQ.\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { APP_INTERCEPTOR } from '@nestjs/core';\nimport { LoggingInterceptor } from '@21jumpclick/nestjs-tools';\n\n@Module({\n  providers: [\n    {\n      provide: APP_INTERCEPTOR,\n      useClass: LoggingInterceptor,\n    },\n  ],\n})\nexport class AppModule {}\n```\n\n## Features\n\n- **Logging structuré** avec Pino\n- **Support RMQ** avec logging automatique\n- **Masquage des données sensibles** (passwords, tokens, etc.)\n- **Configuration flexible** pour différents environnements\n- **Interceptors** pour le logging automatique\n- **Types TypeScript** complets\n\n## Configuration\n\nLe module de logging utilise les variables d'environnement suivantes :\n\n- `NODE_ENV`: Détermine si le logging est en mode production ou développement\n- `APP_NAME`: Nom de l'application pour les headers RMQ\n\n## License\n\nUNLICENSED\n","readmeFilename":"README.md"}