Add support for generating refs over imports #33
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This actually does a lot, lot more than just importing refs. It's actually a moderately-sized overall refactor, including test structures, introducing a new testing framework, fleshing out the debug code, and more.
But beyond those things, it does what's necessary to actually get ref importing working as expected. And that's the thing that's absolutely necessary for forward progress with Grafana's schemas. In going through and doing this, i also came to some firm answers on tricky questions like "how far do we want to dereference?" - no implementation yet, but i'm pretty sure i know the path now.
Also, it's getting pretty painful to do all this with strings, rather than an AST. Writing a super-dumb Typescript AST, just for the things we need, is going to be a step we need to take soon.
Note - i don't think we're really going to need the
ImportMapper
, or at least not soon. We'll see.Fixes #24