Skip to content

refactor(storybook): story-token-map.ts 이중 관리 해소 — SDK 내부 resolver로 통합 #86

@k2kite-megankim

Description

@k2kite-megankim

배경

PR #85에서 .storybook/story-token-map.ts가 lvis-app plugin-token-map.ts의 전체 복사본으로 추가됨.
현재 동일한 토큰 테이블이 3곳에 존재:

  1. lvis-app/src/ui/renderer/theme/plugin-token-map.ts — host SoT
  2. lvis-plugin-sdk/src/ui/tokens/lvis-tokens.css :root — dark fallback
  3. lvis-plugin-sdk/.storybook/story-token-map.ts — Storybook 전용

권장 구조

Option B (권장): resolveStoryTokenssrc/ui/tokens/resolver.ts로 이동, Storybook이 SDK 자신을 import.

src/ui/tokens/resolver.ts  (신규)
  → export function resolvePluginTokens(theme, chatTheme): Record<string, string>
  → Storybook preview.tsx 와 외부 소비자 모두 사용 가능

.storybook/preview.tsx
  → import { resolvePluginTokens } from "../src/ui/tokens/resolver.js"
  • @internal JSDoc 태그 또는 별도 export path (@lvis/plugin-sdk/resolver)로 격리
  • "Keep in sync with lvis-app" 주석 제거 가능

선행 조건

  • lvis-app plugin-token-map.ts의 값과 정렬 확인

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions