2 votes

Obtenir de mauvais numéros de lignes et le rapport ne réagissant pas aux changements avec `rollup-plugin-eslint`

Je reçois systématiquement les mauvais numéros de ligne dans la sortie eslint:

$ ./node_modules/.bin/rollup -c

/Users/asko/Git/es6-trial/src/main.js
   31:7  erreur  indentation attendue de 4 caractères d'espace mais trouvé 6  indent
   60:7  erreur  indentation attendue de 4 caractères d'espace mais trouvé 6  indent
   61:7  erreur  indentation attendue de 4 caractères d'espace mais trouvé 6  indent
  134:7  erreur  indentation attendue de 4 caractères d'espace mais trouvé 6  indent
  142:9  erreur  indentation attendue de 6 caractères d'espace mais trouvé 8  indent

✖ 5 problèmes (5 erreurs, 0 avertissements)

Les numéros rapportés sont supérieurs d'un à l'emplacement réel des problèmes.

Mais si je modifie le fichier, la sortie eslint ne change pas! Est-ce qu'il fait une mise en cache de quelque type ?

Malheureusement, le dépôt d'où cela provient n'est pas public.

.eslintrs.json est :

{
  "parserOptions": {
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": {
      "impliedStrict": true
    }
  },
  "env": {
    "browser": true,
    "es6": true
  },
  "globals": {
    "assert": false
  },
  "extends": "eslint:recommended",
  "parserOptions": {
    "sourceType": "module"
  },
  "rules": {
    "indent": ["error", 2],
    "linebreak-style": ["error", "unix"],
    // "quotes": ["warn", "single"],
    "semi": ["error", "always"],
    "no-console": "off",
    "no-unused-vars": "warn"
  }
}

Tout ceci est étrange. Quelqu'un d'autre, déjà, a-t-il vu cela?


Cela a à voir avec l'exécution de eslint via Rollup. Si j'exécute directement les choses avec ./node_modules/.bin/eslint src/*.js, il n'y a rien à signaler.

0voto

David Riccitelli Points 2787

Assurez-vous que le plugin eslint est configuré avant le plugin babel sinon la vérification se fera sur le code transpilé, par exemple :

plugins: [ eslint({ exclude: 'node_modules/**' }), babel({ exclude: 'node_modules/**' }) ]

au lieu de

plugins: [ babel({ exclude: 'node_modules/**' }), eslint({ exclude: 'node_modules/**' }) ]

Voir https://github.com/TrySound/rollup-plugin-eslint/issues/10

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X