eslint: error Parsing error: The keyword 'const' is reserved

Javascriptnode.jsEcmascript 6Eslint

Javascript Problem Overview


I am getting this error from ESLint:

error  Parsing error: The keyword 'const' is reserved

from this code:

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

I've tried removing node_modules and reinstalling all npm packages (as suggested here), but to no avail.

Javascript Solutions


Solution 1 - Javascript

ESLint defaults to ES5 syntax-checking.
You'll want to override to the latest well-supported version of JavaScript.

Try adding a .eslintrc.json file to your project. Inside it:

{
    "parserOptions": {
        "ecmaVersion": 2017
    },

    "env": {
        "es6": true
    }
}

Hopefully this helps.

EDIT: I also found this example .eslintrc.json which might help.

Solution 2 - Javascript

you also can add this inline instead of config, just add it to the same file before you add your own disable stuff

/* eslint-env es6 */
/* eslint-disable no-console */

my case was disable a file and eslint-disable were not working for me alone

/* eslint-env es6 */
/* eslint-disable */

Solution 3 - Javascript

I used .eslintrc.js and I have added following code.

module.exports = {
    "parserOptions": {
        "ecmaVersion": 6
    }
};

Solution 4 - Javascript

If using Visual Code one option is to add this to the settings.json file:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}

Solution 5 - Javascript

Update - ESLint v7.30.0

With ESLint v7.30.0, you can use latest instead of 2017, and it will enable the latest supported ECMAScript version.

> "ecmaVersion": "latest" always enables the latest supported ECMAScript > version in ESLint's default parser.

.eslintrc.json

"parserOptions": {
  "ecmaVersion": "latest"
}

Solution 6 - Javascript

I had this same problem with this part of my code:

const newComment = {
    dishId: dishId,
    rating: rating,
    author: author,
    comment: comment
};
newComment.date = new Date().toISOString();

Same error, const is a reserved word.

The thing is, I made the .eslintrc.js from the link you gave in the update and still got the same error. Also, I get an parsing error in the .eslintrc.js: Unexpected token ':'.

Right in this part:

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

...

Solution 7 - Javascript

I had this issue when updating. I had an eslintrc.json in the project already as well. I just closed my project in Visual Studio Code and reopened it and the error went away. It seems VS Code caches.

Solution 8 - Javascript

In my case, it was unable to find the .eslintrc file so I copied from node_modules/.bin to root.

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
QuestionopikeView Question on Stackoverflow
Solution 1 - JavascriptiamjpgView Answer on Stackoverflow
Solution 2 - JavascriptyousefView Answer on Stackoverflow
Solution 3 - JavascriptKhachornchit SongsaenView Answer on Stackoverflow
Solution 4 - JavascriptBjørnar HvidstenView Answer on Stackoverflow
Solution 5 - JavascriptNeNaDView Answer on Stackoverflow
Solution 6 - JavascriptMarcos SevillaView Answer on Stackoverflow
Solution 7 - JavascriptCurtis MView Answer on Stackoverflow
Solution 8 - Javascriptuser379888View Answer on Stackoverflow