openapi-mermaid
TypeScript icon, indicating that this package has built-in type declarations

3.56.1 • Public • Published

openapi-mermaid

Generates Mermaid diagrams from OpenApi Docs

Build Status npm version npm downloads Quality Gate Status Issues Coverage Lines of Code Security Rating

OpenApi-mermaid

NPM package use to generate mermaid diagram documentation for endpoints documented by swagger using the OpenAPI spec.

TypeScript usage with a hosted OpenApi Spec document.

import { generateDiagrams } from 'openapi-mermaid';

generateDiagrams({
  openApiJsonUrl: '{Your Swagger Enpoint URL here}',
  outputPath: './{outputFolder}/',
  outputFileName: 'class-diagram', /* This is an optional parameter */
});

TypeScript usage with an OpenApi Spec document stored on your local computer.

import { generateDiagrams } from 'openapi-mermaid';

generateDiagrams({
  openApiJsonFileName: '{location and file name of your OpenApi document}',
  outputPath: './{outputFolder}/',
  outputFileName: 'class-diagram', /* This is an optional parameter */
});

Javascript usage with a hosted OpenApi Spec document.

const generator = require('openapi-mermaid');

generator.generateDiagrams({
  openApiJsonUrl: '{Your Swagger Enpoint URL here}',
  outputPath: './{outputFolder}/',
});

Javascript usage with an OpenApi Spec document stored on your local computer.

const generator = require('openapi-mermaid');

generator.generateDiagrams({
  openApiJsonFileName: '{location and file name of your OpenApi document}',
  outputPath: './{outputFolder}/',
});

Working example with NRSRx based service

import { generateDiagrams } from 'openapi-mermaid';

generateDiagrams({
  openApiJsonUrl: 'https://im-wa-cmpo-nrsr.azurewebsites.net/swagger/v1/swagger.json',
  outputPath: './models/',
  typeFilterCallBack: (val, i, arr) => !val.name.endsWith('ODataEnvelope'),
  valuePropertyTypeFilterCallBack: (val, i, arr) => !val.name.startsWith('created') && !val.name.startsWith('updated'),
});

Package Sidebar

Install

npm i openapi-mermaid

Weekly Downloads

53

Version

3.56.1

License

MIT

Unpacked Size

40.5 kB

Total Files

27

Last publish

Collaborators

  • ikemtz