Gocheckit is a Go tool that can be used to help identify Go modules that are potentially Deprecated.
Gocheckit uses your go.mod in JSON format and analyzes the modules to determine if they might be deprecated. It does the following:
- Check a Go modules Github repo for any Deprecated Topics
- Analyze the contents of a modules README for the presence of certain keywords i.e deprecated
- Utilise your .netrc Github creds so you aren't throttled and can access Private Repos
- It's multithreaded, if you're in a rush, use those cores!
For installation instructions from binaries please visit the Releases Page.
go get github.com/brompwnie/gocheckit
Building Gocheckit via Go:
go build
Building Gocheckit via Make:
make
Gocheckit can be compiled into a binary for the targeted platform and supports the following usage
Usage of ./gocheckit:
-gomod string
go.mod JSON file to analyze. Run 'go mod edit -json' to get the JSON for your go.mod (default "go.m
od.json")
-netrc string
Makes Gocheckit scan the provided '.netrc' file in the user's home directory for login name and pas
sword. (default "nil")
-repo string
Repo to analyze (default "nil")
-threads int
Amount of threads to spawn. (default 5)
-verbose
Verbosity Level
Simplest Usage
// Run this command to get your go modules in json format
# go mod edit -json > go.mod.json
// Run gocheckit to analyze the go modules in the file go.mod.json
# ./gocheckit
[+] Go Checkit
[*] Loading Modules from: go.mod.json
[*] 11 Modules Loaded
[!] Deprecated README Identified: github.com/bsm/sarama-cluster
[!] Deprecated Topic Identified: github.com/bsm/sarama-cluster
[!] Deprecated README Identified: github.com/uudashr/go-module
Throw some threads at the problem
# go mod edit -json > go.mod.json
# ./gocheckit -threads=10
[+] Go Checkit
[*] Loading Modules from: go.mod.json
[*] 11 Modules Loaded
[!] Deprecated README Identified: github.com/bsm/sarama-cluster
[!] Deprecated Topic Identified: github.com/bsm/sarama-cluster
[!] Deprecated README Identified: github.com/uudashr/go-module
User your Github creds from .netrc for no throttling
# go mod edit -json > go.mod.json
# ./gocheckit -threads=10 -netrc=.netrc
[+] Go Checkit
[*] Loading Modules from: go.mod.json
[*] 11 Modules Loaded
[!] Deprecated README Identified: github.com/bsm/sarama-cluster
[!] Deprecated Topic Identified: github.com/bsm/sarama-cluster
[!] Deprecated README Identified: github.com/uudashr/go-module
For any bugs, please submit an issue. There is a long list of improvements but please submit an Issue if there is something you want to see added to Gocheckit.
Gocheckit is licensed under the GNU General Public License v3.0