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

Обновление зависимостей cqrs-adapter и buckets-config-adapter #22

Open
SlumberyDude opened this issue Sep 17, 2023 · 31 comments · May be fixed by #23
Open

Обновление зависимостей cqrs-adapter и buckets-config-adapter #22

SlumberyDude opened this issue Sep 17, 2023 · 31 comments · May be fixed by #23
Assignees

Comments

@SlumberyDude
Copy link

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

Обновить версии пакетов в зависимостях

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

Обновить версии зависимости до максимально возможных и зафиксировать таким образом, чтобы ничего не ломалось. Должны без ошибок проходить команды:

  • 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>

@SlumberyDude
Copy link
Author

@shifuwww Только называй ветки лаконичнее чем в прошлом проекте, там были слишком длинные. Названия должны быть такими, чтобы мы не пустали таски, они должны отражать суть таски и при этом желательно иметь более компактное название.

@shifuwww
Copy link

shifuwww commented Sep 24, 2023

@SlumberyDude привет, после обновления пакета@nestjs/cqrs" до 10.2.5 в директории => services/files/core/infrastructure-module/src/repositories разошлись типы
file.repository.ts:
Type 'AggregateRoot<IEvent>' is missing the following properties from type 'File': id, ownerId, type, url, and 6 more.
Argument of type 'File' is not assignable to parameter of type 'AggregateRoot<IEvent>'. Type 'File' is missing the following properties from type 'AggregateRoot<IEvent>': [IS_AUTO_COMMIT_ENABLED], [INTERNAL_EVENTS]
upload.repository.ts
Type 'AggregateRoot<IEvent>' is missing the following properties from type 'Upload': id, ownerId, url, name, and 11 more. Argument of type 'Upload' is not assignable to parameter of type 'AggregateRoot<IEvent>'. Type 'Upload' is missing the following properties from type 'AggregateRoot<IEvent>': [IS_AUTO_COMMIT_ENABLED], [INTERNAL_EVENTS]
Нужно ли пробовать здесь переписывать типы?

@SlumberyDude
Copy link
Author

@shifuwww Ты обновил зависимость только в модуле files/adapters/cqrs-adapter?

@shifuwww
Copy link

@SlumberyDude Привет

Ты обновил зависимость только в модуле files/adapters/cqrs-adapter?

нет в buckets-config-adapter

@SlumberyDude
Copy link
Author

@shifuwww Хм, понял. Понять бы, почему так происходит и как можно пофиксить. Потому что судя по коду в file.repository.ts все норм, непонятно, почему он перестает воспринимать объект File как AggregateRoot, хотя вроде File экстендитAggregateRoot в domain-module.

@shifuwww
Copy link

@shifuwww Хм, понял. Понять бы, почему так происходит и как можно пофиксить. Потому что судя по коду в file.repository.ts все норм, непонятно, почему он перестает воспринимать объект File как AggregateRoot, хотя вроде File экстендитAggregateRoot в domain-module.

Может из за расхождений версий? В domain-module еще старая версия

@SlumberyDude
Copy link
Author

@shifuwww Да, понятно, что обновление версии в модуле buckets-config-adapter-module все ломает. Но непонятно каким образом. Если cqrs модуль не обновлять, то тайпчек не расходится? И если обновить версию в domain или infrastructure модуле, то починится? Если так, то может быть обновить версию в buckets-config-adapter-module и сделать на нее временную заплатку в корневом package.json и снять ее потом после обновления уже других модулей

@shifuwww
Copy link

Да, понятно, что обновление версии в модуле buckets-config-adapter-module все ломает. Но непонятно каким образом. Если cqrs модуль не обновлять, то тайпчек не расходится? И если обновить версию в domain или infrastructure модуле, то починится? Если так, то может быть обновить версию в buckets-config-adapter-module и сделать на нее временную заплатку в корневом package.json и снять ее потом после обновления уже других модулей

