🚀 Big News:Socket Has Acquired Secure Annex.Learn More →
Socket
Book a DemoSign in
Socket

@standard-community/standard-openapi

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@standard-community/standard-openapi

[![npm version](https://img.shields.io/npm/v/@standard-community/standard-openapi.svg)](https://npmjs.org/package/@standard-community/standard-openapi "View this project on NPM") [![npm downloads](https://img.shields.io/npm/dm/@standard-community/standard

latest
Source
npmnpm
Version
0.2.9
Version published
Weekly downloads
667K
0.1%
Maintainers
1
Weekly downloads
 
Created
Source

Standard OpenAPI

npm version npm downloads license

Standard Schema Validator's OpenAPI Schema Converter

Installation

Install the main package -

pnpm add @standard-community/standard-openapi

For some specific vendor, install the respective package also -

VendorPackage
Zod v3zod-openapi@4
Valibot@valibot/to-json-schema

Usage

import { toOpenAPISchema } from "@standard-community/standard-openapi";

// Define your schema
const schema = v.pipe(
    v.object({
        myString: v.string(),
        myUnion: v.union([v.number(), v.boolean()]),
    }),
    v.description("My neat object schema"),
);

// Convert it to OpenAPI Schema
const openapiSchema = await toOpenAPISchema(schema);

Sync Usage

Adding support for Unsupported validation libs

import { toOpenAPISchema, loadVendor } from "@standard-community/standard-openapi";
import { convertSchemaToJson } from "your-validation-lib";

// The lib should support Standard Schema, like Sury
// as we use 'schema["~standard"].vendor' to get the vendor name
// Eg. loadVendor(zod["~standard"].vendor, convertorFunction)
loadVendor("validation-lib-name", convertSchemaToJson)

// Define your validation schema
const schema = {
    // ...
};

// Convert it to OpenAPI Schema
const openapiSchema = toOpenAPISchema(schema);

Customize the toOpenAPISchema of a supported lib

import { z } from "zod/v4";
import { toJSONSchema } from "zod/v4/core";
import { toOpenAPISchema, loadVendor } from "@standard-community/standard-openapi";
import { convertToOpenAPISchema } from "@standard-community/standard-openapi/convert";

// Or pass a custom implmentation
loadVendor("zod", (schema, context) => {
    return convertToOpenAPISchema(toJSONSchema(schema, {
        io: "input"
    }), context);
})

// Define your schema
const schema = z.object({
    myString: z.string(),
    myUnion: z.union([z.number(), z.boolean()]),
}),

// Convert it to OpenAPI Schema
const openapiSchema = await toOpenAPISchema(schema);

Keywords

standard-schema

FAQs

Package last updated on 22 Nov 2025

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