Migrate JSON-Schema draft-04 to draft-07, draft-2019-09 or draft-2020-12
Migrate JSON-Schema from draft-04 to draft-07, draft-2019-09 or draft-2020-12
npm install json-schema-migrate
const migrate = require("json-schema-migrate")
const schema = {
id: "my-schema",
minimum: 1,
exclusiveMinimum: true,
}
migrate.draft7(schema)
// or migrate.draft2019(schema)
// or migrate.draft2020(schema)
console.log(schema)
// {
// $id: 'my-schema',
// exclusiveMinimum: 1
// }
You can access Ajv instance that is used to migrate schema using migrate.getAjv
function:
console.log(migrate.getAjv().errorsText(errors))
id
is replaced with $id
$schema
value becomes draft-07, draft-2019-09 or draft-2020-12 meta-schemaexclusiveMaximum/Minimum
is replaced with the current number formenum
with a single allowed value is replaced with const
constant
is replaced with const
true
{"not":{}}
is replaced with false
draft2019
function additionally replaces:definitions
with $defs
dependencies
with dependentRequired
and dependentSchemas
"id": "#foo"
with "$anchor": "foo"
"id": "schema#foo"
with "$id": "schema", "$anchor": "foo"
draft2020
function additionally replaces array form of items
with prefixItems
(and additionalItems
with items
)