golangci-lint
ls-lint
Our great sponsors
golangci-lint | ls-lint | |
---|---|---|
60 | 6 | |
12,551 | 1,397 | |
1.7% | - | |
9.5 | 0.0 | |
8 days ago | about 16 hours ago | |
Go | Go | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
golangci-lint
-
How to start a Go project in 2023
Things I can't live without in a new Go project in no particular order:
- https://github.com/golangci/golangci-lint - meta-linter
- https://goreleaser.com - automate release workflows
- https://magefile.org - build tool that can version your tools
- https://github.com/ory/dockertest/v3 - run containers for e2e testing
- https://github.com/ecordell/optgen - generate functional options
- https://golang.org/x/tools/cmd/stringer - generate String()
- https://mvdan.cc/gofumpt - stricter gofmt
- https://github.com/stretchr/testify - test assertion library
- https://github.com/rs/zerolog - logging
- https://github.com/spf13/cobra - CLI framework
FWIW, I just lifted all the tools we use for https://github.com/authzed/spicedb
We've also written some custom linters that might be useful for other folks: https://github.com/authzed/spicedb/tree/main/tools/analyzers
- Just migrated our Open Source project to Golang
-
How to integrate golangci-lint into a project?
Hey, I try to figure out an elegant way to integrate golangci into a Go project.
-
A fast HashSet implementation
All of this is nitpicking really, but I would suggest using linters, e.g. https://github.com/golangci/golangci-lint - sometimes annoying, but mostly just helps to avoid discussions like this (and plethora of bugs).
- Go 1.20 released
-
Luciano Remes | Golang is πΌπ‘π’π€π¨π© Perfect
You should always use golangci-lint, which includes errcheck.
-
Go API Project Set-Up
golangci lint - https://golangci-lint.run/
-
a tool for quickly creating web and microservice code
Code inspection golangci-lint
- Introduccion a Golangci Lint
-
Thirteen Years of Go - The Go Programming Language
I disagree with at least half of your post, tooling in Go is amazing overall and there is one linter that pretty much every one is using: https://github.com/golangci/golangci-lint
ls-lint
-
An ESlint plugin for consistent filename and folder naming. Allows you to enforce a consistent naming pattern for the filename and folder.
There is also https://github.com/loeffel-io/ls-lint
-
Today is the day: ls-lint just reached more then 1 million downloads
ls-lint is an extremely fast directory and filename linter: GitHub 1 million npm downloads and over ~110 000 downloads per month is huge! Thank you to all users that made this happen! <3 This day also marks the release of the version 1.11.0 which brings several improvements: - Massive performance improvements: up to 1100% faster to version 1.10.x (see benchmarks) - New SCREAMING_SNAKE_CASE rule - The warn option gives you the opportunity to migrate your project seamlessly - The debug option allows support for debugging your config - Major updates for all dependencies Would love to see more and more people like nuxt.js, renovate and terser playing with this to bring more and more structure to their projects <3
- ls-lint just reached the 500 000 npm downloads - road to 1 million!
What are some alternatives?
ireturn - Accept Interfaces, Return Concrete Types
gosec - Golang security checker
golangci-lint-action - Official GitHub action for golangci-lint from its authors
gopl.io - Example programs from "The Go Programming Language"
go - The Go programming language
go-tools - Staticcheck - The advanced Go linter
golang-standards/project-layout - Standard Go Project Layout
reviewdog - πΆ Automated code review tool integrated with any code analysis tools regardless of programming language
maligned - Tool to detect Go structs that would take less memory if their fields were sorted.
viper - Go configuration with fangs
gofumpt - A stricter gofmt
errors - Go error library with error portability over the network