Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/docs-and-pr-update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@vue-pivottable/plotly-renderer": patch
---

chore: plotly-renderer peerDependency를 'latest'로 변경

- 베타 버전 대신 'latest'를 사용하여 더 유연한 버전 관리 가능
76 changes: 75 additions & 1 deletion .github/workflows/release-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,4 +120,78 @@ jobs:

This is a pre-release version. It may contain bugs and breaking changes.

Install with: `npm install vue-pivottable@beta`
Install with: `npm install vue-pivottable@beta`

- name: Create or Update PR to main
if: steps.changesets-check.outputs.has_changesets == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# 현재 버전 가져오기
VERSION=$(node -p "require('./package.json').version")

# 기존 PR 확인
PR_NUMBER=$(gh pr list --base main --head develop --state open --json number -q '.[0].number')

if [ -z "$PR_NUMBER" ]; then
# 새 PR 생성
gh pr create \
--base main \
--head develop \
--title "Release: $VERSION" \
--body "## 🚀 Release $VERSION

This PR contains the latest beta release ready for production.

### Beta Version
- $VERSION

### Packages to be released
- vue-pivottable: $VERSION
- Check sub-packages for version updates

### Pre-release Testing
- Beta version has been published to npm with tag @beta
- Install with: \`npm install vue-pivottable@beta\`

### Release Notes
See [CHANGELOG.md](./CHANGELOG.md) for details.

---
⚠️ **Note**: This PR will be automatically updated if new changes are pushed to develop."
else
# 기존 PR 업데이트
echo "Updating existing PR #$PR_NUMBER with new beta version..."

gh pr edit $PR_NUMBER \
--title "Release: $VERSION" \
--body "## 🚀 Release $VERSION (Updated)

This PR has been automatically updated with the latest beta release.

### Current Beta Version
- $VERSION

### Packages to be released
- vue-pivottable: $VERSION
- Check sub-packages for version updates

### Pre-release Testing
- Beta version has been published to npm with tag @beta
- Install with: \`npm install vue-pivottable@beta\`

### ⚠️ Important
**This PR has been updated with new commits. Please review the changes again.**

### Release Notes
See [CHANGELOG.md](./CHANGELOG.md) for details.

---
Last updated: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"

# PR을 ready for review 상태로 설정
gh pr ready $PR_NUMBER

# auto-updated 라벨 추가
gh pr edit $PR_NUMBER --add-label "auto-updated,needs-review"
fi
52 changes: 48 additions & 4 deletions AI_USAGE_GUIDELINES.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,12 +171,56 @@ require → import 구문으로 변환

## 주요 지침

### 1. 점진적 접근
### 1. 순차적 사고 (Sequential Thinking)
- 복잡한 작업은 단계별로 나누어 접근
- 각 단계를 명확히 정의하고 순서대로 진행
- 단계별 완료 확인 후 다음 단계 진행

#### 예시: 다중 파일 작업
```markdown
## 작업 계획
1. 문제 분석 및 영향 범위 파악
2. 첫 번째 파일 수정
3. 테스트 및 검증
4. 두 번째 파일 수정
5. 전체 통합 테스트
```

### 2. 점진적 접근
- 한 번에 하나의 문제만 해결
- 각 단계마다 테스트 수행
- 결과 보고 후 다음 단계 진행

### 2. 명확한 근거 제시
### 3. MCP 서버 활용
- **sequential-thinking MCP 서버가 설정된 경우**: 복잡한 문제 해결 시 활용
- **context7 MCP 서버가 설정된 경우**: 기술적 이슈나 최신 내용 확인이 필요할 때 사용
- MCP 서버가 없는 경우: 순차적 사고 방식으로 접근

#### MCP 서버 사용 예시
```markdown
# sequential-thinking 서버
- 복잡한 버그 디버깅
- 다단계 리팩토링 작업
- 의존성 업데이트 영향 분석

# context7 서버
- 최신 라이브러리 API 확인
- 보안 이슈 검토
- 성능 최적화 가이드
```

### 4. Task 도구 활용
- 여러 파일에 걸친 복잡한 검색이나 분석 작업 시 활용
- 단순한 파일 읽기보다 복잡한 패턴 검색이나 코드 분석이 필요할 때

#### 예시: Task 도구 사용 케이스
```markdown
- ESLint 설정 파일과 관련된 모든 사용처 찾기
- 특정 타입이 프로젝트 전체에서 어떻게 사용되는지 분석
- 의존성 업데이트가 미치는 영향 범위 파악
```

### 5. 명확한 근거 제시
```markdown
// 좋은 예시
"RendererDefinition에서 renderer 속성이 실제로 사용되는 곳이 없습니다.
Expand All @@ -187,14 +231,14 @@ grep 검색 결과: [검색 결과 첨부]
"이 속성은 필요 없어 보입니다."
```

### 3. 사용자 의도 확인
### 6. 사용자 의도 확인
```markdown
"기존 코드의 의도를 확인하고 싶습니다."
"어떤 방향으로 진행할까요?"
"이렇게 수정하는 것이 맞을까요?"
```

### 4. 테스트 결과 공유
### 7. 테스트 결과 공유
```bash
# 항상 다음 명령어로 검증
pnpm lint # ESLint 검사
Expand Down
4 changes: 2 additions & 2 deletions README.ko.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Vue Pivottable

