diff --git a/.changeset/site-kit-status-banner-children.md b/.changeset/site-kit-status-banner-children.md deleted file mode 100644 index 49fafef..0000000 --- a/.changeset/site-kit-status-banner-children.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@devslab/site-kit": patch ---- - -`StatusBanner` reads its `children` once. `` compiles to a getter, and the banner checked it for truthiness and then inserted it — two reads, so the first built a list (and every `
  • ` under it) that was thrown away, each with a hydration key the server never wrote into the HTML. Solid's production build clones a template when a key is missing, so nothing showed; the development build throws `Hydration Mismatch`, so a consumer's status page fell to its error boundary in `vite dev` (BookLinq, 0.12.1). A memo is now both the check and the insert, evaluated at the same point in the tree on both sides. A hydration test renders two banners with inline children and hydrates them with the development build. - -`StatusBanner`가 `children`을 한 번만 읽는다. ``는 게터로 컴파일되는데, 배너가 진위 검사 뒤 삽입으로 두 번 읽어서 첫 읽기가 만든 목록(과 그 아래 `
  • ` 전부)이 버려지면서 서버 HTML엔 없는 하이드레이션 키를 각각 소모했다. Solid 프로덕션 빌드는 없는 키에 템플릿을 복제해 아무것도 안 보였지만, 개발 빌드는 `Hydration Mismatch`를 던져 소비자의 상태 페이지가 `vite dev`에서 에러 경계로 떨어졌다(BookLinq, 0.12.1). 이제 메모 하나가 검사와 삽입을 겸하고 양쪽에서 트리의 같은 지점에 한 번 평가된다. 하이드레이션 테스트가 배너 둘을 인라인 children으로 렌더해 개발 빌드로 하이드레이션한다. diff --git a/packages/compatibility-canary/package.json b/packages/compatibility-canary/package.json index 857029e..1ce19a1 100644 --- a/packages/compatibility-canary/package.json +++ b/packages/compatibility-canary/package.json @@ -15,7 +15,7 @@ "verify:dependencies": "node scripts/verify-install.mjs && node scripts/verify-dependencies.mjs" }, "dependencies": { - "@devslab/dds-table": "workspace:0.12.1", + "@devslab/dds-table": "workspace:0.12.2", "@tanstack/solid-query": "5.102.8", "@tanstack/solid-router": "1.170.30", "@tanstack/solid-start": "1.168.47", diff --git a/packages/dds-css/CHANGELOG.md b/packages/dds-css/CHANGELOG.md index 915dd16..bcd028c 100644 --- a/packages/dds-css/CHANGELOG.md +++ b/packages/dds-css/CHANGELOG.md @@ -1,5 +1,7 @@ # @devslab/dds-css +## 0.12.2 + ## 0.12.1 ## 0.12.0 diff --git a/packages/dds-css/package.json b/packages/dds-css/package.json index 0495431..de73d17 100644 --- a/packages/dds-css/package.json +++ b/packages/dds-css/package.json @@ -1,6 +1,6 @@ { "name": "@devslab/dds-css", - "version": "0.12.1", + "version": "0.12.2", "description": "DDS CSS component layer — class-based, framework-neutral, semantic-token-only (spec §4.3 v1 inventory, 20 components)", "type": "module", "license": "SEE LICENSE IN LICENSE", diff --git a/packages/dds-icons/CHANGELOG.md b/packages/dds-icons/CHANGELOG.md index 66dd125..7f95db2 100644 --- a/packages/dds-icons/CHANGELOG.md +++ b/packages/dds-icons/CHANGELOG.md @@ -1,5 +1,7 @@ # @devslab/dds-icons +## 0.12.2 + ## 0.12.1 ## 0.12.0 diff --git a/packages/dds-icons/package.json b/packages/dds-icons/package.json index 37e5dea..926492c 100644 --- a/packages/dds-icons/package.json +++ b/packages/dds-icons/package.json @@ -1,6 +1,6 @@ { "name": "@devslab/dds-icons", - "version": "0.12.1", + "version": "0.12.2", "description": "DDS icon set — one SVG source (24 grid, currentColor), shipped as files, a sprite and a path-data map", "type": "module", "license": "SEE LICENSE IN LICENSE", diff --git a/packages/dds-solid/CHANGELOG.md b/packages/dds-solid/CHANGELOG.md index ae78e51..1358898 100644 --- a/packages/dds-solid/CHANGELOG.md +++ b/packages/dds-solid/CHANGELOG.md @@ -1,5 +1,13 @@ # @devslab/dds-solid +## 0.12.2 + +### Patch Changes + +- @devslab/dds-tokens@0.12.2 +- @devslab/dds-css@0.12.2 +- @devslab/dds-icons@0.12.2 + ## 0.12.1 ### Patch Changes diff --git a/packages/dds-solid/package.json b/packages/dds-solid/package.json index 47a6abc..0bd7709 100644 --- a/packages/dds-solid/package.json +++ b/packages/dds-solid/package.json @@ -1,6 +1,6 @@ { "name": "@devslab/dds-solid", - "version": "0.12.1", + "version": "0.12.2", "description": "Accessible SolidJS primitives for the DevsLab Design System", "type": "module", "license": "SEE LICENSE IN LICENSE", @@ -43,9 +43,9 @@ "test:a11y": "vitest run --config vitest.config.ts src/__tests__/a11y.test.tsx" }, "dependencies": { - "@devslab/dds-css": "workspace:0.12.1", - "@devslab/dds-icons": "workspace:0.12.1", - "@devslab/dds-tokens": "workspace:0.12.1" + "@devslab/dds-css": "workspace:0.12.2", + "@devslab/dds-icons": "workspace:0.12.2", + "@devslab/dds-tokens": "workspace:0.12.2" }, "peerDependencies": { "solid-js": "1.9.15" diff --git a/packages/dds-table/CHANGELOG.md b/packages/dds-table/CHANGELOG.md index 42e8b79..806a71c 100644 --- a/packages/dds-table/CHANGELOG.md +++ b/packages/dds-table/CHANGELOG.md @@ -1,5 +1,12 @@ # @devslab/dds-table +## 0.12.2 + +### Patch Changes + +- @devslab/dds-tokens@0.12.2 +- @devslab/dds-css@0.12.2 + ## 0.12.1 ### Patch Changes diff --git a/packages/dds-table/package.json b/packages/dds-table/package.json index 1a91ce6..3c36bda 100644 --- a/packages/dds-table/package.json +++ b/packages/dds-table/package.json @@ -1,6 +1,6 @@ { "name": "@devslab/dds-table", - "version": "0.12.1", + "version": "0.12.2", "description": "Declarative data table for the DevsLab Design System", "type": "module", "license": "SEE LICENSE IN LICENSE", @@ -38,8 +38,8 @@ "test:a11y": "vitest run --config vitest.config.ts src/__tests__/a11y.test.tsx" }, "dependencies": { - "@devslab/dds-css": "workspace:0.12.1", - "@devslab/dds-tokens": "workspace:0.12.1", + "@devslab/dds-css": "workspace:0.12.2", + "@devslab/dds-tokens": "workspace:0.12.2", "@tanstack/solid-table": "9.2.4" }, "peerDependencies": { diff --git a/packages/dds-tokens/CHANGELOG.md b/packages/dds-tokens/CHANGELOG.md index 028e683..d0399a8 100644 --- a/packages/dds-tokens/CHANGELOG.md +++ b/packages/dds-tokens/CHANGELOG.md @@ -1,5 +1,7 @@ # @devslab/dds-tokens +## 0.12.2 + ## 0.12.1 ## 0.12.0 diff --git a/packages/dds-tokens/package.json b/packages/dds-tokens/package.json index ba07a84..8ae1971 100644 --- a/packages/dds-tokens/package.json +++ b/packages/dds-tokens/package.json @@ -1,6 +1,6 @@ { "name": "@devslab/dds-tokens", - "version": "0.12.1", + "version": "0.12.2", "description": "DDS (DevsLab Design System) design tokens — one JSON source, built for CSS, Tailwind, TypeScript/RN and Ionic", "type": "module", "license": "SEE LICENSE IN LICENSE", diff --git a/packages/site-kit/CHANGELOG.md b/packages/site-kit/CHANGELOG.md index 75dc3b7..5a5077f 100644 --- a/packages/site-kit/CHANGELOG.md +++ b/packages/site-kit/CHANGELOG.md @@ -1,5 +1,14 @@ # @devslab/site-kit +## 0.12.2 + +### Patch Changes + +- f19fde6: `StatusBanner` reads its `children` once. `` compiles to a getter, and the banner checked it for truthiness and then inserted it — two reads, so the first built a list (and every `
  • ` under it) that was thrown away, each with a hydration key the server never wrote into the HTML. Solid's production build clones a template when a key is missing, so nothing showed; the development build throws `Hydration Mismatch`, so a consumer's status page fell to its error boundary in `vite dev` (BookLinq, 0.12.1). A memo is now both the check and the insert, evaluated at the same point in the tree on both sides. A hydration test renders two banners with inline children and hydrates them with the development build. + + `StatusBanner`가 `children`을 한 번만 읽는다. ``는 게터로 컴파일되는데, 배너가 진위 검사 뒤 삽입으로 두 번 읽어서 첫 읽기가 만든 목록(과 그 아래 `
  • ` 전부)이 버려지면서 서버 HTML엔 없는 하이드레이션 키를 각각 소모했다. Solid 프로덕션 빌드는 없는 키에 템플릿을 복제해 아무것도 안 보였지만, 개발 빌드는 `Hydration Mismatch`를 던져 소비자의 상태 페이지가 `vite dev`에서 에러 경계로 떨어졌다(BookLinq, 0.12.1). 이제 메모 하나가 검사와 삽입을 겸하고 양쪽에서 트리의 같은 지점에 한 번 평가된다. 하이드레이션 테스트가 배너 둘을 인라인 children으로 렌더해 개발 빌드로 하이드레이션한다. + - @devslab/dds-solid@0.12.2 + ## 0.12.1 ### Patch Changes diff --git a/packages/site-kit/package.json b/packages/site-kit/package.json index 28082de..24cb186 100644 --- a/packages/site-kit/package.json +++ b/packages/site-kit/package.json @@ -1,6 +1,6 @@ { "name": "@devslab/site-kit", - "version": "0.12.1", + "version": "0.12.2", "description": "Strict i18n, SEO/GEO, and Solid public-site shells for DevsLab products", "type": "module", "license": "SEE LICENSE IN LICENSE", @@ -67,7 +67,7 @@ "test:worker": "wrangler deploy --dry-run --config fixtures/worker/wrangler.jsonc --outdir dist-worker" }, "dependencies": { - "@devslab/dds-solid": "workspace:0.12.1" + "@devslab/dds-solid": "workspace:0.12.2" }, "peerDependencies": { "@tanstack/solid-router": "1.170.30", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a42f9e2..c9c7b8b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,7 +33,7 @@ importers: packages/compatibility-canary: dependencies: '@devslab/dds-table': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-table '@tanstack/solid-query': specifier: 5.102.8 @@ -83,13 +83,13 @@ importers: packages/dds-solid: dependencies: '@devslab/dds-css': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-css '@devslab/dds-icons': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-icons '@devslab/dds-tokens': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-tokens devDependencies: '@testing-library/jest-dom': @@ -123,10 +123,10 @@ importers: packages/dds-table: dependencies: '@devslab/dds-css': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-css '@devslab/dds-tokens': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-tokens '@tanstack/solid-table': specifier: 9.2.4 @@ -169,7 +169,7 @@ importers: packages/site-kit: dependencies: '@devslab/dds-solid': - specifier: workspace:0.12.1 + specifier: workspace:0.12.2 version: link:../dds-solid devDependencies: '@tanstack/solid-router':