@vnodes/nestjs-common 0.0.23

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 ADDED
@@ -0,0 +1,35 @@
1
+ ![Npm version](https://img.shields.io/npm/v/@vnodes/nestjs-common)
2
+ ![Npm downloads](https://img.shields.io/npm/dm/@vnodes/nestjs-common)
3
+ ![Build Status](https://img.shields.io/github/actions/workflow/status/vnodes/vnodes/ci.yml)
4
+ ![Doc Status](https://img.shields.io/github/actions/workflow/status/vnodes/vnodes/doc.yml)
5
+ ![Bundle size](https://img.shields.io/bundlephobia/min/@vnodes/nestjs-common)
6
+
7
+ <p align="center">
8
+ <img srcset="./assets/favicon.png, https://vnodes.github.io/vnodes/libs/nestjs-common/assets/favicon.png" alt="Logo" width="200" height="200" style="border-radius: 100%"/>
9
+ </p>
10
+
11
+ ## @vnodes/nestjs-common
12
+
13
+ @vnodes/nestjs-common
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ pnpm add @vnodes/nestjs-common
19
+ ```
20
+
21
+ ## 💖 Support My Work
22
+
23
+ If you find my open-source contributions or the **@vnodes/nestjs-common** project helpful, consider supporting my work. Your sponsorship helps me maintain these projects and explore new enterprise patterns.
24
+
25
+ [![CashApp](https://img.shields.io/badge/Sponsor%20me-%23EA4AAA.svg?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://cash.app/$puqlib)
26
+
27
+ ---
28
+
29
+ ## 🤝 Connect with Me
30
+
31
+ <p align="left">
32
+ <a href="mailto:robert.brightline+vnodes-nestjs-common@gmail.com">
33
+ <img src="https://img.shields.io/badge/Email-D14836?style=for-the-badge&logo=gmail&logoColor=white" />
34
+ </a>
35
+ </p>
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { readFileSync } from 'node:fs';
4
+ import { dirname, join } from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+
7
+ const __filename = fileURLToPath(import.meta.url);
8
+ const __dirname = dirname(__filename);
9
+ const packageJsonPath = join(__dirname, '..', 'package.json');
10
+ const packageJson = readFileSync(packageJsonPath, { encoding: 'utf-8' });
11
+ const version = JSON.parse(packageJson).version;
12
+ console.log(version);
@@ -0,0 +1,4 @@
1
+ export * from './lib/interceptors/cache-evict.interceptor.js';
2
+ export * from './lib/interceptors/emit-response.interceptor.js';
3
+ export * from './lib/modules/common.module.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,+CAA+C,CAAC;AAC9D,cAAc,iDAAiD,CAAC;AAChE,cAAc,gCAAgC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ // @index(['./**/*.ts', '!./**/*.{spec,test}.ts'], f => `export * from '${f.path}.js'`)
2
+ export * from './lib/interceptors/cache-evict.interceptor.js';
3
+ export * from './lib/interceptors/emit-response.interceptor.js';
4
+ export * from './lib/modules/common.module.js';
5
+
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// @index(['./**/*.ts', '!./**/*.{spec,test}.ts'], f => `export * from '${f.path}.js'`)\nexport * from './lib/interceptors/cache-evict.interceptor.js';\nexport * from './lib/interceptors/emit-response.interceptor.js';\nexport * from './lib/modules/common.module.js';\n"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,cAAc,gDAAgD;AAC9D,cAAc,kDAAkD;AAChE,cAAc,iCAAiC"}
@@ -0,0 +1,13 @@
1
+ /** biome-ignore-all lint/style/useImportType: DI */
2
+ import { Cache } from '@vnodes/nestjs/cache-manager';
3
+ import { type CallHandler, type ExecutionContext, type NestInterceptor } from '@vnodes/nestjs/common';
4
+ import { type Observable } from '@vnodes/nestjs/rxjs';
5
+ /**
6
+ * Clear cache when create/update operations happen
7
+ */
8
+ export declare class CacheEvictInterceptor<T> implements NestInterceptor<T> {
9
+ private cacheManager;
10
+ constructor(cacheManager: Cache);
11
+ intercept(_context: ExecutionContext, next: CallHandler): Observable<T>;
12
+ }
13
+ //# sourceMappingURL=cache-evict.interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-evict.interceptor.d.ts","sourceRoot":"","sources":["../../../src/lib/interceptors/cache-evict.interceptor.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAc,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClH,OAAO,EAAE,KAAK,UAAU,EAAO,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,qBACa,qBAAqB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,KAAK;IAEvC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;CAO1E"}
@@ -0,0 +1,25 @@
1
+ import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
2
+ import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
3
+ /** biome-ignore-all lint/style/useImportType: DI */ import { Cache } from '@vnodes/nestjs/cache-manager';
4
+ import { Injectable } from '@vnodes/nestjs/common';
5
+ import { tap } from '@vnodes/nestjs/rxjs';
6
+ export class CacheEvictInterceptor {
7
+ cacheManager;
8
+ constructor(cacheManager){
9
+ this.cacheManager = cacheManager;
10
+ }
11
+ intercept(_context, next) {
12
+ return next.handle().pipe(tap(async ()=>{
13
+ await this.cacheManager.clear();
14
+ }));
15
+ }
16
+ }
17
+ CacheEvictInterceptor = _ts_decorate([
18
+ Injectable(),
19
+ _ts_metadata("design:type", Function),
20
+ _ts_metadata("design:paramtypes", [
21
+ typeof Cache === "undefined" ? Object : Cache
22
+ ])
23
+ ], CacheEvictInterceptor);
24
+
25
+ //# sourceMappingURL=cache-evict.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/interceptors/cache-evict.interceptor.ts"],"sourcesContent":["/** biome-ignore-all lint/style/useImportType: DI */\n\nimport { Cache } from '@vnodes/nestjs/cache-manager';\nimport { type CallHandler, type ExecutionContext, Injectable, type NestInterceptor } from '@vnodes/nestjs/common';\nimport { type Observable, tap } from '@vnodes/nestjs/rxjs';\n\n/**\n * Clear cache when create/update operations happen\n */\n@Injectable()\nexport class CacheEvictInterceptor<T> implements NestInterceptor<T> {\n constructor(private cacheManager: Cache) {}\n\n intercept(_context: ExecutionContext, next: CallHandler): Observable<T> {\n return next.handle().pipe(\n tap(async () => {\n await this.cacheManager.clear();\n }),\n );\n }\n}\n"],"names":["Cache","Injectable","tap","CacheEvictInterceptor","cacheManager","intercept","_context","next","handle","pipe","clear"],"mappings":";;AAAA,kDAAkD,GAElD,SAASA,KAAK,QAAQ,+BAA+B;AACrD,SAAkDC,UAAU,QAA8B,wBAAwB;AAClH,SAA0BC,GAAG,QAAQ,sBAAsB;AAM3D,OAAO,MAAMC;;IACT,YAAY,AAAQC,YAAmB,CAAE;aAArBA,eAAAA;IAAsB;IAE1CC,UAAUC,QAA0B,EAAEC,IAAiB,EAAiB;QACpE,OAAOA,KAAKC,MAAM,GAAGC,IAAI,CACrBP,IAAI;YACA,MAAM,IAAI,CAACE,YAAY,CAACM,KAAK;QACjC;IAER;AACJ"}
@@ -0,0 +1,15 @@
1
+ /** biome-ignore-all lint/style/useImportType: DI */
2
+ import { type CallHandler, type ExecutionContext, type NestInterceptor } from '@vnodes/nestjs/common';
3
+ import { Reflector } from '@vnodes/nestjs/core';
4
+ import { EventEmitter2 } from '@vnodes/nestjs/event-emitter';
5
+ import { type Observable } from '@vnodes/nestjs/rxjs';
6
+ /**
7
+ * Emit response if the method has EmitResponse decorator
8
+ */
9
+ export declare class EmitResponseInterceptor<T> implements NestInterceptor<T> {
10
+ private readonly reflector;
11
+ private readonly emitter;
12
+ constructor(reflector: Reflector, emitter: EventEmitter2);
13
+ intercept(context: ExecutionContext, next: CallHandler): Observable<T>;
14
+ }
15
+ //# sourceMappingURL=emit-response.interceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-response.interceptor.d.ts","sourceRoot":"","sources":["../../../src/lib/interceptors/emit-response.interceptor.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAGpD,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAc,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAO,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,qBACa,uBAAuB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAE7D,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,aAAa;IAG3C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC;CAYzE"}
@@ -0,0 +1,35 @@
1
+ import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
2
+ import { _ as _ts_metadata } from "@swc/helpers/_/_ts_metadata";
3
+ /** biome-ignore-all lint/style/useImportType: DI */ import { getOperationName, getResourceName, isEmitResponse } from '@vnodes/metadata';
4
+ import { Injectable } from '@vnodes/nestjs/common';
5
+ import { Reflector } from '@vnodes/nestjs/core';
6
+ import { EventEmitter2 } from '@vnodes/nestjs/event-emitter';
7
+ import { tap } from '@vnodes/nestjs/rxjs';
8
+ export class EmitResponseInterceptor {
9
+ reflector;
10
+ emitter;
11
+ constructor(reflector, emitter){
12
+ this.reflector = reflector;
13
+ this.emitter = emitter;
14
+ }
15
+ intercept(context, next) {
16
+ return next.handle().pipe(tap(async (data)=>{
17
+ if (isEmitResponse(this.reflector, context)) {
18
+ const resourceName = getResourceName(this.reflector, context);
19
+ const operationName = getOperationName(this.reflector, context);
20
+ const eventName = `${resourceName}.${operationName}`;
21
+ this.emitter.emit(eventName, data);
22
+ }
23
+ }));
24
+ }
25
+ }
26
+ EmitResponseInterceptor = _ts_decorate([
27
+ Injectable(),
28
+ _ts_metadata("design:type", Function),
29
+ _ts_metadata("design:paramtypes", [
30
+ typeof Reflector === "undefined" ? Object : Reflector,
31
+ typeof EventEmitter2 === "undefined" ? Object : EventEmitter2
32
+ ])
33
+ ], EmitResponseInterceptor);
34
+
35
+ //# sourceMappingURL=emit-response.interceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/interceptors/emit-response.interceptor.ts"],"sourcesContent":["/** biome-ignore-all lint/style/useImportType: DI */\n\nimport { getOperationName, getResourceName, isEmitResponse } from '@vnodes/metadata';\nimport { type CallHandler, type ExecutionContext, Injectable, type NestInterceptor } from '@vnodes/nestjs/common';\nimport { Reflector } from '@vnodes/nestjs/core';\nimport { EventEmitter2 } from '@vnodes/nestjs/event-emitter';\nimport { type Observable, tap } from '@vnodes/nestjs/rxjs';\n\n/**\n * Emit response if the method has EmitResponse decorator\n */\n@Injectable()\nexport class EmitResponseInterceptor<T> implements NestInterceptor<T> {\n constructor(\n private readonly reflector: Reflector,\n private readonly emitter: EventEmitter2,\n ) {}\n\n intercept(context: ExecutionContext, next: CallHandler): Observable<T> {\n return next.handle().pipe(\n tap(async (data) => {\n if (isEmitResponse(this.reflector, context)) {\n const resourceName = getResourceName(this.reflector, context);\n const operationName = getOperationName(this.reflector, context);\n const eventName = `${resourceName}.${operationName}`;\n this.emitter.emit(eventName, data);\n }\n }),\n );\n }\n}\n"],"names":["getOperationName","getResourceName","isEmitResponse","Injectable","Reflector","EventEmitter2","tap","EmitResponseInterceptor","reflector","emitter","intercept","context","next","handle","pipe","data","resourceName","operationName","eventName","emit"],"mappings":";;AAAA,kDAAkD,GAElD,SAASA,gBAAgB,EAAEC,eAAe,EAAEC,cAAc,QAAQ,mBAAmB;AACrF,SAAkDC,UAAU,QAA8B,wBAAwB;AAClH,SAASC,SAAS,QAAQ,sBAAsB;AAChD,SAASC,aAAa,QAAQ,+BAA+B;AAC7D,SAA0BC,GAAG,QAAQ,sBAAsB;AAM3D,OAAO,MAAMC;;;IACT,YACI,AAAiBC,SAAoB,EACrC,AAAiBC,OAAsB,CACzC;aAFmBD,YAAAA;aACAC,UAAAA;IAClB;IAEHC,UAAUC,OAAyB,EAAEC,IAAiB,EAAiB;QACnE,OAAOA,KAAKC,MAAM,GAAGC,IAAI,CACrBR,IAAI,OAAOS;YACP,IAAIb,eAAe,IAAI,CAACM,SAAS,EAAEG,UAAU;gBACzC,MAAMK,eAAef,gBAAgB,IAAI,CAACO,SAAS,EAAEG;gBACrD,MAAMM,gBAAgBjB,iBAAiB,IAAI,CAACQ,SAAS,EAAEG;gBACvD,MAAMO,YAAY,GAAGF,aAAa,CAAC,EAAEC,eAAe;gBACpD,IAAI,CAACR,OAAO,CAACU,IAAI,CAACD,WAAWH;YACjC;QACJ;IAER;AACJ"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Common module that provies all common modules and app interceptors, piples, and guards
3
+ */
4
+ export declare class CommonModule {
5
+ }
6
+ //# sourceMappingURL=common.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.module.d.ts","sourceRoot":"","sources":["../../../src/lib/modules/common.module.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,qBAqDa,YAAY;CAAG"}
@@ -0,0 +1,87 @@
1
+ import { _ as _ts_decorate } from "@swc/helpers/_/_ts_decorate";
2
+ import { Env } from '@vnodes/env';
3
+ import { CacheInterceptor, CacheModule } from '@vnodes/nestjs/cache-manager';
4
+ import { Global, Module } from '@vnodes/nestjs/common';
5
+ import { ConfigModule, ConfigService } from '@vnodes/nestjs/config';
6
+ import { APP_GUARD, APP_INTERCEPTOR, DiscoveryModule } from '@vnodes/nestjs/core';
7
+ import { EventEmitterModule } from '@vnodes/nestjs/event-emitter';
8
+ import { ScheduleModule } from '@vnodes/nestjs/schedule';
9
+ import { ThrottlerGuard, ThrottlerModule } from '@vnodes/nestjs/throttler';
10
+ import { CacheEvictInterceptor } from '../interceptors/cache-evict.interceptor.js';
11
+ import { EmitResponseInterceptor } from '../interceptors/emit-response.interceptor.js';
12
+ export class CommonModule {
13
+ }
14
+ CommonModule = _ts_decorate([
15
+ Global(),
16
+ Module({
17
+ imports: [
18
+ DiscoveryModule,
19
+ ConfigModule.forRoot({
20
+ isGlobal: true,
21
+ cache: true,
22
+ expandVariables: true
23
+ }),
24
+ EventEmitterModule.forRoot({
25
+ delimiter: '.',
26
+ global: true
27
+ }),
28
+ ScheduleModule.forRoot(),
29
+ CacheModule.registerAsync({
30
+ isGlobal: true,
31
+ imports: [
32
+ ConfigModule
33
+ ],
34
+ inject: [
35
+ ConfigService
36
+ ],
37
+ useFactory (config) {
38
+ return {
39
+ ttl: config.get(Env.CACHE_TTL, 30_000)
40
+ };
41
+ }
42
+ }),
43
+ ThrottlerModule.forRootAsync({
44
+ imports: [
45
+ ConfigModule
46
+ ],
47
+ inject: [
48
+ ConfigService
49
+ ],
50
+ useFactory: (config)=>[
51
+ {
52
+ ttl: config.get(Env.THROTTLE_TTL, 60_000),
53
+ limit: config.get(Env.THROTTLE_LIMIT, 200)
54
+ }
55
+ ]
56
+ })
57
+ ],
58
+ providers: [
59
+ {
60
+ provide: APP_INTERCEPTOR,
61
+ useClass: CacheInterceptor
62
+ },
63
+ {
64
+ provide: APP_INTERCEPTOR,
65
+ useClass: CacheEvictInterceptor
66
+ },
67
+ {
68
+ provide: APP_INTERCEPTOR,
69
+ useClass: EmitResponseInterceptor
70
+ },
71
+ {
72
+ provide: APP_GUARD,
73
+ useClass: ThrottlerGuard
74
+ }
75
+ ],
76
+ exports: [
77
+ ConfigModule,
78
+ EventEmitterModule,
79
+ ScheduleModule,
80
+ CacheModule,
81
+ ThrottlerModule,
82
+ DiscoveryModule
83
+ ]
84
+ })
85
+ ], CommonModule);
86
+
87
+ //# sourceMappingURL=common.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/modules/common.module.ts"],"sourcesContent":["import { Env } from '@vnodes/env';\nimport { CacheInterceptor, CacheModule } from '@vnodes/nestjs/cache-manager';\nimport { Global, Module } from '@vnodes/nestjs/common';\nimport { ConfigModule, ConfigService } from '@vnodes/nestjs/config';\nimport { APP_GUARD, APP_INTERCEPTOR, DiscoveryModule } from '@vnodes/nestjs/core';\nimport { EventEmitterModule } from '@vnodes/nestjs/event-emitter';\nimport { ScheduleModule } from '@vnodes/nestjs/schedule';\nimport { ThrottlerGuard, ThrottlerModule } from '@vnodes/nestjs/throttler';\nimport { CacheEvictInterceptor } from '../interceptors/cache-evict.interceptor.js';\nimport { EmitResponseInterceptor } from '../interceptors/emit-response.interceptor.js';\n\n/**\n * Common module that provies all common modules and app interceptors, piples, and guards\n */\n@Global()\n@Module({\n imports: [\n DiscoveryModule,\n ConfigModule.forRoot({\n isGlobal: true,\n cache: true,\n expandVariables: true,\n }),\n EventEmitterModule.forRoot({ delimiter: '.', global: true }),\n ScheduleModule.forRoot(),\n CacheModule.registerAsync({\n isGlobal: true,\n imports: [ConfigModule],\n inject: [ConfigService],\n useFactory(config: ConfigService) {\n return {\n ttl: config.get<number>(Env.CACHE_TTL, 30_000),\n };\n },\n }),\n ThrottlerModule.forRootAsync({\n imports: [ConfigModule],\n inject: [ConfigService],\n useFactory: (config: ConfigService) => [\n {\n ttl: config.get<number>(Env.THROTTLE_TTL, 60_000),\n limit: config.get<number>(Env.THROTTLE_LIMIT, 200),\n },\n ],\n }),\n ],\n providers: [\n {\n provide: APP_INTERCEPTOR,\n useClass: CacheInterceptor,\n },\n\n {\n provide: APP_INTERCEPTOR,\n useClass: CacheEvictInterceptor,\n },\n {\n provide: APP_INTERCEPTOR,\n useClass: EmitResponseInterceptor,\n },\n {\n provide: APP_GUARD,\n useClass: ThrottlerGuard,\n },\n ],\n exports: [ConfigModule, EventEmitterModule, ScheduleModule, CacheModule, ThrottlerModule, DiscoveryModule],\n})\nexport class CommonModule {}\n"],"names":["Env","CacheInterceptor","CacheModule","Global","Module","ConfigModule","ConfigService","APP_GUARD","APP_INTERCEPTOR","DiscoveryModule","EventEmitterModule","ScheduleModule","ThrottlerGuard","ThrottlerModule","CacheEvictInterceptor","EmitResponseInterceptor","CommonModule","imports","forRoot","isGlobal","cache","expandVariables","delimiter","global","registerAsync","inject","useFactory","config","ttl","get","CACHE_TTL","forRootAsync","THROTTLE_TTL","limit","THROTTLE_LIMIT","providers","provide","useClass","exports"],"mappings":";AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,+BAA+B;AAC7E,SAASC,MAAM,EAAEC,MAAM,QAAQ,wBAAwB;AACvD,SAASC,YAAY,EAAEC,aAAa,QAAQ,wBAAwB;AACpE,SAASC,SAAS,EAAEC,eAAe,EAAEC,eAAe,QAAQ,sBAAsB;AAClF,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,cAAc,EAAEC,eAAe,QAAQ,2BAA2B;AAC3E,SAASC,qBAAqB,QAAQ,6CAA6C;AACnF,SAASC,uBAAuB,QAAQ,+CAA+C;AA0DvF,OAAO,MAAMC;AAAc;;;;QAnDvBC,SAAS;YACLR;YACAJ,aAAaa,OAAO,CAAC;gBACjBC,UAAU;gBACVC,OAAO;gBACPC,iBAAiB;YACrB;YACAX,mBAAmBQ,OAAO,CAAC;gBAAEI,WAAW;gBAAKC,QAAQ;YAAK;YAC1DZ,eAAeO,OAAO;YACtBhB,YAAYsB,aAAa,CAAC;gBACtBL,UAAU;gBACVF,SAAS;oBAACZ;iBAAa;gBACvBoB,QAAQ;oBAACnB;iBAAc;gBACvBoB,YAAWC,MAAqB;oBAC5B,OAAO;wBACHC,KAAKD,OAAOE,GAAG,CAAS7B,IAAI8B,SAAS,EAAE;oBAC3C;gBACJ;YACJ;YACAjB,gBAAgBkB,YAAY,CAAC;gBACzBd,SAAS;oBAACZ;iBAAa;gBACvBoB,QAAQ;oBAACnB;iBAAc;gBACvBoB,YAAY,CAACC,SAA0B;wBACnC;4BACIC,KAAKD,OAAOE,GAAG,CAAS7B,IAAIgC,YAAY,EAAE;4BAC1CC,OAAON,OAAOE,GAAG,CAAS7B,IAAIkC,cAAc,EAAE;wBAClD;qBACH;YACL;SACH;QACDC,WAAW;YACP;gBACIC,SAAS5B;gBACT6B,UAAUpC;YACd;YAEA;gBACImC,SAAS5B;gBACT6B,UAAUvB;YACd;YACA;gBACIsB,SAAS5B;gBACT6B,UAAUtB;YACd;YACA;gBACIqB,SAAS7B;gBACT8B,UAAUzB;YACd;SACH;QACD0B,SAAS;YAACjC;YAAcK;YAAoBC;YAAgBT;YAAaW;YAAiBJ;SAAgB"}
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@vnodes/nestjs-common",
3
+ "version": "0.0.23",
4
+ "description": "@vnodes/nestjs-common",
5
+ "keywords": [
6
+ "nestjs-common"
7
+ ],
8
+ "author": {
9
+ "name": "Robert Brightline",
10
+ "email": "robert.brightline+vnodes-nestjs-common@gmail.com",
11
+ "url": "https://vnodes.github.io/vnodes"
12
+ },
13
+ "homepage": "https://vnodes.github.io/vnodes/libs/nestjs-common",
14
+ "icon": "https://vnodes.github.io/vnodes/libs/nestjs-common/assets/favicon.png",
15
+ "funding": [
16
+ "https://cash.app/$puqlib"
17
+ ],
18
+ "bin": {
19
+ "version": "./bin/version.mjs"
20
+ },
21
+ "type": "module",
22
+ "main": "./dist/index.js",
23
+ "module": "./dist/index.js",
24
+ "types": "./dist/index.d.ts",
25
+ "exports": {
26
+ "./package.json": "./package.json",
27
+ ".": {
28
+ "@vnodes/source": "./src/index.ts",
29
+ "types": "./dist/index.d.ts",
30
+ "import": "./dist/index.js",
31
+ "default": "./dist/index.js"
32
+ }
33
+ },
34
+ "files": [
35
+ "dist",
36
+ "bin",
37
+ "!**/*.tsbuildinfo"
38
+ ],
39
+ "nx": {
40
+ "sourceRoot": "libs/nestjs-common/src",
41
+ "targets": {
42
+ "build": {},
43
+ "doc": {},
44
+ "lint": {}
45
+ },
46
+ "tags": [
47
+ "lib"
48
+ ]
49
+ },
50
+ "dependencies": {
51
+ "@swc/helpers": "~0.5.18"
52
+ },
53
+ "devDependencies": {
54
+ "@vnodes/env": "0.0.23",
55
+ "@vnodes/metadata": "0.0.23",
56
+ "@vnodes/nestjs": "0.0.23"
57
+ },
58
+ "peerDependencies": {
59
+ "@vnodes/env": "0.0.23",
60
+ "@vnodes/metadata": "0.0.23",
61
+ "@vnodes/nestjs": "0.0.23"
62
+ },
63
+ "publishConfig": {
64
+ "access": "public",
65
+ "tag": "latest"
66
+ }
67
+ }