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))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)