npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@magmacomputing/tempo

v3.11.1

Published

The Tempo core library

Readme

Tempo is a premium, high-performance wrapper for the ECMAScript Temporal API. Designed for professionals, it combines immutable state-management with a fluent, natural-language engine. It is the modern, type-safe successor to legacy libraries like Moment.js and Luxon.


⚡ Quick Start

import { Tempo } from '@magmacomputing/tempo';
import { AstroPlugin } from '@magmacomputing/tempo-plugin-astro';

// 🔌 Instantly Extensible (with deterministic defaults)
Tempo.init({ 
  extends: [AstroPlugin],
  timeZone: 'America/New_York'
});

// 🎯 Natural Language Parsing (Deterministic anchor)
const event = new Tempo('next Friday 3pm', { anchor: '2026-10-15' });

// 🔄 Fluent Mutations (Immutable)
const reminder = event.add({ hours: 2 }).set({ minute: 0 });

// ⏳ Comparative Durations
const diff = event.until('2026-12-25');
console.log(diff.iso); // P2M2D

// 📝 Beautiful Formatting
console.log(event.format('{mon} {dd:ord}, {yyyy}')); // October 23rd, 2026

// 🌌 Domain Logic (via Plugin)
console.log(event.term.astronomy.season); // 'Autumn'

📦 Installation

npm install @magmacomputing/tempo       # npm
yarn add @magmacomputing/tempo          # yarn
pnpm add @magmacomputing/tempo          # pnpm
bun add @magmacomputing/tempo           # bun
deno add npm:@magmacomputing/tempo      # deno

For standard usage natively in the browser, use the pre-optimized Global ESM Bundle. It includes the entire core engine in a single file:

<script type="importmap">
{
  "imports": {
    "@js-temporal/polyfill": "https://cdn.jsdelivr.net/npm/@js-temporal/[email protected]/dist/index.esm.js",
    "@magmacomputing/tempo": "https://cdn.jsdelivr.net/npm/@magmacomputing/tempo@3/dist/tempo.bundle.esm.js"
  }
}
</script>

<script type="module">
  import '@js-temporal/polyfill';
  import { Tempo } from '@magmacomputing/tempo';
  
  const t = new Tempo('next Friday');
</script>

Advanced Usage (Tempo Plugins & CDNs) If you need to use Tempo Premium Plugins natively in the browser, require granular module resolution, or want to use on-the-fly bundling CDNs (like esm.sh), please see our comprehensive Installation Guide for detailed import map configurations.


⏳ Why Tempo?

While the native Temporal API gives you perfect primitives (ZonedDateTime, PlainDate), it doesn't give you business logic. Tempo bridges that gap.

| Feature | Native Temporal API | The Tempo Ecosystem | | :--- | :--- | :--- | | Primitives | Perfect (Instant, ZonedDateTime) | Powered by Native Primitives ✨ | | Timezones | IANA String Support | Advanced fallback & auto-syncing | | Domain Logic | ❌ Build it yourself | ✅ Plugins (astro, sync) | | Natural Language| ❌ Manual parsing | ✅ "next Friday 3pm" |

The Missing Domain Layer

  • 🗣️ Natural Language & Smart Parsing: Parse natural language phrases (e.g. "next Friday 3pm", "two days ago") with zero-cost lazy evaluation and functional aliases.
  • 🌍 Zero-Bundle Localization: Multi-language date parsing and formatting powered natively by ECMAScript Intl—no heavy static locale dictionaries required.
  • 🧩 Extensible & AI-Ready: Modular plugin ecosystem for astronomical cycles (astro), financial quarters (finance), schedulers (ticker), and LLM-powered parsing (ai).
  • 🏗️ Future-Proof & Ultra-Lightweight: Built natively on the TC39 Stage 4 Temporal foundation with zero legacy runtime baggage and full tree-shaking support.

📚 Documentation

For a deeper dive into the API, architecture, and advanced features:


🧰 The Tempo Ecosystem

Tempo is the core library, but the ecosystem extends further:

| Package | Description | Resources | | :--- | :--- | :--- | | @magmacomputing/tempo | Core library — parsing, formatting, natural-language engine | Docs | | @magmacomputing/tempo-plugin-ai | LLM-powered natural language parsing, recurrence expansion & smart scheduling | Docs | | @magmacomputing/tempo-plugin-* | Premium & community plugins — Ticker, Astro, Finance, Sync, Snap and more | Ecosystem | | @magmacomputing/tempo-fns | Pure functional utilities built on native Temporal & Tempo — tree-shakeable helpers | Docs |


💬 Contact & Support

  1. Bug Reports & Features: Please open an Issue.
  2. Questions & Ideas: Start a thread in Discussions.
  3. Direct Contact: You can reach us at [email protected].

🗳️ Feedback & Reactions

🚀 Premium!   |   ⭐ Loving it!   |   💡 Needs work   |   🐞 Found a bug


⚖️ License

Distributed under the MIT License. See LICENSE for more information.