1.1.0 • Published 5 months ago
openapi-ts-converter v1.1.0
OpenAPI TypeScript Converter
A command-line tool to convert OpenAPI schema definitions into TypeScript type definitions.
Features
- Converts OpenAPI schema objects to TypeScript interfaces and types
- Handles complex schema structures including enums, objects, and nested types
- Generates request parameter types (query parameters, path parameters, and request bodies)
- Preserves schema descriptions as JSDoc comments
- Identifies and documents which API endpoints use each type
- Supports custom type name prefixes
Installation
Global Installation
npm install -g openapi-ts-converter
Local Installation
npm install --save-dev openapi-ts-converter
Usage
Command Line
# Using global installation
openapi-ts-converter <input-schema.json> <output-types.ts> [prefix]
# Using npx
npx openapi-ts-converter <input-schema.json> <output-types.ts> [prefix]
Options
<input-schema.json>
: Path to the OpenAPI schema JSON file<output-types.ts>
: Path where the TypeScript definitions will be written[prefix]
(optional): Prefix to add to all type names
Example
openapi-ts-converter ./api-schema.json ./src/types/api-types.ts
Programmatic Usage
You can also use the library programmatically in your code:
import { generateTypesFromFile } from 'openapi-ts-converter';
// Generate types from a schema file
generateTypesFromFile('api-schema.json', 'api-types.ts', 'API');
Type Generation Details
The converter handles various OpenAPI schema constructs:
- Objects → TypeScript interfaces
- Enums → TypeScript union types
- allOf → TypeScript intersection types (&)
- oneOf/anyOf → TypeScript union types (|)
- Arrays → TypeScript array types
- Primitive types → Corresponding TypeScript types
- Query Parameters → TypeScript interfaces with endpoint documentation
- Path Parameters → TypeScript interfaces with endpoint documentation
- Request Bodies → TypeScript types with endpoint documentation
License
MIT