v1.0.5
Documentation only. dist/ is byte-identical to 1.0.4 — verified by diffing a
fresh build against the published tarball — so there is no runtime change.
Fixed
-
The README's configuration examples did not compile in a strict project.
Eight snippets passedprocess.env.REDIS_URLwhere astringis required:TS2322: Type 'string | undefined' is not assignable to type 'string'.process.env.Xisstring | undefinedunderstrict, so anyone copying the
Quick Start into a strict TypeScript project — the configuration this library
itself uses and recommends — got a type error out of the box. Now shown with a
fallback, which is what the code has to do anyway:connection: { url: process.env.REDIS_URL ?? 'redis://localhost:6379' }
Found by
pnpm check:published, added in the same release, which compiles the
README's own snippets against the built package. Nobody had reported it, and
nothing before this would have.
Added
-
pnpm check:published— a gate that verifies the published surface matches
the documentation, before a tag rather than after it. It scaffolds a throwaway
consumer, symlinks the package into its ownnode_modulesso resolution runs
through theexportsmap intodist/, and then checks that the README's links
resolve, that its TypeScript snippets and the type tests compile against the
built package, and that everyv*.*.*tag has a## [x.y.z]CHANGELOG section.Each of those exists because its absence let a defect reach npm: the 404 link
corrected in1.0.3, the exported type that rejected the README's own snippet
corrected in1.0.4, and a deleted heading that would have turned release notes
into the generic fallback.It runs in CI, in
release.yml, and insideprepublishOnly— the last one
because the first publish of a package is manual by design, which is precisely
the path that bypasses the tag workflow.