API REFERENCE
defineModule
import { defineModule, type ModuleConfig } from '@rasenganjs/server';
function defineModule(config: ModuleConfig): ModuleConfig;
Typed pass-through helper — returns the same object you pass in, with type-checking. See Modules for usage.
ModuleConfig
interface ModuleConfig { name?: string; prefix?: string; middlewares?: Middleware[]; imports?: ModuleConfig[]; controllers?: (new (...args: any[]) => Controller)[]; providers?: (ProviderLike | ProviderDefinition)[]; exports?: any[]; global?: boolean; [extensionKey: string]: unknown; }
ModulePlugin
import type { ModulePlugin } from '@rasenganjs/server';
interface ModulePlugin { key: string; register( app: ServerApp, container: ContainerView, mod: ModuleConfig, value: unknown ): void; asProviders?(value: unknown): ProviderLike[]; }
Register with app.registerPlugin(plugin). See Module Plugins for a full worked example.
Provider
WebSocket
