atls / nestjs

NestJS Custom Workshop
BSD 3-Clause "New" or "Revised" License
33 stars 8 forks source link

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

Open SlumberyDude opened 1 year ago

SlumberyDude commented 1 year ago

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

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

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

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

Исключения:

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

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

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

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

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

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

https://classic.yarnpkg.com/lang/en/docs/cli/workspace/ yarn workspace <workspace> add <package@1.2.3> <keys>

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

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

ArtemMakhaydinov commented 1 year ago

@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/index.d.ts@4.17.24'
➤ 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/index.d.ts@4.17.24'
➤ 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/index.d.ts@4.17.36'
SlumberyDude commented 1 year ago

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

ArtemMakhaydinov commented 1 year ago

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

SlumberyDude commented 1 year ago

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

ArtemMakhaydinov commented 1 year ago

@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 |
SlumberyDude commented 1 year ago

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

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

ArtemMakhaydinov commented 1 year ago

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

SlumberyDude commented 1 year ago

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

ArtemMakhaydinov commented 1 year ago

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