JSON Schema $Ref Parser
Parse, Resolve, and Dereference JSON Schema $ref pointers
You've got a JSON Schema with
$ref pointers to other files and/or URLs. Maybe you know all the referenced files ahead of time. Maybe you don't. Maybe some are local files, and others are remote URLs. Maybe they are a mix of JSON and YAML format. Maybe some of the files contain cross-references to each other.
"definitions":"person":// references an external file"$ref": "schemas/people/Bruce-Wayne.json""place":// references a sub-schema in an external file"$ref": "schemas/places.yaml#/definitions/Gotham-City""thing":// references a URL"$ref": """color":// references a value in an external file via an internal reference"$ref": "#/definitions/thing/properties/colors/black-as-the-night"
- Use JSON or YAML schemas — or even a mix of both!
$refpointers to external files and URLs, as well as custom sources such as databases
- Can bundle multiple files into a single schema that only has internal
- Supports circular references, nested references, back-references, and cross-references between files
- Maintains object reference equality —
$refpointers to the same value always resolve to the same object instance
- Tested in Node and all major web browsers on Windows, Mac, and Linux
await syntax instead. The following example is the same as above:
trylet schema = await $RefParser;console;catcherrconsole;
For more detailed examples, please see the API Documentation
Install using npm:
npm install json-schema-ref-parser
When using Json-Schema-Ref-Parser in Node.js apps, you'll probably want to use CommonJS syntax:
const $RefParser = ;
To use Json-Schema-Ref-Parser in a browser, you'll need to use a bundling tool such as Webpack, Rollup, Parcel, or Browserify. Some bundlers may require a bit of configuration, such as setting
browser: true in rollup-plugin-resolve.
Full API documentation is available right here
To build/test the project locally on your computer:
Clone this repo
git clone https://github.com/APIDevTools/json-schema-ref-parser.git
Run the build script
npm run build
Run the tests
JSON Schema $Ref Parser is 100% free and open-source, under the MIT license. Use it however you want.
Big Thanks To
Thanks to these awesome companies for their support of Open Source developers ❤