Commit graph

16 commits

Author SHA1 Message Date
Aric Camarata
bdb0615c16 chore(config): add AGENTS.md for dual-harness parity 2026-05-25 15:51:18 -04:00
Aric Camarata
4534b41957 feat: add getMidnight and Midnight field to prayer times output
Computes the midpoint of the night (Maghrib to Fajr), commonly used as
the Isha prayer endpoint. Also works with sunrise as the second anchor
for the astronomical variant.

Closes #1
2026-03-22 09:22:59 -04:00
Aric Camarata
155217265d style: replace em dashes with colons in docs and wiki 2026-03-08 17:28:03 -04:00
Aric Camarata
c02f197ece v2.0.0 — TypeScript rewrite, dual ESM/CJS, 14 methods + PCD dynamic algorithm
Complete rewrite from plain JavaScript to TypeScript with dual CJS/ESM output
via tsup. Removes all legacy .js source files and the old CommonJS-only index.

Key changes:
- Full TypeScript source in src/ with strict mode and declaration maps
- tsup build: dist/index.cjs + dist/index.mjs + dual .d.ts / .d.mts types
- 14 traditional fixed-angle methods (UOIF through MUIS) + MSC seasonal method
- PCD dynamic algorithm: MSC seasonal base + Earth-Sun distance correction +
  ecliptic geometry + atmospheric refraction + observer elevation
- getTimesAll() batches all 14x2 zenith angles into a single SPA call
- getMscFajr() / getMscIsha() expose MSC seasonal reference directly
- getAngles() returns the PCD-computed fajrAngle and ishaAngle
- High-latitude bounds: angles clipped to [10, 20] above 55N
- 106 tests across ESM and CJS (test.mjs + test-cjs.cjs)
- CI matrix: Node 20/22/24, typecheck, pack-check
- Wiki: 12 reference pages + 6-page research section with global accuracy study,
  home-territory comparison, observational evidence, and field observation matrix
- Moon functions removed (migrated to moon-sighting package)
- pnpm-only, Node >=20, sideEffects: false
2026-02-25 18:11:20 -05:00
f020a844f0 Added tests 2025-05-14 15:15:32 -04:00
2f9155b567 Update to readme and meta 2025-05-14 15:12:52 -04:00
9e0428a6d9 Major update for core calculation algorithm and bug fixes 2025-05-04 11:34:23 -04:00
269cb3bb11 Update packaging for 1.6.2 2025-05-04 09:38:05 -04:00
6950f5a291 Fixes for 1.6.1 2025-05-04 09:34:00 -04:00
aaf15ee624 moon visibility for start and end 2023-12-01 16:41:57 +07:00
2d266214fa comments on version 2023-11-14 12:28:17 +07:00
d7c449ece7 update index.d.ts 2023-11-13 22:39:50 +07:00
6380403cf7 add phase name and symbol 2023-11-13 22:24:17 +07:00
c1814c2783 added getMoon functions 2023-11-13 21:34:55 +07:00
aacc8ff81b edit version in change log 2023-11-13 09:16:56 +07:00
b867162ace updated for timezone handling and asr calc 2023-11-13 08:51:34 +07:00