UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【date-fns】moment.jsから移行する

moment.jsが今後の変更はセキュリティサポートとバグ修正に留まることを公式に発表している

https://momentjs.com/docs/#/-project-status/

なので、今まで使用していた箇所を他のライブラリで置き換えたい

moment.jsが推奨する代替案のうちdate-fnsを試してみる
必要な関数だけの import も可能ということなのでバンドルした時のサイズが少なくなりそう

date-fns.org

置き換える関数

moment.jsを使用している箇所を置き換えてみる

日付の差分

// moment.js
moment(targetDate).diff(now, "days")

// date-fns
differenceInDays(targetDate, current)

今月の最初の日

moment().startOf("month")

// date-fns
startOfMonth(now)

今日より前か判定

// moment
date.isBefore(dateToCompare)

// date-fns
isBefore(date, dateToCompare)

大したことしてなかったから、こんだけのためにmoment.jsを入れていたのはやはりサイズ的に無駄だった

これを機に移行していきたい

他のも試す