This tool merges require blocks in go.mod
files since go mod tidy
doesn't do it. It also separates the direct and indirect dependencies and sorts them alphabetically.
Before | After |
---|---|
go install go.abhijithota.me/modfmt@latest
The binary outputs the formatted go.mod
to standard output. In your Go project root, run:
modfmt > go.mod
I hacked this tool together using the official parser in less than 2 hours and unsurprisingly there are a few drawbacks with this:
require
blocks come last after using this. Can be fixed with little effort I think?- Comments in
require
blocks are not preserved.