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 🙏

© 2024 – Pkg Stats / Ryan Hefner

moment-to-temporal

v0.3.1

Published

A codemod to transform your Moment.js code into Temporal API code

Downloads

4

Readme

Moment to Temporal

A codemod to transform your Moment.js code into Temporal API code.

About

The goal of this project is help development teams to modernize their code bases by replacing Moment.js code with the upcoming Temporal API.

Replacing Moment.js with the Temporal API is a compelling idea for several reasons, primarily revolving around modernity, performance, and reliability. Moment.js, while historically popular and widely used, has several limitations that the Temporal API aims to address. One significant advantage of the Temporal API is its modern design, which incorporates years of feedback and lessons learned from using libraries like Moment.js. This results in a more intuitive, robust, and feature-rich API that aligns better with current JavaScript standards and practices. Performance is another crucial aspect where the Temporal API outshines Moment.js. Moment.js has been known to suffer from performance issues, especially in scenarios involving a large number of date manipulations or calculations. The Temporal API, designed with performance in mind, offers a more efficient handling of date and time operations. This efficiency not only speeds up the execution of applications but also reduces the amount of JavaScript that needs to be sent to the client, which is particularly beneficial for low-bandwidth or resource-constrained environments.

CLI Usage

To apply the codemod to your code base, simply run:

npx moment-to-temporal <path/to/source/>

This will run the transformation on all .js/.jsx and .ts/.tsx files in the specified directory.

Depending on which types of transformations are applied, you might need to add one or more new packages to your project, including:

  • @js-temporal/polyfill - a polyfill for the Temporal API, which is needed until it is supported natively in all browsers
  • moment-to-temporal itself - the package includes a small "runtime" of utility functions for common Temporal API operations

The command output will list the packages that need to be added.

Caveats

These transformations are not guaranteed to produce code with exactly the same behavior. Please use them as a starting point and do your own verification that the transormed code is correct.