eg wardley mapping plugin could ship render commands etc, but could also ship schemas (incl partials) that define framework specific constructs. The main benefit is clear separation of concerns.
Such a plugin could define its schema in code and use json-schema-to-ts (similar to metadata-contract) to export the schema while also being able to use it in the plugin - eg for an onlinewardleymaps.com OWM renderer it could draw on constants for types to get anchors, components and follow the right relationships etc. (Second thoughts: this might not be worth it since the renderer gets processed content somewhat removed from the original schema - the type safety benefit is tiny.
A big stretch idea could be that plugins can provide installable skills too (specific to a framework).
A potential drawback is reduced composability vs embracing a principle of centralised contributions and bundling of opinionated schemas that know they can reference each other. They're not mutually exclusive though, bundled plugins are a thing already.
eg wardley mapping plugin could ship render commands etc, but could also ship schemas (incl partials) that define framework specific constructs. The main benefit is clear separation of concerns.
Such a plugin could define its schema in code and use json-schema-to-ts (similar to metadata-contract) to export the schema while also being able to use it in the plugin - eg for an onlinewardleymaps.com OWM renderer it could draw on constants for types to get
anchors,componentsand follow the right relationships etc. (Second thoughts: this might not be worth it since the renderer gets processed content somewhat removed from the original schema - the type safety benefit is tiny.A big stretch idea could be that plugins can provide installable skills too (specific to a framework).
A potential drawback is reduced composability vs embracing a principle of centralised contributions and bundling of opinionated schemas that know they can reference each other. They're not mutually exclusive though, bundled plugins are a thing already.