Skip to content

Refactor the config loader and remove deprecated values

Cal Pratt requested to merge cpratt34/json-schema into master

When attempting to remove deprecated values, it became very clear that many of the example configs were very outdated or had errors.

This change refactors the config loader in the following ways:

  • deprecated values are removed.
  • A single json schema now exists to caputre all component definitions.
  • A simpler decorator pattern is used to register tag factory methods.
  • Each yaml loader is created in isolation, avoiding clobbering global state on the yaml baseclass.
  • A validate method now exists.
    • All example configs in the project are validated as a pytest. Should avoid regressions
    • A helper tool bgd server lint exists to validate the format of configs.
  • Now mypy can be enabled globally. This removes the last of the mypy exceptions.

Merge request reports