@jsfsi-core/ts-nestjs 1.1.2 → 1.1.3

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/index.cjs CHANGED
@@ -169,4 +169,4 @@ If the argument is passed in, for example, "debug(MyModule)" then it will only p
169
169
 
170
170
  `),this.context.help(),this.output.write(`
171
171
  Press Ctrl+C to abort current expression, Ctrl+D to exit the REPL
172
- `);this.displayPrompt()}})}return tp}var RI;function RZ(){if(RI)return Jd;RI=1,Object.defineProperty(Jd,"__esModule",{value:!0}),Jd.repl=c;const e=ve(),t=nr(),r=HN(),a=_Z(),o=gZ(),n=PZ(),s=TZ(),i=AZ();async function c(u,p={}){const l=await r.NestFactory.createApplicationContext(u,{abortOnError:!1,logger:new s.ReplLogger});await l.init();const d=new n.ReplContext(l);e.Logger.log(o.REPL_INITIALIZED_MESSAGE);const h=(await Promise.resolve().then(()=>nD)).start({prompt:t.clc.green("> "),ignoreUndefined:!0,...p});return(0,a.assignToObject)(h.context,d.globalScope),(0,i.defineDefaultCommandsOnRepl)(h),h.on("exit",async()=>{await l.close()}),h}return Jd}var MI;function MZ(){return MI||(MI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),ae().__exportStar(RZ(),e)})(B_)),B_}var V_={},G_={},W_={},II;function IZ(){return II||(II=1,Object.defineProperty(W_,"__esModule",{value:!0})),W_}var CI;function CZ(){return CI||(CI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),ae().__exportStar(IZ(),e)})(G_)),G_}var Z_={},jI;function jZ(){return jI||(jI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.REQUEST=void 0;var t=wn();Object.defineProperty(e,"REQUEST",{enumerable:!0,get:function(){return t.REQUEST}})})(Z_)),Z_}var qI;function qZ(){return qI||(qI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.RouterModule=void 0;const t=ae();t.__exportStar(CZ(),e),t.__exportStar(jZ(),e);var r=AN();Object.defineProperty(e,"RouterModule",{enumerable:!0,get:function(){return r.RouterModule}})})(V_)),V_}var NI;function VN(){return NI||(NI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NestFactory=e.APP_PIPE=e.APP_INTERCEPTOR=e.APP_GUARD=e.APP_FILTER=void 0;const t=ae();cg(),t.__exportStar(J2(),e),t.__exportStar(pr(),e);var r=pi();Object.defineProperty(e,"APP_FILTER",{enumerable:!0,get:function(){return r.APP_FILTER}}),Object.defineProperty(e,"APP_GUARD",{enumerable:!0,get:function(){return r.APP_GUARD}}),Object.defineProperty(e,"APP_INTERCEPTOR",{enumerable:!0,get:function(){return r.APP_INTERCEPTOR}}),Object.defineProperty(e,"APP_PIPE",{enumerable:!0,get:function(){return r.APP_PIPE}}),t.__exportStar(tW(),e),t.__exportStar(rW(),e),t.__exportStar(fW(),e),t.__exportStar(gN(),e),t.__exportStar(CW(),e),t.__exportStar(On(),e),t.__exportStar(NW(),e),t.__exportStar(Sb(),e),t.__exportStar(Ob(),e);var a=HN();Object.defineProperty(e,"NestFactory",{enumerable:!0,get:function(){return a.NestFactory}}),t.__exportStar(MZ(),e),t.__exportStar(qZ(),e),t.__exportStar(_N(),e)})(wm)),wm}var FI=VN(),NZ=Object.getOwnPropertyDescriptor,FZ=(e,t,r,a)=>{for(var o=a>1?void 0:a?NZ(t,r):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(o=s(o)||o);return o};let up=class{constructor(e){this.httpAdapterHost=e}logger=new Ot.Logger(up.name);mapStatusCode(e){return e instanceof Ot.HttpException?e.getStatus():Ot.HttpStatus.INTERNAL_SERVER_ERROR}mapError(e){return e instanceof Ot.HttpException?e.getResponse():{error:"internal-error"}}catch(e,t){const{httpAdapter:r}=this.httpAdapterHost,a=t.switchToHttp();this.logger.error("Unhandled exception",e);const o=this.mapStatusCode(e),n=this.mapError(e);r.reply(a.getResponse(),n,o)}};up=FZ([Ot.Catch()],up);const Rb=async({existentApp:e,existentLogger:t,appModule:r})=>{if(!e&&!r)throw new Error("Either existentApp or appModule must be provided");const a=e||await FI.NestFactory.create(r,{bufferLogs:!0,logger:t}),n=a.get(np.ConfigService).get(ni);if(!n)throw new Error(`Configuration with token ${ni} not found`);const s=t||new Ot.Logger;a.useLogger(s);const i=a.get(FI.HttpAdapterHost);return a.useGlobalFilters(new up(i)),s.setLogLevels?.(["verbose","debug","log","warn","error","fatal"]),a.enableCors({origin:n.CORS_ORIGIN,methods:n.CORS_METHODS,allowedHeaders:n.CORS_ALLOWED_HEADERS,credentials:n.CORS_CREDENTIALS,maxAge:n.CORS_MAX_AGE}),a};async function DZ(e,t=aD.resolve(__dirname,"../configuration")){pD({env:"",configPath:t});const r=await Rb({appModule:e}),o=r.get(np.ConfigService).get(ni);if(!o)throw new Error(`Configuration with token ${ni} not found`);await r.listen(o.APP_PORT),new Ot.Logger("NestJS App").log(`NestJS App is running at http://localhost:${o.APP_PORT}`)}var kZ=Object.getOwnPropertyDescriptor,LZ=(e,t,r,a)=>{for(var o=a>1?void 0:a?kZ(t,r):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(o=s(o)||o);return o};const K_={"2XX":"verbose","3XX":"debug",400:"log",401:"log",403:"log",404:"log","4XX":"warn","5XX":"error"};exports.RequestMiddleware=class{logger=new Ot.Logger(exports.RequestMiddleware.name);statusCodeToSeverity(t){const r=t.toString();return K_[r]?K_[r]:K_[`${t.toString().slice(0,1)}XX`]}use(t,r,a){if(t.headers.host!=="127.0.0.1"){const o=Date.now();r.on("finish",()=>{const n=Date.now()-o,s={method:t.method,url:t.originalUrl,statusCode:r.statusCode,timeSpentMs:n,domain:t.hostname,requestHeaders:t.headers,responseHeaders:r.getHeaders()},i=this.statusCodeToSeverity(r.statusCode);this.logger[i](`Request: ${t.method} ${t.originalUrl} ${r.statusCode}`,s)})}a()}};exports.RequestMiddleware=LZ([Ot.Injectable()],exports.RequestMiddleware);var Y_={},X_={},Q_={},DI;function UZ(){return DI||(DI=1,Object.defineProperty(Q_,"__esModule",{value:!0})),Q_}var J_={},kI;function $Z(){return kI||(kI=1,Object.defineProperty(J_,"__esModule",{value:!0})),J_}var eg={},LI;function zZ(){return LI||(LI=1,Object.defineProperty(eg,"__esModule",{value:!0})),eg}var UI;function BZ(){return UI||(UI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=ae();t.__exportStar(UZ(),e),t.__exportStar($Z(),e),t.__exportStar(zZ(),e)})(X_)),X_}var ol={},sl={},cl={},$I;function HZ(){if($I)return cl;$I=1,Object.defineProperty(cl,"__esModule",{value:!0}),cl.TestingLogger=void 0;const e=ve();class t extends e.ConsoleLogger{constructor(){super("Testing")}log(a){}warn(a){}debug(a){}verbose(a){}error(a,...o){return super.error(a,...o)}}return cl.TestingLogger=t,cl}var ul={},zI;function VZ(){if(zI)return ul;zI=1,Object.defineProperty(ul,"__esModule",{value:!0}),ul.TestingInjector=void 0;const e=it(),t=hi(),r=Dl();class a extends t.Injector{setMocker(n){this.mocker=n}setContainer(n){this.container=n}async resolveComponentWrapper(n,s,i,c,u=e.STATIC_CONTEXT,p,l){try{return await super.resolveComponentWrapper(n,s,i,c,u,p,l)}catch(d){return this.mockWrapper(d,n,s,c)}}async resolveComponentHost(n,s,i=e.STATIC_CONTEXT,c){try{return await super.resolveComponentHost(n,s,i,c)}catch(u){return this.mockWrapper(u,n,s.name,s)}}async mockWrapper(n,s,i,c){if(!this.mocker)throw n;const u=this.mocker(i);if(!u)throw n;const p=new r.InstanceWrapper({name:i,isAlias:!1,scope:c.scope,instance:u,isResolved:!0,host:s,metatype:c.metatype}),l=this.container.getInternalCoreModuleRef();if(!l)throw new Error("Expected to have internal core module reference at this point.");return l.addCustomProvider({provide:i,useValue:u},l.providers),l.addExportedProviderOrModule(i),p}}return ul.TestingInjector=a,ul}var ll={},BI;function GZ(){if(BI)return ll;BI=1,Object.defineProperty(ll,"__esModule",{value:!0}),ll.TestingInstanceLoader=void 0;const e=Pb();class t extends e.InstanceLoader{async createInstancesOfDependencies(a=this.container.getModules(),o){this.injector.setContainer(this.container),o&&this.injector.setMocker(o),await super.createInstancesOfDependencies()}}return ll.TestingInstanceLoader=t,ll}var dl={};const WZ={},ZZ=Object.freeze(Object.defineProperty({__proto__:null,default:WZ},Symbol.toStringTag,{value:"Module"})),KZ=ci(ZZ);var HI;function GN(){if(HI)return dl;HI=1,Object.defineProperty(dl,"__esModule",{value:!0}),dl.TestingModule=void 0;const e=ve(),t=bl(),r=ne(),a=VN();class o extends a.NestApplicationContext{constructor(s,i,c,u,p=[]){const l={};super(s,l,c,p),this.applicationConfig=u,this.graphInspector=i}isHttpServer(s){return!!(s&&s.patch)}createNestApplication(s,i){const[c,u]=this.isHttpServer(s)?[s,i]:[this.createHttpAdapter(),s];this.applyLogger(u),this.container.setHttpAdapter(c);const p=new a.NestApplication(this.container,c,this.applicationConfig,this.graphInspector,u);return this.createAdapterProxy(p,c)}createNestMicroservice(s){const{NestMicroservice:i}=(0,t.loadPackage)("@nestjs/microservices","TestingModule",()=>KZ);return this.applyLogger(s),new i(this.container,s,this.graphInspector,this.applicationConfig)}createHttpAdapter(s){const{ExpressAdapter:i}=(0,t.loadPackage)("@nestjs/platform-express","NestFactory",()=>BN());return new i(s)}applyLogger(s){!s||(0,r.isUndefined)(s.logger)||e.Logger.overrideLogger(s.logger)}createAdapterProxy(s,i){return new Proxy(s,{get:(c,u)=>!(u in c)&&u in i?i[u]:c[u]})}}return dl.TestingModule=o,dl}var VI;function WN(){if(VI)return sl;VI=1,Object.defineProperty(sl,"__esModule",{value:!0}),sl.TestingModuleBuilder=void 0;const e=ve(),t=pr(),r=xb(),a=Lp(),o=jN(),n=Fl(),s=qN(),i=HZ(),c=VZ(),u=GZ(),p=GN();class l{constructor(f,h,m){this.metadataScanner=f,this.applicationConfig=new t.ApplicationConfig,this.overloadsMap=new Map,this.moduleOverloadsMap=new Map,this.container=new r.NestContainer(this.applicationConfig,m),this.module=this.createModule(h)}setLogger(f){return this.testingLogger=f,this}overridePipe(f){return this.override(f,!1)}useMocker(f){return this.mocker=f,this}overrideFilter(f){return this.override(f,!1)}overrideGuard(f){return this.override(f,!1)}overrideInterceptor(f){return this.override(f,!1)}overrideProvider(f){return this.override(f,!0)}overrideModule(f){return{useModule:h=>(this.moduleOverloadsMap.set(f,h),this)}}async compile(f={}){this.applyLogger();let h;f?.snapshot?(h=new a.GraphInspector(this.container),n.UuidFactory.mode=n.UuidFactoryMode.Deterministic):(h=o.NoopGraphInspector,n.UuidFactory.mode=n.UuidFactoryMode.Random);const m=new s.DependenciesScanner(this.container,this.metadataScanner,h,this.applicationConfig);await m.scan(this.module,{overrides:this.getModuleOverloads()}),this.applyOverloadsMap(),await this.createInstancesOfDependencies(h,f),m.applyApplicationProviders();const v=this.getRootModule();return new p.TestingModule(this.container,h,v,this.applicationConfig)}override(f,h){const m=v=>(this.overloadsMap.set(f,{...v,isProvider:h}),this);return this.createOverrideByBuilder(m)}createOverrideByBuilder(f){return{useValue:h=>f({useValue:h}),useFactory:h=>f({...h,useFactory:h.factory}),useClass:h=>f({useClass:h})}}applyOverloadsMap(){[...this.overloadsMap.entries()].forEach(([h,m])=>{this.container.replace(h,m)})}getModuleOverloads(){return[...this.moduleOverloadsMap.entries()].map(([h,m])=>({moduleToReplace:h,newModule:m}))}getRootModule(){return this.container.getModules().values().next().value}async createInstancesOfDependencies(f,h){const m=new c.TestingInjector({preview:h?.preview??!1});await new u.TestingInstanceLoader(this.container,m,f).createInstancesOfDependencies(this.container.getModules(),this.mocker)}createModule(f){class h{}return(0,e.Module)(f)(h),h}applyLogger(){e.Logger.overrideLogger(this.testingLogger||new i.TestingLogger)}}return sl.TestingModuleBuilder=l,sl}var GI;function YZ(){if(GI)return ol;GI=1,Object.defineProperty(ol,"__esModule",{value:!0}),ol.Test=void 0;const e=On(),t=WN();class r{static createTestingModule(o,n){return new t.TestingModuleBuilder(this.metadataScanner,o,n)}}return ol.Test=r,r.metadataScanner=new e.MetadataScanner,ol}var WI;function XZ(){return WI||(WI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=ae();t.__exportStar(BZ(),e),t.__exportStar(YZ(),e),t.__exportStar(GN(),e),t.__exportStar(WN(),e)})(Y_)),Y_}var QZ=XZ();function JZ(e,t=[]){return t.forEach(r=>{e=e.overrideGuard(r.type).useValue(r.value)}),e}function e4(e,t=[]){return t.forEach(r=>{e=e.overrideProvider(r.type).useValue(r.value)}),e}async function ZN(e={},t){let r=QZ.Test.createTestingModule({imports:[t]});r=JZ(r,e.guards),r=e4(r,e.providers);const a=await r.compile();return e.logger&&a.useLogger(e.logger),a}async function t4(e,t={}){const r=await ZN(t,e);return(await Rb({existentApp:r.createNestApplication(),existentLogger:t.logger})).init()}function Up(e,t="body"){return Ot.createParamDecorator((r,a)=>{const n=a.switchToHttp().getRequest()[t],s=e.safeParse(n);if(!s.success)throw new Ot.BadRequestException({message:`Invalid ${t} data`,errors:s.error});return s.data})()}function r4(e){return Up(e,"query")}function n4(e){return Up(e,"body")}function i4(e){return Up(e,"params")}exports.APP_CONFIG_TOKEN=ni;exports.AppConfigSchema=Yq;exports.SafeBody=n4;exports.SafeParams=i4;exports.SafeQuery=r4;exports.ZodValidator=Up;exports.appConfigModuleSetup=Q2;exports.bootstrap=DZ;exports.createApp=Rb;exports.createTestingApp=t4;exports.createTestingModule=ZN;
172
+ `);this.displayPrompt()}})}return tp}var RI;function RZ(){if(RI)return Jd;RI=1,Object.defineProperty(Jd,"__esModule",{value:!0}),Jd.repl=c;const e=ve(),t=nr(),r=HN(),a=_Z(),o=gZ(),n=PZ(),s=TZ(),i=AZ();async function c(u,p={}){const l=await r.NestFactory.createApplicationContext(u,{abortOnError:!1,logger:new s.ReplLogger});await l.init();const d=new n.ReplContext(l);e.Logger.log(o.REPL_INITIALIZED_MESSAGE);const h=(await Promise.resolve().then(()=>nD)).start({prompt:t.clc.green("> "),ignoreUndefined:!0,...p});return(0,a.assignToObject)(h.context,d.globalScope),(0,i.defineDefaultCommandsOnRepl)(h),h.on("exit",async()=>{await l.close()}),h}return Jd}var MI;function MZ(){return MI||(MI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),ae().__exportStar(RZ(),e)})(B_)),B_}var V_={},G_={},W_={},II;function IZ(){return II||(II=1,Object.defineProperty(W_,"__esModule",{value:!0})),W_}var CI;function CZ(){return CI||(CI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),ae().__exportStar(IZ(),e)})(G_)),G_}var Z_={},jI;function jZ(){return jI||(jI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.REQUEST=void 0;var t=wn();Object.defineProperty(e,"REQUEST",{enumerable:!0,get:function(){return t.REQUEST}})})(Z_)),Z_}var qI;function qZ(){return qI||(qI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.RouterModule=void 0;const t=ae();t.__exportStar(CZ(),e),t.__exportStar(jZ(),e);var r=AN();Object.defineProperty(e,"RouterModule",{enumerable:!0,get:function(){return r.RouterModule}})})(V_)),V_}var NI;function VN(){return NI||(NI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.NestFactory=e.APP_PIPE=e.APP_INTERCEPTOR=e.APP_GUARD=e.APP_FILTER=void 0;const t=ae();cg(),t.__exportStar(J2(),e),t.__exportStar(pr(),e);var r=pi();Object.defineProperty(e,"APP_FILTER",{enumerable:!0,get:function(){return r.APP_FILTER}}),Object.defineProperty(e,"APP_GUARD",{enumerable:!0,get:function(){return r.APP_GUARD}}),Object.defineProperty(e,"APP_INTERCEPTOR",{enumerable:!0,get:function(){return r.APP_INTERCEPTOR}}),Object.defineProperty(e,"APP_PIPE",{enumerable:!0,get:function(){return r.APP_PIPE}}),t.__exportStar(tW(),e),t.__exportStar(rW(),e),t.__exportStar(fW(),e),t.__exportStar(gN(),e),t.__exportStar(CW(),e),t.__exportStar(On(),e),t.__exportStar(NW(),e),t.__exportStar(Sb(),e),t.__exportStar(Ob(),e);var a=HN();Object.defineProperty(e,"NestFactory",{enumerable:!0,get:function(){return a.NestFactory}}),t.__exportStar(MZ(),e),t.__exportStar(qZ(),e),t.__exportStar(_N(),e)})(wm)),wm}var FI=VN(),NZ=Object.getOwnPropertyDescriptor,FZ=(e,t,r,a)=>{for(var o=a>1?void 0:a?NZ(t,r):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(o=s(o)||o);return o};let up=class{constructor(e){this.httpAdapterHost=e}logger=new Ot.Logger(up.name);mapStatusCode(e){return e instanceof Ot.HttpException?e.getStatus():Ot.HttpStatus.INTERNAL_SERVER_ERROR}mapError(e){return e instanceof Ot.HttpException?e.getResponse():{error:"internal-error"}}catch(e,t){const{httpAdapter:r}=this.httpAdapterHost,a=t.switchToHttp();this.logger.error("Unhandled exception",e);const o=this.mapStatusCode(e),n=this.mapError(e);r.reply(a.getResponse(),n,o)}};up=FZ([Ot.Catch()],up);const Rb=async({existentApp:e,existentLogger:t,appModule:r})=>{if(!e&&!r)throw new Error("Either existentApp or appModule must be provided");const a=e||await FI.NestFactory.create(r,{bufferLogs:!0,logger:t}),n=a.get(np.ConfigService).get(ni);if(!n)throw new Error(`Configuration with token ${ni} not found`);const s=n.LOGGER_PROVIDER==="NESTJS"||!t?new Ot.Logger:t;a.useLogger(s);const i=a.get(FI.HttpAdapterHost);return a.useGlobalFilters(new up(i)),s.setLogLevels?.(["verbose","debug","log","warn","error","fatal"]),a.enableCors({origin:n.CORS_ORIGIN,methods:n.CORS_METHODS,allowedHeaders:n.CORS_ALLOWED_HEADERS,credentials:n.CORS_CREDENTIALS,maxAge:n.CORS_MAX_AGE}),a};async function DZ({appModule:e,configPath:t=aD.resolve(__dirname,"../configuration"),logger:r}){pD({env:"",configPath:t});const a=await Rb({appModule:e,existentLogger:r}),n=a.get(np.ConfigService).get(ni);if(!n)throw new Error(`Configuration with token ${ni} not found`);await a.listen(n.APP_PORT),(r||new Ot.Logger("NestJS App")).log(`NestJS App is running at http://localhost:${n.APP_PORT}`)}var kZ=Object.getOwnPropertyDescriptor,LZ=(e,t,r,a)=>{for(var o=a>1?void 0:a?kZ(t,r):t,n=e.length-1,s;n>=0;n--)(s=e[n])&&(o=s(o)||o);return o};const K_={"2XX":"verbose","3XX":"debug",400:"log",401:"log",403:"log",404:"log","4XX":"warn","5XX":"error"};exports.RequestMiddleware=class{logger=new Ot.Logger(exports.RequestMiddleware.name);statusCodeToSeverity(t){const r=t.toString();return K_[r]?K_[r]:K_[`${t.toString().slice(0,1)}XX`]}use(t,r,a){if(t.headers.host!=="127.0.0.1"){const o=Date.now();r.on("finish",()=>{const n=Date.now()-o,s={method:t.method,url:t.originalUrl,statusCode:r.statusCode,timeSpentMs:n,domain:t.hostname,requestHeaders:t.headers,responseHeaders:r.getHeaders()},i=this.statusCodeToSeverity(r.statusCode);this.logger[i](`Request: ${t.method} ${t.originalUrl} ${r.statusCode}`,s)})}a()}};exports.RequestMiddleware=LZ([Ot.Injectable()],exports.RequestMiddleware);var Y_={},X_={},Q_={},DI;function UZ(){return DI||(DI=1,Object.defineProperty(Q_,"__esModule",{value:!0})),Q_}var J_={},kI;function $Z(){return kI||(kI=1,Object.defineProperty(J_,"__esModule",{value:!0})),J_}var eg={},LI;function zZ(){return LI||(LI=1,Object.defineProperty(eg,"__esModule",{value:!0})),eg}var UI;function BZ(){return UI||(UI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=ae();t.__exportStar(UZ(),e),t.__exportStar($Z(),e),t.__exportStar(zZ(),e)})(X_)),X_}var ol={},sl={},cl={},$I;function HZ(){if($I)return cl;$I=1,Object.defineProperty(cl,"__esModule",{value:!0}),cl.TestingLogger=void 0;const e=ve();class t extends e.ConsoleLogger{constructor(){super("Testing")}log(a){}warn(a){}debug(a){}verbose(a){}error(a,...o){return super.error(a,...o)}}return cl.TestingLogger=t,cl}var ul={},zI;function VZ(){if(zI)return ul;zI=1,Object.defineProperty(ul,"__esModule",{value:!0}),ul.TestingInjector=void 0;const e=it(),t=hi(),r=Dl();class a extends t.Injector{setMocker(n){this.mocker=n}setContainer(n){this.container=n}async resolveComponentWrapper(n,s,i,c,u=e.STATIC_CONTEXT,p,l){try{return await super.resolveComponentWrapper(n,s,i,c,u,p,l)}catch(d){return this.mockWrapper(d,n,s,c)}}async resolveComponentHost(n,s,i=e.STATIC_CONTEXT,c){try{return await super.resolveComponentHost(n,s,i,c)}catch(u){return this.mockWrapper(u,n,s.name,s)}}async mockWrapper(n,s,i,c){if(!this.mocker)throw n;const u=this.mocker(i);if(!u)throw n;const p=new r.InstanceWrapper({name:i,isAlias:!1,scope:c.scope,instance:u,isResolved:!0,host:s,metatype:c.metatype}),l=this.container.getInternalCoreModuleRef();if(!l)throw new Error("Expected to have internal core module reference at this point.");return l.addCustomProvider({provide:i,useValue:u},l.providers),l.addExportedProviderOrModule(i),p}}return ul.TestingInjector=a,ul}var ll={},BI;function GZ(){if(BI)return ll;BI=1,Object.defineProperty(ll,"__esModule",{value:!0}),ll.TestingInstanceLoader=void 0;const e=Pb();class t extends e.InstanceLoader{async createInstancesOfDependencies(a=this.container.getModules(),o){this.injector.setContainer(this.container),o&&this.injector.setMocker(o),await super.createInstancesOfDependencies()}}return ll.TestingInstanceLoader=t,ll}var dl={};const WZ={},ZZ=Object.freeze(Object.defineProperty({__proto__:null,default:WZ},Symbol.toStringTag,{value:"Module"})),KZ=ci(ZZ);var HI;function GN(){if(HI)return dl;HI=1,Object.defineProperty(dl,"__esModule",{value:!0}),dl.TestingModule=void 0;const e=ve(),t=bl(),r=ne(),a=VN();class o extends a.NestApplicationContext{constructor(s,i,c,u,p=[]){const l={};super(s,l,c,p),this.applicationConfig=u,this.graphInspector=i}isHttpServer(s){return!!(s&&s.patch)}createNestApplication(s,i){const[c,u]=this.isHttpServer(s)?[s,i]:[this.createHttpAdapter(),s];this.applyLogger(u),this.container.setHttpAdapter(c);const p=new a.NestApplication(this.container,c,this.applicationConfig,this.graphInspector,u);return this.createAdapterProxy(p,c)}createNestMicroservice(s){const{NestMicroservice:i}=(0,t.loadPackage)("@nestjs/microservices","TestingModule",()=>KZ);return this.applyLogger(s),new i(this.container,s,this.graphInspector,this.applicationConfig)}createHttpAdapter(s){const{ExpressAdapter:i}=(0,t.loadPackage)("@nestjs/platform-express","NestFactory",()=>BN());return new i(s)}applyLogger(s){!s||(0,r.isUndefined)(s.logger)||e.Logger.overrideLogger(s.logger)}createAdapterProxy(s,i){return new Proxy(s,{get:(c,u)=>!(u in c)&&u in i?i[u]:c[u]})}}return dl.TestingModule=o,dl}var VI;function WN(){if(VI)return sl;VI=1,Object.defineProperty(sl,"__esModule",{value:!0}),sl.TestingModuleBuilder=void 0;const e=ve(),t=pr(),r=xb(),a=Lp(),o=jN(),n=Fl(),s=qN(),i=HZ(),c=VZ(),u=GZ(),p=GN();class l{constructor(f,h,m){this.metadataScanner=f,this.applicationConfig=new t.ApplicationConfig,this.overloadsMap=new Map,this.moduleOverloadsMap=new Map,this.container=new r.NestContainer(this.applicationConfig,m),this.module=this.createModule(h)}setLogger(f){return this.testingLogger=f,this}overridePipe(f){return this.override(f,!1)}useMocker(f){return this.mocker=f,this}overrideFilter(f){return this.override(f,!1)}overrideGuard(f){return this.override(f,!1)}overrideInterceptor(f){return this.override(f,!1)}overrideProvider(f){return this.override(f,!0)}overrideModule(f){return{useModule:h=>(this.moduleOverloadsMap.set(f,h),this)}}async compile(f={}){this.applyLogger();let h;f?.snapshot?(h=new a.GraphInspector(this.container),n.UuidFactory.mode=n.UuidFactoryMode.Deterministic):(h=o.NoopGraphInspector,n.UuidFactory.mode=n.UuidFactoryMode.Random);const m=new s.DependenciesScanner(this.container,this.metadataScanner,h,this.applicationConfig);await m.scan(this.module,{overrides:this.getModuleOverloads()}),this.applyOverloadsMap(),await this.createInstancesOfDependencies(h,f),m.applyApplicationProviders();const v=this.getRootModule();return new p.TestingModule(this.container,h,v,this.applicationConfig)}override(f,h){const m=v=>(this.overloadsMap.set(f,{...v,isProvider:h}),this);return this.createOverrideByBuilder(m)}createOverrideByBuilder(f){return{useValue:h=>f({useValue:h}),useFactory:h=>f({...h,useFactory:h.factory}),useClass:h=>f({useClass:h})}}applyOverloadsMap(){[...this.overloadsMap.entries()].forEach(([h,m])=>{this.container.replace(h,m)})}getModuleOverloads(){return[...this.moduleOverloadsMap.entries()].map(([h,m])=>({moduleToReplace:h,newModule:m}))}getRootModule(){return this.container.getModules().values().next().value}async createInstancesOfDependencies(f,h){const m=new c.TestingInjector({preview:h?.preview??!1});await new u.TestingInstanceLoader(this.container,m,f).createInstancesOfDependencies(this.container.getModules(),this.mocker)}createModule(f){class h{}return(0,e.Module)(f)(h),h}applyLogger(){e.Logger.overrideLogger(this.testingLogger||new i.TestingLogger)}}return sl.TestingModuleBuilder=l,sl}var GI;function YZ(){if(GI)return ol;GI=1,Object.defineProperty(ol,"__esModule",{value:!0}),ol.Test=void 0;const e=On(),t=WN();class r{static createTestingModule(o,n){return new t.TestingModuleBuilder(this.metadataScanner,o,n)}}return ol.Test=r,r.metadataScanner=new e.MetadataScanner,ol}var WI;function XZ(){return WI||(WI=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0});const t=ae();t.__exportStar(BZ(),e),t.__exportStar(YZ(),e),t.__exportStar(GN(),e),t.__exportStar(WN(),e)})(Y_)),Y_}var QZ=XZ();function JZ(e,t=[]){return t.forEach(r=>{e=e.overrideGuard(r.type).useValue(r.value)}),e}function e4(e,t=[]){return t.forEach(r=>{e=e.overrideProvider(r.type).useValue(r.value)}),e}async function ZN(e={},t){let r=QZ.Test.createTestingModule({imports:[t]});r=JZ(r,e.guards),r=e4(r,e.providers);const a=await r.compile();return e.logger&&a.useLogger(e.logger),a}async function t4(e,t={}){const r=await ZN(t,e);return(await Rb({existentApp:r.createNestApplication(),existentLogger:t.logger})).init()}function Up(e,t="body"){return Ot.createParamDecorator((r,a)=>{const n=a.switchToHttp().getRequest()[t],s=e.safeParse(n);if(!s.success)throw new Ot.BadRequestException({message:`Invalid ${t} data`,errors:s.error});return s.data})()}function r4(e){return Up(e,"query")}function n4(e){return Up(e,"body")}function i4(e){return Up(e,"params")}exports.APP_CONFIG_TOKEN=ni;exports.AppConfigSchema=Yq;exports.SafeBody=n4;exports.SafeParams=i4;exports.SafeQuery=r4;exports.ZodValidator=Up;exports.appConfigModuleSetup=Q2;exports.bootstrap=DZ;exports.createApp=Rb;exports.createTestingApp=t4;exports.createTestingModule=ZN;
package/dist/index.mjs CHANGED
@@ -33428,7 +33428,7 @@ const HN = async ({ existentApp: e, existentLogger: t, appModule: r }) => {
33428
33428
  }), n = a.get(np.ConfigService).get(vl);
