UNPKG

@duongtrungnguyen/nestro

Version:
48 lines 1.74 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) __defProp(target, key, result); return result; }; import { Module } from "@nestjs/common"; import { NestFactory } from "@nestjs/core"; import { debugLog } from "../common"; import { ClientModule } from "./client.module"; import { getFreePort } from "./utils"; function wrapModuleWithRegistry(AppModule, config) { let WrappedModule = class { }; WrappedModule = __decorateClass([ Module({ imports: [ClientModule.register(config), AppModule] }) ], WrappedModule); return WrappedModule; } async function createNestroApplication(AppModule, config, applicationOptions) { const clientConfig = { ...config, client: { ...config.client, port: config.client.port || await getFreePort() } }; const wrappedModule = wrapModuleWithRegistry(AppModule, clientConfig); const app = await NestFactory.create(wrappedModule, applicationOptions); const nestroApp = Object.create(Object.getPrototypeOf(app), Object.getOwnPropertyDescriptors(app)); nestroApp.enableShutdownHooks(); nestroApp.listen = async () => { const server = await app.listen(clientConfig.client.port); debugLog("Nestro", "Nestro application initial success"); return server; }; return nestroApp; } export { createNestroApplication }; //# sourceMappingURL=bootstrap.js.map