Что происходит с PrimeNG и что с этим делать Если ваше приложение… — katsuba.dev — TG.ME

Что происходит с PrimeNG и что с этим делать

Если ваше приложение сидит на PrimeNG, вот короткая сводка и мой взгляд на то, что с этим делать.

PrimeTek заархивировала репозиторий PrimeNG и увела мажорные версии, начиная с v22, в коммерческую лицензию — с оплатой за разработчика. То, что вы уже поставили, никуда не денется: последняя MIT-версия остаётся MIT. Но следующий мажор — это уже разговор с отделом закупок, а не npm i.

Сообщество форкнуло последнюю MIT-версию: OpenNG / Optimus UI. Вчера вышел стабильный 1.0 — 80+ компонентов, MIT, Angular 21, поддержка v22 обещана на этой неделе. Есть ng add и схематик миграции. Люди уже отписываются, что перевели проекты и всё работает.

Сайт: https://optimus.openng.org/
Гайд по миграции: https://optimus.openng.org/migration/primeng

Их схематик покрывает импорты и типы, а селекторы и имена классов они намеренно оставили прежними — p-button остался p-button. Это ключевое решение: ваши темы, оверрайды и стили, написанные под их классы, просто не трогаются. Я вчера спросил об этом автора форка в r/angular напрямую — подтвердил.

То есть цена перехода упирается в одно число: из скольких мест ваше приложение импортирует кит напрямую. Проверяется за секунду:

grep -rl "from 'primeng" src | wc -l

Приложение с одним собственным слоем поверх кита переезжает за дни. Приложение, где кит торчит из четырёхсот файлов — за кварталы. И разница создаётся не в момент миграции, а за годы до неё.

Это не первый раз, когда опора под Angular-приложением меняется без вашего участия — и не последний. Защищает не выбор правильного кита: правильных не бывает, у любого может смениться лицензия, мейнтейнер или приоритеты. Защищает собственный тонкий слой между приложением и китом — свои обёртки, свои типы в сигнатурах, свои имена классов в стилях. Тогда следующая такая новость стоит недели, а не квартала.

Отдельный случай — внутренняя библиотека компании, которая ре-экспортирует типы кита в своём публичном API. Схематик переименует всё в её репозитории, но каждому потребителю всё равно придётся двигаться синхронно. Тонкий слой превращает «мигрируют все» в «мигрирует один пакет».

Если хочется научиться делать такой слой руками — этому и посвящён мой курс «Angular UI Kit»: 15 модулей от пустой папки до своего пакета в npm, на примере полной реализации Material 3. Первые уроки открыты бесплатно: https://ng.guide/angular-ui-kit
❤4👍3
August 4, 2026 327 2 4