'ESLint - 'process' is not defined

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?



Solution 1:[1]

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:[2]

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:[3]

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:[4]

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

Solution 5:[5]

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:[6]

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:[7]

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

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 mikemaccana
Solution 2 crtag
Solution 3 t-reksio
Solution 4 youngwolf
Solution 5 Paulo Andrade
Solution 6 Bertwin Romero
Solution 7 tHeSiD