Как обновить старую версию типа - PullRequest
1 голос
/ 10 июля 2019

У меня есть проект, который запускает AngularJS 1.5.x, и он использует объявления типов из DefiniteTyped: @types/angular@1.5.23. Это последняя версия 1.5.x, опубликованная 3 года назад. С тех пор пакет перешел на версию 1.6.x.

Проблема с 1.5.23 заключается в использовании индексатора any на IScope, который был исправлен в версии 1.6.27. Но мы не можем точно перейти на 1.6.27, потому что мы не используем угловой 1.6.x - мы заблокированы до 1.5.

Мой вопрос: каковы мои варианты решения этой проблемы?

  • Имеет ли DefiniteTyped механизм для публикации обновления для более старой версии библиотеки?
  • Будет ли оно получено издателем @types и опубликовано в npm как 1.5.24?

Спасибо

1 Ответ

1 голос
/ 19 июля 2019

Глядя на страницу DefinitionTyped , похоже, что существует прецедент для обновления предыдущих основных версий пакетов.

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

Так что я думаю, что у вас есть возможность создать проблему на GitHub DefinitiveTyped и попросить их внести изменениядля тебя.Angular - достаточно важный пакет, и я надеюсь, что они будут реагировать на это.И, конечно, у вас всегда есть возможность подать им пиар.Кажется, есть некоторые инструкции для обработки различий в версии, но я не знаком со спецификой в ​​этом случае.

Если изменение получено и объединено, это будет 1.5.24 и будет работать каклюбое другое обновление.

...