fix: add fallback to default style for registry items #9477
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
title
fix: add fallback to default style for registry items
description
This PR fixes an issue where installing components (like
dashboard-01) fails when using a custom or experimental style (e.g.,radix-vega) because the component does not exist in that specific style's registry path.Changes
Modified
fetchRegistryItemsinpackages/shadcn/src/registry/resolver.tsto implement a fallback mechanism.If a component is not found (404) in the user's configured style, the resolver now attempts to fetch it from the default new-york style before throwing an error.
Why
Users with custom styles configured were unable to install standard blocks like dashboard-01 because the CLI was constructing URLs like .../styles/radix-vega/dashboard-01.json, which do not exist. This ensures these components remain accessible regardless of the active theme.
Testing
Validated via static analysis and reproduction steps (simulated).
Existing tests should pass (could not verify locally due to missing dependencies).
Changeset
Added
fix-dashboard-fallback.md