import * as moment from 'moment';
import { logger } from './utils/logger';
const x: moment.Moment = moment();
logger.info(x.toString());
con tslint.json
configuración:
{
"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"]
}
Errores reportados:
/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 capacidad de usar moment.js. A partir de ahora, tslint lo está detectando como tipo: any
, lo que provoca errores de pelusa. Curiosamente, si intento importar un método específico, todavía obtengo los mismos errores que no son inseguros:
Ejemplo:
import { duration, Duration } from 'moment';
import { logger } from './utils/logger';
const x: Duration = duration(1, 'week');
logger.info(x.toString());
Produce salida:
/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'.
Solo un aviso: el archivo .d.ts se incluye con el momento, no es necesario instalarlo desde @types.
Solo un aviso: el archivo .d.ts se incluye con el momento, no es necesario instalarlo desde @types.
Gracias, esa hubiera sido mi primera pregunta.
tslint:all
habilita no-unused-variable
. Se sabe que esta regla interfiere con otras reglas verificadas de tipo: # 2736
Puede intentar deshabilitar no-unused-variable
y ver si los errores desaparecen.
Puede intentar deshabilitar la variable no-no utilizada y ver si los errores desaparecen.
Eso funciono. Pero, ¿qué pasa si también quiero usar no-unused-variable
? ¿Por qué esto solo parece afectar el momento en mi proyecto? Tengo muchas otras bibliotecas de terceros que se importan bien.
Pero, ¿qué pasa si también quiero usar una variable no utilizada?
Hay varias opciones:
--noUnusedLocals
y --noUnusedParameters
lugarno-unused-variable
, la segunda ejecución solo no-unused-variable
¿Por qué esto solo parece afectar el momento en mi proyecto? Tengo muchas otras bibliotecas de terceros que se importan bien.
Nadie sabe realmente qué sale mal y por qué. La regla de alguna manera interfiere con los aspectos internos del mecanografiado.
Comentario más útil
Hay varias opciones:
--noUnusedLocals
y--noUnusedParameters
lugarno-unused-variable
, la segunda ejecución solono-unused-variable
Nadie sabe realmente qué sale mal y por qué. La regla de alguna manera interfiere con los aspectos internos del mecanografiado.