Buscar..


Introducción

TSLint realiza un análisis estático del código y detecta errores y problemas potenciales en el código.

Configuración básica de tslint.json

Esta es una configuración básica de tslint.json que

  • evita el uso de any
  • requiere llaves para las declaraciones if / else / for / do / while
  • requiere comillas dobles ( " ) para ser utilizadas para cadenas
{
    "rules": {
        "no-any": true,
        "curly": true,
        "quotemark": [true, "double"]
    }
}

Configuración para menos errores de programación.

Este ejemplo de tslint.json contiene un conjunto de configuración para imponer más tipificaciones, detectar errores comunes o construcciones confusas que son propensas a producir errores y seguir más las Pautas de codificación para los contribuyentes de TypeScript .

Para hacer cumplir estas reglas, incluya tslint en su proceso de compilación y verifique su código antes de compilarlo con tsc.

{
  "rules": {
     // TypeScript Specific
     "member-access": true, // Requires explicit visibility declarations for class members.
     "no-any": true, // Diallows usages of any as a type declaration.
     // Functionality
     "label-position": true, // Only allows labels in sensible locations.
     "no-bitwise": true, // Disallows bitwise operators.
     "no-eval": true, // Disallows eval function invocations.
     "no-null-keyword": true, // Disallows use of the null keyword literal.
     "no-unsafe-finally": true, // Disallows control flow statements, such as return, continue, break and throws in finally blocks.
     "no-var-keyword": true, // Disallows usage of the var keyword.
     "radix": true, // Requires the radix parameter to be specified when calling parseInt.
     "triple-equals": true, // Requires === and !== in place of == and !=.
     "use-isnan": true, // Enforces use of the isNaN() function to check for NaN references instead of a comparison to the NaN constant.
     // Style
     "class-name": true, // Enforces PascalCased class and interface names. 
     "interface-name": [ true, "never-prefix" ], // Requires interface names to begin with a capital ‘I’
     "no-angle-bracket-type-assertion": true, // Requires the use of as Type for type assertions instead of <Type>.
     "one-variable-per-declaration": true, // Disallows multiple variable definitions in the same declaration statement.
     "quotemark": [ true, "double", "avoid-escape" ], // Requires double quotes for string literals.
     "semicolon": [ true, "always" ], // Enforces consistent semicolon usage at the end of every statement.
     "variable-name": [true, "ban-keywords", "check-format", "allow-leading-underscore"] // Checks variable names for various errors. Disallows the use of certain TypeScript keywords (any, Number, number, String, string, Boolean, boolean, undefined) as variable or parameter. Allows only camelCased or UPPER_CASED variable names. Allows underscores at the beginning (only has an effect if “check-format” specified).
  }
}

Usando un conjunto de reglas predefinido como predeterminado

tslint puede extender un conjunto de reglas existente y se envía con los valores predeterminados tslint:recommended y tslint:latest .

tslint:recommended es un conjunto de reglas estables y de cierta tslint:recommended para la programación general de TypeScript. Esta configuración sigue a semver, por lo que no tendrá cambios importantes en las versiones menores o de parches.

tslint:latest extensión tslint: recomendado y se actualiza continuamente para incluir la configuración de las últimas reglas en cada versión de TSLint. El uso de esta configuración puede introducir cambios de última hora en versiones menores a medida que se habilitan nuevas reglas que causan fallas de pelusa en su código. Cuando TSLint alcanza un gran golpe de versión, tslint: recomendado se actualizará para que sea idéntico a tslint: más reciente.

Documentos y código fuente de un conjunto de reglas predefinido.

Así que uno puede simplemente usar:

{
  "extends": "tslint:recommended"
}

Para tener una configuración de partida sensible.

Entonces se pueden sobrescribir las reglas de ese ajuste preestablecido a través de las rules , por ejemplo, para los desarrolladores de nodos, tenía sentido establecer no-console en false

{
  "extends": "tslint:recommended",
  "rules": {
    "no-console": false
  }
}

Instalación y configuración

Para instalar el comando tslint run

npm install -g tslint

Tslint se configura a través del archivo tslint.json . Para inicializar el comando de ejecución de configuración por defecto

tslint --init

Para comprobar el archivo de posibles errores en el comando de ejecución de archivo

tslint filename.ts

Conjuntos de Reglas TSLint

El genearator de Yeoman es compatible con todos estos ajustes preestablecidos y puede extenderse también:



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow