byzip-v2-sdk 1.0.21 → 1.0.23
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.
- package/README.md +39 -24
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,21 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
분양모음집 V2 프로젝트의 프론트엔드와 백엔드 간 타입 통일을 위한 TypeScript SDK입니다.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 특징
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
7
|
+
- **런타임 의존성 없음** - 순수 TypeScript 타입 정의만 제공
|
|
8
|
+
- **가벼운 번들** - 추가 패키지 설치 불필요
|
|
9
|
+
- **타입 안전성** - 완전한 TypeScript 타입 체크 지원
|
|
10
|
+
- **범용 호환성** - 모든 JavaScript/TypeScript 환경에서 사용 가능
|
|
11
|
+
- **자동 업데이트** - `main` 또는 `dev` 브랜치 push 시 자동 배포
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## 설치
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
npm install byzip-v2-sdk
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## 사용 예시
|
|
20
|
+
|
|
21
|
+
### 공통 응답 처리
|
|
20
22
|
|
|
21
23
|
```typescript
|
|
22
24
|
import {
|
|
@@ -44,22 +46,35 @@ const handleResponse = <T>(response: BaseResponseDto<T>) => {
|
|
|
44
46
|
};
|
|
45
47
|
```
|
|
46
48
|
|
|
47
|
-
##
|
|
49
|
+
## 자동 배포
|
|
48
50
|
|
|
49
|
-
이 패키지는 백엔드
|
|
51
|
+
이 패키지는 백엔드 저장소에 push할 때마다 GitHub Actions를 통해 자동으로 NPM에 배포됩니다.
|
|
50
52
|
|
|
51
53
|
### 배포 프로세스
|
|
52
54
|
|
|
53
55
|
1. 백엔드 코드의 DTO 타입 변경
|
|
54
|
-
2. `main` 또는 `dev` 브랜치에
|
|
55
|
-
3. GitHub Actions 자동 실행
|
|
56
|
-
4. 타입 추출
|
|
57
|
-
5.
|
|
58
|
-
6. NPM
|
|
56
|
+
2. `main` 또는 `dev` 브랜치에 push
|
|
57
|
+
3. GitHub Actions `Publish SDK to NPM` 워크플로우 자동 실행
|
|
58
|
+
4. `scripts/extract-types.js`로 타입 추출 (클래스 → 인터페이스 변환)
|
|
59
|
+
5. SDK 빌드 (`tsc`)
|
|
60
|
+
6. NPM 최신 버전 대비 패치 버전 자동 증가
|
|
61
|
+
7. NPM에 자동 배포
|
|
62
|
+
|
|
63
|
+
### 인증 방식
|
|
64
|
+
|
|
65
|
+
- **NPM Granular Access Token** 사용 (`NPM_TOKEN` GitHub Secret)
|
|
66
|
+
- 토큰 만료: 90일 주기 갱신 필요
|
|
67
|
+
- GitHub Repository Settings > Secrets > `NPM_TOKEN`에 등록
|
|
68
|
+
|
|
69
|
+
### 프론트엔드 개발 워크플로우
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
백엔드 타입 변경 → push → SDK 자동 배포 → 프론트엔드에서 npm update byzip-v2-sdk
|
|
73
|
+
```
|
|
59
74
|
|
|
60
|
-
##
|
|
75
|
+
## 로컬 개발
|
|
61
76
|
|
|
62
|
-
###
|
|
77
|
+
### 타입 추출
|
|
63
78
|
|
|
64
79
|
```bash
|
|
65
80
|
npm run sdk:extract
|
|
@@ -77,16 +92,16 @@ npm run sdk:build
|
|
|
77
92
|
npm run sdk:publish
|
|
78
93
|
```
|
|
79
94
|
|
|
80
|
-
##
|
|
95
|
+
## 라이선스
|
|
81
96
|
|
|
82
97
|
ISC
|
|
83
98
|
|
|
84
99
|
---
|
|
85
100
|
|
|
86
|
-
##
|
|
101
|
+
## 변경 로그
|
|
87
102
|
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
103
|
+
- 모든 DTO 클래스를 인터페이스로 변환
|
|
104
|
+
- 런타임 의존성 제거 (`@nestjs/swagger` 제거)
|
|
105
|
+
- 타입 안전성 향상
|
|
106
|
+
- 번들 크기 최적화
|
|
107
|
+
- GitHub Actions 자동 배포 (NPM Granular Access Token)
|