Estoy tratando de eliminar el código JavaScript con una sintaxis de encadenamiento opcional como:
let foo = bar?.property;
Al analizar mis archivos JS con eslint explícitamente, pasa.
Al analizar con gulp-eslint usando la misma configuración, el deslintado falla con:
Error de análisis: token inesperado.
Mi archivo .eslintrc.json contiene:
{ "parserOptions": { "ecmaVersion": 2020 } }Mi tarea de Gulp se ve así:
const eslint = require('gulp-eslint'); return gulp.src(['src/**/*.js']) .pipe(eslint({ configFile: '.eslintrc.json' })) .pipe(eslint.formatEach('compact', process.stderr)) .pipe(eslint.failAfterError());Estoy usando los siguientes paquetes:
"devDependencies": { "eslint": "^8.2.0", "gulp": "4.0.2", "gulp-eslint": "^6.0.0", }¿Me estoy perdiendo algo o hay una solución viable?
La opción del analizador ecmaVersion no se puede usar así, consulte https://eslint.org/docs/user-guide/configuring/language-options#specifying-environments . Cambiarlo de 2020 a 11 o 12 o "más reciente" debería funcionar.