- read

The Pulse ❤️: May 2022

Antonio Pagano 9

TLDR; On April the team focused on improving the experience of development by adding VirtualHost and reducing the dependencies of the library and the CLI. The v1 conversation still going, it seems like the extensibility of the CLI is at the core of it.

Welcome to the Buffalo Pulse ❤️, May 2022 edition. On this entry I will cover the progress of the Buffalo team on the framework, developments and discussions being held. I hope this is helpful for all of the Buffalo developers out there and provides context on the progress of the Framework and tools.

VirtualHost

The VirtualHost feature allows applications to specify routes that will only respond to certain domains. It is useful for applications that have a monolithic architecture that produces a single binary that serves different domains.

The story behind this feature is that the team initially released a version of it that used the Host keyword which we then noticed was breaking an existing property of the App struct. Then the team decided to change it to be VirtualHost .

Moving `main.go` to `cmd/app/main.go`

This is a change in the base Buffalo application structure. Trying to follow a common pattern within Go, we’ve changed default Buffalo applications to have its application binary within cmd/app.

Reducing dependencies 🧹

One effort that might not be as shiny as adding features to the framework but becomes very important as the Go standard library advances is reducing dependencies from dated libraries by using the Go standard library more.

Over this month the Buffalo team has been working on reducing some of these dated dependencies and will show some more progress for the next cycle.

Forking refresh to be within `gobuffalo/refresh`

One important piece of the Buffalo development lifecycle is refresh. Refresh takes care of doing hot code reloading when developers run buffalo dev . This has been a library that the Buffalo CLI depends on heavily and may require some tuning. In order to make maintenance easier we decided to fork the original markbates/refresh into gobuffalo/refresh.

Ongoing Internal conversations

The road to v1. This conversation still going. The team has multiple times talked about the modularization of the CLI as the base element to simplify the stack

🏷 Latest Releases

Work in progress

  • Documentation update
  • Dependencies cleanup
  • Refresh fixes and CLI fixers.
  • V1 Shaping up.
  • General Repositories cleanup.

🎙Ongoing Discussions

I hope you have enjoyed this brief post. As you can see there was a good amount of progress over the month of April. If you’re not subscribed to this blog please do. Also join the Gophers Slack #buffalo channel where we have cool conversations about the Buffalo framework and day to day tasks.