Compatibility
How roundel/chalk is graded — chalk 6.0.0's own test suite, unedited — the current grade, and the differences that remain.
roundel/chalk is graded, not described as compatible. It is run against chalk's own test
suite, by
compat-oracle,
in CI.
✓ yes · ◐ partial, with what is missing · ✗ no · — does not apply. Every mark links to its evidence: our test or grade, or the incumbent’s source at the version compat-oracle grades.
| Capability | roundel | chalk |
|---|---|---|
| Compatibility | ||
Passes chalk's own test suiteroundel/chalk is graded by chalk 6.0.0's own tests, unedited, so changing the import keeps chalk's output. | roundel: yes58 / 58 of its own tests | chalk: yesits own suite, the control run |
Compatibility
Passes chalk's own test suite
roundel/chalkis graded by chalk 6.0.0's own tests, unedited, so changing the import keeps chalk's output.
The count is compat-oracle's baseline, the pass count the drop-in is held to. The family's compatibility page is generated from the oracle's last run and is the authority for the current figure.
How the suite is graded
- chalk's repository is cloned at
v6.0.0and itstest/directory — eight files, fixtures included — copied intopackages/compat-oracle/vendor/chalk/. chalk does not ship its tests to npm. ThePROVENANCEfile names the tag, the commit and the command that reproduces it. - The only edit is the import that reaches the library: it is rewritten to a shim generated per run. Assertions and fixtures are chalk's, byte for byte.
- A control run points the shim at chalk itself first, which proves the harness and sets the total every rate is measured against.
- The target run points the same shim at
roundel/chalk.
The suite covers the chain, every modifier and colour, rgb/hex/ansi256 and their
downsampling, nesting and line breaks, chalk.level, new Chalk({ level }), chalkStderr,
visible, and FORCE_COLOR in a child process.
Known differences
NO_COLORturnsroundel/chalkoff. chalk 6.0.0 does not read it; the policy does, and the façade's level comes from the policy.- A
--colorflag beats an ambientFORCE_COLOR. In chalk,--no-colorunderFORCE_COLOR=3still colours; here it does not.FORCE_COLOR=0still beats every flag, as in chalk (Colour levels). - No terminal allow-list. chalk's detection of particular terminal programs is not
reproduced; such a terminal that reports nothing through
TERMorCOLORTERMgets colour byFORCE_COLORor--color. - The level is per façade.
chalk.level = 0silencesroundel/chalkand nothing else. - No template literal. chalk removed
chalk`{red x}`in version 5, and it is not brought back.
None of these is exercised by chalk's suite, which is why the grade is 58 of 58.
Types and CommonJS
roundel/chalk exports chalk 6's names — the default instance, Chalk, chalkStderr,
supportsColor, supportsColorStderr and the name lists — and its types. It is ESM with a
default condition, so require('roundel/chalk') returns the module whose default is the
chalk instance.
Why roundel
roundel against chalk, one capability per row, every cell linked to the test, grade or source that proves it.
Coming from chalk
A chalk alternative with a drop-in path: import chalk from roundel/chalk, graded 58 / 58 by chalk's own test suite — then semantic tokens that go plain on a pipe, under NO_COLOR and under --json.