bizdays-toolkit 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -1
- package/README.md +54 -703
- package/dist/core/diagnose.js +3 -2
- package/dist/core/schedule.d.ts +17 -3
- package/dist/core/schedule.js +31 -2
- package/dist/core/types.d.ts +11 -1
- package/dist/core/types.js +2 -1
- package/dist/jp/index.d.ts +1 -1
- package/dist/jp/rules.d.ts +9 -0
- package/dist/jp/rules.js +34 -31
- package/dist/provider/index.d.ts +57 -0
- package/dist/provider/index.js +116 -2
- package/dist/sg/index.d.ts +1 -1
- package/dist/sg/rules.d.ts +8 -0
- package/dist/sg/rules.js +25 -1
- package/dist/uk/index.d.ts +1 -1
- package/dist/uk/rules.d.ts +8 -0
- package/dist/uk/rules.js +37 -18
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,42 @@
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.18.0] - 2026-10-25
|
|
8
|
+
|
|
9
|
+
### 移行
|
|
10
|
+
|
|
11
|
+
動作が変わる既存の API はない。同梱の提供元が返す祝日に省略可能な項目 `key` が加わるので、`dayInfo` の結果や `holidaysInYear` の要素を `deepEqual` で比べているテストは期待値に足す(国民の休日・臨時の祝日には付かない)。祝日の規則に省略可能な `keys` が加わる。版ごとの作業は [docs/migration.md](./docs/migration.md) にまとめた。
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- 祝日の識別子 `Holiday.key`(省略可能。`/^[a-z0-9][a-z0-9-]*$/`)と、祝日の規則の絞り込み `{ holiday: true, keys: [...] }`(`kinds`・`weekdays`・`months` との AND)を追加した。春分の日・復活祭に連動する日・太陰暦の祝日のように月日や曜日では書けない祝日を、名称に依存せず個別に指せる。同梱の提供元は毎年繰り返す祝日に `key` を付け(日本 16・英国 12・シンガポール 10。`docs/guide.md` の「Holiday keys」)、振替日は元の祝日の `key` を持ち、国民の休日・一度きりの祝日は持たない。`key` は日付の移動や公式の改名があっても変えない。補完用の型 `KnownJapaneseHolidayKey`・`KnownUkHolidayKey`・`KnownSgHolidayKey` を追加した(`@beta`)。利用者の提供元が付けた `key` は形式だけ検証し、複製・凍結して返す。診断は対応年に現れない `key` を `never-matches`、`key` の集合の包含を `shadowed` で扱う
|
|
16
|
+
- `bizdays-toolkit/provider` に、週末に当たった祝日の振替日を計算する `substituteDays(holidays, { rules, kind, name?, original? })` を追加した(`@beta`。型 `SubstituteDaysOptions`・`SubstituteDirection`)。`rules` は曜日ごとの向き(`"next"`・`"previous"`)で、振替先は「入力の祝日でも、決めた振替日でも、`rules` の曜日でもない最初の日」。振替日は元の祝日の `key`・`names`・`confirmed` を引き継ぐ。日本(2007 年以降)・英国・シンガポールの同梱の提供元の振替日を再現することをテストで確かめている(内部の実装は置き換えていない)
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- `docs/guide.md`・`docs/guide.ja.md`: 「Holiday keys」(祝日の識別子)の節と、繰り返しの規則の `keys` を足した。コード例の結果に `key` が増えた
|
|
21
|
+
- `docs/providers.md`・`docs/providers.ja.md`: `substituteDays` と、自作の提供元に `key` を付ける方法を足した
|
|
22
|
+
- README: 規則の表と機能の箇条書きに `key`・振替の計算を足し、クイックスタートのコメントの "Labour Thanksgiving Day" を `nameEn` の綴り "Labor Thanksgiving Day" に直した
|
|
23
|
+
- `RELEASING.md`: 区分の表で「対応年の拡大」を規則で計算する提供元(日本・英国)に限り、年ごとの表で持つ提供元(シンガポール)に告示済みの新しい年を足すことはパッチに置く、と線を引いた(これまでは 2 つの行が同時に当てはまる状態だった)。「毎年の作業(日本)」を「日本のデータの更新」に改め、監視の差分の種類と対応の表を足した
|
|
24
|
+
- `docs/decisions.md`: 46 番(祝日の識別子と絞り込み、`substituteDays`、内閣府 CSV の毎日の照合、区分の線引き)を追加し、37 番の理由(存在しない「将来の非純粋な判定関数」を前提にしていた)と 44 番の `asOf` の理由(`Date` を断る理由としてタイムゾーンは成り立たなかった)を改めた
|
|
25
|
+
|
|
26
|
+
### 開発
|
|
27
|
+
|
|
28
|
+
- 監視のワークフロー `data-watch.yml` に内閣府「国民の祝日」CSV の照合を足した(issue のラベル `cao-data`。ハートビートは 3 つの照合がすべて動いたときだけ)。`scripts/verify-cao.ts` を英国・シンガポールと同じ形(`--report`・`--simulate`、終了コード 0・1・2、取得の再試行、「New years published」・フィクスチャの差分の節)にした。翌年の春分・秋分の日の公表が issue で届くので、2 月の作業を記憶に頼らない
|
|
29
|
+
- テスト: `test/holiday-key.test.ts` を追加し、`test/provider.test.ts` に `substituteDays`(同梱の 3 か国との同値・向き・名称・入力の検証)を足した。`test/types.check.ts`・利用者の型チェックに `keys`・既知の `key` の型・`substituteDays` を足した
|
|
30
|
+
- サイズの上限(`size-limits.json`)を上げた。`./provider` 4,500 → 6,500(`substituteDays` と入力の検証のため。測定 6,019)、`./diagnose` 32,000 → 33,000(`keys` の判定と診断のため。測定 31,645)(gzip)
|
|
31
|
+
|
|
32
|
+
## [0.17.1] - 2026-10-25
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- README(英語・日本語)を入口に絞り、詳しい説明を `docs/guide.md`・`docs/guide.ja.md`(同梱の提供元・営業日カレンダー・繰り返しの規則・合成・よくある設定の例・月の期日・日ごとの値・スケジュールからのカレンダー・入力・対応年の外・未確定の祝日・エラー・設定の診断)と `docs/providers.md`・`docs/providers.ja.md`(他の国・地域の祝日の提供元の書き方)に移した。README には機能の箇条書き(7 項目)・インストール・クイックスタート・できることの一覧(提供元の表・規則の表・診断の例)・ドキュメントの索引を残した。本文の内容は変えていない(`docs/decisions.md` の 45 番)
|
|
37
|
+
|
|
38
|
+
### 開発
|
|
39
|
+
|
|
40
|
+
- `pnpm check`: 英語と日本語のドキュメントの対(README・`docs/guide`・`docs/providers`)の見出しの数とコードブロックの数の一致、互いへのリンク、`docs/*.md` の見出しへのリンク(`#…`)の実在を確かめる(`scripts/check-package.ts`)。コード例の実行(`scripts/check-readme-examples.ts`)も docs のガイドを対象に含めた
|
|
41
|
+
- `RELEASING.md`・`docs/decisions.md` の 22・27 番に、ドキュメントの対が増えたことを書いた
|
|
42
|
+
|
|
7
43
|
## [0.17.0] - 2026-10-25
|
|
8
44
|
|
|
9
45
|
### 移行
|
|
@@ -458,7 +494,9 @@
|
|
|
458
494
|
|
|
459
495
|
- 日本: 2026 年 2 月の官報(2027 年の春分・秋分の日)まで反映(`dataVersion: "2026-02"`、`confirmedThrough: 2027`)
|
|
460
496
|
|
|
461
|
-
[Unreleased]: https://github.com/inohan77/bizdays-toolkit/compare/v0.
|
|
497
|
+
[Unreleased]: https://github.com/inohan77/bizdays-toolkit/compare/v0.18.0...HEAD
|
|
498
|
+
[0.18.0]: https://github.com/inohan77/bizdays-toolkit/compare/v0.17.1...v0.18.0
|
|
499
|
+
[0.17.1]: https://github.com/inohan77/bizdays-toolkit/compare/v0.17.0...v0.17.1
|
|
462
500
|
[0.17.0]: https://github.com/inohan77/bizdays-toolkit/compare/v0.16.0...v0.17.0
|
|
463
501
|
[0.16.0]: https://github.com/inohan77/bizdays-toolkit/compare/v0.15.0...v0.16.0
|
|
464
502
|
[0.15.0]: https://github.com/inohan77/bizdays-toolkit/compare/v0.14.1...v0.15.0
|