aboutsummaryrefslogtreecommitdiff
path: root/.golangci.yml
diff options
context:
space:
mode:
author2026-01-24 17:46:54 +0300
committer2026-01-24 17:46:54 +0300
commit95fc6de88975781abfe576977c960197a9743442 (patch)
tree00ed76b0ff22f71af4b450c604f16ada72ed5241 /.golangci.yml
downloadeventbus-95fc6de88975781abfe576977c960197a9743442.tar.gz
eventbus-95fc6de88975781abfe576977c960197a9743442.tar.bz2
eventbus-95fc6de88975781abfe576977c960197a9743442.tar.xz
eventbus-95fc6de88975781abfe576977c960197a9743442.zip
v1.0.0v1.0.0
Diffstat (limited to '.golangci.yml')
-rw-r--r--.golangci.yml207
1 files changed, 207 insertions, 0 deletions
diff --git a/.golangci.yml b/.golangci.yml
new file mode 100644
index 0000000..49aec92
--- /dev/null
+++ b/.golangci.yml
@@ -0,0 +1,207 @@
+version: "2"
+run:
+ timeout: 5m
+ allow-parallel-runners: false
+linters:
+ default: none
+ enable:
+ - asasalint
+ - asciicheck
+ - bidichk
+ - bodyclose
+ - canonicalheader
+ - containedctx
+ - copyloopvar
+ - decorder
+ - dupword
+ - durationcheck
+ - embeddedstructfieldcheck
+ - errcheck
+ - errname
+ - errorlint
+ - exhaustive
+ - exptostd
+ - fatcontext
+ - funcorder
+ - ginkgolinter
+ - gocheckcompilerdirectives
+ - gochecksumtype
+ - goconst
+ - gocritic
+ - godoclint
+ - godot
+ - godox
+ - goheader
+ - gomoddirectives
+ - goprintffuncname
+ - gosec
+ - gosmopolitan
+ - govet
+ - grouper
+ - iface
+ - importas
+ - inamedparam
+ - interfacebloat
+ - intrange
+ - iotamixing
+ - makezero
+ - mirror
+ - misspell
+ - nakedret
+ - nilerr
+ - nilnesserr
+ - nilnil
+ - nolintlint
+ - nosprintfhostport
+ - paralleltest
+ - perfsprint
+ - prealloc
+ - predeclared
+ - protogetter
+ - reassign
+ - recvcheck
+ - rowserrcheck
+ - spancheck
+ - sqlclosecheck
+ - staticcheck
+ - tagalign
+ - testableexamples
+ - testifylint
+ - thelper
+ - tparallel
+ - unconvert
+ - unqueryvet
+ - usestdlibvars
+ - usetesting
+ - wastedassign
+ - whitespace
+ - zerologlint
+ disable:
+ - arangolint # arangoDB нет на проекте.
+ - contextcheck # Заставляет везде писать контекст.
+ - cyclop # ! Включить и починить. Много проблемных мест.
+ - depguard # У нас нет списка разрешёных пакетов. Для этого есть SAST.
+ - dogsled # Пропускать возвращаемые переменные -- это нормально.
+ - dupl # Иногда дублирование уместнее обобщения. Можно сверятся с этим так, для справки.
+ - err113 # Динамические ошибки -- это нормально.
+ - errchkjson
+ - exhaustruct # ! Включить и починить.
+ - forbidigo # fmt.Print у нас только в нужных местах. Дополнительные паттерны не требуются.
+ - forcetypeassert # ! Включить и починить.
+ - funlen # ! Включить и починить. Слишком много срабатываний.
+ - gochecknoglobals # Глобальные переменные -- это нормально.
+ - gochecknoinits # Init -- это нормально.
+ - gocognit # ! Включить и починить. По хорошему сложные функции требуется рефачить.
+ - gocyclo # ! Включить и починить.
+ - ineffassign # Польза неясна. Единственный раз встречается в false-positive
+ - ireturn # ! Включить и починить. Нужно настроить нормально.
+ - lll # Невозможно ему удовлетворять. Стоит разделить линтеры на два файла: первый для CI, которому 100% надо удовлетворять, а второй для IDE, чтобы мягко намекала.
+ - loggercheck # Не актуален. У нас zerolog.
+ - maintidx # ! Включить и починить. У нас есть гигантские сложные функции, но пока нет времени с ними разобраться.
+ - mnd # ! Включить и починить. У нас слишком много чисел, которые очень лень отдельно прописывать. Однако линтер полезен, чтобы проверять статус-коды и подобное.
+ - musttag # ! Включить и починить.
+ - nestif # ! Включить и починить. Требуется рефактор.
+ - noctx # ! Включить и починить. Нет причин не использовать контекст.
+ - noinlineerr # Не вижу ничего плохого, но идея интересная. Мб и стоит её придерживаться.
+ - nonamedreturns # Не вижу ничего плохого в именовании выходных значений. Всё равно про них мало кто знает.
+ - promlinter # ! Проверить адекватность и нужность с нашим прометеем.
+ - revive # ! Включить и починить. Линтер светит простые ошибки, но их очень много.
+ - sloglint # slog нет на проекте.
+ - tagliatelle # ! Включить и починить. Активировать и расставить игноры на старые места где АПИ уже не получится поменять.
+ - testpackage
+ - unparam # Можно сверяться для справки.
+ - unused
+ - varnamelen
+ - wrapcheck
+ settings:
+ exhaustive:
+ default-signifies-exhaustive: true
+ funlen:
+ lines: 100
+ statements: 50
+ godoclint:
+ default: none
+ enable:
+ - pkg-doc
+ - start-with-name
+ - deprecated
+ - no-unused-link
+ godot:
+ # Comments to be checked: `declarations`, `toplevel`, `noinline` or `all`.
+ # Default: declarations
+ scope: declarations # ! Выставить all и пофиксить все замечания.
+ capital: true
+ gosec:
+ excludes:
+ - G115
+ - G404
+ gosmopolitan:
+ allow-time-local: true
+ interfacebloat:
+ max: 20
+ misspell:
+ locale: US
+ mnd:
+ ignored-files:
+ - pkg/rusimpulse/.+\.go # Протокол табло имеет много специфичных операций.
+ - pkg/moxa/e1200/.+\.go # Работа с modbus требуется постоянно указывать адреса и количество чтения.
+ paralleltest:
+ ignore-missing: true
+ ignore-missing-subtests: true
+ staticcheck:
+ checks:
+ - all
+ - -ST1000
+ - -ST1003
+ - -ST1016
+ - -ST1020
+ - -ST1021
+ - -ST1022
+ tagalign:
+ align: false
+ order:
+ - yaml
+ - json
+ - validate
+ tagliatelle:
+ case:
+ rules:
+ json: camel
+ yaml: snake
+ exclusions:
+ generated: lax
+ presets:
+ - comments
+ - common-false-positives
+ - legacy
+ - std-error-handling
+ paths:
+ - third_party$
+ - builtin$
+ - examples$
+issues:
+ max-issues-per-linter: 0
+ max-same-issues: 0
+ fix: false
+formatters:
+ enable:
+ - gofmt
+ - gofumpt
+ - goimports
+ settings:
+ gofmt:
+ simplify: true
+ rewrite-rules:
+ - pattern: "interface{}"
+ replacement: "any"
+ - pattern: "a[b:len(a)]"
+ replacement: "a[b:]"
+ gofumpt:
+ module-path: gitlab.sovcombank.group/hippogo/sup
+ extra-rules: false
+ exclusions:
+ generated: lax
+ paths:
+ - third_party$
+ - builtin$
+ - examples$