.golangci.yml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. # Created based on v1.51.0
  2. # NOTE: Keep this in sync with the version in .github/workflows/linter.yml
  3. run:
  4. modules-download-mode: readonly
  5. skip-dirs-use-default: false
  6. skip-dirs:
  7. - internal
  8. output:
  9. sort-results: true
  10. linters-settings:
  11. errcheck:
  12. check-type-assertions: true
  13. check-blank: true
  14. disable-default-exclusions: true
  15. exclude-functions:
  16. - '(*bytes.Buffer).Write' # always returns nil error
  17. - '(*github.com/valyala/bytebufferpool.ByteBuffer).Write' # always returns nil error
  18. - '(*github.com/valyala/bytebufferpool.ByteBuffer).WriteByte' # always returns nil error
  19. - '(*github.com/valyala/bytebufferpool.ByteBuffer).WriteString' # always returns nil error
  20. errchkjson:
  21. report-no-exported: true
  22. exhaustive:
  23. default-signifies-exhaustive: true
  24. forbidigo:
  25. forbid:
  26. - ^(fmt\.Print(|f|ln)|print|println)$
  27. - 'http\.Default(Client|Transport)'
  28. # TODO: Eventually enable these patterns
  29. # - 'time\.Sleep'
  30. # - 'panic'
  31. gocritic:
  32. disabled-checks:
  33. - ifElseChain
  34. gofumpt:
  35. module-path: github.com/gofiber/fiber
  36. extra-rules: true
  37. gosec:
  38. excludes:
  39. - G104 # TODO: Enable this again. Mostly provided by errcheck
  40. config:
  41. global:
  42. audit: true
  43. govet:
  44. check-shadowing: true
  45. enable-all: true
  46. disable:
  47. - shadow
  48. - fieldalignment
  49. - loopclosure
  50. grouper:
  51. import-require-single-import: true
  52. import-require-grouping: true
  53. misspell:
  54. locale: US
  55. nolintlint:
  56. require-explanation: true
  57. require-specific: true
  58. nonamedreturns:
  59. report-error-in-defer: true
  60. predeclared:
  61. q: true
  62. promlinter:
  63. strict: true
  64. revive:
  65. enable-all-rules: true
  66. rules:
  67. # Provided by gomnd linter
  68. - name: add-constant
  69. disabled: true
  70. - name: argument-limit
  71. disabled: true
  72. # Provided by bidichk
  73. - name: banned-characters
  74. disabled: true
  75. - name: cognitive-complexity
  76. disabled: true
  77. - name: cyclomatic
  78. disabled: true
  79. - name: early-return
  80. severity: warning
  81. disabled: true
  82. - name: exported
  83. disabled: true
  84. - name: file-header
  85. disabled: true
  86. - name: function-result-limit
  87. disabled: true
  88. - name: function-length
  89. disabled: true
  90. - name: line-length-limit
  91. disabled: true
  92. - name: max-public-structs
  93. disabled: true
  94. - name: modifies-parameter
  95. disabled: true
  96. - name: nested-structs
  97. disabled: true
  98. - name: package-comments
  99. disabled: true
  100. stylecheck:
  101. checks:
  102. - all
  103. - -ST1000
  104. - -ST1020
  105. - -ST1021
  106. - -ST1022
  107. tagliatelle:
  108. case:
  109. rules:
  110. json: snake
  111. #tenv:
  112. # all: true
  113. #unparam:
  114. # check-exported: true
  115. wrapcheck:
  116. ignorePackageGlobs:
  117. - github.com/gofiber/fiber/*
  118. - github.com/valyala/fasthttp
  119. issues:
  120. exclude-use-default: false
  121. linters:
  122. enable:
  123. - asasalint
  124. - asciicheck
  125. - bidichk
  126. - bodyclose
  127. - containedctx
  128. - contextcheck
  129. - depguard
  130. - dogsled
  131. - durationcheck
  132. - errcheck
  133. - errchkjson
  134. - errname
  135. - errorlint
  136. - execinquery
  137. - exhaustive
  138. - exportloopref
  139. - forbidigo
  140. - forcetypeassert
  141. - goconst
  142. - gocritic
  143. - gofmt
  144. - gofumpt
  145. - goimports
  146. - gomoddirectives
  147. - goprintffuncname
  148. - gosec
  149. - gosimple
  150. - govet
  151. - grouper
  152. - loggercheck
  153. - misspell
  154. - nakedret
  155. - nilerr
  156. - nilnil
  157. - noctx
  158. - nolintlint
  159. - nonamedreturns
  160. - nosprintfhostport
  161. - predeclared
  162. - promlinter
  163. - reassign
  164. - revive
  165. - rowserrcheck
  166. - sqlclosecheck
  167. - staticcheck
  168. - stylecheck
  169. - tagliatelle
  170. # - testpackage # TODO: Enable once https://github.com/gofiber/fiber/issues/2252 is implemented
  171. - thelper
  172. # - tparallel # TODO: Enable once https://github.com/gofiber/fiber/issues/2254 is implemented
  173. - typecheck
  174. - unconvert
  175. - unparam
  176. - unused
  177. - usestdlibvars
  178. - wastedassign
  179. - whitespace
  180. - wrapcheck