v0.2.8
Release 0.2.8
0.2.8 was never published — npm stops at the version before it — so the work
that followed folds into it rather than incrementing past it. The tags for
0.2.9 existed with no npm release and no GitHub release behind them.
Turn on noUnusedLocals/noUnusedParameters, and say what is checked
tsconfig named tests in include AND in exclude, and exclude wins, so
nothing under tests/ was ever typechecked while the config claimed otherwise.
include now says src.
The exclusion had a real reason worth writing down: tests/selftest declares
module augmentations — Test.macro("asSlow", …) and its declare module —
and in one program those leak into src, so makeHandle is reported as missing a
member it is never meant to implement. Checking the tests here needs its own
tsconfig, plus the 28 errors currently behind the exclusion.
Report a reporter that fails to attach instead of ending the worker
registerReporter is chainable and synchronous, as upstream, so the handler's
promise is nobody's to await. Unhandled, its rejection ended the worker and the
file it was reporting on showed up as a crash rather than as results plus a
broken reporter.
Release 0.2.9
Move tsx to devDependencies, where it is used
It is a TypeScript loader, and src/ never touches it — only one integration
test does, to hand a child process a loader. Declared as a production
dependency it was installed by every project that installs the runner, for
work none of them run.
Release 0.2.8
Read the framework rc file when there is no helix config
ream test read reamrc and helix test did not, so the same project gave two
different bootstraps depending on which command ran — and one of the two was
always wrong. Reported cost: a bootstrap that starts the application, picked up
by convention, opening a server and a connection pool inside a unit suite that
touches neither.
The rc files come after helix.config.*, which still wins. This does not make
helix framework-aware: it reads the same tests block it already knew how to
unwrap, from a file it locates by name, and imports nothing else from it.
That supersedes the warning added earlier today, which now said something
untrue — that helix does not read the file — so it is gone with its tests.
toThrow's constructor overload was typed new (...args: unknown[]) => Error.
Constructor parameters are contravariant, so a class declaring
constructor(message: string) was rejected at compile time while the matcher
worked perfectly at runtime: a bare Error passed and everything that typed its
arguments did not, which cost one project nine hand-written helpers. never[]
accepts any parameter list, which is what a constructor-shaped parameter means.
Changes since v0.2.7.