# orval **Repository Path**: mirrors/orval ## Basic Information - **Project Name**: orval - **Description**: orval 是一个根据 OpenAPI v3 或者 Swagger V2 接口规范生成相应前端代码的工具,支持 yaml 和 json 格式 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/orval - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-02-09 - **Last Updated**: 2025-11-08 ## Categories & Tags **Categories**: code-generator **Tags**: None ## README [![npm version](https://badge.fury.io/js/orval.svg)](https://badge.fury.io/js/orval) ![NPM Downloads](https://img.shields.io/npm/dm/orval?color=purple) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![tests](https://github.com/orval-labs/orval/actions/workflows/tests.yaml/badge.svg)](https://github.com/orval-labs/orval/actions/workflows/tests.yaml) [![orval](https://snyk.io/advisor/npm-package/orval/badge.svg)](https://snyk.io/advisor/npm-package/orval) [![Gurubase](https://img.shields.io/badge/Gurubase-Ask%20Orval%20Guru-006BFF)](https://gurubase.io/g/orval)

orval - Restfull Client Generator

Visit orval.dev for docs, guides, API and beer!

⚠️ Actively searching for contributors, if you want to help, please contact me on [discord](https://discord.gg/6fC2sjDU7w) ⚠️ ### Code Generation `orval` is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in `yaml` or `json` formats. ### Supported clients `generate` models, requests, hooks, [mocks](https://mswjs.io/) and more, for these supported clients: - [React](https://react.dev/) - [React Query](https://tanstack.com/query/latest/docs/framework/react/overview) - [React with swr](https://swr.vercel.app/) - [Vue Query](https://tanstack.com/query/latest/docs/framework/vue/overview) - [Svelte Query](https://tanstack.com/query/latest/docs/framework/svelte/overview) - [Angular](https://angular.dev/) - [Hono](https://hono.dev/) - [zod](https://zod.dev/) - [native fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) - [mcp](https://modelcontextprotocol.io/introduction) ### Samples You can find some samples below: - [react app](https://github.com/orval-labs/orval/tree/master/samples/react-app) - [react query](https://github.com/orval-labs/orval/tree/master/samples/react-query) - [svelte query](https://github.com/orval-labs/orval/tree/master/samples/svelte-query) - [vue query](https://github.com/orval-labs/orval/tree/master/samples/vue-query) - [react app with swr](https://github.com/orval-labs/orval/tree/master/samples/react-app-with-swr) - [angular app](https://github.com/orval-labs/orval/tree/master/samples/angular-app) - [hono](https://github.com/orval-labs/orval/tree/master/samples/hono) - [next app with fetch](https://github.com/orval-labs/orval/tree/master/samples/next-app-with-fetch) - [mcp server](https://github.com/orval-labs/orval/tree/master/samples/mcp) ### Playground Try Orval out for yourself using our [Playground](https://orval.dev/playground) application! ## Developers This project uses [Yarn](https://yarnpkg.com/) for package management and building. Here are the key scripts available for development: ### Prerequisites Before using Yarn scripts, ensure you have Yarn installed. You can install it globally using npm: ```bash npm install -g yarn ``` Alternatively, you can enable Corepack (which comes with Node.js 16.10+) to manage Yarn: ```bash corepack enable ``` ### Build Scripts - **`yarn nuke:all`** - Completely clean your workspace by removing all build artifacts, node_modules, and cached files. Use this when you want to start fresh. - **`yarn build`** - Build the project and make changes available to the workspace. Run this after making code changes to compile TypeScript and prepare the project for use. ### Test Scripts - **`yarn test`** - Run unit tests in all packages. - **`yarn update-samples`** - Generate sample outputs using the newly built version of Orval. This regenerates the sample code based on the current build. - **`yarn test:samples`** - Run tests in the samples directory using the newly generated output from `update-samples`. - **`yarn test:cli`** - Test that the generated output (not samples) is valid TypeScript. This validates the TypeScript compilation of the generated code. ### Development Workflow A typical development workflow would be: 1. Make your code changes 2. Run `yarn build` to compile your changes 3. Run `yarn test` to ensure unit tests pass 4. Run `yarn update-samples` to regenerate sample outputs 5. Run `yarn test:samples` to verify samples work correctly 6. Run `yarn test:cli` to validate TypeScript compilation If you encounter issues or want to start completely fresh: 1. Run `yarn nuke:all` to clean everything 2. Reinstall dependencies and rebuild from scratch ## Star History Star History Chart ### All Thanks To Our Contributors: