Tslint: Правило точки с запятой должно помечать ненужные точки с запятой в функциях-членах класса.

Созданный на 11 авг. 2016  ·  8Комментарии  ·  Источник: palantir/tslint

Мы изменили поведение правила точки с запятой, чтобы разрешить опускать завершающую точку с запятой после привязанных функций-членов класса:

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

Я предлагаю _запретить_ точки с запятой в этом месте в TSLint 4.0. Мы можем поддержать старую функциональность с новой опцией allow-bound-class-methods .

Easy P2 Fixed Breaking Change Enhancement

Самый полезный комментарий

Для людей, которые приходят в эту тему и ищут правильную конфигурацию tslint (как это сделал я) - правильный синтаксис для этого будет следующим:
«точка с запятой»: [true, «всегда», «игнорировать связанные методы класса»]

См.: https://palantir.github.io/tslint/rules/semicolon/

Все 8 Комментарий

Я не уверен, что это нужно для 4.0, но это тоже не помешает. Хотя это кажется немного минутным вариантом, я не совсем уверен, что это стоит дополнительной сложности.

Просто в качестве обратной связи (не уверены, что это правильное место?), мы просто наткнулись на это и были очень удивлены.

Я, вероятно, не совсем понимаю причину этого, но, в частности, то, что tslint помечает точки с запятой как ненужные в этой позиции (т.е. не просто допускает их отсутствие), кажется запутанным.

Вы можете вернуть старое поведение с помощью опции ignore-bound-class-methods . Мы хотели быть немного более самоуверенными с конфигурацией по умолчанию и сделать методы связанного класса похожими на обычные методы класса в большинстве кодов TS.

Да, я так много думал. Я ожидал, что tslint по умолчанию потребует эту точку с запятой, больше ошибается в сторону согласованности или игнорирует проблему, но добавление этой опции обратно работает для нас.

Я пытался заставить это перестать выдавать ошибки в intellij

Я попытался удалить точку с запятой за функциями стрелок класса, затем я получаю это предупреждение:
image

Я попытался включить опцию следующим образом:
image

Но я получаю этот результат:
image

Я попытался включить опцию следующим образом:
image

Но затем он перестает проверять точки с запятой вообще.

версия tslint: 4.4.2
ТС версия: 2.1.5
интеллектуальная версия: 2016.3
ОС: виндовс 10 х64

Для людей, которые приходят в эту тему и ищут правильную конфигурацию tslint (как это сделал я) - правильный синтаксис для этого будет следующим:
«точка с запятой»: [true, «всегда», «игнорировать связанные методы класса»]

См.: https://palantir.github.io/tslint/rules/semicolon/

@popstr Да, я тоже этим пользуюсь.

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

Я создал #3216, потому что игнорирование — плохая идея с точки зрения согласованности, а правило без опции ignore-bound-class-methods по- прежнему содержит ошибки , как я выяснил.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги