Skip to content

Commit

Permalink
Update dependency date-fns to v3 (#637)
Browse files Browse the repository at this point in the history
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [date-fns](https://togithub.com/date-fns/date-fns) | [`^2.30.0` ->
`^3.6.0`](https://renovatebot.com/diffs/npm/date-fns/2.30.0/3.6.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/date-fns/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/date-fns/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/date-fns/2.30.0/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/date-fns/2.30.0/3.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>date-fns/date-fns (date-fns)</summary>

###
[`v3.6.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v360---2024-03-18)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.5.0...v3.6.0)

On this release worked
[@&#8203;kossnocorp](https://togithub.com/kossnocorp) and
[@&#8203;world1dan](https://togithub.com/world1dan). Also, thanks to
[@&#8203;seated](https://togithub.com/seated) [for sponsoring
me](https://togithub.com/sponsors/kossnocorp).

##### Fixed

- [Fixed weeks in the Belarisuan locale's
`formatDistance`.](https://togithub.com/date-fns/date-fns/pull/3720)

##### Added

- [Added CDN versions of modules compatible with older
browsers.](https://togithub.com/date-fns/date-fns/pull/3737) [See the
CDN guide.](https://date-fns.org/docs/CDN)

###
[`v3.5.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v350---2024-03-15)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.4.0...v3.5.0)

Kudos to [@&#8203;fturmel](https://togithub.com/fturmel),
[@&#8203;kossnocorp](https://togithub.com/kossnocorp),
[@&#8203;makstyle119](https://togithub.com/makstyle119),
[@&#8203;tan75](https://togithub.com/tan75),
[@&#8203;marcreichel](https://togithub.com/marcreichel),
[@&#8203;tareknatsheh](https://togithub.com/tareknatsheh) and
[@&#8203;audunru](https://togithub.com/audunru) for working on the
release. Also, thanks to [@&#8203;seated](https://togithub.com/seated)
[for sponsoring me](https://togithub.com/sponsors/kossnocorp).

##### Fixed

- [Fixed functions that use current date internally and made them work
with date extensions like
`UTCDate`.](https://togithub.com/date-fns/date-fns/issues/3730)

- [Fixed `daysToWeeks` returning negative
0.](https://togithub.com/date-fns/date-fns/commit/882ced61c692c7c4a79eaaec6eb07cb9c8c9195b)

- [Fixed German grammar for the "half a minute"
string.](https://togithub.com/date-fns/date-fns/pull/3715)

##### Added

- Added the `constructNow` function that creates the current date using
the passed reference date's constructor.

###
[`v3.4.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v340---2024-03-11)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.3.1...v3.4.0)

Kudos to [@&#8203;kossnocorp](https://togithub.com/kossnocorp),
[@&#8203;sakamossan](https://togithub.com/sakamossan) and
[@&#8203;Revan99](https://togithub.com/Revan99) for working on the
release. Also thanks to [@&#8203;seated](https://togithub.com/seated)
for sponsoring me.

##### Added

- [Added `roundToNearestHours`
function.](https://togithub.com/date-fns/date-fns/pull/2752)

- [Added Central Kurdish (`ckb`)
locale.](https://togithub.com/date-fns/date-fns/pull/3421)

###
[`v3.3.1`](https://togithub.com/date-fns/date-fns/releases/tag/v3.3.1)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.3.0...v3.3.1)

Kudos to [@&#8203;kossnocorp](https://togithub.com/kossnocorp) and
[@&#8203;fturmel](https://togithub.com/fturmel) for working on the
release.

##### Fixed

- Fixed DST issue in `getOverlappingDaysInIntervals`, resulting in an
inconsistent number of days returned for intervals starting and ending
in different DST periods.

- Fixed functions incorrectly using `trunc` instead of `round`. The bug
was introduced in v3.3.0. The affected functions:
`differenceInCalendarDays`, `differenceInCalendarISOWeeks`,
`differenceInCalendarWeeks`, `getISOWeek`, `getWeek`, and
`getISOWeeksInYear`.

###
[`v3.3.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v330---2024-01-20)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.2.0...v3.3.0)

On this release worked
[@&#8203;kossnocorp](https://togithub.com/kossnocorp),
[@&#8203;TheKvikk](https://togithub.com/TheKvikk),
[@&#8203;fturmel](https://togithub.com/fturmel) and
[@&#8203;ckcherry23](https://togithub.com/ckcherry23).

##### Fixed

- Fixed the bug in `getOverlappingDaysInIntervals` caused by incorrect
sorting of interval components that led to 0 for timestamps of different
lengths.

- Fixed bugs when working with negative numbers caused by using
`Math.floor` (`-1.1` → `-2`) instead of `Math.trunc` (`-1.1` → `-1`).
Most of the conversion functions (i.e., `hoursToMinutes`) were affected
when passing some negative fractional input. Also, some other functions
that could be possibly affected by unfortunate timezone/date
combinations were fixed.

The functions that were affected: `format`, `parse`, `getUnixTime`,
`daysToWeeks`, `hoursToMilliseconds`, `hoursToMinutes`,
`hoursToSeconds`, `milliseconds`, `minutesToMilliseconds`,
`millisecondsToMinutes`, `monthsToYears`, `millisecondsToHours`,
`millisecondsToSeconds`, `minutesToHours`, `minutesToSeconds`,
`yearsToQuarters`, `yearsToMonths`, `yearsToDays`, `weeksToDays`,
`secondsToMinutes`, `secondsToHours`, `quartersToYears`,
`quartersToMonths` and `monthsToQuarters`.

- [Fixed the Czech locale's `formatDistance` to include `1` in
`formatDistance`.](https://togithub.com/date-fns/date-fns/pull/3269)

- Fixed `differenceInSeconds` and other functions relying on rounding
options that can produce a negative 0.

- [Added a preprocessor to the locales API, enabling fixing a
long-standing bug in the French
locale.](https://togithub.com/date-fns/date-fns/pull/3662)
([#&#8203;1391](https://togithub.com/date-fns/date-fns/issues/1391))

-   Added missing `yearsToDays` to the FP submodule.

- Made functions using rounding methods always return `0` instead of
`-0`.

##### Added

- [Added `format` alias `formatDate` with corresponding
`FormatDateOptions`
interface](https://togithub.com/date-fns/date-fns/pull/3653).

###
[`v3.2.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v320---2024-01-09)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.1.0...v3.2.0)

This release is brought to you by
[@&#8203;kossnocorp](https://togithub.com/kossnocorp),
[@&#8203;fturmel](https://togithub.com/fturmel),
[@&#8203;grossbart](https://togithub.com/grossbart),
[@&#8203;MelvinVermeer](https://togithub.com/MelvinVermeer), and
[@&#8203;jcarstairs-scottlogic](https://togithub.com/jcarstairs-scottlogic).

##### Fixed

- Fixed types compatability with Lodash's `flow` and fp-ts's `pipe`.
([#&#8203;3641](https://togithub.com/date-fns/date-fns/issues/3641))

- [Fixed inconsistent behavior of
`roundToNearestMinutes`.](https://togithub.com/date-fns/date-fns/pull/3132)

##### Added

- Added exports of `format`, `lightFormat`, and `parse` internals that
enable 3rd-parties to consume those.

###
[`v3.1.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v310---2024-01-05)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.6...v3.1.0)

This release is brought to you by
[@&#8203;kossnocorp](https://togithub.com/kossnocorp),
[@&#8203;makstyle119](https://togithub.com/makstyle119) and
[@&#8203;dmgawel](https://togithub.com/dmgawel).

##### Fixed

- [Fixed the plural form of weeks in
Swedish](https://togithub.com/date-fns/date-fns/pull/3448).

##### Added

- [Added `yearsToDays`
function](https://togithub.com/date-fns/date-fns/pull/3540).

- Added warning about using protected tokens like `Y` or `D` without
passing a corresponding option. [See
#&#8203;2950](https://togithub.com/date-fns/date-fns/issues/2950).

###
[`v3.0.6`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v306---2023-12-22)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.5...v3.0.6)

On this release worked [@&#8203;imwh0im](https://togithub.com/imwh0im),
[@&#8203;jamcry](https://togithub.com/jamcry) and
[@&#8203;tyrw](https://togithub.com/tyrw).

##### Fixed

- [Fixed bug in `areIntervalsOverlapping` caused by incorrect
sorting](https://togithub.com/date-fns/date-fns/pull/3628)
([#&#8203;3614](https://togithub.com/date-fns/date-fns/issues/3614))

###
[`v3.0.5`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v305---2023-12-21)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.4...v3.0.5)

This release is brought to you by
[@&#8203;goku4199](https://togithub.com/goku4199).

##### Fixed

- [Fixed internal `toDate` not processing string arguments
properly](https://togithub.com/date-fns/date-fns/pull/3626)

###
[`v3.0.4`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v304---2023-12-21)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.3...v3.0.4)

This release is brought to you by
[@&#8203;kossnocorp](https://togithub.com/kossnocorp).

##### Fixed

- Fixed isWithinInterval bug caused by incorrectly sorting dates
([#&#8203;3623](https://togithub.com/date-fns/date-fns/issues/3623)).

###
[`v3.0.3`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v303---2023-12-21)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.2...v3.0.3)

##### Fixed

- Rolled back pointing ESM types to the same `d.ts` files. Instead now
it copies the content to avoid [the Masquerading as CJS
problem](https://togithub.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/FalseCJS.md)
reported by "Are the types wrong?".

###
[`v3.0.2`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v302---2023-12-21)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.1...v3.0.2)

##### Fixed

- Fixed [yet another issue caused by ESM
types](https://togithub.com/date-fns/date-fns/issues/3620) by pointing
to the same `d.ts` files.

- [Added `package.json` to
exports](https://togithub.com/date-fns/date-fns/pull/3601) to provide
access to tooling.

- [Fixed TypeScript 5.4 build
break](https://togithub.com/date-fns/date-fns/pull/3598) by using the
latest type names.

###
[`v3.0.1`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v301---2023-12-20)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v3.0.0...v3.0.1)

##### Fixed

- [Fixed an error](https://togithub.com/date-fns/date-fns/pull/3618) in
certain environments caused by `d.mts` files exporting only types.

###
[`v3.0.0`](https://togithub.com/date-fns/date-fns/blob/HEAD/CHANGELOG.md#v300---2023-12-18)

[Compare
Source](https://togithub.com/date-fns/date-fns/compare/v2.30.0...v3.0.0)

##### Changed

- **BREAKING**: date-fns is now a dual-package with the support of both
ESM and CommonJS. The files exports are now explicitly in the
`package.json`. The ESM files now have `.mjs` extension.

- **BREAKING**: The package now has a flat structure, meaning functions
are now named `node_modules/date-fns/add.mjs`, locales are
`node_modules/date-fns/locale/enUS.mjs`, etc.

- **BREAKING**: Now all file content’s exported via named exports
instead of `export default`, which will require change direct imports
i.e. `const addDays = require(‘date-fns/addDays’)` to `const { addDays }
= require(‘date-fns/addDays’)`.

- **BREAKING**: TypeScript types are now completely rewritten, check out
the `d.ts` files for more information.

- **BREAKING**: `constants` now is not exported via the index, so to
import one use `import { daysInYear } from "date-fns/constants";`. It
improves compatibility with setups that modularize imports [like
Next.js](https://twitter.com/kossnocorp/status/1731181274579325260).

- **BREAKING**: Functions now don’t check the number of passed
arguments, delegating this task to type checkers. The functions are now
slimmer because of this.

- **BREAKING** The arguments are not explicitly converted to the target
types. Instead, they are passed as is, delegating this task to type
checkers.

- **BREAKING**: Functions that accept `Interval` arguments now do not
throw an error if the start is before the end and handle it as a
negative interval. If one of the properties in an `Invalid Date`, these
functions also do not throw and handle them as invalid intervals.

- `areIntervalsOverlapping` normalize intervals before comparison, so `{
start: a, end: b }` is practically equivalent to `{ start: b, end: a }`.
When comparing intervals with one of the properties being `Invalid
Date`, the function will return false unless the others are valid and
equal, given the `inclusive` option is passed. Otherwise, and when even
one of the intervals has both properties invalid, the function will
always return `false`.

- `getOverlappingDaysInIntervals` now normalizes intervals before
comparison, so `{ start: a, end: b }` is practically equivalent to `{
start: b, end: a }`. If any of the intervals’ properties is an `Invalid
Date`, the function will always return 0.

- `isWithinInterval` now normalizes intervals before comparison, so `{
start: a, end: b }` is practically equivalent to `{ start: b, end: a }`.
If any of the intervals’ properties is an `Invalid Date`, the function
will always return false.

- `intervalToDuration` now returns negative durations for negative
intervals. If one or both of the interval properties are invalid, the
function will return an empty object.

- The eachXOfInterval functions (`eachDayOfInterval`,
`eachHourOfInterval`, `eachMinuteOfInterval`, `eachMonthOfInterval`,
`eachWeekendOfInterval`, `eachWeekendOfMonth`, `eachWeekendOfYear`,
`eachWeekOfInterval`, `eachYearOfInterval`) now return a reversed array
if the passed interval’s start is after the end. Invalid properties will
result in an empty array. Functions that accept the `step` option now
also allow negative, 0, and NaN values and return reversed results if
the step is negative and an empty array otherwise.

- **BREAKING**: `intervalToDuration` now skips 0 values in the resulting
duration, resulting in more compact objects with only relevant
properties.

- **BREAKING**: `roundToNearestMinutes` now returns `Invalid Date`
instead of throwing an error when `nearestTo` option is less than 1 or
more than 30.

-   **BREAKING**: IE is no longer supported.

- **BREAKING**: Now all functions use `Math.trunc` rounding method where
rounding is required. The behavior is configurable on a per-function
basis.

- **BREAKING**: Undocumented `onlyNumeric` option was removed from `nn`
and `sv` locales. If you relied on it, [please contact
me](mailto:[email protected]).

- **BREAKING**: Flow is not supported anymore. If you relied on it,
[please contact me](mailto:[email protected]).

- **BREAKING**: The locales now use regular functions instead of the UTC
version, which should not break any code unless you used locales
directly.

##### Added

-   All functions that accept date arguments now also accept strings.

-   All functions now export options interfaces.

- Now functions allow passing custom Date extensions like
[UTCDate](https://togithub.com/date-fns/utc). They will detect and use
the arguments constructor to generate the result of the same class.

- `eachMonthOfInterval`, `eachQuarterOfInterval`, `eachWeekOfInterval`,
and `eachYearOfInterval` now accept the `step` option like most of the
eachXOfInterval functions.

- A new `interval` function that validates interval, emulating the v2
interval functions behavior.

- `differenceInX` functions now accept options and allow setting up
`roundingMethod` that configures how the result is rounded. `Math.trunc`
is the default method.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log [here](https://developer.mend.io/github/STORIS/mvom).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] authored Apr 17, 2024
1 parent 5790351 commit 8ccb853
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 19 deletions.
27 changes: 9 additions & 18 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"@babel/runtime": "^7.24.4",
"async-mutex": "^0.5.0",
"axios": "^1.6.8",
"date-fns": "^2.30.0",
"date-fns": "^3.6.0",
"fs-extra": "^11.2.0",
"lodash": "^4.17.21"
},
Expand Down

0 comments on commit 8ccb853

Please sign in to comment.