Skip to content

Latest commit

 

History

History
215 lines (163 loc) · 6.06 KB

File metadata and controls

215 lines (163 loc) · 6.06 KB

GitHub Issues テンプレート

Postem近代化プロジェクトのGitHub Issue作成用テンプレート集です。

Issue #1: テストフレームワークの導入

タイトル

feat: テストフレームワークの導入(Jest + Playwright for Electron)

本文

## 概要
プロジェクトの品質向上と安全な依存関係更新のため、テストフレームワークを導入します。

## 背景
- 現在、プロジェクトにテストが存在しない
- 依存関係の更新時に動作確認が困難
- CI/CDによる自動テストが実行できない

## 実装内容

### 1. テストフレームワークのセットアップ ✅
- ✅ Vitestの導入と設定(必要最小限)
- ✅ Playwright for Electronの導入(メインテストツール)
- ✅ テスト用のnpm scriptsの追加

### 2. テストファイル構造の作成 ✅

tests/ ├── unit/ # 単体テスト ├── integration/ # 統合テスト(Playwright) └── fixtures/ # テスト用データ


### 3. 初期テストの作成 ✅
- ✅ アプリケーション起動テスト
- ✅ 基本的なウィンドウ表示テスト
- ✅ サンプル単体テスト
- ✅ DEBUGサービスを使った投稿フローテスト
- ✅ URLパラメーター起動テスト

## 技術的な詳細
- Vitest: 単体テスト用(高速、ES modules対応、Viteとの統合)
- Playwright: Electronアプリの統合テスト用
- GitHub ActionsでLinux環境でのヘッドレステストを実行

## 参考資料
- [Playwright Electron API](https://playwright.dev/docs/api/class-electron)
- [Vitest公式ドキュメント](https://vitest.dev/)

Issue #3: 非推奨パッケージの更新

タイトル

fix: セキュリティリスクのある非推奨パッケージの更新

本文

## 概要
非推奨またはセキュリティリスクのあるパッケージを最新の代替パッケージに更新します。

## 対象パッケージ

### 高優先度(セキュリティリスク)
- [ ] `request` (2.81.0) + `node-fetch` (1.7.1) → ネイティブ`fetch`
  - Node.js 18+ではグローバル`fetch`が利用可能
  - 依存関係を減らし、セキュリティリスクを解消

### 中優先度(非推奨)
- [ ] `moment` (2.18.1) → `date-fns` または `dayjs`
  - momentはメンテナンスモード
- [ ] `js-yaml` (3.8.4) → 最新版
  - 古いバージョンには既知の脆弱性

## 作業内容
1. 各パッケージの使用箇所を調査
2. 移行に必要なコード変更を実施
3. テストで動作確認(テストフレームワーク導入後)

## 注意事項
- APIの互換性を確認してから更新
- 段階的に更新し、各ステップで動作確認

Issue #2: GitHub Actions CI/CDの設定(高優先度)

タイトル

ci: GitHub Actionsによる自動テストの設定

本文

## 概要
GitHub Actionsを使用してプルリクエスト時の自動テストを設定します。

## 実装内容

### ワークフローファイルの作成 ✅
-`.github/workflows/test.yml`の作成
- ✅ Xvfbを使用したElectronのヘッドレステスト環境
- ✅ npmのキャッシュ設定

### テスト実行設定 ✅
- ✅ 単体テストの実行
- ✅ 統合テストの実行(Playwright)
- ✅ ビルドの成功確認

## 期待される効果
- プルリクエスト時の自動品質チェック
- 回帰バグの早期発見
- 安全な依存関係の更新

Issue #4: React 18への段階的アップグレード

タイトル

feat: React 15から19への段階的アップグレード

本文

## 概要
React 15.6.1から最新のReact 18へ段階的にアップグレードします。

## アップグレード計画

### Phase 1: React 16へのアップグレード
- [ ] React 16.14への更新
- [ ] 非推奨APIの修正
- [ ] ライフサイクルメソッドの更新
- [ ] 動作確認とテスト

### Phase 2: React 19への最終アップグレード
- [ ] React 19への更新
- [ ] ReactDOM.renderからcreateRootへの移行
- [ ] React 19の新機能(React Compiler等)の検討

### 関連パッケージの更新
- [ ] `react-codemirror` (0.3.0) → `@uiw/react-codemirror`
- [ ] `react-select` (0.9.1) → `react-select` v5
- [ ] `react-dom` の同時更新

## リスクと対策
- 破壊的変更への対応
- 十分なテストによる動作確認
- 段階的な移行による影響範囲の限定

## 参考資料
- [React 18アップグレードガイド](https://react.dev/blog/2022/03/08/react-18-upgrade-guide)

Issue #5: 基本的な統合テストの実装

タイトル

test: 主要機能の統合テスト実装

本文

## 概要
アプリケーションの主要機能に対する統合テストを実装します。

## テスト対象

### 基本機能テスト
- [ ] アプリケーションの起動・終了
- [ ] メインウィンドウの表示
- [ ] 各種入力フィールドの動作

### 投稿フローテスト(モックサーバー使用)
- [ ] Twitter投稿のフロー
- [ ] はてなブックマーク投稿のフロー
- [ ] 複数サービスへの同時投稿

### URLスキーム起動テスト
- [ ] `postem://`スキームからの起動
- [ ] パラメータの正しい反映

## 実装方針
- Playwright for Electronを使用
- 外部APIはモックサーバーで代替
- 最小限のカバレッジ(30-40%)を目標

## 成果物
- `tests/integration/`配下のテストファイル
- モックサーバーの設定
- テスト実行用のnpm scripts

優先順位と実装順序

  1. Issue #1: テストフレームワークの導入(必須)
  2. Issue #2: GitHub Actions CI/CDの設定(高優先度)
  3. Issue #3: 非推奨パッケージの更新
  4. Issue #5: 基本的な統合テストの実装
  5. Issue #4: React 19への段階的アップグレード

各Issueは相互に依存関係があるため、この順序での実装を推奨します。