JSHint vs Staticcheck
JSHint
jshint.comStaticcheck
staticcheck.devSide by side
| Figure | JSHint | Staticcheck |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Linters | 8.7 (#3) | 7.3 (#30) |
| Configuration | Projects can configure JSHint with a .jshintrc file, package.json jshintConfig or the CLI --config option. | Projects can configure checks and individual check behavior in TOML files named staticcheck.conf. |
| Installation | Official installation supports browser-like standalone files, Mozilla Rhino, npm global installation and npm development dependencies. | The site documents installation with go install and binary releases for common operating systems and CPU architectures. |
| Purpose | JSHint is a community-driven static analysis tool that detects errors and potential problems in JavaScript code. | Staticcheck is a Go linter that uses static analysis to find bugs and performance issues, suggest simplifications, and enforce style rules. |
Plans
In their own words
JSHint
JSHint is a free, open-source static analysis tool for JavaScript. It checks code for syntax errors and potential problems such as implicit type conversion issues and leaking variables. The project aims to help JavaScript developers avoid typos and language gotchas while working on complex programs. JSHint is distributed as a Node module with a library and command-line program, and it can also be used through a JavaScript API. Configuration can come from command-line options, a .jshintrc file, package.json, or inline source directives. Standalone files are available for browser-like environments and Mozilla Rhino, with releases published to npm for Node.js. The install page lists integrations for editors and IDEs including Vim, Emacs, Sublime Text, Visual Studio, VS Code, Eclipse, and JetBrains IDEs, plus build integrations such as Grunt, Ant, Maven, pre-commit, and QUnit. JSHint is licensed under the MIT Expat license. Its documentation cautions that static analysis cannot determine whether a program is correct or fast, or whether it has memory leaks, and recommends using it alongside unit and functional tests and code reviews.
Staticcheck
Staticcheck has no write-up on Specifiction yet; its figures are above.