nestjs-redox
TypeScript icon, indicating that this package has built-in type declarations

1.1.3 • Public • Published

NestJS-Redox NPM Version

This NestJS module enables to auto-generate beautiful API docs using Swagger and Redoc. It supports NestJS 10, ExpressJS and Fastify.

Features

  • NestJS 10 support
  • ExpressJS and Fastify support
  • Multi-user auth basic support
  • Option "standalone" for self hosted redoc bundles
  • Option to disable Google fonts

Installation

npm install nestjs-redox

Standalone

By default NestJSRedox automatically loads the redoc bundle from a CDN. If you want to host it yourself, install redoc via npm install redoc and set standalone in RedoxOptions parameter to true. See chapter "setup".

Setup

In your main.ts file, before calling app.listen() insert the module setup:

/** example swagger config **/
const swaggerConfig = new DocumentBuilder()
    .setTitle('API reference')
    .setDescription('Some description')
    .setVersion('1.0.0')
    .addBearerAuth()
    .addSecurity('roles', {
      type: 'http',
      scheme: 'bearer',
    })
    .build();

/**
 * official supported options by Redoc
 */
const redocOptions: RedocOptions = {
  requiredPropsFirst: true,
};

/**
 * create swagger document
 */
const document = SwaggerModule.createDocument(app, swaggerConfig, {
  ignoreGlobalPrefix: false,
  operationIdFactory: (controllerKey, methodKey) => methodKey,
});

/**
 * Initialize NestjsRedoxModule
 */
NestjsRedoxModule.setup(
  'reference',
  app as any,
  document,
  {
    useGlobalPrefix: true,
    disableGoogleFont: true,
    standalone: true,
    auth: {
      enabled: true,
      users: {
        user1: 'user1',
        user2: 'user2',
      },
    },
  },
  redocOptions
);

If you like this package give it a star ;)

Options

For supported options see Options.

Changelog

See Changelog.

Contributing

If you want to contribute please fork this repository and send a pull request. The commit messages must be formatted after the conventional changelog angular theme. Following scopes are allowed: "nestjs-redox", "demo-express", "demo-fastify" and "project" for changes that affect the whole project.

Package Sidebar

Install

npm i nestjs-redox

Weekly Downloads

448

Version

1.1.3

License

MIT

Unpacked Size

32.7 kB

Total Files

16

Last publish

Collaborators

  • julianpoemp