feat(shadcn): allow removal of variables from external registries #5194
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.
Allows external registries to remove CSS / tailwind variables that are not being used by their systems
Use case
We are building out our component registry for internal use but have chosen to use our own named tokens for theming
Currently, if we wanted to remove the defaults, that requires a manual step for our consumers to delete those CSS variables/tailwind colours manually after running
shadcn init
.We've worked around this temporarily by having our own cli that calls
shadcn init
and removes those variablesProposal
Update schemas/utils to allow
null
when definingcssVariables
or in thetailwind
properties to remove them when runningshadcn add ...
. This should allow us to remove our own cli to fully leverage theshadcn
tooling 🎉After running
pnpx shadcn@latest add http://localhost:3000/registry/theme-foo.json
this should:--card
, and--card-foreground
from theglobals.css
file--info
to theglobals.css
filetheme.extend.colors.card
fromtailwind.config.ts
theme.extend.colors.info
totailwind.config.ts