Миграция на QPalette 8.0
Новая версия QPalette использует версию Angular 21 и PrimeNG 21. Остальные зависимости также обновлены до последних совместимых версий.
Автоматическая миграция
⚠️ Мигратор находится в стадии бета-тестирования. При возникновении проблем, напишите в команду Q.Palette.
Большинство шагов миграции можно выполнить автоматически с помощью инструментов командной строки Q.Palette.
Установите инструменты командой:
npm install -g @diasoft/qpalette-cli@8 --registry=http://repolib-main.diasoft.ru:8081/repository/npm-public-and-diasoft --prefer-onlineУказывайте именно полный реестр npm-public-and-diasoft — он отдаёт и @diasoft/*, и публичные пакеты, от которых зависит сам CLI. Флаг --prefer-online заставляет npm перечитать список версий с реестра, а не брать устаревший из локального кеша.
И запустите миграцию:
qpalette migrateПосле запуска выберите пункт "Обновление Q.Palette 7.x → 8.x".
Мигратор автоматически:
- Обновляет версию Q.Palette, Angular и PrimeNG.
- Выполняет необходимые миграции.
- Дает рекомендации при необходимости.
⚠️ После выполнения миграции проверьте логи на наличие предупреждений и выполните рекомендации.
Дополнительные возможности запуска
Мигратор автоматически перестраивает разметку PrimeNG под v21 (вкладки TabView, аккордеоны, переименования компонентов и свойств, значения severity, директивы полей ввода и внутренние импорты), поэтому большинство правок делать вручную не нужно.
Полезные параметры (полный список — qpalette migrate --help):
--registry <url>— запуск вне корпоративного контура: адрес реестра с пакетами@diasoft/*(нужно зеркало с ними).--skip-steps <ids>— пропустить отдельные этапы миграции (id через запятую).--no-create-commits/--create-commits <префикс>— управление пошаговыми коммитами без интерактивного вопроса.
Пакет primeflex продукту на 8.x не нужен: утилиты PrimeFlex приходят со стилями палитры, а
primeflex 3+ переименовал классы и вёрстку на p-* не даст. Если продукт пакет не подключает
(нет упоминаний в angular.json, стилях, коде и шаблонах), мигратор удалит его из зависимостей сам;
если подключает — оставит и перечислит файлы, где убрать подключение. Подробнее —
Подключение PrimeFlex.
Jenkinsfile не обязателен: если проект собирается другим CI (например, GitLab CI), мигратор продолжит работу, выведя предупреждение.
Если возникли проблемы и проект не удается собрать, потребуется выполнить соответствующие шаги вручную согласно инструкции ниже.
Возможные проблемы
npm install -g @diasoft/qpalette-cli@8
npm error code E404
npm error 404 Not Found - GET https://registry.npmjs.org/@diasoft%2fqpalette-cli - Not found
npm error 404
npm error 404 '@diasoft/qpalette-cli@8' is not in this registry.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm error A complete log of this run can be found in: /Users/username/.npm/_logs/2026-05-28T07_23_28_470Z-debug-0.logВ этом случае проверьте, что у вас верно установлен registry.
Если установка падает с ETARGET No matching version found for <пакет> (например, @inquirer/core@^12.0.3) — нужной версии публичной зависимости нет в вашем реестре по умолчанию либо в устаревшем локальном кеше npm. Установите CLI командой из начала инструкции — с полным реестром npm-public-and-diasoft и флагом --prefer-online. Если ошибка остаётся, напишите в команду Q.Palette.
Если у вас есть свои библиотеки (ng-packagr, например @diasoft/qcrm-core-ui-lib), запустите qpalette migrate в корне библиотеки: мигратор распознаёт библиотечные проекты (с @diasoft/qpalette-* в peerDependencies) и переводит их так же автоматически.
Если стили выглядят некорректно
В main.ts вашего angular-проекта вставьте:
providePrimeNG({
theme: 'none',
})Это обязательно нужно делать при ручной миграции и проверить после автоматической. Данная строчка принудительно выключает стилизацию primeng которая конфликтует со стилизацией qpalette.
Пример из документации q.palette (opens in a new tab)
Техническая информация
- Необходимая версия NodeJS: 22.17
- Стабильная версия Angular: 21.2.+ (Можно обновлять до последней для избежания уязвимостей)
- Стабильная версия PrimeNG: 21.1.5