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.

Jest no puede encontrar el módulo ‘got’ en node_modules.

Estoy recibiendo un error de uno de mis tests (que anteriormente funcionaba) cuando ejecuto yarn jest:

No se puede encontrar el módulo ‘got’ desde ‘src/rss/queries.ts’

He agregado ‘got’ en package.json:

"devDependencies": {
    "got": "^12.0.0",
}

Mi jest.config.js:

module.exports = {
  preset: 'ts-jest',
  testMatch: ['**/*.test.ts(|x)'],
  collectCoverageFrom: ['**/*.ts', '.webpack/**/*'],
  verbose: true,
}

Estoy usando ‘got’ en ./src/rss/queries.ts:

import * as got from 'got'

También he intentado:

import { got, RequestError } from 'got'

En ambos casos la aplicación funciona: puedo ver que ‘got’ realiza solicitudes a través de los registros de la aplicación (y vscode indica la ruta correcta al módulo en node_modules cuando paso el cursor sobre lo anterior). Entonces definitivamente está allí y funciona.

Pero jest no puede encontrarlo. ¿Por qué? No es una pregunta poco común en StackOverflow, pero parecen estar relacionadas con la importación de módulos locales personalizados a través de rutas relativas, etc. Yo solo estoy intentando usar uno de node_modules

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema aquí parece estar relacionado con Jest que no puede encontrar el módulo got en node_modules. Primero, asegúrese de haber guardado los cambios que realizó en package.json ejecutando yarn install o npm install. Si eso no funciona, intente agregar un moduleNameMapper a su archivo jest.config.js:

    module.exports = {
      preset: 'ts-jest',
      testMatch: ['**/*.test.ts(|x)'],
      collectCoverageFrom: ['**/*.ts', '.webpack/**/*'],
      verbose: true,
      moduleNameMapper: {
        '^got$': '<rootdir>/node_modules/got',
      },
    }
    

    Esto le indicará a Jest que busque got en el directorio node_modules. Si el módulo got está instalado en otro lugar, ajuste la ruta en consecuencia.

    Si eso aún no funciona, intente limpiar la caché de Jest ejecutando yarn jest --clearCache o npm run jest --clearCache. Esto obligará a Jest a reconstruir su caché de módulos y puede resolver cualquier problema que tenga para encontrar el módulo got.

Comments are closed.