v18.0.0
·
160 commits
to master
since this release
Breaking Changes
- Updated readme to clarify the next redirect, as Jsonotron is focused on data structures.
- Renamed the Jsonotron types property to resources because you can now pass structures to the constructor. Implemented the ensureValidation method.
- validateStructure becomes validateFields because a structure is now defined as having a name and optional documentation.
Features
- Implemented jsonoserve for markdown and typescript.
- Implemented typescript generation for new interfaces.
- Updated markdown generation to use the new interfaces.
- Rewrote jsonotron-js to function as pure validation/parsing. Jsonotron class is gone. Parsing returns arrays of enumTypes and schemaTypes ready for code generation.
- updated schema/enum definitions to remove title/documentation fields.
- Updated the tests to reflect the changed schema/enum definitions.
- Moved all the documentation fields into the jsonSchema section of the schemaTypes and added any missing documentation items.
- Dropped the title field from enum and schema jss defs.
- Removed the yaml schemas in the repo root and just define them in the jsonotron-js workspace to avoid duplication.
- Schema types and enum types no longer use the title field as this is confusing alongside name. The documentation field on schema-type has been moved into the json schema, so it can appear at any level in the heirarchy. Removed the structures handling - just use schemas.
- Switch to using the JsonotronResource after parsing yaml. Sketch out the validateStructure method.
- Structure now extends from the JsonotronResource interface.
- split base tpes into JsonotronBaseType and JsonotronResource.
Fixes
- Got jsonocli building again.
- Resolve documentation extraction issue with codegen typemap.
- Added missing new line.
Documentation
- Improved readme by proof-reading again.
- Re-wrote the main readme to capture the new direction (jsonoserve based) and also the design decisions for future reference.