nestjs icon indicating copy to clipboard operation
nestjs copied to clipboard

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

Open SlumberyDude opened this issue 2 years ago • 4 comments

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

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

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

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

Исключения:

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

IgorSmugalov avatar Sep 14 '23 09:09 IgorSmugalov

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

SlumberyDude avatar Sep 14 '23 09:09 SlumberyDude

@SlumberyDude

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

Исключения:

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

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

➤ 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 по этой ошибке

../../.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/[email protected]'
➤ 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/[email protected]'
➤ 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/[email protected]'

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

  • yarn install
  • yarn check
  • yarn test unit
  • build
  • prepack

Делаю PR?

IgorSmugalov avatar Sep 14 '23 11:09 IgorSmugalov

@IgorSmugalov Да, делай

SlumberyDude avatar Sep 14 '23 11:09 SlumberyDude