Пробовал сделать обнолвение везде, ошибка с типами не уходит. Пробовал искать версию, но если @nestjs/cqrs обновить выше 9, то вылетает ошибка

@SlumberyDude привет, после обновления пакета@nestjs/cqrs" до 10.2.5 в директории => services/files/core/infrastructure-module/src/repositories разошлись типы
file.repository.ts:
Type 'AggregateRoot' is missing the following properties from type 'File': id, ownerId, type, url, and 6 more.
Argument of type 'File' is not assignable to parameter of type 'AggregateRoot'. Type 'File' is missing the following properties from type 'AggregateRoot': [IS_AUTO_COMMIT_ENABLED], [INTERNAL_EVENTS]
upload.repository.ts
Type 'AggregateRoot' is missing the following properties from type 'Upload': id, ownerId, url, name, and 11 more. Argument of type 'Upload' is not assignable to parameter of type 'AggregateRoot'. Type 'Upload' is missing the following properties from type 'AggregateRoot': [IS_AUTO_COMMIT_ENABLED], [INTERNAL_EVENTS]
Нужно ли пробовать здесь переписывать типы?

@SlumberyDude
Copy link
Author

SlumberyDude commented Sep 28, 2023

@shifuwww Обновить только в infrastructure модуле недостаточно, чтобы ошибка ушла нужно обновление в entrypoint и в infrastructure. Но так как мы до них еще не дошли, то сделай эту заплатку через корневой package.json

@SlumberyDude
Copy link
Author

@shifuwww Как дела с таской? Спрашивай если застрял

@shifuwww
Copy link

shifuwww commented Sep 30, 2023

Как дела с таской? Спрашивай если застрял

Обновил @nestjs/cqrs в корневой package.json. И ошибка с типами не ушла. Пока смотрю типы воде бы все там нормально. Гуглю ошибки пока не знаю как исправить

@SlumberyDude
Copy link
Author

@shifuwww Смотри в сторону resolutions. Можно селективно там версию приподнять пока мы не обновили другие пакеты, а потом убрать заплатку, когда она будет не нужна

@shifuwww
Copy link

shifuwww commented Sep 30, 2023

@SlumberyDude Привет) Тут у меня один тест не прошел: Login to Google Container Registry, ошибка: Error: Cannot perform an interactive login from a non TTY device. Это мне докер нужно настроить с авс или это что то другое?

@SlumberyDude
Copy link
Author

@shifuwww Привет, какой тест? Тут похоже на ошибку связанную с докером, поэтому если это интеграционные тесты не проходят, то думаю из-за него. Ты использовал докер раньше? Эти тесты проходят на ветке мастер без внесенных изменений или тоже с такой ошибкой ложатся?

@shifuwww
Copy link

shifuwww commented Oct 2, 2023

Привет, какой тест? Тут похоже на ошибку связанную с докером, поэтому если это интеграционные тесты не проходят, то думаю из-за него. Ты использовал докер раньше? Эти тесты проходят на ветке мастер без внесенных изменений или тоже с такой ошибкой ложатся?

@SlumberyDude Привет) Тест первый: Preview / Preview (pull_request). Остальные прошли успешно. Если ты про тесты yarn test unit? То все проходит нормально. Докер раншье использовал, но только для деплоя. Тест упал во время пр, когда гит запускает тесты

@SlumberyDude
Copy link
Author

@shifuwww Да, вижу. Думаю тут проблема с ci гитхаба и настройкой workflow.

@shifuwww shifuwww linked a pull request Oct 2, 2023 that will close this issue
@Nelfimov Nelfimov assigned OsirisAnubiz and unassigned shifuwww Sep 11, 2024
@OsirisAnubiz
Copy link
Member

Не работает yarn check:

  • format проходит нормально
  • lint случается out of memory

Ошибка при yarn lint:

➤ YN0000: ┌ Lint
➤ YN0000: │ Worker terminated due to reaching memory limit: JS heap out of memory
➤ YN0000: │ 
➤ YN0000: │ NodeError                                                                                                               node:internal/errors:399:5
➤ YN0000: │ [kOnExit]                                                                                                              node:internal/worker:296:26
➤ YN0000: │ Worker.<computed>.onexit                                                                                               node:internal/worker:213:20
➤ YN0000: └ Completed in 40s 211ms
➤ YN0000: Failed with errors in 40s 213ms

@TorinAsakura
Copy link
Member

Не работает yarn check:

  • format проходит нормально
  • lint случается out of memory

Ошибка при yarn lint:

➤ YN0000: ┌ Lint
➤ YN0000: │ Worker terminated due to reaching memory limit: JS heap out of memory
➤ YN0000: │ 
➤ YN0000: │ NodeError                                                                                                               node:internal/errors:399:5
➤ YN0000: │ [kOnExit]                                                                                                              node:internal/worker:296:26
➤ YN0000: │ Worker.<computed>.onexit                                                                                               node:internal/worker:213:20
➤ YN0000: └ Completed in 40s 211ms
➤ YN0000: Failed with errors in 40s 213ms

бандл обновлял?

@OsirisAnubiz
Copy link
Member

@TorinAsakura

бандл обновлял?

Нет, это нужно сделать через команду yarn set version https://raw.githubusercontent.com/atls/raijin/master/yarn/cli/dist/yarn.cjs?

@OsirisAnubiz
Copy link
Member

Команда yarn set version https://raw.githubusercontent.com/atls/raijin/master/yarn/cli/dist/yarn.cjs тоже не работает.

Вывод:

Ambiguous Syntax Error: Cannot find which to pick amongst the following alternatives:

  0. yarn set version [--yarn-path] [--only-if-needed] <version>
  1. yarn set version [--yarn-path] [--only-if-needed] <version>

While running set version https://raw.githubusercontent.com/atls/raijin/master/yarn/cli/dist/yarn.cjs

@Nelfimov
Copy link
Member

@OsirisAnubiz Снеси yarn.lock и заново установи. И выведи “yarn -v” - я вроде обновлял в этой репе все

@OsirisAnubiz
Copy link
Member

OsirisAnubiz commented Sep 13, 2024

@Nelfimov

@OsirisAnubiz Снеси yarn.lock и заново установи. И выведи “yarn -v” - я вроде обновлял в этой репе все

Сделанные действия:

  • rm yarn.lock

  • yarn

  • yarn -v

    • Вывод: 1.0.0-git.20240831.hash-0bd49cf5
  • yarn check - не работает typecheck и lint
    Вывод:

➤ YN0000: ┌ Typecheck
➤ YN0000: │ Cannot find package '@atls/code-runtime' imported from /home/osiris/git-dir/atlantist/services/.yarn/dist/18492784.mjs
➤ YN0000: │ 
➤ YN0000: │ packageResolve                                                                                             node:internal/modules/esm/resolve:845:9
➤ YN0000: │ moduleResolve                                                                                             node:internal/modules/esm/resolve:918:18
➤ YN0000: │ defaultResolve                                                                                           node:internal/modules/esm/resolve:1148:11
➤ YN0000: │ nextResolve                                                                                                 node:internal/modules/esm/hooks:750:28
➤ YN0000: │ Hooks.resolve                                                                                               node:internal/modules/esm/hooks:238:30
➤ YN0000: │ handleMessage                                                                                              node:internal/modules/esm/worker:199:24
➤ YN0000: │ Immediate.checkForMessages                                                                                 node:internal/modules/esm/worker:141:28
➤ YN0000: │ process.processImmediate                                                                                               node:internal/timers:478:21
➤ YN0000: └ Completed
➤ YN0000: Failed with errors in 0s 122ms
➤ YN0000: ┌ Lint
➤ YN0000: │ Cannot find package '@atls/code-runtime' imported from /home/osiris/git-dir/atlantist/services/.yarn/dist/1407355581.mjs
➤ YN0000: │ 
➤ YN0000: │ packageResolve                                                                                             node:internal/modules/esm/resolve:845:9
➤ YN0000: │ moduleResolve                                                                                             node:internal/modules/esm/resolve:918:18
➤ YN0000: │ defaultResolve                                                                                           node:internal/modules/esm/resolve:1148:11
➤ YN0000: │ nextResolve                                                                                                 node:internal/modules/esm/hooks:750:28
➤ YN0000: │ Hooks.resolve                                                                                               node:internal/modules/esm/hooks:238:30
➤ YN0000: │ handleMessage                                                                                              node:internal/modules/esm/worker:199:24
➤ YN0000: │ Immediate.checkForMessages                                                                                 node:internal/modules/esm/worker:141:28
➤ YN0000: │ process.processImmediate

