2020-04-23 12:22:10 -04:00
# Disabling linters and Rules
2020-07-21 13:08:05 -04:00
2020-06-30 12:42:59 -04:00
Linters can often require additional configuration to ensure they work with your codebase and your team's coding style, to avoid flagging false-positives. The **GitHub Super-Linter** has set up some default configurations for each linter which should work reasonably well with common code bases, but many of the linters can be configured to disable certain rules or configure the rules to ignore certain pieces of codes.
2020-06-30 09:53:08 -04:00
2020-06-30 10:13:25 -04:00
To run with your own configuration for a linter, copy the relevant [`TEMPLATE` configuration file for the linter you are using from this repo ](https://github.com/github/super-linter/tree/master/TEMPLATES ) into the `.github/linters` folder in your own repository, and then edit it to modify, disable - or even add - rules and configuration to suit how you want your code checked.
2020-06-30 09:53:08 -04:00
2020-06-30 12:42:59 -04:00
How the changes are made differ for each linter, and also how much the **Github Super-Linter** has decided to change the linter's defaults. So, for some linters (e.g. [pylint for python ](https://github.com/github/super-linter/blob/master/TEMPLATES/.python-lint )), there may be a large configuration file. For others (e.g. [stylelint for CSS ](https://github.com/github/super-linter/blob/master/TEMPLATES/.stylelintrc.json )) the default configuration file may initially be nearly empty. And for some (e.g. StandardJS) it may not be possible to change configuration at all so there is no Template file.
2020-06-30 09:53:08 -04:00
2020-06-30 12:42:59 -04:00
Where a configuration file exists in your repo, it will be used in preference to the default one in the **GitHub Super-Linter** `TEMPLATES` directory (not in addition to it), and where one doesn't exist the `TEMPLATES` version will be used. So you should copy the complete configuration file you require to change from the `TEMPLATES` directory and not just the lines of config you want to change.
2020-06-30 09:53:08 -04:00
2020-07-21 13:08:05 -04:00
It is possible to have custom configurations for some linters, and continue to use the default from `TEMPLATES` directory for others, so if you use `Python` and `JavaScript` and only need to tweak the `Python` rules, then you only need to have a custom configuration for _pylint_ and continue to use the default `TEMPLATE` from the main repo for _ESLint_ , for example.
2020-06-30 09:53:08 -04:00
For some linters it is also possible to override rules on a case by case level with directives in your code. Where this is possible we try to note how to do this in the specific linter sections below, but the official linter documentation will likely give more detail on this.
2020-06-24 00:50:54 -04:00
2020-04-23 12:22:10 -04:00
## Table of Linters
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [Disabling linters and Rules ](#disabling-linters-and-rules )
- [Table of Linters ](#table-of-linters )
- [Ansible ](#ansible )
- [AWS CloudFormation templates ](#aws-cloudformation-templates )
- [Clojure ](#clojure )
- [Coffeescript ](#coffeescript )
- [CSS ](#css )
- [Dart ](#dart )
- [Dockerfile ](#dockerfile )
2020-08-04 15:29:25 -04:00
- [Dockerfile ](#dockerfile-hadolint )
2020-07-22 15:04:55 -04:00
- [EDITORCONFIG-CHECKER ](#editorconfig-checker )
- [ENV ](#env )
- [Golang ](#golang )
- [Groovy ](#groovy )
- [HTML ](#html )
2020-08-05 14:35:14 -04:00
- [Java ](#java )
2020-09-16 01:11:28 -04:00
- [JavaScript eslint ](#javascript-eslint )
- [JavaScript standard ](#javascript-standard )
2020-07-22 15:04:55 -04:00
- [JSON ](#json )
2020-09-21 18:53:30 -04:00
- [Kubeval ](#kubeval )
2020-07-22 15:04:55 -04:00
- [Kotlin ](#kotlin )
2020-08-18 18:54:32 -04:00
- [LaTeX ](#latex )
2020-07-22 15:04:55 -04:00
- [Lua ](#lua )
- [Markdown ](#markdown )
- [OpenAPI ](#openapi )
- [Perl ](#perl )
- [PHP ](#php )
- [Protocol Buffers ](#protocol-buffers )
2020-08-20 10:44:11 -04:00
- [Python3 black ](#python3-black )
2020-07-22 15:04:55 -04:00
- [Python3 flake8 ](#python3-flake8 )
2020-08-20 10:44:11 -04:00
- [Python3 pylint ](#python3-pylint )
2020-08-15 14:21:57 -04:00
- [R ](#r )
2020-07-22 15:04:55 -04:00
- [Raku ](#raku )
- [Ruby ](#ruby )
- [Shell ](#shell )
2020-09-07 10:37:22 -04:00
- [Snakemake ](#snakemake )
2020-08-06 13:01:36 -04:00
- [SQL ](#sql )
2020-10-13 11:21:23 -04:00
- [Tekton ](#tekton )
2020-07-22 15:04:55 -04:00
- [Terraform ](#terraform )
2020-10-16 13:25:39 -04:00
- [Terragrunt ](#terragrunt )
2020-07-22 15:04:55 -04:00
- [Typescript eslint ](#typescript-eslint )
- [Typescript standard ](#typescript-standard )
- [XML ](#xml )
- [YAML ](#yaml )
2020-04-23 10:57:18 -04:00
<!-- toc -->
2020-04-23 11:38:33 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
## Ansible
2020-07-21 13:08:05 -04:00
2020-04-23 10:39:20 -04:00
- [ansible-lint ](https://github.com/ansible/ansible-lint )
2020-04-22 11:22:51 -04:00
### Ansible-lint Config file
2020-07-21 13:08:05 -04:00
2020-04-23 10:39:20 -04:00
- `.github/linters/.ansible-lint.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.ansible-lint.yml`
2020-04-22 11:22:51 -04:00
### Ansible-lint disable single line
2020-07-21 13:08:05 -04:00
2020-04-23 10:39:20 -04:00
```yml
- name: this would typically fire GitHasVersionRule 401 and BecomeUserWithoutBecomeRule 501
2020-07-21 13:08:05 -04:00
become_user: alice # noqa 401 501
2020-04-23 10:39:20 -04:00
git: src=/path/to/git/repo dest=checkout
```
2020-07-21 13:08:05 -04:00
2020-04-22 11:22:51 -04:00
### Ansible-lint disable code block
2020-07-21 13:08:05 -04:00
2020-04-23 10:39:20 -04:00
```yml
- name: this would typically fire GitHasVersionRule 401
git: src=/path/to/git/repo dest=checkout
tags:
2020-07-21 13:08:05 -04:00
- skip_ansible_lint
2020-04-23 10:39:20 -04:00
```
2020-04-22 11:22:51 -04:00
2020-04-23 10:39:20 -04:00
### Ansible-lint disable entire file
2020-07-21 13:08:05 -04:00
2020-04-23 10:39:20 -04:00
```yml
- name: this would typically fire GitHasVersionRule 401
git: src=/path/to/git/repo dest=checkout
tags:
2020-07-21 13:08:05 -04:00
- skip_ansible_lint
2020-04-23 10:39:20 -04:00
```
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-06-19 12:41:19 -04:00
## AWS CloudFormation templates
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
- [cfn-lint ](https://github.com/aws-cloudformation/cfn-python-lint/ )
### cfn-lint Config file
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
- `.github/linters/.cfnlintrc.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.cfnlintrc.yml`
### cfn-lint disable single line
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
- There is currently **No** way to disable rules inline of the file(s)
### cfn-lint disable code block
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
You can disable both [template ](https://github.com/aws-cloudformation/cfn-python-lint/#template-based-metadata ) or [resource ](https://github.com/aws-cloudformation/cfn-python-lint/#resource-based-metadata ) via [metadata ](https://github.com/aws-cloudformation/cfn-python-lint/#metadata ):
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
```yaml
Resources:
myInstance:
Type: AWS::EC2::Instance
Metadata:
cfn-lint:
config:
ignore_checks:
2020-07-21 13:08:05 -04:00
- E3030
2020-06-19 12:41:19 -04:00
Properties:
InstanceType: nt.x4superlarge
ImageId: ami-abc1234
```
### cfn-lint disable entire file
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
If you need to ignore an entire file, you can update the `.github/linters/.cfnlintrc.yml` to ignore certain files and locations
2020-07-21 13:08:05 -04:00
2020-06-19 12:41:19 -04:00
```yaml
ignore_templates:
2020-07-21 13:08:05 -04:00
- codebuild.yaml
2020-06-19 12:41:19 -04:00
```
2020-07-21 13:08:05 -04:00
---
2020-06-19 12:41:19 -04:00
2020-07-22 15:04:55 -04:00
## Clojure
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [clj-kondo ](https://github.com/borkdude/clj-kondo )
- Since clj-kondo approaches static analysis in a very Clojure way, it is advised to read the [configuration docs ](https://github.com/borkdude/clj-kondo/blob/master/doc/config.md )
2020-04-23 10:19:21 -04:00
2020-07-22 15:04:55 -04:00
### clj-kondo standard Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.clj-kondo/config.edn`
2020-04-23 10:19:21 -04:00
2020-07-22 15:04:55 -04:00
### clj-kondo disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules in a single line
2020-04-23 10:19:21 -04:00
2020-07-22 15:04:55 -04:00
### clj-kondo disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules in a code block
2020-04-23 10:19:21 -04:00
2020-07-22 15:04:55 -04:00
### clj-kondo disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```clojure
{:output {:exclude-files ["path/to/file"]}}
```
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
## Coffeescript
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [coffeelint ](https://coffeelint.github.io/ )
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
### coffeelint Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.coffee-lint.yml`
2020-04-22 11:22:51 -04:00
- You can pass multiple rules and overwrite default rules
2020-07-22 15:04:55 -04:00
- File should be located at: `.github/linters/.coffee.yml`
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
### coffeelint disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```Coffeescript
# coffeelint: disable=max_line_length
foo = "some/huge/line/string/with/embed/#{values}.that/surpasses/the/max/column/width"
# coffeelint: enable=max_line_length
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### coffeelint disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```Coffeescript
# 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
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### coffeelint disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- You can encapsulate the entire file with the _code block format_ to disable an entire file from being parsed
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
---
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
## CSS
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [stylelint ](https://stylelint.io/ )
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### stylelint standard Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.stylelintrc.json`
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### stylelint disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```css
#id {
/* stylelint-disable-next-line declaration-no-important */
color: pink !important;
}
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### stylelint disable code block
```css
/* stylelint-disable */
a {
}
/* stylelint-enable */
2020-04-22 11:22:51 -04:00
```
2020-07-22 15:04:55 -04:00
### stylelint disable entire file
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
- You can disable entire files with the `ignoreFiles` property in `.stylelintrc.json`
```json
{
"ignoreFiles": [
"styles/ignored/wildcards/*.css",
"styles/ignored/specific-file.css"
]
}
```
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
## Dart
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [dartanalyzer ](https://dart.dev/tools/dartanalyzer )
2020-04-23 10:41:00 -04:00
2020-07-22 15:04:55 -04:00
### dartanalyzer standard Config file
2020-07-21 13:08:05 -04:00
2020-08-06 12:14:01 -04:00
- `.github/linters/analysis_options.yml`
2020-07-22 15:04:55 -04:00
- You can pass multiple rules and overwrite default rules
2020-08-06 12:14:01 -04:00
- File should be located at: `.github/linters/analysis_options.yml`
2020-04-23 10:41:00 -04:00
2020-07-22 15:04:55 -04:00
### dartanalyzer disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```dart
int x = ''; // ignore: invalid_assignment
```
2020-04-23 10:41:00 -04:00
2020-07-22 15:04:55 -04:00
### dartanalyzer disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- You can make [rule exceptions ](https://dart.dev/guides/language/analysis-options#excluding-code-from-analysis ) for the entire file.
2020-04-23 10:41:00 -04:00
2020-07-22 15:04:55 -04:00
```dart
// ignore_for_file: unused_import, unused_local_variable
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### dartanalyzer disable entire file
2020-08-06 12:14:01 -04:00
- You can disable entire files with the `analyzer.exclude` property in `analysis_options.yml`
2020-07-22 15:04:55 -04:00
```dart
analyzer:
exclude:
- file
```
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
## Dockerfile
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [dockerfilelint ](https://github.com/replicatedhq/dockerfilelint.git )
2020-07-05 22:21:13 -04:00
2020-07-22 15:04:55 -04:00
### Dockerfilelint standard Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.dockerfilelintrc`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.dockerfilelintrc`
2020-07-05 22:21:13 -04:00
2020-07-22 15:04:55 -04:00
### Dockerfilelint disable single line
2020-07-21 13:08:05 -04:00
2020-07-05 22:21:13 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### Dockerfilelint disable code block
2020-07-21 13:08:05 -04:00
2020-07-05 22:21:13 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### Dockerfilelint disable entire file
2020-07-21 13:08:05 -04:00
2020-07-05 22:21:13 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
---
2020-08-04 15:29:25 -04:00
## Dockerfile-Hadolint
- [hadolint ](https://github.com/hadolint/hadolint )
### Hadolint standard Config file
- `.github/linters/.hadolint.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.hadolint.yml`
### Hadolint disable single line
2020-10-08 10:22:17 -04:00
```dockerfile
# hadolint ignore=DL3006
FROM ubuntu
# hadolint ignore=DL3003,SC1035
RUN cd /tmp & & echo "hello!"
```
2020-08-04 15:29:25 -04:00
### Hadolint disable code block
- There is currently **No** way to disable rules inline of the file(s)
### Hadolint disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
2020-07-22 15:04:55 -04:00
## EDITORCONFIG-CHECKER
- [editorconfig-checker ](https://github.com/editorconfig-checker/editorconfig-checker )
### editorconfig-checker Config file
- `.github/linters/.ecrc`
- This linter will also use the [`.editorconfig` ](https://editorconfig.org/ ) of your project
### editorconfig-checker disable single line
```js
< LINE > // editorconfig-checker-disable-line
```
### editorconfig-checker disable code block
- There is currently **No** way to disable rules inline of the file(s)
### editorconfig-checker disable entire file
```js
// editorconfig-checker-disable-file
```
- You can disable entire files with the `Exclude` property in `.ecrc`
```json
{
"Exclude": ["path/to/file", "^regular\\/expression\\.ext$"]
}
```
2020-07-21 13:08:05 -04:00
---
2020-07-05 22:21:13 -04:00
2020-07-22 15:04:55 -04:00
## ENV
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [dotenv-linter ](https://github.com/dotenv-linter/dotenv-linter )
2020-06-18 13:53:24 -04:00
2020-07-22 15:04:55 -04:00
### dotenv-linter Config file
2020-07-21 13:08:05 -04:00
- There is no top level _configuration file_ available at this time
2020-06-18 13:53:24 -04:00
2020-07-22 15:04:55 -04:00
### dotenv-linter disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```env
# Comment line will be ignored
```
2020-06-18 13:53:24 -04:00
2020-07-22 15:04:55 -04:00
### dotenv-linter disable code block
2020-07-21 13:08:05 -04:00
2020-06-18 13:53:24 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### dotenv-linter disable entire file
2020-07-21 13:08:05 -04:00
2020-06-18 13:53:24 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
---
2020-06-18 13:53:24 -04:00
2020-07-22 15:04:55 -04:00
## Golang
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [golangci-lint ](https://github.com/golangci/golangci-lint )
2020-04-23 10:03:56 -04:00
2020-07-22 15:04:55 -04:00
### golangci-lint standard Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.golangci.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.golangci.yml`
2020-04-23 10:03:56 -04:00
2020-07-22 15:04:55 -04:00
### golangci-lint disable single line
2020-07-21 13:08:05 -04:00
2020-04-23 10:03:56 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### golangci-lint disable code block
2020-07-21 13:08:05 -04:00
2020-04-23 10:03:56 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### golangci-lint disable entire file
2020-07-21 13:08:05 -04:00
2020-04-23 10:03:56 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
## Groovy
- [npm-groovy-lint ](https://github.com/nvuillam/npm-groovy-lint )
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### groovy-lint standard Config file
- `.github/linters/.groovylintrc.json`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.groovylintrc.json`
2020-04-23 10:08:38 -04:00
2020-07-22 15:04:55 -04:00
### groovy-lint disable single line
```groovy
def variable = 1; // groovylint-disable-line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
// groovylint-disable-next-line
def variable = 1;
2020-04-23 10:08:38 -04:00
2020-07-22 15:04:55 -04:00
/* groovylint-disable-next-line */
def variable = 1;
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
def variable = 1; /* groovylint-disable-line */
2020-04-23 10:08:38 -04:00
```
2020-07-22 15:04:55 -04:00
### groovy-lint disable code block
```groovy
/* groovylint-disable */
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
def variable = 1;
/* groovylint-enable */
2020-04-23 10:08:38 -04:00
```
2020-07-22 15:04:55 -04:00
### groovy-lint disable entire file
- At the top line of the file add the line:
```groovy
/* groovylint-disable */
```
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
---
## HTML
- [htmlhint ](https://htmlhint.com/ )
### htmlhint standard Config file
- `.github/linters/.htmlhintrc`
### htmlhint disable single line
- There is currently **No** way to disable rules in a single line
### htmlhint disable code block
- There is currently **No** way to disable rules in a code block
### htmlhint disable entire file
- There is currently **No** way to disable rules in an entire file
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-08-05 14:35:14 -04:00
## Java
- [checkstyle ](https://github.com/checkstyle/checkstyle )
### Java Config file
- `.github/linters/sun_checks.xml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/sun_checks.xml`
### Java disable single line
- There is currently **No** way to disable rules inline of the file(s)
### Java disable code block
- There is currently **No** way to disable rules inline of the file(s)
### Java disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
2020-09-16 01:11:28 -04:00
## JavaScript eslint
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
- [eslint ](https://eslint.org/ )
2020-09-16 01:11:28 -04:00
### JavaScript eslint Config file
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
- `.github/linters/.eslintrc.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.eslintrc.yml`
2020-09-16 01:11:28 -04:00
### JavaScript eslint disable single line
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
```javascript
var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();
function Thing() {
2020-07-21 13:08:05 -04:00
this.sayHello = function () {
console.log("hello");
};
2020-04-23 11:38:33 -04:00
}
```
2020-09-16 01:11:28 -04:00
### JavaScript eslint disable code block
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
```javascript
/*eslint-disable */
//suppress all warnings between comments
2020-07-21 13:08:05 -04:00
alert("foo");
2020-04-23 11:38:33 -04:00
/*eslint-enable */
```
2020-07-21 13:08:05 -04:00
2020-09-16 01:11:28 -04:00
### JavaScript eslint disable entire file
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
- Place at the top of the file:
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
```javascript
/* eslint-disable */
```
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-09-16 01:11:28 -04:00
## JavaScript standard
2020-07-21 13:08:05 -04:00
2020-04-23 11:38:33 -04:00
- [standard js ](https://standardjs.com/ )
2020-09-16 01:11:28 -04:00
### JavaScript standard Config file
2020-07-21 13:08:05 -04:00
- There is no top level _configuration file_ available at this time
2020-04-23 11:38:33 -04:00
2020-09-16 01:11:28 -04:00
### JavaScript standard disable single line
2020-07-21 13:08:05 -04:00
2020-04-23 11:40:18 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-09-16 01:11:28 -04:00
### JavaScript standard disable code block
2020-07-21 13:08:05 -04:00
2020-04-23 11:40:18 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-09-16 01:11:28 -04:00
### JavaScript standard disable entire file
2020-07-21 13:08:05 -04:00
2020-04-23 11:40:18 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
## JSON
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [jsonlint ](https://github.com/zaach/jsonlint )
2020-04-23 11:38:33 -04:00
2020-07-22 15:04:55 -04:00
### JsonLint Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is no top level _configuration file_ available at this time
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
### JsonLint disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-04-23 11:38:33 -04:00
2020-07-22 15:04:55 -04:00
### JsonLint disable code block
2020-04-23 11:38:33 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### JsonLint disable entire file
2020-04-23 11:38:33 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-04-23 11:38:33 -04:00
2020-07-22 15:04:55 -04:00
---
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
## Kotlin
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [ktlint ](https://github.com/pinterest/ktlint )
2020-04-23 11:40:18 -04:00
2020-07-22 15:04:55 -04:00
### ktlint Config file
2020-07-21 13:08:05 -04:00
- There is no top level _configuration file_ available at this time
2020-04-23 11:38:33 -04:00
2020-07-22 15:04:55 -04:00
### ktlint disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```kotlin
import package.* // ktlint-disable no-wildcard-imports
```
2020-04-23 11:40:18 -04:00
2020-07-22 15:04:55 -04:00
### ktlint disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```kotlin
/* ktlint-disable no-wildcard-imports */
import package.a.*
import package.b.*
/* ktlint-enable no-wildcard-imports */
```
2020-04-23 11:40:18 -04:00
2020-07-22 15:04:55 -04:00
### ktlint disable entire file
2020-07-21 13:08:05 -04:00
2020-04-23 11:40:18 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-09-21 18:53:30 -04:00
## Kubernetes
- [kubeval ](https://github.com/instrumenta/kubeval )
### Kubeval
- There is no top level _configuration file_ available at this time
---
2020-08-18 18:54:32 -04:00
## LaTeX
- [ChkTex ](https://www.nongnu.org/chktex/ )
### ChkTex Config file
2020-08-19 13:51:07 -04:00
- `.github/linters/.chktexrc`
2020-08-18 18:54:32 -04:00
- You can pass multiple rules and overwrite default rules
2020-08-19 13:51:07 -04:00
- File should be located at: `.github/linters/.chktexrc`
2020-08-18 18:54:32 -04:00
- See [ChkTex ](https://ctan.kako-dev.de/systems/doc/chktex/ChkTeX.pdf ) docs for additional
behaviors
### ChkTex disable single line
Disable warnings on each line:
```latex
$[0,\infty)$ % chktex 8 chktex 9
```
### ChkTex disable code block
Use the `ignore` -environment to ignore all warnings within it.
Make sure that "ignore" is contained in your chektexrc files "VerbEnvir" setting.
```latex
\newenvironment{ignore}{}{}
\begin{ignore}
$[0,\infty)$
\end{ignore}
```
### ChkTex disable entire file
Disable warning for the rest of the file:
```latex
% chktex-file 18
```
---
2020-07-22 15:04:55 -04:00
## Lua
2020-04-23 10:11:42 -04:00
2020-07-22 15:04:55 -04:00
- [luarocks ](https://github.com/luarocks/luacheck )
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### luacheck standard Config file
- `.github/linters/.luacheckrc`
2020-04-23 10:11:42 -04:00
- You can pass multiple rules and overwrite default rules
2020-07-22 15:04:55 -04:00
- File should be located at: `.github/linters/.luacheckrc`
- See [luacheck ](https://luacheck.readthedocs.io/en/stable/config.html ) docs for additional
behaviors
2020-04-23 10:11:42 -04:00
2020-07-22 15:04:55 -04:00
### luacheck disable single line
```lua
-- luacheck: globals g1 g2, ignore foo
local foo = g1(g2) -- No warnings emitted.
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### luacheck disable code block
```lua
-- The following unused function is not reported.
local function f() -- luacheck: ignore
-- luacheck: globals g3
g3() -- No warning.
end
```
2020-04-23 10:11:42 -04:00
2020-07-22 15:04:55 -04:00
### luacheck include/exclude files (via .luacheckrc)
```lua
include_files = {"src", "spec/*.lua", "scripts/*.lua", "*.rockspec", "*.luacheckrc"}
exclude_files = {"src/luacheck/vendor"}
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### luacheck push/pop
```lua
-- luacheck: push ignore foo
foo() -- No warning.
-- luacheck: pop
foo() -- Warning is emitted.
```
2020-04-23 10:11:42 -04:00
2020-07-22 15:04:55 -04:00
---
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
## Markdown
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
- [markdownlint-cli ](https://github.com/igorshubovych/markdownlint-cli#readme )
- [markdownlint rule documentation ](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md )
- [markdownlint inline comment syntax ](https://github.com/DavidAnson/markdownlint#configuration )
2020-04-23 10:16:33 -04:00
2020-07-22 15:04:55 -04:00
### markdownlint Config file
2020-07-14 10:28:58 -04:00
- You can pass multiple rules and overwrite default rules
2020-07-22 15:04:55 -04:00
- File should be located at: `.github/linters/.markdown-lint.yml`
2020-07-14 10:28:58 -04:00
2020-10-16 13:40:54 -04:00
For example, disable [MD013/line-length ](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md013---line-length ) rule using below configuration in `.github/linters/.markdown-lint.yml` file.
```json
{ "default": true, "MD013": null }
```
2020-07-22 15:04:55 -04:00
### markdownlint disable single line
2020-07-14 10:28:58 -04:00
2020-07-22 15:04:55 -04:00
```markdown
## Here is some document
2020-07-14 10:28:58 -04:00
2020-07-22 15:04:55 -04:00
Here is some random data
2020-07-14 10:28:58 -04:00
2020-07-22 15:04:55 -04:00
<!-- markdownlint - disable -->
2020-07-14 10:28:58 -04:00
2020-07-22 15:04:55 -04:00
any violation you want
2020-07-14 10:28:58 -04:00
2020-07-22 15:04:55 -04:00
<!-- markdownlint - restore -->
2020-07-14 10:28:58 -04:00
2020-07-22 15:04:55 -04:00
Here is more data
2020-07-14 10:28:58 -04:00
```
2020-07-22 15:04:55 -04:00
### markdownlint disable code block
2020-04-23 10:01:15 -04:00
2020-07-22 15:04:55 -04:00
```markdown
## Here is some document
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
Here is some random data
2020-04-23 10:01:15 -04:00
2020-07-22 15:04:55 -04:00
<!-- markdownlint - disable -->
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
any violations you want
2020-04-23 10:01:15 -04:00
2020-07-22 15:04:55 -04:00
<!-- markdownlint - restore -->
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
Here is more data
```
2020-04-23 10:01:15 -04:00
2020-07-22 15:04:55 -04:00
### markdownlint disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- You can encapsulate the entire file with the _code block format_ to disable an entire file from being parsed
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-04-22 11:22:51 -04:00
2020-07-22 15:04:55 -04:00
## OpenAPI
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [spectral ](https://github.com/stoplightio/spectral )
2020-04-23 10:16:33 -04:00
2020-07-22 15:04:55 -04:00
### OpenAPI Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.openapirc.yml`
- You can add, extend, and disable rules
- Documentation at [Spectral Custom Rulesets ](https://stoplight.io/p/docs/gh/stoplightio/spectral/docs/guides/4-custom-rulesets.md )
- File should be located at: `.github/linters/.openapirc.yml`
2020-04-23 10:16:33 -04:00
2020-07-22 15:04:55 -04:00
### OpenAPI disable single line
2020-07-21 13:08:05 -04:00
2020-04-23 10:16:33 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### OpenAPI disable code block
2020-07-21 13:08:05 -04:00
2020-04-23 10:16:33 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### OpenAPI disable entire file
2020-07-21 13:08:05 -04:00
2020-04-23 10:16:33 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
- However, you can make [rule exceptions ](https://stoplight.io/p/docs/gh/stoplightio/spectral/docs/guides/6-exceptions.md?srn=gh/stoplightio/spectral/docs/guides/6-exceptions.md ) in the config for individual file(s).
2020-04-22 11:22:51 -04:00
2020-07-21 13:08:05 -04:00
---
2020-06-18 19:40:41 -04:00
2020-07-22 15:04:55 -04:00
## Perl
2020-06-18 19:40:41 -04:00
2020-08-07 08:58:40 -04:00
- `.github/linters/.perlcriticrc`
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Perl Config file
2020-06-18 19:40:41 -04:00
2020-07-22 15:04:55 -04:00
- There is no top level _configuration file_ available at this time
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Perl disable single line
2020-06-18 19:40:41 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Perl disable code block
2020-06-18 19:40:41 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Perl disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-06-19 13:32:07 -04:00
2020-07-21 13:08:05 -04:00
---
2020-06-19 13:32:07 -04:00
2020-07-22 15:04:55 -04:00
## PHP
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [PHP ](https://www.php.net/ )
2020-06-19 13:32:07 -04:00
2020-07-22 15:04:55 -04:00
### PHP Config file
2020-07-21 13:08:05 -04:00
- There is no top level _configuration file_ available at this time
2020-06-19 13:32:07 -04:00
2020-07-22 15:04:55 -04:00
### PHP disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-06-19 13:32:07 -04:00
2020-07-22 15:04:55 -04:00
### PHP disable code block
2020-07-21 13:08:05 -04:00
2020-06-19 13:32:07 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### PHP disable entire file
2020-07-21 13:08:05 -04:00
2020-06-19 13:32:07 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-06-21 03:59:18 -04:00
2020-07-21 13:08:05 -04:00
---
2020-06-21 03:59:18 -04:00
2020-07-22 15:04:55 -04:00
## Protocol Buffers
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [protolint ](https://github.com/yoheimuta/protolint )
2020-06-21 03:59:18 -04:00
2020-07-22 15:04:55 -04:00
### protolint Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.protolintrc.yml`
- You can add, extend, and disable rules
- Documentation at [Rules ](https://github.com/yoheimuta/protolint#rules ) and [Configuring ](https://github.com/yoheimuta/protolint#configuring )
2020-06-21 03:59:18 -04:00
2020-07-22 15:04:55 -04:00
### protolint disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```protobuf
enum Foo {
// protolint:disable:next ENUM_FIELD_NAMES_UPPER_SNAKE_CASE
firstValue = 0;
second_value = 1; // protolint:disable:this ENUM_FIELD_NAMES_UPPER_SNAKE_CASE
THIRD_VALUE = 2;
}
2020-06-21 03:59:18 -04:00
```
2020-07-22 15:04:55 -04:00
### protolint disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```protobuf
// protolint:disable ENUM_FIELD_NAMES_UPPER_SNAKE_CASE
enum Foo {
firstValue = 0;
second_value = 1;
THIRD_VALUE = 2;
}
// protolint:enable ENUM_FIELD_NAMES_UPPER_SNAKE_CASE
2020-06-21 03:59:18 -04:00
```
2020-07-22 15:04:55 -04:00
### protolint disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- You can disable entire files with the `lint.files.exclude` property in `.protolintrc.yml`
```yaml
# Lint directives.
lint:
# Linter files to walk.
files:
# The specific files to exclude.
exclude:
- path/to/file
```
2020-06-25 06:21:11 -04:00
2020-07-21 13:08:05 -04:00
---
2020-06-25 06:21:11 -04:00
2020-07-22 15:04:55 -04:00
## Python3 pylint
2020-07-24 13:27:54 -04:00
2020-07-22 15:04:55 -04:00
- [pylint ](https://www.pylint.org/ )
### Pylint Config file
- `.github/linters/.python-lint`
2020-07-24 13:27:54 -04:00
- You can pass multiple rules and overwrite default rules
2020-07-22 15:04:55 -04:00
- File should be located at: `.github/linters/.python-lint`
2020-07-24 13:27:54 -04:00
2020-07-22 15:04:55 -04:00
### Pylint disable single line
```python
global VAR # pylint: disable=global-statement
2020-07-24 13:27:54 -04:00
```
2020-07-22 15:04:55 -04:00
### Pylint disable code block
```python
"""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.baz) # pylint: disable=no-member
# error
print(self.baz)
2020-07-24 13:27:54 -04:00
```
2020-07-22 15:04:55 -04:00
### Pylint disable entire file
```python
#!/bin/python3
# pylint: skip-file
var = "terrible code down here..."
2020-07-24 13:27:54 -04:00
```
2020-07-22 15:04:55 -04:00
---
## Python3 flake8
- [flake8 ](https://flake8.pycqa.org/en/latest/ )
### flake8 Config file
- `.github/linters/.flake8`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.flake8`
### flake8 disable single line
```python
example = lambda: 'example' # noqa: E731
```
### flake8 disable entire file
```python
#!/bin/python3
# flake8: noqa
var = "terrible code down here..."
2020-07-24 13:27:54 -04:00
```
2020-07-22 15:04:55 -04:00
2020-07-24 13:27:54 -04:00
---
2020-08-20 10:44:11 -04:00
## Python3 black
- `https://black.readthedocs.io/en/stable/installation_and_usage.html#`
### Black Config file
2020-09-02 10:33:46 -04:00
- `.github/linters/.python-black`
- You can pass multiple rules and overwrite default rules
2020-09-02 03:27:32 -04:00
- File should be located at: .github/linters/.python-black
2020-09-02 10:33:46 -04:00
- [Python Black compatible configurations ](https://github.com/psf/black/blob/master/docs/compatible_configs.md )
2020-08-20 10:44:11 -04:00
### Black disable single line
- There is currently **No** way to disable rules inline of the file(s)
### Black disable code block
- There is currently **No** way to disable rules inline of the file(s)
### Black disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
2020-08-15 14:21:57 -04:00
## R
2020-07-24 13:27:54 -04:00
2020-08-15 14:21:57 -04:00
- [lintr ](https://github.com/jimhester/lintr )
### lintr Config file
- `.github/linters/.lintr`
- You can pass multiple rules and overwrite default rules
2020-08-18 12:11:26 -04:00
- You can use either one `.lintr` file in the root of your repository and/or additonal `.lintr` files in subdirectories. When linting a file lintr will look for config files from the file location upwards and will use the closest one.
- Absolute paths for exclusions will not work due to the code being linted within the docker environment. Use paths relative to the `.lintr` file in which youare adding them.
2020-08-15 14:21:57 -04:00
- **Note:** The defaults adhere to the [tidyverse styleguide ](https://style.tidyverse.org/ )
### lintr disable single line
2020-08-16 08:44:37 -04:00
```r
2020-08-15 14:21:57 -04:00
1++1/3+2 # nolint
```
### lintr disable code block
2020-08-15 21:27:41 -04:00
```r
2020-08-15 14:21:57 -04:00
# nolint start
hotGarbage = 1++1/3+2
#a very long comment line
# nolint end
```
### lintr disable entire file
2020-08-17 12:27:31 -04:00
Add files to exclude into the config file as a list of filenames to exclude from linting. You can use a named item to exclude only certain lines from a file. Use paths relative to the location of the `.lintr` file.
2020-08-15 14:21:57 -04:00
2020-08-15 21:27:41 -04:00
```r
2020-08-15 14:21:57 -04:00
exclusions: list("inst/doc/creating_linters.R" = 1, "inst/example/bad.R", "tests/testthat/exclusions-test")
```
---
2020-07-22 15:04:55 -04:00
## Raku
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [raku ](https://raku.org )
2020-07-06 04:17:20 -04:00
2020-07-22 15:04:55 -04:00
### Raku Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is no top level _configuration file_ available at this time
### Raku disable single line
- There is currently **No** way to disable rules inline of the file(s)
### Raku disable code block
- There is currently **No** way to disable rules inline of the file(s)
### Raku disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
## Ruby
- [RuboCop ](https://github.com/rubocop-hq/rubocop )
### RuboCop Config file
- `.github/linters/.ruby-lint.yml`
2020-07-06 04:17:20 -04:00
- You can pass multiple rules and overwrite default rules
2020-07-22 15:04:55 -04:00
- File should be located at: `.github/linters/.ruby-lint.yml`
- **Note:** We use the Default **GitHub** Rule set from [RuboCop-GitHub ](https://github.com/github/rubocop-github )
2020-07-06 04:17:20 -04:00
2020-07-22 15:04:55 -04:00
### RuboCop disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```ruby
method(argument) # rubocop:disable SomeRule, SomeOtherRule
2020-07-06 04:17:20 -04:00
```
2020-07-22 15:04:55 -04:00
### RuboCop disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```ruby
# rubocop:disable
This is a long line
var="this is some other stuff"
# rubocop:enable
```
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### 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
```yml
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$/
2020-07-06 04:17:20 -04:00
```
2020-07-22 15:04:55 -04:00
---
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
## Shell
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [Shellcheck ](https://github.com/koalaman/shellcheck )
2020-08-28 14:42:32 -04:00
- [shfmt ](https://github.com/mvdan/sh )
2020-07-22 15:04:55 -04:00
### Shellcheck Config file
- There is no top level _configuration file_ available at this time
### Shellcheck disable single line
```bash
echo "Terrible stuff" # shellcheck disable=SC2059,SC2086
```
### Shellcheck disable code block
```bash
# 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
```bash
#!/bin/sh
# shellcheck disable=SC2059,SC1084
echo "stuff"
moreThings()
2020-07-06 04:17:20 -04:00
```
2020-08-28 14:42:32 -04:00
### shfmt Config file
shfmt [supports EditorConfig files for configuration ](https://github.com/mvdan/sh#shfmt ), if available.
2020-07-21 13:08:05 -04:00
---
2020-06-25 06:21:11 -04:00
2020-09-07 10:37:22 -04:00
## Snakemake
2020-09-08 03:38:48 -04:00
- [snakemake --lint ](https://snakemake.readthedocs.io/en/stable/snakefiles/writing_snakefiles.html#best-practices )
2020-09-07 10:37:22 -04:00
- [snakefmt ](https://github.com/snakemake/snakefmt/ )
2020-09-08 03:38:48 -04:00
### snakemake's configuration
- Check the repository's README
2020-09-07 10:37:22 -04:00
### snakefmt configuration
- Check the repository's README
---
2020-08-06 13:01:36 -04:00
## SQL
- [SQL ](https://www.npmjs.com/package/sql-lint )
### SQL Config file
2020-08-11 13:30:00 -04:00
- `.github/linters/.sql-config.json`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.sql-json`
2020-08-06 13:01:36 -04:00
### SQL disable single line
- There is currently **No** way to disable rules inline of the file(s)
### SQL disable code block
- There is currently **No** way to disable rules inline of the file(s)
### SQL disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
2020-10-13 11:21:23 -04:00
## Tekton
- [Tekton ](https://github.com/IBM/tekton-lint )
### Tekton Config file
- There is currently **No** Tekton format config rules file
### Tekton disable single line
- There is currently **No** way to disable rules inline of the file(s)
### Tekton disable code block
- There is currently **No** way to disable rules inline of the file(s)
### Tekton disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
2020-07-22 15:04:55 -04:00
## Terraform
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [tflint ](https://github.com/terraform-linters/tflint )
2020-06-25 06:21:11 -04:00
2020-07-22 15:04:55 -04:00
### tflint standard Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.tflint.hcl`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.tflint.hcl`
2020-06-25 06:21:11 -04:00
2020-07-22 15:04:55 -04:00
### tflint disable single line
2020-07-21 13:08:05 -04:00
2020-06-25 06:21:11 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### tflint disable code block
2020-07-21 13:08:05 -04:00
2020-06-25 06:21:11 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### tflint disable entire file
2020-07-21 13:08:05 -04:00
2020-06-25 06:21:11 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-06-26 09:19:10 -04:00
2020-07-21 13:08:05 -04:00
---
2020-06-26 09:19:10 -04:00
2020-10-08 09:18:08 -04:00
## Terragrunt
- [terragrunt ](https://github.com/gruntwork-io/terragrunt )
### Terragrunt standard Config file
- There is currently **No** Terragrunt format config rules file
### Terragrunt disable single line
- There is currently **No** way to disable rules inline of the file(s)
### Terragrunt disable code block
- There is currently **No** way to disable rules inline of the file(s)
### Terragrunt disable entire file
- There is currently **No** way to disable rules inline of the file(s)
---
2020-07-22 15:04:55 -04:00
## Typescript eslint
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
- [eslint ](https://eslint.org/ )
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
### Typescript eslint Config file
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.eslintrc.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.eslintrc.yml`
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
### Typescript eslint disable single line
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
```typescript
var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();
function Thing() {
this.sayHello = function () {
console.log("hello");
};
2020-06-28 07:07:51 -04:00
}
```
2020-07-22 15:04:55 -04:00
### Typescript eslint disable code block
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
```typescript
/*eslint-disable */
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
//suppress all warnings between comments
alert("foo");
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
/*eslint-enable */
```
2020-06-28 07:07:51 -04:00
2020-07-22 15:04:55 -04:00
### Typescript eslint disable entire file
```typescript
/* eslint-disable */
2020-06-28 07:07:51 -04:00
```
2020-07-22 15:04:55 -04:00
---
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
## Typescript standard
2020-06-23 09:43:29 -04:00
2020-07-22 15:04:55 -04:00
- [standardjs ](https://standardjs.com/ )
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Typescript standard Config file
2020-06-23 09:43:29 -04:00
2020-07-22 15:04:55 -04:00
- There is no top level _configuration file_ available at this time
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Typescript standard disable single line
2020-06-23 09:43:29 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Typescript standard disable code block
2020-06-23 09:43:29 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### Typescript standard disable entire file
2020-06-21 03:16:45 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-06-21 03:16:45 -04:00
2020-07-22 15:04:55 -04:00
---
2020-06-21 03:16:45 -04:00
2020-07-22 15:04:55 -04:00
## XML
2020-06-21 03:16:45 -04:00
2020-07-22 15:04:55 -04:00
- [XML ](http://xmlsoft.org/ )
### LibXML Config file
- There is no top level _configuration file_ available at this time
### LibXML disable single line
2020-07-21 13:08:05 -04:00
2020-06-21 03:16:45 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-22 15:04:55 -04:00
### LibXML disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
### LibXML disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- There is currently **No** way to disable rules inline of the file(s)
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
---
2020-07-04 18:14:27 -04:00
2020-07-22 15:04:55 -04:00
## YAML
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- [YamlLint ](https://github.com/adrienverge/yamllint )
2020-07-04 18:14:27 -04:00
2020-07-22 15:04:55 -04:00
### Yamllint Config file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
- `.github/linters/.yaml-lint.yml`
- You can pass multiple rules and overwrite default rules
- File should be located at: `.github/linters/.yaml-lint.yml`
2020-07-04 18:14:27 -04:00
2020-07-22 15:04:55 -04:00
### Yamllint disable single line
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```yml
This line is waaaaaaaaaay too long # yamllint disable-line
```
2020-07-04 18:14:27 -04:00
2020-07-22 15:04:55 -04:00
### Yamllint disable code block
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
```yml
# yamllint disable rule:colons
- Key: value
dolor: sit,
foo: bar
# yamllint enable
```
2020-07-04 18:14:27 -04:00
2020-07-22 15:04:55 -04:00
### Yamllint disable entire file
2020-07-21 13:08:05 -04:00
2020-07-22 15:04:55 -04:00
If you need to ignore an entire file, you can update the `.github/linters/.yaml-lint.yml` to ignore certain files and locations
```yml
# 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/*
```