title: ESLint error while trying to deploy firebase functions
body: <p>I tried deploying a firebase functions but it keeps failing due to some issue with ESLint. I have also tried googling the answer but everything I am seeing is all Greek to me.</p>
  
  <p>I have also stumbled on <a href="https://stackoverflow.com/questions/47852169/error-trying-to-deploy-to-firebase-due-to-functions">this</a> and <a href="https://stackoverflow.com/questions/48582278/eslint-error-trying-to-deploy-functions-firebase">this</a> answer but it appears they're not applicable to my scenario.</p>
  
  <h2>My Function</h2>
  
  <pre><code>// // Create and Deploy Your First Cloud Functions
  // // https://firebase.google.com/docs/functions/write-firebase-functions
  //
  // exports.helloWorld = functions.https.onRequest((request, response) =&gt; {
  //  response.send("Hello from Firebase!");
  // });
  
  
  //import firebase functions modules
  const functions = require("firebase-functions");
  //import admin module
  const admin = require("firebase-admin");
  admin.initializeApp(functions.config().firebase);
  
  // Listens for new messages added to messages/:pushId
  exports.pushNotification = functions.database.ref("/Message").onWrite( event =&gt; {
      //  Grab the current value of what was written to the Realtime Database.
      var valueObject = event.data.val();
      // Log the event
      console.log("Push notification event triggered for " + valueObject.title);
  
      //if(valueObject.title != null) {
        //valueObject.photoUrl= "Sent you a photo!";
     // }
  
    // Create a notification
      const payload = {
          data: {
              body:valueObject.body,
              imgUrl: valueObject.imgUrl,
              postUrl: valueObject.postUrl,
              title: valueObject.title
          },
      };
  
    //Create an options object that contains the time to live for the notification and the priority
      const options = {
          priority: "high",
          timeToLive: 60 * 60 * 24
      };
  
  
      return admin.messaging().sendToTopic("Posts", payload, options);
  });
  </code></pre>
  
  <h2>Log</h2>
  
  <pre><code>0 info it worked if it ends with ok
  1 verbose cli [ '/home/xoxo/.nvm/versions/node/v9.5.0/bin/node',
  1 verbose cli   '/home/xoxo/.nvm/versions/node/v9.5.0/bin/npm',
  1 verbose cli   '--prefix',
  1 verbose cli   '/home/xoxo/Android/Projects/FirebaseFunctions/functions',
  1 verbose cli   'run',
  1 verbose cli   'lint' ]
  2 info using npm@5.6.0
  3 info using node@v9.5.0
  4 verbose run-script [ 'prelint', 'lint', 'postlint' ]
  5 info lifecycle functions@~prelint: functions@
  6 info lifecycle functions@~lint: functions@
  7 verbose lifecycle functions@~lint: unsafe-perm in lifecycle true
  8 verbose lifecycle functions@~lint: PATH: /home/xoxo/.nvm/versions/node/v9.5.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/xoxo/Android/Projects/FirebaseFunctions/functions/node_modules/.bin:/home/xoxo/.nvm/versions/node/v9.5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
  9 verbose lifecycle functions@~lint: CWD: /home/xoxo/Android/Projects/FirebaseFunctions/functions
  10 silly lifecycle functions@~lint: Args: [ '-c', 'eslint .' ]
  11 info lifecycle functions@~lint: Failed to exec lint script
  12 verbose stack Error: functions@ lint: `eslint .`
  12 verbose stack spawn ENOENT
  12 verbose stack     at ChildProcess.&lt;anonymous&gt; (/home/xoxo/.nvm/versions/node/v9.5.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:48:18)
  12 verbose stack     at ChildProcess.emit (events.js:160:13)
  12 verbose stack     at maybeClose (internal/child_process.js:943:16)
  12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
  13 verbose pkgid functions@
  14 verbose cwd /home/xoxo/Android/Projects/FirebaseFunctions
  15 verbose Linux 4.13.0-32-generic
  16 verbose argv "/home/xoxo/.nvm/versions/node/v9.5.0/bin/node" "/home/xoxo/.nvm/versions/node/v9.5.0/bin/npm" "--prefix" "/home/xoxo/Android/Projects/FirebaseFunctions/functions" "run" "lint"
  17 verbose node v9.5.0
  18 verbose npm  v5.6.0
  19 error file sh
  20 error code ELIFECYCLE
  21 error errno ENOENT
  22 error syscall spawn
  23 error functions@ lint: `eslint .`
  23 error spawn ENOENT
  24 error Failed at the functions@ lint script.
  24 error This is probably not a problem with npm. There is likely additional logging output above.
  25 verbose exit [ 1, true ]
  </code></pre>
  
  <h2>Console Output</h2>
  
  <pre><code>xoxo@xo9:~/Android/Projects/FirebaseFunctions$ firebase deploy
  
  === Deploying to 'testproject-a1bda'...
  
  i  deploying functions
  Running command: npm --prefix $RESOURCE_DIR run lint
  
  &gt; functions@ lint /home/xoxo/Android/Projects/FirebaseFunctions/functions
  &gt; eslint .
  
  sh: 1: eslint: not found
  npm ERR! file sh
  npm ERR! code ELIFECYCLE
  npm ERR! errno ENOENT
  npm ERR! syscall spawn
  npm ERR! functions@ lint: `eslint .`
  npm ERR! spawn ENOENT
  npm ERR! 
  npm ERR! Failed at the functions@ lint script.
  npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
  npm WARN Local package.json exists, but node_modules missing, did you mean to install?
  
  npm ERR! A complete log of this run can be found in:
  npm ERR!     /home/xoxo/.npm/_logs/2018-02-03T22_35_55_608Z-debug.log
  
  Error: functions predeploy error: Command terminated with non-zero exit code1
  </code></pre>
  
  <h2>Package.js</h2>
  
  <pre><code>{
    "name": "functions",
    "description": "Cloud Functions for Firebase",
    "scripts": {
      "lint": "./node_modules/.bin/eslint .",
      "serve": "firebase serve --only functions",
      "shell": "firebase experimental:functions:shell",
      "start": "npm run shell",
      "deploy": "firebase deploy --only functions",
      "logs": "firebase functions:log"
    },
    "dependencies": {
      "firebase-admin": "~5.8.1",
      "firebase-functions": "^0.8.1"
    },
    "devDependencies": {
      "eslint": "^4.12.0",
      "eslint-plugin-promise": "^3.6.0"
    },
    "private": true
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/fpQSk.png" rel="noreferrer"><img src="https://i.stack.imgur.com/fpQSk.png" alt="enter image description here"></a></p>
  
  <p>Please what am I doing wrong?</p>