ESLint Parsing error: Unexpected token ESLint Parsing error: Unexpected token javascript javascript

ESLint Parsing error: Unexpected token


Unexpected token errors in ESLint parsing occur due to incompatibility between your development environment and ESLint's current parsing capabilities with the ongoing changes with JavaScripts ES6~7.

Adding the "parserOptions" property to your .eslintrc is no longer enough for particular situations, such as using

static contextTypes = { ... } /* react */

in ES6 classes as ESLint is currently unable to parse it on its own. This particular situation will throw an error of:

error Parsing error: Unexpected token =

The solution is to have ESLint parsed by a compatible parser, i.e @babel/eslint-parser or babel-eslint for babel version below v7.

just add:

"parser": "@babel/eslint-parser"

to your .eslintrc file and run npm install @babel/eslint-parser --save-dev or yarn add -D @babel/eslint-parser.

Please note that as the new Context API starting from React ^16.3 has some important changes, please refer to the official guide.


ESLint 2.x experimentally supports ObjectRestSpread syntax, you can enable it by adding the following to your .eslintrc: docs

"parserOptions": {  "ecmaVersion": 6,  "ecmaFeatures": {    "experimentalObjectRestSpread": true  }},

ESLint 1.x doesn't natively support the spread operator, one way to get around this is using the babel-eslint parser. The latest installation and usage instructions are on the project readme.


"parser": "babel-eslint" helped me to fix the issue

{    "parser": "babel-eslint",    "parserOptions": {        "ecmaVersion": 6,        "sourceType": "module",        "ecmaFeatures": {            "jsx": true,            "modules": true,            "experimentalObjectRestSpread": true        }    },    "plugins": [        "react"    ],    "extends": ["eslint:recommended", "plugin:react/recommended"],    "rules": {        "comma-dangle": 0,        "react/jsx-uses-vars": 1,        "react/display-name": 1,        "no-unused-vars": "warn",        "no-console": 1,        "no-unexpected-multiline": "warn"    },    "settings": {        "react": {            "pragma": "React",            "version": "15.6.1"        }    }}

Reference