nestjs icon indicating copy to clipboard operation
nestjs copied to clipboard

Обновление зависимостей `gateway`

Open SlumberyDude opened this issue 2 years ago • 9 comments

С чем связан запрос на фичу?

Обновление зависимостей в модуле gateway

Расскажите как вы это себе видите

Обновить и зафиксировать версии пакета @atls/nestjs-gateway до максимально возможных таким образом, чтобы ничего не ломалось, а именно проходили команды критерия готовности.

Исключения:

Зависимости typescript, typeorm обновлять не нужно.

Если ломаются тесты и это связанно с переходом NestJs с версии 8 на 10, и проблема не на поверхности (не фиксится заменой в тесте, например, метода .asyncListen на .listen), то пакеты, начинающиеся с @nestjs/... обновлять не выше мажорной 8.

Definition of done (критерий готовности)

Проходят без ошибок команды:

  • yarn install
  • yarn check
  • yarn test unit

Если в пакете есть скрипты build и prepack, то они тоже должны проходить без ошибок.

Приложите пример реализаций

https://classic.yarnpkg.com/lang/en/docs/cli/workspace/ yarn workspace <workspace> add <[email protected]> <keys>

Приложите материалы задачи

Можете посмотреть закрытые PR и issue по теме обновления зависимостей

SlumberyDude avatar Aug 25 '23 07:08 SlumberyDude

@SlumberyDude При попытке обновить "apollo-server-express" до последней версии 3.12.0 приложение не сбилдилось, в npm оно значится устаревшим, списка версий нет. Откатил обратно на 2.25.2 и при билде вылезает ошибка:

➤ YN0000: │ Erro: Conflicting definitions for 'express-serve-static-core' found at '/home/artem/.yarn/berry/cache/@types-express-serve-static-core-npm-4.17.36-87a82f5a6b-9.zip/node_modules/@types/express-serve-static-core/index.d.ts' and
➤ YN0000: │ '/home/artem/.yarn/berry/cache/@types-express-serve-static-core-npm-4.17.24-cd6b9fd3ba-9.zip/node_modules/@types/express-serve-static-core/index.d.ts'. Consider installing a specific version of this library to resolve the
➤ YN0000: │ conflict.
➤ YN0000: │ The file is in the program because:
➤ YN0000: │ Type library referenced via 'express-serve-static-core' from file '/home/artem/.yarn/berry/cache/@types-express-npm-4.17.13-0e12fe9c24-9.zip/node_modules/@types/express/index.d.ts' with packageId
➤ YN0000: │ '@types/express-serve-static-core/[email protected]'
➤ YN0000: │ Imported via 'express-serve-static-core' from file '/home/artem/.yarn/berry/cache/@types-express-npm-4.17.13-0e12fe9c24-9.zip/node_modules/@types/express/index.d.ts' with packageId
➤ YN0000: │ '@types/express-serve-static-core/[email protected]'
➤ YN0000: │ Type library referenced via 'express-serve-static-core' from file '/home/artem/.yarn/berry/cache/@types-express-npm-4.17.17-46fe8173db-9.zip/node_modules/@types/express/index.d.ts' with packageId
➤ YN0000: │ '@types/express-serve-static-core/[email protected]'

ArtemMakhaydinov avatar Sep 13 '23 11:09 ArtemMakhaydinov

@ArtemMakhaydinov Форматируй пожалуйста логи получше, чтобы было удобнее читать. Каждая новая строка YN... с новой строки. Попробуй разобраться в чем тут ошибка и потом как еще можно пофиксить.

SlumberyDude avatar Sep 13 '23 11:09 SlumberyDude

@SlumberyDude полагаю новая версия apollo-server-express подтянула новые зависимости, которые теперь конфликтуют. yarn cash clean трогает тот кеш, что в репозитории хранится?

ArtemMakhaydinov avatar Sep 13 '23 11:09 ArtemMakhaydinov

@ArtemMakhaydinov Возможно. Если обновить apollo-server-express до последней версии то ошибка такая же?

SlumberyDude avatar Sep 13 '23 11:09 SlumberyDude

@SlumberyDude Нет. В общем-то вопрос безопасно ли чистить кеш ярна или это затронет кеш, который пришел из репозитория в папке .yarn?

➤ YN0000: │ Erro: Argument of type '{ schema: GraphQLSchema; introspection: boolean; context: (initialContextValue?: any) => Promise>; playground: any; formatError: (error: any) => any; }' is not assignable to
➤ YN0000: │ parameter of type 'Config'.
➤ YN0000: │ Object literal may only specify known properties, and 'playground' does not exist in type 'Config'.
➤ YN0000: │
➤ YN0000: │ 39 | introspection: introspection === undefined ? Boolean(playground) : introspection,
➤ YN0000: │ 40 | context: contextBuilder,
➤ YN0000: │ > 41 | playground,
➤ YN0000: │ | ^
➤ YN0000: │ 42 | formatError,
➤ YN0000: │ 43 | })
➤ YN0000: │ 44 |

ArtemMakhaydinov avatar Sep 13 '23 11:09 ArtemMakhaydinov

@ArtemMakhaydinov По идее кэш не надо чистить. yarn install формирует кэш исходя из зависимостей и может обновлять кэш. Вроде если дерево зависимостей обновлено, то он не должен больше ссылаться на старые файлы.

Новая ошибка судя по всему не позволяет использовать свежую версию аполло сервер экспресс. Глянь самую позднюю с которой она пропадает. Можешь поискать что такого поменялось в аполло сервер экспресс, что эта ошибка вообще появилась и проанализировать этот момент

SlumberyDude avatar Sep 13 '23 11:09 SlumberyDude

@SlumberyDude apollo-server-express в npm deprecated, списка версий нет.

ArtemMakhaydinov avatar Sep 13 '23 11:09 ArtemMakhaydinov

@ArtemMakhaydinov на npmjs можно посмотреть список deprecated версий. Переезд на новый пакет в таску думаю не входит так что пробуй понижать этот.

SlumberyDude avatar Sep 13 '23 12:09 SlumberyDude

После ребейса в свежий мейн чеки перестали проходить. Завтра по пунктам проверю все и запушу.

ArtemMakhaydinov avatar Sep 13 '23 18:09 ArtemMakhaydinov