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
79 lines
1.7 KiB
JSON
79 lines
1.7 KiB
JSON
{
|
|
"name": "pray-calc",
|
|
"version": "2.0.0",
|
|
"description": "Islamic prayer times with a physics-grounded dynamic twilight angle algorithm. Covers Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha, Qiyam. Includes 14 traditional fixed-angle methods for comparison.",
|
|
"author": "Aric Camarata",
|
|
"license": "MIT",
|
|
"main": "./dist/index.cjs",
|
|
"module": "./dist/index.mjs",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"import": {
|
|
"types": "./dist/index.d.mts",
|
|
"default": "./dist/index.mjs"
|
|
},
|
|
"require": {
|
|
"types": "./dist/index.d.ts",
|
|
"default": "./dist/index.cjs"
|
|
}
|
|
}
|
|
},
|
|
"sideEffects": false,
|
|
"files": [
|
|
"dist/",
|
|
"src/",
|
|
"README.md",
|
|
"CHANGELOG.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsup",
|
|
"typecheck": "tsc --noEmit",
|
|
"pretest": "tsup",
|
|
"test": "node test.mjs && node test-cjs.cjs",
|
|
"prepublishOnly": "tsup"
|
|
},
|
|
"keywords": [
|
|
"prayer-times",
|
|
"islamic-prayer-times",
|
|
"adhan-times",
|
|
"fajr",
|
|
"dhuhr",
|
|
"asr",
|
|
"maghrib",
|
|
"isha",
|
|
"qiyam",
|
|
"sunrise",
|
|
"sunset",
|
|
"solar-position",
|
|
"twilight",
|
|
"dynamic-angles",
|
|
"nrel-spa",
|
|
"javascript",
|
|
"typescript"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/acamarata/pray-calc.git"
|
|
},
|
|
"homepage": "https://github.com/acamarata/pray-calc#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/acamarata/pray-calc/issues"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public",
|
|
"registry": "https://registry.npmjs.org/"
|
|
},
|
|
"dependencies": {
|
|
"nrel-spa": "^2.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^25.3.0",
|
|
"tsup": "^8.5.1",
|
|
"typescript": "^5.9.3"
|
|
}
|
|
}
|