github.com/vanstinator/golangci-lint@v0.0.0-20240223191551-cc572f00d9d1/pkg/golinters/ginkgolinter.go (about) 1 package golinters 2 3 import ( 4 "github.com/nunnatsa/ginkgolinter" 5 "golang.org/x/tools/go/analysis" 6 7 "github.com/vanstinator/golangci-lint/pkg/config" 8 "github.com/vanstinator/golangci-lint/pkg/golinters/goanalysis" 9 ) 10 11 func NewGinkgoLinter(cfg *config.GinkgoLinterSettings) *goanalysis.Linter { 12 a := ginkgolinter.NewAnalyzer() 13 14 cfgMap := make(map[string]map[string]any) 15 if cfg != nil { 16 cfgMap[a.Name] = map[string]any{ 17 "suppress-len-assertion": cfg.SuppressLenAssertion, 18 "suppress-nil-assertion": cfg.SuppressNilAssertion, 19 "suppress-err-assertion": cfg.SuppressErrAssertion, 20 "suppress-compare-assertion": cfg.SuppressCompareAssertion, 21 "suppress-async-assertion": cfg.SuppressAsyncAssertion, 22 "suppress-type-compare-assertion": cfg.SuppressTypeCompareWarning, 23 "forbid-focus-container": cfg.ForbidFocusContainer, 24 "allow-havelen-0": cfg.AllowHaveLenZero, 25 } 26 } 27 28 return goanalysis.NewLinter( 29 a.Name, 30 "enforces standards of using ginkgo and gomega", 31 []*analysis.Analyzer{a}, 32 cfgMap, 33 ).WithLoadMode(goanalysis.LoadModeTypesInfo) 34 }