Postem近代化プロジェクトのGitHub Issue作成用テンプレート集です。
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/)
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の互換性を確認してから更新
- 段階的に更新し、各ステップで動作確認ci: GitHub Actionsによる自動テストの設定
## 概要
GitHub Actionsを使用してプルリクエスト時の自動テストを設定します。
## 実装内容
### ワークフローファイルの作成 ✅
- ✅ `.github/workflows/test.yml`の作成
- ✅ Xvfbを使用したElectronのヘッドレステスト環境
- ✅ npmのキャッシュ設定
### テスト実行設定 ✅
- ✅ 単体テストの実行
- ✅ 統合テストの実行(Playwright)
- ✅ ビルドの成功確認
## 期待される効果
- プルリクエスト時の自動品質チェック
- 回帰バグの早期発見
- 安全な依存関係の更新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)test: 主要機能の統合テスト実装
## 概要
アプリケーションの主要機能に対する統合テストを実装します。
## テスト対象
### 基本機能テスト
- [ ] アプリケーションの起動・終了
- [ ] メインウィンドウの表示
- [ ] 各種入力フィールドの動作
### 投稿フローテスト(モックサーバー使用)
- [ ] Twitter投稿のフロー
- [ ] はてなブックマーク投稿のフロー
- [ ] 複数サービスへの同時投稿
### URLスキーム起動テスト
- [ ] `postem://`スキームからの起動
- [ ] パラメータの正しい反映
## 実装方針
- Playwright for Electronを使用
- 外部APIはモックサーバーで代替
- 最小限のカバレッジ(30-40%)を目標
## 成果物
- `tests/integration/`配下のテストファイル
- モックサーバーの設定
- テスト実行用のnpm scripts- Issue #1: テストフレームワークの導入(必須)
- Issue #2: GitHub Actions CI/CDの設定(高優先度)
- Issue #3: 非推奨パッケージの更新
- Issue #5: 基本的な統合テストの実装
- Issue #4: React 19への段階的アップグレード
各Issueは相互に依存関係があるため、この順序での実装を推奨します。