I'm working with firebase functions and arrived to hundreds of functions, and now it is very hard to manage it in single index.js
file as shown in their lots of examples
I tried to split that functions in multiple files like:
--firebase.json
--functions
--node_modules
--index.js
--package.json
--app
--groupFunctions.js
--authFunctions.js
--storageFunctions.js
In this structure i divide my functions in three categories and put in that three files groupFunctions.js
, authFunctions.js
, and storageFunctions.js
. I then tried to import thise files in index.js
, but I don't know why it is not working for me.
Here is groupFunctions.js
var functions = require('firebase-functions');
module.exports = function(){
exports.onGroupCreate = functions.database.ref('/groups/{groupId}')
.onWrite(event => {
console.log(`A group is created in database named:${event.params.groupId}.`);
// some logic...
//...
})
}
Here is index.js
file:
var functions = require('firebase-functions');
module.exports = require("./app/groupFunctions")();
My editor not giving any warning in this code. But when I deploy this code with firebase deploy --only functions
, it does not deploy function. If some functions already exist on firebase console, it remove all functions on deploy.
question is also asked on github