moment().endOf(‘term’)

Five years ago, inspired by the simplicity and utility of underscore.js and underscore.string, I cobbled together a date formatter and timeago plugin and called it underscore.date. After a few choppy iterations, it became moment.js.

With the help of over 400 committers and countless other contributors opening issues and answering questions, it has grown far beyond what I ever imagined it could be 40 versions ago. With 27,000 stars and 3,700 forks on GitHub, it has become the 12th most popular JavaScript library (31st of all languages). Developers in over 100 locales have helped moment become the 13th most depended on npm package, with well over a million downloads per week. I am tremendously grateful to everyone who has helped moment become what it is today.

The correlation between Open Source and burnout is no secret, and I am not immune to it. Over the last couple years, I have slowly become less involved, handing over the lead on moment core to focus on moment timezone. Over the last year, my contributions to moment timezone have slowed as well. During this time, I was also dealing with a serious chronic health condition of a close family member, draining me of energy and motivation.

Seeing bugs and issues continue to roll in and being mentally unable to address them has led to feelings of failure and depression. When looking at the moment project, I could only see the negatives. The bugs and misnomers and mistakes I had made. It let to a cycle of being too depressed to contribute, which led to being depressed because I wasn’t contributing.

With the help of my wife, Sheli, I have started taking medication, which has helped tremendously. As another part of taking care of my mental health, I will be officially stepping down from all moment responsibilities.

The moment project is being left in great hands, I have no doubt that they will take great care of it. Iskren Chernev has done tireless work maintaining moment core and publishing and documenting the releases. Matt Johnson is the most knowledgable person about timezones that I’ve met, and has answered a tremendous number of moment questions on Stack Overflow and Gitter. Maggie Pint has been amazing at responding to issues, pull requests, Gitter, and Stack Overflow, and has greatly increased the communication between the core team and the greater moment community. Isaac Cambron has written and reviewed a lot of code, closed many of the 2000+ issues, and has been an integral proponent of moving to an immutable api. Andre Polykanine’s familiarity with over a dozen languages has made him a highly valued and trusted team member on a project with so many localization requirements. JD Isaacks has made a number of contributions, along with helpful advice on upgrading to es6 modules, despite only recently joining the team. Lucas Sanders is the newest member of the team, bringing his expertise maintaining frozen-moment into the process of making moment 3.0 immutable.

It is humbling to see the project I started has outgrown me. I’m honored that you found my ideas helpful, and have brought your ideas along to help others. Thanks for your contributions, I’m excited to see what you make of moment in the future.