nestjs icon indicating copy to clipboard operation
nestjs copied to clipboard

Актуализировать окружение

Open TorinAsakura opened this issue 1 year ago • 22 comments

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

Падающие чеки, старые тесты

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

  • [x] Починить чеки
  • [ ] Актуализировать тесты
  • [ ] Почистить пакетные расширения

Материалы

https://github.com/atls/nestjs/actions/runs/10911274215/job/30283606649

TorinAsakura avatar Sep 17 '24 21:09 TorinAsakura

@OsirisAnubiz для понимания какие чеки и тесты падают - создай новый пр и смотри по его чекам.

@TorinAsakura тут о чем речь?

  • [ ] Почистить пакетные расширения

Nelfimov avatar Sep 19 '24 10:09 Nelfimov

@OsirisAnubiz тут

  • [ ] Почистить пакетные расширения

Нужно проверить packageExtensions в yarnrc и почистить от ненужного

Nelfimov avatar Sep 19 '24 12:09 Nelfimov

@Nelfimov нужно ли добавлять тайпинги для библиотек, чтобы не было подобных @ts-ignore?

// @ts-ignore
import { jsonFlatStringify } from '@graphql-mesh/utils'

OsirisAnubiz avatar Sep 20 '24 13:09 OsirisAnubiz

Да

Nelfimov avatar Sep 20 '24 13:09 Nelfimov

@Nelfimov когда запускаю yarn test integration grpc-relection (для других некотрых тестов такая же ситтуация) выходит ошибка:

ReferenceError: self is not defined

Знаешь как её исправить? (уже пробовал с/без export NODE_OPTIONS=--experimental-vm-modules)

OsirisAnubiz avatar Sep 20 '24 15:09 OsirisAnubiz

это не исправишь, кроме как бампа google-protobuf.

скипай

Nelfimov avatar Sep 20 '24 15:09 Nelfimov

@Nelfimov все тесты, которые падают на данный момент падают с ошибкой self is not defined.

by OsirisAnubiz

когда запускаю yarn test integration grpc-relection (для других некотрых тестов такая же ситтуация) выходит ошибка: ReferenceError: self is not defined

by Nelfimov:

это не исправишь, кроме как бампа google-protobuf. скипай

Их всех не надо трогать?

OsirisAnubiz avatar Sep 23 '24 08:09 OsirisAnubiz

в рамках отдельного ПР

Nelfimov avatar Sep 23 '24 08:09 Nelfimov

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

  • Осталось ~10.000 строк ошибок при yarn lint, было ~16.000 (не знаю ещё как статус отметить)

Осталось сделать:

  • ~10.000 строк ошибок, думаю за завтра справлюсь (может послезавтра ещё буду, т.к. это не приоритетная задача)

OsirisAnubiz avatar Sep 23 '24 18:09 OsirisAnubiz

Осталось сделать:

  • ~10.000 строк ошибок, думаю за завтра справлюсь (может послезавтра ещё буду, т.к. это не приоритетная задача)

Можешь аккуратно попробовать yarn lint --fix

Nelfimov avatar Sep 24 '24 05:09 Nelfimov

by OsirisAnubiz

все тесты, которые падают на данный момент падают с ошибкой self is not defined Их всех не надо трогать?

by Nelfimov

в рамках отдельного ПР

@Nelfimov нужно залить то, что исправляет yarn check сейчас и создать ещё одну ветку для пункта Актуализировать тесты (где буду решать проблему с self) и ещё одну для чистки пакетных расширений?

OsirisAnubiz avatar Sep 24 '24 17:09 OsirisAnubiz

рассуждай логически - если можно разделить что-то чтобы потом:

  • было легче ревьюить
  • было легче откатывать из мастера

то можно

Nelfimov avatar Sep 25 '24 05:09 Nelfimov

@Nelfimov не понял как правильно делать пункт Почистить пакетные расширения. Сделал приблизительно сдедующее:

Допустим вижу в .yarnrc.yml в packageExtensions есть следующий пункт:

  typesense@*:
    dependencies:
      '@babel/runtime': '*'

Что я сделал для проверки, что этот пункт можно удалить:


