JavaScript date utility library for Temporal API
npm install vremel 
JavaScript date utility library for Temporal API inspired by date-fns.
- Contains only pure functions, supports tree-shaking by default.
- Supports every types of Temporal API (Instant, ZonedDateTime, PlainDate...) with strict TypeScript definition.
- Handles timezones and calendars strictly.
- Works fine with any polyfills and native implementations. You don't have to even load a polyfill globally.
``shell`
npm install vremelor from JSR
deno add @fabon/vremel
This package is ESM-only.
`typescript
import { compareDesc } from "vremel";
import { isEqual } from "vremel/duration"; // utility functions for Temporal.Duration
[
Temporal.PlainDate.from("2024-01-01"),
Temporal.PlainDate.from("2024-02-01"),
Temporal.PlainDate.from("2023-11-30"),
]
.sort(compareDesc)
.map((d) => d.toString()); // [ '2024-02-01', '2024-01-01', '2023-11-30' ]
isEqual(
Temporal.Duration.from({ hours: 3 }),
Temporal.Duration.from({ hours: 3 }),
); // true
`
vremel works fine with any polyfills. Also it works even if Temporal doesn't exist in the global scope.
`typescript
import { Temporal } from "temporal-polyfill";
// or
import { Temporal } from "@js-temporal/polyfill";
import { isAfter } from "vremel";
isAfter(
Temporal.PlainDate.from("2024-01-01"),
Temporal.PlainDate.from("2024-02-01"),
); // false
`
This package only supports latest Temporal polyfills following the latest spec:
- temporal-polyfill: 0.3.0 or above@js-temporal/polyfill
- : 0.5.0` or above
- API docs