1 pontos por flyingsquirrel 5 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

À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.

Ainda não há comentários.