{ "unsafeptr": { "exclude_files": { "external/.*": "Unsafe third party code", "rules_go_work-.*": "Third party code" } }, "unreachable": { "exclude_files": { "runtime/messagehandler/messagehandler_test.go": "Necessary panic before return for test", "external/.*": "Unreachable third party code" } }, "lostcancel": { "exclude_files": { "validator/client/runner.go": "No need to cancel right when goroutines begin", "external/.*": "Third party code" } }, "nilness": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code" } }, "pkgfact": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code" } }, "stdmethods": { "exclude_files": { "external/.*": "Third party code" } }, "copylocks": { "exclude_files": { "external/.*": "Third party code" } }, "composites": { "exclude_files": { "external/.*": "Third party code", ".*testmain\\.go$": "Fuzz" } }, "cgocall": { "exclude_files": { "external/.*": "Third party code" } }, "assign": { "exclude_files": { "external/.*": "Third party code" } }, "structtag": { "exclude_files": { "external/.*": "Third party code" } }, "maligned": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "config/params/config.go": "This config struct needs to be organized for now", "shared/featureconfig/config.go": "This config struct needs to be organized for now", "proto/.*": "Excluding protobuf objects for now" } }, "errcheck": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "shared/mock/.*\\.go": "Mocks are OK", ".*/.*mock\\.go": "Mocks are OK", ".*testmain\\.go$": "Fuzz", "proto/.*": "Generated protobuf related code", "tools/analyzers/properpermissions/testdata/.*": "Analyzer breaks rules" } }, "featureconfig": { "only_files": { ".*_test\\.go": "Only tests" } }, "interfacechecker": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", ".*/.*_test\\.go": "Tests are OK to ignore this check for" } }, "logruswitherror": { "exclude_files": { "external/.*": "Third party code" } }, "cryptorand": { "only_files": { "beacon-chain/.*": "", "shared/.*": "", "slasher/.*": "", "validator/.*": "" }, "exclude_files": { ".*/.*_test\\.go": "Tests are OK to use weak crypto", "external/.*": "Third party code", "crypto/rand/rand\\.go": "Abstracts CSPRNGs for common use", "shared/aggregation/testing/bitlistutils.go": "Test-only package" } }, "comparesame": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "tools/analyzers/comparesame/testdata/compare_len.go": "Analyzer testdata has to break rules" } }, "shadowpredecl": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "tools/analyzers/shadowpredecl/testdata/shadow.go": "Analyzer testdata has to break rules" } }, "recursivelock": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "tools/analyzers/recursivelock/testdata/.*": "Analyzer testdata has to break rules" } }, "nop": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "tools/analyzers/nop/testdata/no_op.go": "Analyzer testdata has to break rules" } }, "slicedirect": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", "tools/analyzers/slicedirect/testdata/slice.go": "Analyzer testdata has to break rules" } }, "ineffassign": { "only_files": { "beacon-chain/.*": "", "shared/.*": "", "slasher/.*": "", "validator/.*": "" } }, "properpermissions": { "only_files": { "beacon-chain/.*": "", "slasher/.*": "", "shared/.*": "", "validator/.*": "" }, "exclude_files": { ".*_test\\.go": "Tests are ok", "io/file/fileutil.go": "Package which defines the proper rules" } }, "uintcast": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", ".*_test\\.go": "Tests are ok" } }, "gocognit": { "exclude_files": { "external/.*": "Third party code", "rules_go_work-.*": "Third party code", ".*\\.pb.*.go": "Generated code is ok", ".*generated\\.ssz\\.go": "Generated code is ok", ".*_test\\.go": "Tests are ok (for now)", "tools/analyzers/ineffassign/ineffassign\\.go": "3rd party code with a massive switch statement" } } }