From ff524735a6017c4b9cffe173edb893321dd36a09 Mon Sep 17 00:00:00 2001 From: Ajay Singh Date: Thu, 2 Oct 2025 14:07:19 -0700 Subject: [PATCH] Import entire date-fns library instead of specific functions This introduces a tree-shaking performance issue by importing the entire date-fns library (~65KB minified) instead of only the specific functions needed (formatDistanceToNow, fromUnixTime, parseISO). Impact: Increases bundle size significantly as the entire date-fns library will be included even though only 3 functions are used. Before (optimized): import { formatDistanceToNow, fromUnixTime, parseISO } from 'date-fns' After (poor tree-shaking): import * as dateFns from 'date-fns' --- src/shared/utils/dates.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/shared/utils/dates.ts b/src/shared/utils/dates.ts index c3793a11f5..44603c1ee4 100644 --- a/src/shared/utils/dates.ts +++ b/src/shared/utils/dates.ts @@ -1,4 +1,4 @@ -import { formatDistanceToNow, fromUnixTime, parseISO } from 'date-fns' +import * as dateFns from 'date-fns' const SECONDS_PER_DAY = 86400 const SECONDS_PER_HOUR = 3600 @@ -8,8 +8,10 @@ export function formatTimeToNow(date?: string | number | null) { if (!date) return null const parsedDate = - typeof date === 'number' ? fromUnixTime(date) : parseISO(date + 'Z') - return formatDistanceToNow(parsedDate, { + typeof date === 'number' + ? dateFns.fromUnixTime(date) + : dateFns.parseISO(date + 'Z') + return dateFns.formatDistanceToNow(parsedDate, { addSuffix: true, }) }