https://github.com/ikemtz/openapi-mermaid
Generates Mermaid diagrams from OpenApi Docs
https://github.com/ikemtz/openapi-mermaid
class diagrams mermaid openapi swagger
Last synced: 5 months ago
JSON representation
Generates Mermaid diagrams from OpenApi Docs
- Host: GitHub
- URL: https://github.com/ikemtz/openapi-mermaid
- Owner: ikemtz
- License: mit
- Created: 2021-06-03T07:04:59.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-06T20:13:01.000Z (10 months ago)
- Last Synced: 2025-04-06T21:23:56.057Z (10 months ago)
- Topics: class, diagrams, mermaid, openapi, swagger
- Language: TypeScript
- Homepage:
- Size: 442 KB
- Stars: 11
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# openapi-mermaid
Generates Mermaid diagrams from OpenApi Docs
[](https://ikemtz.visualstudio.com/CI%20CD/_build/latest?definitionId=20&branchName=master) [](https://www.npmjs.com/package/openapi-mermaid) [](https://www.npmjs.com/package/openapi-mermaid) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-mermaid) [](https://github.com/ikemtz/openapi-mermaid/issues) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-mermaid) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-mermaid) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-mermaid)
# OpenApi-mermaid
NPM package use to generate mermaid diagram documentation for endpoints documented by swagger using the [OpenAPI spec](https://swagger.io/docs/specification/about/).
## TypeScript usage with a hosted OpenApi Spec document.
```javascript
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.
```javascript
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.
```javascript
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.
```javascript
const generator = require('openapi-mermaid');
generator.generateDiagrams({
openApiJsonFileName: '{location and file name of your OpenApi document}',
outputPath: './{outputFolder}/',
});
```
## Working example with NRSRx based service
```javascript
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'),
});
```