Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 528 Vote(s) - 3.49 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ESLint error while trying to deploy firebase functions

#1
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.

I have also stumbled on [this][1] and [this][2] answer but it appears they're not applicable to my scenario.

## My Function ##

// // Create and Deploy Your First Cloud Functions
// //

[To see links please register here]

//
// exports.helloWorld = functions.https.onRequest((request, response) => {
// 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 => {
// 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);
});


## Log ##

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 [email protected]
3 info using [email protected]
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.<anonymous> (/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 ]

## Console Output ##

xoxo@xo9:~/Android/Projects/FirebaseFunctions$ firebase deploy

=== Deploying to 'testproject-a1bda'...

i deploying functions
Running command: npm --prefix $RESOURCE_DIR run lint

> functions@ lint /home/xoxo/Android/Projects/FirebaseFunctions/functions
> 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

## Package.js ##

{
"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
}

[![enter image description here][3]][3]

Please what am I doing wrong?


[1]:

[To see links please register here]

[2]:

[To see links please register here]

[3]:
Reply

#2
The only way I can imagine that your project got into this state is if you refused to allow npm to install dependencies at the time of project creation. So when you asks you this:

> ? Do you want to install dependencies with npm now?

You may have answered 'No'. This would prevent the eslint package from being installed, and you would see that error.

Otherwise, you may have deleted the eslint installed package under `node_modules` somehow. You can run `npm install` from the `functions` folder to recreate everything needed under `node_modules`.
Reply

#3
hey you just need to return something from then statement

let params = {...};
var firestore = admin.firestore();
var dbRef = firestore.collection('your-collection-name');

dbRef.add(params)
.then((docRef) => {
console.log("doc added with ID ", docRef.id);

return null
})
.catch((err) => {
console.error("Error in adding document ", err);
});
Reply

#4
I had a similar error appear. I found out that my directory that held the firebase project was named firebase/database. I removed the / and made the directory name firebase-database. Hopefully that helps someone.
Reply

#5
Had the same problem
I reinstalled npm

npm install npm -g

then reinitiated the Firebase functions (you have to overwrite all files and make sure to install EsLine the debugging and install all dependencies ) yes press Y for any request

Firebase init functions

and everything worked just fine after deploying again

Firebase deploy

Reply

#6
If you found -prefix "%REASOURCE_DIR%" run init type error while deploying firebase project, then you have to edit some code in firebase.json file. Here is an Example[![enter image description here][1]][1]


[1]:
Reply

#7
I had a similar problem with ESLINT on Windows


I just ruined npm run deploy in order to call firebase deploy command. This call allowed me to view errors outside "firebase deploy" command execution and it was funny to see that Eslint had a CLRF conflict with files

Then I ran npm run lint -- --fix and those problems got solved

:D
Reply

#8
Easy fix.
Inside your package.json change

> "lint": "eslint ."

to

"lint": "eslint",
Reply

#9
As of 2023, I still come across this problem. It is true that this problem is caused by people skipping the default npm installation on project configuration/startup. But rather than fixing it on the spot, reinstalling all the dependencies seem like overkill to me. You are missing the eslint, so you have to add eslint to your project.json file and then install dependency and you are good to go.

I had to do only two thing in my case:
1. Add `eslint` to your package.json as a dependency
```json
"scripts": {
...
"lint": "eslint"
},
```
2. In your `functions` folder. Run command:
```shell
npm init @eslint/config
```

Then run `firebase deploy`. That is, it.

You should not get any errors if your previous command had successfully completed.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through