2

Hi so I've no problems with commands until this point. I've tried a few different solutions for this from what I found such as clear cache and firebase functions cmd. But I keep getting this error. Iread up on a few resources too and none have worked. Do you guys have any suggestions?

  1:7  error  'functions' is assigned a value but never used  no-unused-vars

✖ 1 problem (1 error, 0 warnings)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ lint: `eslint .`
npm ERR! Exit status 1
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 ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Owner\AppData\Roaming\npm-cache\_logs\2021-01-19T04_28_58_025Z-debug.log
events.js:292
      throw er; // Unhandled 'error' event
      ^

Error: spawn npm --prefix "%RESOURCE_DIR%" run lint ENOENT
    at notFoundError (C:\Users\Owner\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\Owner\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:40:16)
    at ChildProcess.cp.emit (C:\Users\Owner\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:27:25)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
Emitted 'error' event on ChildProcess instance at:
    at ChildProcess.cp.emit (C:\Users\Owner\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:30:37)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn npm --prefix "%RESOURCE_DIR%" run lint',
  path: 'npm --prefix "%RESOURCE_DIR%" run lint',
  spawnargs: []
}

Error: functions predeploy error: Command terminated with non-zero exit code1

index.js functions

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

// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
//
// exports.helloWorld = functions.https.onRequest((request, response) => {
//   functions.logger.info("Hello logs!", {structuredData: true});
//   response.send("Hello from Firebase!");
// });

Package.json

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase emulators:start --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "12"
  },
  "main": "index.js",
  "dependencies": {
    "firebase-admin": "^9.2.0",
    "firebase-functions": "^3.11.0"
  },
  "devDependencies": {
    "eslint": "^7.6.0",
    "eslint-config-google": "^0.14.0",
    "firebase-functions-test": "^0.2.0"
  },
  "private": true
}

debug.log

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Users\\Owner\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   '--prefix',
1 verbose cli   'C:\\Users\\Owner\\Desktop\\amazon-react\\functions',
1 verbose cli   'run',
1 verbose cli   'lint'
1 verbose cli ]
2 info using npm@6.14.11
3 info using node@v14.15.3
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: C:\Users\Owner\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Owner\Desktop\amazon-react\functions\node_modules\.bin;C:\Python39\Scripts\;C:\Python39\;C:\Program Files\Java\jdk1.8.0_261\bin;JAVA_HOME\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Acronis\VirtualFile\;C:\Program Files (x86)\Common Files\Acronis\VirtualFile64\;C:\Program Files (x86)\Common Files\Acronis\FileProtector\;C:\Program Files (x86)\Common Files\Acronis\FileProtector64\;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Program Files (x86)\Brackets\command;C:\Program Files\dotnet\;C:\Program Files (x86)\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\nodejs\;C:\ProgramData\chocolatey\bin;C:\Program Files\Git\cmd;";C:\mongodb";C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;C:\Users\Owner\AppData\Local\atom\bin;C:\Users\Owner\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;C:\Users\Owner\AppData\Roaming\npm;C:\Program Files\MongoDB\Server\4.4\bin;
9 verbose lifecycle functions@~lint: CWD: C:\Users\Owner\Desktop\amazon-react\functions
10 silly lifecycle functions@~lint: Args: [ '/d /s /c', 'eslint .' ]
11 silly lifecycle functions@~lint: Returned: code: 1  signal: null
12 info lifecycle functions@~lint: Failed to exec lint script
13 verbose stack Error: functions@ lint: `eslint .`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\Owner\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\Owner\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1048:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid functions@
15 verbose cwd C:\Users\Owner\Desktop\amazon-react
16 verbose Windows_NT 10.0.19041
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Owner\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "--prefix" "C:\\Users\\Owner\\Desktop\\amazon-react\\functions" "run" "lint"
18 verbose node v14.15.3
19 verbose npm  v6.14.11
20 error code ELIFECYCLE
21 error errno 1
22 error functions@ lint: `eslint .`
22 error Exit status 1
23 error Failed at the functions@ lint script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Installation

C:\Users\Owner\Desktop\amazon-react>npm install npm -g
C:\Users\Owner\AppData\Roaming\npm\npm -> C:\Users\Owner\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
C:\Users\Owner\AppData\Roaming\npm\npx -> C:\Users\Owner\AppData\Roaming\npm\node_modules\npm\bin\npx-cli.js
+ npm@6.14.11
added 435 packages from 889 contributors in 17.675s

