В библиотеке Naive UI понятие breaking changes
крайне важно для стабильности приложений, особенно при переходе между
мажорными версиями. Breaking change — это изменение, которое может
сломать существующий код, требуя ручной доработки при обновлении
библиотеки. Naive UI придерживается строгой семантической версии
(SemVer), поэтому любая версия с увеличением мажорного числа
(v1 → v2) потенциально содержит такие изменения.
Изменение API компонентов
doSomething()
могут быть заменены на performAction(), что потребует
исправления вызовов в коде.Изменения в структуре слотов
footer в диалоговом компоненте NDialog может
быть заменён на bottom, что потребует переработки
шаблонов.VNode.Обновление зависимостей и peerDependencies
<3.2) больше не
поддерживаются, что требует обновления проекта перед миграцией.Изменения стилей и CSS-переменных
Изменения логики внутренних состояний
NSelect,
NInput или NTable, может быть переработано:
события могут вызываться в другой последовательности или с другими
аргументами.v2.x или v3.x только
после тестирования Новые мажорные версии должны тестироваться в
отдельной ветке до слияния с основной.В версии Naive UI v2.0.0 пропс size
компонента NButton был изменён с типа
string | number на строгое перечисление
'small' | 'medium' | 'large'. Старый код:
<NButton size={12}>Нажми</NButton>
Теперь вызовет ошибку компиляции, требующую исправления:
<NButton size="medium">Нажми</NButton>
Также событие onUpdate:value в NInput было
заменено на onUpdateValue, что напрямую ломает существующие
обработчики:
// Старый вариант
<NInput v-model:value="text" onUpdate:value="handleUpdate" />
// Новый вариант
<NInput v-model:value="text" @onUpdateVa lue="handleUpdate" />
feature/upgrade-naive и фиксировать все
изменения.Breaking changes в Naive UI — это не только вызов, но и возможность оптимизировать кодовую базу, очистить устаревшие компоненты и улучшить типизацию. Правильное планирование миграции снижает риски и делает проект более устойчивым к будущим обновлениям.