Paquete de reglas preconfiguradas para eslint (linter de Javascript).
Este paquete se utiliza internamente en mkweb, pero se ha separado por si alguien quiere utilizarlo de forma sencilla:
https://manz.dev/software/mkweb
- ✨ Comillas dobles sobre comillas simples
- ✨ Punto y coma siempre
- ✨ Espacio antes de paréntesis de funciones (en arrow functions y anónimas)
- ✨ No permitas
awaiten bucles - ✨ No permitas
${var}en comillas dobles. Convierte a backticks. - ✨ Añade las llaves a arrow functions cuando sea necesario
- ✨ No permitas decimales sin el número
.5en lugar de0.5 - ✨ Máximo
500lineas por fichero.js: Obliga a separar en módulos - ✨ Máximo
250lineas por función: Obliga a modularizar funciones - ✨ No permitas ternarios innecesarios que pueden reescribirse de forma más simple
- ✨ No permitas enlaces
javascript:*(programación peligrosa) - ✨ No permitas secuencias de comandos separados por
,(programación peligrosa) - ✨ No permitas uso de
var: prefiereletoconst - ✨ Convierte a
constsiempre que no reasignes la variable - ✨ Prefiere
...argssobrearguments - ✨ Indentación:
2espacios - ✨ Obliga a escribir el
.jsen losimportcon rutas relativas
- Instalar el linter y el paquete de configuración:
npm install -D eslint eslint-config-manzdev- Crear un fichero de configuración
.eslintrc.jsonque lo utilice:
{
extends: "eslint-config-manzdev",
rules: {
/* ... */
}
}Si lo deseas, puedes modificar reglas a tu criterio en el apartado rules.
Si quieres que Visual Code sea capaz de corregir los errores automáticamente, necesitarás lo siguiente:
- Instala la extensión oficial de ESLint
- Crea una carpeta
.vscode/con un ficherosettings.jsonen tu proyecto o pulsa F1 / Open User Settings (JSON) e incluye la siguiente configuración recomendada:
{
/* Disable basic VSCode linters */
"javascript.validate.enable": false,
"typescript.validate.enable": false,
/* Activamos Stylelint */
"eslint.enable": true,
/* Corregir automágicamente */
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
/* ... */
}