Tslint: A regra de ponto e vírgula deve sinalizar pontos e vírgulas desnecessários em funções de membro de classe

Criado em 11 ago. 2016  ·  8Comentários  ·  Fonte: palantir/tslint

Alteramos o comportamento da regra do ponto e vírgula para permitir a omissão do ponto e vírgula à direita após as funções de membro da classe vinculadas:

class Foo {
  public renderFoo = () => {
    return null;
  }
   ^ right here
}

Eu proponho que nós realmente _ban_ ponto e vírgula nesse local no TSLint 4.0. Podemos suportar a funcionalidade antiga com uma nova opção allow-bound-class-methods .

Easy P2 Fixed Breaking Change Enhancement

Comentários muito úteis

Para as pessoas que chegam a este tópico procurando a configuração tslint correta (como eu fiz) - a sintaxe correta para isso seria:
"ponto e vírgula": [true, "sempre", "ignore-bound-class-methods"]

Veja: https://palantir.github.io/tslint/rules/semicolon/

Todos 8 comentários

Não estou convencido de que isso seja necessário para o 4.0, mas também não faria mal. Parece um pouco de uma opção de minuto, porém, não estou totalmente convencido de que vale a pena a complexidade adicional

Apenas como um item de feedback (não tenho certeza se este é o local certo?), acabamos de nos deparar com isso e ficamos muito surpresos com isso.

Eu provavelmente não entendo muito bem a lógica por trás disso, mas em particular que tslint sinaliza ponto e vírgula como desnecessário nesta posição (ou seja, não aceita apenas deixá-los de fora) parece confuso.

Você pode recuperar o comportamento antigo com a opção ignore-bound-class-methods . Queríamos ser um pouco mais opinativos com a configuração padrão e fazer os métodos de classe vinculados parecerem métodos de classe regulares na maioria dos códigos TS.

Sim, eu imaginei tanto. Eu esperava que tslint fora da caixa exigisse esse ponto e vírgula, errando mais no lado da consistência ou ignorando o problema, mas adicionar essa opção de volta funciona para nós.

Eu tentei fazer isso parar de lançar erros no intellij

Eu tentei remover o ponto e vírgula atrás das funções de seta de classe, então recebo este aviso:
image

Tentei habilitar a opção assim:
image

Mas eu recebo este resultado:
image

Tentei habilitar a opção assim:
image

Mas então ele para de verificar todos os pontos e vírgulas juntos.

versão tslint: 4.4.2
versão ts: 2.1.5
versão intellij: 2016.3
SO: windows 10x64

Para as pessoas que chegam a este tópico procurando a configuração tslint correta (como eu fiz) - a sintaxe correta para isso seria:
"ponto e vírgula": [true, "sempre", "ignore-bound-class-methods"]

Veja: https://palantir.github.io/tslint/rules/semicolon/

@popstr Sim, é isso que estou usando também.

"semicolon": [true, "always", "ignore-bound-class-methods"]

Eu criei #3216 porque ignorar é uma má ideia em termos de consistência, e a regra sem a opção ignore-bound-class-methods ainda está com erros , como descobri.

Esta página foi útil?
0 / 5 - 0 avaliações