JSHint vs PHPMD
JSHint
jshint.comPHPMD
phpmd.orgSide by side
| Figure | JSHint | PHPMD |
|---|---|---|
| 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 | Yes |
| Plans published | 1 | 1 |
| Spec score · Linters | 8.7 (#3) | 7.7 (#21) |
| Installation | Official installation supports browser-like standalone files, Mozilla Rhino, npm global installation and npm development dependencies. | The site documents installation as a Phar, through PHIVE, or via Composer. |
| License | JSHint is licensed under the MIT Expat license. | The project site identifies PHPMD as licensed under the BSD 3-Clause license. |
| Purpose | JSHint is a community-driven static analysis tool that detects errors and potential problems in JavaScript code. | PHPMD analyzes PHP source code for possible bugs, suboptimal code, overcomplicated expressions, and unused parameters, methods, or properties. |
| Support | The project directs users to report bugs and suggestions through GitHub Issues. | The support page directs users to the Gitter channel for help and the issue tracker for bugs or feature requests. |
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.
PHPMD
PHPMD analyzes PHP source code for possible bugs, inefficient patterns, complicated expressions, and unused parameters, methods, or properties. Its predefined rules flag code smells and potential errors across categories including clean code, code size, controversial practices, design, naming, and unused code. Teams can add custom rules and use security rules, and PHPMD supports CI workflows. Reports include JSON, SARIF, Checkstyle-compatible, GitHub, and GitLab options, including a GitLab renderer for GitLab CI. The project documents installation through a Phar, PHIVE, or Composer; Phar files are signed with a public key associated with [email protected]. Listed requirements are PHP >= 5.3.9 and PHP_Depend >= 2.0.0. PHPMD is free under the BSD 3-Clause license and runs on Linux, macOS, Windows, or a self-hosted setup. The homepage lists version 2.15.0, dated 2023/12/11, as the latest release shown. Help is available through the Gitter channel, while bugs and feature requests go to the issue tracker.