The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Linter Open-Source Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ale
Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
-
static-analysis
⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.
-
biome
A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.
-
super-linter
Combination of multiple linters to run as a GitHub Action or standalone (by super-linter)
-
reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
ncurse, dialog, zenity[2]. i/o buffering may be an issue [3a,3b]
Assuming using same account, use history command to show past commands[0a, 0b]
'load random example' on shellcheck using own custom examples from history command.[1]
--------
[3a] : http://www.gnu.org/software/coreutils/manual/html_node/stdbu...
[3b] : http://unix.stackexchange.com/questions/25372/how-to-turn-of...
[2] : http//funprojects.blog/2021/01/25/zenity-command-line-dialogs/
[1] : http://www.shellcheck.net/
[0a] : http://www.tecmint.com/history-command-examples/
[0b] : http://www.tecmint.com/remember-linux-commands/
web based documentation: https://www.tecmint.com/linux-commands-cheat-sheet/
commands grouped by typical usage patterns : https://www.tecmint.com/essential-linux-commands/
I picked up standard[1] a while back for this reason, I don't want to have to think about it. It works fine, I have no complaints (took me a while to get used to not using semi-colons but now I prefer it) Same reason I use `cargo fmt` as well.
[1] https://standardjs.com/
Project mention: Ask HN: High quality Python scripts or small libraries to learn from | news.ycombinator.com | 2024-04-19I think I mention this all the time when this comes up, but I learned the most 'best practices' through using ruff.
https://docs.astral.sh/ruff/
I just installed and enabled all the rules by setting
Project mention: To Review or Not to Review: The Debate on Mandatory Code Reviews | dev.to | 2024-04-24Automating code checks with static code analysis allows us to enforce code styling effectively. By integrating tools into our workflow, we can identify errors at an early stage, while coding instead of blocking us at the end. For instance, flake8 checks Python code for style and errors, eslint performs similar checks for JavaScript, and prettier automatically formats code to maintain consistency.
Project mention: A problem when adding Swiftlint as a dependency on my won package? | /r/swift | 2023-10-27
Project mention: The GIL can now be disabled in Python's main branch | news.ycombinator.com | 2024-03-11
I saw no mention of RBS+Steep, the latter providing a LSP. I use it a lot and very much like it, although it's still young and needs love, but it's making good, steady progress! I've been very pleasantly surprised by some of the crazy things Steep can catch, completely statically!
You appear to be working on projects with Sorbet (which I tried to like but found it fell short in practice, notably outside of the app use case i.e it's mostly useless for gems) so it may be a tall order to try on those. Maybe you can give RBS+Steep a shot on some small project?
RBS: https://github.com/ruby/rbs
RBS collection (for those gems that don't ship RBS signatures in `sig`, integrates with bundler): https://github.com/ruby/gem_rbs_collection
Steep: https://github.com/soutaro/steep
VS Code: https://github.com/soutaro/steep-vscode
Sublime Text: https://github.com/sublimelsp/LSP
Vim (I'm working on it): https://github.com/dense-analysis/ale/pull/4671
Project mention: How Automation Saved Me from Oops Moments: Never Skip Tests in Production Again! | dev.to | 2024-02-06We were already using lint-staged and have a pre-commit hook in place using Husky in our project for linter and prettier. So it made sense to add a check here.
Readers should also peruse the 'Multiple languages' section, many of the big names, Coverity, Klocwork et al. are listed there.
see https://github.com/analysis-tools-dev/static-analysis#multip...
gem "rubocop" - https://github.com/rubocop/rubocop | Set up code guidelines for your dev team, I recommend using whatever Standard recommends.
Project mention: How to setup Black and pre-commit in python for auto text-formatting on commit | dev.to | 2024-03-29Today we are going to look at how to setup Black (a python code formatter) and pre-commit (a package for handling git hooks in python) to automatically format you code on commit.
Another common way to extend configs in linters is using the extends key in the configuration file. Let's take StyleLint as an example:
{ "$schema": "https://biomejs.dev/schemas/1.7.0/schema.json", "organizeImports": { "enabled": true }, "files": { "ignore": ["package.json", "package-lock.json"] }, "linter": { "enabled": true, "rules": { "recommended": true, "style": { "noUnusedTemplateLiteral": "off" } } }, "formatter": { "indentStyle": "space", "indentWidth": 4, "lineWidth": 320 }, "javascript": { "formatter": { "semicolons": "asNeeded" } } }
Project mention: Hashnode Blog GitHub Action - fetch and display the latest blogs in a nice format | dev.to | 2024-02-03
Usually you would pick a config you like and set it up for your project, notable ones are already mentioned but I'll mention more:
- xo https://github.com/xojs/xo
I build a general converter from SARIF to Reviewdog Diagnostic Format (RDFormat), then use Reviewdog to give suggested code changes as well as the context of the changes for PR reviewing.
Project mention: A Deep Dive Into Terraform Static Code Analysis Tools: Features and Comparisons | dev.to | 2024-04-16tfsec Owner/Maintainer: Aqua Security (acquired in 2021) Age: First released on GitHub on March 5th, 2019 License: MIT License tfsec project is no longer actively maintained in favor of the Trivy tool. But because many people still use it and it's quite famous, I added tfsec to this comparison. However, I recommend against using it for new projects.
isort: This library sorts your imports alphabetically, and automatically separates them into sections and by type. It provides a cleaner and more organised way to manage project imports.
In protection rules, I added build workflow in Require status checks to pass before merging. This is to ensure that before merging code in master branch, build should run successfully. I also added Jacoco Code Coverage to make sure that enough unit tests are available in project and Detekt to make sure that code in project is readable. I added them in build configuration. Even if one of them gives error, build will fail. Whenever, someone push code in pull request, build action will run and check if build is running successfully or not.
Linter related posts
- To Review or Not to Review: The Debate on Mandatory Code Reviews
- Supabase Security Advisor & Performance Advisor
- Biome.js : Prettier+ESLint killer ?
- Supabase Auth now supports Anonymous Sign-ins
- Am I the only one who doesn't put parentheses around the parameters in Ruby method definitions?
- Biome – fast JavaScript linter and formatter
- Rescuing legacy Node.js projects with Bun
-
A note from our sponsor - WorkOS
workos.com | 25 Apr 2024
Index
What are some of the best open-source Linter projects? This list will help you:
Project | Stars | |
---|---|---|
1 | ShellCheck | 34,934 |
2 | Standard | 28,856 |
3 | ruff | 26,504 |
4 | ESLint | 24,231 |
5 | SwiftLint | 18,308 |
6 | mypy | 17,541 |
7 | golangci-lint | 14,427 |
8 | ale | 13,264 |
9 | lint-staged | 12,858 |
10 | static-analysis | 12,858 |
11 | rubocop | 12,491 |
12 | pre-commit | 12,006 |
13 | stylelint | 10,821 |
14 | biome | 10,237 |
15 | hadolint | 9,707 |
16 | super-linter | 9,153 |
17 | oxc | 8,812 |
18 | XO | 7,543 |
19 | reviewdog | 7,350 |
20 | tfsec | 6,544 |
21 | isort | 6,314 |
22 | detekt | 6,030 |
23 | ktlint | 6,002 |
Sponsored