{"_id":"@acamarata/qibla","_rev":"5-56e8c286629a6b68401ac8f8fb002f21","name":"@acamarata/qibla","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@acamarata/qibla","version":"1.0.0","keywords":["qibla","kaaba","mecca","compass","bearing","direction","great-circle","haversine","distance","geodesic","islamic","prayer","geolocation","spherical-trigonometry"],"author":{"name":"Aric Camarata"},"license":"MIT","_id":"@acamarata/qibla@1.0.0","maintainers":[{"name":"acamarata","email":"alisalaah@gmail.com"}],"homepage":"https://github.com/acamarata/qibla#readme","bugs":{"url":"https://github.com/acamarata/qibla/issues"},"dist":{"shasum":"99c59f6c4c265b13e823a06d18570796e25a5353","tarball":"https://registry.npmjs.org/@acamarata/qibla/-/qibla-1.0.0.tgz","fileCount":7,"integrity":"sha512-CAC6VNV8bUYypkXbhk8lUfG0DJ9fv5QzUKANwZolaRdAbZwSWYsugy8QxbOsTqNcDMaEDZqMpuK5xJvIAU1Bdw==","signatures":[{"sig":"MEUCIQDBcPRZAfYtryneyfI7m5Kz9qEmtKYly2INSFTX0CJBzgIgBiJsoikyskohDBzwqu3iz7oJDYlcPfmU1/71psSukSM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19169},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"1d57238ea9013fc6e59276705b390aef99c4e92b","scripts":{"lint":"eslint .","test":"node --test test.mjs && node --test test-cjs.cjs","build":"tsup","format":"prettier --write .","pretest":"tsup","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"tsup"},"_npmUser":{"name":"acamarata","email":"alisalaah@gmail.com"},"repository":{"url":"git+https://github.com/acamarata/qibla.git","type":"git"},"_npmVersion":"11.5.1","description":"Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"24.6.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","eslint":"^9.27.0","prettier":"^3.5.3","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/node":"^22.15.3","typescript-eslint":"^8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/qibla_1.0.0_1772993117361_0.8293244675020706","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@acamarata/qibla","version":"1.1.1","keywords":["qibla","kaaba","mecca","compass","bearing","direction","great-circle","haversine","distance","geodesic","islamic","prayer","geolocation","spherical-trigonometry"],"author":{"name":"Aric Camarata"},"license":"MIT","_id":"@acamarata/qibla@1.1.1","maintainers":[{"name":"acamarata","email":"alisalaah@gmail.com"}],"homepage":"https://github.com/acamarata/qibla#readme","bugs":{"url":"https://github.com/acamarata/qibla/issues"},"dist":{"shasum":"faeb5bfed690794a9ad6dd1557f3bc8dfe0cad2d","tarball":"https://registry.npmjs.org/@acamarata/qibla/-/qibla-1.1.1.tgz","fileCount":7,"integrity":"sha512-jbF3Q6T/ZVBzLkBTUKKgBghWoh60D8//TStriNHqNagy0eTNMMPWYhq4jOMcPk6S9c6zw71MSGE5weHgR7OVfg==","signatures":[{"sig":"MEQCID+ZGztKKJB1AeUFT8lbLPoU4yvwjf3uQIk5PvAzf0ZXAiAtpP3UEq/TMulnRbCcmsnKjdXLj/1tGshe5TO4zCFOQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15576},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"30a74c12dc31a1e2be190309f69fcc5d9c8f97bf","scripts":{"lint":"eslint .","test":"node --test test.mjs && node --test test-cjs.cjs","build":"tsup","format":"prettier --write .","pretest":"tsup","coverage":"c8 --reporter=lcov --reporter=text node --test","typecheck":"tsc --noEmit","format:check":"prettier --check .","prepublishOnly":"tsup"},"_npmUser":{"name":"acamarata","email":"alisalaah@gmail.com"},"repository":{"url":"git+https://github.com/acamarata/qibla.git","type":"git"},"_npmVersion":"11.5.1","description":"Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"24.6.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1","devDependencies":{"tsup":"^8.4.0","eslint":"^9.27.0","prettier":"^3.5.3","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/node":"^22.15.3","typescript-eslint":"^8.32.1"},"_npmOperationalInternal":{"tmp":"tmp/qibla_1.1.1_1779990919050_0.947328786684801","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@acamarata/qibla","version":"1.1.2","keywords":["qibla","kaaba","mecca","compass","bearing","direction","great-circle","haversine","distance","geodesic","islamic","prayer","geolocation","spherical-trigonometry"],"author":{"name":"Aric Camarata"},"license":"MIT","_id":"@acamarata/qibla@1.1.2","maintainers":[{"name":"acamarata","email":"alisalaah@gmail.com"}],"homepage":"https://github.com/acamarata/qibla#readme","bugs":{"url":"https://github.com/acamarata/qibla/issues"},"dist":{"shasum":"846daf520cc09c3b033e1c734f9d50f2714f38a7","tarball":"https://registry.npmjs.org/@acamarata/qibla/-/qibla-1.1.2.tgz","fileCount":7,"integrity":"sha512-ONVfAH24D/NRMal7JOoeD4i9v4SOiKGJ3UkZKm1sVGY4jPneeFR7Ki9ucd9K3A+kduuT/FcatucxU5ZmvFazPg==","signatures":[{"sig":"MEQCIA1to6iimF0/zIhpbNBAb1qscj+IuI7aVRyM+Xs2JK2qAiB0DEIdL1wqH83EGibxD9SHKQ00QZyCF2za0VZb/smtvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16531},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"ac4e7e6a8a497b2080bce0bfac1f824a1928f9f7","scripts":{"docs":"typedoc --out .github/wiki/api src/index.ts","lint":"eslint .","test":"node --test test.mjs && node --test test-cjs.cjs","build":"tsup","format":"prettier --write src/","pretest":"tsup","coverage":"c8 --reporter=lcov --reporter=text node test.mjs","postbuild":"cp dist/index.d.ts dist/index.d.mts","typecheck":"tsc --noEmit","format:check":"prettier --check src/","prepublishOnly":"tsup"},"_npmUser":{"name":"acamarata","email":"alisalaah@gmail.com"},"prettier":"@acamarata/prettier-config","repository":{"url":"git+https://github.com/acamarata/qibla.git","type":"git"},"_npmVersion":"11.9.0","description":"Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1","devDependencies":{"c8":"^11.0.0","tsup":"^8.4.0","eslint":"^9.27.0","typedoc":"^0.28.19","prettier":"^3.5.3","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/node":"^22.15.3","typescript-eslint":"^8.32.1","@acamarata/tsconfig":"^0.1.0","typedoc-plugin-markdown":"^4.11.0","@acamarata/eslint-config":"^0.1.0","@acamarata/prettier-config":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/qibla_1.1.2_1780231182968_0.14474032245752322","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@acamarata/qibla","version":"1.2.0","keywords":["qibla","kaaba","mecca","compass","bearing","direction","great-circle","haversine","distance","geodesic","islamic","prayer","geolocation","spherical-trigonometry"],"author":{"name":"Aric Camarata"},"license":"MIT","_id":"@acamarata/qibla@1.2.0","maintainers":[{"name":"acamarata","email":"alisalaah@gmail.com"}],"homepage":"https://github.com/acamarata/qibla#readme","bugs":{"url":"https://github.com/acamarata/qibla/issues"},"dist":{"shasum":"abceb7c248f94f5b53deda9b0bc165a7d220ab68","tarball":"https://registry.npmjs.org/@acamarata/qibla/-/qibla-1.2.0.tgz","fileCount":8,"integrity":"sha512-Qav6jipgJMUGZ0ovq+ytSHzPsNpPl6YsYBdHAMDjKGGyhu3UcdM5/O5Cu0N09ey4TlwwsEAuLyqU4ZqblzUsKA==","signatures":[{"sig":"MEUCICV4bX1i1s54zVuJ0MQgZ/rjtdGrVtVxxEi8hNw9/nW3AiEAoIJmm5VKwXzPaFsoZzmxVV4e7DaaWrT/7VgBmhVVjdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26935},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"cf3d110416db47a3e8725bc6debd7e11ee36d93e","scripts":{"docs":"typedoc --out .github/wiki/api src/index.ts","lint":"eslint .","test":"node --test test.mjs && node --test test-cjs.cjs","build":"tsup","format":"prettier --write src/","prepack":"pnpm run build","pretest":"tsup","coverage":"c8 --reporter=lcov --reporter=text node test.mjs","postbuild":"cp dist/index.d.ts dist/index.d.mts","typecheck":"tsc --noEmit","format:check":"prettier --check src/"},"_npmUser":{"name":"acamarata","email":"alisalaah@gmail.com"},"prettier":"@acamarata/prettier-config","repository":{"url":"git+https://github.com/acamarata/qibla.git","type":"git"},"_npmVersion":"11.9.0","description":"Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.","directories":{},"sideEffects":false,"_nodeVersion":"25.6.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.11.1","devDependencies":{"c8":"^11.0.0","tsup":"^8.4.0","eslint":"^9.27.0","typedoc":"^0.28.19","prettier":"^3.5.3","@eslint/js":"^9.27.0","typescript":"^5.8.3","@types/node":"^22.15.3","typescript-eslint":"^8.32.1","@acamarata/tsconfig":"^0.1.0","@acamarata/telemetry":"^0.1.0","eslint-config-prettier":"^10.1.8","typedoc-plugin-markdown":"^4.11.0","@acamarata/eslint-config":"^0.1.0","@typescript-eslint/parser":"^8.56.1","@acamarata/prettier-config":"^0.1.0","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/qibla_1.2.0_1787262823628_0.6240331096077751","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@acamarata/qibla","version":"1.3.0","description":"Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.","author":{"name":"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"},"./package.json":"./package.json"},"sideEffects":false,"engines":{"node":">=20"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","pretest":"tsup","test":"node --test test.mjs && node --test test-cjs.cjs","lint":"eslint .","format":"prettier --write src/","format:check":"prettier --check src/","prepack":"pnpm run build","coverage":"c8 --reporter=lcov --reporter=text node test.mjs","docs":"typedoc --out .github/wiki/api src/index.ts","postbuild":"cp dist/index.d.ts dist/index.d.mts"},"repository":{"type":"git","url":"git+https://github.com/acamarata/qibla.git"},"homepage":"https://github.com/acamarata/qibla#readme","bugs":{"url":"https://github.com/acamarata/qibla/issues"},"keywords":["qibla","kaaba","mecca","compass","bearing","direction","great-circle","haversine","distance","geodesic","islamic","prayer","geolocation","spherical-trigonometry"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"@acamarata/eslint-config":"^0.1.0","@acamarata/prettier-config":"^0.1.0","@acamarata/tsconfig":"^0.1.0","@eslint/js":"^9.27.0","@types/node":"^22.15.3","@typescript-eslint/eslint-plugin":"^8.56.1","@typescript-eslint/parser":"^8.56.1","c8":"^11.0.0","eslint":"^9.27.0","eslint-config-prettier":"^10.1.8","prettier":"^3.5.3","tsup":"^8.4.0","typedoc":"^0.28.19","typedoc-plugin-markdown":"^4.11.0","typescript":"^5.8.3","typescript-eslint":"^8.32.1","@acamarata/telemetry":"^0.1.0"},"type":"module","packageManager":"pnpm@10.11.1","prettier":"@acamarata/prettier-config","_id":"@acamarata/qibla@1.3.0","gitHead":"dc12f431c734204b69f4fa09625dcbaec9a928ed","_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-nlEiQDrRaKqSuT+DwapR2TSbR101tIZfIzZii84sgiXmFgDTUAhCr/0CaBRAY5ejnf94bfmWO/dfdUzl/Uj1Ow==","shasum":"b7a0edd7e344e133ed86e47eb3c1cecf16807c64","tarball":"https://registry.npmjs.org/@acamarata/qibla/-/qibla-1.3.0.tgz","fileCount":8,"unpackedSize":29509,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGxz2SkZqjQ5k17/GlBehxbow0dR4qW0fLh2oe4DPnUaAiEAxq7AvVOvB4wSwjsXo3NClyqNQVa3KqN6IvdB6/1D1H4="}]},"_npmUser":{"name":"acamarata","email":"alisalaah@gmail.com"},"directories":{},"maintainers":[{"name":"acamarata","email":"alisalaah@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qibla_1.3.0_1787431121856_0.42552199726280215"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-08T18:05:17.307Z","modified":"2026-08-22T20:38:42.195Z","1.0.0":"2026-03-08T18:05:17.490Z","1.1.1":"2026-05-28T17:55:19.202Z","1.1.2":"2026-05-31T12:39:43.106Z","1.2.0":"2026-08-20T21:53:43.797Z","1.3.0":"2026-08-22T20:38:42.012Z"},"bugs":{"url":"https://github.com/acamarata/qibla/issues"},"author":{"name":"Aric Camarata"},"license":"MIT","homepage":"https://github.com/acamarata/qibla#readme","keywords":["qibla","kaaba","mecca","compass","bearing","direction","great-circle","haversine","distance","geodesic","islamic","prayer","geolocation","spherical-trigonometry"],"repository":{"type":"git","url":"git+https://github.com/acamarata/qibla.git"},"description":"Qibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.","maintainers":[{"name":"acamarata","email":"alisalaah@gmail.com"}],"readme":"# @acamarata/qibla\n\n[![npm version](https://img.shields.io/npm/v/%40acamarata%2Fqibla.svg)](https://www.npmjs.com/package/%40acamarata%2Fqibla)\n[![CI](https://github.com/acamarata/qibla/actions/workflows/ci.yml/badge.svg)](https://github.com/acamarata/qibla/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Wiki](https://img.shields.io/badge/docs-wiki-blue.svg)](https://github.com/acamarata/qibla/wiki)\n\nQibla direction, great-circle path, and haversine distance. Pure math, zero dependencies.\n\n## Installation\n\n```bash\nnpm install @acamarata/qibla\n```\n\n## Quick Start\n\n```typescript\nimport { qiblaAngle, compassDir, distanceKm, KAABA_LAT, KAABA_LNG } from '@acamarata/qibla';\n\n// Bearing from New York to the Ka'bah\nconst bearing = qiblaAngle(40.7128, -74.006);\nconsole.log(bearing);          // ~58.48 degrees\nconsole.log(compassDir(bearing)); // \"NE\"\n\n// Distance in kilometers\nconst km = distanceKm(40.7128, -74.006, KAABA_LAT, KAABA_LNG);\nconsole.log(km); // ~9,634\n```\n\nCommonJS:\n\n```js\nconst { qiblaAngle } = require('@acamarata/qibla');\n```\n\nUse `qiblaGreatCircle(lat, lng, steps?)` to generate waypoints along the great-circle path for map overlays.\n\n## TypeScript\n\n```typescript\nimport { qiblaAngle, CompassAbbr, CompassName } from '@acamarata/qibla';\n```\n\n## Documentation\n\nFull API reference, algorithm design, and spherical trigonometry notes: [GitHub Wiki](https://github.com/acamarata/qibla/wiki)\n\n## Related\n\n- [pray-calc](https://github.com/acamarata/pray-calc): Islamic prayer times calculator\n- [nrel-spa](https://github.com/acamarata/nrel-spa): NREL Solar Position Algorithm\n- [moon-sighting](https://github.com/acamarata/moon-sighting): Lunar crescent visibility\n\n## Acknowledgments\n\nKa'bah coordinates verified against published GPS surveys and cross-checked with satellite imagery. Forward azimuth formula follows standard spherical trigonometry as used in aviation and geodesy.\n\n## Telemetry\n\nThis package supports opt-in anonymous usage telemetry — off by default.\nEnable: `ACAMARATA_TELEMETRY=1`. See [TELEMETRY.md](./TELEMETRY.md) for what is sent and how to disable.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}