grafana/packages/grafana-schema
sam boyer 4d433084a5
plugins: New static scanner and validator, with Thema slot support (#53754)
* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add slot definitions

* Start sketching out pfs package

* Rerun codegen with fixes, new cuetsy

* Catch up dashboard with new cuetsy

* Update to go1.18

* Use new vmuxers in thema

* Add slot system in Go

* Draft finished implementation of pfs

* Collapse slot pkg into coremodel dir; add PluginInfo

* Add the mux type on top of kernel

* Refactor plugin generator for extensibility

* Change models.cue package, numerous debugs

* Bring new output to parity with old

* Remove old plugin generation logic

* Misc tweaking

* Reintroduce generation of shared schemas

* Drop back to go1.17

* Add globbing to tsconfig exclude

* Introduce pfs test on existing testdata

* Make most existing testdata tests pass with pfs

* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add APIType control concept, regen pluginmeta

* Use proper numeric types for schema fields

* Make pluginmeta schema follow Go type breakdown

* More decomposition into distinct types

* Add test case for no plugin.json file

* Fix missing ref to #Dependencies

* Remove generated TS for pluginmeta

* Update dependencies, rearrange go.mod

* Regenerate without Model prefix

* Use updated thema loader; this is now runnable

* Skip app plugin with weird include

* Make plugin tree extractor reusable

* Split out slot lineage load/validate logic

* Add myriad tests for new plugin validation failures

* Add test for zip fixtures

* One last run of codegen

* Proper delinting

* Ensure validation order is deterministic

* Let there actually be sorting

* Undo reliance on builtIn field (#54009)

* undo builtIn reliance

* fix tests

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-22 12:11:45 -04:00
..
src plugins: New static scanner and validator, with Thema slot support (#53754) 2022-08-22 12:11:45 -04:00
.eslintrc Schema: create a new schema package for basic models (#38409) 2021-08-23 13:03:41 -07:00
api-extractor.json Schema: create a new schema package for basic models (#38409) 2021-08-23 13:03:41 -07:00
CHANGELOG.md Schema: create a new schema package for basic models (#38409) 2021-08-23 13:03:41 -07:00
LICENSE_APACHE2 Schema: create a new schema package for basic models (#38409) 2021-08-23 13:03:41 -07:00
package.json Add missing package to @grafana/schema (#53252) 2022-08-03 11:28:01 -04:00
README.md Schema: create a new schema package for basic models (#38409) 2021-08-23 13:03:41 -07:00
rollup.config.ts Build: Introduce ESM and Treeshaking to NPM package builds (#51517) 2022-08-03 15:47:09 +02:00
tsconfig.build.json Build: Introduce ESM and Treeshaking to NPM package builds (#51517) 2022-08-03 15:47:09 +02:00
tsconfig.json plugins: New static scanner and validator, with Thema slot support (#53754) 2022-08-22 12:11:45 -04:00

Grafana Schema Library

@grafana/schema is currently in ALPHA.

This package holds the definitions for objects that should be stored in JSON configuration files