C:\Users\Owner\Desktop\amazon-react>firebase init functions

     ######## #### ########  ######## ########     ###     ######  ########
     ##        ##  ##     ## ##       ##     ##  ##   ##  ##       ##
     ######    ##  ########  ######   ########  #########  ######  ######
     ##        ##  ##    ##  ##       ##     ## ##     ##       ## ##
     ##       #### ##     ## ######## ########  ##     ##  ######  ########

You're about to initialize a Firebase project in this directory:

  C:\Users\Owner\Desktop\amazon-react

Before we get started, keep in mind:

  * You are initializing in an existing Firebase project directory

? Are you ready to proceed? Yes

=== Project Setup

First, let's associate this project directory with a Firebase project.
You can create multiple project aliases by running firebase use --add,
but for now we'll just set up a default project.

i  .firebaserc already has a default project, using fir-a38d0.

=== Functions Setup

A functions directory will be created in your project with a Node.js
package pre-configured. Functions can be deployed with firebase deploy.

? What language would you like to use to write Cloud Functions? JavaScript
? Do you want to use ESLint to catch probable bugs and enforce style? Yes
? File functions/package.json already exists. Overwrite? Yes
+  Wrote functions/package.json
? File functions/.eslintrc.js already exists. Overwrite? (y/N) ? File functions/index.js alre? File functions/.eslintrc.js already exists. Overwrite? Yes
? File functions/index.js already exists. Overwrite? Yes
+  Wrote functions/.eslintrc.js
+  Wrote functions/index.js
? File functions/.gitignore already exists. Overwrite? Yes
+  Wrote functions/.gitignore
? Do you want to install dependencies with npm now? Yes
audited 300 packages in 1.354s

20 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities


i  Writing configuration info to firebase.json...
i  Writing project information to .firebaserc...

+  Firebase initialization complete!

C:\Users\Owner\Desktop\amazon-react>firebase deploy

=== Deploying to 'fir-a38d0'...

i  deploying database, storage, firestore, functions, hosting, remoteconfig
Running command: npm --prefix "$RESOURCE_DIR" run lint

> functions@ lint C:\Users\Owner\Desktop\amazon-react\functions
> eslint .


C:\Users\Owner\Desktop\amazon-react\functions\index.js
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807

1 Answers1

1
 1:7  error  'functions' is assigned a value but never used  no-unused-vars

It has to do with your eslint setup. Your eslint preferences are set to throw a error if you have assigned a value, but didn't use it.

To fix this you can either:

-Use the functions variable

-Change your eslint preferences to show a warning instead of a error, or disable eslint.

eslint is a tool that comes with Firebase which checks your code for errors before deploying, it can be very useful for catching things before deploying. Personally I have unused variables as a warning instead of a error, so it would still deploy.

August Kimo
  • 1,503
  • 8
  • 17
  • So I looked through my code. This is my first time using firebase, forgive me. But this is what I got and I'm still receiving the same error – Desmond Lambkin Jan 19 '21 at 08:09
  • C:\Users\Owner\Desktop\amazon-react\functions\index.js 1:7 error 'functions' is assigned a value but never used no-unused-vars index.js functions file const functions = require("firebase-functions"); // // Create and Deploy Your First Cloud Functions // // https://firebase.google.com/docs/functions/write-firebase-functions // // exports.helloWorld = functions.https.onRequest((request, response) => { // functions.logger.info("Hello logs!", {structuredData: true}); // response.send("Hello from Firebase!"); // }); – Desmond Lambkin Jan 19 '21 at 08:11
  • eslintrc.js module.exports = { root: true, env: { es6: true, node: true, }, extends: [ "eslint:recommended", "google", ], rules: { eqeqeq: "off", quotes: ["off", "double"], }, }; – Desmond Lambkin Jan 19 '21 at 08:11
  • Changing firebases eslint settings was hard to do for me, I ended up just uninstalling the eslint that came with firebase and reinstalling it for my own settings to work. Firebase just started using this (imo bad) version of eslint by default. – August Kimo Jan 19 '21 at 14:56
  • Feels like every time I make progress with firebase, something new always pop up. Changing these settings I'll admit is difficult for me. This is the message I got now Error: Parse Error in remoteconfig.template.json: No data, empty input at 1:1 ^ File: "remoteconfig.template.json" – Desmond Lambkin Jan 19 '21 at 16:52
  • this has an asnwer here https://stackoverflow.com/questions/64728490/firebase-deploy-keeps-giving-me-an-error-parse-error-in-remoteconfig-template-j – Methkal Khalawi Jan 21 '21 at 10:11
  • For a newbie this answer is not helpful. I do not know where the rule exists. My fix: In .eslintrc.js , I commented "eslint:recommended", – Kris Swat May 23 '23 at 20:39