BREAKING CHANGE: the include type requires a significant subset of
the synchronous fs API to be provided when creating a schema, even
if the include type is never used. Since the resolution must be
synchronous, the include type is limited to local fs and memory
access, and not very useful with network loading. It has been
removed from the default schema, but can be included by calling
`createIncludeSchema` instead.
BREAKING CHANGE: the include type will make a copy of its options
and return a setter for the `schema`, fixing a bug in createSchema
and allowing it to take readonly options rather than mutating them.
BREAKING CHANGE: updates the underlying js-yaml from v3 to v4,
thus including all of the breaking changes from that:
https://github.com/nodeca/js-yaml/blob/master/migrate_v3_to_v4.md.
The API of this module has not changed, but some documents
may be parsed differently, so this is breaking.
BREAKING CHANGE: this allows multiple schemas to coexist, but requires
each schema to be created with a call to `createSchema`, taking a set
of options that includes the former `includeOptions` singleton.
BREAKING CHANGE: rather than use the `fs` functions (`existsSync`,
`readSync`, etc) to include files, this uses fields of the `includeSchema`.
To maintain the previous functionality, fields should be set as follows:
- `exists = existsSync`
- `read = readSync`
- `resolve = realpathSync`