spac

TypeScript DSL for authoring OpenAPI 3.1+ specs. You write TypeScript, OpenAPI is the output.

$npm install @spec-spac/spac @sinclair/typebox

TypeBox schemas

Full JSON Schema type inference with zero wrappers

Source maps

Map every YAML line back to the TypeScript that produced it

Named $refs

Schemas auto-hoist to components.schemas as $ref pointers