Descriptor definition for MegaLinter
No Additional PropertiesNames of the config files to be found (at least one), else descriptor will be deactivated
[
".editorconfig",
".eslintrc.json"
]
MegaLinter flavors matching this descriptor
[
"all_flavors",
"java",
"php"
]
MegaLinter flavors that must not contain this descriptor
[
"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
[
"AWSTemplateFormatVersion",
"(AWS|Alexa|Custom)::"
]
If filecontainsregex is set, use this property to filter extensions of the files that will be checked
[
"",
".json"
]
File extension filters. Empty list excludes all files. Can be overridden at linter level
[
".py",
""
]
List of strings to filter the files according to their end of file name
[
"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
[
"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)
[
"openjdk11"
]
Cargo packages identifiers (with or without version)
Will be automatically integrated in generated Dockerfile
[
"ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk",
"ENV PATH=\"$JAVA_HOME/bin:${PATH}\""
]
GEM packages identifiers (with or without version)
NPM packages identifiers (with or without version)
[
"sfdx-cli"
]
PIP packages identifiers (with or without version)
If 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
Parameters 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
[
{
"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
[
".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-eslintrc",
"--no-ignore"
]
Arguments for docker run before image name
[
"-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
When linter CLI is call for help, send these additional commands
Defines 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
When linter CLI is call for linting, send these additional arguments after config args
"--fix"
"--format"
When linter CLI is call for fixing, remove these arguments
[
"--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
[
"--format",
"sarif",
"--output",
"{{SARIF_OUTPUT_FILE}}"
]
When linter CLI is call for version, send these additional arguments
An 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
[
"all_flavors",
"java",
"php"
]
MegaLinter flavors that must not contain this descriptor
[
"all_flavors",
"java",
"php"
]
Disable linter in MegaLinter next builds
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
[
"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
[
".py",
""
]
List of strings to filter the files according to their end of file name
[
"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
[
"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)
[
"perl",
"perl-dev"
]
Cargo packages identifiers (with or without version)
[
"clippy",
"sarif-fmt"
]
Will be automatically integrated in generated Dockerfile
[
"FROM accurics/terrascan:latest as terrascan",
"COPY --from=terrascan /go/bin/terrascan /usr/bin/",
"RUN terrascan init"
]
GEM packages identifiers (with or without version)
[
"rubocop:0.82.0",
"rubocop-github:0.16.0",
"rubocop-performance"
]
NPM packages identifiers (with or without version)
[
"eslint",
"eslint-config-airbnb@3.2.1"
]
PIP packages identifiers (with or without version)
[
"flake8"
]
If the linter is just a formatter, set to true so errors will count as warnings
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 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
Command 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
Command 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"
]
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
{
"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"
]
},
"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"
]