mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-13 20:39:33 -05:00
14 KiB
14 KiB
Disabling linters and Rules
If you find you need to ignore certain errors and warnings, you will need to know the format to disable the Super-Linter rules.
Below is examples and documentation for each language and the various methods to disable.
Table of Linters
- Ruby
- Shell
- Ansible
- YAML
- Python
- JSON
- Markdown
- Perl
- XML
- Coffeescript
- Javascript Eslint
- Javascript Standard
- Typescript Eslint
- Typescript Standard
- Golang
- Dockerfile
- Terraform
Ruby
Rubocop Config file
.github/linters/.ruby-lint.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.ruby-lint.yml
- Note: We use the Default GitHub Rule set from Rubocop-GitHub
Rubocop disable single line
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Rubocop disable code block
# rubocop:disable
This is a long line
var="this is some other stuff"
# rubocop:enable
Rubocop disable entire file
If you need to ignore an entire file, you can update the .github/linters/.ruby-lint.yml
to ignore certain files and locations
inherit_from:
- .rubocop_todo.yml
- .rubocop_app_overrides.yml
inherit_mode:
merge:
- Exclude
Rails:
Enabled: true
AllCops:
TargetRubyVersion: 2.5.1
EnabledByDefault: true
Exclude:
- 'db/**/*'
- 'config/**/*'
- 'script/**/*'
- 'bin/{rails,rake}'
- !ruby/regexp /old_and_unused\.rb$/
Shell
Shellcheck Config file
- There is no top level configuration file available at this time
Shellcheck disable single line
echo "Terrible stuff" # shellcheck disable=SC2059,SC2086
Shellcheck disable code block
# shellcheck disable=SC2059,SC2086
echo "some hot garbage"
echo "More garbage code"
Shellcheck disable entire file
- Note: The disable must be on the second line of the code right after the shebang
#!/bin/sh
# shellcheck disable=SC2059,SC1084
echo "stuff"
moreThings()
Ansible
Ansible-lint Config file
.github/linters/.ansible-lint.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.ansible-lint.yml
Ansible-lint disable single line
- name: this would typically fire GitHasVersionRule 401 and BecomeUserWithoutBecomeRule 501
become_user: alice # noqa 401 501
git: src=/path/to/git/repo dest=checkout
Ansible-lint disable code block
- name: this would typically fire GitHasVersionRule 401
git: src=/path/to/git/repo dest=checkout
tags:
- skip_ansible_lint
Ansible-lint disable entire file
- name: this would typically fire GitHasVersionRule 401
git: src=/path/to/git/repo dest=checkout
tags:
- skip_ansible_lint
YAML
Yamllint Config file
.github/linters/.yaml-lint.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.yaml-lint.yml
Yamllint disable single line
This line is waaaaaaaaaay too long # yamllint disable-line
Yamllint disable code block
# yamllint disable rule:colons
- Lorem : ipsum
dolor : sit amet,
consectetur : adipiscing elit
# yamllint enable
Yamllint disable entire file
If you need to ignore an entire file, you can update the .github/linters/.yaml-lint.yml
to ignore certain files and locations
# For all rules
ignore: |
*.dont-lint-me.yaml
/bin/
!/bin/*.lint-me-anyway.yaml
rules:
key-duplicates:
ignore: |
generated
*.template.yaml
trailing-spaces:
ignore: |
*.ignore-trailing-spaces.yaml
/ascii-art/*
Python3
Pylint Config file
.github/linters/.python-lint
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.python-lint
Pylint disable single line
global VAR # pylint: disable=global-statement
Pylint disable code block
"""pylint option block-disable"""
__revision__ = None
class Foo(object):
"""block-disable test"""
def __init__(self):
pass
def meth1(self, arg):
"""this issues a message"""
print(self)
def meth2(self, arg):
"""and this one not"""
# pylint: disable=unused-argument
print(self\
+ "foo")
def meth3(self):
"""test one line disabling"""
# no error
print(self.bla) # pylint: disable=no-member
# error
print(self.blop)
Pylint disable entire file
#!/bin/python3
# pylint: skip-file
var = "terrible code down here..."
JSON
JsonLint Config file
- There is no top level configuration file available at this time
JsonLint disable single line
- There is currently No way to disable rules inline of the file(s)
JsonLint disable code block
- There is currently No way to disable rules inline of the file(s)
JsonLint disable entire file
- There is currently No way to disable rules inline of the file(s)
Markdown
Markdownlint Config file
.github/linters/.markdown-lint.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.markdownlint.yml
Markdownlint disable single line
## Here is some document
Here is some random data
<!-- markdownlint-disable -->
any violation you want
<!-- markdownlint-restore -->
Here is more data
Markdownlint disable code block
## Here is some document
Here is some random data
<!-- markdownlint-disable -->
any violations you want
<!-- markdownlint-restore -->
Here is more data
Markdownlint disable entire file
- You can encapsulate the entire file with the code block format to disable an entire file from being parsed
Perl
Perl Config file
- There is no top level configuration file available at this time
Perl disable single line
- There is currently No way to disable rules inline of the file(s)
Perl disable code block
- There is currently No way to disable rules inline of the file(s)
Perl disable entire file
- There is currently No way to disable rules inline of the file(s)
XML
LibXML Config file
- There is no top level configuration file available at this time
LibXML disable single line
- There is currently No way to disable rules inline of the file(s)
LibXML disable code block
- There is currently No way to disable rules inline of the file(s)
LibXML disable entire file
- There is currently No way to disable rules inline of the file(s)
Coffeescript
coffeelint Config file
.github/linters/.coffee-lint.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.coffee.yml
coffeelint disable single line
# coffeelint: disable=max_line_length
foo = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
# coffeelint: enable=max_line_length
coffeelint disable code block
# coffeelint: disable
foo = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
bar = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
baz = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
taz = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
# coffeelint: enable
coffeelint disable entire file
- You can encapsulate the entire file with the code block format to disable an entire file from being parsed
Javascript eslint
Javascript eslint Config file
.github/linters/.eslintrc.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.eslintrc.yml
Javascript eslint disable single line
var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();
function Thing() {
this.sayHello = function() { console.log("hello"); };
}
Javascript eslint disable code block
/*eslint-disable */
//suppress all warnings between comments
alert('foo')
/*eslint-enable */
Javascript eslint disable entire file
- Place at the top of the file:
/* eslint-disable */
Javascript standard
Javascript standard Config file
- There is no top level configuration file available at this time
Javascript standard disable single line
- There is currently No way to disable rules inline of the file(s)
Javascript standard disable code block
- There is currently No way to disable rules inline of the file(s)
Javascript standard disable entire file
- There is currently No way to disable rules inline of the file(s)
Typescript eslint
Typescript eslint Config file
.github/linters/.eslintrc.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.eslintrc.yml
Typescript eslint disable single line
var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();
function Thing() {
this.sayHello = function() { console.log("hello"); };
}
Typescript eslint disable code block
/*eslint-disable */
//suppress all warnings between comments
alert('foo')
/*eslint-enable */
Typescript eslint disable entire file
/* eslint-disable */
Typescript standard
Typescript standard Config file
- There is no top level configuration file available at this time
Typescript standard disable single line
- There is currently No way to disable rules inline of the file(s)
Typescript standard disable code block
- There is currently No way to disable rules inline of the file(s)
Typescript standard disable entire file
- There is currently No way to disable rules inline of the file(s)
Golang
golangci-lint standard Config file
.github/linters/.golangci.yml
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.golangci.yml
golangci-lint disable single line
- There is currently No way to disable rules inline of the file(s)
golangci-lint disable code block
- There is currently No way to disable rules inline of the file(s)
golangci-lint disable entire file
- There is currently No way to disable rules inline of the file(s)
Dockerfile
Dockerfilelint standard Config file
.github/linters/.dockerfilelintrc
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.dockerfilelintrc
Dockerfilelint disable single line
- There is currently No way to disable rules inline of the file(s)
Dockerfilelint disable code block
- There is currently No way to disable rules inline of the file(s)
Dockerfilelint disable entire file
- There is currently No way to disable rules inline of the file(s)
Terraform
tflint standard Config file
.github/linters/.tflint.hcl
- You can pass multiple rules and overwrite default rules
- File should be located at:
.github/linters/.tflint.hcl
tflint disable single line
- There is currently No way to disable rules inline of the file(s)
tflint disable code block
- There is currently No way to disable rules inline of the file(s)
tflint disable entire file
- There is currently No way to disable rules inline of the file(s)