애플리케이션 개발자용
v1에서 마이그레이션
oria-standard@2는 기본이자 유일한 표준 계약입니다. 명시적 마이그레이션을 등록하고, 기하 반올림을 검토하고, Bootstrap가 오래된 스냅샷을 거부하도록 합니다.기본 계약이 전환되었습니다.
코어 0.3.0부터 계약 없이 호출된 Core/Runtime API는 oria-standard@2: 134개의 소스 토큰, 소문자 케밥 케이스 CSS 변수 및 선언된 파생 변수를 확인합니다. v1은 마이그레이션 입력(oriaStandardContractV1, oriaDefaultThemeV1, migrationOriaStandardV1ToV2)에 대한 레거시 내보내기로만 유지됩니다. 공식 사전 설정은 ID가 변경되지 않은 기본 v2입니다. v1 camelCase 변수(예: --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],
});requireReview 흐름
v2는 공간과 반경이라는 두 가지 지오메트리 소스만 유지합니다. 반경은 고정 배수이고 제어 크기는 1에서 24 사이의 공간의 정수 배수입니다. 정확하게 표현할 수 없는 v1 값은 가장 가까운 합법적인 값에 맞춰지고 필드별 경고를 내보냅니다. requireReview는 경고가 존재할 때마다 true입니다. Core의 importTheme은 경고 및 requireReview를 반환하므로 사용자는 저장하기 전에 미리 보고 확인할 수 있습니다. 런타임의 importTheme은 등록된 마이그레이션을 자동으로 적용하지만 경고를 전달하지 않습니다.
Bootstrap는 오래된 스냅샷을 거부합니다.
v2 계약을 bootstrapTheme 또는 createBootstrapStorageScript에 전달하면 v1 시대 활성 스냅샷이 안전하게 거부되고 런타임이 v2 테마를 적용하고 새로운 스냅샷을 작성할 때까지 정적 기본값 CSS가 유지됩니다. 선언이 없으면 그러한 검사가 실행되지 않습니다.
계속: 런타임 구성