@OsirisAnubiz
Copy link
Member

@Nelfimov
Повторил:
✅ rm yarn.lock
✅ yarn
✅ yarn -v
Вывод: 1.0.0-git.20240831.hash-0bd49cf5
❌ yarn check - не работает typecheck и lint

Теперь ошибка out of memory:

➤ YN0000: Failed with errors in 0s 414ms
➤ YN0000: ┌ Lint
➤ YN0000: │ Worker terminated due to reaching memory limit: JS heap out of memory
➤ YN0000: │ 
➤ YN0000: │ NodeError                                                                                                               node:internal/errors:399:5
➤ YN0000: │ [kOnExit]                                                                                                              node:internal/worker:296:26
➤ YN0000: │ Worker.<computed>.onexit                                                                                               node:internal/worker:213:20
➤ YN0000: └ Completed in 35s 20ms

@TorinAsakura
Copy link
Member

@OsirisAnubiz файлик .env глянь в репе raijin

@OsirisAnubiz
Copy link
Member

@TorinAsakura

@OsirisAnubiz файлик .env глянь в репе raijin

  • Установил переменную NODE_OPTIONS
export NODE_OPTIONS="-r $(pwd)/.pnp.cjs --loader $(pwd)/.pnp.loader.mjs --experimental-vm-modules --max-old-space-size=8192 --no-warnings=ExperimentalWarning"
  • Запустил yarn check
    Сначала долго выполняется, потом падает с out of memory

@OsirisAnubiz
Copy link
Member

@Nelfimov тут тоже падают интеграционные тесты, как и в nestjs с ошибкой ReferenceError: self is not defined. Отложить, пока yarn check не исправлю?

@Nelfimov
Copy link
Member

Да

@OsirisAnubiz
Copy link
Member

@Nelfimov я на автомате обновил yarn и уже начал правки в соответствии с тем, что начало вылезать из yarn check делать. Откатиться до той версии, которая была или продолжать?

@OsirisAnubiz
Copy link
Member

Статус на конец дня:

  • Исправил некоторые проблемы при yarn check, но в процессе изменил версию yarn и делал изменения в соответствии с новым yarn check. Нужнен ответ можно ли продолжать дальше, или нужно откатить версию yarn, а-то там куча ошибок вылезло, и я возможно впустую буду исправлять

@Nelfimov
Copy link
Member

Нужнен ответ можно ли продолжать дальше, или нужно откатить версию yarn, а-то там куча ошибок вылезло, и я возможно впустую буду исправлять

Можно, везде используем новый бандл

@OsirisAnubiz
Copy link
Member

Статус на конец дня

  • Добавил более новый бандл yarn
  • Исправил большую часть ошибок для yarn check.

Планирую

  • Доисправить yarn check (совсем немного)
  • Обновить версии пакетов в зависимостях (думаю тоже быстро)
  • Ещё нужно решить проблему с self is not defined, но это уже в таске. Тут в описании указанно, что должны только интеграционные проходить

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