https://github.com/ikemtz/openapi-ts-generator
NPM package based on swagger-ts-generator to generate typescript models for endpoints documented by swagger using the relatively new OpenAPI spec.
https://github.com/ikemtz/openapi-ts-generator
angular openapi-codegen openapi3 typescript-generator typescript-models
Last synced: 2 months ago
JSON representation
NPM package based on swagger-ts-generator to generate typescript models for endpoints documented by swagger using the relatively new OpenAPI spec.
- Host: GitHub
- URL: https://github.com/ikemtz/openapi-ts-generator
- Owner: ikemtz
- License: mit
- Created: 2020-01-02T14:43:45.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-25T16:39:46.000Z (3 months ago)
- Last Synced: 2025-05-06T21:05:40.449Z (2 months ago)
- Topics: angular, openapi-codegen, openapi3, typescript-generator, typescript-models
- Language: TypeScript
- Homepage:
- Size: 1.71 MB
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://ikemtz.visualstudio.com/CI%20CD/_build/latest?definitionId=20&branchName=master) [](https://www.npmjs.com/package/openapi-ts-generator) [](https://www.npmjs.com/package/openapi-ts-generator) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-ts-generator) [](https://github.com/ikemtz/openapi-ts-generator/issues) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-ts-generator) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-ts-generator) [](https://sonarcloud.io/dashboard?id=ikemtz_openapi-ts-generator) [](https://github.com/ikemtz/openapi-ts-generator/actions/workflows/codeql-analysis.yml)
# OpenApi-TS-Generator
NPM package based on [swagger-ts-generator](https://www.npmjs.com/package/swagger-ts-generator) to generate typescript models for endpoints documented by swagger using the relatively new [OpenAPI spec](https://swagger.io/docs/specification/about/).
## TypeScript usage with a hosted OpenApi Spec document.
```javascript
import { generateTsModels } from 'openapi-ts-generator';generateTsModels({
openApiJsonUrl: '{Your Swagger Enpoint URL here}',
outputPath: './{outputFolder}/',
});
```## TypeScript usage with an OpenApi Spec document stored on your local computer.
```javascript
import { generateTsModels } from 'openapi-ts-generator';generateTsModels({
openApiJsonFileName: '{location and file name of your OpenApi document}',
outputPath: './{outputFolder}/',
});
```## Javascript usage with a hosted OpenApi Spec document.
```javascript
const generator = require('openapi-ts-generator');generator.generateTsModels({
openApiJsonUrl: '{Your Swagger Enpoint URL here}',
outputPath: './{outputFolder}/',
genAngularFormGroups: true /* Set this to true if only if you're in an Angular project*/
});
```## Javascript usage with an OpenApi Spec document stored on your local computer.
```javascript
const generator = require('openapi-ts-generator');generator.generateTsModels({
openApiJsonFileName: '{location and file name of your OpenApi document}',
outputPath: './{outputFolder}/',
});
```## Want to include Angular FormGroup Factories?
```javascript
const generator = require('openapi-ts-generator');generator.generateTsModels({
openApiJsonFileName: '{location and file name of your OpenApi document}',
outputPath: './{outputFolder}/',
genAngularFormGroups: true
});
```## Working example with NRSRx based service
```javascript
import { generateTsModels } from 'openapi-ts-generator';generateTsModels({
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'),
});
```Check out [openapi-mermaid](https://www.npmjs.com/package/openapi-mermaid), it will auto-generate mermaid entity diagrams using your swagger docs.