livebud / bud

The Full-Stack Web Framework for Go
MIT License
5.53k stars 181 forks source link

internal/dcache: add initial dag cache #342

Closed matthewmueller closed 1 year ago

matthewmueller commented 1 year ago

This PR adds generator caching. We're using SQLite primarily because it allows us to use the cache across processes.

In the next and hopefully final version of internal refactoring (for a while!), the generator filesystem will be generated and reside in your application's bud/ directory.

This gives us the flexibility to generate and run Go code like a dynamic scripting language where you can for example, require("./bud/tailwind-transformer"). The challenge here is getting file caching working between the Bud binary and this remote filesystem binary.

This PR will hopefully solve this problem.