Luacheck vs PMD
Luacheck
luacheck.readthedocs.ioPMD
pmd.github.ioSide by side
| Figure | Luacheck | PMD |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Linters | 7.8 (#18) | 8.3 (#6) |
| CI integration | The project documents a GitHub Actions workflow and provides a Luacheck GitHub Action. | PMD provides a GitHub Action that runs custom rulesets, creates SARIF reports and can fail builds based on violation counts. |
| Installation | The project documents installation through LuaRocks and provides a single-file 64-bit Windows binary. | PMD requires Java 8 or above and is distributed as a ZIP archive containing PMD and CPD. |
| License | The project is distributed under the MIT License. | The project identifies its license as BSD-style. |
| Purpose | Luacheck is a static analyzer and linter for Lua code. | PMD is an extensible cross-language static code analyzer that finds common programming flaws. |
| Support | The project directs users to its GitHub issue tracker for bugs, suggestions, and questions, and says pull requests are welcome. | The project directs users to Stack Overflow for questions, GitHub issues for suspected bugs or requests, and Gitter for quick questions. |
Plans
In their own words
Luacheck
Luacheck has no write-up on Specifiction yet; its figures are above.
PMD
PMD is a free, extensible static code analyzer that checks source code for programming flaws such as unused variables, empty catch blocks, and unnecessary object creation. It includes more than 400 built-in rules, and teams can write custom rules in Java or XPath. Its bundled CPD tool finds duplicated code across many programming languages. PMD checks source directories from the command line and can run as a Maven, Ant, Gradle, or bld build operation. Supported languages include Java, JavaScript, Salesforce Apex and Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML, and XSL; Scala is supported without Scala rules. It runs on Linux, macOS, and Windows and requires Java 8 or above. For CI, its GitHub Action can create SARIF reports and fail builds based on violation counts; documentation also covers GitLab, Jenkins, and Bamboo integrations. IDE integrations include Eclipse, IntelliJ IDEA, and Visual Studio Code, though some listed plugins are not actively maintained. Only the latest major version is actively developed.