mirror of
https://github.com/Luzifer/twitch-bot.git
synced 2024-12-20 11:51:17 +00:00
Compare commits
4 commits
ff475f286b
...
f26ce9b0da
Author | SHA1 | Date | |
---|---|---|---|
f26ce9b0da | |||
dd80433cb0 | |||
0d76c58ede | |||
096657bcee |
8 changed files with 1327 additions and 29 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
# 3.35.0 / 2024-12-02
|
||||||
|
|
||||||
|
* New Features
|
||||||
|
* [template] Add functions `parseDuration`, `parseDurationToSeconds`
|
||||||
|
|
||||||
|
* Bugfixes
|
||||||
|
* [raffle] Fix: Raffle channel did not allow underscore in channel name
|
||||||
|
|
||||||
# 3.34.0 / 2024-09-16
|
# 3.34.0 / 2024-09-16
|
||||||
|
|
||||||
* New Features
|
* New Features
|
||||||
|
|
78
Makefile
78
Makefile
|
@ -1,56 +1,80 @@
|
||||||
DOCS_BASE_URL:=/
|
DOCS_BASE_URL:=/
|
||||||
HUGO_VERSION:=0.117.0
|
HUGO_VERSION:=0.117.0
|
||||||
|
|
||||||
default: lint frontend_lint test
|
## Tool Binaries
|
||||||
|
GO_RUN := go run -modfile ./tools/go.mod
|
||||||
|
GO_TEST = $(GO_RUN) gotest.tools/gotestsum --format pkgname
|
||||||
|
GOLANCI_LINT = $(GO_RUN) github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||||
|
|
||||||
build_prod: frontend_prod
|
##@ General
|
||||||
|
|
||||||
|
# The help target prints out all targets with their descriptions organized
|
||||||
|
# beneath their categories. The categories are represented by '##@' and the
|
||||||
|
# target descriptions by '##'. The awk commands is responsible for reading the
|
||||||
|
# entire set of makefiles included in this invocation, looking for lines of the
|
||||||
|
# file as xyz: ## something, and then pretty-format the target and help. Then,
|
||||||
|
# if there's a line with ##@ something, that gets pretty-printed as a category.
|
||||||
|
# More info on the usage of ANSI control characters for terminal formatting:
|
||||||
|
# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters
|
||||||
|
# More info on the awk command:
|
||||||
|
# http://linuxcommand.org/lc3_adv_awk.php
|
||||||
|
|
||||||
|
.PHONY: help
|
||||||
|
help: ## Display this help.
|
||||||
|
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
|
||||||
|
|
||||||
|
##@ Building
|
||||||
|
|
||||||
|
build_prod: frontend_prod ## Build release binary locally
|
||||||
go build \
|
go build \
|
||||||
-trimpath \
|
-trimpath \
|
||||||
-mod=readonly \
|
-mod=readonly \
|
||||||
-ldflags "-X main.version=$(shell git describe --tags --always || echo dev)"
|
-ldflags "-X main.version=$(shell git describe --tags --always || echo dev)"
|
||||||
|
|
||||||
lint:
|
publish: frontend_prod ## Run build tooling to produce all binaries
|
||||||
golangci-lint run
|
|
||||||
|
|
||||||
publish: frontend_prod
|
|
||||||
bash ./ci/build.sh
|
bash ./ci/build.sh
|
||||||
|
|
||||||
short_test:
|
##@ Development
|
||||||
go test -cover -test.short -v ./...
|
|
||||||
|
|
||||||
test:
|
lint: ## Run Linter against code
|
||||||
go test -cover -v ./...
|
$(GOLANCI_LINT) run ./...
|
||||||
|
|
||||||
# --- Editor frontend
|
short_test: ## Run tests not depending on network
|
||||||
|
$(GO_TEST) --hide-summary skipped -- ./... -cover -short
|
||||||
|
|
||||||
|
test: ## Run all tests
|
||||||
|
$(GO_TEST) --hide-summary skipped -- ./... -cover
|
||||||
|
|
||||||
|
##@ Editor frontend
|
||||||
|
|
||||||
frontend_prod: export NODE_ENV=production
|
frontend_prod: export NODE_ENV=production
|
||||||
frontend_prod: frontend
|
frontend_prod: frontend ## Build frontend in production mode
|
||||||
|
|
||||||
frontend: node_modules
|
frontend: node_modules ## Build frontend
|
||||||
node ci/build.mjs
|
node ci/build.mjs
|
||||||
|
|
||||||
frontend_lint: node_modules
|
frontend_lint: node_modules ## Lint frontend files
|
||||||
./node_modules/.bin/eslint \
|
./node_modules/.bin/eslint \
|
||||||
--ext .js,.vue \
|
--ext .js,.vue \
|
||||||
--fix \
|
--fix \
|
||||||
src
|
src
|
||||||
|
|
||||||
node_modules:
|
node_modules: ## Install node modules
|
||||||
npm ci --include dev
|
npm ci --include dev
|
||||||
|
|
||||||
# --- Tools
|
##@ Tooling
|
||||||
|
|
||||||
update-chrome-major:
|
update-chrome-major: ## Patch latest Chrome major version into linkcheck
|
||||||
sed -i -E \
|
sed -i -E \
|
||||||
's/chromeMajor = [0-9]+/chromeMajor = $(shell curl -sSf https://lv.luzifer.io/v1/catalog/google-chrome/stable/version | cut -d '.' -f 1)/' \
|
's/chromeMajor = [0-9]+/chromeMajor = $(shell curl -sSf https://lv.luzifer.io/v1/catalog/google-chrome/stable/version | cut -d '.' -f 1)/' \
|
||||||
internal/linkcheck/useragent.go
|
internal/linkcheck/useragent.go
|
||||||
|
|
||||||
gh-workflow:
|
gh-workflow: ## Regenerate CI workflow
|
||||||
bash ci/create-workflow.sh
|
bash ci/create-workflow.sh
|
||||||
|
|
||||||
# -- Vulnerability scanning --
|
##@ Vulnerability scanning
|
||||||
|
|
||||||
trivy:
|
trivy: ## Run Trivy against the code
|
||||||
trivy fs . \
|
trivy fs . \
|
||||||
--dependency-tree \
|
--dependency-tree \
|
||||||
--exit-code 1 \
|
--exit-code 1 \
|
||||||
|
@ -59,23 +83,23 @@ trivy:
|
||||||
--quiet \
|
--quiet \
|
||||||
--scanners misconfig,license,secret,vuln \
|
--scanners misconfig,license,secret,vuln \
|
||||||
--severity HIGH,CRITICAL \
|
--severity HIGH,CRITICAL \
|
||||||
--skip-dirs docs
|
--skip-dirs docs,tools
|
||||||
|
|
||||||
# -- Documentation Site --
|
##@ Documentation
|
||||||
|
|
||||||
docs: actor_docs eventclient_docs template_docs
|
docs: actor_docs eventclient_docs template_docs ## Generate all documentation
|
||||||
|
|
||||||
actor_docs:
|
actor_docs: ## Generate actor documentation
|
||||||
go run . --storage-conn-string $(shell mktemp).db actor-docs >docs/content/configuration/actors.md
|
go run . --storage-conn-string $(shell mktemp).db actor-docs >docs/content/configuration/actors.md
|
||||||
|
|
||||||
template_docs:
|
template_docs: ## Generate template function documentation
|
||||||
go run . --storage-conn-string $(shell mktemp).db tpl-docs >docs/content/configuration/templating.md
|
go run . --storage-conn-string $(shell mktemp).db tpl-docs >docs/content/configuration/templating.md
|
||||||
|
|
||||||
eventclient_docs:
|
eventclient_docs: ## Generate eventclient documentation
|
||||||
echo -e "---\ntitle: EventClient\nweight: 10000\n---\n" >docs/content/overlays/eventclient.md
|
echo -e "---\ntitle: EventClient\nweight: 10000\n---\n" >docs/content/overlays/eventclient.md
|
||||||
docker run --rm -i -v $(CURDIR):$(CURDIR) -w $(CURDIR) node:18-alpine sh -ec 'npx --yes jsdoc-to-markdown --files ./internal/apimodules/overlays/default/eventclient.js' >>docs/content/overlays/eventclient.md
|
docker run --rm -i -v $(CURDIR):$(CURDIR) -w $(CURDIR) node:18-alpine sh -ec 'npx --yes jsdoc-to-markdown --files ./internal/apimodules/overlays/default/eventclient.js' >>docs/content/overlays/eventclient.md
|
||||||
|
|
||||||
render_docs: hugo_$(HUGO_VERSION)
|
render_docs: hugo_$(HUGO_VERSION) ## Render documentation site
|
||||||
./hugo_$(HUGO_VERSION) \
|
./hugo_$(HUGO_VERSION) \
|
||||||
--baseURL "$(DOCS_BASE_URL)" \
|
--baseURL "$(DOCS_BASE_URL)" \
|
||||||
--cleanDestinationDir \
|
--cleanDestinationDir \
|
||||||
|
|
|
@ -392,6 +392,32 @@ Example:
|
||||||
< @user @user @user
|
< @user @user @user
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `parseDuration`
|
||||||
|
|
||||||
|
Parses a duration (i.e. 1h25m10s) into a time.Duration
|
||||||
|
|
||||||
|
Syntax: `parseDuration <duration>`
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
# {{ parseDuration "1h30s" }}
|
||||||
|
< 1h0m30s
|
||||||
|
```
|
||||||
|
|
||||||
|
### `parseDurationToSeconds`
|
||||||
|
|
||||||
|
Parses a duration (i.e. 1h25m10s) into a number of seconds
|
||||||
|
|
||||||
|
Syntax: `parseDurationToSeconds <duration>`
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
# {{ parseDurationToSeconds "1h25m10s" }}
|
||||||
|
< 5110
|
||||||
|
```
|
||||||
|
|
||||||
### `pow`
|
### `pow`
|
||||||
|
|
||||||
Returns float from calculation: `float1 ** float2`
|
Returns float from calculation: `float1 ** float2`
|
||||||
|
@ -480,7 +506,7 @@ Example:
|
||||||
|
|
||||||
```
|
```
|
||||||
# Your int this hour: {{ printf "%.0f" (mulf (seededRandom (list "int" .username (now | date "2006-01-02 15") | join ":")) 100) }}%
|
# Your int this hour: {{ printf "%.0f" (mulf (seededRandom (list "int" .username (now | date "2006-01-02 15") | join ":")) 100) }}%
|
||||||
< Your int this hour: 23%
|
< Your int this hour: 24%
|
||||||
```
|
```
|
||||||
|
|
||||||
### `spotifyCurrentPlaying`
|
### `spotifyCurrentPlaying`
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
package date
|
package date
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/Luzifer/twitch-bot/v3/plugins"
|
"github.com/Luzifer/twitch-bot/v3/plugins"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -27,5 +30,37 @@ func Register(args plugins.RegistrationArguments) error {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
args.RegisterTemplateFunction("parseDuration", plugins.GenericTemplateFunctionGetter(func(duration string) (time.Duration, error) {
|
||||||
|
d, err := time.ParseDuration(duration)
|
||||||
|
if err != nil {
|
||||||
|
return 0, fmt.Errorf("parsing duration: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return d, nil
|
||||||
|
}), plugins.TemplateFuncDocumentation{
|
||||||
|
Description: `Parses a duration (i.e. 1h25m10s) into a time.Duration`,
|
||||||
|
Syntax: "parseDuration <duration>",
|
||||||
|
Example: &plugins.TemplateFuncDocumentationExample{
|
||||||
|
Template: `{{ parseDuration "1h30s" }}`,
|
||||||
|
ExpectedOutput: "1h0m30s",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
args.RegisterTemplateFunction("parseDurationToSeconds", plugins.GenericTemplateFunctionGetter(func(duration string) (int64, error) {
|
||||||
|
d, err := time.ParseDuration(duration)
|
||||||
|
if err != nil {
|
||||||
|
return 0, fmt.Errorf("parsing duration: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return int64(d / time.Second), nil
|
||||||
|
}), plugins.TemplateFuncDocumentation{
|
||||||
|
Description: `Parses a duration (i.e. 1h25m10s) into a number of seconds`,
|
||||||
|
Syntax: "parseDurationToSeconds <duration>",
|
||||||
|
Example: &plugins.TemplateFuncDocumentationExample{
|
||||||
|
Template: `{{ parseDurationToSeconds "1h25m10s" }}`,
|
||||||
|
ExpectedOutput: "5110",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -1127,7 +1127,7 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
validateRaffleChannel() {
|
validateRaffleChannel() {
|
||||||
if (!/^[a-zA-Z0-9]{4,25}$/.test(this.models.raffle.channel)) {
|
if (!constants.REGEXP_USER.test(this.models.raffle.channel)) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
|
|
194
tools/go.mod
Normal file
194
tools/go.mod
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
module tools
|
||||||
|
|
||||||
|
go 1.23.1
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/golangci/golangci-lint v1.61.0
|
||||||
|
gotest.tools/gotestsum v1.12.0
|
||||||
|
mvdan.cc/gofumpt v0.7.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
|
||||||
|
4d63.com/gochecknoglobals v0.2.1 // indirect
|
||||||
|
github.com/4meepo/tagalign v1.3.4 // indirect
|
||||||
|
github.com/Abirdcfly/dupword v0.1.1 // indirect
|
||||||
|
github.com/Antonboom/errname v0.1.13 // indirect
|
||||||
|
github.com/Antonboom/nilnil v0.1.9 // indirect
|
||||||
|
github.com/Antonboom/testifylint v1.4.3 // indirect
|
||||||
|
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c // indirect
|
||||||
|
github.com/Crocmagnon/fatcontext v0.5.2 // indirect
|
||||||
|
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
|
||||||
|
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0 // indirect
|
||||||
|
github.com/Masterminds/semver/v3 v3.3.0 // indirect
|
||||||
|
github.com/OpenPeeDeeP/depguard/v2 v2.2.0 // indirect
|
||||||
|
github.com/alecthomas/go-check-sumtype v0.1.4 // indirect
|
||||||
|
github.com/alexkohler/nakedret/v2 v2.0.4 // indirect
|
||||||
|
github.com/alexkohler/prealloc v1.0.0 // indirect
|
||||||
|
github.com/alingse/asasalint v0.0.11 // indirect
|
||||||
|
github.com/ashanbrown/forbidigo v1.6.0 // indirect
|
||||||
|
github.com/ashanbrown/makezero v1.1.1 // indirect
|
||||||
|
github.com/beorn7/perks v1.0.1 // indirect
|
||||||
|
github.com/bitfield/gotestdox v0.2.2 // indirect
|
||||||
|
github.com/bkielbasa/cyclop v1.2.1 // indirect
|
||||||
|
github.com/blizzy78/varnamelen v0.8.0 // indirect
|
||||||
|
github.com/bombsimon/wsl/v4 v4.4.1 // indirect
|
||||||
|
github.com/breml/bidichk v0.2.7 // indirect
|
||||||
|
github.com/breml/errchkjson v0.3.6 // indirect
|
||||||
|
github.com/butuzov/ireturn v0.3.0 // indirect
|
||||||
|
github.com/butuzov/mirror v1.2.0 // indirect
|
||||||
|
github.com/catenacyber/perfsprint v0.7.1 // indirect
|
||||||
|
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
|
||||||
|
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
||||||
|
github.com/charithe/durationcheck v0.0.10 // indirect
|
||||||
|
github.com/chavacava/garif v0.1.0 // indirect
|
||||||
|
github.com/ckaznocha/intrange v0.2.0 // indirect
|
||||||
|
github.com/curioswitch/go-reassign v0.2.0 // indirect
|
||||||
|
github.com/daixiang0/gci v0.13.5 // indirect
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/denis-tingaikin/go-header v0.5.0 // indirect
|
||||||
|
github.com/dnephin/pflag v1.0.7 // indirect
|
||||||
|
github.com/ettle/strcase v0.2.0 // indirect
|
||||||
|
github.com/fatih/color v1.17.0 // indirect
|
||||||
|
github.com/fatih/structtag v1.2.0 // indirect
|
||||||
|
github.com/firefart/nonamedreturns v1.0.5 // indirect
|
||||||
|
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
||||||
|
github.com/fzipp/gocyclo v0.6.0 // indirect
|
||||||
|
github.com/ghostiam/protogetter v0.3.6 // indirect
|
||||||
|
github.com/go-critic/go-critic v0.11.4 // indirect
|
||||||
|
github.com/go-toolsmith/astcast v1.1.0 // indirect
|
||||||
|
github.com/go-toolsmith/astcopy v1.1.0 // indirect
|
||||||
|
github.com/go-toolsmith/astequal v1.2.0 // indirect
|
||||||
|
github.com/go-toolsmith/astfmt v1.1.0 // indirect
|
||||||
|
github.com/go-toolsmith/astp v1.1.0 // indirect
|
||||||
|
github.com/go-toolsmith/strparse v1.1.0 // indirect
|
||||||
|
github.com/go-toolsmith/typep v1.1.0 // indirect
|
||||||
|
github.com/go-viper/mapstructure/v2 v2.1.0 // indirect
|
||||||
|
github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
|
||||||
|
github.com/gobwas/glob v0.2.3 // indirect
|
||||||
|
github.com/gofrs/flock v0.12.1 // indirect
|
||||||
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
|
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
|
||||||
|
github.com/golangci/gofmt v0.0.0-20240816233607-d8596aa466a9 // indirect
|
||||||
|
github.com/golangci/misspell v0.6.0 // indirect
|
||||||
|
github.com/golangci/modinfo v0.3.4 // indirect
|
||||||
|
github.com/golangci/plugin-module-register v0.1.1 // indirect
|
||||||
|
github.com/golangci/revgrep v0.5.3 // indirect
|
||||||
|
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
|
||||||
|
github.com/google/go-cmp v0.6.0 // indirect
|
||||||
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||||
|
github.com/gordonklaus/ineffassign v0.1.0 // indirect
|
||||||
|
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
|
||||||
|
github.com/gostaticanalysis/comment v1.4.2 // indirect
|
||||||
|
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
|
||||||
|
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
|
||||||
|
github.com/hashicorp/go-version v1.7.0 // indirect
|
||||||
|
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||||
|
github.com/hexops/gotextdiff v1.0.3 // indirect
|
||||||
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
|
github.com/jgautheron/goconst v1.7.1 // indirect
|
||||||
|
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
|
||||||
|
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
|
||||||
|
github.com/jjti/go-spancheck v0.6.2 // indirect
|
||||||
|
github.com/julz/importas v0.1.0 // indirect
|
||||||
|
github.com/karamaru-alpha/copyloopvar v1.1.0 // indirect
|
||||||
|
github.com/kisielk/errcheck v1.7.0 // indirect
|
||||||
|
github.com/kkHAIKE/contextcheck v1.1.5 // indirect
|
||||||
|
github.com/kulti/thelper v0.6.3 // indirect
|
||||||
|
github.com/kunwardeep/paralleltest v1.0.10 // indirect
|
||||||
|
github.com/kyoh86/exportloopref v0.1.11 // indirect
|
||||||
|
github.com/lasiar/canonicalheader v1.1.1 // indirect
|
||||||
|
github.com/ldez/gomoddirectives v0.2.4 // indirect
|
||||||
|
github.com/ldez/tagliatelle v0.5.0 // indirect
|
||||||
|
github.com/leonklingele/grouper v1.1.2 // indirect
|
||||||
|
github.com/lufeee/execinquery v1.2.1 // indirect
|
||||||
|
github.com/macabu/inamedparam v0.1.3 // indirect
|
||||||
|
github.com/magiconair/properties v1.8.6 // indirect
|
||||||
|
github.com/maratori/testableexamples v1.0.0 // indirect
|
||||||
|
github.com/maratori/testpackage v1.1.1 // indirect
|
||||||
|
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect
|
||||||
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
||||||
|
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||||
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||||
|
github.com/mgechev/revive v1.3.9 // indirect
|
||||||
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||||
|
github.com/moricho/tparallel v0.3.2 // indirect
|
||||||
|
github.com/nakabonne/nestif v0.3.1 // indirect
|
||||||
|
github.com/nishanths/exhaustive v0.12.0 // indirect
|
||||||
|
github.com/nishanths/predeclared v0.2.2 // indirect
|
||||||
|
github.com/nunnatsa/ginkgolinter v0.16.2 // indirect
|
||||||
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||||
|
github.com/pelletier/go-toml v1.9.5 // indirect
|
||||||
|
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
|
github.com/polyfloyd/go-errorlint v1.6.0 // indirect
|
||||||
|
github.com/prometheus/client_golang v1.12.1 // indirect
|
||||||
|
github.com/prometheus/client_model v0.2.0 // indirect
|
||||||
|
github.com/prometheus/common v0.32.1 // indirect
|
||||||
|
github.com/prometheus/procfs v0.7.3 // indirect
|
||||||
|
github.com/quasilyte/go-ruleguard v0.4.3-0.20240823090925-0fe6f58b47b1 // indirect
|
||||||
|
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
|
||||||
|
github.com/quasilyte/gogrep v0.5.0 // indirect
|
||||||
|
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
|
||||||
|
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
|
||||||
|
github.com/ryancurrah/gomodguard v1.3.5 // indirect
|
||||||
|
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
|
||||||
|
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
|
||||||
|
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
|
||||||
|
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
|
||||||
|
github.com/sashamelentyev/usestdlibvars v1.27.0 // indirect
|
||||||
|
github.com/securego/gosec/v2 v2.21.2 // indirect
|
||||||
|
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
|
||||||
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
||||||
|
github.com/sivchari/containedctx v1.0.3 // indirect
|
||||||
|
github.com/sivchari/tenv v1.10.0 // indirect
|
||||||
|
github.com/sonatard/noctx v0.0.2 // indirect
|
||||||
|
github.com/sourcegraph/go-diff v0.7.0 // indirect
|
||||||
|
github.com/spf13/afero v1.11.0 // indirect
|
||||||
|
github.com/spf13/cast v1.5.0 // indirect
|
||||||
|
github.com/spf13/cobra v1.8.1 // indirect
|
||||||
|
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||||
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
|
github.com/spf13/viper v1.12.0 // indirect
|
||||||
|
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
|
||||||
|
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
|
||||||
|
github.com/stretchr/objx v0.5.2 // indirect
|
||||||
|
github.com/stretchr/testify v1.9.0 // indirect
|
||||||
|
github.com/subosito/gotenv v1.4.1 // indirect
|
||||||
|
github.com/tdakkota/asciicheck v0.2.0 // indirect
|
||||||
|
github.com/tetafro/godot v1.4.17 // indirect
|
||||||
|
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 // indirect
|
||||||
|
github.com/timonwong/loggercheck v0.9.4 // indirect
|
||||||
|
github.com/tomarrell/wrapcheck/v2 v2.9.0 // indirect
|
||||||
|
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
|
||||||
|
github.com/ultraware/funlen v0.1.0 // indirect
|
||||||
|
github.com/ultraware/whitespace v0.1.1 // indirect
|
||||||
|
github.com/uudashr/gocognit v1.1.3 // indirect
|
||||||
|
github.com/xen0n/gosmopolitan v1.2.2 // indirect
|
||||||
|
github.com/yagipy/maintidx v1.0.0 // indirect
|
||||||
|
github.com/yeya24/promlinter v0.3.0 // indirect
|
||||||
|
github.com/ykadowak/zerologlint v0.1.5 // indirect
|
||||||
|
gitlab.com/bosi/decorder v0.4.2 // indirect
|
||||||
|
go-simpler.org/musttag v0.12.2 // indirect
|
||||||
|
go-simpler.org/sloglint v0.7.2 // indirect
|
||||||
|
go.uber.org/atomic v1.7.0 // indirect
|
||||||
|
go.uber.org/automaxprocs v1.5.3 // indirect
|
||||||
|
go.uber.org/multierr v1.6.0 // indirect
|
||||||
|
go.uber.org/zap v1.24.0 // indirect
|
||||||
|
golang.org/x/exp v0.0.0-20240904232852-e7e105dedf7e // indirect
|
||||||
|
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f // indirect
|
||||||
|
golang.org/x/mod v0.21.0 // indirect
|
||||||
|
golang.org/x/sync v0.8.0 // indirect
|
||||||
|
golang.org/x/sys v0.25.0 // indirect
|
||||||
|
golang.org/x/term v0.18.0 // indirect
|
||||||
|
golang.org/x/text v0.18.0 // indirect
|
||||||
|
golang.org/x/tools v0.24.0 // indirect
|
||||||
|
google.golang.org/protobuf v1.34.2 // indirect
|
||||||
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
honnef.co/go/tools v0.5.1 // indirect
|
||||||
|
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f // indirect
|
||||||
|
)
|
1002
tools/go.sum
Normal file
1002
tools/go.sum
Normal file
File diff suppressed because it is too large
Load diff
9
tools/tools.go
Normal file
9
tools/tools.go
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
//go:build tools
|
||||||
|
|
||||||
|
package tools
|
||||||
|
|
||||||
|
import (
|
||||||
|
_ "github.com/golangci/golangci-lint/cmd/golangci-lint"
|
||||||
|
_ "gotest.tools/gotestsum"
|
||||||
|
_ "mvdan.cc/gofumpt"
|
||||||
|
)
|
Loading…
Reference in a new issue