mirror of
https://github.com/hanzoai/docdb.git
synced 2026-11-02 15:35:22 +00:00
210 lines
5.6 KiB
YAML
210 lines
5.6 KiB
YAML
---
|
|
# Linters that should pass for all integration code.
|
|
|
|
run:
|
|
timeout: 3m
|
|
|
|
linters-settings:
|
|
# asciicheck
|
|
depguard:
|
|
rules:
|
|
old-packages:
|
|
files:
|
|
- $all
|
|
deny:
|
|
- pkg: golang.org/x/net/context
|
|
desc: use `context` package instead
|
|
- pkg: golang.org/x/exp/slices
|
|
desc: use `slices` package instead
|
|
- pkg: golang.org/x/exp/maps
|
|
desc: use `maps` package instead
|
|
|
|
# TODO https://github.com/hanzoai/docdb/issues/4798
|
|
# - pkg: go.mongodb.org/mongo-driver/bson
|
|
# desc: use `go.mongodb.org/mongo-driver/v2/bson` package instead
|
|
# - pkg: go.mongodb.org/mongo-driver/mongo
|
|
# desc: use `go.mongodb.org/mongo-driver/v2/mongo` package instead
|
|
commonerrors:
|
|
files:
|
|
- $all
|
|
deny:
|
|
- pkg: github.com/hanzoai/docdb/v2/internal/handler/commonerrors
|
|
exhaustruct:
|
|
include:
|
|
- TODO
|
|
exhaustive:
|
|
default-signifies-exhaustive: false
|
|
gci:
|
|
sections:
|
|
- standard
|
|
- default
|
|
- prefix(github.com/hanzoai/docdb/v2/)
|
|
- prefix(github.com/hanzoai/docdb/v2/integration)
|
|
goconst:
|
|
min-occurrences: 5
|
|
ignore-tests: true
|
|
godot:
|
|
scope: toplevel
|
|
exclude:
|
|
- check interfaces
|
|
capital: true
|
|
godox:
|
|
keywords:
|
|
- BUG
|
|
- FIXME
|
|
- HACK
|
|
- lala
|
|
- lalala
|
|
goheader:
|
|
# Please do not update it, including bumping a year.
|
|
template: |-
|
|
Copyright 2021 DocDB Inc.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
goimports:
|
|
local-prefixes: github.com/hanzoai/docdb/v2
|
|
gomodguard:
|
|
blocked:
|
|
modules:
|
|
- github.com/hanzoai/docdb:
|
|
reason: "Use `github.com/hanzoai/docdb/v2/...` instead."
|
|
gosimple:
|
|
checks: ["all"]
|
|
govet:
|
|
enable-all: true
|
|
disable:
|
|
- fieldalignment
|
|
- nilness
|
|
- shadow
|
|
importas:
|
|
# https://github.com/julz/importas/issues/15
|
|
no-unaliased: true
|
|
no-extra-aliases: false
|
|
alias:
|
|
- pkg: github.com/prometheus/client_model/go
|
|
alias: dto
|
|
- pkg: github.com/jaswdr/faker
|
|
alias: fakerlib
|
|
- pkg: github.com/xdg-go/scram
|
|
alias: xdgscram
|
|
- pkg: go.opentelemetry.io/otel/attribute
|
|
alias: otelattribute
|
|
- pkg: go.opentelemetry.io/otel/codes
|
|
alias: otelcodes
|
|
- pkg: go.opentelemetry.io/otel/trace
|
|
alias: oteltrace
|
|
- pkg: go.opentelemetry.io/otel/sdk/resource
|
|
alias: otelsdkresource
|
|
- pkg: go.opentelemetry.io/otel/sdk/trace
|
|
alias: otelsdktrace
|
|
- pkg: go.opentelemetry.io/otel/semconv/v1.34.0
|
|
alias: otelsemconv
|
|
# ineffassign
|
|
lll:
|
|
line-length: 175 # TODO reduce it to 130
|
|
tab-width: 4
|
|
misspell:
|
|
ignore-words:
|
|
- guiness # present in the test dataset
|
|
extra-words: # https://go.dev/wiki/Spelling, https://github.com/golangci/misspell/issues/11
|
|
- typo: "iff"
|
|
correction: "if"
|
|
- typo: "cancelation"
|
|
correction: "cancellation"
|
|
nolintlint:
|
|
allow-unused: false
|
|
allow-no-explanation: []
|
|
require-explanation: true
|
|
require-specific: true
|
|
revive:
|
|
ignore-generated-header: true
|
|
severity: error
|
|
rules: []
|
|
sloglint:
|
|
no-mixed-args: true
|
|
kv-only: false
|
|
attr-only: true
|
|
no-global: "all"
|
|
context: "scope"
|
|
static-msg: false # TODO https://github.com/hanzoai/docdb/issues/3421
|
|
no-raw-keys: false # TODO https://github.com/hanzoai/docdb/issues/3421
|
|
key-naming-case: snake
|
|
args-on-sep-lines: false
|
|
staticcheck:
|
|
checks:
|
|
- all
|
|
- -SA1019 # ignore deprecation errors in existing code; new code is checked by the other configuration
|
|
tagalign:
|
|
sort: true
|
|
order:
|
|
- name
|
|
- cmd
|
|
- arg
|
|
- default
|
|
- help
|
|
unparam:
|
|
check-exported: false
|
|
unused:
|
|
field-writes-are-uses: false
|
|
post-statements-are-reads: false
|
|
exported-fields-are-used: false
|
|
parameters-are-used: true # it should be false, TODO https://github.com/hanzoai/docdb-DocumentDB/issues/823
|
|
local-variables-are-used: false
|
|
generated-is-used: false
|
|
whitespace:
|
|
multi-if: false
|
|
multi-func: false
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- asciicheck
|
|
- depguard
|
|
- exhaustive
|
|
- gci
|
|
- gochecksumtype
|
|
- goconst
|
|
- godot
|
|
- godox
|
|
- goheader
|
|
- goimports
|
|
- gomodguard
|
|
- gosimple
|
|
- govet
|
|
- importas
|
|
- ineffassign
|
|
- lll
|
|
- misspell
|
|
- nolintlint
|
|
- revive
|
|
- sloglint
|
|
- staticcheck
|
|
- tagalign
|
|
- unused
|
|
- whitespace
|
|
|
|
issues:
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0
|
|
|
|
exclude-use-default: false
|
|
exclude-rules:
|
|
# that's a valid usage of bson.D / bson.E
|
|
# TODO https://github.com/hanzoai/docdb/issues/4798
|
|
- linters: [govet]
|
|
text: "\\Qcomposites: go.mongodb.org/mongo-driver/bson/primitive.E struct literal uses unkeyed fields"
|
|
- linters: [govet]
|
|
text: "\\Qcomposites: go.mongodb.org/mongo-driver/bson.E struct literal uses unkeyed fields"
|
|
- linters: [govet]
|
|
text: "\\Qcomposites: go.mongodb.org/mongo-driver/v2/bson.E struct literal uses unkeyed fields"
|