2.0.0 • Published 5 years ago
json-schema-migrate v2.0.0
json-schema-migrate
Migrate JSON-Schema from draft-04 to draft-07, draft-2019-09 or draft-2020-12
Install
npm install json-schema-migrateUsage
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))Changes in schemas after migration
idis replaced with$id$schemavalue becomes draft-07, draft-2019-09 or draft-2020-12 meta-schema- draft-04 boolean form of
exclusiveMaximum/Minimumis replaced with the current number form enumwith a single allowed value is replaced withconst- Non-standard
constantis replaced withconst - empty schema is replaced with
true - schema
{"not":{}}is replaced withfalse draft2019function additionally replaces:definitionswith$defsdependencieswithdependentRequiredanddependentSchemas"id": "#foo"with"$anchor": "foo""id": "schema#foo"with"$id": "schema", "$anchor": "foo"
draft2020function additionally replaces array form ofitemswithprefixItems(andadditionalItemswithitems)