Live data from Hacker News

We now consider Moment.js to be a legacy project in maintenance mode

momentjs.com

231–240 of 266 posts

Re: We now consider Moment.js to be a legacy project in maintenance mode

#231
post #188

Earlier quoted context omitted.

I'd been complaining about these issues for years. I kinda hate being vindicated years later, the time in between as an outsider kinda frustrates me. I wish we had a more thoughtful, less packrat culture in programming. Fighting off the pushback is exhausting. It's not even worth bringing things up most of the time. And as a disclaimer to those feeling tempted, I've got zero interest in debating this reality, water i…

Their point of view seems kind of right to me in that they may be suboptimal design decisions in hindsight, but changing them now will break all existing integrators. If you're going to break everyone anyways, might as well switch to a whole different library, or alternatively give the redone version a new name so nobody assumes you can just upgrade it and it'll be fine.

The basis of my complaint is that some things are well designed, others are just nicely documented.

moment has a, to me, counterintuitive "hidden" type system that is a different-kind-of-menacing. In code I've had to review and maintain, the moment parts or more than often a soupy mess of the previous coders in combat with the nuanced hairy complexities of the library as opposed to straightforward execution of the api (compare to say, jquery, where setting all architectural disagreements aside, there's no substantial evidence of frequent "programmer struggle" in the codebases using it)

This leads to poor long-term maintainability as the code passes through many hands over the years.

If, after a year or two of average "blue collared" programmers touching a codebase it gets so convoluted that you generally need to abandon it, then fundamentally you are using poorly designed tools.

Again, we all only have our own personal lived experiences to make such assessments on, and I way too often end up "debating" what mostly amounts to my work history of parachuting in and rescuing code (it's a psychiatric problem I have) so the pessimistic aspects become quite sharp to me.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#232

Our favorite bug for newbies using moment.js: const somedate = moment(...somedate...); const oneMonthLater = somedate.add(1, 'M'); const dateToCheck = ...; // between somedate and somedate + 1 month if (dateToCheck.isBetween(somedate, oneMonthLater)) { // do something } The puzzled looks when the tests fail. I'll miss that. Seriously.

Yes, it bit me once

Re: We now consider Moment.js to be a legacy project in maintenance mode

#233

Earlier quoted context omitted.

How so? Semantic versioning shows no indication of project status. It's just a set of numbers that defines the impact of changes since the last set of numbers.

I'm pretty sure SemVer allows for alpha and beta releases. Why not extend that versioning convention to include an omega release as well? (Is "omega release" even a thing? I'm imagining it as the last stable release - it will be maintained but no new features will be added. Which I think I would consider different from EOL.)

But even a release titled “Final-1.2.8” releases a year ago doesn’t tell you if the last release was because it was abandoned and shouldn’t be used anymore because it’s out of date or if it still works and just hasn’t been updated because there was nothing else to fix right now.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#234

Earlier quoted context omitted.

You might benefit from flipping this around and asking yourself why you're not able to ship software that remains shipped without intervention. And why you can't even imagine a world where that would be possible. If you spend some time and effort removing whatever obstacles you have in place that are keeping you from being able to do that, you'll have a lot more free time to spend building new things. For what it's w…

> If you spend some time and effort removing whatever obstacles you have in place that are keeping you from being able to do that This is literally impossible for many JS libraries. Chromium / NodeJS / other JS environments are themselves constantly changing. Irrespective of the evolving timezone info, the core MomentJS can only be "done" for a particular set of browser versions. Each bug pertaining to dates, like ht…

This is true, but also it would be good if the JS environments stopped doing that.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#235
post #227

Earlier quoted context omitted.

What’s the value in that vs a small note in README.md or similar?

Well, it would be more obvious. Right now, one of the first things the eyes are drawn to on a repository is the date of the last commit. I know I'm I have an internal bias against projects as soon as I see "Feb 23, 2016" as the last commit, it can make me stop scrolling without thinking about it. It would be nice to have a badge that is more obvious than the last commit date to supercede that.

Sure, or it could just not be used by people who subscribe to this silly notion that the last commit has to have been 5 minutes ago.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#237
post #225

Earlier quoted context omitted.

I also think it's not a showstopper for Node.js apps. For bundling in a front-end app it's waaaay too big.

The moment locales webpack plugin goes a very long way toward dealing with the size downside of the library. That said, we wouldn't be in this position if more companies used a shared CDN for libraries instead of always bundling them.

> shared CDN

That helps with transfer but clients still have to parse and execute the javascript which can be significant, especially on mobile devices.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#238

I worked extensively with Luxon (a sibling project leveraging modern js constructs) and found it to be really great! I’m really happy with their approach of creating an entirely new project to embody the API and new features you might expect in newer release of moment. It allowed Luxon to mature for several years without the weight of supporting the legacy api and avoided confusion within the community. The direction…

Dropped using Luxon when I couldn't easily chain like moment.js.

moment.js's API is intuitive and I have been using Dayjs and it has been doing great.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#239
post #19

I am very emotionally confused, as I feel this is a huge step forward for open source. More code should be done. More developers just need to know how to quit the project when the time is right. This is weird to say, but this is strong leadership.

I remember request.js being "done" as of late.

Re: We now consider Moment.js to be a legacy project in maintenance mode

#240

Earlier quoted context omitted.

You might benefit from flipping this around and asking yourself why you're not able to ship software that remains shipped without intervention. And why you can't even imagine a world where that would be possible. If you spend some time and effort removing whatever obstacles you have in place that are keeping you from being able to do that, you'll have a lot more free time to spend building new things. For what it's w…

Wow! What software is this that is complete and doesn’t need maintenance? Based on my experience, it must be either very simple or very uninteresting.

Embedded systems, particularly small ones, often don't even have a means of being updated.
Post reply on HN