Melkeydev / go-blueprint

Go-blueprint allows users to spin up a quick Go project using a popular framework
https://docs.go-blueprint.dev/
MIT License
3.15k stars 201 forks source link

[Feature Request] add Minification to Renderer, and gzip/brotli Compression Middleware #269

Closed Aninsi-Sasberg closed 1 week ago

Aninsi-Sasberg commented 3 weeks ago

Tell us about your feature request

I was trying to implement my own little echo server, got overwhelmed pretty quickly, found this and am noticing that this doesn't have any middleware concerning compression / minification (and other things like setting the cache-control header) yet. Is this because this blueprint is intended to be used as a reverse proxy in conjunction with a server like nginx, or is it something no one has attempted to implement into this blueprint yet?

Disclaimer

Ujstor commented 2 weeks ago

We provide the starting point. After that, it's up to you how you implement additional features. It's impossible to cover all possible use cases, and it would be too opinionated.

In the case of Echo, you can easily add middleware functions for compression (middleware.Gzip()), handle cache-control headers, and although minification isn't directly provided by Echo's middleware, solutions are available.

You can also use any server with Nginx, Traefik, Caddy, etc., and as with the previous case, configurations are up to you.

I used Go Blueprint to build a solution that hosts a website on AWS Lambda, but in the end, only the initial skeleton from the generated project remained.