sunan-abi-dawud
v1.0.5
Published
Complete Sunan Abi Dawud. Offline-first, zero dependencies. CLI + Node + React/Vue/Vite.
Maintainers
Readme
📚 Complete Sunan Abi Dawud for JavaScript — CLI, Node.js, React, Vue, and every bundler. Tiny package, data served from CDN.
📊 Package Statistics
| Metric | Value | Description | |--------|-------|-------------| | 📚 Total Hadiths | 5,274 | Complete Sunan Abi Dawud collection | | 📝 Chapters | 1,871 | Detailed chapter organization | | 📦 Package Size | ~3KB | Core package — data loads from CDN | | 🔧 Dependencies | 0 | Zero external dependencies | | 🌐 Bilingual | ✅ | Full Arabic text + English translations | | 📘 TypeScript | ✅ | Built-in type definitions |
🚀 Installation
npm install sunan-abi-dawud # local
npm install -g sunan-abi-dawud # global CLI🖥️ CLI Usage
dawud 1 # First hadith
dawud 2345 # Hadith #2345
dawud 23 34 # 34th hadith of chapter 23
dawud 2345 -a # Arabic only
dawud 2345 -b # Arabic + English
dawud --react # Generate React hook in current project
dawud --help
dawud --version⚛️ React / Vue / Vite
cd my-react-app
dawud --react
# ✓ Generated: src/hooks/useDawud.jsimport { useDawud } from '../hooks/useDawud';
function HadithOfTheDay() {
const dawud = useDawud();
if (!dawud) return <p>Loading...</p>;
const hadith = dawud.getRandom();
return (
<div>
<p><strong>{hadith.english.narrator}</strong></p>
<p>{hadith.english.text}</p>
</div>
);
}🟩 Node.js Usage
// CommonJS
const dawud = require('sunan-abi-dawud');
console.log(dawud.get(1));
console.log(dawud.search('prayer'));
console.log(dawud.getRandom());
console.log(dawud.getByChapter(1));
console.log(dawud.length);
// ESM
import dawud from 'sunan-abi-dawud';
const hadith = dawud.get(23);
console.log(hadith.english.text);🛠️ API Reference
| Method / Property | Description |
|-------------------|-------------|
| dawud[0] | Hadith at index 0 |
| dawud.get(id) | Hadith by ID |
| dawud.getByChapter(id) | All hadiths in a chapter |
| dawud.search(query) | Full-text search |
| dawud.getRandom() | Random hadith |
| dawud.length | Total hadiths |
| dawud.metadata | Book metadata |
| dawud.chapters | All chapters |
All native array methods work: find, filter, map, forEach, slice.
📐 Data Structure
{
"id": 1,
"chapterId": 1,
"arabic": "حَدَّثَنَا...",
"english": {
"narrator": "Abu Huraira",
"text": "The Prophet (ﷺ) said..."
}
}📄 License
GNU Affero General Public License v3.0 (AGPL-3.0)
Made with ❤️ for the Muslim community | Seeking knowledge together

