npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

imanikurd

v1.1.1

Published

Complete Islamic toolkit for Kurdish community — full Quran (6236 ayahs), 13 Kurdish Tafsirs, Qibla, prayer times, dhikr, hadith, and more

Readme

imanikurd

npm version CI license

Complete Islamic toolkit for the Kurdish community. Install anywhere with npm and access the full Quran, prayer times, Qibla, dhikr, hadith, tafsir, and more.

npm install imanikurd

Features

  • Complete Quran — All 6236 ayahs across 114 surahs with Arabic Uthmani text, juz, and page numbers
  • 13 Kurdish Tafsirs — Rebar, Asan, Puxta, Raman, Hazhar, Zhian, Sanahi, Maisar, Tawhid, Roshn, Runahi, Mokhtasar, Krd
  • Qibla — Calculate direction to Kaaba from any coordinates
  • Prayer Times — Accurate times for Kurdistan cities (Hawler, Slemani, Duhok, Kirkuk, and more)
  • Dhikr / Azkar — Morning, evening, and occasion-based remembrances in Kurdish
  • Hadith — Authentic hadiths translated to Kurdish
  • 99 Names of Allah — Asma ul Husna with Kurdish and English meanings
  • Companions & Seerah — Biographies of the Prophet and Sahabah
  • Audio Recitations — URLs for 10 reciters including Kurdish reciter Peshawa Qadir

Quick Start

import {
  getSurahs,
  getSurahAyahs,
  getAyah,
  getFullQuran,
  calculateQibla,
  getPrayerTimes,
  getNextPrayer,
  getDhikrCategories,
  getDhikrByCategory,
  getTafsirForAyah,
  getHadiths,
  getNamesOfAllah,
  getRecitationUrl,
} from "imanikurd";

// Full Quran — all 6236 ayahs
const allAyahs = getFullQuran();
console.log(`Total ayahs: ${allAyahs.length}`); // 6236

// Get Surah Al-Fatiha
const fatiha = getSurahAyahs(1);
console.log(fatiha[0].text); // بِسۡمِ ٱللَّهِ ٱلرَّحۡمَٰنِ ٱلرَّحِيمِ

// Single ayah
const ayah = getAyah(2, 255); // Ayat al-Kursi

// All 114 surahs
const surahs = getSurahs();

// Qibla direction from Erbil
const qibla = calculateQibla(36.19, 44.01);
console.log(`Qibla: ${qibla}°`);

// Prayer times for Slemani today
const times = getPrayerTimes("Slemani");
console.log(times); // { Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha }

// Next prayer
const next = getNextPrayer("Hawler");

// Kurdish Tafsir
const tafsir = getTafsirForAyah("rebar", 1, 1);

// Dhikr categories and items
const categories = getDhikrCategories();
const morningDhikr = getDhikrByCategory(1);

// Hadith & Names of Allah
const hadiths = getHadiths();
const names = getNamesOfAllah();

// Audio recitation URL
const audioUrl = getRecitationUrl("peshawa", 1);

CommonJS

const { getFullQuran, calculateQibla, getPrayerTimes } = require("imanikurd");

const quran = getFullQuran();
const qibla = calculateQibla(36.19, 44.01);
const times = getPrayerTimes("Duhok");

Universal / Browser Support

All APIs have Asynchronous equivalents ending in Async (e.g. getSurahsAsync(), getPrayerTimesAsync()). These async APIs work in both Node.js (non-blocking file reads) and Browser environments (fetches data on-demand).

1. Browser Configuration

Since browser apps don't have filesystem access, the package loads data from a CDN (unpkg) by default. You can customize the base URL or set a custom data loader:

import { setBaseUrl, getSurahsAsync } from "imanikurd";

// Option A: Point to your own asset folder or CDN
setBaseUrl("https://mycdn.com/imanikurd/data");

// Option B: Set a custom data loader (e.g. dynamic imports or local fetch)
import { setDataLoader } from "imanikurd";
setDataLoader(async (filename) => {
  const response = await fetch(`/data/${filename}`);
  return response.json();
});

// Load data asynchronously
const surahs = await getSurahsAsync();

2. Direct JSON Imports (Recommended for small bundles)

For client-side apps, you can import individual JSON datasets directly to save network requests:

import quran from "imanikurd/data/quran.json";
import dhikr from "imanikurd/data/dhikr.json";

API Reference

Quran

| Function | Description | |----------|-------------| | getSurahs() | All 114 surahs with metadata | | getSurah(n) | Single surah by number | | getSurahAyahs(n) | All ayahs in a surah | | getAyah(surah, ayah) | Single ayah | | getFullQuran() | All 6236 ayahs | | getJuzAyahs(juz) | Ayahs in a juz (1-30) | | getPageAyahs(page) | Ayahs on a mushaf page | | searchQuran(query) | Search Arabic text |

Tafsir

| Function | Description | |----------|-------------| | getTafsirOptions() | List of 13 tafsirs | | getTafsir(id) | Full tafsir dataset | | getTafsirForAyah(id, surah, ayah) | Tafsir for one ayah | | getTafsirForSurah(id, surah) | All tafsir for a surah | | searchTafsir(id, query) | Search tafsir text |

Qibla

| Function | Description | |----------|-------------| | calculateQibla(lat, lng) | Direction in degrees (0-360) | | getQibla({ lat, lng }) | Full result with coordinates | | isFacingQibla(heading, lat, lng) | Check compass alignment | | getDistanceToKaaba(lat, lng) | Distance in km |

Prayer Times

| Function | Description | |----------|-------------| | getPrayerCities() | Available city keys | | getPrayerTimes(city, date?) | Daily prayer times | | getMonthlyPrayerTimes(city, month, year?) | Full month schedule | | getNextPrayer(city) | Next upcoming prayer | | getPrayerTimesByLocation(lat, lng) | Auto-detect city |

Dhikr

| Function | Description | |----------|-------------| | getDhikrCategories() | All categories | | getDhikrItems() | All dhikr items | | getDhikrByCategory(id) | Items in a category | | searchDhikr(query) | Search Arabic/Kurdish |

Data Sources

Data extracted from the Noor Database v2, with prayer times calibrated for Kurdistan Region cities.

License

MIT — For educational, spiritual, and religious purposes.