Sha256: 15da84c623d81fe37e06869f4c38b2fbae23ed0ea4ed8581dd20bf44bab0c4d4

Contents?: true

Size: 872 Bytes

Versions: 696

Compression:

Stored size: 872 Bytes

Contents

package updater

import (
	"io/ioutil"

	"github.com/dependabot/gomodules-extracted/cmd/go/_internal_/modfile"
)

type Dependency struct {
	Name     string `json:"name"`
	Version  string `json:"version"`
	Indirect bool   `json:"indirect"`
}

type Args struct {
	Dependencies []Dependency `json:"dependencies"`
}

func UpdateDependencyFile(args *Args) (interface{}, error) {
	data, err := ioutil.ReadFile("go.mod")
	if err != nil {
		return nil, err
	}

	f, err := modfile.Parse("go.mod", data, nil)
	if err != nil {
		return nil, err
	}

	for _, dep := range args.Dependencies {
		f.AddRequire(dep.Name, dep.Version)
	}

	for _, r := range f.Require {
		for _, dep := range args.Dependencies {
			if r.Mod.Path == dep.Name {
				setIndirect(r.Syntax, dep.Indirect)
			}
		}
	}

	f.SortBlocks()
	f.Cleanup()

	newModFile, _ := f.Format()

	return string(newModFile), nil
}

Version data entries

696 entries across 696 versions & 2 rubygems

Version Path
dependabot-go_modules-0.118.0 helpers/updater/main.go
dependabot-go_modules-0.117.11 helpers/updater/main.go
dependabot-go_modules-0.117.10 helpers/updater/main.go
dependabot-go_modules-0.117.9 helpers/updater/main.go
dependabot-go_modules-0.117.8 helpers/updater/main.go
dependabot-go_modules-0.117.7 helpers/updater/main.go
dependabot-go_modules-0.117.6 helpers/updater/main.go
dependabot-go_modules-0.117.5 helpers/updater/main.go
dependabot-go_modules-0.117.4 helpers/updater/main.go
dependabot-go_modules-0.117.3 helpers/updater/main.go
dependabot-go_modules-0.117.2 helpers/updater/main.go
dependabot-go_modules-0.117.1 helpers/updater/main.go
dependabot-go_modules-0.117.0 helpers/updater/main.go
dependabot-go_modules-0.116.6 helpers/updater/main.go
dependabot-go_modules-0.116.5 helpers/updater/main.go
dependabot-go_modules-0.116.4 helpers/updater/main.go
dependabot-go_modules-0.116.3 helpers/updater/main.go
dependabot-go_modules-0.116.2 helpers/updater/main.go
dependabot-go_modules-0.116.1 helpers/updater/main.go
dependabot-go_modules-0.116.0 helpers/updater/main.go