@@ -3,6 +3,7 @@ package gomodguard
3
3
import (
4
4
"bytes"
5
5
"encoding/json"
6
+ "errors"
6
7
"fmt"
7
8
"go/parser"
8
9
"go/token"
@@ -18,8 +19,8 @@ import (
18
19
19
20
const (
20
21
goModFilename = "go.mod"
21
- errReadingGoModFile = "unable to read go mod file %s: %w"
22
- errParsingGoModFile = "unable to parsing go mod file %s: %w"
22
+ errReadingGoModFile = "unable to read module file %s: %w"
23
+ errParsingGoModFile = "unable to parse module file %s: %w"
23
24
)
24
25
25
26
var (
@@ -64,15 +65,15 @@ func (r *BlockedVersion) Message(lintedModuleVersion string) string {
64
65
var sb strings.Builder
65
66
66
67
// Add version contraint to message.
67
- fmt .Fprintf (& sb , "version `%s` is blocked because it does not meet the version constraint `%s`." ,
68
+ _ , _ = fmt .Fprintf (& sb , "version `%s` is blocked because it does not meet the version constraint `%s`." ,
68
69
lintedModuleVersion , r .Version )
69
70
70
71
if r .Reason == "" {
71
72
return sb .String ()
72
73
}
73
74
74
75
// Add reason to message.
75
- fmt .Fprintf (& sb , " %s." , strings .TrimRight (r .Reason , "." ))
76
+ _ , _ = fmt .Fprintf (& sb , " %s." , strings .TrimRight (r .Reason , "." ))
76
77
77
78
return sb .String ()
78
79
}
@@ -110,13 +111,13 @@ func (r *BlockedModule) Message() string {
110
111
for i := range r .Recommendations {
111
112
switch {
112
113
case len (r .Recommendations ) == 1 :
113
- fmt .Fprintf (& sb , "`%s` is a recommended module." , r .Recommendations [i ])
114
+ _ , _ = fmt .Fprintf (& sb , "`%s` is a recommended module." , r .Recommendations [i ])
114
115
case (i + 1 ) != len (r .Recommendations ) && (i + 1 ) == (len (r .Recommendations )- 1 ):
115
- fmt .Fprintf (& sb , "`%s` " , r .Recommendations [i ])
116
+ _ , _ = fmt .Fprintf (& sb , "`%s` " , r .Recommendations [i ])
116
117
case (i + 1 ) != len (r .Recommendations ):
117
- fmt .Fprintf (& sb , "`%s`, " , r .Recommendations [i ])
118
+ _ , _ = fmt .Fprintf (& sb , "`%s`, " , r .Recommendations [i ])
118
119
default :
119
- fmt .Fprintf (& sb , "and `%s` are recommended modules." , r .Recommendations [i ])
120
+ _ , _ = fmt .Fprintf (& sb , "and `%s` are recommended modules." , r .Recommendations [i ])
120
121
}
121
122
}
122
123
@@ -126,9 +127,9 @@ func (r *BlockedModule) Message() string {
126
127
127
128
// Add reason to message
128
129
if sb .Len () == 0 {
129
- fmt .Fprintf (& sb , "%s." , strings .TrimRight (r .Reason , "." ))
130
+ _ , _ = fmt .Fprintf (& sb , "%s." , strings .TrimRight (r .Reason , "." ))
130
131
} else {
131
- fmt .Fprintf (& sb , " %s." , strings .TrimRight (r .Reason , "." ))
132
+ _ , _ = fmt .Fprintf (& sb , " %s." , strings .TrimRight (r .Reason , "." ))
132
133
}
133
134
134
135
return sb .String ()
@@ -473,9 +474,13 @@ func loadGoModFile() ([]byte, error) {
473
474
return ioutil .ReadFile (goModFilename )
474
475
}
475
476
476
- if _ , err : = os .Stat (goEnv ["GOMOD" ]); os .IsNotExist (err ) {
477
+ if _ , err = os .Stat (goEnv ["GOMOD" ]); os .IsNotExist (err ) {
477
478
return ioutil .ReadFile (goModFilename )
478
479
}
479
480
481
+ if goEnv ["GOMOD" ] == "/dev/null" {
482
+ return nil , errors .New ("current working directory must have a go.mod file" )
483
+ }
484
+
480
485
return ioutil .ReadFile (goEnv ["GOMOD" ])
481
486
}
0 commit comments