"SyntaxError: Unexpected token {" quando si tenta di eseguire lo script ESLint

Oct 08 2020

Ho problemi durante il tentativo di eseguire uno script lint "lint:fix": "eslint --fix --ext .js,.jsx .” npm run lint:fix

Continuo a ricevere questo messaggio di errore e sembra che si sia verificato solo dopo aver aggiornato il mio eslint deps in linea con le regole di airbnb (ho usato npx install-peerdeps --dev eslint-config-airbnb)

Errore:

/Users/ME/Projects/MYPROJECT/node_modules/eslint/bin/eslint.js:93
        } catch {
                ^
SyntaxError: Unexpected token {
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:607:28)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Function.Module.runMain (module.js:684:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

Tuttavia, l'esecuzione delle seguenti operazioni funziona come previsto: npx eslint specific/file.js —fix



Questo è il mio file .eslintrc:



{
    "env": {
        "browser": vero,
        "es2020": vero
    },
    "extends": ["plugin: react / recommended", "airbnb", "più carino", "più carino / react"],
    "parser": "babel-eslint",
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": vero
        },
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": ["react"],
    "regole": {}
}

E questi sono i miei attuali eslint deps:



    "eslint": "7.10.0",
    "eslint-config-airbnb": "18.2.0",
    "eslint-config-prettier": "^2.9.0",
    "eslint-plugin-import": "2.22.1",
    "eslint-plugin-jsx-a11y": "6.3.1",
    "eslint-plugin-react": "7.21.3",
    "eslint-plugin-react-hooks": "4.1.2",
    "eslint-watch": "3.1.2",

Qualsiasi aiuto sarebbe grande! Molte grazie!

Risposte

1 EstusFlask Oct 07 2020 at 22:46

Il binding di cattura opzionale è stato introdotto in ES2019.

La versione ESLint specificata deve essere utilizzata con la versione Node che la supporta (10 o successiva).