es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Qué hace import/resolver en el archivo .eslintrc.js?

He implementado Yarn Berry en mi proyecto en lugar de usar node_modules.

Después de migrar a Yarn Berry (versión 3.1.1), el siguiente error de eslint comenzó a ocurrir en un archivo, en la parte superior de la declaración de importación que es importar react desde 'React'


Error en la resolución: no se puede cargar el resolutor "node". eslintimport/namespace
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/no-extraneous-dependencies
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/default
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/no-duplicates
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/order
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/no-self-import
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/no-cycle
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/no-relative-packages
Error en la resolución: no se puede cargar el resolutor "node". eslintimport/no-named-as-default

Antes de migrar a Yarn Berry, estos errores nunca habían ocurrido.

Sin embargo, cuando agregué el objeto typescript con project: 'tsconfig.json' dentro de import/resolver de esta manera:


settings: {
'import/resolver': {
typescript: { // aquí
project: 'tsconfig.json',
},
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
'import/parsers': {
'@typescript-eslint/parser': ['.ts', '.tsx'],
},
react: {
version: 'detect',
},
},

Los errores desaparecen.

He resuelto el problema, pero tengo una pregunta.

¿Qué hace la opción typescript dentro de import/resolver con Yarn Berry?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La opción typescript dentro de import/resolver especifica que el solucionador de TypeScript debe ser utilizado por el plugin ESLint. Esto significa que resolverá las importaciones basándose en la configuración en el archivo tsconfig.json de tu proyecto, en lugar de depender del solucionador predeterminado de Node.js. Esto es necesario porque Yarn Berry utiliza un mecanismo de resolución de paquetes diferente a Node.js, lo que puede causar problemas de compatibilidad con algunos plugins de ESLint, como eslint-import-resolver-node. Al especificar el solucionador typescript en la configuración de ESLint, te aseguras de que se utilice el solucionador adecuado y se eviten errores relacionados.

Comments are closed.