Firebase-tools: As funções implantam apenas erros, referenciando a pasta node_modules do aplicativo pai

Criado em 19 abr. 2018  ·  21Comentários  ·  Fonte: firebase/firebase-tools

Informação da versão

base de fogo: 3.18.4
nó: 8.10.0
npm: 5.6.0

Informações da plataforma

janelas

Passos para reproduzir

firebase deploy --only functions

Comportamento esperado

As funções de nuvem do Firebase serão implantadas com sucesso.

Comportamento real

Recebendo um erro porque a compilação das funções de nuvem parece estar referenciando a pasta node_modules do nível raiz do aplicativo. @types/d3 e @types/googlemaps estão incluídos no meu arquivo package.json de aplicativos e não no meu arquivo package.json de funções.

```PS [PATH ON LOCAL MACHINE]> firebase deploy --only functions

=== Implantando em 'PROJECT_NAME'...

estou implantando funções
Comando em execução: npm --prefix "$RESOURCE_DIR" execute lint

funções@ lint [CAMINHO NA MÁQUINA LOCAL]\funções
tslint --project tsconfig.json

Comando em execução: npm --prefix "$RESOURCE_DIR" executa compilação

functions@ build [PATH ON LOCAL MACHINE]\functions
tsc

../node_modules/@types/d3-axis/index.d.ts(50,36): erro TS2304: Não é possível encontrar o nome 'SVGSVGElement'.
../node_modules/@types/d3-axis/index.d.ts(50,52): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(32,23): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(39,27): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(50,27): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(63,27): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(63,77): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(70,27): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(81,32): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(94,32): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(94,72): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(98,23): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(121,28): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(126,23): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(138,30): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(164,36): erro TS2304: Não é possível localizar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(191,45): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-brush/index.d.ts(223,38): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-chord/index.d.ts(360,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-chord/index.d.ts(368,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-dispatch/index.d.ts(8,37): erro TS2304: Não é possível encontrar o nome 'EventTarget'.
../node_modules/@types/d3-dispatch/index.d.ts(18,36): erro TS2304: Não é possível encontrar o nome 'EventTarget'.
../node_modules/@types/d3-drag/index.d.ts(19,38): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-drag/index.d.ts(24,36): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-drag/index.d.ts(24,50): erro TS2304: Não é possível encontrar o nome 'SVGSVGElement'.
../node_modules/@types/d3-drag/index.d.ts(24,66): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-drag/index.d.ts(390,37): erro TS2304: Não é possível encontrar o nome 'Window'.
../node_modules/@types/d3-drag/index.d.ts(402,36): erro TS2304: Não é possível encontrar o nome 'Janela'.
../node_modules/@types/d3-fetch/index.d.ts(18,42): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(18,64): erro TS2304: Não é possível encontrar o nome 'Blob'.
../node_modules/@types/d3-fetch/index.d.ts(27,44): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(41,12): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(82,11): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(100,12): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(145,11): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(157,42): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(157,64): erro TS2304: Não é possível encontrar o nome 'Documento'.
../node_modules/@types/d3-fetch/index.d.ts(167,74): erro TS2304: Não é possível localizar o nome 'HTMLImageElement'.
../node_modules/@types/d3-fetch/index.d.ts(179,72): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(189,41): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(189,63): erro TS2304: Não é possível encontrar o nome 'Documento'.
../node_modules/@types/d3-fetch/index.d.ts(199,42): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(212,12): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(254,11): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(266,41): erro TS2304: Não é possível encontrar o nome 'RequestInit'.
../node_modules/@types/d3-fetch/index.d.ts(266,63): erro TS2304: Não é possível encontrar o nome 'XMLDocument'.
../node_modules/@types/d3-selection/index.d.ts(17,24): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(17,49): erro TS2304: Não é possível encontrar o nome 'Documento'.
../node_modules/@types/d3-selection/index.d.ts(17,60): erro TS2304: Não é possível encontrar o nome 'Window'.
../node_modules/@types/d3-selection/index.d.ts(34,20): erro TS2304: Não é possível encontrar o nome 'Documento'.
../node_modules/@types/d3-selection/index.d.ts(36,27): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/d3-selection/index.d.ts(36,34): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/d3-selection/index.d.ts(37,28): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/d3-selection/index.d.ts(37,44): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/d3-selection/index.d.ts(37,51): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/d3-selection/index.d.ts(38,39): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(39,42): erro TS2304: Não é possível encontrar o nome 'NodeListOf'.
../node_modules/@types/d3-selection/index.d.ts(39,53): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(45,32): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-selection/index.d.ts(45,46): erro TS2304: Não é possível encontrar o nome 'SVGSVGElement'.
../node_modules/@types/d3-selection/index.d.ts(45,62): erro TS2304: Não é possível encontrar o nome 'SVGGElement'.
../node_modules/@types/d3-selection/index.d.ts(110.110): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-selection/index.d.ts(142.113): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-selection/index.d.ts(873,43): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-selection/index.d.ts(977,61): erro TS2304: Não é possível encontrar o nome 'TouchList'.
../node_modules/@types/d3-selection/index.d.ts(989,64): erro TS2304: Não é possível encontrar o nome 'TouchList'.
../node_modules/@types/d3-selection/index.d.ts(1013,29): erro TS2304: Não é possível localizar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1025,15): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1033,18): erro TS2304: Não é possível localizar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1040,15): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1040,35): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1108,33): erro TS2304: Não é possível encontrar o nome 'Window'.
../node_modules/@types/d3-selection/index.d.ts(1108,42): erro TS2304: Não é possível encontrar o nome 'Documento'.
../node_modules/@types/d3-selection/index.d.ts(1108,53): erro TS2304: Não é possível localizar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1108,63): erro TS2304: Não é possível encontrar o nome 'Janela'.
../node_modules/@types/d3-selection/index.d.ts(1122,44): erro TS2304: Não é possível localizar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1133,45): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1154,46): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1163,49): erro TS2304: Não é possível localizar o nome 'Elemento'.
../node_modules/@types/d3-selection/index.d.ts(1163,97): erro TS2304: Não é possível encontrar o nome 'NodeListOf'.
../node_modules/@types/d3-shape/index.d.ts(304,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(312,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(757,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(765,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(935,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(943,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(1230,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(1238,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(1536,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(1544,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(1650,15): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(1686,15): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(2016,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(2024,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(2196,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(2204,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(2273,19): erro TS2304: Não é possível encontrar o nome 'CanvasPathMethods'.
../node_modules/@types/d3-shape/index.d.ts(2358,16): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-shape/index.d.ts(2366,22): erro TS2304: Não é possível encontrar o nome 'CanvasRenderingContext2D'.
../node_modules/@types/d3-transition/index.d.ts(572,65): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-transition/index.d.ts(583.104): erro TS2304: Não é possível localizar o nome 'HTMLElement'.
../node_modules/@types/d3-zoom/index.d.ts(20,37): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(33,29): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(37,19): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(54,28): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/googlemaps/index.d.ts(788,30): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(799,36): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/googlemaps/index.d.ts(812,26): erro TS2304: não é possível encontrar o nome 'Nó'.
../node_modules/@types/googlemaps/index.d.ts(1136,20): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1137,22): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1138,18): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1139,22): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1140,23): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1141,23): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1142,29): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1143,24): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1220,21): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1225,25): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1236,17): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1653,32): erro TS2304: não é possível encontrar o nome 'Nó'.
../node_modules/@types/googlemaps/index.d.ts(1668,64): erro TS2304: não é possível encontrar o nome 'Documento'.
../node_modules/@types/googlemaps/index.d.ts(1668,75): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1669,27): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1692,64): erro TS2304: não é possível encontrar o nome 'Documento'.
../node_modules/@types/googlemaps/index.d.ts(1692,75): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1693,27): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1709,64): erro TS2304: não é possível encontrar o nome 'Documento'.
../node_modules/@types/googlemaps/index.d.ts(1709,75): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1710,27): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1941,32): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(1942,28): erro TS2304: Não é possível encontrar o nome 'Nó'.
../node_modules/@types/googlemaps/index.d.ts(2394,36): erro TS2304: não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(2398,29): erro TS2304: Não é possível encontrar o nome 'Elemento'.
../node_modules/@types/googlemaps/index.d.ts(2455,37): erro TS2304: não é possível encontrar o nome 'HTMLInputElement'.
../node_modules/@types/googlemaps/index.d.ts(2616,40): erro TS2304: não é possível encontrar o nome 'HTMLDivElement'.
../node_modules/@types/googlemaps/index.d.ts(2663,37): erro TS2304: não é possível encontrar o nome 'HTMLInputElement'.
npm ERR! código ELIFECYCLE
npm ERR! erro 2
npm ERR! funções@ construir: tsc
npm ERR! Sair do estado 2
npm ERR!
npm ERR! Falha no script de compilação functions@.
npm ERR! Isso provavelmente não é um problema com o npm. Provavelmente há saída de log adicional acima.

npm ERR! Um log completo desta execução pode ser encontrado em:
npm ERR! [CAMINHO NA MÁQUINA LOCAL]\AppData\Roaming\npm-cache_logs\2018-04-19T16_10_21_812Z-debug.log

Erro: erro de pré-implantação de funções: Comando finalizado com código de saída diferente de zero2```

