🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@cerios/openapi-to-typescript

Package Overview
Dependencies
Maintainers
2
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cerios/openapi-to-typescript

Generate TypeScript types from OpenAPI specifications

latest
Source
npmnpm
Version
1.1.1
Version published
Maintainers
2
Created
Source

@cerios/openapi-to-typescript

Generate TypeScript types from OpenAPI specifications.

Features

  • Generate TypeScript type declarations from OpenAPI schemas
  • Generate TypeScript enum, union, or const object from OpenAPI enums
  • Configurable output format options
  • CLI and programmatic API
  • Supports OpenAPI 3.0 and 3.1

Installation

npm install @cerios/openapi-to-typescript

Quick Start

CLI Usage

# Initialize a config file
npx openapi-to-typescript init

# Generate types
npx openapi-to-typescript generate

Configuration

Create a openapi-to-typescript.config.ts file:

import { defineConfig } from "@cerios/openapi-to-typescript";

export default defineConfig({
	input: "./openapi.yaml",
	outputTypes: "./src/types.ts",

	// Output format for enums: 'enum', 'union' (default), or 'const-object'
	enumFormat: "union",
});

Programmatic API

import { TypeScriptGenerator } from "@cerios/openapi-to-typescript";

const generator = new TypeScriptGenerator({
	input: "./openapi.yaml",
	outputTypes: "./src/types.ts",
	enumFormat: "union",
});

// Generate and write to file
generator.generate();

// Or generate as string
const code = generator.generateString();

Configuration Options

OptionTypeDefaultDescription
inputstring-Path to OpenAPI specification (YAML or JSON)
outputTypesstring-Output file path for generated types
enumFormat'enum' | 'union' | 'const-object''union'How to generate enums
includeDescriptionsbooleantrueInclude JSDoc comments
defaultNullablebooleanfalseTreat properties as nullable by default
stripSchemaPrefixstring | string[]-Remove prefix from schema names (supports glob)
stripPathPrefixstring-Remove prefix from paths
useOperationIdbooleantrueUse operationId for operation-derived type names when available
prefixstring-Add prefix to generated type names
suffixstring-Add suffix to generated type names
operationFiltersobject-Filter operations by tags, paths, methods
showStatsbooleantrueInclude generation statistics
batchSizenumber10Parallel processing batch size

Output Format Examples

Enum Format

union (default):

export type Status = "active" | "inactive" | "pending";

enum:

export enum Status {
	Active = "active",
	Inactive = "inactive",
	Pending = "pending",
}

const-object:

export const Status = {
	Active: "active",
	Inactive: "inactive",
	Pending: "pending",
} as const;
export type Status = (typeof Status)[keyof typeof Status];

License

MIT

Keywords

api

FAQs

Package last updated on 06 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts