mirror of
https://github.com/acamarata/pray-calc.git
synced 2026-06-30 19:04:26 +00:00
- Extract magic numbers into named constants (DHUHR_OFFSET_MINUTES, ANGLE_MIN/MAX, LAT_SCALE) with source citations for MCW coefficients - Add input validation (RangeError) for lat, lng, tz, elevation on all public API functions (getTimes, getTimesAll) - Optimize solar ephemeris: computeAngles() returns declination so getTimes/getTimesAll reuse it for Asr instead of computing twice - DRY: shared constants.ts for DEG, Dhuhr offset, angle bounds - Improve MethodEntry type with labeled tuple elements and NaN docs - Add stricter tsconfig (noImplicitReturns, noFallthroughCasesInSwitch) - Switch tests to node:test framework (TAP output, describe/it blocks) - Add 8 new input validation tests (104 ESM + 13 CJS total) - Add ESLint + Prettier with CI lint job - Remove src/ from npm package files (smaller published tarball) - Document NaN return behavior in JSDoc for getTimes/getTimesAll
86 lines
2 KiB
JSON
86 lines
2 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/",
|
|
"README.md",
|
|
"CHANGELOG.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsup",
|
|
"typecheck": "tsc --noEmit",
|
|
"pretest": "tsup",
|
|
"test": "node --test test.mjs && node --test test-cjs.cjs",
|
|
"lint": "eslint src/",
|
|
"format": "prettier --write src/",
|
|
"format:check": "prettier --check src/",
|
|
"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": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@types/node": "^25.3.0",
|
|
"eslint": "^10.0.3",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"prettier": "^3.8.1",
|
|
"tsup": "^8.5.1",
|
|
"typescript": "^5.9.3",
|
|
"typescript-eslint": "^8.56.1"
|
|
}
|
|
}
|