Skip to content

refactor(utils): drop the dead exports — positioning, memo, composeHandlers - #66

Merged
ivanbanov merged 3 commits into
mainfrom
refactor/drop-dead-utils
Aug 22, 2026
Merged

refactor(utils): drop the dead exports — positioning, memo, composeHandlers#66
ivanbanov merged 3 commits into
mainfrom
refactor/drop-dead-utils

Conversation

@ivanbanov

Copy link
Copy Markdown
Member

None of the three ever had a consumer:

  • positioning (Placement, Side, PositioningOptions, placementToSide, pickSide) — speculative vocabulary for floating components that don't exist yet; also the only util with no tests.
  • memo — its only call sites were its own test file.
  • composeHandlers — same; mergeProps composes handlers through its own private compose, not this export.

mergeProps is now the package's whole surface. ARCHITECTURE.md updated to match. Changeset is a minor for @dunky.dev/state-machine-utils (not patch): the symbols were publicly exported, so any external import of them breaks.

Positioning will come back designed against a real floating component when one lands.

Full suite, typecheck, lint, format, and build all green.

🤖 Generated with Claude Code

…ndlers

None of them ever had a consumer: no target or component imports them,
mergeProps composes handlers through its own private helper, and positioning
was speculative vocabulary for floating components that don't exist yet.
mergeProps is now the package's whole surface. Positioning comes back
designed against a real floating component when one lands.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dunky-state-machine Ready Ready Preview Aug 22, 2026 1:48pm

…de public (#67)

Promote the private compose inside mergeProps to a public export in its own
file. Same function, same semantics (consumer first, library skipped on the
consumer's defaultPrevented): mergeProps now imports it, so nothing changes
behaviorally — the composition just becomes reachable for consumers that
need to compose a single handler pair outside a prop merge.

Unlike the composeHandlers removed in the previous commit (a props-mutating
walker with no veto that nothing ever called), this exports the
battle-tested implementation the whole stack already runs on.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Conflict: the ARCHITECTURE.md project-structure table — main widened the
columns and added solid to the targets row (#32), this branch trimmed the
utils row to mergeProps + composeHandlers. Kept main's table with this
branch's utils row.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@ivanbanov
ivanbanov merged commit 6deab75 into main Aug 22, 2026
8 checks passed
@ivanbanov
ivanbanov deleted the refactor/drop-dead-utils branch August 22, 2026 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant