Behavior changes (lock-step with hijri-core fix/utc-day-boundary):
- toHijriDate and all field/format/comparison/arithmetic functions now lift input
Dates through localDayToUtcSlot() before calling coreToHijri(), reading the
caller's LOCAL calendar day (date-fns convention). Previously passed the raw
Date which caused off-by-one results in timezones west of UTC against the new
UTC-day core contract.
- fromHijriDate now returns local-midnight Dates (new Date(y, m, d)) instead of
UTC midnight. Local field accessors and date-fns format() render the intended
calendar day on every host timezone. toISOString() is no longer the right API
for this value.
- addHijriMonths, addHijriYears, startOfHijriMonth, endOfHijriMonth call
fromHijriDate directly; the utcMidnightToLocalNoon shim is removed.
- Round-trip toHijriDate(fromHijriDate(y, m, d)) is now exact on every timezone.
Verified: 58/58 ESM tests, 10/10 CJS tests, 16/16 vitest assertions across
TZ=UTC, TZ=America/New_York, and TZ=Pacific/Auckland.
Add typedoc and typedoc-plugin-markdown as devDependencies. Add typedoc.json config
targeting src/index.ts with markdown output to .github/wiki/api. Add docs script to
package.json. Generate initial API reference pages.
Part of T-E8-03 — TypeDoc automation for all 12 JS/TS packages.