...
1 package modx
2
3 import (
4 "github.com/pkg/errors"
5 "golang.org/x/mod/modfile"
6 )
7
8
9 func FindVersion(gomod []byte, module string) (string, error) {
10 m, err := modfile.Parse("go.mod", gomod, nil)
11 if err != nil {
12 return "", err
13 }
14
15 for _, r := range m.Require {
16 if r.Mod.Path == module {
17 return r.Mod.Version, nil
18 }
19 }
20
21 return "", errors.Errorf("no go.mod entry found for: %s", module)
22 }
23
24
25 func MustFindVersion(gomod []byte, module string) string {
26 v, err := FindVersion(gomod, module)
27 if err != nil {
28 panic(err)
29 }
30 return v
31 }
32
View as plain text