import * as moment from 'moment';
import { logger } from './utils/logger';
const x: moment.Moment = moment();
logger.info(x.toString());
tslint.json
構成の場合:
{
"extends": ["tslint:all", "tslint-eslint-rules", "tslint-config-prettier"],
"rules": {
"completed-docs": [false],
"member-ordering": [
true,
{
"order": [
"public-static-field",
"protected-static-field",
"private-static-field",
"public-instance-field",
"private-instance-field",
"public-constructor",
"protected-constructor",
"private-constructor",
"public-static-method",
"protected-static-method",
"private-static-method",
"public-instance-method",
"private-instance-method"
]
}
],
"no-implicit-dependencies": false,
"no-inferrable-types": false,
"no-null-keyword": false,
"prettier": [
true,
{
"bracketSpacing": true,
"jsxBracketSameLine": false,
"parser": "typescript",
"printWidth": 120,
"semi": true,
"singleQuote": true,
"tabWidth": 4,
"trailingComma": "all",
"useTabs": false
}
],
"variable-name": [true, "allow-leading-underscore", "allow-pascal-case", "ban-keywords", "check-format"]
},
"rulesDirectory": ["tslint-plugin-prettier"]
}
報告されたエラー:
/Users/mrandolph/Projects/***/***/src/server/test.ts
ERROR: 4:26 no-unsafe-any Unsafe use of expression of type 'any'.
ERROR: 6:13 no-unsafe-any Unsafe use of expression of type 'any'.
moment.jsを使用する機能。 現在、tslintはそれをタイプany
として検出しています。これにより、リンティングエラーが発生します。 興味深いことに、特定のメソッドをインポートしようとすると、同じno-unsafe-anyエラーが発生します。
例:
import { duration, Duration } from 'moment';
import { logger } from './utils/logger';
const x: Duration = duration(1, 'week');
logger.info(x.toString());
出力を生成します:
/Users/mrandolph/Projects/***/***/src/server/test.ts
ERROR: 4:21 no-unsafe-any Unsafe use of expression of type 'any'.
ERROR: 6:13 no-unsafe-any Unsafe use of expression of type 'any'.
ただ注意してください-.d.tsファイルはmomentに含まれています-@ typesからインストールする必要はありません。
ただ注意してください-.d.tsファイルはmomentに含まれています-@ typesからインストールする必要はありません。
ありがとう、それが私の最初の質問だったでしょう。
tslint:all
はno-unused-variable
有効にします。 このルールは、他のタイプチェックルールに干渉することが知られています:#2736
no-unused-variable
を無効にして、エラーがなくなるかどうかを確認できます。
no-unused-variableを無効にして、エラーがなくなるかどうかを確認することができます。
それはうまくいった。 しかし、 no-unused-variable
も使用したい場合はどうなりますか? これが私のプロジェクトの瞬間にのみ影響するように見えるのはなぜですか?他にも、正常にインポートできるサードパーティのライブラリがたくさんあります。
しかし、no-unused-variableも使用したい場合はどうなりますか?
いくつかのオプションがあります:
--noUnusedLocals
および--noUnusedParameters
使用してくださいno-unused-variable
で、2回目の実行はno-unused-variable
これが私のプロジェクトの瞬間にのみ影響するように見えるのはなぜですか?他にも、正常にインポートできるサードパーティのライブラリがたくさんあります。
何がうまくいかないのか、そしてその理由は誰にもわかりません。 ルールはどういうわけかtypescriptの内部を台無しにします。
最も参考になるコメント
いくつかのオプションがあります:
--noUnusedLocals
および--noUnusedParameters
使用してくださいno-unused-variable
で、2回目の実行はno-unused-variable
何がうまくいかないのか、そしてその理由は誰にもわかりません。 ルールはどういうわけかtypescriptの内部を台無しにします。