# ESLint vs golangci-lint

**Leader by Vioscale score:** ESLint

| Attribute | ESLint | golangci-lint |
|---|---|---|
| **Vioscale score** | 73.6 (79% (high)) | 64 (50% (medium)) |
| activity.commits_last_30d | 50 | 45 |
| adoption.dependent_repos | 1,569,244 | 10,411 |
| adoption.github_stars | 27,484 | 19,318 |
| adoption.package_downloads_weekly | 160,098,819 | - |
| deployment.options | `{"self_hosted":true}` | `{"self_hosted":true}` |
| description.long | An open-source linter and fixer for JavaScript and JSX that runs locally in editors and CI pipelines. It uses AST analysis to catch problems and can automatically fix many issues, with full support for custom rules and extensibility. | An open-source linting tool that combines multiple Go linters into a single, efficient analysis pass. It streamlines code quality checks by running linters concurrently and providing unified configuration. |
| features.capabilities | `{"autofix":true,"function":"linter_formatter","ci_gating":true,"deployment":"cli_local","open_source":"oss","config_model":"config_file","custom_rules":true,"impl_language":"JavaScript","pricing_model":"free","language_scope":"single_language","editor_integration":true}` | `{"autofix":true,"metrics":false,"function":"linter","ci_gating":true,"deployment":"cli_local","incremental":true,"open_source":"oss","config_model":"config_file","custom_rules":false,"impl_language":"Go","pricing_model":"free","language_scope":"single_language","editor_integration":true}` |
| integrations.count | 2 | 6 |
| integrations.list | `[{"name":"eslint-plugin-react"},{"name":"eslint-plugin-unicorn"}]` | `[{"name":"VS Code"},{"name":"Sublime Text"},{"name":"GoLand"},{"name":"GNU Emacs"},{"name":"Vim"},{"name":"GitHub Actions"}]` |
| language.primary | JavaScript | Go |
| license.spdx | MIT | GPL-3.0 |
| platform.support | `{"cli":true}` | `{"cli":true}` |
| pricing | `{"type":"open_source","plans":[{"free":true,"name":"Open Source","features":["Find issues in JavaScript code","Automatically fix problems","Custom parsers","Custom rules","Text editor integration","CI pipeline integration"],"description":"Free open source linter","contactSales":false}],"summary":"Free open source","freeTier":true,"sourceUrl":"https://eslint.org","retrievedAt":"2026-08-05T14:08:29.561Z"}` | `{"type":"open_source","freeTier":true,"sourceUrl":"https://golangci-lint.run/","retrievedAt":"2026-08-14T08:37:13.368Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | commercial | open_source |
| pricing.price_level | free | free |
| release.cadence_days | 13 | 5 |
| release.history | `[{"url":"https://github.com/eslint/eslint/releases/tag/v10.9.1","date":"2026-08-24T18:18:59Z","type":"stable","version":"v10.9.1"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.9.0","date":"2026-08-21T13:05:50Z","type":"stable","version":"v10.9.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.8.1","date":"2026-08-07T20:16:24Z","type":"stable","version":"v10.8.1"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.8.0","date":"2026-07-24T20:15:28Z","type":"stable","version":"v10.8.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.7.0","date":"2026-07-10T21:22:56Z","type":"stable","version":"v10.7.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v9.39.5","date":"2026-07-10T20:41:58Z","type":"stable","version":"v9.39.5"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.6.0","date":"2026-06-26T20:09:26Z","type":"stable","version":"v10.6.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.5.0","date":"2026-06-12T17:54:47Z","type":"stable","version":"v10.5.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.4.1","date":"2026-05-29T20:32:39Z","type":"stable","version":"v10.4.1"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.4.0","date":"2026-05-15T14:11:22Z","type":"stable","version":"v10.4.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.3.0","date":"2026-05-01T15:39:48Z","type":"stable","version":"v10.3.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.2.1","date":"2026-04-17T20:17:51Z","type":"stable","version":"v10.2.1"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.2.0","date":"2026-04-03T20:36:28Z","type":"stable","version":"v10.2.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.1.0","date":"2026-03-20T15:31:47Z","type":"stable","version":"v10.1.0"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.0.3","date":"2026-03-06T22:53:26Z","type":"stable","version":"v10.0.3"},{"url":"https://github.com/eslint/eslint/releases/tag/v9.39.4","date":"2026-03-06T21:46:54Z","type":"stable","version":"v9.39.4"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.0.2","date":"2026-02-23T21:43:46Z","type":"stable","version":"v10.0.2"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.0.1","date":"2026-02-20T15:15:18Z","type":"stable","version":"v10.0.1"},{"url":"https://github.com/eslint/eslint/releases/tag/v9.39.3","date":"2026-02-20T13:52:17Z","type":"stable","version":"v9.39.3"},{"url":"https://github.com/eslint/eslint/releases/tag/v10.0.0","date":"2026-02-06T22:30:54Z","type":"stable","version":"v10.0.0"}]` | `[{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.13.1","date":"2026-08-20T14:59:22Z","type":"stable","version":"v2.13.1"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.13.0","date":"2026-08-19T23:29:17Z","type":"stable","version":"v2.13.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.12.2","date":"2026-05-06T11:36:47Z","type":"stable","version":"v2.12.2"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.12.1","date":"2026-05-02T10:35:52Z","type":"stable","version":"v2.12.1"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.12.0","date":"2026-05-01T13:09:41Z","type":"stable","version":"v2.12.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.11.4","date":"2026-03-22T18:01:26Z","type":"stable","version":"v2.11.4"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.11.3","date":"2026-03-10T10:52:02Z","type":"stable","version":"v2.11.3"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.11.2","date":"2026-03-07T21:54:09Z","type":"stable","version":"v2.11.2"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.11.1","date":"2026-03-06T14:30:47Z","type":"stable","version":"v2.11.1"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.11.0","date":"2026-03-06T13:43:43Z","type":"stable","version":"v2.11.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.10.1","date":"2026-02-17T15:54:50Z","type":"stable","version":"v2.10.1"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.10.0","date":"2026-02-17T13:34:09Z","type":"stable","version":"v2.10.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.9.0","date":"2026-02-10T23:40:13Z","type":"stable","version":"v2.9.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.8.0","date":"2026-01-07T21:56:21Z","type":"stable","version":"v2.8.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.7.2","date":"2025-12-07T17:23:04Z","type":"stable","version":"v2.7.2"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.7.1","date":"2025-12-04T14:54:57Z","type":"stable","version":"v2.7.1"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.7.0","date":"2025-12-03T20:17:30Z","type":"stable","version":"v2.7.0"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.6.2","date":"2025-11-14T13:26:16Z","type":"stable","version":"v2.6.2"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.6.1","date":"2025-11-04T11:31:55Z","type":"stable","version":"v2.6.1"},{"url":"https://github.com/golangci/golangci-lint/releases/tag/v2.6.0","date":"2025-10-29T20:06:51Z","type":"stable","version":"v2.6.0"}]` |
| security.scorecard | 6.3 | 6.8 |
| security.vulnerabilities | `{"count":2,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=eslint&per_page=100","last_12m":1,"max_severity":"MODERATE"}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2Fgolangci%2Fgolangci-lint&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Code Quality Tools)

| Capability | ESLint | golangci-lint |
|---|:--:|:--:|
| **Core** |  |  |
| Function | Linter + formatter | Linter |
| Language scope | Single-language | Single-language |
| Implementation language | JavaScript | Go |
| **Capability** |  |  |
| Autofix | ✓ | ✓ |
| **Config** |  |  |
| Config model | Config file | Config file |
| **Extensibility** |  |  |
| Custom rules | ✓ | ✗ |
| **Deployment** |  |  |
| Deployment | CLI-local | CLI-local |
| **Delivery** |  |  |
| Editor integration | ✓ | ✓ |
| CI / VCS gating | ✓ | ✓ |
| **Insight** |  |  |
| Code metrics | - | ✗ |
| **Performance** |  |  |
| Incremental / monorepo aware | - | ✓ |
| **Licensing** |  |  |
| Open-source | OSS | OSS |
| **Commercial** |  |  |
| Pricing model | Free | Free |

*Source: Vioscale. Generated 2026-09-01T15:14:52.471Z. "-" = undocumented, not absent.*
