ESLint - 'process' is not defined

Javascriptnode.jsVisual Studio-CodeEslint

Javascript Problem Overview


I am using ESLinter for a simple node project. Below is the only code I have in index.js:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send({
	    hi: 'there'
    });
});

const PORT = process.env.PORT || 5000;
app.listen(PORT);

I am using VSCode editor. It automatically runs ESLint for JS code.

In the IDE, I see below error for last but one line -

[eslint] 'process' is not defined. (no-undef)

Any Idea what's wrong?

Javascript Solutions


Solution 1 - Javascript

When I got error I had "browser": true instead of "node": true.

I have fixed this with following config for .eslintrc.json file-

{
    "env": {
        "node": true,
        "commonjs": true
    },
    "extends": "eslint:recommended",
    "rules": {
        "indent": [
            "error",
            "tab"
        ],
        "linebreak-style": [
            "error",
            "unix"
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "error",
            "always"
        ]
    },
    "parserOptions": {
        "ecmaVersion": 2015
    }
}

Thanks @FelixKling and @Jaromanda X for quick responses.

Solution 2 - Javascript

Adding "node": "true" to an existing list of environments will do the job, too

"env": {
        "node": true,
        "commonjs": true,
        "browser": true,
        "es6": true
       }

Solution 3 - Javascript

Add .eslintrc file to root of your project (if you don't already have one) and define globals to ignore

{
    "globals": {
        "process": true
      }
}

Make sure you use process.env though out the project but only in a single configuration file. Consider adding no-process-envrule.

https://eslint.org/docs/rules/no-process-env

Solution 4 - Javascript

If you have eslint installed, add env: { node: true } to the .eslintrc.js file

Solution 5 - Javascript

this config helped me and can help others too

{
  "parser": "babel-eslint",
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true,
      "modules": true
    },
    "ecmaVersion": 2020,
    "sourceType": "module",
    "useJSXTextNode": true,
    "warnOnUnsupportedTypeScriptVersion": false
  },
  "root": true,
  "env": {
    "browser": true,
    "es6": true,
    "node": true,
    "commonjs": true
  },
  "extends": [ "eslint:recommended"],
  },
}

Solution 6 - Javascript

when working on node js project. this might help you. it works in my end

module.exports = {
"env": {
    "node": true,
    "browser": true,
    "commonjs": true,
    "es6": true
},
"extends": "eslint:recommended",
"globals": {
    "Atomics": "readonly",
    "SharedArrayBuffer": "readonly"
},
"parserOptions": {
    "ecmaVersion": 2018
},
"rules": {
}

};

Solution 7 - Javascript

If you are getting the error even after settng "node": true, remember to install @types/node with

npm i -D @types/node

yarn add -D @types/node

Solution 8 - Javascript

Another remedy for this issue is to simply import process from "process".

Even though it's not strictly necessary, one could argue it's better practice anyway.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionArunKolhapurView Question on Stackoverflow
Solution 1 - JavascriptArunKolhapurView Answer on Stackoverflow
Solution 2 - JavascriptcrtagView Answer on Stackoverflow
Solution 3 - Javascriptt-reksioView Answer on Stackoverflow
Solution 4 - JavascriptyoungwolfView Answer on Stackoverflow
Solution 5 - JavascriptPaulo AndradeView Answer on Stackoverflow
Solution 6 - JavascriptBertwin RomeroView Answer on Stackoverflow
Solution 7 - JavascripttHeSiDView Answer on Stackoverflow
Solution 8 - JavascriptᅙᄉᅙView Answer on Stackoverflow