A lightweight JavaScript/TypeScript library for parsing, formatting, manipulating, and internationalizing dates using native Date objects.
Tempo is a JavaScript and TypeScript library for parsing, formatting, manipulating, and internationalizing dates and times. It solves the complexity of working with dates by providing a simple API that leverages native Date objects and built-in internationalization capabilities.
JavaScript and TypeScript developers who need to handle dates, times, timezones, and internationalization in their applications, especially those concerned with bundle size and performance.
Developers choose Tempo for its minimal footprint, tree-shakable design, and straightforward API that uses native Date objects while providing powerful internationalization and timezone support without heavy dependencies.
📆 Parse, format, manipulate, and internationalize dates and times in JavaScript and TypeScript.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works directly with JavaScript's built-in Date objects, avoiding the overhead of custom primitives and ensuring seamless compatibility with existing code, as highlighted in the README's philosophy.
Leverages Intl.DateTimeFormat for locale-aware formatting and timezone handling, providing complex internationalization with minimal code, which is a core feature emphasized in the documentation.
Allows importing only the utilities you need, keeping bundle sizes small—this is backed by the README's note that full international date formatting adds only ~2KB when minified and brotlied.
With a minimal size of about 2KB for key features, it prioritizes performance and reduced bundle impact, making it ideal for modern web applications.
Relies on native Date objects, which are mutable and can lead to side-effects in applications that require immutable data structures or functional programming patterns.
Compared to libraries like date-fns or moment.js, Tempo may lack built-in support for durations, intervals, or complex parsing scenarios, focusing instead on basic utilities.
Heavy reliance on Intl.DateTimeFormat means performance or compatibility issues in environments without robust Intl support, potentially limiting use in older systems or specific server setups.
tempo is an open-source alternative to the following products:
date-fns is a modern JavaScript library for manipulating dates and times, providing a comprehensive set of functions for formatting, parsing, and calculating dates in a modular and tree-shakeable way.
day.js is a minimalist JavaScript library for parsing, validating, manipulating, and displaying dates and times, offering a lightweight alternative to Moment.js with a similar API.