> object-ui-monorepo@ shadcn:analyze /home/runner/work/objectui/objectui
> node scripts/component-analysis.js
======================================================================
ObjectUI Components Analysis (Offline Mode)
======================================================================
Analyzing 48 components...
Manifest tracks 46 Shadcn components
Manifest tracks 15 custom components
======================================================================
Shadcn Components - Customization Analysis
======================================================================
📊 Customization Levels:
✓ Unmodified: 41 components
⚡ Light customization: 5 components
🔧 Heavy customization: 0 components
⚡ Lightly Customized Components:
• calendar Data-slot attributes (3 instances)
• dialog Significantly different size (132 vs ~200 lines)
• form React Hook Form integration
• label Significantly different size (35 vs ~25 lines)
• menubar Data-slot attributes (1 instances)
======================================================================
Custom ObjectUI Components
======================================================================
Found 1 custom components:
• resizable ( 95 lines) Diverged from Shadcn - hand-migrated to react-resizable-panels v4. Upstream still ships v3 (imports PanelGroup/PanelResizeHandle, which v4 does not export), so re-syncing would break the build. Restore to `components` only once upstream regenerates for v4.
======================================================================
Dependency Summary
======================================================================
Radix UI Dependencies:
• @radix-ui/react-accordion (used by 1 components)
• @radix-ui/react-alert-dialog (used by 1 components)
• @radix-ui/react-aspect-ratio (used by 1 components)
• @radix-ui/react-avatar (used by 1 components)
• @radix-ui/react-checkbox (used by 1 components)
• @radix-ui/react-collapsible (used by 1 components)
• @radix-ui/react-context-menu (used by 1 components)
• @radix-ui/react-dialog (used by 3 components)
• @radix-ui/react-dropdown-menu (used by 1 components)
• @radix-ui/react-hover-card (used by 1 components)
• @radix-ui/react-label (used by 2 components)
• @radix-ui/react-menubar (used by 1 components)
• @radix-ui/react-navigation-menu (used by 1 components)
• @radix-ui/react-popover (used by 1 components)
• @radix-ui/react-progress (used by 1 components)
• @radix-ui/react-radio-group (used by 1 components)
• @radix-ui/react-scroll-area (used by 1 components)
• @radix-ui/react-select (used by 1 components)
• @radix-ui/react-separator (used by 1 components)
• @radix-ui/react-slider (used by 1 components)
• @radix-ui/react-slot (used by 4 components)
• @radix-ui/react-switch (used by 1 components)
• @radix-ui/react-tabs (used by 1 components)
• @radix-ui/react-toast (used by 1 components)
• @radix-ui/react-toggle (used by 1 components)
• @radix-ui/react-toggle-group (used by 1 components)
• @radix-ui/react-tooltip (used by 1 components)
External Dependencies:
• class-variance-authority (used by 10 components)
• cmdk (used by 1 components)
• input-otp (used by 1 components)
• next-themes (used by 1 components)
• recharts (used by 1 components)
• sonner (used by 1 components)
• vaul (used by 1 components)
======================================================================
Update Recommendations
======================================================================
✅ Safe to update (minimal customizations):
• accordion
• alert-dialog
• alert
• aspect-ratio
• avatar
• badge
• breadcrumb
• button
• card
• carousel
... and 31 more
⚠️ Review carefully before updating (moderate customizations):
• calendar
• dialog
• form
• label
• menubar
🔧 Manual merge required (heavy customizations):
● Do NOT update (custom ObjectUI components):
• resizable
======================================================================
Summary
======================================================================
Total components: 48
Shadcn-based: 46
Custom ObjectUI: 1
Unknown/Untracked: 1
Radix UI dependencies: 27
External depende
> object-ui-monorepo@ shadcn:check /home/runner/work/objectui/objectui
> node scripts/shadcn-sync.js --check
============================================================
Checking Components Status
============================================================
Found 48 local components
Tracking 46 Shadcn components
Tracking 15 custom components
✓ accordion Identical to upstream
✓ alert-dialog Identical to upstream
✓ alert Identical to upstream
✓ aspect-ratio Identical to upstream
✓ avatar Identical to upstream
⚠ badge 4 local line(s) upstream lacks — --update would refuse, 1 not matching upstream verbatim [documented]
✓ breadcrumb Identical to upstream
✓ button Identical to upstream
⚠ calendar 7 local line(s) upstream lacks — --update would refuse, 8 not matching upstream verbatim [documented]
✓ card Identical to upstream
✓ carousel Identical to upstream
⚠ chart 11 local line(s) upstream lacks — --update would refuse, 5 not matching upstream verbatim [documented]
✓ checkbox Identical to upstream
✓ collapsible Identical to upstream
⚠ command 35 local line(s) upstream lacks — --update would refuse, 3 not matching upstream verbatim [documented]
⚠ context-menu 2 local line(s) upstream lacks — --update would refuse, 2 not matching upstream verbatim [documented]
✓ dialog Identical to upstream
✓ drawer Identical to upstream
⚠ dropdown-menu 2 local line(s) upstream lacks — --update would refuse, 2 not matching upstream verbatim [documented]
⚠ form 1 local line(s) upstream lacks — --update would refuse, 1 not matching upstream verbatim [documented]
⚠ hover-card 1 local line(s) upstream lacks — --update would refuse, 1 not matching upstream verbatim [documented]
✓ input-otp Identical to upstream
✓ input Identical to upstream
✓ label Identical to upstream
⚠ menubar 2 local line(s) upstream lacks — --update would refuse, 2 not matching upstream verbatim [documented]
✓ navigation-menu Identical to upstream
✓ pagination Identical to upstream
⚠ popover 1 local line(s) upstream lacks — --update would refuse, 1 not matching upstream verbatim [documented]
✓ progress Identical to upstream
✓ radio-group Identical to upstream
● resizable Custom ObjectUI component (not in Shadcn)
✓ scroll-area Identical to upstream
⚠ select 32 local line(s) upstream lacks — --update would refuse, 2 not matching upstream verbatim [documented]
✓ separator Identical to upstream
⚠ sheet 4 local line(s) upstream lacks — --update would refuse, 3 not matching upstream verbatim [documented]
⚠ sidebar 24 local line(s) upstream lacks — --update would refuse, 21 not matching upstream verbatim [documented]
✓ skeleton Identical to upstream
⚠ slider 4 local line(s) upstream lacks — --update would refuse, 1 not matching upstream verbatim [documented]
⚠ sonner 2 local line(s) upstream lacks — --update would refuse, 2 not matching upstream verbatim [documented]
✓ switch Identical to upstream
⚠ table 17 local line(s) upstream lacks — --update would refuse, 2 not matching upstream verbatim [documented]
✓ tabs Identical to upstream
✓ textarea Identical to upstream
✓ toast Identical to upstream
✓ toggle-group Identical to upstream
✓ toggle Identical to upstream
⚠ tooltip 1 local line(s) upstream lacks — --update would refuse, 1 not matching upstream verbatim [documented]
● typography Custom ObjectUI component (not in Shadcn)
============================================================
Summary
============================================================
✓ Identical: 29 components
↑ Outdated: 0 components (no local edits — safe to sync)
⚠ Modified: 17 components (local edits — --update refuses)
● Custom: 2 components (not tracked upstream)
✗ Errors: 0 components
Registry: 0 cached, 46 fetched (cache TTL 60min — --no-cache to force live)
============================================================
DECLARED LOCAL PATCHES — FAILED
============================================================
✗ Required local patches NO LONGER APPLY to current upstream:
[slider-thumb-aria-delivery] declared for slider.tsx (objectui#3318)
why: Delivers the host's control-channel facts to the element that can carry them. Replaces (and preserve
Shadcn Components Status Report
The weekly component sync check found a declared local patch failure: either a required edit is missing from the file on disk, or upstream moved the anchor it is applied to, so the next
pnpm shadcn:updatewould refuse to write rather than drop it. Details in the check output below.pnpm shadcn:checkexit code:1(class:patch)pnpm shadcn:analyzeexit code:0(class:ok)Offline Analysis
Online Check Results
Next Steps
DECLARED LOCAL PATCHESsection above — it names the patch id, its tracking issue and the reasonpnpm shadcn:update <component>find/occurrencesinscripts/shadcn-local-patches.mjs