Skip to content

Commit 51d4a91

Browse files
Release: 1.1.7-beta.1751879666 (#247)
1 parent 6978e35 commit 51d4a91

File tree

14 files changed

+318
-7039
lines changed

14 files changed

+318
-7039
lines changed

.github/workflows/release-develop.yml

Lines changed: 79 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -59,19 +59,55 @@ jobs:
5959
fi
6060
done
6161
62+
# Store package.json files BEFORE changeset to preserve peerDependencies
63+
echo "Backing up peerDependencies before changeset..."
64+
for pkg in packages/*/; do
65+
if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
66+
cp "$pkg/package.json" "$pkg/package.json.backup"
67+
echo "✓ Backed up $pkg/package.json"
68+
fi
69+
done
70+
6271
# Apply changesets and consume them
6372
pnpm changeset version
6473
65-
# Check for version changes and update to beta
74+
# Ensure beta versions on develop branch
6675
TIMESTAMP=$(date +%s)
6776
CHANGED_PACKAGES=""
6877
78+
# Function to update beta timestamp (preserving version increments)
79+
update_beta_timestamp() {
80+
local current_version=$1
81+
local timestamp=$2
82+
83+
# If already has beta suffix, replace only the timestamp
84+
if [[ "$current_version" == *"-beta."* ]]; then
85+
echo "$current_version" | sed "s/-beta\.[0-9]*$/-beta.${timestamp}/"
86+
else
87+
# Add beta suffix to non-beta versions
88+
echo "${current_version}-beta.${timestamp}"
89+
fi
90+
}
91+
92+
# Apply beta suffixes to packages
93+
echo "Applying beta timestamps to packages..."
94+
6995
# Check main package
7096
NEW_MAIN=$(node -p "require('./package.json').version")
71-
if [ "$ORIGINAL_MAIN" != "$NEW_MAIN" ]; then
72-
BETA_VERSION="${NEW_MAIN}-beta.${TIMESTAMP}"
73-
npm version $BETA_VERSION --no-git-tag-version
97+
98+
# If version changed OR doesn't have beta suffix, update it
99+
if [ "$ORIGINAL_MAIN" != "$NEW_MAIN" ] || [[ "$NEW_MAIN" != *"-beta."* ]]; then
100+
# If already has beta, just update timestamp; otherwise add beta
101+
if [[ "$NEW_MAIN" == *"-beta."* ]]; then
102+
BETA_MAIN=$(echo "$NEW_MAIN" | sed "s/-beta\.[0-9]*$/-beta.${TIMESTAMP}/")
103+
else
104+
BETA_MAIN="${NEW_MAIN}-beta.${TIMESTAMP}"
105+
fi
106+
npm version $BETA_MAIN --no-git-tag-version
74107
CHANGED_PACKAGES="vue-pivottable"
108+
echo "✓ Updated vue-pivottable: $NEW_MAIN → $BETA_MAIN"
109+
else
110+
echo "✓ vue-pivottable unchanged: $NEW_MAIN"
75111
fi
76112
77113
# Check sub-packages
@@ -81,55 +117,59 @@ jobs:
81117
PKG_NAME=$(basename "$pkg")
82118
NEW_VERSION=$(node -p "require('./package.json').version")
83119
84-
# Only add beta if version changed
85-
if [ "${ORIGINAL_VERSIONS[$PKG_NAME]}" != "$NEW_VERSION" ]; then
86-
PKG_BETA="${NEW_VERSION}-beta.${TIMESTAMP}"
87-
npm version $PKG_BETA --no-git-tag-version
120+
# If version changed OR doesn't have beta suffix, update it
121+
if [ "${ORIGINAL_VERSIONS[$PKG_NAME]}" != "$NEW_VERSION" ] || [[ "$NEW_VERSION" != *"-beta."* ]]; then
122+
# If already has beta, just update timestamp; otherwise add beta
123+
if [[ "$NEW_VERSION" == *"-beta."* ]]; then
124+
BETA_VERSION=$(echo "$NEW_VERSION" | sed "s/-beta\.[0-9]*$/-beta.${TIMESTAMP}/")
125+
else
126+
BETA_VERSION="${NEW_VERSION}-beta.${TIMESTAMP}"
127+
fi
128+
npm version $BETA_VERSION --no-git-tag-version
88129
CHANGED_PACKAGES="$CHANGED_PACKAGES $PKG_NAME"
130+
echo "✓ Updated $PKG_NAME: $NEW_VERSION → $BETA_VERSION"
131+
else
132+
echo "✓ $PKG_NAME unchanged: $NEW_VERSION"
89133
fi
90134
cd -
91135
fi
92136
done
93137
94-
# Store package.json files before changeset modifications
95-
for pkg in packages/*/; do
96-
if [ -d "$pkg" ] && [ -f "$pkg/package.json" ]; then
97-
cp "$pkg/package.json" "$pkg/package.json.backup"
98-
fi
99-
done
100-
101-
# Commit all changes
102-
git config user.name "github-actions[bot]"
103-
git config user.email "github-actions[bot]@users.noreply.github.com"
104-
git add -A
105-
git commit -m "chore: prepare beta release
106-
107-
Changed packages: $CHANGED_PACKAGES"
108-
109-
# Restore peerDependencies from backup to prevent beta version pollution
138+
# Restore peerDependencies from backup to prevent auto-update
139+
echo "Restoring peerDependencies from backup..."
110140
for pkg in packages/*/; do
111141
if [ -d "$pkg" ] && [ -f "$pkg/package.json.backup" ]; then
112142
cd "$pkg"
143+
echo "Restoring peerDependencies for $(basename "$pkg")"
113144
# Extract peerDependencies from backup and apply to current
114145
node -e "
115146
const fs = require('fs');
116147
const backup = JSON.parse(fs.readFileSync('./package.json.backup', 'utf8'));
117148
const current = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
118149
if (backup.peerDependencies) {
150+
console.log('Restoring peerDependencies:', backup.peerDependencies);
119151
current.peerDependencies = backup.peerDependencies;
152+
fs.writeFileSync('./package.json', JSON.stringify(current, null, 2) + '\\n');
120153
}
121-
fs.writeFileSync('./package.json', JSON.stringify(current, null, 2) + '\\n');
122154
"
123-
rm -f package.json.backup
124155
cd -
125156
fi
126157
done
127158
128-
# Commit peerDependencies fix if there are changes
129-
if ! git diff --quiet; then
130-
git add -A
131-
git commit -m "fix: restore peerDependencies to prevent beta version pollution"
132-
fi
159+
# Commit all changes
160+
git config user.name "github-actions[bot]"
161+
git config user.email "github-actions[bot]@users.noreply.github.com"
162+
git add -A
163+
git commit -m "chore: prepare beta release
164+
165+
Changed packages: $CHANGED_PACKAGES"
166+
167+
# Clean up backup files
168+
for pkg in packages/*/; do
169+
if [ -d "$pkg" ] && [ -f "$pkg/package.json.backup" ]; then
170+
rm -f "$pkg/package.json.backup"
171+
fi
172+
done
133173
134174
git push origin develop
135175
@@ -167,6 +207,14 @@ jobs:
167207
local PKG_VERSION=$2
168208
local NPM_NAME=$3
169209
210+
echo "Checking if release ${PKG_NAME}@${PKG_VERSION} already exists..."
211+
212+
# Check if release already exists
213+
if gh release view "${PKG_NAME}@${PKG_VERSION}" &>/dev/null; then
214+
echo "⚠️ Release ${PKG_NAME}@${PKG_VERSION} already exists, skipping..."
215+
return 0
216+
fi
217+
170218
echo "Creating release for $PKG_NAME@$PKG_VERSION"
171219
172220
gh release create "${PKG_NAME}@${PKG_VERSION}" \

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ dist
1212
dist-ssr
1313
*.local
1414

15+
# Lock files (avoid version conflicts in CI)
16+
pnpm-lock.yaml
17+
18+
# Backup files
19+
*.backup
20+
package.json.backup
21+
1522
# Editor directories and files
1623
.vscode/*
1724
!.vscode/extensions.json

CHANGELOG.md

Lines changed: 97 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,107 @@
11
# Changelog
22

3+
## 1.1.7
4+
5+
### Patch Changes
6+
7+
- c9b80cb: fix: VDragAndDropCell이 속성이 없을 때 사라지는 문제 수정
8+
- DragAndDropCell 컴포넌트에서 속성이 누락되었을 때 발생하는 문제 해결
9+
- 이슈 #177 수정
10+
11+
## 1.1.7
12+
13+
### Patch Changes
14+
15+
- df8c87d: fix: rows/cols가 비어있을 때 Vue2와 동일하게 렌더링되도록 수정
16+
- 디버그용 console.log 코드 제거
17+
- rows/cols가 모두 비어있을 때도 테이블 구조와 총계가 표시되도록 수정
18+
- rowAttrs가 비어있을 때 헤더에 빈 행이 추가되는 문제 해결
19+
- Vue2의 렌더링 동작과 완전히 일치하도록 조건부 렌더링 로직 개선
20+
21+
## 1.1.7
22+
23+
### Patch Changes
24+
25+
- d72a22d: test: 수정된 베타 버전 증가 로직 테스트
26+
27+
**수정된 워크플로우 검증:**
28+
1. changeset 실행 전 베타 접미사 제거
29+
2. changeset version으로 버전 증가 (1.1.6 → 1.1.7, 2.0.7 → 2.0.8)
30+
3. 증가된 버전에 베타 접미사 재적용
31+
32+
**기대 결과:**
33+
- vue-pivottable: 1.1.6-beta.xxx → 1.1.7-beta.yyy
34+
- plotly-renderer: 2.0.7-beta.xxx → 2.0.8-beta.yyy
35+
- lazy-table-renderer: 변경 없음 (changeset 제외)
36+
37+
## 1.1.6
38+
39+
### Patch Changes
40+
41+
- d8c5bff: test: 올바른 베타 버전 증가 테스트
42+
43+
**수정된 로직 테스트:**
44+
- changeset version의 버전 증가를 보존
45+
- 선택적 베타 타임스탬프 적용 (변경된 패키지만)
46+
- lazy-table-renderer는 changeset 없으므로 변경되지 않아야 함
47+
48+
**기대 결과:**
49+
- vue-pivottable: 1.1.6-beta.old → 1.1.7-beta.new (버전 증가 + 새 타임스탬프)
50+
- plotly-renderer: 2.0.7-beta.old → 2.0.8-beta.new (버전 증가 + 새 타임스탬프)
51+
- lazy-table-renderer: 1.1.7-beta.old → 1.1.7-beta.old (변경 없음)
52+
53+
## 1.1.6
54+
55+
### Patch Changes
56+
57+
- d29dbcb: test: 베타 타임스탬프 교체 시나리오 테스트
58+
59+
**현재 상황:**
60+
- develop 브랜치에 이미 베타 버전들이 존재
61+
- main PR #247이 승인되지 않은 상태
62+
- 추가 changeset으로 베타 타임스탬프 교체 테스트
63+
64+
**기대 결과:**
65+
- vue-pivottable: 1.1.6-beta.OLD → 1.1.7-beta.NEW
66+
- plotly-renderer: 2.0.7-beta.OLD → 2.0.8-beta.NEW
67+
- lazy-table-renderer: 1.1.7-beta.OLD (변경 없음, changeset 없음)
68+
69+
**테스트 목표:**
70+
- 베타 중복 방지 (1.1.7-beta.xxx-beta.yyy 같은 형태 방지)
71+
- 새로운 타임스탬프로 교체
72+
- main PR #247 자동 업데이트
73+
74+
## 1.1.6
75+
76+
### Patch Changes
77+
78+
- 655b3b1: test: 단일 패키지 배포 시나리오 테스트
79+
- vue-pivottable만 변경하여 1개 패키지 배포 테스트
80+
- main PR이 있는 상태에서 추가 변경사항 반영 테스트
81+
82+
## 1.1.6
83+
84+
### Patch Changes
85+
86+
- 9b0077c: fix: 워크플로우 및 버전 관리 시스템 개선
87+
- develop 브랜치에서 항상 베타 버전 보장하는 로직 추가
88+
- peerDependencies를 현재 npm latest와 일치하도록 수정
89+
- changeset이 없어도 베타 접미사가 자동으로 추가되도록 개선
90+
- npm 배포 충돌 및 버전 불일치 문제 근본 해결
91+
92+
## 1.1.6
93+
94+
### Patch Changes
95+
96+
- fix: 버전 관리 문제 해결을 위한 버전 범프
97+
- develop 브랜치의 버전이 베타 접미사 없이 유지되는 문제 해결
98+
- npm에 이미 배포된 버전과 충돌 방지
99+
3100
## 1.1.5
4101

5102
### Patch Changes
6103

7104
- 5ef202b: fix: develop 브랜치를 베타 버전으로 복구
8-
9105
- develop 브랜치가 정식 버전으로 잘못 업데이트된 것을 수정
10106
- 모든 패키지를 베타 버전으로 변경
11107
- develop 브랜치는 항상 베타 버전을 유지해야 함
@@ -15,14 +111,12 @@
15111
### Patch Changes
16112

17113
- 9dd7707: fix: 베타 릴리즈 프로세스 전체 개선
18-
19114
- 베타 버전 중복 문제 해결 (1.1.5-beta.xxx-beta.yyy → 1.1.5-beta.yyy)
20115
- peerDependencies 베타 버전 오염 방지
21116
- changeset 적용 전 package.json 백업 및 peerDependencies 복원 로직 추가
22117
- 워크플로우에서 베타 버전이 의존성에 전파되지 않도록 개선
23118

24119
- 9dd7707: fix: 베타 버전 중복 및 peerDependencies 오염 문제 긴급 수정
25-
26120
- 중복된 베타 버전 제거 (1.1.5-beta.xxx-beta.yyy → 1.1.5-beta.yyy)
27121
- plotly-renderer의 peerDependencies를 원래 버전으로 복원
28122

@@ -49,7 +143,6 @@
49143
### Patch Changes
50144

51145
- 0c3c5b0: fix: 하위 패키지 이중 베타 버전 문제 해결
52-
53146
- lazy-table-renderer와 plotly-renderer의 잘못된 베타 버전 수정
54147
- 워크플로우 개선사항 적용을 위한 릴리스 준비
55148

@@ -58,7 +151,6 @@
58151
### Patch Changes
59152

60153
- ad33eb8: fix: 프로덕션 릴리스를 위한 버전 업데이트
61-
62154
- 워크플로우 개선사항 반영
63155
- 안정적인 배포 프로세스 확립
64156

@@ -67,7 +159,6 @@
67159
### Patch Changes
68160

69161
- dae29ab: fix: 베타와 프로덕션 릴리스 워크플로우 개선
70-
71162
- 베타와 프로덕션 모두 동일한 release-packages.cjs 스크립트 사용
72163
- changeset이 적용된 패키지만 베타 버전 생성하도록 수정
73164
- 프로덕션 릴리스 시 기존 릴리스 브랜치 삭제 후 재생성
@@ -78,7 +169,6 @@
78169
### Patch Changes
79170

80171
- 34e74ef: fix: 프로덕션 배포가 release 브랜치에서 실행되도록 수정
81-
82172
- release.yml에서 release-packages.cjs 사용하도록 변경
83173
- npm 배포 전 release 브랜치로 checkout하도록 수정
84174
- 베타와 프로덕션 배포가 동일한 스크립트 사용
@@ -88,7 +178,6 @@
88178
### Patch Changes
89179

90180
- c2d09a4: fix: 빌드 오류 처리 및 순서 개선
91-
92181
- set -e 추가로 빌드 실패 시 워크플로우 즉시 중단
93182
- 메인 패키지를 먼저 빌드하여 타입 선언 파일 생성
94183
- 하위 패키지들이 메인 패키지 타입을 참조할 수 있도록 순서 조정
@@ -98,7 +187,6 @@
98187
### Patch Changes
99188

100189
- 224a73a: fix: 베타 릴리스 워크플로우 근본 수정 (3번째 시도)
101-
102190
- step ID 누락 해결: 'id: version' 추가
103191
- 베타 중복 방지: 기존 -beta.\* 제거 후 새로 추가
104192
- 릴리스 순서 개선: GitHub Release → npm 퍼블리시
@@ -109,7 +197,6 @@
109197
### Patch Changes
110198

111199
- 1075ac6: feat: 릴리즈 브랜치를 활용한 새로운 배포 워크플로우 구현
112-
113200
- main 브랜치 보호 규칙을 유지하면서 자동 릴리즈 가능
114201
- 각 릴리즈마다 release/v\* 브랜치 생성
115202
- 독립적인 패키지 빌드 및 배포 지원

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-pivottable",
3-
"version": "1.1.5",
3+
"version": "1.1.7-beta.1751879666",
44
"type": "module",
55
"description": "",
66
"exports": {

packages/lazy-table-renderer/CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,32 @@
44

55
### Patch Changes
66

7+
- 646ada0: test: 2개 패키지 배포 시나리오 테스트
8+
9+
- plotly-renderer와 lazy-table-renderer만 변경
10+
- vue-pivottable은 변경하지 않음
11+
- GitHub Release 중복 방지 테스트
12+
- peerDependencies 자동 업데이트 방지 테스트
13+
14+
15+
## 1.1.7
16+
17+
### Patch Changes
18+
19+
- 9b0077c: fix: 워크플로우 및 버전 관리 시스템 개선
20+
21+
- develop 브랜치에서 항상 베타 버전 보장하는 로직 추가
22+
- peerDependencies를 현재 npm latest와 일치하도록 수정
23+
- changeset이 없어도 베타 접미사가 자동으로 추가되도록 개선
24+
- npm 배포 충돌 및 버전 불일치 문제 근본 해결
25+
26+
- Updated dependencies [9b0077c]
27+
28+
29+
## 1.1.7
30+
31+
### Patch Changes
32+
733
- 429cf68: fix: peerDependencies가 존재하지 않는 버전을 참조하는 문제 수정
834

935
- vue-pivottable의 peerDependency를 ^1.1.5에서 ^1.1.4로 변경

0 commit comments

Comments
 (0)