問題タブ [tslint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - TSLint と JSLint が空のブロックを報告するのはなぜですか?
ときどき、「ブロックが空です」という TSLint エラーが発生します。これは、たとえば、no-op コールバックを関数に渡すと発生します。
私が読んだところによると、JSLint は明らかに同じことを行っているようですが、私はそれを確認していません。
これらの使用法は完全に有効であることがわかったので、空のブロックがまったく悪いと見なされる理由を見つけようとしました。しかし、私が見つけることができる唯一のもの(たとえば、この回答return;
で)は、エラーを回避するために a を追加する指示です。これは、すべての空のコールバックでやりたいことではありません。
TSLint が空のブロックの上を問題として報告するのはなぜですか? チェックを無効にしてはいけない理由はありますか?
typescript - 関数パラメーターである TypeScript.Expression のコンパイル時の型を特定するにはどうすればよいですか?
TypeScript 抽象構文ツリーを使用する場合、関数パラメーターとして提供された TypeScript.Expression のコンパイル時の型をどのように判断すればよいですか?
次のコードでは、setTimeout に渡されるパラメーターの型を知りたいと考えています。
AST は次のように並んでいます。
この情報を取得するためにいくつかの方法を試しましたが、TypeChecker は型を「any」と報告し続けます。
ノードには親があります...そして、正しい定義が見つかるまで、親ノードを分析するASTを登ることができました。しかし、これは悪い考えです。もっと簡単な方法があるはずです。
何か案は?
typescript - ファイルの最初の行の「use strict」は、ファイル内のすべての関数に影響しますか?
だから私は学習目的のためにここからこのコードを適応させました:
これらのtslint.jsonルールを使用して、このファイルでtslintを実行しています。
これは私が得ているものです:
app.ts[10, 1]: 'use strict' がありません
app.ts[17, 1]: 'use strict' がありません
app.ts[33, 1]: 'use strict' がありません
app.ts[43, 1]: 'use strict' がありません
私の理解では"use string";
、ファイルの最初の行はファイル全体でグローバルでなければなりません。それでも、各関数はメッセージを生成します。何か不足していますか?
typescript - TSLint: 未使用の var キーワード
TypeScript プロジェクト用に TSLint を構成しましたが、警告のforbidden var keyword
意味がわかりません。TSLint 警告が発生する最小限の例を次に示します。
ありがとうございました。
編集:サンプル tslint.jsonを使用しています。
gulp - Gulp 監視タスクが 1 回実行され、2 回目の実行でハングする
プロジェクトの TSLint チェックを実行するための gulp タスクがいくつかあります。新しく変更されたファイルのみを監視し、変更されたときに(ファイルの保存時に)これらのチェックを実行するタスクがあります。現在、watchTS
タスクを実行すると、保存/変更した最初のファイルで実行され、正常に動作します。次にファイルが変更されると、タスクは実行されますが、実際には完了せず、TSLint 検証も実行されません。
ガルプ出力
1 回実行すると、エラーが検出されます。もう一度実行するために何かをしますが、タスクを終了したり、TSLint を実行したりすることはありません。
関連するgulpタスクは次のとおりです