Context
A temporary "overrides": { "yargs": "^18.0.0" } was added to package.json in #616 to unblock c8 on Node 26.
The root cause is a c8 upstream bug — yargs@17.7.2 has "type": "module" but its ./yargs entrypoint uses require(), which Node 26's stable require()-of-ESM feature now properly rejects.
The upstream fix is tracked in:
Action
Once bcoe/c8#578 merges and publishes a new release:
- Update
c8 in devDependencies to the new version
- Remove the
"overrides" block from package.json
- Verify
npm run test:coverage still passes on Node 22, 24 and 26
Sub-issues
Context
A temporary
"overrides": { "yargs": "^18.0.0" }was added topackage.jsonin #616 to unblockc8on Node 26.The root cause is a
c8upstream bug —yargs@17.7.2has"type": "module"but its./yargsentrypoint usesrequire(), which Node 26's stablerequire()-of-ESM feature now properly rejects.The upstream fix is tracked in:
Action
Once
bcoe/c8#578merges and publishes a new release:c8indevDependenciesto the new version"overrides"block frompackage.jsonnpm run test:coveragestill passes on Node 22, 24 and 26Sub-issues