Home > database >  Firebase Functions | Does imports gets called twice if used in different files?
Firebase Functions | Does imports gets called twice if used in different files?

Time:06-03

metrics.js

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp();

exports.nightlyReport = functions.https.onRequest((request, response) => {
  // ...
});

index.js

const functions = require('firebase-functions');

const admin = require('firebase-admin');
admin.initializeApp();

exports.metrics = require('./metrics');

exports.usageStats = functions.https.onRequest((request, response) => {
  // ...
});

I am importing firebase admin on both index.js and metrics.js . If I am to call a function from metrics.js, will the firebase admin be imported twice?

CodePudding user response:

No. Requires and imports, by default, are global to the process space and will not duplicate the work of loading and parsing the code. If a second instance is encountered, it will simply return the same reference that were generated the first time.

This behavior has nothing to do with Cloud Functions. It's just the way things work with nodejs in any environment.

See also:

  • Related