Удалил этот пункт, прописал yarn запустил unit тесты, всё прошло.


  • Посмотрел какие версии typesense используются в проекте.
  • Увидел, что в проекте используется версия typesense: "1.8.2" или "^0.15".
  • Зашёл на github репозиторий typesense и вижу, что у них для этих версий указывается следующая строка (сморю для последней минорной версии 0.15.x и 1.8.2) в package.json:

для 0.15.0 (последняя минорная для 0.15.x):

  "peerDependencies": {
    "@babel/runtime": "^7.14.6"
  },

для 1.8.2:

  "peerDependencies": {
    "@babel/runtime": "^7.23.2"
  },

Получается, что нет необходимости в исходном пункте, т.к. библиотека и так сама устанавливает зависимость.


Если все вышеперечисленное оказалось правильным, то могу удалять?

OsirisAnubiz avatar Sep 25 '24 10:09 OsirisAnubiz

@Nelfimov правильно я описал в сообщении выше?

OsirisAnubiz avatar Sep 25 '24 12:09 OsirisAnubiz

Проще так:

  • удалить запись из yarnrc
  • yarn install
  • yarn test unit и yarn test integration
  • препак для пакетов с этой зависимостью

Nelfimov avatar Sep 25 '24 12:09 Nelfimov

@Nelfimov Я делаю вообще просто - сношу все расширения и потом смотрю на реакцию инсталла. Быстрее и нагляднее

TorinAsakura avatar Sep 25 '24 12:09 TorinAsakura

@TorinAsakura команда yarn install в случае проблем не сможет вообще выполниться, или она выдаст какой-то спецефичный лог?

OsirisAnubiz avatar Sep 25 '24 12:09 OsirisAnubiz

@OsirisAnubiz Ты пока писал уже бы 2-3 раза это проверил

TorinAsakura avatar Sep 25 '24 12:09 TorinAsakura

@Nelfimov чтобы на данном этапе можно было проверять убирание пакетных расширений из .yarnrc.yml нужно решить проблему с ReferenceError: self is not defined в интеграционных тестах, чтобы можно было полноценно прогнать интеграционные после изменения .yarnrc.yml Ранее ты писал:

это не исправишь, кроме как бампа google-protobuf.

скипай

Бамп google-protobuf это что имеется ввиду?

OsirisAnubiz avatar Sep 25 '24 13:09 OsirisAnubiz

https://www.npmjs.com/package/google-protobuf

https://ru.hinative.com/questions/386438

Nelfimov avatar Sep 25 '24 13:09 Nelfimov

Не одна из следующих версий google-protobuf в packages/nestjs-grpc-reflection/package.json не решило проблему с ReferenceError: self is not defined:

  • [x] 3.7.1
  • [x] 3.8.0
  • [x] 3.9.2
  • [x] 3.10.0
  • [x] 3.11.2
  • [x] 3.11.4
  • [x] 3.12.4
  • [x] 3.13.0
  • [x] 3.14.0
  • [x] 3.15.7
  • [x] 3.16.0
  • [x] 3.16.0
  • [x] 3.17.3
  • [x] 3.18.1
  • [x] 3.19.4
  • [x] 3.20.1
  • [x] 3.21.0
  • [x] 3.21.1
  • [x] 3.21.2
  • [x] 3.21.3
  • [x] 3.21.4

Есть issue по этому поводу, там человеку помог откат google-protobuf до версии 3.11.2, но в данном случае не помогает.

OsirisAnubiz avatar Sep 27 '24 11:09 OsirisAnubiz

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

  • Пробовал запустить с разными версиями google-protobuf, ничего не получилось, по сути понятия не имею, что мне надо делать сейчас, т.к. нужно сделать тесты запускаемыми перед преступанию к следующему этапу.

OsirisAnubiz avatar Sep 27 '24 18:09 OsirisAnubiz

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

  • Почистил расширения, кинул PR

Осталось сделать

  • Ожидаю замечания от ревьюера.
  • Начну чинить ошибки в тестах с self is not defined

OsirisAnubiz avatar Oct 09 '24 16:10 OsirisAnubiz