mirror of
https://github.com/acamarata/moon-sighting.git
synced 2026-07-01 11:24:24 +00:00
Adds five new kernel-free functions using Meeus Ch. 47/48 approximations,
replacing suncalc as the moon data source in the acamarata stack.
- getMoonPosition(date, lat, lon, elevation?) — topocentric az/alt/distance +
parallactic angle via WGS84 geodetic model and Bennett refraction
- getMoonIllumination(date) — illumination fraction, phase cycle position,
bright limb angle, isWaxing via Meeus Ch. 47/48
- getMoonPhase: adds phaseName ("Waxing Crescent") and phaseSymbol ("🌒")
fields to MoonPhaseResult
- getMoonVisibilityEstimate(date, lat, lon, elevation?) — kernel-free Odeh
V-parameter crescent visibility estimate; returns zone A-D, V, ARCL, ARCV, W
- getMoon(date, lat, lon, elevation?) — convenience wrapper combining all four
kernel-free functions into a single MoonSnapshot result
New types: MoonPosition, MoonIlluminationResult, MoonVisibilityEstimate, MoonSnapshot
98 tests (78 ESM + 20 CJS), typecheck clean, zero build warnings
74 lines
1.7 KiB
JSON
74 lines
1.7 KiB
JSON
{
|
|
"name": "moon-sighting",
|
|
"version": "1.1.0",
|
|
"description": "High-accuracy lunar crescent visibility and moon sighting calculations using JPL DE442S ephemerides. Implements Yallop and Odeh criteria for Islamic crescent sighting workflows.",
|
|
"author": "Aric Camarata",
|
|
"license": "MIT",
|
|
"main": "./dist/index.cjs",
|
|
"module": "./dist/index.mjs",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/index.mjs",
|
|
"require": "./dist/index.cjs"
|
|
}
|
|
},
|
|
"bin": {
|
|
"moon-sighting": "dist/cli/index.cjs"
|
|
},
|
|
"sideEffects": false,
|
|
"files": [
|
|
"dist",
|
|
"README.md",
|
|
"CHANGELOG.md",
|
|
"LICENSE"
|
|
],
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"scripts": {
|
|
"build": "tsup",
|
|
"typecheck": "tsc --noEmit",
|
|
"pretest": "tsup",
|
|
"test": "node test.mjs && node test-cjs.cjs",
|
|
"prepublishOnly": "tsup",
|
|
"cli": "node dist/cli/index.cjs"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "latest",
|
|
"tsup": "latest",
|
|
"typescript": "latest"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public",
|
|
"registry": "https://registry.npmjs.org/"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/acamarata/moon-sighting.git"
|
|
},
|
|
"homepage": "https://github.com/acamarata/moon-sighting#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/acamarata/moon-sighting/issues"
|
|
},
|
|
"keywords": [
|
|
"moon",
|
|
"lunar",
|
|
"crescent",
|
|
"moon-sighting",
|
|
"hilal",
|
|
"yallop",
|
|
"odeh",
|
|
"islamic",
|
|
"ephemeris",
|
|
"jpl",
|
|
"de442s",
|
|
"astronomy",
|
|
"moon-phase",
|
|
"visibility",
|
|
"sighting",
|
|
"ramadan",
|
|
"prayer-times"
|
|
]
|
|
}
|