From 9c30f84a4ca099a1bb806a0880cf8470ecf9dcf5 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Date: Thu, 30 Jul 2026 20:36:53 +0800 Subject: [PATCH] fix(scripts): shadcn-sync rewrites the registry paths Shadcn actually serves, and refuses to write a file when it cannot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `updateComponent` rewrote two alias shapes: `@/lib/utils` and `@/components/ui/x`. Surveying all 46 registry entries this manifest points at, the second one **never appears**. Shadcn moved to a different layout, and what it serves today is: 42 components @/lib/utils ← rewritten 8 components @/registry/default/ui/ ← missed 2 components @/registry/default/hooks/ ← missed 1 component @/registry/new-york/ui/ ← missed 1 component @/registry/default/lib/ ← missed So syncing `calendar`, `carousel`, `command`, `form`, `pagination`, `sidebar`, `toggle-group` or `chart` left `@/registry/...` specifiers that do not resolve from `src/ui/` — the script swapped working code for code that cannot compile, and said `✓ Updated`. That is how `resizable` ended up hand-patched and eventually reclassified (#3029). Two changes: **The rewrite table now covers what is served.** `ui/` maps to a sibling (`./x`), `hooks/` and `lib/` step up a level (`../hooks/x`, `../lib/x`), across any `