Tslint: エラー:配列内にない場合は型チェックが必要です

作成日 2016年07月29日  ·  18コメント  ·  ソース: palantir/tslint

バグレポート

  • TSLintバージョン3.14.0
  • TypeScriptバージョン2.0.0
  • 経由でTSLintを実行する:Node.js API

    リンティングされているTypeScriptコード

tslint.json構成の場合:

{
    "linterOptions": {
        "typeCheck": true
    },
    "rules": {
        "no-for-in-array": true
    }
}

実際の動作

エラー:配列内にない場合は型チェックが必要です
Rule.TypedRule.apply(... \ node_modules \ tslint \ lib \ language \ rule \ typedRule.js:14:15)
Linter.lintで(... \ node_modules \ tslint \ lib \ tslint.js:65:37)
..。

予想される行動

エラーなし

Question

最も参考になるコメント

@adidahiyaこのAPIを公開しないことのポイントは何ですか?
tslint.json介してすべてのTSLint設定を設定すると非常に便利だと思います。

全てのコメント18件

tslint.jsonのlinterOptionsは、実際にはプライベートAPIです。 CLIを使用する場合は、 --type-checkフラグを使用する必要があります。 Node.js APIを使用する場合は、 src /test.tsのようなパターンに従う必要があります。

これは醜く、公開する必要があります

まあ、それは文書化されたAPIではありません...どうやってそれを発見しましたか? 私たちは、APIにコミットする前に、プロジェクトでAPIを試す権利を留保します...

サンプル構成のコードを読んだり、コードを読んだりすることは、ほとんどのjavascriptプロジェクトで最高のドキュメントです。 開発者はドキュメントの更新に非常に時間がかかり、リリースされた機能は久しぶりにドキュメント化される可能性があります。一部のプロジェクトでは、ノードAPIの使用に関するドキュメントが提供されておらず、CLIの使用のみを提供することを完全に好みます。これは醜いです。

多くのビルドツールプラグインはNode.JSapiを使用し、CLIは出力などのプロセスを制御する機能を提供しないため、その機能はCLIと異なってはなりません。
例: https

コードを読むことは、ほとんどのjavascriptプロジェクトで最高のドキュメントです

確かに、それは部分的に真実です-それが私が上記のコメントでsrc /test.tsを指摘した理由です。


Node.js APIが有用であり、文書化する必要があることに同意します。 型チェックなど、十分にサポートされているパーツのドキュメントがここREADMEにあります。 また、typescriptプロジェクトであるため、NPMパッケージで公開されている型指定宣言ファイルの形式のドキュメントが当然あります。

確かに、GHページのサイトはREADMEに比べて少し遅れています-私たちはそれを改善するために取り組んでいます。 ただし、ここでの貢献の形式については、少し異なるトーンを提案する場合があります。たとえば、プロジェクトを「醜い」と呼ぶ前にドキュメントPRを送信することで、より多くの成功を経験できるでしょう。

GHページサイトは、最新リリースの最新のルールメタデータで更新されました。 (私はこれが目前の問題に少し接していることを理解しています。)

現在、 tslint.jsonファイルは_個々のファイルのリント方法のみを指定し__包括的なリンターオプションは指定しません_。 tslint.jsonファイルで包括的なオプションを指定できるようにすることは、パラダイムの変更です。そのため、公開APIを変更する前に、内部でいくつかの新しいセットアップを試しています。

ただ、使用可能にしようとした後、そのエラーに遭遇したno-for-in-arraytslint.json 、このGHの問題がポップアップしていることだけで、Googleの結果でした。 エラーメッセージは少なくともドキュメントを指し示すことができますか?

補足として、Gulpランナーでそれを有効にするためのドキュメントはありますか?

Gulpランナーに関してはよくわかりません。 どのルールがタイプチェックを必要とし、それが何を意味するのかをより明確にするために、ドキュメントサイトを更新する必要があります

u plzは、webstormのようなIDEでこの問題にどのように対処するか教えてもらえますか?

plzでlinterOptionsのタイプチェックを公開することはできますか?

実際、型チェックをルールにする方が便利でアクセスしやすいと思います。

更新はありますか?

@StevenTheEVILZは、 tslint.jsonのルールを無効にするだけです。 Webstormプラグインは、このリポジトリの外部にある新しいタイプチェックAPIをサポートするように更新する必要があります。 これは、ニーズに関わらず発生するlinterOptionstslint.jsonというパブリック(私はプラグインでは、彼らはCLI、Node.jsのAPIを使用していないしていると仮定)。

@adidahiya tslint jslibを使用して問題を修正しました。 ところで、彼らはCLIを使用して、その出力をキャプチャしています。

@adidahiyaこのAPIを公開しないことのポイントは何ですか?
tslint.json介してすべてのTSLint設定を設定すると非常に便利だと思います。

私が使用していますcreate-react-appreact-scripts-tsとなっ保つWarning: The 'no-use-before-declare' rule requires type information.私は、コマンドラインパラメータを指定するための方法はありませんので。 tslint.jsonすべてのオプションを指定できない理由がよくわかりません。

#3322の時点で、typeCheckは非推奨になりました。 ハウスキーピングのためにこの問題を閉じます。

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