ESlint: выделение кода ES6 в не транспилируемой кодовой базе ES5

В настоящее время у нас есть проблема с нашим конвейером сборки, которая не позволяет транспилировать определенные части нашей устаревшей кодовой базы.

Впоследствии части нашей кодовой базы должны быть написаны на ES5, чтобы обеспечить обратную совместимость со старыми браузерами.

Проблема, с которой мы столкнулись, заключается в принудительном использовании кода ES5 в этих устаревших скриптах. В коде много мест, где уже используются возможности ES6 (let, const, деструктуризация, сокращение объектов).

Добавление конфигурации eslint с ecmaVersion, установленным на 5, не идеально из-за того, что синтаксический анализатор выдает исключение при достижении функции es6, что впоследствии означает, что дополнительный линтинг файла не происходит. Поэтому вам нужно разрешить все исключения типа es6, прежде чем это станет вариантом.

В настоящее время мы не можем провести грандиозный рефакторинг кода, подобный этому. Так как над некоторыми частями еще активно работают. Одним словом, это дерьмовое шоу.

Мой вопрос заключается в том, что помимо создания специального плагина eslint, который выделяет функции es6, есть ли какое-либо другое решение, которое я мог пропустить?


person Lesbaa    schedule 09.12.2020    source источник
comment
Есть ли элегантный способ сообщить eslint, чтобы убедиться, что мы не используем синтаксис/функции ES6? предлагает использовать этот пакет. У ответа нет ни голосов, ни комментариев, и он даже не был принят, поэтому я крайне не решаюсь предположить, что это дубликат.   -  person VLAZ    schedule 09.12.2020
comment
Этот плагин работал отлично.   -  person Lesbaa    schedule 09.12.2020


Ответы (1)


Согласно предложению @VLAZ

https://github.com/nkt/eslint-plugin-es5

используя следующую конфигурацию в eslintrc:

{
  "plugins": [
    "es5"
  ]
}

Работал отлично для того, для чего нам это было нужно.

person Lesbaa    schedule 09.12.2020
comment
Можете ли вы добавить некоторые подробности, как вы его использовали? Скорее всего конфигурация у вас была для него. Это сделает ответ более полезным для будущих посетителей. - person VLAZ; 09.12.2020