Tengo una función de Firebase que elimina la colección de un usuario en una base de datos de Firestore cuando se elimina su cuenta.
const firebase_tools = require("firebase-tools"); const functions = require("firebase-functions"); const admin = require("firebase-admin"); admin.initializeApp(); exports.deleteUser = functions.auth.user().onDelete((user) => { return firebase_tools.firestore .delete(`users/${user.uid}`, { project: process.env.GCLOUD_PROJECT, token: functions.config().fb.token, recursive: true, yes: true }).catch((error) => { console.log(error); throw new functions.https.HttpsError( "unknown", "Error deleting user's data" ); }); });Cada vez que se elimina un usuario y se ejecuta la función, aparece el siguiente error en los registros de funciones.
FirebaseError: Missing required options (force) while running in non-interactive mode at prompt (/workspace/node_modules/firebase-tools/lib/prompt.js:16:15) at promptOnce (/workspace/node_modules/firebase-tools/lib/prompt.js:29:11) at Command.actionFn (/workspace/node_modules/firebase-tools/lib/commands/firestore-delete.js:69:51) at Object.delete (/workspace/node_modules/firebase-tools/lib/command.js:190:25) at processTicksAndRejections (node:internal/process/task_queues:96:5)La única información que pude encontrar relacionada con esto es sobre la implementación/eliminación de funciones en Firebase y no hay mucha documentación para las herramientas de firebase que pude encontrar.
He reproducido el error que has encontrado.
Este error ocurre en las últimas "firebase-tools": "^10.1.3" .
Basado en Delete data with a Callable Cloud Function , la documentación tiene un código de muestra que todavía usa "firebase-tools": "9.18.0" . Puede degradar sus firebase-tools modificando el package.json . Por ejemplo, a continuación:
"dependencies": { "firebase": "^9.6.5", "firebase-admin": "^9.12.0", "firebase-functions": "^3.16.0", "firebase-tools": "9.18.0" } Después de bajar de categoría, puedo eliminar el documento especificado con éxito. 
También puede usar las respuestas de @Renaud Tarnec mediante Admin SDK . Por ejemplo, a continuación:
const functions = require("firebase-functions"); const admin = require("firebase-admin"); admin.initializeApp(); db = admin.firestore(); exports.deleteUser = functions.auth.user().onDelete((user) => { db.collection("users").doc(user.uid).delete() .then(function(user) { console.log("Successfully Deleted User:", user.uid) }) .catch((error) => { console.log(error); throw new functions.https.HttpsError( "unknown", "Error deleting user's data" ); }); });Agregue force: true al JSON pasado a firebase-tools. Trabajó para mí con la versión 10.1.4
{ project: process.env.GCLOUD_PROJECT, token: functions.config().fb.token, recursive: true, yes: true, force: true // add this }