@iyulab/editor-components 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/package.json +7 -3
package/CHANGELOG.md CHANGED
@@ -1,9 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.1] - 2026-07-19
4
+
5
+ ### Added
6
+ - **테스트 인프라 도입** — 이 패키지에는 자동 테스트가 없었다(`tests/` 는 수동 preview 앱). 모노레포의 다른 컴포넌트 패키지와 동일한 vitest + playwright 브라우저 스택을 붙이고 `UTextEditor` 생명주기 계약 테스트 5건을 추가했다(mount → 편집 → detach → re-attach, 공개 접근자의 teardown 후 안전성). 기존 `npm test`(preview 앱 실행)는 `npm run preview` 로 이름을 옮겼다.
7
+
8
+ ### Documentation
9
+ - 0.1.0 의 `UTextEditor` 항목 서술을 정정 — "해제 후 접근에서 깨질 수 있던" 이라 썼으나 **실제로는 런타임에 도달하지 않는 경로**였다(호출부가 이미 `if (this.quill)` 로 감싸여 있었다). 타입 정직성 개선의 값은 예방에 있지 live-bug 수정이 아니다. 테스트로 확인한 사실에 맞게 문구를 바로잡았다.
10
+
3
11
  ## [0.1.0] - 2026-07-19
4
12
 
5
13
  ### Fixed
6
- - **`UTextEditor` 해제 후 접근에서 깨질 수 있던 타입 거짓말 제거** — `quill` 필드가 `Quill`(non-null 단언)로 선언돼 있는데 `disconnectedCallback` 은 `null as any` 로 null 을 대입하고 있었다. 타입 시스템을 속인 탓에 null 검사 누락 5곳이 가려져 있었다. 필드를 `Quill | null` 로 정직하게 선언하고, `text-change` 핸들러는 생성 시점의 지역 참조를 캡처하도록, `setQuillContents` 는 초기화 전/해제 호출을 무시하도록 고쳤다.
14
+ - **`UTextEditor` 타입 거짓말 제거(예방적)** — `quill` 필드가 `Quill`(non-null 단언)로 선언돼 있는데 `disconnectedCallback` 은 `null as any` 로 null 을 대입하고 있었다. 거짓말이 상쇄되어 null 가드 없는 역참조 5곳이 타입 검사를 통과하고 있었다. 필드를 `Quill | null` 로 정직하게 선언하고, `text-change` 핸들러는 생성 시점 지역 참조를 캡처하도록, `setQuillContents` 는 방어 가드를 갖도록 고쳤다. **다만 이는 런타임 버그 수정이 아니다** — 해당 호출부는 모두 `updated()` 의 `if (this.quill)` 안에 있어 실제로는 도달하지 않았다. 값은 앞으로 가드 없는 호출이 추가될 때 tsc 가 즉시 잡아준다는 데 있다.
7
15
 
8
16
  ### Changed
9
17
  - **이 패키지의 eslint 가 실제로 동작하기 시작했다.** `files` 패턴의 확장자 누락과 배열 프리셋 객체 스프레드 결함을 수정했다. `build` 스크립트의 `eslint &&` 게이트는 매칭 파일이 0개라 항상 통과하고 있었다. 위 null 결함은 이 복구로 처음 드러났다.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iyulab/editor-components",
3
3
  "description": "various editor components by iyulab",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "keywords": [
6
6
  "iyulab",
7
7
  "web-components",
@@ -36,7 +36,9 @@
36
36
  }
37
37
  },
38
38
  "scripts": {
39
- "test": "vite",
39
+ "preview": "vite",
40
+ "test": "vitest run",
41
+ "test:watch": "vitest",
40
42
  "lint": "eslint src/",
41
43
  "lint:fix": "eslint src/ --fix",
42
44
  "build": "eslint && vite build"
@@ -62,12 +64,14 @@
62
64
  "devDependencies": {
63
65
  "@eslint/js": "^9.39.4",
64
66
  "@types/node": "^26.1.1",
67
+ "@vitest/browser-playwright": "^4.1.10",
65
68
  "eslint": "^9.39.4",
66
69
  "glob": "^13.0.6",
67
70
  "globals": "^17.7.0",
68
71
  "typescript": "^5.9.3",
69
72
  "typescript-eslint": "^8.64.0",
70
73
  "vite": "^8.1.4",
71
- "vite-plugin-dts": "^5.0.3"
74
+ "vite-plugin-dts": "^5.0.3",
75
+ "vitest": "^4.1.10"
72
76
  }
73
77
  }