An implementation of libyear.com for go modules
Go to file
2021-04-10 22:22:06 -04:00
pkg correct mod name 2021-04-10 22:22:06 -04:00
.gitignore init 2021-04-09 22:01:41 -04:00
go.mod correct mod name 2021-04-10 22:22:06 -04:00
go.sum init 2021-04-09 22:01:41 -04:00
main.go correct mod name 2021-04-10 22:22:06 -04:00
readme.md document default -h flag 2021-04-10 22:18:27 -04:00

libyear

A simple measure of software dependency freshness. It is a single number telling you how up-to-date your dependencies are.

libyear.com

Usage

libyear only supports projects using go modules. It ignores dependencies that are replaced in a go.mod file.

-h: usage help text

-q: quiet mode; reduce logging and output only dependencies that are not at their latest version

-v: verbose mode; output diagnostic information

-indirect: include dependencies marked // indirect in go.mod in the calculation (excluded by default)

Example output

When run in a directory that contains a go.mod file:

$ libyear
github.com/pkg/errors: 1.03 year(s) (current: v0.8.1, newest: v0.9.1)
github.com/stretchr/testify: 1.51 year(s) (current: v1.4.0, newest: v1.7.0)
go.uber.org/atomic: 0.00 year(s) (up to date: v1.7.0)
go.uber.org/multierr: 0.00 year(s) (up to date: v1.6.0)
gopkg.in/yaml.v2: 2.01 year(s) (current: v2.2.2, newest: v2.4.0)
total libyear count: 4.55 year(s)

References

J. Cox, E. Bouwers, M. van Eekelen and J. Visser, Measuring Dependency Freshness in Software Systems. In Proceedings of the 37th International Conference on Software Engineering (ICSE 2015), May 2015 https://ericbouwers.github.io/papers/icse15.pdf