> [English](./README.md) | 한국어

[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-)
[![npm](https://flat.badgen.net/npm/v/vue-pivottable)](https://npmjs.com/package/vue-pivottable)
[![npm](https://flat.badgen.net/npm/dt/vue-pivottable)](https://npmjs.com/package/vue-pivottable)
[![npm](https://flat.badgen.net/npm/license/vue-pivottable)](https://flat.badgen.net/npm/license/vue-pivottable)
[![jsdelivr](https://data.jsdelivr.com/v1/package/npm/vue-pivottable/badge)](https://www.jsdelivr.com/package/npm/vue-pivottable)

> [English](./README.md) | 한국어

**Vue 3용 피벗 테이블 컴포넌트**

`vue-pivottable`은 Vue 3 호환 피벗 테이블 컴포넌트로, 인기 있는 [react-pivottable](https://github.com/plotly/react-pivottable)의 Vue 래퍼입니다. 이 라이브러리를 사용하면 대용량 데이터셋을 피벗 테이블 UI에서 쉽게 요약, 변환, 시각화할 수 있습니다.
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Vue Pivottable

> English | [한국어](./README.ko.md)

[![All Contributors](https://img.shields.io/badge/all_contributors-3-orange.svg?style=flat-square)](#contributors-)
[![npm](https://flat.badgen.net/npm/v/vue-pivottable)](https://npmjs.com/package/vue-pivottable)
[![npm](https://flat.badgen.net/npm/dt/vue-pivottable)](https://npmjs.com/package/vue-pivottable)
Expand Down
51 changes: 45 additions & 6 deletions RELEASE_STRATEGY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Release Strategy

> English | [한국어](./RELEASE_STRATEGY.ko.md)

## Overview

This document outlines the release strategy for the vue3-pivottable monorepo, which uses Changesets for version management and supports independent package releases.
Expand Down Expand Up @@ -79,16 +81,16 @@ Our monorepo contains three independently versioned packages:
graph TD
A[Changeset Files] --> B{Which packages?}
B -->|vue-pivottable| C[Main Package]
B -->|@vue-pivottable/plotly-renderer| D[Plotly Renderer]
B -->|@vue-pivottable/lazy-table-renderer| E[Lazy Table Renderer]
B -->|plotly-renderer| D[Plotly Renderer]
B -->|lazy-table-renderer| E[Lazy Table Renderer]

C --> F[Independent Version]
D --> G[Independent Version]
E --> H[Independent Version]

F --> I[Build Publish if changed]
G --> J[Build Publish if changed]
H --> K[Build Publish if changed]
F --> I[Build then Publish if changed]
G --> J[Build then Publish if changed]
H --> K[Build then Publish if changed]
```

### Configuration
Expand Down Expand Up @@ -200,6 +202,38 @@ vue-pivottable: 1.2.0-beta.1234567890 → 1.2.0
3. **Independent versions** - Don't bump unchanged packages
4. **Quality first** - All checks must pass before publish

## Handling Updates During Release Process

### Scenario: Changes to develop after PR to main

When a PR from develop to main is already open and new changes are pushed to develop:

1. **Automatic PR Update**
- The release-develop workflow automatically detects existing PR
- Updates PR title with new beta version
- Updates PR description with timestamp and new version info
- Adds `auto-updated` and `needs-review` labels
- Sets PR back to "ready for review" state

2. **Review Process**
- Reviewers are notified of the update via labels
- Previous approvals remain but re-review is recommended
- PR description shows clear "Updated" status with timestamp

3. **Benefits**
- PR history and discussions are preserved
- No manual intervention required
- Clear audit trail of all beta versions

### Example Flow
```
1. v1.2.0-beta.1234567890 → PR #123 created
2. New fix pushed to develop
3. v1.2.1-beta.2345678901 → PR #123 automatically updated
4. Reviewers see "auto-updated" label and re-review
5. Once approved, merge to main triggers stable release
```

## Troubleshooting

### Beta version not publishing?
Expand All @@ -215,4 +249,9 @@ vue-pivottable: 1.2.0-beta.1234567890 → 1.2.0
### Type errors in CI but not locally?
- Run `pnpm typecheck` locally
- Check all workspace packages: `pnpm -r typecheck`
- Ensure dependencies are up to date
- Ensure dependencies are up to date

### PR not updating automatically?
- Check GitHub Actions permissions
- Verify GITHUB_TOKEN has write access to PRs
- Check if PR is in open state
2 changes: 1 addition & 1 deletion packages/plotly-renderer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
},
"peerDependencies": {
"vue": "^3.2.0",
"vue-pivottable": "1.0.1"
"vue-pivottable": "latest"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.1",
Expand Down
16 changes: 2 additions & 14 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.