Currently it is not clear or easily possible to use the same ajv instance for both the JSON Editor and the JSON automatic form components. Unfortunately, react-jsonschema-form brings its own ajv instance and it is not obvious whether or how one could enable extensions or swap it out completely.
The main issue is that the version shipped with the library does not understand the various format values for JSON Schema and therefore schemas with e.g. format: "date" or format: "url" cannot be used, which is somewhat unfortunate.
In general, jsonforms.io looks like a more modular and versatile library for the same purpose, but wiring it up with Svelte and rollup seems to require more/other adaptations. Figuring it out and evaluating it in a separate branch would be a nice little side project.
Ideally, we want to have
- as recent version of ajv as is compatible with all libraries (to synchronize both frontend views)
- support as many features and newer standards of JSON Schema as possible (giving users more expressive power)
Note:
On success, one could think about switching to the newer version of jsonschema on the backend to match the newer standards and eventually lift the (informal) restriction of "draft 7 only".
Currently it is not clear or easily possible to use the same ajv instance for both the JSON Editor and the JSON automatic form components. Unfortunately, react-jsonschema-form brings its own ajv instance and it is not obvious whether or how one could enable extensions or swap it out completely.
The main issue is that the version shipped with the library does not understand the various
formatvalues for JSON Schema and therefore schemas with e.g.format: "date"orformat: "url"cannot be used, which is somewhat unfortunate.In general, jsonforms.io looks like a more modular and versatile library for the same purpose, but wiring it up with Svelte and rollup seems to require more/other adaptations. Figuring it out and evaluating it in a separate branch would be a nice little side project.
Ideally, we want to have
Note:
On success, one could think about switching to the newer version of jsonschema on the backend to match the newer standards and eventually lift the (informal) restriction of "draft 7 only".