mega-linter-runner 10.0.0 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +128 -117
- package/generators/mega-linter-custom-flavor/index.js +23 -10
- package/lib/codetotal.js +3 -3
- package/lib/colors.js +16 -0
- package/lib/list-vars.js +2 -2
- package/lib/megalinter-vars.json +2178 -69
- package/lib/ox-setup.js +0 -1
- package/lib/runner.js +16 -11
- package/lib/upgrade.js +4 -4
- package/lib/upload-dashboards.js +2 -2
- package/lib/which.js +24 -0
- package/package.json +2 -10
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
[](https://npmjs.org/package/mega-linter-runner)
|
|
16
16
|
[](https://GitHub.com/oxsecurity/megalinter/stargazers/)
|
|
17
17
|
<!-- readme-header-start -->
|
|
18
|
-
[](https://megalinter.io/flavors/)
|
|
19
19
|
[](https://megalinter.io)
|
|
20
20
|
[](https://codecov.io/gh/oxsecurity/megalinter)
|
|
21
21
|
[](https://github.com/aquasecurity/trivy)
|
|
@@ -202,90 +202,98 @@ You can generate a ready-to-use [.mega-linter.yml configuration file](https://me
|
|
|
202
202
|
<!-- linters-table-start -->
|
|
203
203
|
### Languages
|
|
204
204
|
|
|
205
|
-
|
|
|
206
|
-
|
|
207
|
-
|
|
|
208
|
-
|
|
|
209
|
-
|
|
|
210
|
-
|
|
|
211
|
-
|
|
|
212
|
-
|
|
|
213
|
-
|
|
|
214
|
-
|
|
|
215
|
-
|
|
|
216
|
-
|
|
|
217
|
-
|
|
|
218
|
-
|
|
|
219
|
-
|
|
|
220
|
-
|
|
|
221
|
-
|
|
|
222
|
-
|
|
|
223
|
-
|
|
|
224
|
-
|
|
|
225
|
-
|
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md)
|
|
229
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md)
|
|
230
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md)
|
|
231
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
232
|
-
|
|
|
233
|
-
|
|
|
234
|
-
|
|
|
235
|
-
|
|
|
236
|
-
|
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
240
|
-
|
|
|
241
|
-
|
|
|
242
|
-
|
|
|
243
|
-
|
|
|
244
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
245
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
246
|
-
|
|
|
247
|
-
|
|
|
248
|
-
|
|
|
249
|
-
|
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
|
|
|
253
|
-
|
|
|
254
|
-
|
|
|
255
|
-
|
|
|
256
|
-
|
|
|
257
|
-
|
|
|
258
|
-
|
|
|
259
|
-
|
|
|
260
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)
|
|
261
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md)
|
|
262
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
263
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
264
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
265
|
-
|
|
|
266
|
-
|
|
|
267
|
-
|
|
|
268
|
-
|
|
|
269
|
-
|
|
|
205
|
+
| <!-- --> | Language | Linter | Additional |
|
|
206
|
+
|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------:|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
207
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/bash.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**BASH**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash.md) | [**bash-exec**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_bash_exec.md)<br/>[_BASH_EXEC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_bash_exec.md) | |
|
|
208
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/bash.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**BASH**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash.md) | [**shellcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shellcheck.md)<br/>[_BASH_SHELLCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shellcheck.md) | [](https://github.com/koalaman/shellcheck)  |
|
|
209
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/bash.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**BASH**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash.md) | [**shfmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shfmt.md)<br/>[_BASH_SHFMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bash_shfmt.md) | [](https://github.com/mvdan/sh)  |
|
|
210
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/c.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c.md) | [**cppcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cppcheck.md)<br/>[_C_CPPCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cppcheck.md) |  |
|
|
211
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/c.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c.md) | [**cpplint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cpplint.md)<br/>[_C_CPPLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_cpplint.md) | [](https://github.com/cpplint/cpplint) |
|
|
212
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/c.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c.md) | [**clang-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_clang_format.md)<br/>[_C_CLANG_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/c_clang_format.md) | [](https://github.com/llvm/llvm-project)  |
|
|
213
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/clojure.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**CLOJURE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure.md) | [**clj-kondo**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_clj_kondo.md)<br/>[_CLOJURE_CLJ_KONDO_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_clj_kondo.md) | [](https://github.com/borkdude/clj-kondo)  |
|
|
214
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/clojure.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**CLOJURE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure.md) | [**cljstyle**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_cljstyle.md)<br/>[_CLOJURE_CLJSTYLE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/clojure_cljstyle.md) | [](https://github.com/greglook/cljstyle)  |
|
|
215
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/coffee.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**COFFEE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/coffee.md) | <s>[**coffeelint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/coffee_coffeelint.md)<br/>[_COFFEE_COFFEELINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/coffee_coffeelint.md)</s> | <span title="Disabled: CoffeeScript tooling is discontinued, and coffeelint can not honor EXCLUDED_DIRECTORIES (it has no exclusion option and only reads .coffeelintignore from its working directory). The linter will be removed in a future version">🚫</span> [](https://github.com/clutchski/coffeelint) |
|
|
216
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cpp.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C++** (CPP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp.md) | [**cppcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cppcheck.md)<br/>[_CPP_CPPCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cppcheck.md) |  |
|
|
217
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cpp.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C++** (CPP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp.md) | [**cpplint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cpplint.md)<br/>[_CPP_CPPLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_cpplint.md) | [](https://github.com/cpplint/cpplint) |
|
|
218
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cpp.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C++** (CPP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp.md) | [**clang-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_clang_format.md)<br/>[_CPP_CLANG_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cpp_clang_format.md) | [](https://github.com/llvm/llvm-project)  |
|
|
219
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/csharp.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C#** (CSHARP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp.md) | [**dotnet-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_dotnet_format.md)<br/>[_CSHARP_DOTNET_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_dotnet_format.md) | [](https://github.com/dotnet/sdk)  |
|
|
220
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/csharp.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C#** (CSHARP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp.md) | [**csharpier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_csharpier.md)<br/>[_CSHARP_CSHARPIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_csharpier.md) | [](https://github.com/belav/csharpier)  |
|
|
221
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/csharp.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**C#** (CSHARP)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp.md) | [**roslynator**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_roslynator.md)<br/>[_CSHARP_ROSLYNATOR_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/csharp_roslynator.md) | [](https://github.com/dotnet/Roslynator)  |
|
|
222
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/dart.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**DART**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dart.md) | [**dartanalyzer**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dart_dartanalyzer.md)<br/>[_DART_DARTANALYZER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dart_dartanalyzer.md) | [](https://github.com/dart-lang/sdk) |
|
|
223
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/go.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**GO**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go.md) | [**golangci-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_golangci_lint.md)<br/>[_GO_GOLANGCI_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_golangci_lint.md) | [](https://github.com/golangci/golangci-lint)   |
|
|
224
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/go.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**GO**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go.md) | [**revive**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_revive.md)<br/>[_GO_REVIVE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/go_revive.md) | [](https://github.com/mgechev/revive)  |
|
|
225
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/groovy.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**GROOVY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/groovy.md) | [**npm-groovy-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/groovy_npm_groovy_lint.md)<br/>[_GROOVY_NPM_GROOVY_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/groovy_npm_groovy_lint.md) | [](https://github.com/nvuillam/npm-groovy-lint)   |
|
|
226
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/java.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java.md) | [**checkstyle**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_checkstyle.md)<br/>[_JAVA_CHECKSTYLE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_checkstyle.md) | [](https://github.com/checkstyle/checkstyle)  |
|
|
227
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/java.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java.md) | [**pmd**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_pmd.md)<br/>[_JAVA_PMD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/java_pmd.md) | [](https://github.com/pmd/pmd)  |
|
|
228
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md) | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_eslint.md)<br/>[_JAVASCRIPT_ES_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_eslint.md) | [](https://github.com/eslint/eslint)   |
|
|
229
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md) | [**standard**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_standard.md)<br/>[_JAVASCRIPT_STANDARD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_standard.md) | [](https://github.com/standard/standard)  |
|
|
230
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md) | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_prettier.md)<br/>[_JAVASCRIPT_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_prettier.md) | [](https://github.com/prettier/prettier)  |
|
|
231
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/javascript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JAVASCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_biome.md)<br/>[_JAVASCRIPT_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/javascript_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
232
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/jsx.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx.md) | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx_eslint.md)<br/>[_JSX_ESLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx_eslint.md) | [](https://github.com/Rel1cx/eslint-react)   |
|
|
233
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/jsx.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx_biome.md)<br/>[_JSX_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/jsx_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
234
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kotlin.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**KOTLIN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin.md) | [**ktlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_ktlint.md)<br/>[_KOTLIN_KTLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_ktlint.md) | [](https://github.com/pinterest/ktlint)   |
|
|
235
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kotlin.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**KOTLIN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin.md) | [**detekt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_detekt.md)<br/>[_KOTLIN_DETEKT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kotlin_detekt.md) | [](https://github.com/detekt/detekt)  |
|
|
236
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/lua.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**LUA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua.md) | [**luacheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_luacheck.md)<br/>[_LUA_LUACHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_luacheck.md) | [](https://github.com/lunarmodules/luacheck) |
|
|
237
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/lua.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**LUA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua.md) | [**stylua**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_stylua.md)<br/>[_LUA_STYLUA_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/lua_stylua.md) | [](https://github.com/JohnnyMorganz/StyLua) |
|
|
238
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/perl.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PERL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/perl.md) | [**perlcritic**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/perl_perlcritic.md)<br/>[_PERL_PERLCRITIC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/perl_perlcritic.md) | [](https://github.com/Perl-Critic/Perl-Critic) |
|
|
239
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md) | [**phpcs**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpcs.md)<br/>[_PHP_PHPCS_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpcs.md) | [](https://github.com/PHPCSStandards/PHP_CodeSniffer)  |
|
|
240
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md) | [**phpstan**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpstan.md)<br/>[_PHP_PHPSTAN_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phpstan.md) | [](https://github.com/phpstan/phpstan)  |
|
|
241
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md) | [**psalm**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_psalm.md)<br/>[_PHP_PSALM_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_psalm.md) | [](https://github.com/vimeo/psalm)  |
|
|
242
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md) | [**phplint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phplint.md)<br/>[_PHP_PHPLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_phplint.md) | [](https://github.com/overtrue/phplint)  |
|
|
243
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/php.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PHP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php.md) | [**php-cs-fixer**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_php_cs_fixer.md)<br/>[_PHP_PHPCSFIXER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/php_php_cs_fixer.md) | [](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) |
|
|
244
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/powershell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**POWERSHELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell.md) | [**powershell**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell.md)<br/>[_POWERSHELL_POWERSHELL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell.md) | [](https://github.com/PowerShell/PSScriptAnalyzer)  |
|
|
245
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/powershell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**POWERSHELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell.md) | [**powershell_formatter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell_formatter.md)<br/>[_POWERSHELL_POWERSHELL_FORMATTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/powershell_powershell_formatter.md) | [](https://github.com/PowerShell/PSScriptAnalyzer)  |
|
|
246
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**pylint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pylint.md)<br/>[_PYTHON_PYLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pylint.md) | [](https://github.com/pylint-dev/pylint) |
|
|
247
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**black**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_black.md)<br/>[_PYTHON_BLACK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_black.md) | [](https://github.com/psf/black)  |
|
|
248
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**flake8**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_flake8.md)<br/>[_PYTHON_FLAKE8_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_flake8.md) | [](https://github.com/PyCQA/flake8) |
|
|
249
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**isort**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_isort.md)<br/>[_PYTHON_ISORT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_isort.md) | [](https://github.com/PyCQA/isort)  |
|
|
250
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**bandit**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_bandit.md)<br/>[_PYTHON_BANDIT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_bandit.md) | [](https://github.com/PyCQA/bandit)  |
|
|
251
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**mypy**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_mypy.md)<br/>[_PYTHON_MYPY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_mypy.md) | [](https://github.com/python/mypy) |
|
|
252
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**nbqa**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_nbqa.md)<br/>[_PYTHON_NBQA_MYPY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_nbqa.md) | [](https://github.com/nbQA-dev/nbQA) |
|
|
253
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**pyright**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pyright.md)<br/>[_PYTHON_PYRIGHT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_pyright.md) | [](https://github.com/microsoft/pyright) |
|
|
254
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**ruff**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff.md)<br/>[_PYTHON_RUFF_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff.md) | [](https://github.com/astral-sh/ruff)   |
|
|
255
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/python.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PYTHON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python.md) | [**ruff-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff_format.md)<br/>[_PYTHON_RUFF_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/python_ruff_format.md) | [](https://github.com/astral-sh/ruff)  |
|
|
256
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/r.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**R**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/r.md) | [**lintr**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/r_lintr.md)<br/>[_R_LINTR_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/r_lintr.md) | [](https://github.com/r-lib/lintr)  |
|
|
257
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/raku.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**RAKU**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/raku.md) | [**raku**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/raku_raku.md)<br/>[_RAKU_RAKU_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/raku_raku.md) | [](https://github.com/rakudo/rakudo) |
|
|
258
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/ruby.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**RUBY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ruby.md) | [**rubocop**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ruby_rubocop.md)<br/>[_RUBY_RUBOCOP_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ruby_rubocop.md) | [](https://github.com/rubocop-hq/rubocop)  |
|
|
259
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rust.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**RUST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rust.md) | [**clippy**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rust_clippy.md)<br/>[_RUST_CLIPPY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rust_clippy.md) | [](https://github.com/rust-lang/rust-clippy) |
|
|
260
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md) | [**code-analyzer-apex**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_apex.md)<br/>[_SALESFORCE_CODE_ANALYZER_APEX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_apex.md) | [](https://github.com/forcedotcom/code-analyzer)  |
|
|
261
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md) | [**code-analyzer-apexguru**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_apexguru.md)<br/>[_SALESFORCE_CODE_ANALYZER_APEXGURU_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_apexguru.md) | [](https://github.com/forcedotcom/code-analyzer)  |
|
|
262
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md) | [**code-analyzer-aura**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_aura.md)<br/>[_SALESFORCE_CODE_ANALYZER_AURA_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_aura.md) | [](https://github.com/forcedotcom/code-analyzer)  |
|
|
263
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md) | [**code-analyzer-lwc**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_lwc.md)<br/>[_SALESFORCE_CODE_ANALYZER_LWC_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_lwc.md) | [](https://github.com/forcedotcom/code-analyzer)  |
|
|
264
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/salesforce.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SALESFORCE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce.md) | [**code-analyzer-flow**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_flow.md)<br/>[_SALESFORCE_CODE_ANALYZER_FLOW_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/salesforce_code_analyzer_flow.md) | [](https://github.com/forcedotcom/code-analyzer)  |
|
|
265
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/scala.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SCALA**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/scala.md) | [**scalafix**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/scala_scalafix.md)<br/>[_SCALA_SCALAFIX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/scala_scalafix.md) | [](https://github.com/scalacenter/scalafix) |
|
|
266
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/sql.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SQL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql.md) | [**sqlfluff**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql_sqlfluff.md)<br/>[_SQL_SQLFLUFF_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/sql_sqlfluff.md) | [](https://github.com/sqlfluff/sqlfluff)   |
|
|
267
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/swift.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SWIFT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/swift.md) | [**swiftlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/swift_swiftlint.md)<br/>[_SWIFT_SWIFTLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/swift_swiftlint.md) | [](https://github.com/realm/SwiftLint)   |
|
|
268
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/tsx.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TSX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx.md) | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx_eslint.md)<br/>[_TSX_ESLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx_eslint.md) | [](https://github.com/Rel1cx/eslint-react)   |
|
|
269
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/tsx.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TSX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx_biome.md)<br/>[_TSX_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tsx_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
270
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md) | [**eslint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_eslint.md)<br/>[_TYPESCRIPT_ES_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_eslint.md) | [](https://github.com/typescript-eslint/typescript-eslint)   |
|
|
271
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md) | [**ts-standard**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_ts_standard.md)<br/>[_TYPESCRIPT_STANDARD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_ts_standard.md) | [](https://github.com/standard/ts-standard)  |
|
|
272
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md) | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_prettier.md)<br/>[_TYPESCRIPT_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_prettier.md) | [](https://github.com/prettier/prettier)  |
|
|
273
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/typescript.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TYPESCRIPT**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_biome.md)<br/>[_TYPESCRIPT_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/typescript_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
274
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/vbdotnet.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**Visual Basic .NET** (VBDOTNET)](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/vbdotnet.md) | [**dotnet-format**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/vbdotnet_dotnet_format.md)<br/>[_VBDOTNET_DOTNET_FORMAT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/vbdotnet_dotnet_format.md) | [](https://github.com/dotnet/sdk)  |
|
|
270
275
|
|
|
271
276
|
### Formats
|
|
272
277
|
|
|
273
|
-
|
|
|
274
|
-
|
|
275
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/css.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**CSS**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css.md) | [**stylelint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_stylelint.md)<br/>[_CSS_STYLELINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_stylelint.md)
|
|
276
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
277
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
278
|
+
| <!-- --> | Format | Linter | Additional |
|
|
279
|
+
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------:|---------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
280
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/css.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**CSS**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css.md) | [**stylelint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_stylelint.md)<br/>[_CSS_STYLELINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_stylelint.md) | [](https://github.com/stylelint/stylelint)  |
|
|
281
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/css.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**CSS**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_biome.md)<br/>[_CSS_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/css_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
282
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/env.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**ENV**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/env.md) | [**dotenv-linter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/env_dotenv_linter.md)<br/>[_ENV_DOTENV_LINTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/env_dotenv_linter.md) | [](https://github.com/dotenv-linter/dotenv-linter)  |
|
|
283
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/graphql.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**GRAPHQL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql.md) | <s>[**graphql-schema-linter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql_graphql_schema_linter.md)<br/>[_GRAPHQL_GRAPHQL_SCHEMA_LINTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql_graphql_schema_linter.md)</s> | <span title="Disabled: graphql-schema-linter is unmaintained (no release or commit since May 2022) and its peer dependency range pins graphql to ^15 || ^16, which blocks the whole GraphQL npm install from moving to graphql v17. Use GRAPHQL_BIOME to lint GraphQL files. The linter will be removed in a future version">🚫</span> [](https://github.com/cjoudrey/graphql-schema-linter) |
|
|
284
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/graphql.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**GRAPHQL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql_biome.md)<br/>[_GRAPHQL_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/graphql_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
278
285
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/html.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**HTML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html.md) | [**djlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_djlint.md)<br/>[_HTML_DJLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_djlint.md) | [](https://github.com/Riverside-Healthcare/djlint) |
|
|
279
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/html.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**HTML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html.md) | [**htmlhint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_htmlhint.md)<br/>[_HTML_HTMLHINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_htmlhint.md) | [](https://github.com/htmlhint/HTMLHint) |
|
|
286
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/html.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**HTML**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html.md) | [**htmlhint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_htmlhint.md)<br/>[_HTML_HTMLHINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/html_htmlhint.md) | [](https://github.com/htmlhint/HTMLHint)  |
|
|
280
287
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md) | [**jsonlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_jsonlint.md)<br/>[_JSON_JSONLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_jsonlint.md) | [](https://github.com/prantlf/jsonlint) |
|
|
281
288
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md) | [**v8r**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_v8r.md)<br/>[_JSON_V8R_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_v8r.md) | [](https://github.com/chris48s/v8r) |
|
|
282
289
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md) | [**prettier**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_prettier.md)<br/>[_JSON_PRETTIER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_prettier.md) | [](https://github.com/prettier/prettier)  |
|
|
283
290
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md) | [**npm-package-json-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_npm_package_json_lint.md)<br/>[_JSON_NPM_PACKAGE_JSON_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_npm_package_json_lint.md) | [](https://github.com/tclindner/npm-package-json-lint) |
|
|
291
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/json.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**JSON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json.md) | [**biome**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_biome.md)<br/>[_JSON_BIOME_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/json_biome.md) | [](https://github.com/biomejs/biome)   |
|
|
284
292
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/latex.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**LATEX**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/latex.md) | [**chktex**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/latex_chktex.md)<br/>[_LATEX_CHKTEX_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/latex_chktex.md) | |
|
|
285
293
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**markdownlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdownlint.md)<br/>[_MARKDOWN_MARKDOWNLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdownlint.md) | [](https://github.com/DavidAnson/markdownlint)  |
|
|
286
294
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**markdown-table-formatter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdown_table_formatter.md)<br/>[_MARKDOWN_MARKDOWN_TABLE_FORMATTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_markdown_table_formatter.md) | [](https://github.com/nvuillam/markdown-table-formatter)  |
|
|
287
295
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/markdown.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**MARKDOWN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown.md) | [**rumdl**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_rumdl.md)<br/>[_MARKDOWN_RUMDL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/markdown_rumdl.md) | [](https://github.com/rvben/rumdl)   |
|
|
288
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/protobuf.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PROTOBUF**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf.md) | [**protolint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf_protolint.md)<br/>[_PROTOBUF_PROTOLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf_protolint.md) | [](https://github.com/yoheimuta/protolint)  |
|
|
296
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/protobuf.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**PROTOBUF**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf.md) | [**protolint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf_protolint.md)<br/>[_PROTOBUF_PROTOLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/protobuf_protolint.md) | [](https://github.com/yoheimuta/protolint)   |
|
|
289
297
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rst.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**RST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst.md) | [**rst-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rst_lint.md)<br/>[_RST_RST_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rst_lint.md) | [](https://github.com/twolfson/restructuredtext-lint) |
|
|
290
298
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rst.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**RST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst.md) | [**rstcheck**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstcheck.md)<br/>[_RST_RSTCHECK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstcheck.md) | [](https://github.com/myint/rstcheck) |
|
|
291
299
|
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/rst.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**RST**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst.md) | [**rstfmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstfmt.md)<br/>[_RST_RSTFMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/rst_rstfmt.md) |  |
|
|
@@ -296,53 +304,56 @@ You can generate a ready-to-use [.mega-linter.yml configuration file](https://me
|
|
|
296
304
|
|
|
297
305
|
### Tooling formats
|
|
298
306
|
|
|
299
|
-
|
|
|
300
|
-
|
|
301
|
-
|
|
|
302
|
-
|
|
|
303
|
-
|
|
|
304
|
-
|
|
|
305
|
-
|
|
|
306
|
-
|
|
|
307
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/
|
|
308
|
-
|
|
|
309
|
-
|
|
|
310
|
-
|
|
|
311
|
-
|
|
|
312
|
-
|
|
|
313
|
-
|
|
|
314
|
-
|
|
|
315
|
-
|
|
|
316
|
-
|
|
|
317
|
-
|
|
|
318
|
-
|
|
|
319
|
-
|
|
|
307
|
+
| <!-- --> | Tooling format | Linter | Additional |
|
|
308
|
+
|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|-------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
309
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**ACTION**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action.md) | [**actionlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action_actionlint.md)<br/>[_ACTION_ACTIONLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action_actionlint.md) | [](https://github.com/rhysd/actionlint) |
|
|
310
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**ACTION**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action.md) | [**zizmor**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action_zizmor.md)<br/>[_ACTION_ZIZMOR_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/action_zizmor.md) | [](https://github.com/zizmorcore/zizmor)   |
|
|
311
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/ansible.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**ANSIBLE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ansible.md) | [**ansible-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ansible_ansible_lint.md)<br/>[_ANSIBLE_ANSIBLE_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/ansible_ansible_lint.md) | [](https://github.com/ansible/ansible-lint)  |
|
|
312
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**API**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/api.md) | [**spectral**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/api_spectral.md)<br/>[_API_SPECTRAL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/api_spectral.md) | [](https://github.com/stoplightio/spectral)  |
|
|
313
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/arm.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**ARM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/arm.md) | [**arm-ttk**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/arm_arm_ttk.md)<br/>[_ARM_ARM_TTK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/arm_arm_ttk.md) | [](https://github.com/Azure/arm-ttk) |
|
|
314
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**BICEP**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bicep.md) | [**bicep_linter**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bicep_bicep_linter.md)<br/>[_BICEP_BICEP_LINTER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/bicep_bicep_linter.md) | [](https://github.com/Azure/bicep)  |
|
|
315
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/cloudformation.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**CLOUDFORMATION**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cloudformation.md) | [**cfn-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cloudformation_cfn_lint.md)<br/>[_CLOUDFORMATION_CFN_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/cloudformation_cfn_lint.md) | [](https://github.com/aws-cloudformation/cfn-lint)  |
|
|
316
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/dockerfile.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**DOCKERFILE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dockerfile.md) | [**hadolint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dockerfile_hadolint.md)<br/>[_DOCKERFILE_HADOLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/dockerfile_hadolint.md) | [](https://github.com/hadolint/hadolint)  |
|
|
317
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/editorconfig.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**EDITORCONFIG**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/editorconfig.md) | [**editorconfig-checker**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/editorconfig_editorconfig_checker.md)<br/>[_EDITORCONFIG_EDITORCONFIG_CHECKER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/editorconfig_editorconfig_checker.md) | [](https://github.com/editorconfig-checker/editorconfig-checker) |
|
|
318
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/gherkin.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**GHERKIN**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/gherkin.md) | [**gherkin-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/gherkin_gherkin_lint.md)<br/>[_GHERKIN_GHERKIN_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/gherkin_gherkin_lint.md) | [](https://github.com/gherkin-lint/gherkin-lint) |
|
|
319
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kubernetes.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**KUBERNETES**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes.md) | [**kubeconform**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes_kubeconform.md)<br/>[_KUBERNETES_KUBECONFORM_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes_kubeconform.md) | [](https://github.com/yannh/kubeconform) |
|
|
320
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kubernetes.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**KUBERNETES**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes.md) | [**helm**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes_helm.md)<br/>[_KUBERNETES_HELM_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes_helm.md) | [](https://github.com/helm/helm) |
|
|
321
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/kubernetes.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**KUBERNETES**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes.md) | [**kubescape**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes_kubescape.md)<br/>[_KUBERNETES_KUBESCAPE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/kubernetes_kubescape.md) | [](https://github.com/kubescape/kubescape)  |
|
|
322
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**ROBOTFRAMEWORK**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/robotframework.md) | [**robocop**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/robotframework_robocop.md)<br/>[_ROBOTFRAMEWORK_ROBOCOP_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/robotframework_robocop.md) | [](https://github.com/MarketSquare/robotframework-robocop)   |
|
|
323
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/snakemake.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SNAKEMAKE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/snakemake.md) | [**snakemake**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/snakemake_snakemake.md)<br/>[_SNAKEMAKE_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/snakemake_snakemake.md) | [](https://github.com/snakemake/snakemake) |
|
|
324
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/snakemake.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SNAKEMAKE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/snakemake.md) | [**snakefmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/snakemake_snakefmt.md)<br/>[_SNAKEMAKE_SNAKEFMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/snakemake_snakefmt.md) | [](https://github.com/snakemake/snakefmt)  |
|
|
325
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/tekton.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TEKTON**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tekton.md) | [**tekton-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tekton_tekton_lint.md)<br/>[_TEKTON_TEKTON_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/tekton_tekton_lint.md) | [](https://github.com/IBM/tekton-lint) |
|
|
326
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/terraform.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TERRAFORM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform.md) | [**tflint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_tflint.md)<br/>[_TERRAFORM_TFLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_tflint.md) | [](https://github.com/terraform-linters/tflint)  |
|
|
327
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/terraform.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TERRAFORM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform.md) | [**terragrunt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_terragrunt.md)<br/>[_TERRAFORM_TERRAGRUNT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_terragrunt.md) | [](https://github.com/gruntwork-io/terragrunt)  |
|
|
328
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/terraform.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TERRAFORM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform.md) | [**terraform-fmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_terraform_fmt.md)<br/>[_TERRAFORM_TERRAFORM_FMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_terraform_fmt.md) | [](https://github.com/hashicorp/terraform)  |
|
|
329
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/terraform.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TERRAFORM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform.md) | [**tofu-fmt**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_tofu_fmt.md)<br/>[_TERRAFORM_TOFU_FMT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_tofu_fmt.md) | [](https://github.com/opentofu/opentofu)  |
|
|
330
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/terraform.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**TERRAFORM**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform.md) | [**tofu-validate**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_tofu_validate.md)<br/>[_TERRAFORM_TOFU_VALIDATE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/terraform_tofu_validate.md) | [](https://github.com/opentofu/opentofu) |
|
|
320
331
|
|
|
321
332
|
### Other
|
|
322
333
|
|
|
323
|
-
|
|
|
324
|
-
|
|
325
|
-
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/copypaste.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**COPYPASTE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/copypaste.md)
|
|
326
|
-
|
|
|
327
|
-
|
|
|
328
|
-
|
|
|
329
|
-
|
|
|
330
|
-
|
|
|
331
|
-
|
|
|
332
|
-
|
|
|
333
|
-
|
|
|
334
|
-
|
|
|
335
|
-
|
|
|
336
|
-
|
|
|
337
|
-
|
|
|
338
|
-
|
|
|
339
|
-
|
|
|
340
|
-
|
|
|
341
|
-
|
|
|
342
|
-
|
|
|
343
|
-
|
|
|
344
|
-
|
|
|
345
|
-
|
|
|
334
|
+
| <!-- --> | Code quality checker | Linter | Additional |
|
|
335
|
+
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|-----------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
336
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/copypaste.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**COPYPASTE**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/copypaste.md) | [**jscpd**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/copypaste_jscpd.md)<br/>[_COPYPASTE_JSCPD_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/copypaste_jscpd.md) | [](https://github.com/kucherenko/jscpd)  |
|
|
337
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**checkov**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_checkov.md)<br/>[_REPOSITORY_CHECKOV_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_checkov.md) | [](https://github.com/bridgecrewio/checkov)  |
|
|
338
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**devskim**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_devskim.md)<br/>[_REPOSITORY_DEVSKIM_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_devskim.md) | [](https://github.com/microsoft/DevSkim)  |
|
|
339
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**dustilock**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_dustilock.md)<br/>[_REPOSITORY_DUSTILOCK_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_dustilock.md) | [](https://github.com/Checkmarx/dustilock)  |
|
|
340
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**git_diff**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_git_diff.md)<br/>[_REPOSITORY_GIT_DIFF_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_git_diff.md) | [](https://github.com/git/git) |
|
|
341
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**betterleaks**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_betterleaks.md)<br/>[_REPOSITORY_BETTERLEAKS_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_betterleaks.md) | [](https://github.com/betterleaks/betterleaks)  |
|
|
342
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**grype**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_grype.md)<br/>[_REPOSITORY_GRYPE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_grype.md) | [](https://github.com/anchore/grype)  |
|
|
343
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**ls-lint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_ls_lint.md)<br/>[_REPOSITORY_LS_LINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_ls_lint.md) | [](https://github.com/loeffel-io/ls-lint) |
|
|
344
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**osv-scanner**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_osv_scanner.md)<br/>[_REPOSITORY_OSV_SCANNER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_osv_scanner.md) | [](https://github.com/google/osv-scanner)  |
|
|
345
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**secretlint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_secretlint.md)<br/>[_REPOSITORY_SECRETLINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_secretlint.md) | [](https://github.com/secretlint/secretlint)  |
|
|
346
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**semgrep**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_semgrep.md)<br/>[_REPOSITORY_SEMGREP_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_semgrep.md) | [](https://github.com/returntocorp/semgrep)  |
|
|
347
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**syft**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_syft.md)<br/>[_REPOSITORY_SYFT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_syft.md) | [](https://github.com/anchore/syft)  |
|
|
348
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**trivy**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_trivy.md)<br/>[_REPOSITORY_TRIVY_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_trivy.md) | [](https://github.com/aquasecurity/trivy)  |
|
|
349
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**trivy-sbom**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_trivy_sbom.md)<br/>[_REPOSITORY_TRIVY_SBOM_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_trivy_sbom.md) | [](https://github.com/aquasecurity/trivy)  |
|
|
350
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**trufflehog**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_trufflehog.md)<br/>[_REPOSITORY_TRUFFLEHOG_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_trufflehog.md) | [](https://github.com/trufflesecurity/trufflehog) |
|
|
351
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/default.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**REPOSITORY**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository.md) | [**kingfisher**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_kingfisher.md)<br/>[_REPOSITORY_KINGFISHER_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/repository_kingfisher.md) | [](https://github.com/mongodb/kingfisher)  |
|
|
352
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/spell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SPELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell.md) | [**cspell**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_cspell.md)<br/>[_SPELL_CSPELL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_cspell.md) | [](https://github.com/streetsidesoftware/cspell) |
|
|
353
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/spell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SPELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell.md) | [**proselint**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_proselint.md)<br/>[_SPELL_PROSELINT_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_proselint.md) | [](https://github.com/amperser/proselint) |
|
|
354
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/spell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SPELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell.md) | [**vale**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_vale.md)<br/>[_SPELL_VALE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_vale.md) | [](https://github.com/errata-ai/vale) |
|
|
355
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/spell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SPELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell.md) | [**lychee**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_lychee.md)<br/>[_SPELL_LYCHEE_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_lychee.md) | [](https://github.com/lycheeverse/lychee) |
|
|
356
|
+
| <img src="https://github.com/oxsecurity/megalinter/raw/main/docs/assets/icons/spell.ico" alt="" height="32px" class="megalinter-icon"></a> <!-- linter-icon --> | [**SPELL**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell.md) | [**codespell**](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_codespell.md)<br/>[_SPELL_CODESPELL_](https://github.com/oxsecurity/megalinter/tree/main/docs/descriptors/spell_codespell.md) | [](https://github.com/codespell-project/codespell)  |
|
|
346
357
|
|
|
347
358
|
<!-- linters-table-end -->
|
|
348
359
|
|