Closed hheimerd closed 5 months ago
Привет!
Давай разберемся в проблемах поочередно. Первая проблема, описанная тобой — смена экспортируемых типов в 8 версии hermione. Это было умышленное изменение, и именно поэтому оно выехало в мажорной версии. Мы планировали экспортировать изначально минимум типов, а по мере необходимости расширять список. Если не хватает каких-то конкретных типов — приноси issues, рассмотрим возможность это добавить.
Вторая проблема — отсутствие тайпингов для команд openAndWait и moveCursorTo. Это был человеческий фактор, просто забыли их запаблишить (уже поправили в 8.5.1).
Мы обсудили в команде и пришли к выводу, что подобные тесты на типы не помогли бы ни в первом случае, ни во втором. Во втором случае можно так же легко забыть дописать тесты на типы, как и просто дописать типы.
Правильным решением тут было бы генерировать доку API по тайпингам или наоборот. Это мы сделаем в соответствующем milestone, за прогрессом можно следить здесь: https://github.com/gemini-testing/hermione/milestone/3
Данное обращение закрываю, т.к. все вопросы отрезолвили.
В breaking changes 8 беты написано, что изменились экспорты, а поменялись глобальные типы. То есть ожидаешь, что просто изменился список экспортов, а поменялись еще и сами типы. Если бы знали, какие типы изменились, то было бы проще рассчитать время переезда на новую версию.
Contribution
Describe the user story
При обновлении с 7 версии на 8 исчезли некоторые типы, которые пришлось доставать из внутренностей билда, а типа для одной из команд вообще не было #871
Describe the solution you'd like
Предлагаю написать тесты на API, который указан в readme. Это будет выглядеть как typescript файл, в котором будут использоваться все типы, методы и функции, которые являются Public API. В случае если при обновлении пакета в этом файле упал typecheck, значит нужно либо поправить типы, либо написать об изменении в типах в breaking changes. Особенно это касается глобальных типов
Describe the drawbacks of your solution
Нужно будет следить, чтобы при изменении документации меняли и тесты на типы
Describe alternatives you've considered
Сейчас приходится писать типы вручную или лезть глубоко внутрь пакета за типами