OriaTheme
GitHub

Для разработчиков приложений

Миграция с версии 1

oria-standard@2 — это единственный стандартный контракт по умолчанию: зарегистрируйте явную миграцию, просмотрите округление геометрии и позвольте Bootstrap отклонять устаревшие снимки.

Контракт по умолчанию изменился

Начиная с ядра 0.3.0, API Core/Runtime, вызываемые без контракта, разрешают oria-standard@2: 134 исходных токена, переменные CSS в нижнем регистре для кебаба и объявленные производные переменные. Версия v1 остается только в качестве устаревшего экспорта для входных данных миграции (oriaStandardContractV1, oriaDefaultThemeV1,migrateOriaStandardV1ToV2). Официальные пресеты — это родная версия v2 с неизмененными идентификаторами. Переменные верблюда v1 (такие как --oria-color-background, --oria-typography-size-md, --oria-spacing-4) больше не создаются; обновите свои собственные стили до имен версии 2 (--oria-color-bg, --oria-text-md, Calc(var(--oria-space) * 4)).

Зарегистрируйте мигратор явно

Если ваши пользователи могут хранить пользовательские темы v1 (Хранилище или экспортированный JSON), зарегистрируйте средство переноса в конфигурации среды выполнения. Сохраненные темы v1 затем переносятся, полностью проверяются, применяются атомарно и записываются обратно при первом запуске; без регистрации данные v1 отклоняются целиком и остаются нетронутыми во время этого запуска.

ts
import { migrateOriaStandardV1ToV2 } from "@oriatheme/core";
import { oriaPresetThemes } from "@oriatheme/presets";

createOriaThemeRuntime({
  presets: oriaPresetThemes,
  defaultThemeId: "oria-default",
  migrations: [migrateOriaStandardV1ToV2],
});

Поток requireReview

v2 сохраняет только два источника геометрии, пространство и радиус: радиусы — это фиксированные кратные, а размеры элементов управления — целые числа, кратные пространству от 1 до 24. Значение v1, которое не может быть точно представлено, привязывается к ближайшему допустимому значению и выдает предупреждение для каждого поля; requireReview имеет значение true всякий раз, когда существует какое-либо предупреждение. ImportTheme ядра возвращает предупреждения и требует просмотра, чтобы пользователи могли просмотреть и подтвердить перед сохранением; importTheme среды выполнения автоматически применяет зарегистрированные миграции, но не выдает предупреждений.

Bootstrap отклоняет устаревшие снимки

Передача контракта v2 в bootstrapTheme или createBootstrapStorageScript позволяет безопасно отклонять активные снимки эпохи v1, сохраняя статическое значение по умолчанию CSS до тех пор, пока среда выполнения не применит тему v2 и не запишет новый снимок. Без объявления такая проверка не выполняется.

Продолжение: конфигурация времени выполнения