date-light — biblioteca utilitária de datas em TypeScript com 3,11 KB
(date-light.flyingsquirrel.me)Às vezes você quer incluir uma biblioteca de datas, mas não precisa de tudo: locale/fuso horário/duração/plugins.
date-light é uma pequena biblioteca utilitária de datas que resolve esse problema. Ela oferece 39 funções, escolhendo apenas as operações com datas mais usadas na web/em apps. Não tem dependências de runtime e inclui tipos TypeScript e entrypoints 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
O que oferece
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 etc.
O Date de entrada não é modificado. Todas as funções retornam um novo Date ou calculam um valor.
Por que foi criada
A maioria dos apps usa apenas uma parte muito pequena de uma biblioteca de datas.
Normalmente basta formatar datas, fazer parse de strings ISO, adicionar alguns dias, calcular a diferença entre duas datas e alinhar ao início e ao fim da semana/mês/ano.
date-light segue essa proposta de manter só esse escopo, de forma enxuta. Ela preserva uma experiência de uso parecida com a do date-fns, mas reúne apenas os utilitários usados com mais frequência.
O que intencionalmente não tem
Não há locale, banco de dados de fuso horário, objeto de duração, plugins nem API encadeável.
Se você precisa desses recursos, Intl, Temporal, Luxon e date-fns são opções mais adequadas. O date-light é uma ferramenta para quando você quer manter pequeno apenas o tratamento de datas mais comum em apps.
Tamanho
Cerca de 3,11 KB minzipped com base em 39 funções.
Pelo critério de comparação de tamanho de bundle da documentação, ele é cerca de 5,9 vezes menor do que importar 20 funções semelhantes do date-fns.
GitHub: https://github.com/flyingsquirrel0419/date-light
npm: npm install date-light
docs/playground: https://date-light.flyingsquirrel.me/
Ainda não há comentários.