app

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 12, 2024 License: MIT Imports: 8 Imported by: 0

README

why-go-over

Identifies dependent modules that have raised the Go version.

Installation

You can install why-go-over using Homebrew, from source, or by downloading the binary.

In case you're using Homebrew:

brew install ebi-yade/tap/why-go-over
Other ways
From Source
go install github.com/ebi-yade/why-go-over/cmd/why-go-over@latest
Downloading the Binary

You can download the binary from the releases page,

Usage

Imagine you run go get -u ./... and notice that the go directive in your go.mod file has unexpectedly been updated to 1.23.

To identify which modules caused the required Go version to increase, run:

why-go-over 1.23

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Deps

type Deps struct {
	// contains filtered or unexported fields
}

Deps is a set of dependencies for testing

func NewDeps

func NewDeps(loader PackagesLoader) *Deps

func (*Deps) WhyGoOver

func (d *Deps) WhyGoOver(ctx context.Context, currentModulePath, thresholdGoVersion string) (WhyGoOverResults, error)

WhyGoOver is the main function of this application

type PackagesLoader

type PackagesLoader interface {
	PackagesLoad(cfg *packages.Config, patterns ...string) ([]*packages.Package, error)
}

PackagesLoader is an interface to get packages.Load testable

type WhyGoOverResults

type WhyGoOverResults map[string][]string

func (WhyGoOverResults) String

func (r WhyGoOverResults) String() string

type X

type X struct{}

X is a wrapper for x/tools/go/packages.Load

func (*X) PackagesLoad

func (x *X) PackagesLoad(cfg *packages.Config, patterns ...string) ([]*packages.Package, error)

Directories

Path Synopsis
cmd
why-go-over command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL