Skip to content

v18.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Apr 09:53
· 160 commits to master since this release
9f17e8e

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.