mirror of
https://github.com/jesseduffield/lazynpm.git
synced 2026-01-09 06:21:11 +08:00
use my semver package fork
This commit is contained in:
parent
4fa5903a8b
commit
0a02233a1b
2
go.mod
2
go.mod
@ -3,7 +3,7 @@ module github.com/jesseduffield/lazynpm
|
|||||||
go 1.14
|
go 1.14
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Masterminds/semver v1.5.0
|
github.com/jesseduffield/semver v1.5.0
|
||||||
github.com/buger/jsonparser v0.0.0-20200322175846-f7e751efca13
|
github.com/buger/jsonparser v0.0.0-20200322175846-f7e751efca13
|
||||||
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
|
github.com/cloudfoundry/jibber_jabber v0.0.0-20151120183258-bcc4c8345a21
|
||||||
github.com/creack/pty v1.1.10-0.20191209115840-8ab47f72e854
|
github.com/creack/pty v1.1.10-0.20191209115840-8ab47f72e854
|
||||||
|
|||||||
4
go.sum
4
go.sum
@ -2,8 +2,6 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
|
|||||||
github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
|
|
||||||
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
|
|
||||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
|
||||||
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
|
||||||
@ -96,6 +94,8 @@ github.com/jesseduffield/gocui v0.3.1-0.20200405030904-d5379e003758 h1:6XHKMSI6/
|
|||||||
github.com/jesseduffield/gocui v0.3.1-0.20200405030904-d5379e003758/go.mod h1:2RtZznzYKt8RLRwvFiSkXjU0Ei8WwHdubgnlaYH47dw=
|
github.com/jesseduffield/gocui v0.3.1-0.20200405030904-d5379e003758/go.mod h1:2RtZznzYKt8RLRwvFiSkXjU0Ei8WwHdubgnlaYH47dw=
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20200405034337-066b5b6ca1ba h1:hHITZ7ar+Ann6hJnoOsKTwjtTIsNN4+4tmUQ0CsI810=
|
github.com/jesseduffield/gocui v0.3.1-0.20200405034337-066b5b6ca1ba h1:hHITZ7ar+Ann6hJnoOsKTwjtTIsNN4+4tmUQ0CsI810=
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20200405034337-066b5b6ca1ba/go.mod h1:2RtZznzYKt8RLRwvFiSkXjU0Ei8WwHdubgnlaYH47dw=
|
github.com/jesseduffield/gocui v0.3.1-0.20200405034337-066b5b6ca1ba/go.mod h1:2RtZznzYKt8RLRwvFiSkXjU0Ei8WwHdubgnlaYH47dw=
|
||||||
|
github.com/jesseduffield/semver v1.5.0 h1:L9sid9/voF8SCLMzizzU83Vap8ycXZq32c0j8SZ/RlE=
|
||||||
|
github.com/jesseduffield/semver v1.5.0/go.mod h1:rFPYTL6YwhRq3fFQlaZPNYlLN4NtifjQbA9t2FI/f44=
|
||||||
github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9 h1:iBBk1lhFwjwJw//J2m1yyz9S368GeXQTpMVACTyQMh0=
|
github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9 h1:iBBk1lhFwjwJw//J2m1yyz9S368GeXQTpMVACTyQMh0=
|
||||||
github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9/go.mod h1:anMibpZtqNxjDbxrcDEAwSdaJ37vyUeM1f/M4uekib4=
|
github.com/jesseduffield/termbox-go v0.0.0-20200130214842-1d31d1faa3c9/go.mod h1:anMibpZtqNxjDbxrcDEAwSdaJ37vyUeM1f/M4uekib4=
|
||||||
github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba h1:hWBdYchM9nZ2+GldroQQ627ISOC83iRDdpfwY+uyJeI=
|
github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba h1:hWBdYchM9nZ2+GldroQQ627ISOC83iRDdpfwY+uyJeI=
|
||||||
|
|||||||
@ -1,10 +1,12 @@
|
|||||||
package presentation
|
package presentation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/Masterminds/semver"
|
"strings"
|
||||||
|
|
||||||
"github.com/fatih/color"
|
"github.com/fatih/color"
|
||||||
"github.com/jesseduffield/lazynpm/pkg/commands"
|
"github.com/jesseduffield/lazynpm/pkg/commands"
|
||||||
"github.com/jesseduffield/lazynpm/pkg/utils"
|
"github.com/jesseduffield/lazynpm/pkg/utils"
|
||||||
|
"github.com/jesseduffield/semver"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetDependencyListDisplayStrings(dependencies []*commands.Dependency) [][]string {
|
func GetDependencyListDisplayStrings(dependencies []*commands.Dependency) [][]string {
|
||||||
@ -23,11 +25,12 @@ func getDepDisplayStrings(d *commands.Dependency) []string {
|
|||||||
if d.Linked() {
|
if d.Linked() {
|
||||||
localVersionCol = utils.ColoredString("linked: "+d.LinkPath, color.FgCyan)
|
localVersionCol = utils.ColoredString("linked: "+d.LinkPath, color.FgCyan)
|
||||||
} else if d.PackageConfig != nil {
|
} else if d.PackageConfig != nil {
|
||||||
attr := color.FgYellow
|
status, ok := semverStatus(d.PackageConfig.Version, d.Version)
|
||||||
if semverGood(d.PackageConfig.Version, d.Version) {
|
if ok {
|
||||||
attr = color.FgGreen
|
localVersionCol = utils.ColoredString(d.PackageConfig.Version, color.FgGreen)
|
||||||
|
} else {
|
||||||
|
localVersionCol = utils.ColoredString(d.PackageConfig.Version+" "+status, color.FgYellow)
|
||||||
}
|
}
|
||||||
localVersionCol = utils.ColoredString(d.PackageConfig.Version, attr)
|
|
||||||
} else {
|
} else {
|
||||||
localVersionCol = utils.ColoredString("missing", color.FgRed)
|
localVersionCol = utils.ColoredString("missing", color.FgRed)
|
||||||
}
|
}
|
||||||
@ -35,18 +38,26 @@ func getDepDisplayStrings(d *commands.Dependency) []string {
|
|||||||
return []string{d.Name, utils.ColoredString(d.Version, color.FgMagenta), localVersionCol}
|
return []string{d.Name, utils.ColoredString(d.Version, color.FgMagenta), localVersionCol}
|
||||||
}
|
}
|
||||||
|
|
||||||
func semverGood(version, constraint string) bool {
|
func semverStatus(version, constraint string) (string, bool) {
|
||||||
c, err := semver.NewConstraint(constraint)
|
c, err := semver.NewConstraint(constraint)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return "error parsing constraint", false
|
||||||
}
|
}
|
||||||
|
|
||||||
v, err := semver.NewVersion(version)
|
v, err := semver.NewVersion(version)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false
|
return "error parsing version", false
|
||||||
}
|
}
|
||||||
|
|
||||||
a := c.Check(v)
|
ok, errors := c.Validate(v)
|
||||||
|
if ok {
|
||||||
|
return "", true
|
||||||
|
}
|
||||||
|
|
||||||
return a
|
messages := make([]string, len(errors))
|
||||||
|
for i, err := range errors {
|
||||||
|
messages[i] = err.Error()
|
||||||
|
}
|
||||||
|
|
||||||
|
return strings.Join(messages, ","), false
|
||||||
}
|
}
|
||||||
|
|||||||
6
vendor/modules.txt
vendored
6
vendor/modules.txt
vendored
@ -1,6 +1,3 @@
|
|||||||
# github.com/Masterminds/semver v1.5.0
|
|
||||||
## explicit
|
|
||||||
github.com/Masterminds/semver
|
|
||||||
# github.com/buger/jsonparser v0.0.0-20200322175846-f7e751efca13
|
# github.com/buger/jsonparser v0.0.0-20200322175846-f7e751efca13
|
||||||
## explicit
|
## explicit
|
||||||
github.com/buger/jsonparser
|
github.com/buger/jsonparser
|
||||||
@ -46,6 +43,9 @@ github.com/integrii/flaggy
|
|||||||
# github.com/jesseduffield/gocui v0.3.1-0.20200405034337-066b5b6ca1ba
|
# github.com/jesseduffield/gocui v0.3.1-0.20200405034337-066b5b6ca1ba
|
||||||
## explicit
|
## explicit
|
||||||
github.com/jesseduffield/gocui
|
github.com/jesseduffield/gocui
|
||||||
|
# github.com/jesseduffield/semver v1.5.0
|
||||||
|
## explicit
|
||||||
|
github.com/jesseduffield/semver
|
||||||
# github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba
|
# github.com/jesseduffield/termbox-go v0.0.0-20200405031649-4dc645f7e8ba
|
||||||
## explicit
|
## explicit
|
||||||
github.com/jesseduffield/termbox-go
|
github.com/jesseduffield/termbox-go
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user