1 poin oleh flyingsquirrel 5 jam lalu | Belum ada komentar. | Bagikan ke WhatsApp

Ada kalanya Anda ingin memasukkan pustaka tanggal, tetapi tidak membutuhkan semuanya sekaligus seperti locale/timezone/duration/plugin.

date-light adalah pustaka utilitas tanggal kecil yang dibuat untuk memecahkan masalah ini. Pustaka ini hanya memilih pekerjaan tanggal yang sering dipakai di web/aplikasi dan menyediakannya dalam 39 fungsi. Tidak ada dependensi runtime, serta mencakup tipe TypeScript dan entry point ESM/CJS.

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  

Yang disediakan

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, dan lainnya

Date input tidak diubah. Semua fungsi mengembalikan Date baru atau menghitung nilainya.

Alasan dibuat

Sebagian besar aplikasi hanya memakai sebagian sangat kecil dari pustaka tanggal.

Biasanya hanya sebatas memformat tanggal, mem-parsing string ISO, menambahkan beberapa hari, mencari selisih dua tanggal, lalu menyesuaikannya ke awal dan akhir minggu/bulan/tahun.

date-light mengambil pendekatan untuk hanya membawa cakupan ini dalam ukuran kecil. Rasanya tetap mirip dengan date-fns, tetapi hanya menggabungkan utilitas yang sering dipakai.

Yang sengaja tidak ada

Tidak ada locale, database timezone, objek duration, plugin, atau API chaining.

Jika membutuhkan fitur-fitur tersebut, Intl, Temporal, Luxon, atau date-fns lebih cocok. date-light adalah alat untuk saat Anda hanya ingin penanganan tanggal umum pada aplikasi dalam ukuran kecil.

Ukuran

Dengan 39 fungsi, ukurannya sekitar 3.11KB minzipped.

Menurut acuan perbandingan ukuran bundle di dokumentasi, ini sekitar 5.9 kali lebih kecil dibanding mengambil 20 fungsi serupa dari date-fns.

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

Belum ada komentar.

Belum ada komentar.