import * as moment from 'moment';
import { logger } from './utils/logger';
const x: moment.Moment = moment();
logger.info(x.toString());
avec la configuration 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"]
}
Erreurs signalées :
/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'.
La possibilité d'utiliser moment.js. Pour l'instant, tslint le détecte comme type : any
, ce qui provoque des erreurs de linting. Fait intéressant, si j'essaie d'importer une méthode spécifique, j'obtiens toujours les mêmes erreurs no-unsafe-any :
Exemple:
import { duration, Duration } from 'moment';
import { logger } from './utils/logger';
const x: Duration = duration(1, 'week');
logger.info(x.toString());
Produit une sortie :
/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'.
Juste un avertissement - le fichier .d.ts est inclus avec moment - pas besoin d'installer à partir de @types.
Juste un avertissement - le fichier .d.ts est inclus avec moment - pas besoin d'installer à partir de @types.
Merci, ça aurait été ma première question.
tslint:all
active no-unused-variable
. Cette règle est connue pour interférer avec d'autres règles de type vérifié : #2736
Vous pouvez essayer de désactiver no-unused-variable
et voir si les erreurs disparaissent.
Vous pouvez essayer de désactiver la variable no-unused et voir si les erreurs disparaissent.
Ça a marché. Mais que faire si je veux aussi utiliser no-unused-variable
? Pourquoi cela ne semble-t-il affecter que le moment de mon projet - j'ai de nombreuses autres bibliothèques tierces qui s'importent très bien.
Mais que se passe-t-il si je veux aussi utiliser no-unused-variable ?
Il y a plusieurs options :
--noUnusedLocals
et --noUnusedParameters
placeno-unused-variable
, la deuxième avec seulement no-unused-variable
Pourquoi cela ne semble-t-il affecter que le moment de mon projet - j'ai de nombreuses autres bibliothèques tierces qui s'importent très bien.
Personne ne sait vraiment ce qui ne va pas et pourquoi. La règle perturbe en quelque sorte les éléments internes du dactylographe.
Commentaire le plus utile
Il y a plusieurs options :
--noUnusedLocals
et--noUnusedParameters
placeno-unused-variable
, la deuxième avec seulementno-unused-variable
Personne ne sait vraiment ce qui ne va pas et pourquoi. La règle perturbe en quelque sorte les éléments internes du dactylographe.