No soy tan bueno en JS/TS pero estoy ayudando a ejecutar un sistema de compilación. Tengo un fragmento de código que se envió y no estoy seguro de si debo modificar el sistema de compilación o devolvérselo al desarrollador.
El código se ve así...
import * as googleAuth from "googleapis/node_modules/google-auth-library" Cuando ejecuto yarn install , los diversos módulos se instalan correctamente en ./node_modules/ incluidos googleapis y google-auth-library . Cuando ejecuto yarn build obtengo algo como esto:
yarn run v1.19.1 $ rm -rf lib; ./node_modules/.bin/tsc -d -p tsconfig.npm.json Error: src/foo/bar/common/oauth_helper.ts(3,29): error TS[23]: Cannot find module 'googleapis/node_modules/google-auth-library' or its corresponding type declarations. Cuando pruebo esto localmente, puedo hacer que el error desaparezca haciendo cd ./node_modules/googleapis && yarn install pero eso instala un segundo conjunto de todos los módulos necesarios allí.
¿Hay algo que me falta o debería decirle al desarrollador que necesita importar directamente desde goggle-auth-library . Además, si el desarrollador hace referencia explícita a este módulo, creo que debería enumerarlo como una dependencia en package.json , no obtenerlo implícitamente.
Sugeriría instalar directamente google-auth-library en lugar de pasar por node_modules de otro paquete.
Esto podría ser arriesgado porque digamos que en futuras actualizaciones del paquete googleapis y, por alguna razón, elimina la dependencia de google-auth-library , esto romperá su aplicación.