@atmgrupomaggioli/eslint-config
v0.1.0
Published
Eslint Config para proyectos con Javascript o Typescript
Readme
eslint-config - Typescript
Esta librería proporciona una configuración de ESLint optimizada y lista para usar con proyectos en TypeScript. Su objetivo es garantizar que el código sea limpio, consistente y siga las mejores prácticas de desarrollo
1. Requisitos
| Input | Versión |
| ---------------------------------------------------------------------------------------------------- | ------- |
| eslint | >= 8 |
| @typescript-eslint/eslint-plugin | ^7 |
| @typescript-eslint/parser | ^7 |
2. Instalación
npm i @typescript-eslint/parser@^7 @typescript-eslint/eslint-plugin@^7 @atmgrupomaggioli/eslint-config -E -D3. Uso
Debemos crear un fichero denominado .eslintrc.json en la raíz de nuestro proyecto con el siguiente contenido
{
"extends": ["@atmgrupomaggioli/eslint-config"],
"rules": {
// Listado de reglas que deseo sobrescribir
}
}4. Reglas
La librería exporta el siguiente conjunto de reglas de eslint:
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": ["eslint:recommended"],
"rules": {
"no-console": "off",
"no-unused-vars": "off",
"no-undef": "off",
"no-case-declarations": "off",
"no-extra-semi": "off",
"no-prototype-builtins": "off",
"no-redeclare": "off",
"no-empty": "off",
"no-extra-boolean-cast": "off",
"no-useless-escape": "error",
"no-duplicate-case": "error",
"no-debugger": "off",
"quotes": ["error", "single"],
"semi": ["error", "always"],
"comma-spacing": ["error", { "before": false, "after": true }],
"object-curly-spacing": ["error", "always"],
"arrow-spacing": ["error", { "before": true, "after": true }],
"no-multi-spaces": "error",
"keyword-spacing": ["error", { "before": true, "after": true }],
"no-multiple-empty-lines": ["error", { "max": 3, "maxEOF": 3 }],
"no-eval": "error",
"no-implied-eval": "error",
"no-new-func": "error",
"no-new-wrappers": "error",
"no-octal-escape": "error",
"no-with": "error",
"no-caller": "error",
"no-irregular-whitespace": "error",
"@typescript-eslint/no-this-alias": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unused-vars": "error",
"@typescript-eslint/no-empty-interface": "error",
"@typescript-eslint/prefer-namespace-keyword": "error"
}
}