atls / nestjs

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

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

Closed SlumberyDude closed 1 day ago

SlumberyDude commented 1 year ago

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

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

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

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

Исключения:

Зависимости 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 по теме обновления зависимостей

IgorSmugalov commented 1 year ago

@SlumberyDude Похожая ситуация, как и в issue https://github.com/atls/nestjs/issues/266 с пакетом того же автора: В модуле kratos сейчас используется альфа-версия - @ory/kratos-client Недавно этот пакет ушел в релиз, api сменился, за 30 минут разобраться не смог, но скорее всего нужно обновлять весь kratos, есть ли смысл обновлять остальные зависимости?

SlumberyDude commented 1 year ago

@IgorSmugalov Да, обновляй все что обновляется без ломания чеков, а кратос тогда оставляй старый

IgorSmugalov commented 1 year ago

@SlumberyDude

Результат: Все пакеты обновлены до максимальных версий

Исключения:

@ory/kratos-client не обновлен: сменился api пакета по причине выхода в релиз

get-port обновлен до 6.1.2, максимально доступная версия: 7.0.0: при попытке ее использования происходит ошибка:

```shell ➤ YN0000: │ ../../.yarn/berry/cache/get-port-npm-7.0.0-72b8a92f99-9.zip/node_modules/get-port/index.d.ts ➤ YN0000: │ ➤ YN0000: │ Error: Module '"node:net"' has no exported member 'type'. ➤ YN0000: │ ➤ YN0000: │ ➤ YN0000: │ ../../.yarn/berry/cache/get-port-npm-7.0.0-72b8a92f99-9.zip/node_modules/get-port/index.d.ts ➤ YN0000: │ ➤ YN0000: │ Error: ',' expected. ```

@types/express обновлен до 4.17.13, максимально доступная версия: 4.17.17: при попытке ее использования происходит конфликт с @types/express-serve-static-core, поднять версию выше 4.17.13 не получилось, issue по этой ошибке

```shell ../../.yarn/berry/cache/@types-express-npm-4.17.2-01365c5cb9-9.zip/node_modules/@types/express/index.d.ts ➤ YN0000: │ ➤ YN0000: │ Erro: Conflicting definitions for 'express-serve-static-core' found at ➤ YN0000: │ '/Users/igorsmugalov/.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: │ '/Users/igorsmugalov/.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 ➤ YN0000: │ version of this library to resolve the conflict. ➤ YN0000: │ The file is in the program because: ➤ YN0000: │ Type library referenced via 'express-serve-static-core' from file '/Users/igorsmugalov/.yarn/berry/cache/@types-express-npm-4.17.13-0e12fe9c24-9.zip/node_modules/@types/express/index.d.ts' with ➤ YN0000: │ packageId '@types/express-serve-static-core/index.d.ts@4.17.24' ➤ YN0000: │ Imported via 'express-serve-static-core' from file '/Users/igorsmugalov/.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 '/Users/igorsmugalov/.yarn/berry/cache/@types-express-npm-4.17.2-01365c5cb9-9.zip/node_modules/@types/express/index.d.ts' with ➤ YN0000: │ packageId '@types/express-serve-static-core/index.d.ts@4.17.36' ```

Тесты проходят без ошибок:

Делаю PR?

SlumberyDude commented 1 year ago

@IgorSmugalov Да, делай