Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
SlumberyDude opened this issue Aug 25, 2023 · 12 comments · Fixed by #330
Closed

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

SlumberyDude opened this issue Aug 25, 2023 · 12 comments · Fixed by #330
Assignees

Comments

@SlumberyDude
Copy link
Contributor

SlumberyDude commented Aug 25, 2023

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

Обновление зависимостей в модуле 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 <package@1.2.3> <keys>

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

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

@ArtemMakhaydinov
Copy link
Contributor

ArtemMakhaydinov commented Sep 13, 2023

@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
Copy link
Contributor Author

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

@ArtemMakhaydinov
Copy link
Contributor

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

@SlumberyDude
Copy link
Contributor Author

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

@ArtemMakhaydinov
Copy link
Contributor

ArtemMakhaydinov commented Sep 13, 2023

@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
Copy link
Contributor Author

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

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

@ArtemMakhaydinov
Copy link
Contributor

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

@SlumberyDude
Copy link
Contributor Author

SlumberyDude commented Sep 13, 2023

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

@ArtemMakhaydinov
Copy link
Contributor

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

@OsirisAnubiz
Copy link
Member

Вроде обновил зависимости там, где проблем возникать не должно. Хотя у @graphql-mesh/... очень жёсто api поменялось и хотелось бы быть уверенным, что ничего не сломал, а интеграционные тесты не работают из-за этого self is not defined.
Как писали ранее apollo-server-express deprecated и нужно переезжать на @apollo/server, но на это наверно нужно отдельную таску заводить, если важно поддерживать версию для apollo server.

@TorinAsakura
Copy link
Member

@OsirisAnubiz заводи, мы не будем сидеть на дипрецированных депсах

@OsirisAnubiz
Copy link
Member

@TorinAsakura

заводи, мы не будем сидеть на дипрецированных депсах

issue

@OsirisAnubiz OsirisAnubiz linked a pull request Oct 31, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants