1 पॉइंट द्वारा flyingsquirrel 5 시간 전 | अभी कोई टिप्पणी नहीं है. | WhatsApp पर शेयर करें

जब आप कोई date लाइब्रेरी जोड़ना चाहते हैं, लेकिन locale/timezone/duration/plugin जैसी हर चीज़ की ज़रूरत नहीं होती, ऐसे मामले भी होते हैं.

date-light इसी समस्या को हल करने वाली एक छोटी date यूटिलिटी लाइब्रेरी है. यह web/app में अक्सर इस्तेमाल होने वाले date कामों को चुनकर 39 functions के रूप में देती है. इसमें कोई runtime dependency नहीं है, और TypeScript types तथा ESM/CJS entrypoints शामिल हैं.

import { addDays, differenceInDays, format, startOfWeek } from "date-light";  
  
const launch = new Date(2026, 5, 30, 14, 30);  
const reminder = addDays(launch, -7);  
  
format(launch, "yyyy-MM-dd HH:mm"); // "2026-06-30 14:30"  
format(startOfWeek(launch), "yyyy-MM-dd"); // "2026-06-29"  
differenceInDays(launch, reminder); // 7  

यह क्या प्रदान करता है

format, parseISO, parse

addDays, addMonths, addYears, addHours, subDays, subMonths...

differenceInDays, differenceInMonths, differenceInYears

isBefore, isAfter, isEqual, isSameDay, isSameMonth

isWeekend, isLeapYear, isValid, getDaysInMonth

startOfDay, endOfWeek, startOfMonth, endOfYear आदि

input Date को बदला नहीं जाता. सभी functions नया Date लौटाते हैं या मान की गणना करते हैं.

इसे क्यों बनाया गया

ज़्यादातर apps date लाइब्रेरी का बहुत छोटा हिस्सा ही इस्तेमाल करते हैं.

आमतौर पर date को format करना, ISO string को parse करना, कुछ दिन जोड़ना, दो dates का अंतर निकालना, और week/month/year की शुरुआत या अंत पर align करना ही ज़रूरी होता है.

date-light का रुख यही है कि बस इसी दायरे को छोटा रखा जाए. यह date-fns जैसी usage feel बनाए रखता है, लेकिन सिर्फ़ अक्सर इस्तेमाल होने वाली utilities को समेटता है.

जानबूझकर क्या नहीं है

locale, timezone DB, duration object, plugin, chaining API इसमें नहीं हैं.

अगर ऐसी सुविधाओं की ज़रूरत है, तो Intl, Temporal, Luxon, date-fns अधिक उपयुक्त हैं. date-light उस समय के लिए एक tool है जब आप सामान्य app date processing को हल्का रखना चाहते हैं.

आकार

39 functions के आधार पर लगभग 3.11KB minzipped.

दस्तावेज़ के bundle size comparison के अनुसार, date-fns से मिलते-जुलते 20 functions लाने की तुलना में यह लगभग 5.9 गुना छोटा है.

GitHub: https://github.com/flyingsquirrel0419/date-light
npm: npm install date-light
docs/playground: https://date-light.flyingsquirrel.me/

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.