From 52cd156e436c2581eff6067f002424f36ddfae57 Mon Sep 17 00:00:00 2001 From: Padreug Date: Wed, 27 May 2026 11:20:07 +0200 Subject: [PATCH] fix: align shadcn-vue components with @lucide/vue + drop redundant baseUrl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The shadcn-vue CLI still emits 'lucide-vue-next' imports even though the package is deprecated upstream; this boilerplate uses @lucide/vue (the new home). Replace the imports across every generated component that pulls icons (dialog, dropdown-menu, select, sheet, sonner). tsconfig.app.json no longer needs the explicit baseUrl='.' I added earlier — @vue/tsconfig/tsconfig.dom.json already provides the right default, and TS6 was warning about it. The root tsconfig.json keeps baseUrl + ignoreDeprecations because the shadcn-vue CLI reads the root config and needs it. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/components/ui/dialog/DialogContent.vue | 2 +- src/components/ui/dialog/DialogScrollContent.vue | 2 +- src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue | 2 +- src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue | 2 +- src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue | 2 +- src/components/ui/select/SelectItem.vue | 2 +- src/components/ui/select/SelectScrollDownButton.vue | 2 +- src/components/ui/select/SelectScrollUpButton.vue | 2 +- src/components/ui/select/SelectTrigger.vue | 2 +- src/components/ui/sheet/SheetContent.vue | 2 +- src/components/ui/sonner/Sonner.vue | 2 +- tsconfig.app.json | 1 - 12 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/components/ui/dialog/DialogContent.vue b/src/components/ui/dialog/DialogContent.vue index 4bc0a1c..3975ba0 100644 --- a/src/components/ui/dialog/DialogContent.vue +++ b/src/components/ui/dialog/DialogContent.vue @@ -2,7 +2,7 @@ import type { DialogContentEmits, DialogContentProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { X } from "lucide-vue-next" +import { X } from "@lucide/vue" import { DialogClose, DialogContent, diff --git a/src/components/ui/dialog/DialogScrollContent.vue b/src/components/ui/dialog/DialogScrollContent.vue index 59a32ec..ab16abc 100644 --- a/src/components/ui/dialog/DialogScrollContent.vue +++ b/src/components/ui/dialog/DialogScrollContent.vue @@ -2,7 +2,7 @@ import type { DialogContentEmits, DialogContentProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { X } from "lucide-vue-next" +import { X } from "@lucide/vue" import { DialogClose, DialogContent, diff --git a/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue index fcbad83..9067866 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue @@ -2,7 +2,7 @@ import type { DropdownMenuCheckboxItemEmits, DropdownMenuCheckboxItemProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { Check } from "lucide-vue-next" +import { Check } from "@lucide/vue" import { DropdownMenuCheckboxItem, DropdownMenuItemIndicator, diff --git a/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue b/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue index f88430a..c7064e6 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuRadioItem.vue @@ -2,7 +2,7 @@ import type { DropdownMenuRadioItemEmits, DropdownMenuRadioItemProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { Circle } from "lucide-vue-next" +import { Circle } from "@lucide/vue" import { DropdownMenuItemIndicator, DropdownMenuRadioItem, diff --git a/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue b/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue index c3764f5..f08e2ea 100644 --- a/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +++ b/src/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue @@ -2,7 +2,7 @@ import type { DropdownMenuSubTriggerProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { ChevronRight } from "lucide-vue-next" +import { ChevronRight } from "@lucide/vue" import { DropdownMenuSubTrigger, useForwardProps, diff --git a/src/components/ui/select/SelectItem.vue b/src/components/ui/select/SelectItem.vue index c4596a7..6922670 100644 --- a/src/components/ui/select/SelectItem.vue +++ b/src/components/ui/select/SelectItem.vue @@ -2,7 +2,7 @@ import type { SelectItemProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { Check } from "lucide-vue-next" +import { Check } from "@lucide/vue" import { SelectItem, SelectItemIndicator, diff --git a/src/components/ui/select/SelectScrollDownButton.vue b/src/components/ui/select/SelectScrollDownButton.vue index c999e65..4279640 100644 --- a/src/components/ui/select/SelectScrollDownButton.vue +++ b/src/components/ui/select/SelectScrollDownButton.vue @@ -2,7 +2,7 @@ import type { SelectScrollDownButtonProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { ChevronDown } from "lucide-vue-next" +import { ChevronDown } from "@lucide/vue" import { SelectScrollDownButton, useForwardProps } from "reka-ui" import { cn } from "@/lib/utils" diff --git a/src/components/ui/select/SelectScrollUpButton.vue b/src/components/ui/select/SelectScrollUpButton.vue index 4906cc8..ad7c4ab 100644 --- a/src/components/ui/select/SelectScrollUpButton.vue +++ b/src/components/ui/select/SelectScrollUpButton.vue @@ -2,7 +2,7 @@ import type { SelectScrollUpButtonProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { ChevronUp } from "lucide-vue-next" +import { ChevronUp } from "@lucide/vue" import { SelectScrollUpButton, useForwardProps } from "reka-ui" import { cn } from "@/lib/utils" diff --git a/src/components/ui/select/SelectTrigger.vue b/src/components/ui/select/SelectTrigger.vue index 1667365..68f6d8a 100644 --- a/src/components/ui/select/SelectTrigger.vue +++ b/src/components/ui/select/SelectTrigger.vue @@ -2,7 +2,7 @@ import type { SelectTriggerProps } from "reka-ui" import type { HTMLAttributes } from "vue" import { reactiveOmit } from "@vueuse/core" -import { ChevronDown } from "lucide-vue-next" +import { ChevronDown } from "@lucide/vue" import { SelectIcon, SelectTrigger, useForwardProps } from "reka-ui" import { cn } from "@/lib/utils" diff --git a/src/components/ui/sheet/SheetContent.vue b/src/components/ui/sheet/SheetContent.vue index 567b017..502879c 100644 --- a/src/components/ui/sheet/SheetContent.vue +++ b/src/components/ui/sheet/SheetContent.vue @@ -3,7 +3,7 @@ import type { DialogContentEmits, DialogContentProps } from "reka-ui" import type { HTMLAttributes } from "vue" import type { SheetVariants } from "." import { reactiveOmit } from "@vueuse/core" -import { X } from "lucide-vue-next" +import { X } from "@lucide/vue" import { DialogClose, DialogContent, diff --git a/src/components/ui/sonner/Sonner.vue b/src/components/ui/sonner/Sonner.vue index f59f005..ab07c7c 100644 --- a/src/components/ui/sonner/Sonner.vue +++ b/src/components/ui/sonner/Sonner.vue @@ -1,7 +1,7 @@