sh-ui-cli 0.64.4 → 0.64.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$description": "sh-ui 릴리즈 노트 단일 소스. docs(React)와 showcase(Flutter)가 함께 읽는다. 새 릴리즈마다 맨 앞에 추가.",
|
|
4
4
|
"versions": [
|
|
5
|
+
{
|
|
6
|
+
"version": "0.64.6",
|
|
7
|
+
"date": "2026-05-08",
|
|
8
|
+
"title": "patch — apps/docs 듀얼카피 42 파일 전수 동기화 + sync-docs 스크립트",
|
|
9
|
+
"type": "patch",
|
|
10
|
+
"highlights": [
|
|
11
|
+
"**duplicate drift baseline 0 화** — v0.64.5 가 도입한 lint 의 BASELINE_DRIFTS 10건 (button / card / code-panel / color-picker / file-upload / input / numeric-input / page-toc / sidebar) 을 비롯해 기존에 인라인 `[].filter(Boolean).join(' ')` / `mergeClass()` / `cx` signature 변종 등으로 미세하게 어긋나 있던 42 파일 모두 registry 의 plain 변종 기준으로 일괄 동기화. 이제 baseline 0/0.",
|
|
12
|
+
"**`scripts/sync-docs.mjs` 신규** — registry → docs 카피본 자동 변환 (cn import 자리에 인라인 cx 함수, `cn(` → `cx(`). dry-run 기본, `--write` 로 실제 적용. 컴포넌트 변경 시 `pnpm lint:drift` 로 빠진 곳 검출 → `node scripts/sync-docs.mjs --write` 로 일괄 갱신 흐름. 손편집 → drift 누적의 회귀 차단."
|
|
13
|
+
],
|
|
14
|
+
"url": "https://github.com/sanghyeonKim0201/sh-ui/releases/tag/v0.64.6"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"version": "0.64.5",
|
|
18
|
+
"date": "2026-05-08",
|
|
19
|
+
"title": "patch — registry drift 가드 (CI lint 3종) + form/calendar summary 추가",
|
|
20
|
+
"type": "patch",
|
|
21
|
+
"highlights": [
|
|
22
|
+
"**CI lint 3종 추가** — `scripts/lint-registry.mjs` (B: registry.json ↔ summary key 매칭, C: summary 텍스트의 PascalCase 식별자가 실제 export 에 있는지 휴리스틱 검증) + `scripts/lint-dual-copy.mjs` (A: registry/<plat>/components/<name>/ ↔ apps/docs/components/ui/<name>/ drift 검출). PR/push 마다 `pnpm lint:drift` 가 ci.yml 에서 자동 실행. v0.64.0~0.64.4 audit 의 13건 React + 16건 Flutter 잘못 가 같은 종류였고, 앞으로는 컴포넌트 추가/변경 시 동기화 빠뜨리는 걸 자동으로 막는다.",
|
|
23
|
+
"**baseline 기반 가드** — 듀얼카피 lint 는 도입 시점의 알려진 drift 10건은 BASELINE_DRIFTS 로 통과시키고, **새 drift 만 fail**. 기존 drift 는 별도 cleanup PR 에서 점진 해소. baseline 항목 fix 후 BASELINE_DRIFTS 에서 제거하는 흐름을 알리는 stale warning 도 포함.",
|
|
24
|
+
"**form / form-yup / form-rhf / form-tanstack / calendar summary 추가** — 그동안 generate.mjs 가 'summary 누락' 경고만 띄우던 5개 컴포넌트 채움. `sh_ui_list_components` 결과에서 빈 summary 였던 부분이 이제 실제 사용법 노출."
|
|
25
|
+
],
|
|
26
|
+
"url": "https://github.com/sanghyeonKim0201/sh-ui/releases/tag/v0.64.5"
|
|
27
|
+
},
|
|
5
28
|
{
|
|
6
29
|
"version": "0.64.4",
|
|
7
30
|
"date": "2026-05-08",
|
|
@@ -50,6 +50,11 @@
|
|
|
50
50
|
"animations": "공용 애니메이션 키프레임 — animations.css.",
|
|
51
51
|
"cn": "className 합성 헬퍼. plain 변종(`cn.ts`)은 순수 concat, tailwind 변종(`cn.tailwind.ts`)은 clsx + tailwind-merge 로 utility 충돌 자동 머지 (`cn('bg-red-500', 'bg-blue-500')` → `'bg-blue-500'`).",
|
|
52
52
|
"use-media-query": "미디어 쿼리 매칭 훅.",
|
|
53
|
-
"use-active-section": "스크롤 위치로 현재 섹션 감지 훅."
|
|
53
|
+
"use-active-section": "스크롤 위치로 현재 섹션 감지 훅.",
|
|
54
|
+
"form": "compound 폼 빌더 — `Form` (Form.Field / Form.Label / Form.Description / Form.Error / Form.Control / Form.Section / Form.SectionTitle / Form.Steps / Form.Step) + useShUiForm 훅 + createFormStore + useFormSteps. 검증은 Standard Schema (yup/zod 등) 또는 inline 함수로 부착. 외부 form 라이브러리 어댑터는 form-rhf / form-tanstack / form-yup 별도 entry.",
|
|
55
|
+
"form-yup": "yup 스키마 → sh-ui Form 의 Standard Schema 어댑터. `yupSchema(yupObject)` 로 감싸 Form 의 `validation` prop 에 전달. yup 자체는 peerDependency.",
|
|
56
|
+
"form-rhf": "React Hook Form 인스턴스 → sh-ui FormStore 어댑터. `adaptReactHookForm(rhfInstance, config)` — RHF 가 state owner, sh-ui 가 메타(steps/sections) 관리. react-hook-form 은 peerDependency.",
|
|
57
|
+
"form-tanstack": "TanStack Form 인스턴스 → sh-ui FormStore 어댑터. `adaptTanstackForm(tanstackInstance, config)` — TanStack Form 이 state owner. @tanstack/react-form 은 peerDependency.",
|
|
58
|
+
"calendar": "내부 캘린더 위젯 (DatePicker 가 사용). single / multiple / range 모드. CalendarMessages 로 a11y 텍스트 override. 일반적으로 직접 사용보다 DatePicker / DateRangePicker 권장."
|
|
54
59
|
}
|
|
55
60
|
}
|