本プロジェクトでは、npm パッケージのリリースにおいて以下の Git Flow ベースの運用を採用しています。
- main: リリース用ブランチ。常にリリース可能な状態を保ちます。
- develop: 開発用ブランチ。トピックブランチはここから分岐し、ここにマージします。
- release/x.y.z: リリース準備用ブランチ。
developから分岐し、最終確認を経てmainへマージします。
developブランチからrelease/x.y.zブランチを作成します。releaseブランチで必要な確認・更新を行います。releaseブランチをmainブランチにマージします。mainブランチのマージコミットに対してタグ(vX.Y.Z)を付与し、npm へ公開します。
release/x.y.z ブランチを作成後、以下の手順を実行します。
-
テスト最終確認: 全テストがパスすることを確認します。
-
バージョン更新:
package.jsonのversionを更新します。 -
CHANGELOG 更新: 手動で
CHANGELOG.mdを更新します。GitHub Releaseノートには、この CHANGELOG の該当バージョンへのリンクまたは内容を転記します。
-
ビルド成果物の確認:
npm run buildが成功すること。.d.ts(型定義ファイル) が正しく生成されており、公開 API と一致していること。npm pack --dry-runで梱包されるファイル一覧を確認すること。npm ls --omit=devで不要なdevDependencyが混入していないか確認すること。
推奨: 別の検証用プロジェクトを作成し、実際にインストールして動作確認を行うこと。
npm pack # 別プロジェクトで実行 npm install /path/to/pai-forge-riichi-mahjong-0.2.0.tgz
release ブランチを main にマージした後、以下の手順で公開します。
-
タグ付け:
mainのHEAD(リリースコミット) にタグを打ちます (例:v0.2.0)。package.jsonのversionとタグが一致していることを確認してください。
-
リモート反映:
git push origin main --tags
-
npm publish: ローカル環境から実行する場合、必ずクリーンな状態でビルドしてから公開します。
git checkout main git pull # node_modules のクリーンインストール npm ci # ビルド npm run build # 最終確認 npm pack --dry-run # 公開 npm publish