Skip to content

📦 Package: Bump log-symbols from 10 to 11 #5332

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
3 tasks done
JoshuaKGoldberg opened this issue Apr 10, 2025 · 2 comments
Open
3 tasks done

📦 Package: Bump log-symbols from 10 to 11 #5332

JoshuaKGoldberg opened this issue Apr 10, 2025 · 2 comments
Labels
status: blocked Waiting for something else to be resolved type: feature enhancement proposal
Milestone

Comments

@JoshuaKGoldberg
Copy link
Member

JoshuaKGoldberg commented Apr 10, 2025

Feature Request Checklist

Overview

Mocha currently depends an older major version of log-symbols:

"log-symbols": "^4.1.0",

Suggested Solution

[email protected] is the latest. It'd be nice to bump to that, so users aren't stuck on a dep that's two major versions behind.

Alternatives

This isn't critical and I don't think we need to do it. But it's nice ecosystem cleanup in general.

Additional Info

log-symbols@7 still supports Node.js >=18, so I don't believe we're blocked on that. However, it is an ESM-only package, so this could only happen once Mocha requires Node.js versions that include require(ESM) (^20.19.0 || >=22.12.0).

@JoshuaKGoldberg JoshuaKGoldberg added status: in triage a maintainer should (re-)triage (review) this issue type: feature enhancement proposal labels Apr 10, 2025
@JoshuaKGoldberg JoshuaKGoldberg added this to the v12.0.0 milestone Apr 10, 2025
@mark-wiemer
Copy link
Member

@JoshuaKGoldberg do we have any issue to support ESM-only packages? Or would that require us to go ESM-only as well? I forget how all this works :(

@JoshuaKGoldberg
Copy link
Member Author

JoshuaKGoldberg commented Apr 11, 2025

Yeah, prior to require(esm) in Node.js it's "viral" in the same way async/await is. In Node.js versions without require(esm) if something is ESM then it can only be imported by an import. That's either an ESM import ... from ... or a dynamic await import(...).

My personal hope is that for Mocha 12 we do roughly only "clean up old cruft" work, similar to & expanding on what we did for Mocha 11:

  • By increasing the minimum Node.js to ^20.19.0 || >=22.12.0 we can assume all consumers support require(esm), making this not an issue
  • Other cleanups, like removing long-deprecated options and switching manual .prototype shenanigans to actual classes

...so that most consumers who aren't on old Node.js versions can "just" update to Mocha 12. Then Mocha 13 would start landing behavioral changes.

I haven't talked about this with anybody recently, and was hoping to start a conversation soon. 😄

@JoshuaKGoldberg JoshuaKGoldberg added status: blocked Waiting for something else to be resolved and removed status: in triage a maintainer should (re-)triage (review) this issue labels May 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: blocked Waiting for something else to be resolved type: feature enhancement proposal
Projects
None yet
Development

No branches or pull requests

2 participants