gulp-eslint не может проанализировать необязательный синтаксис цепочки
Я пытаюсь связать код JavaScript с необязательным синтаксисом цепочки, например:
let foo = bar?.property;
При разборе моих файлов JS с помощью
eslint
явно проходит.
При разборе с помощью
gulp-eslint
при использовании той же конфигурации линтинг не выполняется:
Ошибка синтаксического анализа: неожиданный токен.
Мой
.eslintrc.json
файл содержит:
{
"parserOptions": {
"ecmaVersion": 2020
}
}
Моя задача Gulp выглядит так:
const eslint = require('gulp-eslint');
return gulp.src(['src/**/*.js'])
.pipe(eslint({ configFile: '.eslintrc.json' }))
.pipe(eslint.formatEach('compact', process.stderr))
.pipe(eslint.failAfterError());
Я использую следующие пакеты:
"devDependencies": {
"eslint": "^8.2.0",
"gulp": "4.0.2",
"gulp-eslint": "^6.0.0",
}
Я что-то упускаю или есть способ обходного пути?
1 ответ
Параметр анализатора ecmaVersion не может использоваться таким образом, см . https://eslint.org/docs/user-guide/configuring/language-options#specifying-environments . Изменение его с 2020 на 11 или 12 или «последнюю» должно сработать.