@duongtrungnguyen/nestro
Version:
Service registry for Nest JS
48 lines • 1.74 kB
JavaScript
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