mirror of
https://github.com/cloud-shuttle/leptos-shadcn-ui.git
synced 2025-12-22 22:00:00 +00:00
- Update main package dependencies to use published crates for published components - Button, Input, Label, Separator, Checkbox, Switch, Card, Dialog now use published v0.6.0 - Remaining components still use local paths for development - Main package compiles successfully with published dependencies - Ready to publish main leptos-shadcn-ui v0.6.0 package
161 lines
6.3 KiB
Bash
Executable File
161 lines
6.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 🚀 Batch Publishing Script for leptos-shadcn-ui v0.6.0
|
|
# Publishes components in batches to avoid rate limiting
|
|
|
|
set -e
|
|
|
|
echo "🚀 Starting batch publishing of leptos-shadcn-ui v0.6.0 components..."
|
|
echo ""
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Configuration
|
|
DELAY_BETWEEN_PACKAGES=3
|
|
DELAY_BETWEEN_BATCHES=10
|
|
|
|
# Track publishing progress
|
|
PUBLISHED_COUNT=0
|
|
FAILED_COUNT=0
|
|
|
|
# Function to publish a package
|
|
publish_package() {
|
|
local package_name="$1"
|
|
local package_path="$2"
|
|
|
|
echo -e "${BLUE}📦 Publishing: $package_name${NC}"
|
|
|
|
if [ -d "$package_path" ]; then
|
|
cd "$package_path"
|
|
|
|
# Check if package is already published at this version
|
|
if cargo search "$package_name" --limit 1 | grep -q "v0.6.0"; then
|
|
echo -e "${YELLOW}⚠️ $package_name v0.6.0 already published, skipping...${NC}"
|
|
cd - > /dev/null
|
|
return 0
|
|
fi
|
|
|
|
# Publish the package
|
|
if cargo publish --no-verify; then
|
|
echo -e "${GREEN}✅ Published: $package_name v0.6.0${NC}"
|
|
PUBLISHED_COUNT=$((PUBLISHED_COUNT + 1))
|
|
else
|
|
echo -e "${RED}❌ Failed to publish: $package_name${NC}"
|
|
FAILED_COUNT=$((FAILED_COUNT + 1))
|
|
fi
|
|
|
|
cd - > /dev/null
|
|
sleep $DELAY_BETWEEN_PACKAGES
|
|
else
|
|
echo -e "${RED}❌ Package path not found: $package_path${NC}"
|
|
FAILED_COUNT=$((FAILED_COUNT + 1))
|
|
fi
|
|
}
|
|
|
|
# Batch 1: Basic Form Components (no internal dependencies)
|
|
echo -e "${YELLOW}📦 Batch 1: Basic Form Components${NC}"
|
|
echo "================================================"
|
|
|
|
publish_package "leptos-shadcn-separator" "packages/leptos/separator"
|
|
publish_package "leptos-shadcn-checkbox" "packages/leptos/checkbox"
|
|
publish_package "leptos-shadcn-switch" "packages/leptos/switch"
|
|
publish_package "leptos-shadcn-radio-group" "packages/leptos/radio-group"
|
|
publish_package "leptos-shadcn-textarea" "packages/leptos/textarea"
|
|
publish_package "leptos-shadcn-select" "packages/leptos/select"
|
|
publish_package "leptos-shadcn-slider" "packages/leptos/slider"
|
|
|
|
echo -e "${YELLOW}⏳ Waiting $DELAY_BETWEEN_BATCHES seconds before next batch...${NC}"
|
|
sleep $DELAY_BETWEEN_BATCHES
|
|
echo ""
|
|
|
|
# Batch 2: Layout Components
|
|
echo -e "${YELLOW}📦 Batch 2: Layout Components${NC}"
|
|
echo "================================================"
|
|
|
|
publish_package "leptos-shadcn-card" "packages/leptos/card"
|
|
publish_package "leptos-shadcn-tabs" "packages/leptos/tabs"
|
|
publish_package "leptos-shadcn-accordion" "packages/leptos/accordion"
|
|
publish_package "leptos-shadcn-collapsible" "packages/leptos/collapsible"
|
|
publish_package "leptos-shadcn-scroll-area" "packages/leptos/scroll-area"
|
|
publish_package "leptos-shadcn-aspect-ratio" "packages/leptos/aspect-ratio"
|
|
publish_package "leptos-shadcn-badge" "packages/leptos/badge"
|
|
publish_package "leptos-shadcn-avatar" "packages/leptos/avatar"
|
|
publish_package "leptos-shadcn-skeleton" "packages/leptos/skeleton"
|
|
|
|
echo -e "${YELLOW}⏳ Waiting $DELAY_BETWEEN_BATCHES seconds before next batch...${NC}"
|
|
sleep $DELAY_BETWEEN_BATCHES
|
|
echo ""
|
|
|
|
# Batch 3: Overlay Components
|
|
echo -e "${YELLOW}📦 Batch 3: Overlay Components${NC}"
|
|
echo "================================================"
|
|
|
|
publish_package "leptos-shadcn-dialog" "packages/leptos/dialog"
|
|
publish_package "leptos-shadcn-popover" "packages/leptos/popover"
|
|
publish_package "leptos-shadcn-tooltip" "packages/leptos/tooltip"
|
|
publish_package "leptos-shadcn-alert-dialog" "packages/leptos/alert-dialog"
|
|
publish_package "leptos-shadcn-sheet" "packages/leptos/sheet"
|
|
publish_package "leptos-shadcn-drawer" "packages/leptos/drawer"
|
|
publish_package "leptos-shadcn-hover-card" "packages/leptos/hover-card"
|
|
publish_package "leptos-shadcn-alert" "packages/leptos/alert"
|
|
publish_package "leptos-shadcn-progress" "packages/leptos/progress"
|
|
|
|
echo -e "${YELLOW}⏳ Waiting $DELAY_BETWEEN_BATCHES seconds before next batch...${NC}"
|
|
sleep $DELAY_BETWEEN_BATCHES
|
|
echo ""
|
|
|
|
# Batch 4: Navigation & Advanced Components
|
|
echo -e "${YELLOW}📦 Batch 4: Navigation & Advanced Components${NC}"
|
|
echo "================================================"
|
|
|
|
publish_package "leptos-shadcn-toast" "packages/leptos/toast"
|
|
publish_package "leptos-shadcn-breadcrumb" "packages/leptos/breadcrumb"
|
|
publish_package "leptos-shadcn-navigation-menu" "packages/leptos/navigation-menu"
|
|
publish_package "leptos-shadcn-context-menu" "packages/leptos/context-menu"
|
|
publish_package "leptos-shadcn-dropdown-menu" "packages/leptos/dropdown-menu"
|
|
publish_package "leptos-shadcn-menubar" "packages/leptos/menubar"
|
|
publish_package "leptos-shadcn-table" "packages/leptos/table"
|
|
publish_package "leptos-shadcn-calendar" "packages/leptos/calendar"
|
|
publish_package "leptos-shadcn-date-picker" "packages/leptos/date-picker"
|
|
|
|
echo -e "${YELLOW}⏳ Waiting $DELAY_BETWEEN_BATCHES seconds before next batch...${NC}"
|
|
sleep $DELAY_BETWEEN_BATCHES
|
|
echo ""
|
|
|
|
# Batch 5: Remaining Components
|
|
echo -e "${YELLOW}📦 Batch 5: Remaining Components${NC}"
|
|
echo "================================================"
|
|
|
|
publish_package "leptos-shadcn-pagination" "packages/leptos/pagination"
|
|
publish_package "leptos-shadcn-carousel" "packages/leptos/carousel"
|
|
publish_package "leptos-shadcn-form" "packages/leptos/form"
|
|
publish_package "leptos-shadcn-combobox" "packages/leptos/combobox"
|
|
publish_package "leptos-shadcn-command" "packages/leptos/command"
|
|
publish_package "leptos-shadcn-input-otp" "packages/leptos/input-otp"
|
|
publish_package "leptos-shadcn-toggle" "packages/leptos/toggle"
|
|
publish_package "leptos-shadcn-error-boundary" "packages/leptos/error-boundary"
|
|
publish_package "leptos-shadcn-lazy-loading" "packages/leptos/lazy-loading"
|
|
publish_package "leptos-shadcn-resizable" "packages/leptos/resizable"
|
|
|
|
# Summary
|
|
echo -e "${YELLOW}📊 Publishing Summary${NC}"
|
|
echo "================================================"
|
|
echo -e "Successfully Published: ${GREEN}$PUBLISHED_COUNT${NC}"
|
|
echo -e "Failed: ${RED}$FAILED_COUNT${NC}"
|
|
|
|
if [ $FAILED_COUNT -eq 0 ]; then
|
|
echo ""
|
|
echo -e "${GREEN}🎉 ALL COMPONENTS PUBLISHED SUCCESSFULLY!${NC}"
|
|
echo -e "${GREEN}✅ Ready to publish main leptos-shadcn-ui v0.6.0 package!${NC}"
|
|
exit 0
|
|
else
|
|
echo ""
|
|
echo -e "${RED}❌ Some components failed to publish. Please review the errors above.${NC}"
|
|
exit 1
|
|
fi
|