Skip to content

chore(deps): update dependency reka-ui to v2.10.3 - #428

Merged
IgorShevchik merged 1 commit into
mainfrom
sync/nuxt-f065438
Aug 18, 2026
Merged

chore(deps): update dependency reka-ui to v2.10.3#428
IgorShevchik merged 1 commit into
mainfrom
sync/nuxt-f065438

Conversation

@IgorShevchik

Copy link
Copy Markdown
Collaborator

Port of nuxt/ui@f065438d (nuxt/ui#6850). Third of six in the queue, after #427.

One line, identical to upstream's:

-    "reka-ui": "2.10.1",
+    "reka-ui": "2.10.3",

PORTING.md §2 records why the version carries no caret: reka-ui and vaul-vue are exact-pinned because upstream pins them, so the pin moves only through a port like this one and never independently.

Verify (CI=true)

dev:prepare (all four apps) · lint · typecheck · test · build · docs:generate — all green. Tests 6622 passed | 6 skipped across 288 files. 1240 routes prerendered.

docs:generate is not required by §6 here — no docs/ file is touched. It was run anyway because reka-ui is the primitive library under every component, so a behavioural change would surface in the rendered site rather than in the diff.

The result worth stating is the absence of one. No snapshot moved. 2.10.1 → 2.10.3 changes nothing this fork renders, which is the only interesting question a patch bump of the primitive layer raises.

Ledger

ccd48940 reconciled with #427 and squash dcb3bacf. cursorf065438d, entry added.

Remaining: f3c2ac21 (the Slider fix — applies here as Range, see #423), cf5f15e3 and f6d188bd (showcase; the second has a schema half worth taking).


Generated by Claude Code

Port of nuxt/ui@f065438d (#6850). One line, identical to upstream's.

PORTING.md §2 records why the version carries no caret: `reka-ui` and
`vaul-vue` are exact-pinned because upstream pins them, so the pin moves
only through a port like this one and never independently.

Verify (CI=true): dev:prepare across all four apps · lint · typecheck ·
test (6622 passed, 6 skipped, 288 files) · build · docs:generate (1240
routes) — all green.

`docs:generate` is not required by §6 here, since no `docs/` file is
touched. It was run anyway because `reka-ui` is the primitive library under
every component, so a behavioural change would surface in the rendered site
rather than in the diff.

The result worth stating is the absence of one: no snapshot moved. 2.10.1
-> 2.10.3 changes nothing this fork renders, which is the only interesting
question a patch bump of the primitive layer raises.
@IgorShevchik
IgorShevchik merged commit c602ea0 into main Aug 18, 2026
1 check passed
@IgorShevchik
IgorShevchik deleted the sync/nuxt-f065438 branch August 18, 2026 04:58
IgorShevchik pushed a commit that referenced this pull request Aug 18, 2026
Adds the rule the maintainer asked for: verify pins against the parent
repo, rather than trusting that porting each commit's delta keeps us level.

The gap is subtle because every individual port is correct. A `chore(deps)`
port bumps only the packages where this fork already sat on upstream's
pre-image — which is right, since a package deliberately held back must not
be dragged along — but it is wrong as the only check. Once a version leaves
upstream's line, no later batch mentions it again: the pre-image no longer
matches, so every subsequent port skips it, silently.

That is not hypothetical. Porting `6bcc97a6` turned up `@ai-sdk/vue` at 3.x
here against upstream's 4.x and `ai` at 6.x against 7.x, found only because
a comparison table happened to get printed. Building the snapshot then
turned up a third: `prettier` at ^3.8.4 against ^3.9.6, adrift through four
ported batches. `2a4218b8` (#295) explains itself exactly — it bumped "the
subset where b24ui shares upstream's old range", and ^3.8.4 was not in that
subset. Fixed here.

`.sync/dep-parity.json` records upstream's version for every dependency
both trees declare in the same section, `.sync/dep-parity.mjs` regenerates
it while preserving exceptions, and `test/utils/dep-parity.spec.ts` holds
the tree to it. The spec also pins the snapshot's cursor to the ledger's,
so a stale snapshot fails rather than quietly checking old versions.

Section-aware after the first draft got it wrong: comparing upstream's peer
ranges against our dependency ranges reported `tailwindcss ^4.3.3` and
`@internationalized/date ^3.12.3` as drift. 18 packages sit in different
sections on the two sides — the whole `@tiptap/*` family is a peer `^3`
upstream and a dependency `^3.29.2` here — and a peer range compared
against a dependency range says nothing. They are outside the file by
construction, which the file states rather than leaving to be rediscovered.

`nuxt-schema-org` is the one recorded exception, held at ^6.2.1 because
anything newer drags `nuxt-site-config` to 4.2.3, which calls two
`@nuxt/kit` functions no published 4.x exports. An exception that stops
diverging fails as loudly as an undeclared divergence — a stale one is a
standing licence to drift.

Verified by five mutations, each failing on its own: drifting a version,
dropping the exception, making the exception stale by aligning the version
under it, staling the snapshot's cursor, and deleting a package from a
manifest. The guard was also red against the real `reka-ui` drift before
#428 landed and green after, which is the behaviour it exists for.

Verify (CI=true): lint · typecheck · test (6644 passed, 6 skipped, 290
files) · build — all green.
IgorShevchik pushed a commit that referenced this pull request Aug 18, 2026
Adds the rule the maintainer asked for: verify pins against the parent
repo, rather than trusting that porting each commit's delta keeps us level.

The gap is subtle because every individual port is correct. A `chore(deps)`
port bumps only the packages where this fork already sat on upstream's
pre-image — which is right, since a package deliberately held back must not
be dragged along — but it is wrong as the only check. Once a version leaves
upstream's line, no later batch mentions it again: the pre-image no longer
matches, so every subsequent port skips it, silently.

That is not hypothetical. Porting `6bcc97a6` turned up `@ai-sdk/vue` at 3.x
here against upstream's 4.x and `ai` at 6.x against 7.x, found only because
a comparison table happened to get printed. Building the snapshot then
turned up a third: `prettier` at ^3.8.4 against ^3.9.6, adrift through four
ported batches. `2a4218b8` (#295) explains itself exactly — it bumped "the
subset where b24ui shares upstream's old range", and ^3.8.4 was not in that
subset. Fixed here.

`.sync/dep-parity.json` records upstream's version for every dependency
both trees declare in the same section, `.sync/dep-parity.mjs` regenerates
it while preserving exceptions, and `test/utils/dep-parity.spec.ts` holds
the tree to it. The spec also pins the snapshot's cursor to the ledger's,
so a stale snapshot fails rather than quietly checking old versions.

Section-aware after the first draft got it wrong: comparing upstream's peer
ranges against our dependency ranges reported `tailwindcss ^4.3.3` and
`@internationalized/date ^3.12.3` as drift. 18 packages sit in different
sections on the two sides — the whole `@tiptap/*` family is a peer `^3`
upstream and a dependency `^3.29.2` here — and a peer range compared
against a dependency range says nothing. They are outside the file by
construction, which the file states rather than leaving to be rediscovered.

`nuxt-schema-org` is the one recorded exception, held at ^6.2.1 because
anything newer drags `nuxt-site-config` to 4.2.3, which calls two
`@nuxt/kit` functions no published 4.x exports. An exception that stops
diverging fails as loudly as an undeclared divergence — a stale one is a
standing licence to drift.

Verified by five mutations, each failing on its own: drifting a version,
dropping the exception, making the exception stale by aligning the version
under it, staling the snapshot's cursor, and deleting a package from a
manifest. The guard was also red against the real `reka-ui` drift before
#428 landed and green after, which is the behaviour it exists for.

Verify (CI=true): lint · typecheck · test (6644 passed, 6 skipped, 290
files) · build — all green.
IgorShevchik added a commit that referenced this pull request Aug 18, 2026
…#429)

Adds the rule the maintainer asked for: verify pins against the parent
repo, rather than trusting that porting each commit's delta keeps us level.

The gap is subtle because every individual port is correct. A `chore(deps)`
port bumps only the packages where this fork already sat on upstream's
pre-image — which is right, since a package deliberately held back must not
be dragged along — but it is wrong as the only check. Once a version leaves
upstream's line, no later batch mentions it again: the pre-image no longer
matches, so every subsequent port skips it, silently.

That is not hypothetical. Porting `6bcc97a6` turned up `@ai-sdk/vue` at 3.x
here against upstream's 4.x and `ai` at 6.x against 7.x, found only because
a comparison table happened to get printed. Building the snapshot then
turned up a third: `prettier` at ^3.8.4 against ^3.9.6, adrift through four
ported batches. `2a4218b8` (#295) explains itself exactly — it bumped "the
subset where b24ui shares upstream's old range", and ^3.8.4 was not in that
subset. Fixed here.

`.sync/dep-parity.json` records upstream's version for every dependency
both trees declare in the same section, `.sync/dep-parity.mjs` regenerates
it while preserving exceptions, and `test/utils/dep-parity.spec.ts` holds
the tree to it. The spec also pins the snapshot's cursor to the ledger's,
so a stale snapshot fails rather than quietly checking old versions.

Section-aware after the first draft got it wrong: comparing upstream's peer
ranges against our dependency ranges reported `tailwindcss ^4.3.3` and
`@internationalized/date ^3.12.3` as drift. 18 packages sit in different
sections on the two sides — the whole `@tiptap/*` family is a peer `^3`
upstream and a dependency `^3.29.2` here — and a peer range compared
against a dependency range says nothing. They are outside the file by
construction, which the file states rather than leaving to be rediscovered.

`nuxt-schema-org` is the one recorded exception, held at ^6.2.1 because
anything newer drags `nuxt-site-config` to 4.2.3, which calls two
`@nuxt/kit` functions no published 4.x exports. An exception that stops
diverging fails as loudly as an undeclared divergence — a stale one is a
standing licence to drift.

Verified by five mutations, each failing on its own: drifting a version,
dropping the exception, making the exception stale by aligning the version
under it, staling the snapshot's cursor, and deleting a package from a
manifest. The guard was also red against the real `reka-ui` drift before
#428 landed and green after, which is the behaviour it exists for.

Verify (CI=true): lint · typecheck · test (6644 passed, 6 skipped, 290
files) · build — all green.

Co-authored-by: Shevchik Igor <noreply@anthropic.com>
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.

2 participants