atls-academy / gochicus.github.io

Study playground from noob to engineer
https://gochicus.atls.academy
GNU General Public License v3.0
0 stars 1 forks source link

yarn2 migration #88

Closed TFK70 closed 3 years ago

TFK70 commented 3 years ago

Какого рода задача?

Перевести проект на ярн2

Что и где будем менять?

Выполнить шаги отсюда https://yarnpkg.com/getting-started/migration Глобально ничего переустанавливать не надо, версия будет автоматом подтягиваться для этого проекта после yarn set version berry (см гайд выше)

Перевестись на новый actl (@atls/actl-cli) Добавить следующие плагины (yarn plugin import): @yarnpkg/plugin-version, @yarnpkg/plugin-typescript, @yarnpkg/plugin-workspace-tools, @yarnpkg/plugin-interactive-tools, @atls/plugin-essentials @atls/plugin-essentials предварительно необходимо сбилдить

Возможные проблемы

Некоторым зависимостям может не хватать их же зависимостей, для этого необходимо с помощью packageExtensions добавить недостающую зависимость к проблемному пакету TypeError внутри пакетов. Это решается добавлением необходимых @types пакетов через те же packageExtensions

TFK70 commented 3 years ago

@gochicus так у тебя в staged должны быть ts/tsx файлы, добавь куда-нибудь console.log и проверь

gochicus commented 3 years ago

@TFK70

✔ Preparing...
⚠ Running tasks...
  ✔ Running tasks for *.{yml,yaml,json,graphql,md}
  ❯ yarn actl lint [FAILED]
    ✔ yarn actl format
    ✖ yarn actl lint [FAILED]
  ❯ yarn actl typecheck [FAILED]
    ✖ yarn actl typecheck [FAILED]
  ✔ Running tasks for *.{tsx,ts}
↓ Skipped because of errors from tasks. [SKIPPED]
✔ Reverting to original state because of errors...
✔ Cleaning up...

У меня текущий хук только линт, а так он нашел кучу ошибок в пакетах

yarn/__virtual__/react-intl-virtual-131c7d6da5/0/cache/react-intl-npm-5.20.7-a81887e75b-b5ed5c378c.zip/node_modules/react-intl/index.d.ts:41:43
Type error: Cannot find module '@formatjs/icu-messageformat-parser' or its corresponding type declarations.

  39 | export { default as FormattedMessage } from './src/components/message';
  40 | export { default as FormattedDateTimeRange } from './src/components/dateTimeRange';
> 41 | export type { MessageFormatElement } from '@formatjs/icu-messageformat-parser';
     |                                           ^
  42 | //# sourceMappingURL=index.d.ts.map

Ну и консольэту высветил, да.

TFK70 commented 3 years ago

@gochicus так это TypeError, и @formatjs пакет про который я тебя спрашивал все-таки был нужен, но ты его без проверки на тайпчек решил убрать логов линта не вижу

gochicus commented 3 years ago

@TFK70

/home/aleksandr/Desktop/project/frontend-study-gochicus/practice/web-diary/fragments/diary/src/Diary.tsx
  7:1  error    Expected 1 empty line after import statement not followed by another import  import/newline-after-import
  8:1  warning  Unexpected console statement                                                 no-console

✖ 2 problems (1 error, 1 warning)
  1 error and 0 warnings potentially fixable with the `--fix` option.

Линт логи, но у меня всё ещё хук с одним линтом, без тайпчека

TFK70 commented 3 years ago

@gochicus ну и что тут не так? ошибка в твоих исходниках, правь, все работает

gochicus commented 3 years ago

@TFK70 Смотри, у меня хук actl lint, ни тайпчеков ни тем более формата там не было, вопрос в том что именно работает?

gochicus commented 3 years ago

@TFK70 yarn husky add .husky/pre-commit "yarn precommit" "precommit": "yarn commit staged" С таким хуком все та же ошибка о неизвестной команде. А просто так после прекоммита не получается запушить пишет, что нечего. У меня там только в package изменения.

TFK70 commented 3 years ago

@gochicus тогда закоммить через git commit -m ‘’ —no-verify