Comentários muito úteis

@laurenzlong Obrigado novamente! Isso me ajudou a rastrear o que eu precisava fazer para resolver meu problema.

Para qualquer outra pessoa que esteja enfrentando esse problema - consegui fazer com que as funções fossem construídas com sucesso modificando o script de compilação de funções para usar tsc --skipLibCheck vez de tsc de dentro de functions/package.json . Isso diz ao compilador typescript para pular a verificação de tipo de todos os arquivos de declaração.

Todos 21 comentários

Se você executou npm run build dentro de sua pasta de funções, teve sucesso?

Se você executou npm run build dentro de sua pasta de funções, foi bem-sucedido?

Isso não. Mesmo erro.

Então é algo a ver com a configuração do seu TypeScript ou como você importa módulos dentro do seu código. Não é um bug com o firebase-tools.

@laurenzlong Ok, obrigado por demonstração simplificada sobre o erro que estou recebendo. As funções de nuvem funcionam bem até que eu inclua algumas definições de tipo, como @types/googlemaps . Eu acho que as funções de nuvem devem ser construídas independentemente de qualquer pacote de definição de tipo que eu inclua no nível raiz desta demonstração.

"npm run build" usa "tsc" regular para construir seus arquivos. Isso não tem nada a ver com Firebase ou Cloud Functions.

