Luacheck vs SwiftLint
Luacheck
luacheck.readthedocs.ioSwiftLint
realm.github.ioSide by side
| Figure | Luacheck | SwiftLint |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Linters | 7.8 (#18) | 8.0 (#11) |
| Configuration | Checks can be configured through command-line options, configuration files, or comments in checked files. | File inclusions and exclusions can be configured in a `.swiftlint.yml` configuration file. |
| License | The project is distributed under the MIT License. | The GitHub repository identifies SwiftLint as MIT licensed. |
| Output | The command line supports built-in TAP, JUnit XML, Visual Studio/MSBuild, plain-text, and default formatters. | The command line supports linting, analysis, baselines, rule listings, and multiple reporters. |
| Purpose | Luacheck is a static analyzer and linter for Lua code. | SwiftLint enforces Swift style and conventions based on rules generally accepted by the Swift community. |
| Support | The project directs users to its GitHub issue tracker for bugs, suggestions, and questions, and says pull requests are welcome. | The maintainers ask users to support the project by contributing, reporting issues, and helping the community, and note that volunteer time is limited. |
Plans
In their own words
Luacheck
Luacheck has no write-up on Specifiction yet; its figures are above.
SwiftLint
SwiftLint is a free, MIT-licensed tool that checks Swift source against style rules and conventions accepted by the Swift community. It includes more than 200 built-in rules, with opt-in rules disabled by default. A project can set active rules, included and excluded paths, and rule settings in a `.swiftlint.yml` file. SwiftLint can automatically correct some violations, overwriting affected files, and its command line supports linting, analysis, baselines, rule listings, and multiple reporters. Documented integrations include Xcode and Swift Package Manager plugins, pre-commit, Fastlane, Docker, Visual Studio Code, and MegaLinter. Installation choices include package managers, prebuilt packages, and source builds. Releases include macOS, Windows, and Linux binaries. SwiftLint is intended for valid, compilable source, and non-compiling code may produce unexpected results, especially when autocorrecting. Analyzer rules are considerably slower than lint rules. The project is maintained by volunteers, and the maintainers describe it as non-commercial.