Node 22, and the test runner that grew a watch mode

The built-in runner became usable for a package of plain JavaScript at the point it gained watching and a coverage report.

$ node --test --watch
$ node --test --experimental-test-coverage

  ℹ tests 88
  ℹ pass 88
  ℹ duration_ms 412

  file            | line % | branch % | funcs %
  src/slugify.js  |  100.0 |    94.11 |  100.00

# dependencies removed from this package: 41

Forty-one transitive dependencies gone from a package that does string manipulation is the argument, and it is only available for code that needs no transform and no browser environment. Anything with TypeScript or JSX still needs a build step, at which point a runner that already understands it is less friction than a loader hook.