Generates static documentation for humans based on the contents of JSON schema files (yml or json).
Currently supports schema specified using the following specification versions: draft-06, draft-07, draft-2019-09, and draft 2020-12.
For complete documentation, including examples and supported keywords, see tomcollins.github.io/json-schema-static-docs.
npm install json-schema-static-docs
See the docs for more details.
const JsonSchemaStaticDocs = require("json-schema-static-docs");
(async () => {
let jsonSchemaStaticDocs = new JsonSchemaStaticDocs({
inputPath: "./schema",
outputPath: "./docs",
ajvOptions: {
allowUnionTypes: true,
},
});
await jsonSchemaStaticDocs.generate();
console.log("Documents generated.");
})();
To use schema based on draft-2020-12
set options.jsonSchemaVersion
to https://json-schema.org/draft/2020-12/schema
.
const JsonSchemaStaticDocs = require("json-schema-static-docs");
(async () => {
let jsonSchemaStaticDocs = new JsonSchemaStaticDocs({
inputPath: "./schema",
outputPath: "./docs",
jsonSchemaVersion: "https://json-schema.org/draft/2020-12/schema",
ajvOptions: {
allowUnionTypes: true,
},
});
await jsonSchemaStaticDocs.generate();
console.log("Documents generated.");
})();
All schema documents must use must use draft-2020-12
, you can not combine this with earlier versions such as draft-07
.