33429
33429
  if (!n)
33430
33430
  throw new Error(`Configuration with token ${vl} not found`);
33431
- const s = t || new Ot.Logger();
33431
+ const s = n.LOGGER_PROVIDER === "NESTJS" || !t ? new Ot.Logger() : t;
33432
33432
  a.useLogger(s);
33433
33433
  const i = a.get(NI.HttpAdapterHost);
33434
33434
  return a.useGlobalFilters(new up(i)), s.setLogLevels?.(["verbose", "debug", "log", "warn", "error", "fatal"]), a.enableCors({
@@ -33439,12 +33439,16 @@ const HN = async ({ existentApp: e, existentLogger: t, appModule: r }) => {
33439
33439
  maxAge: n.CORS_MAX_AGE
33440
33440
  }), a;
33441
33441
  };
33442
- async function U4(e, t = KF.resolve(__dirname, "../configuration")) {
33442
+ async function U4({
33443
+ appModule: e,
33444
+ configPath: t = KF.resolve(__dirname, "../configuration"),
33445
+ logger: r
33446
+ }) {
33443
33447
  uD({ env: "", configPath: t });
33444
- const r = await HN({ appModule: e }), o = r.get(np.ConfigService).get(vl);
33445
- if (!o)
33448
+ const a = await HN({ appModule: e, existentLogger: r }), n = a.get(np.ConfigService).get(vl);
33449
+ if (!n)
33446
33450
  throw new Error(`Configuration with token ${vl} not found`);
33447
- await r.listen(o.APP_PORT), new Ot.Logger("NestJS App").log(`NestJS App is running at http://localhost:${o.APP_PORT}`);
33451
+ await a.listen(n.APP_PORT), (r || new Ot.Logger("NestJS App")).log(`NestJS App is running at http://localhost:${n.APP_PORT}`);
33448
33452
  }
33449
33453
  var qZ = Object.getOwnPropertyDescriptor, NZ = (e, t, r, a) => {
33450
33454
  for (var o = a > 1 ? void 0 : a ? qZ(t, r) : t, n = e.length - 1, s; n >= 0; n--)
@@ -1,2 +1,8 @@
1
- import { Type } from '@nestjs/common';
2
- export declare function bootstrap(appModule: Type, configPath?: string): Promise<void>;
1
+ import { LoggerService, Type } from '@nestjs/common';
2
+ type BootstrapOptions = {
3
+ appModule: Type;
4
+ configPath: string;
5
+ logger?: LoggerService;
6
+ };
7
+ export declare function bootstrap({ appModule, configPath, logger: existentLogger, }: BootstrapOptions): Promise<void>;
8
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsfsi-core/ts-nestjs",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "license": "ISC",
5
5
  "author": "",
6
6
  "type": "module",