You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So after around 1,5 years of using go/template we see some room for improvement in several parts.
context
the project started out as a opinionated internal template
after open source we tried to transition to a less opinionated and more generic template and therefore minimized the folder structure etc.
Anyways, go-template currently only supports one embedded template as the source of truth and we found out that this can't support all the different requirements that arise in different projects, e.g. switching out the build tool etc or supporting a new technology.
Also there has always been this conflict between providing too much and needing to delete a lot or too few to really be relevant.
stuff that the new template engine should support
every feature of the old engine
earthly -> one file additionally replacing e.g. make
shared files like gitignores
specific library quickstarts e.g. ent
technology specifics like gRPC
prometheus, instrumentation
database implementation postgres
dummy business logic
CLI vs server/backend
completely different project architecture like pulumi provider template
envisioned/possible solutions
modular system (maybe gRPC plugin based like terraform/pulumi)
modules provide specific functionality, the exact scope will have to be defined
modules/plugins can be opinionated, the go-template itself should be fairly generic
it might be necessary that plugins have dependencies to other modules, and also to edit existing files
users can define what modules they want to use
some modules will be embedded/vendored with go-template but the system allows others to write their own modules
The text was updated successfully, but these errors were encountered:
go/template
v2So after around 1,5 years of using
go/template
we see some room for improvement in several parts.context
Anyways,
go-template
currently only supports one embedded template as the source of truth and we found out that this can't support all the different requirements that arise in different projects, e.g. switching out the build tool etc or supporting a new technology.Also there has always been this conflict between providing too much and needing to delete a lot or too few to really be relevant.
stuff that the new template engine should support
envisioned/possible solutions
The text was updated successfully, but these errors were encountered: