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

feat(react-ui-codemod): add codemod for react-ui 5.0 #3477

Merged
merged 8 commits into from
Sep 26, 2024
Merged

Conversation

Funkicide
Copy link
Member

@Funkicide Funkicide commented Jul 30, 2024

Проблема

В ПР удалены или заменены некоторые переменные в темах.

Решение

Добавил кодмод для переименования переменных тем согласно таблице ПР

Сделал ветку от 5.х. - 5.x-test-codemod-values. Запушил изменённые переменные и прогнал тесты. Тоже самое сделал на этой ветке. Плюс проверил вручную на тестовом файле. В целом падают те же тесты и там и там.

Ссылки

Чек-лист перед запросом ревью

  1. Добавлены тесты на все изменения
    ✅ unit-тесты для логики
    ⬜ скриншоты для верстки и кросс-браузерности
    ⬜ нерелевантно

  2. Добавлена (обновлена) документация
    ⬜ styleguidist для пропов и примеров использования компонентов
    ⬜ jsdoc для утилит и хелперов
    ⬜ комментарии для неочевидных мест в коде
    ⬜ прочие инструкции (README.md, contributing.md и др.)
    ✅ нерелевантно

  3. Изменения корректно типизированы
    ⬜ без использования any (см. PR 2856)
    ✅ нерелевантно

  4. Прочее
    ⬜ все тесты и линтеры на CI проходят
    ⬜ в коде нет лишних изменений
    ✅ заголовок PR кратко и доступно отражает суть изменений (он попадет в changelog)

Copy link
Member

@lossir lossir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше отпочкуйся от ветки 5.x и направь ПР в неё.
Тогда сможешь протестировать работу кодмода.

Также можно будет запушить заменённые переменные, немного поменять значения для наглядности, и посмотреть на скриншотные тесты.

if (modified) {
return result.toSource({ lineTerminator: '\n' });
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В конце файла нужна пустая строка

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавил.

Copy link
Member Author

@Funkicide Funkicide Aug 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделал ветку от 5.х. - 5.x-test-codemod-values. Запушил изменённые переменные и прогнал тесты. Тоже самое сделал на этой ветке. Плюс проверил вручную на тестовом файле. В целом падают те же тесты и там и там.

tabPaddingX: 'tabPaddingXLarge',
tabsMarginX: 'tabPaddingXLarge',
tabPaddingY: 'tabPaddingYLarge',
pagingForwardLinkDisabledColor: 'linkDisabledColor',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Неправильный эквивалент. Так покрасятся все ссылки в приложении.

Но получается, чтобы теперь покрасить кнопку "Дальше" придётся оборачивать Paging в контекст, и задавать неочевидную переменную linkDisabledColor... это плохо.

Надо создать файл c перелинковкой переменных, на подобии getAutocompleteTheme.ts и т.п.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вернул в основном ПР переменную pagingForwardLinkDisabledColor.

packages/react-ui-codemod/README.md Show resolved Hide resolved
Base automatically changed from old-themes-removal to 5.x August 20, 2024 12:30
@zhzz zhzz merged commit 1b660d5 into 5.x Sep 26, 2024
7 checks passed
@zhzz zhzz deleted the react-ui-5.0-codemod branch September 26, 2024 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants