Trivia
Codsen has been publishing to npm for 10.8 years — 156 packages in that time, roughly 14.3 a year, of which 138 are current and 18 have been retired. The oldest is detergent (2015); the newest is html-entity-codec (2026).
There are eight hundred and fifty-two program examples posted here (including Quick Takes) — all automatically tested.
Six packages have a GUI playground.
Of the 110 packages in the monorepo, 22 (20%) declare no dependencies at all, and 90 (82%) never reach outside Codsen code however deep you follow them. Another 9 bottom out at exactly one outside library. The lot pulls in 18 distinct third-party packages in total.
Every one of those 110 packages is gated at 100% line coverage, and 32 of them at 100% branches, functions and statements as well. A package which slips below its threshold fails the build instead of shipping.
Benchmarks are checked in for 99 packages — 1,003 recorded runs so far. A release more than 10% slower than its own baseline fails the build; anything within 2% counts as unchanged. The quickest of them, html-all-known-attributes, clears 41,466,235 normalised operations a second.
It has taken 10,093 commits to get here. The package leaning hardest on the others, detergent, is built out of 16 of our own and is the chunkiest of the lot too, unpacking to 447 KB against a 36 KB median across the rest.
The most-consumed external dependencies
object-path— used by three packages@inquirer/prompts— used by two packagesunified— used by two packages@types/hast— used by one packages@types/mdast— used by one packagesansi-diff-stream— used by one packagesansi-regex— used by one packagescurrency.js— used by one packagesp-map— used by one packagesp-progress— used by one packages
The most-consumed internal packages
codsen-utils— used by seventy-seven packagesranges-apply— used by fifteen packagesstring-left-right— used by fifteen packagesranges-push— used by twelve packagescodsen-glob— used by eight packagesarrayiffy-if-string— used by seven packageshtml-entity-codec— used by seven packagesstring-match-left-right— used by seven packagesast-monkey-traverse— used by six packagesranges-merge— used by five packages