diff --git a/apps/v4/content/docs/(root)/cli.mdx b/apps/v4/content/docs/(root)/cli.mdx index 061f4c4c88..43374f8724 100644 --- a/apps/v4/content/docs/(root)/cli.mdx +++ b/apps/v4/content/docs/(root)/cli.mdx @@ -78,8 +78,8 @@ Options: -p, --path the path to add the component to. -s, --silent mute output. (default: false) --dry-run preview changes without writing files. (default: false) - --diff show diff for a file. - --view show file contents. + --diff [path] show diff for a file. + --view [path] show file contents. -h, --help display help for command ``` diff --git a/apps/v4/registry/icons/__hugeicons__.ts b/apps/v4/registry/icons/__hugeicons__.ts index dd4596ceb4..4593843e1b 100644 --- a/apps/v4/registry/icons/__hugeicons__.ts +++ b/apps/v4/registry/icons/__hugeicons__.ts @@ -1,8 +1,6 @@ // Auto-generated by scripts/build-icons.ts export { ActivityIcon } from "@hugeicons/core-free-icons" export { Add01Icon } from "@hugeicons/core-free-icons" -export { AddToListIcon } from "@hugeicons/core-free-icons" -export { AiCloud01Icon } from "@hugeicons/core-free-icons" export { Alert02Icon } from "@hugeicons/core-free-icons" export { AlertCircleIcon } from "@hugeicons/core-free-icons" export { Analytics01Icon } from "@hugeicons/core-free-icons" @@ -19,22 +17,15 @@ export { ArrowRight02Icon } from "@hugeicons/core-free-icons" export { ArrowRightDoubleIcon } from "@hugeicons/core-free-icons" export { ArrowRightIcon } from "@hugeicons/core-free-icons" export { ArrowUp01Icon } from "@hugeicons/core-free-icons" -export { ArrowUp02Icon } from "@hugeicons/core-free-icons" export { ArrowUpIcon } from "@hugeicons/core-free-icons" export { ArrowUpRight01Icon } from "@hugeicons/core-free-icons" export { ArrowUpRightIcon } from "@hugeicons/core-free-icons" -export { AttachmentIcon } from "@hugeicons/core-free-icons" export { AudioWave01Icon } from "@hugeicons/core-free-icons" export { BankIcon } from "@hugeicons/core-free-icons" export { BluetoothIcon } from "@hugeicons/core-free-icons" -export { BookIcon } from "@hugeicons/core-free-icons" export { BookOpen02Icon } from "@hugeicons/core-free-icons" export { BookmarkIcon } from "@hugeicons/core-free-icons" -export { BotIcon } from "@hugeicons/core-free-icons" -export { BulbIcon } from "@hugeicons/core-free-icons" export { CalculatorIcon } from "@hugeicons/core-free-icons" -export { Calendar01Icon } from "@hugeicons/core-free-icons" -export { CalendarAdd01Icon } from "@hugeicons/core-free-icons" export { CalendarIcon } from "@hugeicons/core-free-icons" export { Camera01Icon } from "@hugeicons/core-free-icons" export { Cancel01Icon } from "@hugeicons/core-free-icons" @@ -49,10 +40,8 @@ export { CheckmarkBadgeIcon } from "@hugeicons/core-free-icons" export { CheckmarkCircle01Icon } from "@hugeicons/core-free-icons" export { CheckmarkCircle02Icon } from "@hugeicons/core-free-icons" export { CircleArrowLeft02Icon } from "@hugeicons/core-free-icons" -export { CircleIcon } from "@hugeicons/core-free-icons" export { ClipboardIcon } from "@hugeicons/core-free-icons" export { Clock03Icon } from "@hugeicons/core-free-icons" -export { ClockIcon } from "@hugeicons/core-free-icons" export { CloudUploadIcon } from "@hugeicons/core-free-icons" export { CodeIcon } from "@hugeicons/core-free-icons" export { CommandIcon } from "@hugeicons/core-free-icons" @@ -64,14 +53,12 @@ export { CopyIcon } from "@hugeicons/core-free-icons" export { CreditCardIcon } from "@hugeicons/core-free-icons" export { CropIcon } from "@hugeicons/core-free-icons" export { CubeIcon } from "@hugeicons/core-free-icons" -export { Cursor01Icon } from "@hugeicons/core-free-icons" export { CursorInWindowIcon } from "@hugeicons/core-free-icons" export { DashboardSquare01Icon } from "@hugeicons/core-free-icons" export { DashedLineCircleIcon } from "@hugeicons/core-free-icons" export { Database01Icon } from "@hugeicons/core-free-icons" export { Delete02Icon } from "@hugeicons/core-free-icons" export { DeleteIcon } from "@hugeicons/core-free-icons" -export { DollarCircleIcon } from "@hugeicons/core-free-icons" export { DownloadIcon } from "@hugeicons/core-free-icons" export { DragDropVerticalIcon } from "@hugeicons/core-free-icons" export { EditIcon } from "@hugeicons/core-free-icons" @@ -87,8 +74,6 @@ export { Folder01Icon } from "@hugeicons/core-free-icons" export { FolderAddIcon } from "@hugeicons/core-free-icons" export { FolderIcon } from "@hugeicons/core-free-icons" export { FolderOpenIcon } from "@hugeicons/core-free-icons" -export { GitBranchIcon } from "@hugeicons/core-free-icons" -export { GlobalIcon } from "@hugeicons/core-free-icons" export { Globe02Icon } from "@hugeicons/core-free-icons" export { GridIcon } from "@hugeicons/core-free-icons" export { HelpCircleIcon } from "@hugeicons/core-free-icons" @@ -108,10 +93,8 @@ export { LinkSquare02Icon } from "@hugeicons/core-free-icons" export { Loading03Icon } from "@hugeicons/core-free-icons" export { Logout01Icon } from "@hugeicons/core-free-icons" export { LogoutIcon } from "@hugeicons/core-free-icons" -export { MagicWand05Icon } from "@hugeicons/core-free-icons" export { Mail01Icon } from "@hugeicons/core-free-icons" export { MailIcon } from "@hugeicons/core-free-icons" -export { MailValidation01Icon } from "@hugeicons/core-free-icons" export { MapsIcon } from "@hugeicons/core-free-icons" export { Menu01Icon } from "@hugeicons/core-free-icons" export { Menu05Icon } from "@hugeicons/core-free-icons" @@ -127,7 +110,6 @@ export { Notification02Icon } from "@hugeicons/core-free-icons" export { Notification03Icon } from "@hugeicons/core-free-icons" export { NotificationIcon } from "@hugeicons/core-free-icons" export { PaintBoardIcon } from "@hugeicons/core-free-icons" -export { PenIcon } from "@hugeicons/core-free-icons" export { PieChartIcon } from "@hugeicons/core-free-icons" export { PlusSignCircleIcon } from "@hugeicons/core-free-icons" export { PlusSignIcon } from "@hugeicons/core-free-icons" @@ -141,7 +123,6 @@ export { Search01Icon } from "@hugeicons/core-free-icons" export { SearchIcon } from "@hugeicons/core-free-icons" export { SentIcon } from "@hugeicons/core-free-icons" export { ServerStackIcon } from "@hugeicons/core-free-icons" -export { Settings01Icon } from "@hugeicons/core-free-icons" export { Settings05Icon } from "@hugeicons/core-free-icons" export { SettingsIcon } from "@hugeicons/core-free-icons" export { Share01Icon } from "@hugeicons/core-free-icons" @@ -149,7 +130,6 @@ export { Share03Icon } from "@hugeicons/core-free-icons" export { ShareIcon } from "@hugeicons/core-free-icons" export { ShieldIcon } from "@hugeicons/core-free-icons" export { ShoppingBag01Icon } from "@hugeicons/core-free-icons" -export { ShoppingBasket01Icon } from "@hugeicons/core-free-icons" export { ShoppingCart01Icon } from "@hugeicons/core-free-icons" export { SidebarLeftIcon } from "@hugeicons/core-free-icons" export { SmileIcon } from "@hugeicons/core-free-icons" @@ -158,7 +138,6 @@ export { StarIcon } from "@hugeicons/core-free-icons" export { StarOffIcon } from "@hugeicons/core-free-icons" export { SunIcon } from "@hugeicons/core-free-icons" export { TableIcon } from "@hugeicons/core-free-icons" -export { TagIcon } from "@hugeicons/core-free-icons" export { TextBoldIcon } from "@hugeicons/core-free-icons" export { TextCheckIcon } from "@hugeicons/core-free-icons" export { TextItalicIcon } from "@hugeicons/core-free-icons" @@ -167,7 +146,6 @@ export { Tick02Icon } from "@hugeicons/core-free-icons" export { TradeUpIcon } from "@hugeicons/core-free-icons" export { UndoIcon } from "@hugeicons/core-free-icons" export { UnfoldMoreIcon } from "@hugeicons/core-free-icons" -export { Upload01Icon } from "@hugeicons/core-free-icons" export { UserCircle02Icon } from "@hugeicons/core-free-icons" export { UserGroupIcon } from "@hugeicons/core-free-icons" export { UserIcon } from "@hugeicons/core-free-icons" diff --git a/apps/v4/registry/icons/__lucide__.ts b/apps/v4/registry/icons/__lucide__.ts index 67ede4ccf4..9b79975ba0 100644 --- a/apps/v4/registry/icons/__lucide__.ts +++ b/apps/v4/registry/icons/__lucide__.ts @@ -24,7 +24,6 @@ export { BotIcon } from "lucide-react" export { Building2Icon } from "lucide-react" export { CalculatorIcon } from "lucide-react" export { CalendarIcon } from "lucide-react" -export { CalendarPlusIcon } from "lucide-react" export { CameraIcon } from "lucide-react" export { CaptionsIcon } from "lucide-react" export { ChartBarIcon } from "lucide-react" @@ -42,15 +41,11 @@ export { ChevronsUpDownIcon } from "lucide-react" export { CircleAlertIcon } from "lucide-react" export { CircleCheckIcon } from "lucide-react" export { CircleDashedIcon } from "lucide-react" -export { CircleDollarSignIcon } from "lucide-react" export { CircleHelpIcon } from "lucide-react" -export { CircleIcon } from "lucide-react" export { CirclePlusIcon } from "lucide-react" export { CircleUserRoundIcon } from "lucide-react" export { ClipboardPasteIcon } from "lucide-react" export { Clock2Icon } from "lucide-react" -export { ClockIcon } from "lucide-react" -export { CloudCogIcon } from "lucide-react" export { CodeIcon } from "lucide-react" export { Columns3Icon } from "lucide-react" export { CommandIcon } from "lucide-react" @@ -77,7 +72,6 @@ export { FolderPlusIcon } from "lucide-react" export { FolderSearchIcon } from "lucide-react" export { FrameIcon } from "lucide-react" export { GalleryVerticalEndIcon } from "lucide-react" -export { GitBranchIcon } from "lucide-react" export { GlobeIcon } from "lucide-react" export { GripVerticalIcon } from "lucide-react" export { HeartIcon } from "lucide-react" @@ -94,15 +88,12 @@ export { LayoutGridIcon } from "lucide-react" export { LayoutIcon } from "lucide-react" export { LifeBuoy } from "lucide-react" export { LifeBuoyIcon } from "lucide-react" -export { LightbulbIcon } from "lucide-react" export { LinkIcon } from "lucide-react" -export { ListFilterIcon } from "lucide-react" export { ListIcon } from "lucide-react" export { Loader2Icon } from "lucide-react" export { LoaderIcon } from "lucide-react" export { LockIcon } from "lucide-react" export { LogOutIcon } from "lucide-react" -export { MailCheckIcon } from "lucide-react" export { MailIcon } from "lucide-react" export { MapIcon } from "lucide-react" export { MaximizeIcon } from "lucide-react" @@ -117,13 +108,10 @@ export { MonitorIcon } from "lucide-react" export { MoonIcon } from "lucide-react" export { MoreHorizontalIcon } from "lucide-react" export { MoreVerticalIcon } from "lucide-react" -export { MousePointerIcon } from "lucide-react" export { OctagonXIcon } from "lucide-react" export { PaintbrushIcon } from "lucide-react" export { PaletteIcon } from "lucide-react" export { PanelLeftIcon } from "lucide-react" -export { PaperclipIcon } from "lucide-react" -export { PenToolIcon } from "lucide-react" export { PencilIcon } from "lucide-react" export { PieChartIcon } from "lucide-react" export { PlusIcon } from "lucide-react" @@ -132,7 +120,6 @@ export { RefreshCwIcon } from "lucide-react" export { RotateCwIcon } from "lucide-react" export { SaveIcon } from "lucide-react" export { ScissorsIcon } from "lucide-react" -export { Search } from "lucide-react" export { SearchIcon } from "lucide-react" export { Send } from "lucide-react" export { SendIcon } from "lucide-react" @@ -149,7 +136,6 @@ export { StarIcon } from "lucide-react" export { StarOffIcon } from "lucide-react" export { SunIcon } from "lucide-react" export { TableIcon } from "lucide-react" -export { TagIcon } from "lucide-react" export { TerminalIcon } from "lucide-react" export { TerminalSquareIcon } from "lucide-react" export { Trash2Icon } from "lucide-react" @@ -159,7 +145,6 @@ export { TrendingUpIcon } from "lucide-react" export { TriangleAlertIcon } from "lucide-react" export { UnderlineIcon } from "lucide-react" export { UploadCloudIcon } from "lucide-react" -export { UploadIcon } from "lucide-react" export { UserIcon } from "lucide-react" export { UserRoundXIcon } from "lucide-react" export { UsersIcon } from "lucide-react" @@ -167,7 +152,6 @@ export { VideoIcon } from "lucide-react" export { VolumeOffIcon } from "lucide-react" export { VolumeX } from "lucide-react" export { WalletIcon } from "lucide-react" -export { WandIcon } from "lucide-react" export { XIcon } from "lucide-react" export { ZapIcon } from "lucide-react" export { ZoomInIcon } from "lucide-react" diff --git a/apps/v4/registry/icons/__phosphor__.ts b/apps/v4/registry/icons/__phosphor__.ts index 2be23d7b37..d787e39f67 100644 --- a/apps/v4/registry/icons/__phosphor__.ts +++ b/apps/v4/registry/icons/__phosphor__.ts @@ -23,7 +23,6 @@ export { BookmarkIcon } from "@phosphor-icons/react" export { CalculatorIcon } from "@phosphor-icons/react" export { CalendarBlankIcon } from "@phosphor-icons/react" export { CalendarIcon } from "@phosphor-icons/react" -export { CalendarPlusIcon } from "@phosphor-icons/react" export { CameraIcon } from "@phosphor-icons/react" export { CaretDoubleLeftIcon } from "@phosphor-icons/react" export { CaretDoubleRightIcon } from "@phosphor-icons/react" @@ -39,7 +38,6 @@ export { ChatCircleIcon } from "@phosphor-icons/react" export { CheckCircleIcon } from "@phosphor-icons/react" export { CheckIcon } from "@phosphor-icons/react" export { CircleDashedIcon } from "@phosphor-icons/react" -export { CircleIcon } from "@phosphor-icons/react" export { ClipboardIcon } from "@phosphor-icons/react" export { ClockIcon } from "@phosphor-icons/react" export { CloudArrowUpIcon } from "@phosphor-icons/react" @@ -50,7 +48,6 @@ export { CopyIcon } from "@phosphor-icons/react" export { CreditCardIcon } from "@phosphor-icons/react" export { CropIcon } from "@phosphor-icons/react" export { CubeIcon } from "@phosphor-icons/react" -export { CurrencyCircleDollarIcon } from "@phosphor-icons/react" export { DatabaseIcon } from "@phosphor-icons/react" export { DotsSixVerticalIcon } from "@phosphor-icons/react" export { DotsThreeIcon } from "@phosphor-icons/react" @@ -68,10 +65,8 @@ export { FolderIcon } from "@phosphor-icons/react" export { FolderOpenIcon } from "@phosphor-icons/react" export { FolderPlusIcon } from "@phosphor-icons/react" export { GearIcon } from "@phosphor-icons/react" -export { GitBranchIcon } from "@phosphor-icons/react" export { GlobeIcon } from "@phosphor-icons/react" export { GridFourIcon } from "@phosphor-icons/react" -export { HandPointingIcon } from "@phosphor-icons/react" export { HardDrivesIcon } from "@phosphor-icons/react" export { HeartIcon } from "@phosphor-icons/react" export { HouseIcon } from "@phosphor-icons/react" @@ -80,13 +75,10 @@ export { InfoIcon } from "@phosphor-icons/react" export { KeyboardIcon } from "@phosphor-icons/react" export { LayoutIcon } from "@phosphor-icons/react" export { LifebuoyIcon } from "@phosphor-icons/react" -export { LightbulbIcon } from "@phosphor-icons/react" export { LightningIcon } from "@phosphor-icons/react" export { LinkIcon } from "@phosphor-icons/react" export { ListIcon } from "@phosphor-icons/react" -export { ListPlusIcon } from "@phosphor-icons/react" export { LockIcon } from "@phosphor-icons/react" -export { MagicWandIcon } from "@phosphor-icons/react" export { MagnifyingGlassIcon } from "@phosphor-icons/react" export { MagnifyingGlassMinusIcon } from "@phosphor-icons/react" export { MagnifyingGlassPlusIcon } from "@phosphor-icons/react" @@ -97,7 +89,6 @@ export { MonitorIcon } from "@phosphor-icons/react" export { MoonIcon } from "@phosphor-icons/react" export { PaletteIcon } from "@phosphor-icons/react" export { PaperPlaneTiltIcon } from "@phosphor-icons/react" -export { PaperclipIcon } from "@phosphor-icons/react" export { PencilIcon } from "@phosphor-icons/react" export { PlusCircleIcon } from "@phosphor-icons/react" export { PlusIcon } from "@phosphor-icons/react" @@ -120,7 +111,6 @@ export { SquaresFourIcon } from "@phosphor-icons/react" export { StarIcon } from "@phosphor-icons/react" export { SunIcon } from "@phosphor-icons/react" export { TableIcon } from "@phosphor-icons/react" -export { TagIcon } from "@phosphor-icons/react" export { TerminalIcon } from "@phosphor-icons/react" export { TextBIcon } from "@phosphor-icons/react" export { TextItalicIcon } from "@phosphor-icons/react" @@ -131,7 +121,6 @@ export { TrashIcon } from "@phosphor-icons/react" export { TrayIcon } from "@phosphor-icons/react" export { TrendDownIcon } from "@phosphor-icons/react" export { TrendUpIcon } from "@phosphor-icons/react" -export { UploadIcon } from "@phosphor-icons/react" export { UserCircleIcon } from "@phosphor-icons/react" export { UserIcon } from "@phosphor-icons/react" export { UserMinusIcon } from "@phosphor-icons/react" diff --git a/apps/v4/registry/icons/__remixicon__.ts b/apps/v4/registry/icons/__remixicon__.ts index 062f48bca9..aecd7b253b 100644 --- a/apps/v4/registry/icons/__remixicon__.ts +++ b/apps/v4/registry/icons/__remixicon__.ts @@ -14,7 +14,6 @@ export { RiArrowRightUpLine } from "@remixicon/react" export { RiArrowUpDownLine } from "@remixicon/react" export { RiArrowUpLine } from "@remixicon/react" export { RiArrowUpSLine } from "@remixicon/react" -export { RiAttachmentLine } from "@remixicon/react" export { RiBankCardLine } from "@remixicon/react" export { RiBankLine } from "@remixicon/react" export { RiBarChartLine } from "@remixicon/react" @@ -25,14 +24,12 @@ export { RiBookmarkLine } from "@remixicon/react" export { RiBox1Line } from "@remixicon/react" export { RiBox3Line } from "@remixicon/react" export { RiCalculatorLine } from "@remixicon/react" -export { RiCalendarEventLine } from "@remixicon/react" export { RiCalendarLine } from "@remixicon/react" export { RiCameraLine } from "@remixicon/react" export { RiChat1Line } from "@remixicon/react" export { RiCheckLine } from "@remixicon/react" export { RiCheckboxCircleFill } from "@remixicon/react" export { RiCheckboxCircleLine } from "@remixicon/react" -export { RiCircleLine } from "@remixicon/react" export { RiClipboardLine } from "@remixicon/react" export { RiCloseCircleLine } from "@remixicon/react" export { RiCloseLine } from "@remixicon/react" @@ -62,12 +59,10 @@ export { RiFolderAddLine } from "@remixicon/react" export { RiFolderLine } from "@remixicon/react" export { RiFolderOpenLine } from "@remixicon/react" export { RiGalleryLine } from "@remixicon/react" -export { RiGitBranchLine } from "@remixicon/react" export { RiGlobalLine } from "@remixicon/react" export { RiGlobeLine } from "@remixicon/react" export { RiGridLine } from "@remixicon/react" export { RiGroupLine } from "@remixicon/react" -export { RiHand } from "@remixicon/react" export { RiHardDriveLine } from "@remixicon/react" export { RiHeartLine } from "@remixicon/react" export { RiHomeLine } from "@remixicon/react" @@ -80,7 +75,6 @@ export { RiLayoutColumnLine } from "@remixicon/react" export { RiLayoutLeftLine } from "@remixicon/react" export { RiLayoutLine } from "@remixicon/react" export { RiLifebuoyLine } from "@remixicon/react" -export { RiLightbulbLine } from "@remixicon/react" export { RiLineChartLine } from "@remixicon/react" export { RiLinksLine } from "@remixicon/react" export { RiListUnordered } from "@remixicon/react" @@ -88,12 +82,10 @@ export { RiLoader4Line } from "@remixicon/react" export { RiLoaderLine } from "@remixicon/react" export { RiLockLine } from "@remixicon/react" export { RiLogoutBoxLine } from "@remixicon/react" -export { RiMagicLine } from "@remixicon/react" export { RiMailLine } from "@remixicon/react" export { RiMapLine } from "@remixicon/react" export { RiMenuLine } from "@remixicon/react" export { RiMicLine } from "@remixicon/react" -export { RiMoneyDollarCircleLine } from "@remixicon/react" export { RiMoonLine } from "@remixicon/react" export { RiMore2Line } from "@remixicon/react" export { RiMoreLine } from "@remixicon/react" @@ -102,8 +94,6 @@ export { RiNotificationLine } from "@remixicon/react" export { RiPaletteLine } from "@remixicon/react" export { RiPencilLine } from "@remixicon/react" export { RiPieChartLine } from "@remixicon/react" -export { RiPlayListAddLine } from "@remixicon/react" -export { RiPriceTagLine } from "@remixicon/react" export { RiPulseLine } from "@remixicon/react" export { RiQuestionLine } from "@remixicon/react" export { RiRecordCircleLine } from "@remixicon/react" @@ -135,7 +125,6 @@ export { RiTimeLine } from "@remixicon/react" export { RiTranslate } from "@remixicon/react" export { RiUnderline } from "@remixicon/react" export { RiUploadCloudLine } from "@remixicon/react" -export { RiUploadLine } from "@remixicon/react" export { RiUserLine } from "@remixicon/react" export { RiUserUnfollowLine } from "@remixicon/react" export { RiVideoLine } from "@remixicon/react" diff --git a/apps/v4/registry/icons/__tabler__.ts b/apps/v4/registry/icons/__tabler__.ts index 045b5cacfa..13e5454e9b 100644 --- a/apps/v4/registry/icons/__tabler__.ts +++ b/apps/v4/registry/icons/__tabler__.ts @@ -20,10 +20,8 @@ export { IconBookmark } from "@tabler/icons-react" export { IconBox } from "@tabler/icons-react" export { IconBrandJavascript } from "@tabler/icons-react" export { IconBuildingBank } from "@tabler/icons-react" -export { IconBulb } from "@tabler/icons-react" export { IconCalculator } from "@tabler/icons-react" export { IconCalendar } from "@tabler/icons-react" -export { IconCalendarPlus } from "@tabler/icons-react" export { IconCamera } from "@tabler/icons-react" export { IconChartBar } from "@tabler/icons-react" export { IconChartLine } from "@tabler/icons-react" @@ -35,19 +33,15 @@ export { IconChevronRight } from "@tabler/icons-react" export { IconChevronUp } from "@tabler/icons-react" export { IconChevronsLeft } from "@tabler/icons-react" export { IconChevronsRight } from "@tabler/icons-react" -export { IconCircle } from "@tabler/icons-react" export { IconCircleArrowLeft } from "@tabler/icons-react" export { IconCircleCheck } from "@tabler/icons-react" export { IconCircleCheckFilled } from "@tabler/icons-react" export { IconCircleDashed } from "@tabler/icons-react" export { IconCirclePlusFilled } from "@tabler/icons-react" export { IconClipboard } from "@tabler/icons-react" -export { IconClock } from "@tabler/icons-react" export { IconClockHour2 } from "@tabler/icons-react" -export { IconCloudCog } from "@tabler/icons-react" export { IconCloudUpload } from "@tabler/icons-react" export { IconCode } from "@tabler/icons-react" -export { IconCoin } from "@tabler/icons-react" export { IconCommand } from "@tabler/icons-react" export { IconCopy } from "@tabler/icons-react" export { IconCornerUpLeft } from "@tabler/icons-react" @@ -72,7 +66,6 @@ export { IconFileCode } from "@tabler/icons-react" export { IconFileDescription } from "@tabler/icons-react" export { IconFileText } from "@tabler/icons-react" export { IconFileWord } from "@tabler/icons-react" -export { IconFilterPlus } from "@tabler/icons-react" export { IconFlipHorizontal } from "@tabler/icons-react" export { IconFlipVertical } from "@tabler/icons-react" export { IconFolder } from "@tabler/icons-react" @@ -80,7 +73,6 @@ export { IconFolderOpen } from "@tabler/icons-react" export { IconFolderPlus } from "@tabler/icons-react" export { IconFolderSearch } from "@tabler/icons-react" export { IconFrame } from "@tabler/icons-react" -export { IconGitBranch } from "@tabler/icons-react" export { IconGlobe } from "@tabler/icons-react" export { IconGripVertical } from "@tabler/icons-react" export { IconHeadphones } from "@tabler/icons-react" @@ -107,7 +99,6 @@ export { IconLoader } from "@tabler/icons-react" export { IconLock } from "@tabler/icons-react" export { IconLogout } from "@tabler/icons-react" export { IconMail } from "@tabler/icons-react" -export { IconMailCheck } from "@tabler/icons-react" export { IconMap } from "@tabler/icons-react" export { IconMaximize } from "@tabler/icons-react" export { IconMenu } from "@tabler/icons-react" @@ -120,12 +111,10 @@ export { IconMoodSmile } from "@tabler/icons-react" export { IconMoon } from "@tabler/icons-react" export { IconNotification } from "@tabler/icons-react" export { IconPalette } from "@tabler/icons-react" -export { IconPaperclip } from "@tabler/icons-react" export { IconPencil } from "@tabler/icons-react" export { IconPhoto } from "@tabler/icons-react" export { IconPlayerRecordFilled } from "@tabler/icons-react" export { IconPlus } from "@tabler/icons-react" -export { IconPointer } from "@tabler/icons-react" export { IconRefresh } from "@tabler/icons-react" export { IconReport } from "@tabler/icons-react" export { IconRobot } from "@tabler/icons-react" @@ -148,7 +137,6 @@ export { IconStar } from "@tabler/icons-react" export { IconStarOff } from "@tabler/icons-react" export { IconSun } from "@tabler/icons-react" export { IconTable } from "@tabler/icons-react" -export { IconTag } from "@tabler/icons-react" export { IconTerminal } from "@tabler/icons-react" export { IconTerminal2 } from "@tabler/icons-react" export { IconTextCaption } from "@tabler/icons-react" @@ -156,7 +144,6 @@ export { IconTrash } from "@tabler/icons-react" export { IconTrendingDown } from "@tabler/icons-react" export { IconTrendingUp } from "@tabler/icons-react" export { IconUnderline } from "@tabler/icons-react" -export { IconUpload } from "@tabler/icons-react" export { IconUser } from "@tabler/icons-react" export { IconUserCircle } from "@tabler/icons-react" export { IconUserX } from "@tabler/icons-react" @@ -164,7 +151,6 @@ export { IconUsers } from "@tabler/icons-react" export { IconVideoPlus } from "@tabler/icons-react" export { IconVolume } from "@tabler/icons-react" export { IconWallet } from "@tabler/icons-react" -export { IconWand } from "@tabler/icons-react" export { IconWaveSine } from "@tabler/icons-react" export { IconWorld } from "@tabler/icons-react" export { IconX } from "@tabler/icons-react" diff --git a/packages/shadcn/src/commands/add.ts b/packages/shadcn/src/commands/add.ts index 2bb8c0d195..bfe30c165d 100644 --- a/packages/shadcn/src/commands/add.ts +++ b/packages/shadcn/src/commands/add.ts @@ -39,8 +39,8 @@ export const addOptionsSchema = z.object({ path: z.string().optional(), silent: z.boolean(), dryRun: z.boolean(), - diff: z.string().optional(), - view: z.string().optional(), + diff: z.union([z.string(), z.literal(true)]).optional(), + view: z.union([z.string(), z.literal(true)]).optional(), }) export const add = new Command() @@ -58,8 +58,8 @@ export const add = new Command() .option("-p, --path ", "the path to add the component to.") .option("-s, --silent", "mute output.", false) .option("--dry-run", "preview changes without writing files.", false) - .option("--diff ", "show diff for a file.") - .option("--view ", "show file contents.") + .option("--diff [path]", "show diff for a file.") + .option("--view [path]", "show file contents.") .action(async (components, opts) => { try { const options = addOptionsSchema.parse({ diff --git a/packages/shadcn/src/utils/dry-run-formatter.ts b/packages/shadcn/src/utils/dry-run-formatter.ts index f3f4b54b62..bd6b2bb3cb 100644 --- a/packages/shadcn/src/utils/dry-run-formatter.ts +++ b/packages/shadcn/src/utils/dry-run-formatter.ts @@ -2,6 +2,8 @@ import type { DryRunFile, DryRunResult } from "@/src/utils/dry-run" import { diffWords, structuredPatch } from "diff" import { bold, cyan, dim, green, red, yellow } from "kleur/colors" +const MAX_OVERVIEW_FILES = 5 + const BOX_TOP = dim("┌" + "─".repeat(46)) const BOX_BOTTOM = dim("└" + "─".repeat(46)) @@ -57,17 +59,23 @@ export function formatDryRunResult( result: DryRunResult, componentNames: string[], options: { - diff?: string - view?: string + diff?: string | true + view?: string | true } = {} ) { // --diff and --view get a focused output with just the file. if (options.diff) { - return formatDiffOutput(result, componentNames, options.diff) + if (typeof options.diff === "string") { + return formatDiffOutput(result, componentNames, options.diff) + } + return formatDiffOverview(result, componentNames) } if (options.view) { - return formatViewOutput(result, componentNames, options.view) + if (typeof options.view === "string") { + return formatViewOutput(result, componentNames, options.view) + } + return formatViewOverview(result, componentNames) } return formatSummaryOutput(result, componentNames) @@ -125,9 +133,9 @@ function formatSummaryOutput(result: DryRunResult, componentNames: string[]) { } // Footer. - lines.push(`${dim("│")} ${dim("Run with --diff to view changes.")}`) + lines.push(`${dim("│")} ${dim("Run with --diff to view changes.")}`) lines.push( - `${dim("│")} ${dim("Run with --view to view file contents.")}` + `${dim("│")} ${dim("Run with --view to view file contents.")}` ) lines.push(`${dim("└")} ${dim("Run without --dry-run to apply.")}`) @@ -188,6 +196,87 @@ function formatDiffOutput( return lines.join("\n") } +// Overview output for --diff (no path). +function formatDiffOverview(result: DryRunResult, componentNames: string[]) { + const lines: string[] = [] + + lines.push(formatHeader(componentNames)) + lines.push(dim("│")) + + const filesToDiff = result.files.slice(0, MAX_OVERVIEW_FILES) + + if (filesToDiff.length === 0 && !result.css) { + lines.push(`${dim("│")} ${dim("No changes.")}`) + lines.push(dim("│")) + } else { + for (const file of filesToDiff) { + formatFileDiff(file, lines) + } + + const total = result.files.length + if (total > MAX_OVERVIEW_FILES) { + lines.push(dim("│")) + } + } + + lines.push(`${dim("└")} ${dim("Run without --dry-run to apply.")}`) + + const total = result.files.length + if (total > MAX_OVERVIEW_FILES) { + lines.push( + ` ${dim( + `Showing ${MAX_OVERVIEW_FILES} of ${total} files. Use --diff to view a specific file.` + )}` + ) + } + + return lines.join("\n") +} + +// Overview output for --view (no path). +function formatViewOverview(result: DryRunResult, componentNames: string[]) { + const lines: string[] = [] + + lines.push(formatHeader(componentNames)) + lines.push(dim("│")) + + const filesToView = result.files.slice(0, MAX_OVERVIEW_FILES) + + if (filesToView.length === 0 && !result.css) { + lines.push(`${dim("│")} ${dim("No files.")}`) + lines.push(dim("│")) + } else { + for (const file of filesToView) { + const contentLines = file.content.split("\n") + lines.push( + `${dim("├")} ${bold(file.path)} ${dim("(")}${colorAction( + file.action + )}${dim(")")} ${dim(`${contentLines.length} lines`)}` + ) + pushContentBox(lines, contentLines) + lines.push(dim("│")) + } + + const total = result.files.length + if (total > MAX_OVERVIEW_FILES) { + lines.push(dim("│")) + } + } + + lines.push(`${dim("└")} ${dim("Run without --dry-run to apply.")}`) + + const total = result.files.length + if (total > MAX_OVERVIEW_FILES) { + lines.push( + ` ${dim( + `Showing ${MAX_OVERVIEW_FILES} of ${total} files. Use --view to view a specific file.` + )}` + ) + } + + return lines.join("\n") +} + // Format a single file's diff block. function formatFileDiff(file: DryRunFile, lines: string[]) { lines.push( diff --git a/skills/shadcn/cli.md b/skills/shadcn/cli.md index 9799f8bc52..7f5a36dddc 100644 --- a/skills/shadcn/cli.md +++ b/skills/shadcn/cli.md @@ -59,8 +59,8 @@ Accepts component names, registry-prefixed names (`@magicui/shimmer-button`), UR | `--path ` | `-p` | Target path for the component | — | | `--silent` | `-s` | Mute output | `false` | | `--dry-run` | | Preview all changes without writing files | `false` | -| `--diff ` | | Show the diff for a specific file (implies `--dry-run`) | — | -| `--view ` | | Show the full content of a specific file (implies `--dry-run`) | — | +| `--diff [path]` | | Show diffs. Without a path, shows the first 5 files. With a path, shows that file only (implies `--dry-run`) | — | +| `--view [path]` | | Show file contents. Without a path, shows the first 5 files. With a path, shows that file only (implies `--dry-run`) | — | #### Dry-Run Mode @@ -70,9 +70,15 @@ Use `--dry-run` to preview what `add` would do without writing any files. `--dif # Preview all changes. shadcn add button --dry-run +# Show diffs for all files (top 5). +shadcn add button --diff + # Show the diff for a specific file. shadcn add button --diff button.tsx +# Show contents for all files (top 5). +shadcn add button --view + # Show the full content of a specific file. shadcn add button --view button.tsx