アプリケーション開発者向け
v1 からの移行
oria-standard@2 はデフォルトで唯一の標準契約です。明示的な移行を登録し、ジオメトリの丸めを確認し、Bootstrap に古いスナップショットを拒否させます。デフォルト契約が切り替わりました
コア 0.3.0 以降、コントラクトなしで呼び出された Core/Runtime API は、oria-standard@2: 134 のソース トークン、小文字のケバブケース CSS 変数、および宣言された派生変数を解決します。 v1 は、移行入力 (oriaStandardContractV1、oriaDefaultThemeV1、mergeOriaStandardV1ToV2) のレガシー エクスポートとしてのみ残ります。公式プリセットは、ID が変更されていないネイティブ v2 です。 v1 キャメルケース変数 (--oria-color-background、--oria-typography-size-md、--oria-spacing-4 など) は出力されなくなりました。独自のスタイルを v2 名 (--oria-color-bg、--oria-text-md、calc(var(--oria-space) * 4)) に更新します。
マイグレータを明示的に登録する
ユーザーが v1 カスタム テーマ (ストレージまたはエクスポートされた JSON) を保持している可能性がある場合は、ランタイム設定にマイグレーターを登録します。永続化された v1 テーマは移行され、完全に検証され、アトミックに適用され、最初の起動時に書き戻されます。登録しない場合、v1 データは全体として拒否され、起動中に変更されないままになります。
import { migrateOriaStandardV1ToV2 } from "@oriatheme/core";
import { oriaPresetThemes } from "@oriatheme/presets";
createOriaThemeRuntime({
presets: oriaPresetThemes,
defaultThemeId: "oria-default",
migrations: [migrateOriaStandardV1ToV2],
});RequiredReview フロー
v2 は、スペースと半径の 2 つのジオメトリ ソースのみを保持します。半径は固定倍数で、コントロール サイズはスペースの 1 ~ 24 の整数倍です。正確に表現できない v1 値は、最も近い正当な値にスナップされ、フィールドごとに警告が表示されます。 RequiredReview は、警告が存在する場合は常に true です。 Core の importTheme は警告を返し、ユーザーは保存する前にプレビューして確認できるように、Review を要求します。ランタイムの importTheme は、登録された移行を自動的に適用しますが、警告は表示されません。
Bootstrap は古いスナップショットを拒否します
v2 コントラクトを bootstrapTheme または createBootstrapStorageScript に渡すと、v1 時代のアクティブなスナップショットが安全に拒否され、ランタイムが v2 テーマを適用して新しいスナップショットを書き込むまで、静的なデフォルトの CSS が維持されます。宣言がなければ、そのようなチェックは実行されません。
続行: ランタイム構成