Skip to content

feat: 페이지를 DS 프리미티브로 conform + raw-태그 lint 게이트 도입 #171

@jeongye01

Description

@jeongye01

배경

페이지들이 DS 프리미티브(components/ui/*)를 안 쓰고 raw 마크업(<button>/<input>/<div> 카드 등)으로 짜여 있었음. 이를 DS 프리미티브로 conform 하고, "프리미티브 있는데 raw 박음" 을 막는 code-first 린트 게이트를 도입.

변경

  • 페이지 5개 → DS 프리미티브로 conform — ProjectList / ProjectDetail / QAChatPage / IdeationPage / AbTestPage. 버튼→Button, 입력→Input/Textarea, 카드→Card, 칩→Badge. gap 있으면 페이지를 DS 에 맞춰 변형(ink 버튼→primary, 아이콘 검색→표준 Input 등).
  • manifest replacesbutton/input/textarea 가 대체하는 네이티브 태그 명시.
  • raw-태그 lint 게이트eslint-raw-tag-gate.mjs (ui-agent ship) + eslint.config.js 에서 restrictedRawTags('src/components/ui')src/pages/** 검사.
  • 대응 프리미티브 없는 정당한 raw(아이콘 버튼 / 클릭 카드 / file input / 탭)는 eslint-disable + 사유(gap) 로 원장화.

검증

tsc + vite build + eslint(pages) green. 시각(픽셀) 확인은 아직 안 됨 — 머지 전 dev 서버로 5개 페이지 확인 필요.

관련

Metadata

Metadata

Assignees

No one assigned

    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