Estoy usando Typescript con firebase-admin para la función de nube de firebase y aparece "No se puede encontrar el módulo 'firebase-admin/app'" al compilar el código con TS. Ya probado:
Mi Importación:
import { initializeApp } from 'firebase-admin/app';También he intentado cambiar la importación a lo siguiente. Entonces TS está satisfecho, sin embargo, la función Firebase Cloud arroja un error "no se puede encontrar el módulo 'firebase-admin/app'"
const { initializeApp } = require('firebase-admin/app')Mi paquete.json
{ "name": "functions", "scripts": { "build": "tsc", "serve": "npm run build && firebase emulators:start --only functions", "shell": "npm run build && firebase functions:shell", "start": "npm run shell", "deploy": "firebase deploy --only functions", "logs": "firebase functions:log" }, "engines": { "node": "16" }, "main": "lib/index.js", "dependencies": { "firebase-admin": "^10.0.2", "firebase-functions": "^3.14.1", "moment": "^2.29.1", "node-fetch": "2.6.7" }, "devDependencies": { "firebase-functions-test": "^0.2.0", "typescript": "^3.8.0" }, "private": true }Este es mi tsconfig.json.
{ "compilerOptions": { "module": "commonjs", "noImplicitReturns": true, "noUnusedLocals": false, "outDir": "lib", "sourceMap": true, "strict": false, "target": "es2017" }, "compileOnSave": true, "include": [ "src" ] }Está usando "firebase-admin": "^10.0.2" que usa exportaciones en el módulo package.json para definir los puntos de entrada. Esto no funcionará con eslint-plugin-import . Utilice la siguiente línea al principio del archivo e inténtelo de nuevo.
// eslint-disable-next-line import/no-unresolved