Firebase-tools: développer la documentation sur la façon d'utiliser firebase-tools en tant que module

Créé le 29 avr. 2017  ·  4Commentaires  ·  Source: firebase/firebase-tools

La plupart des commandes que vous pouvez exécuter via CLI sont très difficiles à comprendre par programmation lors du chargement en tant que module. Une documentation mise à jour sur la syntaxe, les commandes disponibles, etc. serait utile.

Questions que j'ai (ou avais mais résolues):

  • comment imprimer une liste de toutes les clés en utilisant tools.functions.config.get
  • comment déployer des fonctions
  • comment obtenir une liste de toutes les fonctions déployées

note sur celui-ci : a dû vraiment creuser dans cloudfunctions.js, api.js et auth.js. il s'avère que cette fonctionnalité est disponible à l'intérieur du package, mais pas dans firebase-tools. c'est vraiment utile.

docs

Commentaire le plus utile

J'ai du mal à faire fonctionner quoi que ce soit ici aussi.
@SJAnderson Pouvez-vous publier certains de vos exemples ici ? _Particulièrement la config get (et set si vous l'avez)_ 🙏

Tous les 4 commentaires

il y a un échantillon

var client = require('firebase-tools');
client.list().then(function(data) {
  console.log(data);
}).catch(function(err) {
  // handle error
});

Mais j'ai dû installer firebase-tools (sans -g) pour que cela fonctionne.

J'ai essayé quelque chose comme ça

client.database.get('/app-settings/test').then((data) => {
    console.log(data);
}).catch(function (err) {
    console.log(err);
});

en raison du manque de documentation mais j'ai eu cette erreur

TypeError: Cannot create property 'project' on string '/app-settings/test'
    at Command._prepare (/Users/someone/Documents/test/node_modules/firebase-tools/lib/command.js:104:19)

Un ensemble approprié d'échantillons d'utilisation de ce sera formidable s'il vous plaît.

J'ai du mal à faire fonctionner quoi que ce soit ici aussi.
@SJAnderson Pouvez-vous publier certains de vos exemples ici ? _Particulièrement la config get (et set si vous l'avez)_ 🙏

J'ai lutté avec cela jusqu'à ce que je creuse dans la source. Donc, jusqu'à ce que nous ayons des documents pour cela, je pense que cela fonctionne :

  • Les arguments sont transmis à la fonction comme d'habitude
  • Les options (--foo bar) doivent être transmises dans le cadre d'un objet d'options
  • L'objet options doit être passé en tant que _last_ argument
  • Vous fusionnez toujours les options globales avec les options de commande
  • Les options globales sont les mêmes que la ligne de commande mais avec cwd plus
  • Les commandes qui ont un deux-points sont exécutées comme client.<command>.<subcommand>

Exemples:

firebase target hosting --project foo
==>
client.target("hosting", { project: foo})

firebase deploy --only hosting  --token $FIREBASE_TOKEN
==>
client.deploy({ only: 'hosting', token: process.env.FIREBASE_TOKEN })

firebase target:apply mytype mytarget
==>
client.target.apply('mytype', 'mytarget')     // No options added!

De plus, je ne pense pas que vous ayez besoin d'ajouter une option token dans le code du nœud si vous avez un process.env.FIREBASE_TOKEN , il se charge automatiquement. HTH

En savoir plus dans ce répertoire de fichiers et de commandes :
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js

@jesperp merci pour votre explication claire et concise ! Même en tant que personne qui "connaît" la réponse à cette question, je me référerai à votre réponse lorsque j'oublierai jusqu'à ce que nous ayons les documents.

Cette page vous a été utile?
0 / 5 - 0 notes