Мир nodejs это пиздец. Обновил модуль helmet, это такая приблуда, чтобы по умолчанию многие потенциальные дырки на сервере закрывать.
Первым делом отвалилась сборка, пишет неправильные типы. Лезу смотреть что там с типами, действительно, поменялось название. Меняю на правильное, прогоняю тесты ещё раз. Вроде работает.
Начинаю запускать проект в дев режиме - ошибка.
Опять какая-то херня с типами, лезу в тайп дефинишн, смотрю что типы для helmet не обновлялись, думаю вот оно. Удаляю пакет
@types/helmet смотрю, а типы всё равно есть.
Лезу в репу, смотрю а пакете теперь типы есть, он из нагенерил из JS. Лады, пропую запускать ещё раз – не работает.
Лезу опять в репу смотрю issue, там люди с такой же проблемой. Этот хрен значит сломал export и ещё типов кривых нагенерил.
Хрен с ним, ставлю @ts-ignore, костыляю импорт и пишу TODO: починить когда пакет обновится.
Запускаю проект, вроде всё работает. Открываю GraphQL Playground – не работает, ошибки какие-то при заборе скриптов с CDN.
Думаю да ёб твою за ногу, сегодня прям день кривых зависимостей.
Лезу в graphql-playground ни у кого такого нет, потом в apollo-server-express – тоже. Начинаю по очереди катить пакеты обратно в поиске проблемы – нихера.
Потом начинает доходить, ошибка из-за helmet, этот дурачёк что-то накрутил с безопасностью.
Захожу в репу, действительно изменился механизм работы по-умолчаю, а самое главное эта падлюка ни migration guide не написал, нихера
Как нахрен определять, что там поменялось с предыдущей версией, знает наверное только бог. Делаю diff межу git тэгами, ищу в сырках, что там в коде изменилось. А там вообще всё переписано! Весь дифф зелёный с плюсиками.