versioninfo
go-mockgen
versioninfo | go-mockgen | |
---|---|---|
6 | 3 | |
237 | 57 | |
- | - | |
3.7 | 5.6 | |
10 months ago | 3 months ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
versioninfo
-
Libraries you use most of your projects?
Oh, also https://github.com/carlmjohnson/versioninfo . Always need that.
-
FreePad | A free self-hosted pad written in go
Don’t. It’s obsolete. Just use debug.ReadBuildInfo()
-
Makefile and Dockerfile best practices
That’s obsolete. See https://github.com/carlmjohnson/versioninfo. Even if it weren’t, Make is an inappropriate tool. Because it is based on file modtimes, it can’t react to git hash changes. You just have rerun the steps every time, at which point Bash is a less awful language.
-
How to embed version when `go install`-ing (since you cannot use go:generate or ldflags -X)
Go 1.18 updates the debug info to also include the git status of the build. See https://github.com/carlmjohnson/versioninfo
-
Go 1.18 - debug/info - why not include the current git tag?
I use this trick in my versioninfo package. Obviously, it can't give you other tags, but most of the time the tag you want to know about is v1.2.3 anyway, and since tags are mutable but the Go sum DB is immutable, this is safer than just saying what tag was on disk at build time.
-
Getting excited for Go 1.18's lesser known features
I subscribed to GH activity for the correspondence friendliness-enhancing library by the author:
https://github.com/carlmjohnson/versioninfo/
The primary motivation curiousity to learn if this becomes "the [best/default] way" folks reach for when leveraging BuildInfo to deliver explicit binary versioning.
go-mockgen
-
Is there a mock library works with generics?
https://github.com/derision-test/go-mockgen, we use this widely at work
-
Libraries you use most of your projects?
https://github.com/derision-test/go-mockgen for generating mocks for interfaces, for those that use dependency injection. By far the best mock generator, especially compared to the relatively bad official one, or anything that requires passing method names as strings...
-
What are your favorite packages to use?
https://github.com/derision-test/go-mockgen for the best mocks Ive ever had in Go https://github.com/go-chi/chi for HTTP routing
What are some alternatives?
assert - A simple assertion library using Go generics
ginkgo - A Modern Testing Framework for Go
FreePad - FreePad is a simple Go project to help you juggle temporary notes that you might wanna pass from one device to another, or from a person to another with memorable and easy to communicate online "Pads".
pggen - Generate type-safe Go for any Postgres query. If Postgres can run the query, pggen can generate code for it.
flagx - Extensions to the Go flag package
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
logrus - Structured, pluggable logging for Go.
httprouter - A high performance HTTP request router that scales well
go-wiki - This is a Golang open-source module that makes it easy to access and parse data from Wikipedia (Wikipedia API wrapper)
zap - Blazing fast, structured, leveled logging in Go.
Testify - A toolkit with common assertions and mocks that plays nicely with the standard library
zerolog - Zero Allocation JSON Logger