Remove Luxon from codebase (#14448)

Fixes #14444 

We shouldn't have 2 libraries to manage dates, one is enough
This commit is contained in:
Félix Malfait
2025-09-12 23:25:05 +02:00
committed by GitHub
parent 1e97ad48c0
commit a0cfff6000
21 changed files with 215 additions and 290 deletions
@@ -1,4 +1,4 @@
import { DateTime } from 'luxon';
import { differenceInDays, parseISO, addDays } from 'date-fns';
export const computeNewExpirationDate = (
expiresAt: string | null | undefined,
@@ -7,8 +7,8 @@ export const computeNewExpirationDate = (
if (!expiresAt) {
return null;
}
const days = DateTime.fromISO(expiresAt).diff(DateTime.fromISO(createdAt), [
'days',
]).days;
return DateTime.utc().plus({ days }).toISO();
const expirationDate = parseISO(expiresAt);
const creationDate = parseISO(createdAt);
const days = differenceInDays(expirationDate, creationDate);
return addDays(new Date(), days).toISOString();
};
@@ -1,16 +1,15 @@
import { t } from '@lingui/core/macro';
import { isNonEmptyString } from '@sniptt/guards';
import { DateTime } from 'luxon';
import { differenceInYears, parseISO } from 'date-fns';
import { NEVER_EXPIRE_DELTA_IN_YEARS } from '@/settings/developers/constants/NeverExpireDeltaInYears';
import { beautifyDateDiff } from '~/utils/date-utils';
export const doesNeverExpire = (expiresAt: string) => {
const dateDiff = DateTime.fromISO(expiresAt).diff(DateTime.now(), [
'years',
'days',
]);
return dateDiff.years > NEVER_EXPIRE_DELTA_IN_YEARS / 10;
const expirationDate = parseISO(expiresAt);
const now = new Date();
const yearsDiff = differenceInYears(expirationDate, now);
return yearsDiff > NEVER_EXPIRE_DELTA_IN_YEARS / 10;
};
export const isExpired = (expiresAt: string | null) => {