3

In index.js, I have:

exports.makeUppercase = functions.database.ref('/messages/{pushId}/original').onCreate((snapshot, context) => {
  // Grab the current value of what was written to the Realtime Database.
  const original = snapshot.val();
  console.log('Uppercasing', context.params.pushId, original);
  const uppercase = original.toUpperCase();
  // You must return a Promise when performing asynchronous tasks inside a Functions such as
  // writing to the Firebase Realtime Database.
  // Setting an "uppercase" sibling in the Realtime Database returns a Promise.
  return snapshot.ref.parent.child('uppercase').set(uppercase);
});

I literally copy-pasted the code from: https://firebase.google.com/docs/functions/get-started

Somehow, when I deploy using

firebase deploy --only functions

I get:

Error: Error occurred while parsing your function triggers. ReferenceError: functions is not defined at Object. (/home/[USERNAME HERE]/functions/index.js:1:87) at Module._compile (module.js:643:30) at Object.Module._extensions..js (module.js:654:10) at Module.load (module.js:556:32) at tryModuleLoad (module.js:499:12) at Function.Module._load (module.js:491:3) at Module.require (module.js:587:17) at require (internal/module.js:11:18) at /usr/local/nvm/versions/node/v8.9.4/lib/node_modules/firebase-tools/lib/triggerParser.js:21:11 at Object. (/usr/local/nvm/versions/node/v8.9.4/lib/node_modules/firebase-tools/lib/triggerParser.js:75:3)

What's going on, and how do I fix it?

3
  • 4
    Does your index.js contain const functions = require('firebase-functions');? Commented Jul 11, 2018 at 23:57
  • Trying that now... Commented Jul 12, 2018 at 0:00
  • I'm stupid. Thanks. Commented Jul 12, 2018 at 0:02

1 Answer 1

7

As the setup documentation explains, you need to import required modules and initialize the app:

// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
const functions = require('firebase-functions');

// The Firebase Admin SDK to access the Firebase Realtime Database.
const admin = require('firebase-admin');
admin.initializeApp();
Sign up to request clarification or add additional context in comments.

1 Comment

I thought it should be: const functions = require('firebase/functions'); -- Slash ("/") and not Dash ("-")?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.