mirror of
https://github.com/acamarata/pray-calc.git
synced 2026-06-30 19:04:26 +00:00
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
762 B
762 B
Changelog
See CHANGELOG.md in the repository for the full version history.
v2.0.0 Highlights
- Full TypeScript rewrite (dual CJS/ESM build)
- Physics-grounded dynamic angle algorithm (MSC base + r correction + Fourier + refraction + elevation)
- 14 traditional methods (added IGUT/Tehran, Kuwait, Qatar)
- Removed suncalc dependency; removed moon functionality (moved to moon-sighting)
getAsrrefactored to pure math using Meeus declinationformatTimereplacesfractalTime(nrel-spa v2 API)- Node >= 20 requirement; proper exports field; publishConfig
v1.7.x (Legacy)
CommonJS, JavaScript source, 10 traditional methods, suncalc for moon data.