8
votes

node_modules / firebase-functions / lib / function-configuration.d.ts: 4: 64 - erreur TS1005: ']' attendue

firebase deploy --only function erreur suivante lors de l'exécution de la commande firebase deploy --only function dans mon projet Ionic 3. Cette solution ne fonctionne pas pour moi.

"angularfire2": "^5.2.1",
"firebase": "^6.3.1",
"firebase-admin": "^8.2.0",
"firebase-functions": "3.2.0",
"typescript": "^3.5.3"

Quand je regarde dans le fichier node_modules / firebase-functions / lib / function-configuration.d.ts, il montre les erreurs de syntaxe.


Détails de la version:

Running command: npm --prefix "$RESOURCE_DIR" run build
> functions@ build /Users/myuser/Project/functions
> tsc

node_modules/firebase-functions/lib/function-configuration.d.ts:4:64 - error TS1005: ']' expected.
4 export declare const SUPPORTED_REGIONS: readonly ["us-central1", "us-east1", "us-east4", "europe-west1", "europe-west2", "asia-east2", "asia-northeast1"];
                                                                             ~

node_modules/firebase-functions/lib/function-configuration.d.ts:4:66 - error TS1134: Variable declaration expected.
4 export declare const SUPPORTED_REGIONS: readonly ["us-central1", "us-east1", "us-east4", "europe-west1", "europe-west2", "asia-east2", "asia-northeast1"];
                                                                   ~~~~~~~~~~

node_modules/firebase-functions/lib/function-configuration.d.ts:4:153 - error TS1005: ';' expected.
4 export declare const SUPPORTED_REGIONS: readonly ["us-central1", "us-east1", "us-east4", "europe-west1", "europe-west2", "asia-east2", "asia-northeast1"];
                                                                                                                                                          ~

node_modules/firebase-functions/lib/function-configuration.d.ts:16:61 - error TS1005: ']' expected.
16 export declare const VALID_MEMORY_OPTIONS: readonly ["128MB", "256MB", "512MB", "1GB", "2GB"];
                                                               ~

node_modules/firebase-functions/lib/function-configuration.d.ts:16:63 - error TS1134: Variable declaration expected.
16 export declare const VALID_MEMORY_OPTIONS: readonly ["128MB", "256MB", "512MB", "1GB", "2GB"];
                                                                 ~~~~~~~

node_modules/firebase-functions/lib/function-configuration.d.ts:16:93 - error TS1005: ';' expected.
16 export declare const VALID_MEMORY_OPTIONS: readonly ["128MB", "256MB", "512MB", "1GB", "2GB"];
                                                                                               ~


0 commentaires

4 Réponses :


6
votes

npm install -g typescript@3.5.3 a fonctionné pour moi. Je suppose que les versions supérieures fonctionneraient également. Il est important de mettre à jour la version dactylographiée globale car ma mise à jour de la version dactylographiée locale n'a pas fonctionné


3 commentaires

Toujours la même erreur après l'installation de npm -g typescript@3.5.3. Comme je l'ai mentionné ma version "dactylographié": "^ 3.5.3"


Ce que je voulais vraiment dire, c'était une mise à niveau de version car la mienne a été corrigée en mettant à niveau 3.3.x -> 3.5.x qui corrigeait exactement la même erreur. Avez-vous utilisé l'indicateur "-g"? Mettez également à niveau vos packages npm firebase-tools et firebase-functions


Oui, j'ai utilisé le drapeau-g. J'ai également essayé d'installer des outils Firebase. Pourriez-vous s'il vous plaît me faire savoir comment mettre à niveau ou réinstaller le package Firebase-function.



1
votes

À en juger par le problème github que vous avez lié et le message d'erreur lui-même, l'erreur semble être due à la nouvelle fonctionnalité de tuples en lecture seule . Il a été introduit dans typescript@3.4.0 donc, en théorie, toute version dactylographiée supérieure à celle-ci devrait fonctionner.

En fait, firebase-functions@3.2.0 utilise typescript@3.5.2 donc je vous recommande d'utiliser le même ou plus.


Cela étant dit, je vois que vous avez déjà utilisé typescript@3.5.3 mais l'erreur est toujours apparue.

Détails de la version:

"angularfire2": "^5.2.1",
"firebase": "^6.3.1",
"firebase-admin": "^8.2.0",
"firebase-functions": "3.2.0",
"typescript": "^3.5.3"

Cela peut être dû à une version dactylographiée différente (plus ancienne) utilisée par un autre package en interne. Veuillez vérifier votre package-lock.json (ou yarn.lock ) pour confirmer.

Si ce n'est pas le cas, ma meilleure estimation suivante est que ionic-app-scripts utilisent en interne des ionic-app-scripts plus anciens .


0 commentaires

0
votes

Dans mon cas, je viens de supprimer le type de stub de mon packege.json et cela a commencé à fonctionner pour moi, la mise à jour juste que tout ne fonctionnait pas, car cette vieille merde n'est pas compatible avec la nouvelle version de firebase et vous n'avez pas mentionné dans votre question que vous avez ceci dans vos dépendances mais je suis sûr à 100% que le problème vient d'ici, car je viens de passer une nuit entière à cause de ceci:

"dependencies": {
   "@types/firebase": "^3.2.1",  <<====== this is shit man
   "@types/fs-extra": "^8.0.1",
   "@types/mongoose": "^5.5.43",
   "@types/request": "^2.48.4",
   "actions-on-google": "^2.12.0",
   "bcrypt-inzi": "^1.0.7",
   "body-parser": "^1.18.3",
   "dialogflow-fulfillment": "^0.6.1",
   "express": "^4.17.1",
   "firebase-admin": "^8.6.0",
   "firebase-functions": "^3.3.0",
   "fs-extra": "^8.1.0",
   "mongoose": "^5.8.9",
   "request": "^2.88.0"
 },

avez-vous remarqué cet avertissement lors de l'exécution de npm i

npm WARN deprecated @types/firebase@3.2.1: This is a stub types definition for Firebase API (https://www.firebase.com/docs/javascript/firebase). Firebase API provides its own type definitions, so you don't need @types/firebase installed!

puisque les fonctions firebase ont leur propre fichier de saisie, elles ne sont plus du tout requises


0 commentaires

1
votes

Vérifiez si de l'espace a été ajouté au démarrage de ce fichier. J'ai eu le même problème et après avoir supprimé l'espace en haut du fichier, cela fonctionnait.


0 commentaires