Комментарии 4
Я писал относительно недавно проект с поддержкой ES5 - тот ещё геморрой... Все уже настолько привыкли к "сущностям" ES6+, что время разработки увеличивается кратно! По дефолту практически в каждой функции вылезает какая-нибудь "красная бяка", все наработанные паттерны в топку! Гугл и справочные ресурсы постоянно подсовывают рецепты ES6+, надо каждую строчку кода перепроверять с лупой - программирование микроконтроллеров какое-то просто получается))
Плюс всё это размывается браузерной поддержкой - вроде конструкция из более позднего стандарта, но целевой браузер её "прожёвывает"...
Пишите в ES6+ и транспилируйте в ES5. Зачем вам этот геморрой?
Если используются полифиллы, то некоторые вещи плохо транслируемые, или вообще не транслируемые. Например, Proxy и Map/WeakMap/Set/WeakSet, так как для их полноценной / производительной работы нужна поддержка со стороны движка. Если транслятор будет ругаться из-за таких ES6+ апи, то это проблема. Хотя обычно проблема больше в понимании синтаксиса в устаревших системах сборки в легаси проектах.
Мне видится что авторам библиотек лучше вообще не использовать полифилы и всегда ставить таргет в esnext.
Таким образом будут задействованы все возможности языка в нативном/оптимизированном виде.
А уже разработчики приложений будут решать сами для какого таргета компилировать.
Использование стандарта ES5 в Интернете