Skip to content

v0.1.10

Choose a tag to compare

@github-actions github-actions released this 28 Aug 12:51
· 45 commits to main since this release

Remove the double casts, by fixing what they were hiding

as unknown as T tells the compiler to stop checking. None of the ten in this
workspace turned out to be a real limit of the type system — each hid something
that could simply be described correctly:

  • writing a property onto an object: Reflect.set does it without claiming the
    object is something else
  • a synthetic root built only to satisfy a parameter that was never read; the
    parameter is gone and the object with it
  • Dirent.parentPath, typed since Node 20.12 — the cast had outlived its reason
  • a context interface that omitted url() and raw(), which the real request has;
    declaring them made the cast unnecessary
  • a validator already assignable to the async form, void being assignable to
    void | Promise
  • an AsyncCompiledRule passed off as a CompiledRule: different discriminants,
    and the routing depends on which one it is. Overloads now say what each call
    really returns
  • a hand-written connection type instead of the AsyncDatabaseConnection atlas
    exports

The last one exposed a real defect: MigrationRunner declared
execute(): Promise<void> while every connection atlas hands out returns
{ rowsAffected }, so the runner rejected its own connections and callers cast
around it.

Create the GitHub release from the publish workflow

A published version arrived with no notes: npm showed a number, GitHub showed
nothing, and the only way to learn what changed was to read a diff. The commit
messages already carry the reasoning, so the release is built from the commits
the tag contains rather than written twice.

Skips a pure version bump, leaves an existing release alone, and does nothing
when the run was not built from a tag. The job takes contents:write for this;
the workflow default stays read.


Changes since v0.1.9.