Muchos de los comandos que puede ejecutar a través de CLI
son muy difíciles de entender mediante programación cuando se cargan como módulo. Sería útil contar con documentación actualizada sobre sintaxis, comandos disponibles, etc.
Preguntas que tengo (o tuve pero resueltas):
tools.functions.config.get
nota sobre esto: realmente tuve que profundizar en cloudfunctions.js, api.js y auth.js. resulta que esta funcionalidad está disponible dentro del paquete, pero no aparece en firebase-tools. esto es realmente útil.
Hay una muestra
var client = require('firebase-tools');
client.list().then(function(data) {
console.log(data);
}).catch(function(err) {
// handle error
});
Pero tuve que instalar firebase-tools (sin -g) para que eso funcione.
Intenté algo como esto
client.database.get('/app-settings/test').then((data) => {
console.log(data);
}).catch(function (err) {
console.log(err);
});
debido a la falta de documentación pero obtuve este error
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 conjunto adecuado de muestras del uso de esto será genial, por favor.
Yo también estoy luchando para que algo funcione aquí.
@SJAnderson ¿Puedes publicar algunos de tus ejemplos aquí? _En particular, la configuración se obtiene (y se establece si la tiene) _ 🙏
Luché con esto hasta que indagué en la fuente. Entonces, hasta que tengamos documentos para esto, creo que esto funciona:
cwd
adicionalmenteclient.<command>.<subcommand>
Ejemplos:
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!
Además, no creo que necesite agregar una opción token
en el código de nodo si tiene un process.env.FIREBASE_TOKEN
, se carga automáticamente. HTH
Lea más en este directorio de archivos y comandos:
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js
@jesperp ¡ gracias por tu explicación clara y concisa! Incluso como alguien que "sabe" la respuesta a esto, me referiré a tu respuesta cuando la olvide hasta que obtengamos los documentos.
Comentario más útil
Yo también estoy luchando para que algo funcione aquí.
@SJAnderson ¿Puedes publicar algunos de tus ejemplos aquí? _En particular, la configuración se obtiene (y se establece si la tiene) _ 🙏