Fix: duplicate functions in standalone validation code with mutually recursive schemas (#1361)
Fix: reference resolution when base URI change was not applied (#1414)
comprehensive support for standalone validation code - compiling one or multiple schemas to standalone modules with one or multiple exports.
to reduce the mistakes in JSON schemas and unexpected validation results, strict mode is added - it prohibits ignored or ambiguous JSON Schema elements. See Strict mode and Options for more details
to make code injection from untrusted schemas impossible, code generation is fully re-written to be type-level safe against code injection.
to simplify Ajv extensions, the new keyword API that is used by pre-defined keywords is available to user-defined keywords - it is much easier to define any keywords now, especially with subschemas.
schemas are compiled to ES6 code (ES5 code generation is supported with an option).
to improve reliability and maintainability the code is migrated to TypeScript.
separate Ajv classes from draft-07 and draft-2019-09 support with different default imports (see Getting started or v7.0.0-beta.5 for the details).
Please note:
the support for JSON-Schema draft-04 is removed - if you have schemas using "id" attributes you have to replace them with "$id" (or continue using version 6 that will be supported until 02/28/2021).
all formats are separated to ajv-formats package - they have to be explicitly added if you use them.
Ajv instance can only be created with new keyword, as Ajv is now ES6 class.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps ajv from 6.12.6 to 7.1.1.
Release notes
Sourced from ajv's releases.
... (truncated)
Commits
77d788f
7.1.1e63771c
Merge pull request #1448 from LinusU/patch-13468e93
fix: allow readonly arrays in interfaces6926312
Merge pull request #1442 from teq0/issue-14416bd9c45
Issue 14415b715aa
readme heading8ec80c4
7.1.060dd7ae
Merge pull request #1438 from ajv-validator/dependabot/npm_and_yarn/husky-5.0.99af75b5
build(deps-dev): bump husky from 4.3.8 to 5.0.91996f6b
Merge pull request #1428 from ajv-validator/jtdDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)