Tslint: セミコロンルールは、クラスメンバー関数の不要なセミコロンにフラグを立てる必要があります

作成日 2016年08月11日  ·  8コメント  ·  ソース: palantir/tslint

セミコロンルールの動作を変更して、バインドされたクラスメンバー関数の後に続くセミコロンを省略できるようにしました。

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

TSLint4.0ではその場所で実際にセミコロンを_禁止_することを提案します。 新しいオプションallow-bound-class-methodsを使用して、古い機能をサポートできます。

Easy P2 Fixed Breaking Change Enhancement

最も参考になるコメント

正しいtslint構成を探しているこのスレッドに来る人々にとって(私がしたように)-これの正しい構文は次のようになります:
"セミコロン":[true、 "always"、 "ignore-bound-class-methods"]

参照: 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
tsバージョン:2.1.5
intellijバージョン:2016.3
OS:Windows 10 x64

正しいtslint構成を探しているこのスレッドに来る人々にとって(私がしたように)-これの正しい構文は次のようになります:
"セミコロン":[true、 "always"、 "ignore-bound-class-methods"]

参照: https ://palantir.github.io/tslint/rules/semicolon/

@popstrはい、それも私が使用しているものです。

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

無視することは一貫性の観点から悪い考えであり、 ignore-bound-class-methodsオプションのないルールはまだバグがあるため、#3216を作成しました。

このページは役に立ちましたか?
0 / 5 - 0 評価