Search code examples
javascriptreactjseslinteslint-config-airbnbeslintrc

eslint "parsing error: Unexpected token {" in JSX


const title = 'My Minimal React Webpack Babel Setups';

const App = () => (<div><b>{title}</b><img src={img} /></div>)

This code occurs an error "ESLint Parsing Error: Unexpected token {"

my .eslintrc.js file is like that

module.exports = {
    "extends": "airbnb"
};

and I install the packages like that

"eslint": "^5.9.0",
"eslint-config-airbnb": "^17.1.0",
"eslint-loader": "^2.1.1",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jsx-a11y": "^6.1.2",
"eslint-plugin-react": "^7.11.1",

I thought that ESLint can read JSX because the token "<" doesn't occur error. (When I change the extends section in .eslintrc.js file to "airbnb-base", It occurs error "ESLint Parsing Error: Unexpected token <. But now, the token "<" doesn't occur error)

However, my ESLint cannot read the JSX syntax line {variable}


Solution

  • Eslint on its own is not good enough. First install babel-eslint:

    npm install --save-dev babel-eslint
    

    Or with yarn:

    yarn add -D babel-eslint
    

    Then add to your .eslintrc file:

    "parser": "babel-eslint"
    

    You might want to install eslint-plugin-babel as well, but I believe this is not needed