deso-protocol / deso-protocol/deso-ui
Component Installation Failure: 44% of Components Unable to Install via shadcn CLI Due to Dependency Resolution Issues
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
# Component Installation Failure: 44% of Components Unable to Install via shadcn CLI Due to Dependency Resolution Issues
## Problem Summary
When attempting to install DeSo UI components using `npx shadcn@latest add http://ui.deso.com/r/[component-name].json`, **21 out of 47 components (44.7%) fail to install** due to dependency resolution issues.
## Environment
- **Command**: `npx shadcn@latest add http://ui.deso.com/r/[component-name].json`
- **Test Date**: July 5, 2025
- **Total Components Tested**: 47 (all components in `public/r` folder)
## Root Cause
The shadcn CLI is attempting to resolve dependencies from the standard shadcn registry (`https://ui.shadcn.com/`) instead of the DeSo registry (`https://ui.deso.com/`), causing dependency resolution failures.
## Error Message
```
Something went wrong. Please check the error below for more details.
If the problem persists, please open an issue on GitHub.
The component at https://ui.shadcn.com/r/styles/new-york-v4/[dependency-name].json was not found.
It may not exist at the registry. Please make sure it is a valid component.
```
## Failed Components List
### High Priority (Core Functionality - 4 components)
- **post-card** - Critical for displaying posts
- **user-info** - Essential for user information display
- **feed-list** - Required for content feeds
- **editor** - Necessary for content creation
### Medium Priority (Enhanced Features - 7 components)
- **media-gallery** - Important for media display
- **media-card** - Media display with engagement
- **media-item** - Individual media items
- **message-inbox** - Required for messaging functionality
- **profile-card** - Needed for user profiles
- **profile-actions** - Profile interaction buttons
- **video-reel** - Video content display
### Lower Priority (Utility Components - 10 components)
- **action-menu** - Dropdown action menus
- **message-chat-item** - Individual chat messages
- **message-chat-list** - Chat message lists
- **message-inbox-item** - Inbox message items
- **post-share** - Post sharing functionality
- **profile-list** - Lists of user profiles
- **user-menu** - User dropdown menus
- **user-public-key** - Public key display
- **user-search** - User search functionality
- **username-display** - Username with verification badges
## Dependency Chain Analysis
The failures follow predictable patterns:
1. **Simple dependencies**: Component A depends on Component B (B exists but resolution fails)
2. **Chain dependencies**: Component A → Component B → Component C (failure anywhere breaks the chain)
3. **Circular dependencies**: Component A depends on Component B, which was already successfully installed
## Successfully Installed Components (26)
The following components install without issues:
- Basic: confirmation-dialog, copy-button, logo, search-bar, timestamp, username, verification-badge
- Editor: editor-emoji-picker, editor-markdown, editor-upload
- Post: post-audio, post-embed, post-engagement, post-image, post-poll, post-reactions, post-text, post-video
- Profile: profile-cover-photo, profile-description, profile-picture, profile-stat, profile-tag
- Other: follow-button, message-button, navigation-list
## Requested Action
1. **Fix dependency resolution**: Ensure the shadcn CLI resolves dependencies from the DeSo registry (`https://ui.deso.com/`) rather than the standard shadcn registry
2. **Test dependency chains**: Verify that components with multiple dependencies install correctly
3. **Update documentation**: Provide clear installation instructions for components with complex dependencies
## Business Impact
- **44% of components are unusable** via the documented installation method
- **Core functionality components** (post-card, user-info, feed-list, editor) cannot be installed
- **User experience is severely impacted** for developers trying to use the component library
- **Adoption barriers** for new users attempting to integrate DeSo UI components
## Reproduction Steps
1. Create a new project with shadcn/ui configured
2. Run `npx shadcn@latest add http://ui.deso.com/r/post-card.json`
3. Observe the dependency resolution failure
## Expected vs Actual Behavior
- **Expected**: Components install successfully with all dependencies resolved from the DeSo registry
- **Actual**: Components fail to install due to dependency resolution attempting to use the wrong registry
## Suggested Fix
The component JSON files should either:
1. Use relative paths for dependencies within the DeSo registry, or
2. Configure the shadcn CLI to use the DeSo registry for dependency resolution
This issue significantly impacts the usability of the DeSo UI component library and should be prioritized for resolution.
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the failure with `npx shadcn@latest add http://ui.deso.com/r/post-card.json`, then inspect the dependency entries in the component JSON files under `public/r` and compare a failing chain with a component that installs successfully. Done means the listed failed components install through the documented command with dependencies resolved from the DeSo registry, and the installation instructions explain any remaining requirements.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100