Desativar regras eslint para pasta

181

Existe uma maneira de desativar regras específicas para uma pasta? Por exemplo, não quero ter exigido comentários JSDoc para todos os meus arquivos de teste na testpasta. Existe uma maneira de fazer isso?

DevNebulae
fonte
O eslint-babel parece ignorar todos os arquivos e configurações .eslint-ignore.
Ivanixmobile

Respostas:

302

Para ignorar alguma pasta das regras eslint, podemos criar o arquivo .eslintignoreno diretório raiz e adicionar o caminho para a pasta que queremos omitir (da mesma maneira que para .gitignore).

Aqui está o exemplo dos documentos do ESLint sobre Ignorar arquivos e diretórios :

# path/to/project/root/.eslintignore
# /node_modules/* and /bower_components/* in the project root are ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js
YaTaras
fonte
34
Esta solução realmente não responde à pergunta original, que pergunta como desativar regras específicas para um diretório específico. Aqui você está desativando todas as regras para os diretórios fornecidos. Melhor resposta está aqui: stackoverflow.com/a/41316801/882638
ericgio
3
Trecho da documentação do ESLint " Além de todos os padrões em um arquivo .eslintignore, o ESLint sempre ignora os arquivos em / node_modules / * e / bower_components / *. " Portanto, não há necessidade de adicionar /node_modules, por /distsi só é suficiente excluir os dois diretórios . Também o padrão glob é suportado enquanto se especifica (sub) diretórios.
Ozanmuyes
Existe uma maneira de fazer isso com vue.config.js ou package.json?
Serge
3
Existe .eslintrc.jsonalguma maneira de configurar quais diretórios serão ignorados no próprio arquivo de configuração, para que não precisemos de outro arquivo .estlint e possamos herdar valores de ignorados de uma eslint-config-myconfigconfiguração compartilhada?
Joshua Pinter
1
Existem várias postagens semelhantes sobre isso. Eu precisava: --ignore-pathe / ou --ignore-pattern, e acho que também responde com precisão a essa pergunta.
Neil Guy Lindberg
50

As respostas anteriores estavam no caminho certo, mas a resposta completa para Desativar regras apenas para um grupo de arquivos , você encontrará a documentação necessária para desativar / ativar regras para determinadas pastas (porque, em alguns casos, você não não quero ignorar a coisa toda, apenas desabilite certas regras). Exemplo:

{
    "env": {},
    "extends": [],
    "parser": "",
    "plugins": [],
    "rules": {},
    "overrides": [
      {
        "files": ["test/*.spec.js"], // Or *.test.js
        "rules": {
          "require-jsdoc": "off"
        }
      }
    ],
    "settings": {}
}
Alberto Perez
fonte
2
Essa resposta é melhor porque você pode desativar uma regra específica para um determinado diretório. Em vez de simplesmente desativar todas as regras para um diretório.
Storm Muller
1
Isso inicialmente não funcionou para mim. Verifique se você não possui um .eslintrc.jsnessa pasta com um extends: "../.eslintrc.js"!
Florian Wendelborn
2

Versão YAML:

overrides:
  - files: *-tests.js
    rules:
      no-param-reassign: 0

Exemplo de regras específicas para testes de mocha:

Você também pode definir um ambiente específico para uma pasta, assim:

overrides:
  - files: test/*-tests.js
    env:
      mocha: true

Essa configuração corrigirá a mensagem de erro sobre describee itnão definida, apenas para sua pasta de teste:

/myproject/test/init-tests.js O erro
6: 1 'description' não está definido no-undef 9: 3 erro 'it' não está definido no-undef

A-312
fonte