Open verdverm opened 2 years ago
It might be nice to call out code formatters the same way, such that the user might be able to run different formatters on different languages or sets of files in a generator.
support flows too?
#cmd: { ... like flow/task/exec schema }
gen: {
// lang or name : command to run
formatters: [name=string]: #cmd
commands: [name=string]: #cmd
// might be useful for installing the tools needed for the formatter
}
how might we support running prettier in background mode during code gen, sending data over an API? or through os.Pipe? Run a container? (and provide a nice default with lots of languages supported)
What we really want is a Go package that does what pretty does... so we do everything in memory, and don't incur a full program startup / shutdown per file
The original idea came from wanting to run another tool after code gen, on the output. Generally, providing hooks into the code gen lifecycle seems interesting.
from slack:
the process I want is:
hof gen
typescript and proto files.https://github.com/hofstadter-io/demos/tree/main/adhoc-to-module/05#using-hofflow-to-watch-code-gen-and-perform-post-actions
Code gen post actions seems like an almost guaranteed scenario
Though you might just put hof into your current source -> prod pipeline,, I might put configurable fields into generators. So at least the top-level generator (the one run by the users) will have them run. Not sure about subgenerators, defaults, or running something you didn't directly import...
It ought to be easy enough to import the flow when telling the user to write down these 20 lines to use your generator...