Skip to content

feat(zpl-core): 순수 ZPL 코어 패키지 추가 및 react-zpl 어댑터 분리#15

Merged
Bori-github merged 6 commits into
mainfrom
feat/zpl-core
Apr 14, 2026
Merged

feat(zpl-core): 순수 ZPL 코어 패키지 추가 및 react-zpl 어댑터 분리#15
Bori-github merged 6 commits into
mainfrom
feat/zpl-core

Conversation

@Bori-github

@Bori-github Bori-github commented Apr 14, 2026

Copy link
Copy Markdown
Owner

📝 작업 내용

  • @zpl-kit/zpl-core 패키지: defineCommand 기반 ZPL 명령·상수, renderLabel·도형·텍스트·QR 등 순수 renderer, LabelNode·renderChildNode 파이프라인
  • react-zpl: toNode로 노드 변환 후 zpl-core로 ZPL 생성, 컴포넌트 단순화 (print.ts 제거)
  • 문서: zpl-core 개요·퀵스타트, renderer API 가이드, React 어댑터, Guide 네비 정리
  • CI: react-zpl 빌드 전 zpl-core 선행 빌드, PR path에 apps/zpl-core 포함. 루트 build: zpl-core 선행 후 나머지 apps·데모 빌드
  • 테스트: Component.print() 대신 renderXxx()·픽스처 정리로 zpl-core 경로에 맞게 전환

🔍 변경 범위

  • apps/react-zpl - React ZPL 라이브러리
  • docs - 문서 사이트
  • tests - 테스트 코드
  • demos - 데모 애플리케이션
  • 기타 — apps/zpl-core, .github/workflows, 루트 package.json, pnpm-lock.yaml

📸 스크린샷 (선택사항)

문서·네비 변경 위주이며 데모 UI 시각적 변경은 없습니다.

📚 추가 정보

  • 로컬·CI에서 react-zpl 빌드 시 @zpl-kit/zpl-coredist/*.d.ts가 필요하므로 zpl-core를 먼저 빌드합니다.
  • 패키지 외부에서 react-zpl의 이전 element 타입 등에 의존한다면 확인이 필요합니다.

Bori-github and others added 3 commits April 14, 2026 14:43
- commands, constants를 react-zpl에서 분리
- ZplElementContext 타입 추출 (React import 제거)
- renderLabel, renderText, renderLine 등 7개 순수 renderer 함수 구현
- LabelNode, ChildLabelNode, LabelRootNode 타입 추가
- renderChildNode, renderChildren 추가 (node.type 기반 dispatch)
- renderLabel이 LabelRootNode를 받아 ZPL 생성
- react-zpl: toLabelNode 유틸로 ReactElement → LabelNode 변환
- Text, Line 등 자식 컴포넌트에서 print() 제거, displayName만 유지
- ZplLabel.print = toLabelNode + renderLabel 단 두 단계로 단순화

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- guide 사이드바에 @zpl-kit/zpl-core 섹션 추가
  - 설치하기, 시작하기, react-zpl과의 관계 페이지 작성
  - API 레퍼런스를 renderer별 개별 파일로 분리 (API 하위 그룹)
- zpl-core/ 섹션에 overview 페이지 추가
- getting-started.mdx → quick-start.mdx 리네임 반영

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented Apr 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
zpl-viewer Ignored Ignored Preview Apr 14, 2026 7:20am

@Bori-github Bori-github changed the title feat(zpl-core): 순수 ZPL 코어 패키지 추가 및 react-zpl 어���터 분리 feat(zpl-core): 순수 ZPL 코어 패키지 추가 및 react-zpl 어댑터 분리 Apr 14, 2026
- Test 워크플로에 zpl-core 경로 및 빌드 단계 추가
- 루트 build에서 zpl-core를 먼저 빌드해 .d.ts 의존성 보장
@Bori-github Bori-github self-assigned this Apr 14, 2026
@Bori-github Bori-github added documentation Improvements or additions to documentation enhancement New feature or request labels Apr 14, 2026
Bori-github and others added 2 commits April 14, 2026 16:12
- zpl-core 의존성 추가 (tests/package.json)
- fixtures/context.ts를 @zpl-kit/zpl-core에서 import하도록 변경
- 각 테스트에서 createElement + Component.print() 제거
  → renderLine, renderCircle, renderDiagonalLine, renderEllipse, renderQrCode 직접 호출

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Bori-github Bori-github merged commit f086e5c into main Apr 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant