Files
shadcn-ui/packages/shadcn
Паламар Роман 2acaf954d7 Fix: Preserve 'use client' directive in universal registry items (#8798)
* fix: preserve 'use client' directive in universal registry items

Universal items (registry:file and registry:item) are framework-agnostic
components that can be installed without shadcn project initialization.
However, the RSC transformer was incorrectly removing 'use client'
directives from these files when config.rsc was false/undefined, breaking
client-side functionality.

This fix ensures transformers are skipped for universal items, preserving
their original content including 'use client' directives, while regular
shadcn components continue to have transformers applied as expected.

Changes:
- Skip all transformers for registry:file and registry:item types
- Add tests to verify 'use client' preservation in universal items
- Ensure regular components still have transformers applied

Fixes issue where universal items would lose 'use client' directives when
copied without a full shadcn project setup.

* chore: changeset

---------

Co-authored-by: shadcn <m@shadcn.com>
2026-01-17 13:12:01 +04:00
..
2025-12-12 21:01:44 +04:00

shadcn

A CLI for adding components to your project.

create

Use the create command to create a new project. You will be taken to a website to build your custom design system and choose your framework.

npx shadcn create

init

Use the init command to initialize dependencies for a new project.

The init command installs dependencies, adds the cn util, configures Tailwind CSS, and CSS variables for the project.

npx shadcn init

add

Use the add command to add components to your project.

The add command adds a component to your project and installs all required dependencies.

npx shadcn add [component]

Example

npx shadcn add alert-dialog

You can also run the command without any arguments to view a list of all available components:

npx shadcn add

Documentation

Visit https://ui.shadcn.com/docs/cli to view the documentation.

License

Licensed under the MIT license.