grafana / cuetsy

Experimental CUE->TypeScript exporter
Apache License 2.0
106 stars 8 forks source link

why not use HOF? #63

Closed selmison closed 2 years ago

selmison commented 2 years ago

Couldn't HOF be used to perform this conversion instead of creating the new tool from scratch?

sdboyer commented 2 years ago

Apologies for slow response! This issue made me realize i don't have universal notifications on for this repo.

Hof's take is philosophically different than cuetsy's. Not wrong - just different. Their stance is that it's hard to construct an actual type relation between CUE and different languages, so templating is the preferable approach.

I agree that it's hard. But for cuetsy (and thema, and grafana itself, the larger context that motivated the existence of cuetsy), that's where the value is - a single source of truth for common types (like grafana dashboards) that's shared and propagated across different language contexts. Cuetsy is what gives us that - the ability to write a schema in CUE that can be accurately, though not perfectly, represented in TypeScript. (We get our Go representation by hopping through OpenAPI, for now)