Major Changes
-
b5e379e: Pin
type-plusto8.0.0-beta.10, exactly, and raise the Node floor to>= 20.All three packages already declared
type-plus: ^8.0.0-beta.10in their last publish
(@unional/async-context@9.0.17,async-fp@9.0.17,@unional/gizmo@2.3.5), so the
typescript >= 5.6.0peer type-plus 8 introduced already reaches consumers today.
Tightening the caret to an exact pin removes headroom (later 8.0.0 prereleases,8.0.0,
8.1.0) but does not change what a fresh install resolves right now — 8 is a prerelease
line where breaking changes land between betas (beta.10 -> beta.11 changedEqual's
signature and removedisType.f), so an exact version makes the next bump a reviewable
PR instead of something a lockfile refresh does silently.Breaking: the Node floor moves from
>= 14.16to>= 20.type-plus8 depends on
unpartial@^1.0.7, which declaresengines: { node: '>= 20' }.@unional/async-context
and@unional/gizmocarrytype-plusas a runtimedependency(its types are re-exported
in their emitted.d.ts), so their actual runtime floor was already 20 as of their last
publish — this only makes the declaredenginesfield honest.async-fphas no direct
runtime dependency ontype-plus(it's a devDependency there, and none of its own emitted
declarations reference it), but it depends on@unional/async-contextand@unional/gizmo
at runtime, so its effective floor moves too. Because narrowing supported Node is breaking
for consumers regardless of which path pulls it in, all three packages takemajor.Downstream value:
@unional/gizmo@2.3.0was found, during a sibling sweep of
justland/just-web-react, published on an oldtype-plus, contributing a stale copy to
consumers' dependency trees. A fresh@unional/gizmorelease from this repo fixes that at
the source formocktomataandjustland/just-web(via@unional/gizmo), both of which
consume this repo mid-graph.assertronmoves11.5.3->11.6.0andiso-error/satisfier/tersifypick up their
latest patches as a side effect of exempting first-party packages from the 24h release-age
soak (seepnpm-workspace.yaml) — without the exemption,assertron@11.5.2(declaring the
oldertype-plus: ^7.6.2/tersify: ^3.12.1) would have been silently resolved instead,
duplicating both packages in the tree.
Patch Changes
- Updated dependencies [b5e379e]
- @unional/async-context@10.0.0
- @unional/gizmo@3.0.0