Skip to content

feat: v0.2.0 — DOM 레이어 + 브라우저 전역 빌드 + 홈페이지#2

Merged
jlc488 merged 3 commits into
mainfrom
feature/dom-layer
Jul 5, 2026
Merged

feat: v0.2.0 — DOM 레이어 + 브라우저 전역 빌드 + 홈페이지#2
jlc488 merged 3 commits into
mainfrom
feature/dom-layer

Conversation

@jlc488

@jlc488 jlc488 commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

What / 무엇

DOM 레이어 (로드맵 v0.2)

  • bind(el, mode?) / observe(root?)<input data-hangul="ko|en"> 입력 모드 강제
  • IME 조합 중에는 값을 건드리지 않고 compositionend 후 변환 (조합 안전)
  • 커서 보존: 캐럿 앞 텍스트를 변환한 길이를 새 캐럿 위치로
  • ko 모드는 enToKo(koToEn(v)) 정규화 — 점진 타이핑이 실제 IME처럼 조합 (d→ㅇ, k→아, s→안 …)

브라우저 <script> / CDN (jsDelivr·unpkg)

  • IIFE 빌드 dist/kokey.global.js (5KB minified), 전역 kokey
  • package.json unpkg/jsdelivr 필드 → https://cdn.jsdelivr.net/npm/kokey/dist/kokey.global.js

홈페이지

  • site/index.html — 라이브 데모 (data-hangul 인풋 2개 + 양방향 변환기)
  • pages.yml — main 푸시마다 공식 Pages actions로 배포 (enablement: true로 첫 실행 시 Pages 자동 활성화)
  • 배포 주소: https://devslab-kr.github.io/kokey/ (repo About에 이미 설정됨)

Verification / 검증

  • typecheck ✓ · vitest 24/24 (jsdom DOM 테스트 9개 신규) ✓ · IIFE 전역 스모크 (vm 스크립트 시맨틱스) ✓

머지 후

  1. git tag v0.2.0 && git push origin v0.2.0 → npm publish
  2. main 푸시로 Pages 첫 배포 자동 실행

- bind/observe: <input data-hangul="ko|en"> 입력 모드 강제
  (IME 조합 중 미개입, compositionend 후 변환, prefix 변환으로 커서 보존)
- ko 모드는 enToKo(koToEn(v)) 정규화로 점진 타이핑이 실제 IME처럼 조합됨
- IIFE 빌드 dist/kokey.global.js (5KB min) + unpkg/jsdelivr 필드
- site/ 라이브 데모 + pages.yml (공식 Pages actions, main 푸시마다 배포)
- jsdom 테스트 9개 추가 (24 total)
npm 유사 이름 규칙이 unscoped 'kokey' publish를 차단 (hdkey와 유사, E403).
@devslab 스코프로 전환 — ssrf-guard-js와 동일 스코프, publishConfig.access=public 추가.
v0.1.0 태그는 publish 실패 상태라 삭제 후 이 PR 머지 뒤 재태깅.
@jlc488
jlc488 merged commit 194c85d into main Jul 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant