An implementation of libyear.com for go modules
Go to file
2021-04-10 22:15:03 -04:00
pkg more functionality 2021-04-10 22:15:03 -04:00
.gitignore init 2021-04-09 22:01:41 -04:00
go.mod init 2021-04-09 22:01:41 -04:00
go.sum init 2021-04-09 22:01:41 -04:00
main.go more functionality 2021-04-10 22:15:03 -04:00
readme.md more functionality 2021-04-10 22:15:03 -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.

-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