Pour les développeurs d'applications
Migrer depuis la v1
oria-standard@2 est le seul contrat standard par défaut : enregistrez une migration explicite, vérifiez l'arrondi de la géométrie et laissez Bootstrap rejeter les instantanés obsolètes.Le contrat par défaut a changé
Depuis le noyau 0.3.0, les API Core/Runtime appelées sans contrat résolvent oria-standard@2 : 134 jetons source, variables CSS en minuscules et variables dérivées déclarées. La v1 reste uniquement en tant qu'exportations héritées pour l'entrée de migration (oriaStandardContractV1, oriaDefaultThemeV1, migrateOriaStandardV1ToV2). Les préréglages officiels sont natifs v2 avec des identifiants inchangés. Les variables camelCase v1 (telles que --oria-color-background, --oria-typography-size-md, --oria-spacing-4) ne sont plus émises ; mettez à jour vos propres styles avec les noms v2 (--oria-color-bg, --oria-text-md, calc(var(--oria-space) * 4)).
Enregistrez explicitement le migrateur
Si vos utilisateurs peuvent détenir des thèmes personnalisés v1 (stockage ou JSON exporté), enregistrez le migrateur dans la configuration d'exécution. Les thèmes v1 persistants sont ensuite migrés, entièrement validés, appliqués de manière atomique et réécrits au premier démarrage ; sans enregistrement, les données v1 sont rejetées dans leur ensemble et laissées intactes lors de ce lancement.
import { migrateOriaStandardV1ToV2 } from "@oriatheme/core";
import { oriaPresetThemes } from "@oriatheme/presets";
createOriaThemeRuntime({
presets: oriaPresetThemes,
defaultThemeId: "oria-default",
migrations: [migrateOriaStandardV1ToV2],
});Le flux requireReview
v2 ne conserve que deux sources géométriques, l'espace et le rayon : les rayons sont des multiples fixes et les tailles de contrôle sont des multiples entiers de l'espace de 1 à 24. Une valeur v1 qui ne peut pas être représentée exactement s'aligne sur la valeur légale la plus proche et émet un avertissement par champ ; requireReview est vrai chaque fois qu’un avertissement existe. importTheme de Core renvoie des avertissements et nécessiteReview afin que les utilisateurs puissent prévisualiser et confirmer avant d'enregistrer ; le importTheme du runtime applique automatiquement les migrations enregistrées mais ne comporte pas d'avertissements.
Bootstrap rejette les instantanés obsolètes
La transmission du contrat v2 à bootstrapTheme ou createBootstrapStorageScript entraîne le rejet en toute sécurité des instantanés actifs de l'ère v1, en conservant la valeur statique par défaut CSS jusqu'à ce que le moteur d'exécution applique un thème v2 et écrive un nouvel instantané. Sans la déclaration, aucun contrôle de ce type n’est exécuté.
Continuer : configuration d'exécution