If one needs internationalization or time zone support, Moment can get quite large. Moment doesn't work well with modern 'tree shaking' algorithms, so it tends to increase the size of web application bundles.
Since this has already been accomplished in other libraries, we feel that it is more important to retain the mutable API.Īnother common argument against using Moment in modern applications is its size. We address it in our usage guidance but it still comes as a surprise to most new users.Ĭhanging Moment to be immutable would be a breaking change for every one of the projects that use it.Ĭreating a 'Moment v3' that was immutable would be a tremendous undertaking and would make Moment a different library entirely. This is a common source of complaints about Moment. Given how many projects depend on it, we choose to prioritize stability over new features.Īs an example, consider that Moment objects are mutable. Moment has evolved somewhat over the years, but it has essentially the same design as it did when it was created in 2011.
The modern web looks much different these days. Moment.js has been successfully used in millions of projects, and we are happy to have contributed to making date and time better on the web.Īs of September 2020, Moment gets over 12 million downloads per week! However, Moment was built for the previous era of the JavaScript ecosystem.