Descriptor definition for MegaLinter
No Additional PropertiesNames of the config files to be found (at least one), else descriptor will be deactivated. Search in workspace, linter rules path, and filessubdirectory
No Additional Items[
".editorconfig",
".eslintrc.json"
]
MegaLinter flavors matching this descriptor
No Additional Items[
"all_flavors",
"java",
"php"
]
MegaLinter flavors that must not contain this descriptor
No Additional Items[
"all_flavors",
"java",
"php"
]
Uppercase unique identifier for the language, tooling format or identifier
"PYTHON"
"XML"
"OPENAPI"
Label for descriptor documentation, if different from Id. Ex: C++ for CPP
"C++"
"Visual Basic .NET"
Descriptor type: language, format or tooling format
"language"
"format"
"tooling_format"
"other"
Regular expression list for filtering files by their content
No Additional Items[
"AWSTemplateFormatVersion",
"(AWS|Alexa|Custom)::"
]
If filecontainsregex is set, use this property to filter extensions of the files that will be checked
No Additional Items[
"",
".json"
]
File extension filters. Empty list excludes all files. Can be overridden at linter level
No Additional Items[
".py",
""
]
List of strings to filter the files according to their end of file name
No Additional Items[
"vault.yml",
"galaxy.xml"
]
Regular expression list for filtering files by their base names using regex full match. Empty list includes all files. Can be overridden at linter level
No Additional Items[
"Dockerfile(-.+)?",
"Jenkinsfile"
]
Set when a linter only lints a sub-directory
[
"ansible",
"kubernetes"
]
List of apk, dockerfile instructions, npm/pip/gem packages required to use the descriptor linters
{
"apk": [
"openjdk11"
]
}
{
"dockerfile": [
"ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk",
"ENV PATH=\"$JAVA_HOME/bin:${PATH}\""
]
}
{
"npm": [
"sfdx-cli"
]
}
APK packages identifiers (with or without version)
No Additional Items[
"openjdk11"
]
Cargo packages identifiers (with or without version)
No Additional ItemsWill be automatically integrated in generated Dockerfile
No Additional Items[
"ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk",
"ENV PATH=\"$JAVA_HOME/bin:${PATH}\""
]
GEM packages identifiers (with or without version)
No Additional ItemsNPM packages identifiers (with or without version)
No Additional Items[
"sfdx-cli"
]
PIP packages identifiers (with or without version)
No Additional ItemsIf set to true, this descriptor linters will always lint all files, undepending their name/extensions/content
If set to true, this descriptor linters will lint one by one all files collected by all other linters
List of linter definitions associated to the descriptor
No Additional ItemsParameters defining behaviour and installation of a linter
No Additional Properties{
"cli_config_extra_args": [
"--no-eslintrc",
"--no-ignore"
],
"config_file_name": ".eslintrc.yml",
"examples": [
"eslint myfile.js",
"eslint -c .eslintrc.yml --no-eslintrc --no-ignore myfile.js"
],
"install": {
"npm": [
"eslint",
"eslint-config-airbnb",
"eslint-config-prettier",
"eslint-plugin-jest",
"eslint-plugin-prettier",
"babel-eslint"
]
},
"linter_banner_image_url": "https://d33wubrfki0l68.cloudfront.net/3b5ac7586466159bb6f237b633bfc4f5a8d5acf8/ee0a1/assets/img/posts/eslint-collective.png",
"linter_name": "eslint",
"linter_url": "https://eslint.org",
"name": "JAVASCRIPT_ES"
}
List of rules to check to activate linter
No Additional Items[
{
"default_value": "standard",
"expected_value": "prettier",
"type": "variable",
"variable": "JAVASCRIPT_DEFAULT_STYLE"
}
]
Names of the config files to be found (at least one), else descriptor will be deactivated
No Additional Items[
".editorconfig",
".eslintrc.json"
]
Shows if the linter is capable of output SARIF report within MegaLinter
If MegaLinter core is not enough, use a custom class inheriting from Linter class
"CSpellLinter"
"DotnetFormatLinter"
"RakuLinter"
When a configuration file is used with the linter CLI, send these additional arguments
No Additional Items[
"--no-eslintrc",
"--no-ignore"
]
Arguments for docker run before image name
No Additional Items[
"-v",
"`pwd`:`pwd`",
"-w",
"`pwd`"
]
"norionomura/swiftlint"
Version of the docker image to use for linting
"0.42.0_swift-5.3.2"
Override if different from linter_name
Override if different from cli executable used for linting
Override if different from cli executable used for linting
When linter CLI is call for help, send these additional arguments
No Additional ItemsWhen linter CLI is call for help, send these additional commands
No Additional ItemsDefines how to count errors from log file. regexnumber, regexcount, regexsum, or totallines
"regex_number"
"regex_count"
"regex_sum"
"total_lines"
Regex allowing to extract the number of errors from linter output logs
"Issues found: (.*) in .* files"
When linter CLI is call for linting, send these additional arguments before config args
No Additional ItemsWhen linter CLI is call for linting, send these additional arguments after config args
No Additional Items"--fix"
"--format"
When linter CLI is call for fixing, remove these arguments
No Additional Items[
"--check"
]
If the linter can use an ignore file, input here the related argument
"--secretlintignore"
"--ignore-path"
Defines how the linter is called: file, listoffiles, project
Arguments to generate SARIF output
No Additional Items[
"--format",
"sarif",
"--output",
"{{SARIF_OUTPUT_FILE}}"
]
When linter CLI is call for version, send these additional arguments
No Additional ItemsAn explanation about the purpose of this instance.
".eslintrc.yml"
".markdown-lint.yml"
".python-black"
Shows if the linter is deprecated.
Displays information on why it is deprecated and whether an alternative is available.
MegaLinter flavors matching this linter
No Additional Items[
"all_flavors",
"java",
"php"
]
MegaLinter flavors that must not contain this descriptor
No Additional Items[
"all_flavors",
"java",
"php"
]
Disable linter in MegaLinter next builds
Explanation about why the linter is disabled
Explanation about why the linter is downgraded
Indicates that installation instructions does not use the latest release of the linter
Please add an example with and without configuration file in the command. They will appear in documentation
No Additional Items[
"golangci-lint run myfile.go",
"golangci-lint run -c .golangci.yml myfile.go"
]
[
"eslint myfile.js",
"eslint -c .eslintrc.yml --no-eslintrc --no-ignore myfile.js"
]
File extension filters if different from the ones defined on parent descriptor
No Additional Items[
".py",
""
]
List of strings to filter the files according to their end of file name
No Additional Items[
"vault.yml",
"galaxy.xml"
]
Regular expression list for filtering files by their base names using regex full match. Empty list includes all files. Can be overridden at linter level
No Additional Items[
"Dockerfile(-.+)?",
"Jenkinsfile"
]
Set when a linter only lints a sub-directory
[
"ansible",
"kubernetes"
]
List of IDE supporting the linter
An explanation about the purpose of this instance.
".eslintignore"
".secretlintignore"
If this property is set to true, this linter will be ignored for flavor suggestions
".eslintignore"
".secretlintignore"
List of apk, dockerfile instructions, npm/pip/gem packages required to install the linter
{
"dockerfile": [
"FROM accurics/terrascan:latest as terrascan",
"COPY --from=terrascan /go/bin/terrascan /usr/bin/",
"RUN terrascan init"
]
}
{
"npm": [
"eslint",
"eslint-config-airbnb",
"eslint-config-prettier",
"eslint-plugin-jest",
"eslint-plugin-prettier",
"babel-eslint"
]
}
APK packages identifiers (with or without version)
No Additional Items[
"perl",
"perl-dev"
]
Cargo packages identifiers (with or without version)
No Additional Items[
"clippy",
"sarif-fmt"
]
Will be automatically integrated in generated Dockerfile
No Additional Items[
"FROM accurics/terrascan:latest as terrascan",
"COPY --from=terrascan /go/bin/terrascan /usr/bin/",
"RUN terrascan init"
]
GEM packages identifiers (with or without version)
No Additional Items[
"rubocop:0.82.0",
"rubocop-github:0.16.0",
"rubocop-performance"
]
NPM packages identifiers (with or without version)
No Additional Items[
"eslint",
"eslint-config-airbnb@3.2.1"
]
PIP packages identifiers (with or without version)
No Additional Items[
"flake8"
]
If the linter is just a formatter, set to true so errors will count as warnings
If the linter is SBOM, set to true so extra properties will be returned
If set to true, this linter will always lint all files, undepending their name/extensions/content
If set to true, this descriptor linters will lint one by one all files collected by all other linters
If the linter is unable to return help content, hardcode it here
URL of a PNG image representing the icon of the linter
"https://github.com/stylelint/stylelint/raw/main/identity/stylelint-icon-and-text-white.png"
URL of an image used in linter Markdown documentation
"https://raku.org/camelia-logo.png"
URL to linter documentation referring to MegaLinter
Name of the linter (same as cli command if possible)
"eslint"
URL of the linter repository home page
"https://github.com/eslint/eslint"
URL to linter documentation explaining how to configure the linter
URL to linter documentation explaining how to ignore files
URL to linter documentation explaining how to disable rules directly with comments in files
URL to linter documentation listing all the rules that can be detected
spdx license id of the linter
Average speed of the linter (performances indicator). For 1 (very slow) to 5 (very fast)
URL of the linter home page
"https://eslint.org"
If the linter is unable to return a version number, hardcode it here
When several linters in a descriptor, set a different name that will be used for configuration
"JAVASCRIPT_ES"
Custom bash commands to run after linter
No Additional ItemsCommand information
"npm run test"
"echo \"This is a custom command\""
"root"
"workspace"
[
{
"command": "npm install java-caller",
"continue_if_failed": false,
"cwd": "root"
},
{
"command": "echo \"linter post-run command has been called\"",
"cwd": "workspace"
}
]
Custom bash commands to run before linter
No Additional ItemsCommand information
"npm run test"
"echo \"This is a custom command\""
"root"
"workspace"
[
{
"command": "tflint --init",
"continue_if_failed": false,
"cwd": "root"
},
{
"command": "echo \"linter pre-run command has been called\"",
"cwd": "workspace"
}
]
Path to find default SARIF output file when generated by linter
[
"./results.sarif"
]
Test folder containing good and bad files, if different from parent descriptor test_folder
[
"bash_shfmt",
"terraform_terrascan"
]
Format / Fix test file extension filters.
No Additional Items[
".py",
""
]
Format / Fix test exclusions
[
"/bin/|/obj/"
]
List of variables to set before running tests
{
"JAVASCRIPT_DEFAULT_STYLE": "prettier"
}
Try to not use this property except if you really have no choice
No Additional Items{
"default_value": "false",
"description": "If set to `false`, the `bash-exec` linter will report a warning if a shell script is not executable. If set to `true`, the `bash-exec` linter will report an error instead",
"name": "ERROR_ON_MISSING_EXEC_BIT"
}
If default regex to extract version from linter -v call, override it here
"(?<=npm-groovy-lint version )\\d+(\\.\\d+)+"
[
{
"cli_config_extra_args": [
"--no-eslintrc",
"--no-ignore"
],
"config_file_name": ".eslintrc.yml",
"examples": [
"eslint myfile.js",
"eslint -c .eslintrc.yml --no-eslintrc --no-ignore myfile.js"
],
"install": {
"npm": [
"eslint",
"eslint-config-airbnb",
"eslint-config-prettier",
"eslint-plugin-jest",
"eslint-plugin-prettier",
"@babel/eslint-parser"
]
},
"linter_banner_image_url": "https://d33wubrfki0l68.cloudfront.net/3b5ac7586466159bb6f237b633bfc4f5a8d5acf8/ee0a1/assets/img/posts/eslint-collective.png",
"linter_name": "eslint",
"linter_url": "https://eslint.org",
"name": "JAVASCRIPT_ES"
},
{
"examples": [
"standard myfile.js"
],
"install": {
"npm": [
"standard"
]
},
"linter_banner_image_url": "https://github.com/standard/standard/raw/master/sticker.png",
"linter_name": "standard",
"linter_url": "https://github.com/standard/standard",
"name": "JAVASCRIPT_STANDARD"
}
]
If descriptor linters may be slow, put a negative processing order. If it is fast, put a positive one. If you don't know, do not set
[
-9,
0,
9
]
Test folder containing good and bad files. Default: lowercase(descriptor_id)
[
"bash_shfmt",
"terraform_terrascan"
]