mirror of
https://github.com/cloud-shuttle/leptos-shadcn-ui.git
synced 2025-12-23 06:10:01 +00:00
🎯 Zero Dependencies Achieved: - Remove lucide-leptos from workspace dependencies - Replace all conditional compilation with inline SVG icons - Update examples to use inline SVG instead of external icon library - Add examples to workspace for proper build integration 🔧 Technical Changes: - Remove lucide-leptos from root Cargo.toml workspace dependencies - Update examples Cargo.toml to remove lucide-leptos references - Replace all conditional #[cfg(feature = "lucide-leptos")] with inline SVG - Update button, alert, and card examples with proper SVG icons - Update lazy_loading.rs to reference inline-svg instead of lucide-leptos - Update scripts to reflect resolved compatibility issue ✅ Benefits: - Zero external icon library dependencies - Better performance with inline SVG - Full compatibility with Leptos v0.8 - Consistent approach across all components and examples - No version conflicts or compatibility issues 📦 Status: - Examples build successfully with only warnings (no errors) - All lucide-leptos references removed from source code - Ready for production use with zero dependencies
124 lines
2.6 KiB
Bash
Executable File
124 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Publish all individual components to v0.2.0
|
|
# This script addresses the lucide-leptos compatibility issue (RESOLVED)
|
|
|
|
set -e
|
|
|
|
echo "🚀 Publishing all individual components to v0.2.0"
|
|
echo "This addresses the lucide-leptos compatibility issue (RESOLVED)"
|
|
echo ""
|
|
|
|
# List of all component packages
|
|
COMPONENTS=(
|
|
"accordion"
|
|
"alert"
|
|
"alert-dialog"
|
|
"aspect-ratio"
|
|
"avatar"
|
|
"badge"
|
|
"breadcrumb"
|
|
"button"
|
|
"calendar"
|
|
"card"
|
|
"carousel"
|
|
"checkbox"
|
|
"collapsible"
|
|
"combobox"
|
|
"command"
|
|
"context-menu"
|
|
"date-picker"
|
|
"dialog"
|
|
"drawer"
|
|
"dropdown-menu"
|
|
"form"
|
|
"hover-card"
|
|
"input"
|
|
"input-otp"
|
|
"label"
|
|
"menubar"
|
|
"navigation-menu"
|
|
"pagination"
|
|
"popover"
|
|
"progress"
|
|
"radio-group"
|
|
"scroll-area"
|
|
"select"
|
|
"separator"
|
|
"sheet"
|
|
"skeleton"
|
|
"slider"
|
|
"switch"
|
|
"table"
|
|
"tabs"
|
|
"textarea"
|
|
"toast"
|
|
"toggle"
|
|
"tooltip"
|
|
)
|
|
|
|
# Function to publish a component
|
|
publish_component() {
|
|
local component=$1
|
|
local package_dir="packages/leptos/$component"
|
|
|
|
echo "📦 Publishing $component..."
|
|
|
|
if [ ! -d "$package_dir" ]; then
|
|
echo "❌ Package directory not found: $package_dir"
|
|
return 1
|
|
fi
|
|
|
|
cd "$package_dir"
|
|
|
|
# Check if package is ready
|
|
echo " 🔍 Checking package readiness..."
|
|
if ! cargo check --quiet; then
|
|
echo " ❌ Package check failed for $component"
|
|
cd - > /dev/null
|
|
return 1
|
|
fi
|
|
|
|
# Dry run first
|
|
echo " 🧪 Testing publish (dry run)..."
|
|
if ! cargo publish --dry-run --quiet; then
|
|
echo " ❌ Dry run failed for $component"
|
|
cd - > /dev/null
|
|
return 1
|
|
fi
|
|
|
|
# Actual publish
|
|
echo " 🚀 Publishing $component v0.2.0..."
|
|
if cargo publish --quiet; then
|
|
echo " ✅ Successfully published $component v0.2.0"
|
|
else
|
|
echo " ❌ Failed to publish $component"
|
|
cd - > /dev/null
|
|
return 1
|
|
fi
|
|
|
|
cd - > /dev/null
|
|
echo ""
|
|
}
|
|
|
|
# Main execution
|
|
echo "📋 Found ${#COMPONENTS[@]} components to publish"
|
|
echo ""
|
|
|
|
# Publish each component
|
|
for component in "${COMPONENTS[@]}"; do
|
|
if ! publish_component "$component"; then
|
|
echo "❌ Failed to publish $component. Stopping."
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "🎉 All components published successfully!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo "1. Update main package to use v0.2.0 dependencies"
|
|
echo "2. Test compilation: cargo check --workspace"
|
|
echo "3. Publish main package v0.2.1"
|
|
echo ""
|
|
echo "✅ lucide-leptos compatibility issue resolved with inline SVG!"
|