How to add new Shadcn UI components to your Next.js Supabase application
Update your Next.js Supabase application with new Shadcn UI components
To install a Shadcn UI component, you can use the following command:
npx shadcn@latest add <component> -c ./packages/ui
For example, to install the Button
component, you can use the following command:
npx shadcn@latest add button -c ./packages/ui
We pass the --path
flag to specify the path where the component should be installed. You may need to adjust the path based on your project structure.
Update the imports
NB: you may need to update the imports to the cn
utility function to use the relative imports because it somehow breaks. Please do that.
Export the component
To achieve optimal tree-shaking, we export each component individually using the exports
field in the package.json
file. This allows you to import the component directly from the package.
Once the component has been created, you can export by adding a new export to the package.json
file.
We assume that the component is located at src/shadcn/avatar.tsx
. To export the component, you can append a new export field to the exports
map inside the package.json
file:
{ "exports": { "./avatar": "./src/shadcn/avatar.tsx" }}
Now you can import it directly from the package:
import { Avatar } from '@kit/ui/avatar';
NB: this is an example, you need to adjust the component name based on the component you are exporting.