{"id":48842,"library":"openapi-json-schema","title":"openapi-json-schema","description":"Minimalistic OpenAPI 3 to JSON Schema (draft 7) conversion library. v2.0.0 is pure ESM, requires Node >=14.13.1. No dependencies. Supports nullable, $ref conversion between #/definitions and #/components/schemas, const to enum, $id/$comment to x-id/x-comment. Does not resolve JSON $refs. Differentiator: zero dependencies, focused conversion without resolution.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/grantila/openapi-json-schema","tags":["javascript","openapi","json","schema","convert","conversion","typescript"],"install":[{"cmd":"npm install openapi-json-schema","lang":"bash","label":"npm"},{"cmd":"yarn add openapi-json-schema","lang":"bash","label":"yarn"},{"cmd":"pnpm add openapi-json-schema","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM-only since v2; CommonJS require will fail.","wrong":"const { jsonSchemaToOpenApiSchema } = require('openapi-json-schema')","symbol":"jsonSchemaToOpenApiSchema","correct":"import { jsonSchemaToOpenApiSchema } from 'openapi-json-schema'"},{"note":"Named export, not default.","wrong":"import openApiSchemaToJsonSchema from 'openapi-json-schema'","symbol":"openApiSchemaToJsonSchema","correct":"import { openApiSchemaToJsonSchema } from 'openapi-json-schema'"},{"symbol":"encodeRefNameJsonSchema","correct":"import { encodeRefNameJsonSchema } from 'openapi-json-schema'"}],"quickstart":{"code":"import { jsonSchemaToOpenApiSchema, openApiSchemaToJsonSchema } from 'openapi-json-schema';\n\nconst jsonSchema = {\n  type: 'object',\n  properties: {\n    name: { type: 'string' },\n    age: { type: 'integer' },\n  },\n  required: ['name'],\n  nullable: true,\n};\n\n// Convert to OpenAPI 3 schema\nconst openApiSchema = jsonSchemaToOpenApiSchema(jsonSchema);\nconsole.log(JSON.stringify(openApiSchema, null, 2));\n\n// Convert back to JSON Schema\nconst backToJsonSchema = openApiSchemaToJsonSchema(openApiSchema);\nconsole.log(JSON.stringify(backToJsonSchema, null, 2));","lang":"typescript","description":"Shows bidirectional conversion between JSON Schema and OpenAPI 3 schema using the two main exports."},"warnings":[{"fix":"Use ESM imports (import ... from 'openapi-json-schema') or upgrade to Node >=14.13.1.","message":"v2.0.0 dropped CommonJS support; package is pure ESM.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Resolve $refs manually before conversion if needed.","message":"JSON $refs are not resolved; only converted between #/definitions and #/components/schemas.","severity":"gotcha","affected_versions":"*"},{"fix":"Ensure your JSON Schema input is draft 7 compatible.","message":"Only supports JSON Schema draft 7; newer drafts (2019-09, 2020-12) features are not handled.","severity":"gotcha","affected_versions":"*"},{"fix":"Consider alternative libraries if you need full OpenAPI 3.1 support.","message":"The package is minimalistic and may not support all OpenAPI 3.1 features like full JSON Schema 2020-12.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'/components/schemas':31 '/definitions':29 '/x-comment':41 '14.13.1':21 '3':7 '7':12 'comment':36 'const':32 'convers':13,27,51,59 'convert':58 'depend':23,49 'differenti':47 'draft':11 'enum':34 'esm':18 'focus':50 'id':35,40 'javascript':54 'json':3,9,45,56 'librari':14 'minimalist':5 'node':20 'nullabl':25 'openapi':2,6,55 'openapi-json-schema':1 'pure':17 'ref':26,46 'requir':19 'resolut':53 'resolv':44 'schema':4,10,57 'support':24 'typescript':60 'v2.0.0':15 'without':52 'x':39 'x-id':38 'zero':48","created_at":"2026-06-07T16:58:45.163102+00:00","updated_at":"2026-06-07T16:58:45.163102+00:00","problems":[{"fix":"Convert to ESM imports or use dynamic import() with CommonJS: const { jsonSchemaToOpenApiSchema } = await import('openapi-json-schema');","cause":"Using require() on an ESM-only package.","error":"ERR_REQUIRE_ESM"},{"fix":"Change to: import { jsonSchemaToOpenApiSchema } from 'openapi-json-schema';","cause":"Using default import instead of named import.","error":"TypeError: jsonSchemaToOpenApiSchema is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/grantila/openapi-json-schema#readme","github":"https://github.com/grantila/openapi-json-schema","docs":null,"changelog":null,"pypi":null,"npm":"openapi-json-schema","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}