Estoy usando eslint y prettier (en vscode), y configuré la regla de sangría:
// .eslintrc { // other settings... rules: { "indent": ["error", 4] // 4 whitespace indent } } // .prettierrc { // other settings... "useTabs": false, "tabWidth": 4 // 4 whitespace indent }Funciona bien en otros lugares. Pero en este caso, dos complementos tienen algún conflicto:
// format by prettier const rules = func(() => { const rule = {...}; return condition ? [ { foo: rule.a, bar: rule.b, baz: rule.c } ] : []; }); // correct code of eslint const rules = func(() => { const rule = {...}; return condition ? [ { foo: rule.a, bar: rule.b, baz: rule.c } ] : []; }); Es más bonito tomar 2 espacios adicionales para sangrar el objeto declare (y ] ), por lo que eslint arroja algún error como Expected indentation of x spaces but found x+2 .
Y cuando trato de eliminar el espacio extra, más bonito me dará la propina Insert '··' (dos espacios en blanco).
Leí documentos eslint y más bonitos, pero parece que no tengo solución al respecto.
Puedo desactivar la regla en eslint para ignorar este error, pero ¿tengo alguna configuración mejor para solucionarlo?
El problema también se menciona en un problema de GitHub .
ESLint y Prettier tienen diferentes implementaciones de sangría y entrarán en conflicto entre sí.
Debe desactivar la verificación de sangría ESLint cuando use más bonito.
// .eslintrc { // other settings... rules: { "indent": "off" } }