Maintenance Reboot
š Hi all! @Uzlopak, @voxpelli, and I (@JoshuaKGoldberg) are happy to announce that weāve picked up maintenance of the Mocha organization and packages. That primarily includes the mocha test framework.
Shoutout and thanks to @boneskull for inviting us on and helping set up many of the documentation and processes still in use today, as well as the other recent Mocha core team members: @giltayar, @juergba, @Munter, and @outsideris.
Context
Section titled āContextāMocha was not actively maintained for most of 2023. It was maintained off-and-on through 2022. This is natural in open source projects: because they are run by volunteers, maintenance often is dependent on personal voluntary availability in out-of-work hours.
The three of us ārebootā maintainers are joining on to:
- Get the project back into active maintenance, including regularly triaged issues and reviewed pull requests
- Update the projectās tooling to reduce the overhead of maintenance
- Update Mocha as needed to stay up-to-date with the surrounding JavaScript ecosystem
Project Charter
Section titled āProject CharterāMocha has been a core part of the JavaScript ecosystem for over a decade. Per its PROJECT_CHARTER.md:
Mocha is a unopinionated, general-purpose testing framework for the JavaScript community. Mocha favors flexibility over rigidity, stability over disruption, and deliberation over agility. Mocha aims to do one thing, and do it well. Mocha will strive to evolve with the needs of the community, but will make every effort not to abandon its current users in doing so.
We intend to keep to this project charter. Mocha is positioned differently from other popular test frameworks in the ecosystem. Notably:
- Higher-level frameworks Jest and Vitest provide more abstractions and utilities on top of testing
- Nodeās built-in runner integrates closely with Node itself at a lower level
We aim to keep Mocha positioned as a stable test framework, minimizing breaking changes or significant new feature additions. Our priority is for the existing users who do not want to be broken by or have to spend time reacting to changes.
Next Steps
Section titled āNext StepsāOur current plan is to:
- Discuss this pinned issue and announce it
- Tidy up the existing contributing and maintenance documentation and processes, such as issue and PR templates: #5038
- Migrate https://gitter.im/mochajs/contributors to a new Mocha Discord server with a
#helpQ&A channel
- Migrate https://gitter.im/mochajs/contributors to a new Mocha Discord server with a
- Review and triage existing issues and PRs
- Align existing issues and PRs to the new templates
- Close out duplicate, stale, or clearly wontfix-level issues
- Triage pending bug reports and feature requests
- Review open PRs
- Add tooling such as automatic security updates and static analysis to help with long-term maintenance
- Make a new release with no new features to test the release pipeline: #5081
- Merge a small
chorerefactor: #5056 - Ship a pre-release minor version on npm
- Ship a true minor version release on npm
- Merge a small
- Publicly propose and get approved an invoicing system for https://opencollective.com/mochajs, then reach out to previous maintainers to compensate them for their time
Updated January 8th, 2024 with more detail.
Items might be tackled out of order. You can see the full list of work items and their statuses on the public Maintenance Reboot project board.
Out of Scope
Section titled āOut of ScopeāNote also that weāre new to maintaining this project. Weāll need to ramp up over the next few months. Donāt expect any major overhauls anytime soon.
We donāt intend to make any major breaking changes unless absolutely necessary for the project. We will drop support for EOL Node versions in occasional breaking changes well after those Node versions go EOL.
We donāt intend to overhaul any currently-useful resources such as https://mochajs.org or https://github.com/mochajs/mocha/wiki. Though, we will happily accept issue reports if those resources need improvement.
Weāre excited to help keep Mocha going forward as a project. Please do post feedback if you have any questions or suggestions. Cheers all! ā¤ļø