Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot read config file .eslintrc.json Error: Unexpected token }

I'm exploring EsLint for my React JS ES6 project and I'm immediately stuck. I've created an .eslintrc.json exactly like here:

{
    "parserOptions": {
        "ecmaVersion": 6,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        },
    },
    "rules": {
        "semi": 2
    }
}

What do I do now?

Cannot read config file: /Users/eric/af/frontend_app/.eslintrc.json
Error: Unexpected token }
SyntaxError: Cannot read config file: /Users/eric/af/frontend_app/.eslintrc.json
Error: Unexpected token }
    at Object.parse (native)
    at loadJSONConfigFile (/usr/local/lib/node_modules/eslint/lib/config/config-file.js:117:21)
    at loadConfigFile (/usr/local/lib/node_modules/eslint/lib/config/config-file.js:210:26)
    at Object.load (/usr/local/lib/node_modules/eslint/lib/config/config-file.js:437:18)
    at loadConfig (/usr/local/lib/node_modules/eslint/lib/config.js:67:33)
    at getLocalConfig (/usr/local/lib/node_modules/eslint/lib/config.js:129:23)
    at Config.getConfig (/usr/local/lib/node_modules/eslint/lib/config.js:223:22)
    at processText (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:155:27)
    at processFile (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:227:18)
    at executeOnFile (/usr/local/lib/node_modules/eslint/lib/cli-engine.js:603:23)

My EsLint version:

$ eslint -v
v2.4.0

I've tried changing the name of the same config file to .eslintrc.js and I've got this:

Cannot read config file: /Users/eric/af/frontend_app/.eslintrc.js
Error: /Users/eric/af/frontend_app/.eslintrc.js:2
    "parserOptions": {
                   ^
Unexpected token :
/Users/eric/af/frontend_app/.eslintrc.js:2
    "parserOptions": {
                   ^
SyntaxError: Unexpected token :
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at module.exports (/usr/local/lib/node_modules/eslint/node_modules/require-uncached/index.js:14:12)
    at loadJSConfigFile (/usr/local/lib/node_modules/eslint/lib/config/config-file.js:157:16)
    at loadConfigFile (/usr/local/lib/node_modules/eslint/lib/config/config-file.js:197:22)
like image 509
ericn Avatar asked Mar 22 '16 07:03

ericn


People also ask

What is eslintrc JSON file?

eslintrc. json to define the configuration structure. ESLint's JSON files also allow JavaScript-style comments. package. json - create an eslintConfig property in your package.

Where is my ESLint configuration file?

The ESLint configuration is in the ./node_modules/@spm/eslint-config/index. js file.

How does ESLint work?

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code, with the goal of making code more consistent and avoiding bugs. In many ways, it is similar to JSLint and JSHint with a few exceptions: ESLint uses Espree for JavaScript parsing.


1 Answers

Like this ( I removed the comma after "ecmaFeatures": {"jsx": true},):

{
    "parserOptions": {
        "ecmaVersion": 6,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
    "rules": {
        "semi": 2
    }
}

Use this tool to valid your json : http://jsonlint.com/

like image 101
bugyt Avatar answered Sep 24 '22 11:09

bugyt