An open API service indexing awesome lists of open source software.

https://github.com/grab/go-showdeps


https://github.com/grab/go-showdeps

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]



go-showdeps



An interactive terminal UI for navigating your Go project's dependencies.


Explore the docs »




Report Bug
·
Request Feature


Table of Contents



  1. About The Project


  2. Getting Started


  3. Usage

  4. Roadmap

  5. Contributing

  6. License

  7. Contact

## About The Project

[go-showdeps](https://github.com/grab/go-showdeps) is an interactive terminal UI for navigating your Go project's dependencies. It can be configured to highlight and rank packages according to custom rules.

(back to top)

## Getting Started

### Prerequisites

* Go 1.16+

### Installation

1. Install using Go
```sh
go install github.com/grab/go-showdeps@latest
```

(back to top)

## Usage

### Demo

![Demo](./go-showdeps-demo.gif)

### Quickstart

Run `go-showdeps` from the root of your Go project.

```
Usage of go-showdeps:
-c string
The path of the configuration file (shorthand)
-config-file string
The path of the configuration file
-path-prefix string
The prefix to strip from package names. Requires StripPath
-strip-path
If set, will strip PathPrefix from package names

Environment variables:
CONFIG string

STRIP_PATH bool

PATH_PREFIX string
```

### Configuration

Custom rules can be configured by creating a configuration file in the following locations (in order of priority):

1. A YAML file specified on the command-line via the `-c`/`--config-file` flag.
2. A `.go-showdeps.yml` file in the current directory.
3. `$HOME/.go-showdeps.yml`

Example configuration file:

```yaml
---
rules:
- regex: internal/
label: Internal package
color: '#aa0000'
priority: 9
- regex: ^github
label: Package from GitHub
color: '#007700'
priority: 1
```

(back to top)

## Go Modules

[go-showdeps](https://github.com/grab/go-showdeps) expects to run with Go modules enabled for best results. However, if you experience slowness in large projects it may be possible to speed it up by setting `GO111MODULE=off`.

(back to top)

## Roadmap

See the [open issues](https://github.com/grab/go-showdeps/issues) for a full list of proposed features (and known issues).

(back to top)

## Contributing

If you have a suggestion that would make this project better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

(back to top)

## License

Distributed under the MIT License. See [LICENSE](https://github.com/grab/go-showdeps/blob/main/LICENSE) for more information.

(back to top)

## Contact

Project Link: [https://github.com/grab/go-showdeps](https://github.com/grab/go-showdeps)

(back to top)

[contributors-shield]: https://img.shields.io/github/contributors/grab/go-showdeps.svg?style=for-the-badge
[contributors-url]: https://github.com/grab/go-showdeps/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/grab/go-showdeps.svg?style=for-the-badge
[forks-url]: https://github.com/grab/go-showdeps/network/members
[stars-shield]: https://img.shields.io/github/stars/grab/go-showdeps.svg?style=for-the-badge
[stars-url]: https://github.com/grab/go-showdeps/stargazers
[issues-shield]: https://img.shields.io/github/issues/grab/go-showdeps.svg?style=for-the-badge
[issues-url]: https://github.com/grab/go-showdeps/issues
[license-shield]: https://img.shields.io/github/license/grab/go-showdeps.svg?style=for-the-badge
[license-url]: https://github.com/grab/go-showdeps/blob/master/LICENSE