@cmmv/swagger
v0.4.3
Published
CMMV integration with Swagger for documentation creation
Downloads
148
Readme
Description
The @cmmv/swagger
module provides an automated solution for generating Swagger API documentation based on the contracts defined in the CMMV application. The SwaggerTranspiler
class processes the contracts, extracting information such as controller names, fields, and request/response types. It generates a complete OpenAPI 3.0 specification, including routes for CRUD operations, data schemas, and authentication routes if the @cmmv/auth
module is present. The module integrates security schemes, adds necessary paths for login, registration, and user management, and handles the inclusion of common request/response formats. The generated output is written to a swagger.json
file, which can be used with Swagger UI or similar tools to provide interactive API documentation.
Installation
CMMV is available as a collection of npm packages. To install the core package, use npm:
$ pnpm add @cmmv/swagger
Quick Start
Below is a simple example of how to create a new CMMV application:
import { Application } from "@cmmv/core";
import { AuthModule } from "@cmmv/auth";
import { SwaggerModule } from "@cmmv/swagger";
import {
DefaultAdapter, DefaultHTTPModule
} from "@cmmv/http";
Application.create({
httpAdapter: DefaultAdapter,
modules: [
DefaultHTTPModule,
AuthModule,
SwaggerModule
],
contracts: [...]
})