covenix / generateSwagger
Function: generateSwagger()
generateSwagger(
controllers,info?,options?):OpenApiDocument
Defined in: src/swagger.ts:450
Standalone, instance-free OpenAPI generation: pass the controller classes directly. Swagger is derived entirely from class-level metadata, so no instances (and thus no dependency wiring) are needed — the lightest path for CI spec checks and client codegen.
Parameters
controllers
The controller classes (constructors, not instances). To mirror grouped/prefixed registration, wrap a class as { controller, prefix } to prepend a base path (e.g. { controller: UsersController, prefix: '/v1' }).
info?
InfoObject = ...
OpenAPI info block. Defaults to { title: 'API', version: '1.0.0' }.
options?
OpenApiOptions = {}
Extra inputs: securitySchemes (needed when routes use @Security, since scheme definitions aren't carried on the classes) and specVersion ('3.1' by default; '3.0' to down-convert).
Returns
The assembled OpenAPI document (3.1 by default).
Example
const doc = generateSwagger([UsersController, HealthController]);
const v1 = generateSwagger([{ controller: UsersController, prefix: '/v1' }]);