11
votes

eslint - Erreur de chaînage facultative avec vscode

Je vois un soulignement rouge lorsque j'utilise une chaîne facultative, mais le code fonctionne bien car je suis sur le nœud 14

Voici ma configuration:

module.exports = {
    "env": {
        "node": true
    },
    "extends": [
        "eslint:recommended",
    ],
    "parserOptions": {
        "sourceType": "module",
        "ecmaVersion": 2020
    },
    "rules": {
    },
}

.eslintrc.js

node 14.1.0
eslint "^6.8.0"

entrez la description de l'image ici


2 commentaires

si vous placez le curseur sur l'erreur, quel message d'erreur obtenez-vous?


Erreur d' Parsing Error: Unexpected token . @peprumo Parsing Error: Unexpected token . image ajoutée


3 Réponses :


19
votes

Vous devez utiliser babel-eslint avec votre configuration eslint. Cela vous permet de lisser TOUS les codes Babel valides avec eslint. Actuellement, eslint ne prend pas en charge toutes les fonctionnalités ES2020 mais un projet est proposé ici

Courir:

{
  parser: "@babel/eslint-parser",
}

Ensuite, dans votre .eslintrc, faites:

$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D

MISE À JOUR 24/07/2020 Le support a été publié en version (v7.2.0) ici .

MISE À JOUR 20/11/2020 REMARQUE: babel-eslint est maintenant @babel/eslint-parser et a déménagé dans le monorepo Babel .

{
   "parser": "babel-eslint"
}

Ensuite, dans votre .eslintrc faites:

$ npm install babel-eslint --save-dev
# or
$ yarn add babel-eslint -D


5 commentaires

le chaînage facultatif n'est-il pas inclus dans eslint normal?


@ A.Lau pas que je sache


Pas encore, malheureusement. Il existe un brouillon sur la prise en charge de certaines des fonctionnalités de syntaxe es2020, le chaînage facultatif en fait partie. Vous pouvez le lire ici: github.com/eslint/eslint/pull/13196


où va cette clé de l'analyseur? package.json sous "eslintConfig"?


@ bot19 essayez de le mettre à la racine de la configuration d'eslintrc ici dans .eslintrc.js



1
votes

Toutes les fonctionnalités JavaScript activées par Babel ne sont pas incluses dans ESLint.

Vous pouvez cependant utiliser babel-eslint :

{
  parser: "@babel/eslint-parser",
}

Ensuite, dans votre .eslintrc faites:

$ npm install @babel/eslint-parser --save-dev
# or
$ yarn add @babel/eslint-parser -D


0 commentaires

6
votes

Vous n'avez plus besoin de @babel/eslint-parser car eslint@^7.5 prend désormais en charge le chanining facultatif.

Exécutez ce qui suit pour mettre à jour eslint dans votre projet:

npm

module.exports = {
    "parserOptions": {
        "ecmaVersion": 2020
    }
}

fil

{
  "parserOptions": {
    "ecmaVersion": 2020
  }
}

Et puis, assurez-vous que votre configuration est la suivante:

.eslintrc

yarn add -D eslint@^7.5

.eslint.js

npm install --save-dev eslint@^7.5

Voir https://eslint.org/blog/2020/07/eslint-v7.5.0-released#optional-chaining-support pour plus d'informations.


1 commentaires

C'est la réponse correcte la plus à jour en 2020