Skip to content

A simple tool to generate a ts-rest contract (with zod validation) from an OpenAPI 3.0/3.1 specification.

Notifications You must be signed in to change notification settings

Carminepo2/openapi-ts-rest

Repository files navigation

openapi-ts-rest

NPM Version CI Coverage

Warning

This project is still in development and is not ready for production use, there may be bugs, missing features and breaking changes. Use at your own risk.

A simple tool to generate a ts-rest contract (with zod validation) from an OpenAPI 3.0/3.1 specification.

---> Try it in the online playground! <---

Installation 📦

You can use openapi-ts-rest in two ways: as a CLI tool or as a core library within your code.

CLI Installation

pnpm add @openapi-ts-rest/cli

Core Library Installation

pnpm add @openapi-ts-rest/core

Usage 🚀

CLI Usage

# If installed globally
openapi-ts-rest path/to/openapi-spec.yaml -o path/to/output/dir
# If installed in a project
npx openapi-ts-rest path/to/openapi-spec.yaml -o path/to/output/dir
  • -o, --output: Directory where the generated TypeScript files will be saved.

Core Library Usage

If you prefer to integrate the functionality directly into your code, you can do so with the core library:

import { generateContract } from "@openapi-ts-rest/core";
import fs from "fs";

const result = await generateContract({ openApi: "path/to/openapi-spec.yaml" });
fs.writeFileSync("path/to/output/dir", result);

Features ✨

  • OpenAPI 3.0/3.1 Support: Full support for the latest OpenAPI specifications.
  • Flexible Usage: Use the CLI for quick operations or the core library for deeper integration.
  • Zod Schema Generation: Automatically generate Zod schemas for runtime validation.

Contributing 🤝

Contributions are welcome! Please open an issue or submit a pull request on GitHub.

Special Thanks 🙏

This project is heavily inspired by openapi-zod-client. Special thanks to the author for their work!

About

A simple tool to generate a ts-rest contract (with zod validation) from an OpenAPI 3.0/3.1 specification.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published