@liha-labs/holiday の実装とデータ同期を管理する pnpm workspace です。
data/: 公式CSVから同期したフル期間データ(source of truth)scripts/holiday/: 同期・生成スクリプトpackages/holiday/: npm 配布パッケージ本体
- ルート
data/はフル期間を保持 packages/holiday/data/all.jsonはフル期間を保持packages/holiday/data/by-year/は「現在年の前後2年」の年別JSONのみを保持packages/holiday/src/generated/*は同期時に再生成される
pnpm update:holidays- e-Gov CKAN から公式CSVを取得
- ルート
data/をフル同期 packages/holiday/dataを配布用に再生成packages/holiday/src/generated/*を再生成
pnpm generate:holidays- 既存
data/all.jsonから再生成のみ実行(再ダウンロードなし)
.github/workflows/update-holidays.ymlは月1回実行(毎月1日 03:00 UTC)- 実行コマンドは
pnpm update:holidays
- 祝日ロジックは計算しない。判定は公式データ準拠。
- 文字コードは CSV の UTF-8 / Shift_JIS 両方に対応。