@sidekick-coder/zenith-kit 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/zenith.js +27 -0
- package/bin/zkit.js +26 -0
- package/cli/commands/build.js +49 -0
- package/cli/commands/generateLegacyFolder.js +38 -0
- package/cli/commands/generatePluginId.js +17 -0
- package/cli/config.js +23 -0
- package/cli/utils/createWrapper.js +17 -0
- package/dist/client/index.d.mts +513 -0
- package/dist/client/index.mjs +2 -0
- package/dist/components/index.es.js +63946 -0
- package/dist/components/styles.css +4833 -0
- package/dist/server/index.d.mts +1780 -1314
- package/dist/server/index.mjs +5 -7754
- package/dist/shared/chunk-0Lt9GpW0.mjs +1 -0
- package/dist/shared/index.d.mts +472 -19
- package/dist/shared/index.mjs +2 -841
- package/legacy/client/components/Alert.vue +3 -0
- package/legacy/client/components/AlertButton.vue +3 -0
- package/legacy/client/components/Button.vue +3 -0
- package/legacy/client/components/ClientOnly.vue +3 -0
- package/legacy/client/components/ColorPicker.vue +3 -0
- package/legacy/client/components/ColorWheel.vue +3 -0
- package/legacy/client/components/Component.vue +3 -0
- package/legacy/client/components/DataTable.vue +4 -0
- package/legacy/client/components/DataTablePagination.vue +3 -0
- package/legacy/client/components/DatePicker.vue +3 -0
- package/legacy/client/components/DialogForm.vue +4 -0
- package/legacy/client/components/FileUploader.vue +3 -0
- package/legacy/client/components/FormAutoFieldList.vue +3 -0
- package/legacy/client/components/FormAutocomplete.vue +3 -0
- package/legacy/client/components/FormColorPicker.vue +3 -0
- package/legacy/client/components/FormDatePicker.vue +3 -0
- package/legacy/client/components/FormFilePicker.vue +3 -0
- package/legacy/client/components/FormFileUploader.vue +3 -0
- package/legacy/client/components/FormImageUploader.vue +3 -0
- package/legacy/client/components/FormJsonInput.vue +3 -0
- package/legacy/client/components/FormSelect.vue +3 -0
- package/legacy/client/components/FormStringListInput.vue +3 -0
- package/legacy/client/components/FormSwitch.vue +3 -0
- package/legacy/client/components/FormTextField.vue +3 -0
- package/legacy/client/components/FormTextarea.vue +3 -0
- package/legacy/client/components/Icon.vue +3 -0
- package/legacy/client/components/Image.vue +3 -0
- package/legacy/client/components/JsonInput.vue +3 -0
- package/legacy/client/components/Logo.vue +3 -0
- package/legacy/client/components/LogoIcon.vue +3 -0
- package/legacy/client/components/ObjectInspect.vue +3 -0
- package/legacy/client/components/PageCrud.vue +3 -0
- package/legacy/client/components/PageSubtitle.vue +3 -0
- package/legacy/client/components/PageTable.vue +3 -0
- package/legacy/client/components/PageTitle.vue +3 -0
- package/legacy/client/components/Pagination.vue +3 -0
- package/legacy/client/components/Select.vue +3 -0
- package/legacy/client/components/StringListInput.vue +3 -0
- package/legacy/client/components/Switch.vue +3 -0
- package/legacy/client/components/TextField.vue +3 -0
- package/legacy/client/components/Textarea.vue +3 -0
- package/legacy/client/components/UserMenu.vue +3 -0
- package/legacy/client/components/index.ts +349 -0
- package/legacy/client/components/ui/accordion/Accordion.vue +3 -0
- package/legacy/client/components/ui/accordion/AccordionContent.vue +3 -0
- package/legacy/client/components/ui/accordion/AccordionItem.vue +3 -0
- package/legacy/client/components/ui/accordion/AccordionTrigger.vue +3 -0
- package/legacy/client/components/ui/accordion/index.ts +1 -0
- package/legacy/client/components/ui/alert/Alert.vue +3 -0
- package/legacy/client/components/ui/alert/AlertDescription.vue +3 -0
- package/legacy/client/components/ui/alert/AlertTitle.vue +3 -0
- package/legacy/client/components/ui/alert/index.ts +1 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialog.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogAction.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogCancel.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogContent.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogDescription.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogFooter.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogHeader.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogTitle.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/AlertDialogTrigger.vue +3 -0
- package/legacy/client/components/ui/alert-dialog/index.ts +1 -0
- package/legacy/client/components/ui/aspect-ratio/AspectRatio.vue +3 -0
- package/legacy/client/components/ui/aspect-ratio/index.ts +1 -0
- package/legacy/client/components/ui/avatar/Avatar.vue +3 -0
- package/legacy/client/components/ui/avatar/AvatarFallback.vue +3 -0
- package/legacy/client/components/ui/avatar/AvatarImage.vue +3 -0
- package/legacy/client/components/ui/avatar/index.ts +1 -0
- package/legacy/client/components/ui/badge/Badge.vue +3 -0
- package/legacy/client/components/ui/badge/index.ts +1 -0
- package/legacy/client/components/ui/breadcrumb/Breadcrumb.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/BreadcrumbEllipsis.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/BreadcrumbItem.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/BreadcrumbLink.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/BreadcrumbList.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/BreadcrumbPage.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/BreadcrumbSeparator.vue +3 -0
- package/legacy/client/components/ui/breadcrumb/index.ts +1 -0
- package/legacy/client/components/ui/button/Button.vue +3 -0
- package/legacy/client/components/ui/button/index.ts +1 -0
- package/legacy/client/components/ui/calendar/Calendar.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarCell.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarCellTrigger.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarGrid.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarGridBody.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarGridHead.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarGridRow.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarHeadCell.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarHeader.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarHeading.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarNextButton.vue +3 -0
- package/legacy/client/components/ui/calendar/CalendarPrevButton.vue +3 -0
- package/legacy/client/components/ui/calendar/index.ts +1 -0
- package/legacy/client/components/ui/card/Card.vue +3 -0
- package/legacy/client/components/ui/card/CardAction.vue +3 -0
- package/legacy/client/components/ui/card/CardContent.vue +3 -0
- package/legacy/client/components/ui/card/CardDescription.vue +3 -0
- package/legacy/client/components/ui/card/CardFooter.vue +3 -0
- package/legacy/client/components/ui/card/CardHeader.vue +3 -0
- package/legacy/client/components/ui/card/CardTitle.vue +3 -0
- package/legacy/client/components/ui/card/index.ts +1 -0
- package/legacy/client/components/ui/carousel/Carousel.vue +3 -0
- package/legacy/client/components/ui/carousel/CarouselContent.vue +3 -0
- package/legacy/client/components/ui/carousel/CarouselItem.vue +3 -0
- package/legacy/client/components/ui/carousel/CarouselNext.vue +3 -0
- package/legacy/client/components/ui/carousel/CarouselPrevious.vue +3 -0
- package/legacy/client/components/ui/carousel/index.ts +1 -0
- package/legacy/client/components/ui/checkbox/Checkbox.vue +3 -0
- package/legacy/client/components/ui/checkbox/index.ts +1 -0
- package/legacy/client/components/ui/collapsible/Collapsible.vue +3 -0
- package/legacy/client/components/ui/collapsible/CollapsibleContent.vue +3 -0
- package/legacy/client/components/ui/collapsible/CollapsibleTrigger.vue +3 -0
- package/legacy/client/components/ui/collapsible/index.ts +1 -0
- package/legacy/client/components/ui/combobox/Combobox.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxAnchor.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxEmpty.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxGroup.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxInput.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxItem.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxItemIndicator.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxList.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxSeparator.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxTrigger.vue +3 -0
- package/legacy/client/components/ui/combobox/ComboboxViewport.vue +3 -0
- package/legacy/client/components/ui/combobox/index.ts +1 -0
- package/legacy/client/components/ui/command/Command.vue +3 -0
- package/legacy/client/components/ui/command/CommandDialog.vue +3 -0
- package/legacy/client/components/ui/command/CommandEmpty.vue +3 -0
- package/legacy/client/components/ui/command/CommandGroup.vue +3 -0
- package/legacy/client/components/ui/command/CommandInput.vue +3 -0
- package/legacy/client/components/ui/command/CommandItem.vue +3 -0
- package/legacy/client/components/ui/command/CommandList.vue +3 -0
- package/legacy/client/components/ui/command/CommandSeparator.vue +3 -0
- package/legacy/client/components/ui/command/CommandShortcut.vue +3 -0
- package/legacy/client/components/ui/command/index.ts +1 -0
- package/legacy/client/components/ui/context-menu/ContextMenu.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuCheckboxItem.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuContent.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuGroup.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuItem.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuLabel.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuPortal.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuRadioGroup.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuRadioItem.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuSeparator.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuShortcut.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuSub.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuSubContent.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuSubTrigger.vue +3 -0
- package/legacy/client/components/ui/context-menu/ContextMenuTrigger.vue +3 -0
- package/legacy/client/components/ui/context-menu/index.ts +1 -0
- package/legacy/client/components/ui/dialog/Dialog.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogClose.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogContent.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogDescription.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogFooter.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogHeader.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogOverlay.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogScrollContent.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogTitle.vue +3 -0
- package/legacy/client/components/ui/dialog/DialogTrigger.vue +3 -0
- package/legacy/client/components/ui/dialog/index.ts +1 -0
- package/legacy/client/components/ui/drawer/Drawer.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerClose.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerContent.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerDescription.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerFooter.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerHeader.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerOverlay.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerTitle.vue +3 -0
- package/legacy/client/components/ui/drawer/DrawerTrigger.vue +3 -0
- package/legacy/client/components/ui/drawer/index.ts +1 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenu.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuContent.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuGroup.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuItem.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuLabel.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuRadioGroup.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSeparator.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuShortcut.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSub.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSubContent.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/DropdownMenuTrigger.vue +3 -0
- package/legacy/client/components/ui/dropdown-menu/index.ts +1 -0
- package/legacy/client/components/ui/form/FormControl.vue +3 -0
- package/legacy/client/components/ui/form/FormDescription.vue +3 -0
- package/legacy/client/components/ui/form/FormItem.vue +3 -0
- package/legacy/client/components/ui/form/FormLabel.vue +3 -0
- package/legacy/client/components/ui/form/FormMessage.vue +3 -0
- package/legacy/client/components/ui/form/index.ts +1 -0
- package/legacy/client/components/ui/hover-card/HoverCard.vue +3 -0
- package/legacy/client/components/ui/hover-card/HoverCardContent.vue +3 -0
- package/legacy/client/components/ui/hover-card/HoverCardTrigger.vue +3 -0
- package/legacy/client/components/ui/hover-card/index.ts +1 -0
- package/legacy/client/components/ui/input/Input.vue +3 -0
- package/legacy/client/components/ui/input/index.ts +1 -0
- package/legacy/client/components/ui/label/Label.vue +3 -0
- package/legacy/client/components/ui/label/index.ts +1 -0
- package/legacy/client/components/ui/menubar/Menubar.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarCheckboxItem.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarContent.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarGroup.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarItem.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarLabel.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarMenu.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarRadioGroup.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarRadioItem.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarSeparator.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarShortcut.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarSub.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarSubContent.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarSubTrigger.vue +3 -0
- package/legacy/client/components/ui/menubar/MenubarTrigger.vue +3 -0
- package/legacy/client/components/ui/menubar/index.ts +1 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenu.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuContent.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuIndicator.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuItem.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuLink.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuList.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuTrigger.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/NavigationMenuViewport.vue +3 -0
- package/legacy/client/components/ui/navigation-menu/index.ts +1 -0
- package/legacy/client/components/ui/number-field/NumberField.vue +3 -0
- package/legacy/client/components/ui/number-field/NumberFieldContent.vue +3 -0
- package/legacy/client/components/ui/number-field/NumberFieldDecrement.vue +3 -0
- package/legacy/client/components/ui/number-field/NumberFieldIncrement.vue +3 -0
- package/legacy/client/components/ui/number-field/NumberFieldInput.vue +3 -0
- package/legacy/client/components/ui/number-field/index.ts +1 -0
- package/legacy/client/components/ui/pagination/Pagination.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationContent.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationEllipsis.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationFirst.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationItem.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationLast.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationNext.vue +3 -0
- package/legacy/client/components/ui/pagination/PaginationPrevious.vue +3 -0
- package/legacy/client/components/ui/pagination/index.ts +1 -0
- package/legacy/client/components/ui/pin-input/PinInput.vue +3 -0
- package/legacy/client/components/ui/pin-input/PinInputGroup.vue +3 -0
- package/legacy/client/components/ui/pin-input/PinInputSeparator.vue +3 -0
- package/legacy/client/components/ui/pin-input/PinInputSlot.vue +3 -0
- package/legacy/client/components/ui/pin-input/index.ts +1 -0
- package/legacy/client/components/ui/popover/Popover.vue +3 -0
- package/legacy/client/components/ui/popover/PopoverAnchor.vue +3 -0
- package/legacy/client/components/ui/popover/PopoverContent.vue +3 -0
- package/legacy/client/components/ui/popover/PopoverTrigger.vue +3 -0
- package/legacy/client/components/ui/popover/index.ts +1 -0
- package/legacy/client/components/ui/progress/Progress.vue +3 -0
- package/legacy/client/components/ui/progress/index.ts +1 -0
- package/legacy/client/components/ui/radio-group/RadioGroup.vue +3 -0
- package/legacy/client/components/ui/radio-group/RadioGroupItem.vue +3 -0
- package/legacy/client/components/ui/radio-group/index.ts +1 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendar.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarCell.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarCellTrigger.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarGrid.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarGridBody.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarGridHead.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarGridRow.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarHeadCell.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarHeader.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarHeading.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarNextButton.vue +3 -0
- package/legacy/client/components/ui/range-calendar/RangeCalendarPrevButton.vue +3 -0
- package/legacy/client/components/ui/range-calendar/index.ts +1 -0
- package/legacy/client/components/ui/resizable/ResizableHandle.vue +3 -0
- package/legacy/client/components/ui/resizable/ResizablePanel.vue +3 -0
- package/legacy/client/components/ui/resizable/ResizablePanelGroup.vue +3 -0
- package/legacy/client/components/ui/resizable/index.ts +1 -0
- package/legacy/client/components/ui/scroll-area/ScrollArea.vue +3 -0
- package/legacy/client/components/ui/scroll-area/ScrollBar.vue +3 -0
- package/legacy/client/components/ui/scroll-area/index.ts +1 -0
- package/legacy/client/components/ui/select/Select.vue +3 -0
- package/legacy/client/components/ui/select/SelectContent.vue +3 -0
- package/legacy/client/components/ui/select/SelectGroup.vue +3 -0
- package/legacy/client/components/ui/select/SelectItem.vue +3 -0
- package/legacy/client/components/ui/select/SelectItemText.vue +3 -0
- package/legacy/client/components/ui/select/SelectLabel.vue +3 -0
- package/legacy/client/components/ui/select/SelectScrollDownButton.vue +3 -0
- package/legacy/client/components/ui/select/SelectScrollUpButton.vue +3 -0
- package/legacy/client/components/ui/select/SelectSeparator.vue +3 -0
- package/legacy/client/components/ui/select/SelectTrigger.vue +3 -0
- package/legacy/client/components/ui/select/SelectValue.vue +3 -0
- package/legacy/client/components/ui/select/index.ts +1 -0
- package/legacy/client/components/ui/separator/Separator.vue +3 -0
- package/legacy/client/components/ui/separator/index.ts +1 -0
- package/legacy/client/components/ui/sheet/Sheet.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetClose.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetContent.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetDescription.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetFooter.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetHeader.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetOverlay.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetTitle.vue +3 -0
- package/legacy/client/components/ui/sheet/SheetTrigger.vue +3 -0
- package/legacy/client/components/ui/sheet/index.ts +1 -0
- package/legacy/client/components/ui/sidebar/Sidebar.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarContent.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarFooter.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarGroup.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarGroupAction.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarGroupContent.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarGroupLabel.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarHeader.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarInput.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarInset.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenu.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuAction.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuBadge.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuButton.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuButtonChild.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuItem.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuSkeleton.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuSub.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuSubButton.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarMenuSubItem.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarProvider.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarRail.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarSeparator.vue +3 -0
- package/legacy/client/components/ui/sidebar/SidebarTrigger.vue +3 -0
- package/legacy/client/components/ui/sidebar/index.ts +1 -0
- package/legacy/client/components/ui/skeleton/Skeleton.vue +3 -0
- package/legacy/client/components/ui/skeleton/index.ts +1 -0
- package/legacy/client/components/ui/slider/Slider.vue +3 -0
- package/legacy/client/components/ui/slider/index.ts +1 -0
- package/legacy/client/components/ui/sonner/Sonner.vue +3 -0
- package/legacy/client/components/ui/sonner/index.ts +1 -0
- package/legacy/client/components/ui/stepper/Stepper.vue +3 -0
- package/legacy/client/components/ui/stepper/StepperDescription.vue +3 -0
- package/legacy/client/components/ui/stepper/StepperIndicator.vue +3 -0
- package/legacy/client/components/ui/stepper/StepperItem.vue +3 -0
- package/legacy/client/components/ui/stepper/StepperSeparator.vue +3 -0
- package/legacy/client/components/ui/stepper/StepperTitle.vue +3 -0
- package/legacy/client/components/ui/stepper/StepperTrigger.vue +3 -0
- package/legacy/client/components/ui/stepper/index.ts +1 -0
- package/legacy/client/components/ui/switch/Switch.vue +3 -0
- package/legacy/client/components/ui/switch/index.ts +1 -0
- package/legacy/client/components/ui/table/Table.vue +3 -0
- package/legacy/client/components/ui/table/TableBody.vue +3 -0
- package/legacy/client/components/ui/table/TableCaption.vue +3 -0
- package/legacy/client/components/ui/table/TableCell.vue +3 -0
- package/legacy/client/components/ui/table/TableEmpty.vue +3 -0
- package/legacy/client/components/ui/table/TableFooter.vue +3 -0
- package/legacy/client/components/ui/table/TableHead.vue +3 -0
- package/legacy/client/components/ui/table/TableHeader.vue +3 -0
- package/legacy/client/components/ui/table/TableRow.vue +3 -0
- package/legacy/client/components/ui/table/index.ts +1 -0
- package/legacy/client/components/ui/tabs/Tabs.vue +3 -0
- package/legacy/client/components/ui/tabs/TabsContent.vue +3 -0
- package/legacy/client/components/ui/tabs/TabsList.vue +3 -0
- package/legacy/client/components/ui/tabs/TabsTrigger.vue +3 -0
- package/legacy/client/components/ui/tabs/index.ts +1 -0
- package/legacy/client/components/ui/tags-input/TagsInput.vue +3 -0
- package/legacy/client/components/ui/tags-input/TagsInputInput.vue +3 -0
- package/legacy/client/components/ui/tags-input/TagsInputItem.vue +3 -0
- package/legacy/client/components/ui/tags-input/TagsInputItemDelete.vue +3 -0
- package/legacy/client/components/ui/tags-input/TagsInputItemText.vue +3 -0
- package/legacy/client/components/ui/tags-input/index.ts +1 -0
- package/legacy/client/components/ui/textarea/Textarea.vue +3 -0
- package/legacy/client/components/ui/textarea/index.ts +1 -0
- package/legacy/client/components/ui/toggle/Toggle.vue +3 -0
- package/legacy/client/components/ui/toggle/index.ts +1 -0
- package/legacy/client/components/ui/toggle-group/ToggleGroup.vue +3 -0
- package/legacy/client/components/ui/toggle-group/ToggleGroupItem.vue +3 -0
- package/legacy/client/components/ui/toggle-group/index.ts +1 -0
- package/legacy/client/components/ui/tooltip/Tooltip.vue +3 -0
- package/legacy/client/components/ui/tooltip/TooltipContent.vue +3 -0
- package/legacy/client/components/ui/tooltip/TooltipProvider.vue +3 -0
- package/legacy/client/components/ui/tooltip/TooltipTrigger.vue +3 -0
- package/legacy/client/components/ui/tooltip/index.ts +1 -0
- package/legacy/client/facades/acl.facade.ts +1 -0
- package/legacy/client/facades/app.facade.ts +6 -0
- package/legacy/client/facades/auth.facade.ts +1 -0
- package/legacy/client/facades/config.facade.ts +1 -0
- package/legacy/client/facades/fetch.facade.ts +1 -0
- package/legacy/client/facades/logger.facade.ts +1 -0
- package/legacy/client/facades/menu.facade.ts +1 -0
- package/legacy/client/facades/router.facade.ts +1 -0
- package/legacy/client/facades/translator.facade.ts +10 -0
- package/legacy/client/utils/autoPages.ts +1 -0
- package/legacy/client/utils/createId.ts +1 -0
- package/legacy/client/utils/di.ts +1 -0
- package/legacy/client/utils/fetcher.ts +1 -0
- package/legacy/client/utils/file.ts +1 -0
- package/legacy/client/utils/index.ts +7 -0
- package/legacy/client/utils/logger.ts +1 -0
- package/legacy/client/utils/toast.ts +1 -0
- package/legacy/server/entities/file.entity.ts +4 -0
- package/legacy/server/exceptions/base.ts +4 -0
- package/legacy/server/facades/arte.facade.ts +6 -0
- package/legacy/server/facades/config.facade.ts +4 -0
- package/legacy/server/facades/db.facade.ts +4 -0
- package/legacy/server/facades/download.facade.ts +4 -0
- package/legacy/server/facades/drive.facade.ts +4 -0
- package/legacy/server/facades/logger.facade.ts +4 -0
- package/legacy/server/facades/router.facade.ts +4 -0
- package/legacy/server/middlewares/auth.middleware.ts +6 -0
- package/legacy/server/middlewares/authorization.middleware.ts +8 -0
- package/legacy/server/mixins/hooks.mixin.ts +6 -0
- package/legacy/server/mixins/model.mixin.ts +6 -0
- package/legacy/server/mixins/modelConfig.mixin.ts +4 -0
- package/legacy/server/queries/index.ts +6 -0
- package/legacy/server/services/metadataQuery.service.ts +6 -0
- package/legacy/server/services/routerResourceConfig.service.ts +5 -0
- package/legacy/shared/services/validator.service.ts +4 -0
- package/legacy/shared/utils/compose.ts +8 -0
- package/legacy/shared/utils/tryCatch.ts +7 -0
- package/package.json +57 -13
- package/tsconfig.client.json +3 -3
- package/tsconfig.server.json +1 -1
- package/tsdown/createTsdownConfig.js +29 -0
- package/tsdown.config.ts +55 -2
- package/vite/createViteConfig.js +55 -0
- package/vite/plugins/zenith.js +143 -0
- package/vite.config.ts +72 -0
- package/dist/shared/chunk-CfYAbeIz.mjs +0 -13
package/package.json
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sidekick-coder/zenith-kit",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"description": "
|
|
6
|
-
"keywords": [],
|
|
5
|
+
"description": "Package to use with zenith framework",
|
|
7
6
|
"author": "Henrique Oliveira <henriqueoliwork@gmail.com>",
|
|
8
|
-
"homepage": "https://github.com/sidekick-coder/
|
|
7
|
+
"homepage": "https://github.com/sidekick-coder/zenith-kit",
|
|
8
|
+
"bin": {
|
|
9
|
+
"zkit": "./bin/zkit.js",
|
|
10
|
+
"zenith": "./bin/zenith.js"
|
|
11
|
+
},
|
|
9
12
|
"repository": {
|
|
10
13
|
"type": "git",
|
|
11
|
-
"url": "git+https://github.com/sidekick-coder/
|
|
14
|
+
"url": "git+https://github.com/sidekick-coder/zenith-kit.git"
|
|
12
15
|
},
|
|
13
16
|
"publishConfig": {
|
|
14
17
|
"access": "public"
|
|
@@ -20,31 +23,51 @@
|
|
|
20
23
|
},
|
|
21
24
|
"exports": {
|
|
22
25
|
"./shared": {
|
|
26
|
+
"types": "./dist/shared/index.d.mts",
|
|
23
27
|
"import": "./dist/shared/index.mjs",
|
|
24
|
-
"require": "./dist/shared/index.js"
|
|
25
|
-
"types": "./dist/shared/index.d.mts"
|
|
28
|
+
"require": "./dist/shared/index.js"
|
|
26
29
|
},
|
|
27
30
|
"./server": {
|
|
31
|
+
"types": "./dist/server/index.d.mts",
|
|
28
32
|
"import": "./dist/server/index.mjs",
|
|
29
|
-
"require": "./dist/server/index.js"
|
|
30
|
-
|
|
33
|
+
"require": "./dist/server/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./client": {
|
|
36
|
+
"types": "./dist/client/index.d.mts",
|
|
37
|
+
"import": "./dist/client/index.mjs",
|
|
38
|
+
"require": "./dist/client/index.mjs"
|
|
39
|
+
},
|
|
40
|
+
"./components": {
|
|
41
|
+
"types": "./dist/components/index.d.mts",
|
|
42
|
+
"import": "./dist/components/index.es.js",
|
|
43
|
+
"require": "./dist/components/index.es.js"
|
|
44
|
+
},
|
|
45
|
+
"./vite": {
|
|
46
|
+
"import": "./vite/plugins/vite.js",
|
|
47
|
+
"require": "./vite/plugins/vite.js"
|
|
48
|
+
},
|
|
49
|
+
"./styles": "./dist/components/styles.css",
|
|
50
|
+
"./client-globals": {
|
|
51
|
+
"types": "./src/client/zenith-env.d.ts"
|
|
31
52
|
}
|
|
32
53
|
},
|
|
33
54
|
"scripts": {
|
|
34
|
-
"
|
|
35
|
-
"build": "tsdown
|
|
36
|
-
"
|
|
55
|
+
"build": "npm run build:tsdown && npm run build:vite",
|
|
56
|
+
"build:tsdown": "tsdown",
|
|
57
|
+
"build:vite": "vite build",
|
|
37
58
|
"release": "node artisan.js release"
|
|
38
59
|
},
|
|
39
60
|
"devDependencies": {
|
|
40
61
|
"@eslint/js": "^9.39.4",
|
|
41
62
|
"@eslint/json": "^0.14.0",
|
|
63
|
+
"@types/express": "^5.0.6",
|
|
42
64
|
"@types/js-yaml": "^4.0.9",
|
|
43
65
|
"@types/lodash-es": "^4.17.12",
|
|
44
66
|
"@types/mime": "^3.0.4",
|
|
45
67
|
"@types/ms": "^2.1.0",
|
|
46
68
|
"@types/node": "^25.6.0",
|
|
47
69
|
"@types/qs": "^6.15.0",
|
|
70
|
+
"@vue/language-core": "^3.1.8",
|
|
48
71
|
"@vue/tsconfig": "^0.9.1",
|
|
49
72
|
"commander": "^14.0.3",
|
|
50
73
|
"eslint": "^9.39.4",
|
|
@@ -55,25 +78,46 @@
|
|
|
55
78
|
"tsdown": "^0.21.9",
|
|
56
79
|
"typescript": "^6.0.3",
|
|
57
80
|
"typescript-eslint": "^8.58.2",
|
|
81
|
+
"vite-plugin-dts": "^5.0.0",
|
|
58
82
|
"vitest": "^3.2.4"
|
|
59
83
|
},
|
|
60
84
|
"dependencies": {
|
|
61
85
|
"@aws-sdk/client-s3": "^3.1039.0",
|
|
62
86
|
"@aws-sdk/lib-storage": "^3.1039.0",
|
|
63
87
|
"@aws-sdk/s3-request-presigner": "^3.1039.0",
|
|
88
|
+
"@casl/ability": "^6.8.1",
|
|
89
|
+
"@rollup/pluginutils": "^5.3.0",
|
|
90
|
+
"@tailwindcss/vite": "^4.2.4",
|
|
91
|
+
"@unhead/vue": "^3.1.0",
|
|
92
|
+
"@vee-validate/valibot": "^4.15.1",
|
|
93
|
+
"@vitejs/plugin-vue": "^6.0.6",
|
|
64
94
|
"better-sqlite3": "^12.9.0",
|
|
95
|
+
"class-variance-authority": "^0.7.1",
|
|
65
96
|
"cli-table3": "^0.6.5",
|
|
97
|
+
"clsx": "^2.1.1",
|
|
98
|
+
"cosmiconfig": "^9.0.1",
|
|
66
99
|
"date-fns": "^4.1.0",
|
|
67
100
|
"dotenv": "^17.4.2",
|
|
101
|
+
"embla-carousel-vue": "^8.6.0",
|
|
68
102
|
"fast-glob": "^3.3.3",
|
|
69
103
|
"js-yaml": "^4.1.1",
|
|
70
104
|
"kysely": "^0.28.16",
|
|
71
105
|
"lodash-es": "^4.18.1",
|
|
106
|
+
"lucide-vue-next": "^1.0.0",
|
|
72
107
|
"mime": "^4.1.0",
|
|
73
108
|
"ms": "^2.1.3",
|
|
74
109
|
"mysql2": "^3.22.3",
|
|
75
110
|
"pg": "^8.20.0",
|
|
76
111
|
"qs": "^6.15.1",
|
|
77
|
-
"
|
|
112
|
+
"reka-ui": "^2.9.6",
|
|
113
|
+
"tailwind-merge": "^3.5.0",
|
|
114
|
+
"tw-animate-css": "^1.4.0",
|
|
115
|
+
"ulid": "^3.0.2",
|
|
116
|
+
"undici": "^8.2.0",
|
|
117
|
+
"valibot": "^1.3.1",
|
|
118
|
+
"vaul-vue": "^0.4.1",
|
|
119
|
+
"vee-validate": "^4.15.1",
|
|
120
|
+
"vue-router": "^5.0.6",
|
|
121
|
+
"vue-sonner": "^2.0.9"
|
|
78
122
|
}
|
|
79
123
|
}
|
package/tsconfig.client.json
CHANGED
package/tsconfig.server.json
CHANGED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { defineConfig } from 'tsdown'
|
|
2
|
+
import path from 'path'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @typedef {Object} Options
|
|
6
|
+
* @property {import('tsdown').UserConfig['root']} [root] - Root directory (default: current working directory)
|
|
7
|
+
* @property {import('tsdown').UserConfig['entry']} [entry] - Entry file or directory (default: `src/server/index.ts`)
|
|
8
|
+
* @property {string} [outDir] - Output directory (default: `dist/server`)
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Vite plugin that replaces static and dynamic imports for specified modules
|
|
13
|
+
* with `globalThis.importAsync(...)` calls at transform time.
|
|
14
|
+
*
|
|
15
|
+
* @param {Options} options
|
|
16
|
+
*/
|
|
17
|
+
export default function(options) {
|
|
18
|
+
const tsConfigPath = path.resolve(import.meta.dirname, '..', 'tsconfig.server.json')
|
|
19
|
+
|
|
20
|
+
return defineConfig({
|
|
21
|
+
root: options.root || process.cwd(),
|
|
22
|
+
entry: options.entry,
|
|
23
|
+
outDir: options.outDir || 'dist/server',
|
|
24
|
+
tsconfig: tsConfigPath,
|
|
25
|
+
minify: true,
|
|
26
|
+
unbundle: true,
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
}
|
package/tsdown.config.ts
CHANGED
|
@@ -6,15 +6,19 @@ export default defineConfig([
|
|
|
6
6
|
entry: 'src/shared/index.ts',
|
|
7
7
|
outDir: 'dist/shared',
|
|
8
8
|
tsconfig: 'tsconfig.shared.json',
|
|
9
|
+
dts: true,
|
|
10
|
+
minify: true,
|
|
11
|
+
sourcemap: 'inline',
|
|
9
12
|
hooks(hooks) {
|
|
10
13
|
hooks.hook('build:before', async () => {
|
|
11
14
|
generateIndexFile({
|
|
12
15
|
folders: [
|
|
13
|
-
'src/shared/services',
|
|
16
|
+
'src/shared/services',
|
|
14
17
|
'src/shared/utils',
|
|
15
18
|
'src/shared/schemas',
|
|
16
19
|
'src/shared/exceptions',
|
|
17
20
|
'src/shared/facades',
|
|
21
|
+
'src/shared/mixins',
|
|
18
22
|
'src/shared/entities',
|
|
19
23
|
],
|
|
20
24
|
filename: 'src/shared/index.ts'
|
|
@@ -27,7 +31,19 @@ export default defineConfig([
|
|
|
27
31
|
{
|
|
28
32
|
entry: 'src/server/index.ts',
|
|
29
33
|
outDir: 'dist/server',
|
|
34
|
+
dts: true,
|
|
35
|
+
minify: true,
|
|
36
|
+
sourcemap: 'inline',
|
|
30
37
|
tsconfig: 'tsconfig.server.json',
|
|
38
|
+
deps: {
|
|
39
|
+
neverBundle: [
|
|
40
|
+
'express',
|
|
41
|
+
'kysely',
|
|
42
|
+
'chalk',
|
|
43
|
+
'commander',
|
|
44
|
+
'@unhead/vue',
|
|
45
|
+
]
|
|
46
|
+
},
|
|
31
47
|
hooks(hooks) {
|
|
32
48
|
hooks.hook('build:before', async () => {
|
|
33
49
|
generateIndexFile({
|
|
@@ -40,6 +56,8 @@ export default defineConfig([
|
|
|
40
56
|
'src/server/contracts',
|
|
41
57
|
'src/server/loaders',
|
|
42
58
|
'src/server/entities',
|
|
59
|
+
'src/server/queries',
|
|
60
|
+
'src/server/middlewares',
|
|
43
61
|
'src/server/utils',
|
|
44
62
|
],
|
|
45
63
|
filename: 'src/server/index.ts'
|
|
@@ -48,5 +66,40 @@ export default defineConfig([
|
|
|
48
66
|
globalLogger.info('Generated index.ts for server')
|
|
49
67
|
})
|
|
50
68
|
}
|
|
51
|
-
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
entry: 'src/client/index.ts',
|
|
72
|
+
outDir: 'dist/client',
|
|
73
|
+
dts: true,
|
|
74
|
+
minify: true,
|
|
75
|
+
sourcemap: 'inline',
|
|
76
|
+
tsconfig: 'tsconfig.client.json',
|
|
77
|
+
deps: {
|
|
78
|
+
neverBundle: [
|
|
79
|
+
'vue',
|
|
80
|
+
'vue-router',
|
|
81
|
+
'@unhead/vue',
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
hooks(hooks) {
|
|
85
|
+
hooks.hook('build:before', async () => {
|
|
86
|
+
generateIndexFile({
|
|
87
|
+
folders: [
|
|
88
|
+
'src/client/services',
|
|
89
|
+
'src/client/repositories',
|
|
90
|
+
'src/client/mixins',
|
|
91
|
+
'src/client/facades',
|
|
92
|
+
'src/client/loaders',
|
|
93
|
+
'src/client/entities',
|
|
94
|
+
'src/client/utils',
|
|
95
|
+
'src/client/guards',
|
|
96
|
+
],
|
|
97
|
+
filename: 'src/client/index.ts'
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
globalLogger.info('Generated index.ts for client')
|
|
101
|
+
})
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
|
|
52
105
|
])
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineConfig } from 'vite'
|
|
2
|
+
import vue from '@vitejs/plugin-vue'
|
|
3
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
4
|
+
import zenith from './plugins/zenith.js'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @typedef {Object} Options
|
|
9
|
+
* @property {string} [name] - Library name (default: `server`)
|
|
10
|
+
* @property {string} [entry] - Entry file or directory (default: `src/server/index.ts`)
|
|
11
|
+
* @property {string} [outDir] - Output directory (default: `dist/server`)
|
|
12
|
+
* @property {boolean} [ssr] - Whether to build for SSR (default: `false`). If `true`, external dependencies will be treated as CommonJS modules. If `false`, they will be treated as ES modules.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Vite plugin that replaces static and dynamic imports for specified modules
|
|
17
|
+
* with `globalThis.importAsync(...)` calls at transform time.
|
|
18
|
+
*
|
|
19
|
+
* @param {Options} options
|
|
20
|
+
*/
|
|
21
|
+
export default function(options) {
|
|
22
|
+
return defineConfig({
|
|
23
|
+
plugins: [
|
|
24
|
+
vue({
|
|
25
|
+
template: {
|
|
26
|
+
compilerOptions: {
|
|
27
|
+
isCustomElement: (tag) => {
|
|
28
|
+
return ['iconify-icon'].includes(tag)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}),
|
|
33
|
+
tailwindcss(),
|
|
34
|
+
zenith({
|
|
35
|
+
imports: [
|
|
36
|
+
'vue',
|
|
37
|
+
'vue-router',
|
|
38
|
+
],
|
|
39
|
+
})
|
|
40
|
+
],
|
|
41
|
+
build: {
|
|
42
|
+
outDir: options.outDir,
|
|
43
|
+
minify: true,
|
|
44
|
+
manifest: true,
|
|
45
|
+
ssr: options.ssr || false,
|
|
46
|
+
ssrManifest: options.ssr || false,
|
|
47
|
+
lib: {
|
|
48
|
+
name: options.name,
|
|
49
|
+
entry: options.entry,
|
|
50
|
+
formats: ['es'],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { createFilter } from '@rollup/pluginutils'
|
|
3
|
+
import MagicString from 'magic-string'
|
|
4
|
+
import * as acorn from 'acorn'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @typedef {Object} Options
|
|
8
|
+
* @property {string[]} [imports] - List of module names to replace with `globalThis.importAsync`
|
|
9
|
+
* @property {string | string[]} [include] - Files to include (default: `**\/*.{js,ts,vue}`)
|
|
10
|
+
* @property {string | string[]} [exclude] - Files to exclude (default: `node_modules/**`)
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Vite plugin that replaces static and dynamic imports for specified modules
|
|
15
|
+
* with `globalThis.importAsync(...)` calls at transform time.
|
|
16
|
+
*
|
|
17
|
+
* @param {Options} options
|
|
18
|
+
* @returns {import('vite').Plugin}
|
|
19
|
+
*/
|
|
20
|
+
export default function (options) {
|
|
21
|
+
const include = options?.include || '**/*.{js,ts,vue}'
|
|
22
|
+
const exclude = options?.exclude || 'node_modules/**'
|
|
23
|
+
const imports = options?.imports || []
|
|
24
|
+
|
|
25
|
+
const filter = createFilter(include, exclude)
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
name: 'zenith',
|
|
29
|
+
enforce: 'post',
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @param {string} code
|
|
33
|
+
* @param {string} id
|
|
34
|
+
*/
|
|
35
|
+
transform(code, id) {
|
|
36
|
+
if (!filter(id)) return null
|
|
37
|
+
|
|
38
|
+
if (!code.includes('import')) return null
|
|
39
|
+
|
|
40
|
+
const s = new MagicString(code)
|
|
41
|
+
let hasChanges = false
|
|
42
|
+
|
|
43
|
+
const ast = /** @type {any} */ (acorn.parse(code, {
|
|
44
|
+
sourceType: 'module',
|
|
45
|
+
ecmaVersion: 2022,
|
|
46
|
+
}))
|
|
47
|
+
|
|
48
|
+
const modulesFromList = imports
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @param {string} importSource
|
|
52
|
+
* @returns {boolean}
|
|
53
|
+
*/
|
|
54
|
+
function shouldReplaceImport(importSource) {
|
|
55
|
+
const isExternalModule = modulesFromList.includes(importSource)
|
|
56
|
+
const isExternalModuleSubpath = modulesFromList.some(baseModule =>
|
|
57
|
+
importSource.startsWith(baseModule + '/') && importSource !== baseModule
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
return isExternalModule || isExternalModuleSubpath
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @param {any} node
|
|
65
|
+
*/
|
|
66
|
+
function walkNode(node) {
|
|
67
|
+
if (!node || typeof node !== 'object') return
|
|
68
|
+
|
|
69
|
+
if (node.type === 'ImportExpression' && node.source?.value) {
|
|
70
|
+
const importSource = node.source.value
|
|
71
|
+
|
|
72
|
+
if (shouldReplaceImport(importSource)) {
|
|
73
|
+
const replacement = `globalThis.importAsync("${importSource}")`
|
|
74
|
+
s.overwrite(node.start, node.end, replacement)
|
|
75
|
+
hasChanges = true
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
for (const key in node) {
|
|
80
|
+
if (key === 'start' || key === 'end' || key === 'type') continue
|
|
81
|
+
const child = node[key]
|
|
82
|
+
if (Array.isArray(child)) {
|
|
83
|
+
child.forEach(walkNode)
|
|
84
|
+
} else {
|
|
85
|
+
walkNode(child)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
walkNode(ast)
|
|
91
|
+
|
|
92
|
+
const importNodes = ast.body.filter((/** @type {any} */ node) => node.type === 'ImportDeclaration').reverse()
|
|
93
|
+
|
|
94
|
+
for (const node of importNodes) {
|
|
95
|
+
const importSource = node.source.value
|
|
96
|
+
|
|
97
|
+
if (shouldReplaceImport(importSource)) {
|
|
98
|
+
if (node.specifiers.length === 0) {
|
|
99
|
+
const replacement = `await globalThis.importAsync("${importSource}");`
|
|
100
|
+
s.overwrite(node.start, node.end, replacement)
|
|
101
|
+
hasChanges = true
|
|
102
|
+
} else {
|
|
103
|
+
const replacements = node.specifiers
|
|
104
|
+
.map((/** @type {any} */ spec) => {
|
|
105
|
+
const localName = spec.local.name
|
|
106
|
+
let replacement = ''
|
|
107
|
+
|
|
108
|
+
if (spec.type === 'ImportSpecifier') {
|
|
109
|
+
const importedName = spec.imported.name
|
|
110
|
+
replacement = `const { ${importedName}: ${localName} } = await globalThis.importAsync("${importSource}");`
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (spec.type === 'ImportDefaultSpecifier') {
|
|
114
|
+
const moduleVarName = `__module__${localName}__`
|
|
115
|
+
replacement = `const ${moduleVarName} = await globalThis.importAsync("${importSource}"); const ${localName} = ${moduleVarName}.default || ${moduleVarName};`
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (spec.type === 'ImportNamespaceSpecifier') {
|
|
119
|
+
replacement = `const ${localName} = await globalThis.importAsync("${importSource}");`
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return replacement
|
|
123
|
+
})
|
|
124
|
+
.filter(Boolean)
|
|
125
|
+
.join('\n')
|
|
126
|
+
|
|
127
|
+
if (replacements) {
|
|
128
|
+
s.overwrite(node.start, node.end, replacements)
|
|
129
|
+
hasChanges = true
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
if (!hasChanges) return null
|
|
136
|
+
|
|
137
|
+
return {
|
|
138
|
+
code: s.toString(),
|
|
139
|
+
map: s.generateMap({ hires: true }),
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
}
|
|
143
|
+
}
|
package/vite.config.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { createLogger, defineConfig } from 'vite'
|
|
2
|
+
import vue from '@vitejs/plugin-vue'
|
|
3
|
+
import tailwindcss from '@tailwindcss/vite'
|
|
4
|
+
// import { importReplacer } from './src/build/vite'
|
|
5
|
+
import { generateIndexFile } from '#server/utils/generateIndexFile.ts'
|
|
6
|
+
import dts from 'vite-plugin-dts'
|
|
7
|
+
|
|
8
|
+
const logger = createLogger()
|
|
9
|
+
|
|
10
|
+
const prebuild = () => ({
|
|
11
|
+
name: 'prebuild',
|
|
12
|
+
buildStart() {
|
|
13
|
+
generateIndexFile({
|
|
14
|
+
glob: '**/*.{ts,vue,css}',
|
|
15
|
+
folders: [
|
|
16
|
+
// 'src/client/composables',
|
|
17
|
+
// 'src/client/utils',
|
|
18
|
+
// 'src/client/facades',
|
|
19
|
+
'src/client/components',
|
|
20
|
+
'src/client/layouts',
|
|
21
|
+
// 'src/client/services',
|
|
22
|
+
// 'src/client/guards',
|
|
23
|
+
'src/client/css',
|
|
24
|
+
],
|
|
25
|
+
filename: 'src/client/components.ts'
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
logger.info('Generated index.ts for client')
|
|
29
|
+
}
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
const externals = [
|
|
33
|
+
'vue',
|
|
34
|
+
'vue-router',
|
|
35
|
+
'vee-validate',
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
export default defineConfig({
|
|
39
|
+
customLogger: logger,
|
|
40
|
+
plugins: [
|
|
41
|
+
vue({
|
|
42
|
+
template: {
|
|
43
|
+
compilerOptions: {
|
|
44
|
+
isCustomElement: (tag) => {
|
|
45
|
+
return ['iconify-icon'].includes(tag)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}),
|
|
50
|
+
// dts({
|
|
51
|
+
// entryRoot: 'src/client/index.ts',
|
|
52
|
+
// tsconfigPath: 'tsconfig.client.json',
|
|
53
|
+
// bundleTypes: true,
|
|
54
|
+
// }),
|
|
55
|
+
tailwindcss(),
|
|
56
|
+
prebuild(),
|
|
57
|
+
],
|
|
58
|
+
build: {
|
|
59
|
+
outDir: 'dist/components',
|
|
60
|
+
minify: false,
|
|
61
|
+
rollupOptions: {
|
|
62
|
+
external: externals,
|
|
63
|
+
},
|
|
64
|
+
lib: {
|
|
65
|
+
name: 'Client',
|
|
66
|
+
entry: 'src/client/components.ts',
|
|
67
|
+
formats: ['es'],
|
|
68
|
+
fileName: (format) => `index.${format}.js`,
|
|
69
|
+
cssFileName: 'styles',
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
})
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
//#region \0rolldown/runtime.js
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __exportAll = (all, no_symbols) => {
|
|
4
|
-
let target = {};
|
|
5
|
-
for (var name in all) __defProp(target, name, {
|
|
6
|
-
get: all[name],
|
|
7
|
-
enumerable: true
|
|
8
|
-
});
|
|
9
|
-
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
10
|
-
return target;
|
|
11
|
-
};
|
|
12
|
-
//#endregion
|
|
13
|
-
export { __exportAll as t };
|