@laurenzlong Obrigado novamente! Isso me ajudou a rastrear o que eu precisava fazer para resolver meu problema.

Para qualquer outra pessoa que esteja enfrentando esse problema - consegui fazer com que as funções fossem construídas com sucesso modificando o script de compilação de funções para usar tsc --skipLibCheck vez de tsc de dentro de functions/package.json . Isso diz ao compilador typescript para pular a verificação de tipo de todos os arquivos de declaração.

@dylanjmcdonald ou coloque-o no arquivo tsconfig.json:

    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */

    "skipLibCheck": true,
    /* Strict Type-Checking Options */
    "strict": true,

Obrigado pela atenção, btw 👍

Mas e se você não quiser pular a verificação da declaração? Em uma das minhas funções de nuvem eu uso Objects.entries() que é es2017. Eu configurei em tsconfig.json, mas porque está pulando, gera um erro quando a função é executada. Alguma outra maneira de contornar isso?

Corrigi o mesmo problema adicionando:
"typeRoots": [
"./functions/node_modules/@types"
]
para o tsconfig.json na pasta de funções

Isso acontece com o texto datilografado gerado automaticamente quando as funções são inicializadas para mim.

Apenas o código gerado automaticamente e as importações que são exatamente como nos exemplos.

Parece ser porque o tsc procura por tipos na sua árvore de processos e tenta verificar tudo nos arquivos @types, mas nada mais, então as coisas vão para a merda?

Acho que a solução mais correta para isso é fazer como Gongevangen sugeriu. adicione "node_modules/@types" a typeRoots para que o algoritmo de resolução do módulo não enlouqueça a árvore.

Eu tenho o mesmo problema graças a @dylanjmcdonald Eu resolvi usando tsc --skipLibCheck

@dylanjmcdonald tsc --skipLibCheck em ./functions/package.json funcionou para mim, obrigado!

Eu consertei adicionando "dom" a compilerOptions.lib em ./functions/tsconfig.json .

{
  "compilerOptions": {
    "lib": ["es6", "dom"],
    "module": "commonjs",
    "noImplicitReturns": true,
    "outDir": "lib",
    "sourceMap": true,
    "target": "es6"
  },
  "compileOnSave": true,
  "include": [
    "src"
  ]
}

Isso deve funcionar também. Eu usei a solução @yamitzky e trabalhei para uma implantação de função. O abaixo é utilizável de acordo com o código de um desenvolvedor do Google que eu vi.
{ "compilerOptions": { "lib": ["es6"], "module": "commonjs", "noImplicitReturns": true, "outDir": "lib", "sourceMap": true, "target": "es6", "skipLibCheck": true, "typeRoots": ["./functions/node_modules/@types"] }, "compileOnSave": true, "include": [ "src" ] }

É ótimo que existam soluções alternativas para isso, mas uma dessas soluções realmente deve estar no .tsconfig gerado por firebase init . Alguém sabe como podemos reabrir esse problema?

Você pode reabrir este problema, mas posso dizer que provavelmente não adicionaremos dom à propriedade lib do modelo tsconfig.json . O objetivo é, no mínimo, tirar um desenvolvedor do chão e esse padrão não precisa de dom . Se você acha o contrário, sinta-se à vontade para abrir uma solicitação de pull neste repositório alterando os modelos, mas não acho que seja uma mudança que faríamos.

Obrigado senhor

Certifique-se de que seu arquivo .ts tenha o mesmo nome que .js em lib e inclua-o também em package.json

Apenas para esclarecer que a solução do @gongevangen funciona, mas certifique-se de colocar a chave "typeRoots" dentro de "compilerOptions" :

{
  "compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": true,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "typeRoots": [
      "./functions/node_modules/@types"
    ],
  },
  "compileOnSave": true,
  "include": [
    "src"
  ],
}

Meio confuso sobre por que isso não seria incluído no clichê ... ou mesmo mencionado em qualquer lugar em qualquer um dos tuts do Firebase.

Eu concordo com @evanb2 - isso me custou uma hora! Certamente valeria a pena pelo menos mencioná-lo aqui: https://firebase.google.com/docs/functions/typescript se não incluí-lo no init do firebase?

Deus te abençoe Evanb2! :)

Esta página foi útil?
0 / 5 - 0 avaliações