kobp
Version:
Koa Boilerplate with MikroORM
33 lines (32 loc) • 950 B
TypeScript
/// <reference types="koa-bodyparser" />
/// <reference types="node" />
import type Router from 'koa-router';
import Koa from 'koa';
export interface KobpCustomization {
/**
* Before app is being created
*/
onInit?: () => Promise<void>;
/**
* After app has been created
*/
onAppCreated?: (app: Koa) => void;
/**
* Attach all necessary middlewares.
*/
middlewares?: (app: Koa) => void;
/**
* Handle signal received for graceful shutdown.
*/
onSignalReceived?: (signal: NodeJS.Signals, app: Koa) => Promise<void>;
}
export interface KobpModule {
customization(): KobpCustomization;
}
export declare class BootstrapLoader {
private modules;
addModule(module: KobpModule): this;
buildSync(serviceRoutes: Router, appCustomization: KobpCustomization): Koa;
build(serviceRoutes: Router, appCustomization: KobpCustomization): Promise<Koa>;
private _launchKoa;
}