Я поддерживаю библиотеку Angular, которая щедро использует ключевые слова async
и await
. Отладка получающегося кода JavaScript проблематична при нацеливании на ES5
из-за всего происходящего действия polyfill. Даже при наличии исходных карт отладчик TypeScript часто теряется и начинает шагать по лабиринту полифилла, который является сгенерированным JavaScript кодом.
Для локальной разработки в этой библиотеке я могу изменить target
, указанный в От tsconfig.json
до ES2017
, так что async
и await
не заменяются на полифилы при генерации кода JavaScript, позволяют отладчику выполнять код без проблем. После внесения изменений библиотека затем упаковывается с использованием ng-packagr
и интегрируется в другое приложение.
Иногда библиотека сталкивается с проблемами при использовании вместе с этим приложением, которые нелегко воспроизводятся в среде разработки библиотеки. Я хотел бы отладить такие проблемы тем же способом, то есть путем изменения target
на ES2017
перед упаковкой, что позволяет мне легко проходить по коду с помощью async / await
. Однако, похоже, что ng-packagr
игнорирует это и по-прежнему заменяет ключевые слова async
и await
на полифиллы. Я делаю что-то неправильно? Должен ли я предоставить желаемый target
до ng-packagr
другим способом?