import * as moment from 'moment';
import { logger } from './utils/logger';
const x: moment.Moment = moment();
logger.info(x.toString());
dengan konfigurasi 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"]
}
Kesalahan yang dilaporkan:
/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'.
Kemampuan untuk menggunakan moment.js. Sampai sekarang tslint mendeteksinya sebagai tipe: any
, yang menyebabkan kesalahan linting. Menariknya, jika saya mencoba mengimpor metode tertentu, saya masih mendapatkan kesalahan no-unsafe-any yang sama:
Contoh:
import { duration, Duration } from 'moment';
import { logger } from './utils/logger';
const x: Duration = duration(1, 'week');
logger.info(x.toString());
Menghasilkan keluaran:
/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'.
Perhatian saja - file .d.ts disertakan dengan momen - tidak perlu menginstal dari @types.
Perhatian saja - file .d.ts disertakan dengan momen - tidak perlu menginstal dari @types.
Terima kasih, itu akan menjadi pertanyaan pertama saya.
tslint:all
mengaktifkan no-unused-variable
. Aturan ini diketahui mengganggu aturan tipe lain yang diperiksa: #2736
Anda dapat mencoba menonaktifkan no-unused-variable
dan melihat apakah kesalahannya hilang.
Anda dapat mencoba menonaktifkan variabel yang tidak digunakan dan melihat apakah kesalahannya hilang.
Itu berhasil. Tetapi bagaimana jika saya ingin menggunakan no-unused-variable
juga? Mengapa ini tampaknya hanya memengaruhi momen dalam proyek saya - Saya memiliki banyak perpustakaan pihak ke-3 lainnya yang mengimpor dengan baik.
Tetapi bagaimana jika saya ingin menggunakan variabel yang tidak digunakan juga?
Ada beberapa opsi:
--noUnusedLocals
dan --noUnusedParameters
sebagai gantinyano-unused-variable
, jalankan kedua hanya no-unused-variable
Mengapa ini tampaknya hanya memengaruhi momen dalam proyek saya - Saya memiliki banyak perpustakaan pihak ke-3 lainnya yang mengimpor dengan baik.
Tidak ada yang benar-benar tahu apa yang salah dan mengapa. Aturan itu entah bagaimana mengacaukan internal TypeScript.
Komentar yang paling membantu
Ada beberapa opsi:
--noUnusedLocals
dan--noUnusedParameters
sebagai gantinyano-unused-variable
, jalankan kedua hanyano-unused-variable
Tidak ada yang benar-benar tahu apa yang salah dan mengapa. Aturan itu entah bagaimana mengacaukan internal TypeScript.