Code Monkey home page Code Monkey logo

go_dep_search's Introduction

go_dep_search

golang dependency search tool.

Install

go get -u github.com/ma6174/go_dep_search

or get with graphviz embed

go get -u -tags graphviz github.com/ma6174/go_dep_search

Usage

go list -json -deps -test all | go_dep_search package_names

Args:
  -chain
    	show dep chained
  -main
    	only show main package
  -unused
    	list unused packages

eg: find which command(main package) use net/http or encoding/json package in go source code:

root@b7e158d83ff2:/go# go list -json all | go_dep_search -main net/http encoding/json
main -> cmd/go -> net/http
main -> cmd/pprof -> net/http
main -> cmd/trace -> net/http
main -> cmd/pprof -> encoding/json
main -> cmd/dist -> encoding/json
main -> cmd/go -> encoding/json
main -> cmd/test2json -> encoding/json
main -> cmd/cover -> encoding/json
main -> cmd/trace -> encoding/json
main -> cmd/compile -> encoding/json
main -> cmd/link -> encoding/json
main -> cmd/vet -> encoding/json

eg: show chained package deps

root@b7e158d83ff2:/go# go list -json all | go_dep_search -chain net/http encoding/json
main -> cmd/go -> cmd/go/internal/bug -> cmd/go/internal/envcmd -> cmd/go/internal/modload -> cmd/go/internal/modfetch -> cmd/go/internal/web2 -> net/http
main -> cmd/pprof -> net/http
main -> cmd/trace -> net/http
main -> cmd/compile -> cmd/compile/internal/amd64 -> cmd/compile/internal/gc -> encoding/json
main -> cmd/test2json -> cmd/internal/test2json -> encoding/json
main -> cmd/cover -> encoding/json
main -> cmd/dist -> encoding/json
main -> cmd/go -> cmd/go/internal/envcmd -> encoding/json
main -> cmd/link -> cmd/link/internal/arm64 -> cmd/link/internal/ld -> encoding/json
main -> cmd/pprof -> cmd/vendor/github.com/google/pprof/driver -> cmd/vendor/github.com/google/pprof/internal/driver -> encoding/json
main -> cmd/trace -> encoding/json
main -> cmd/vet -> cmd/vendor/golang.org/x/tools/go/analysis/unitchecker -> encoding/json

eg: show dep graph from net/http to net

root@b7e158d83ff2:/go# go list -json all | go_dep_search -graph -o net.jpg net/http net

result saved to net.jpg

net.jpg

eg: show unsed packages

root@b7e158d83ff2:/go# go list -json all | go_dep_search -unused
archive/tar
cmd/compile/internal/test
cmd/go/internal/txtar
cmd/go/internal/webtest
cmd/vendor/github.com/google/pprof/internal/proftest
cmd/vendor/golang.org/x/sys/windows
cmd/vendor/golang.org/x/sys/windows/registry
cmd/vendor/golang.org/x/tools/go/analysis/passes/pkgfact
compress/bzip2
container/ring
database/sql
encoding/ascii85
encoding/base32
encoding/csv
expvar
hash/crc64
hash/fnv
image/gif
image/jpeg
image/png
index/suffixarray
internal/syscall/windows
internal/syscall/windows/registry
internal/syscall/windows/sysdll
internal/testenv
internal/x/net/internal/nettest
internal/x/net/nettest
internal/x/text/secure
internal/x/text/unicode
log/syslog
math/cmplx
net/http/cookiejar
net/http/fcgi
net/http/httptest
net/http/httputil
net/internal/socktest
net/mail
net/rpc/jsonrpc
net/smtp
os/signal/internal/pty
plugin
runtime/pprof/internal/profile
runtime/race
testing/internal/testdeps
testing/iotest
testing/quick

go_dep_search's People

Contributors

ma6174 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.