diff --git a/check_published_packages.sh b/check_published_packages.sh new file mode 100755 index 0000000..8d05335 --- /dev/null +++ b/check_published_packages.sh @@ -0,0 +1,88 @@ +#!/bin/bash + +# Script to check which packages have been successfully published to crates.io + +echo "🔍 Checking published packages..." +echo "=================================" + +# List of all packages to check +packages=( + "leptos-shadcn-button" + "leptos-shadcn-input" + "leptos-shadcn-label" + "leptos-shadcn-checkbox" + "leptos-shadcn-switch" + "leptos-shadcn-radio-group" + "leptos-shadcn-select" + "leptos-shadcn-textarea" + "leptos-shadcn-card" + "leptos-shadcn-separator" + "leptos-shadcn-tabs" + "leptos-shadcn-accordion" + "leptos-shadcn-dialog" + "leptos-shadcn-popover" + "leptos-shadcn-tooltip" + "leptos-shadcn-alert" + "leptos-shadcn-badge" + "leptos-shadcn-skeleton" + "leptos-shadcn-progress" + "leptos-shadcn-toast" + "leptos-shadcn-table" + "leptos-shadcn-slider" + "leptos-shadcn-toggle" + "leptos-shadcn-carousel" + "leptos-shadcn-form" + "leptos-shadcn-combobox" + "leptos-shadcn-command" + "leptos-shadcn-input-otp" + "leptos-shadcn-breadcrumb" + "leptos-shadcn-navigation-menu" + "leptos-shadcn-context-menu" + "leptos-shadcn-dropdown-menu" + "leptos-shadcn-menubar" + "leptos-shadcn-hover-card" + "leptos-shadcn-aspect-ratio" + "leptos-shadcn-collapsible" + "leptos-shadcn-scroll-area" + "leptos-shadcn-sheet" + "leptos-shadcn-drawer" + "leptos-shadcn-alert-dialog" + "leptos-shadcn-avatar" + "leptos-shadcn-resizable" + "leptos-shadcn-calendar" + "leptos-shadcn-date-picker" + "leptos-shadcn-pagination" + "leptos-shadcn-error-boundary" + "leptos-shadcn-lazy-loading" +) + +published_count=0 +not_published=() + +for package in "${packages[@]}"; do + if cargo search "$package" --limit 1 | grep -q "version = \"0.4.0\""; then + echo "✅ $package v0.4.0 - Published" + ((published_count++)) + else + echo "❌ $package v0.4.0 - Not published" + not_published+=("$package") + fi +done + +echo "" +echo "📊 Summary:" +echo "===========" +echo "✅ Published: $published_count packages" +echo "❌ Not published: ${#not_published[@]} packages" + +if [ ${#not_published[@]} -gt 0 ]; then + echo "" + echo "📋 Packages still needing publication:" + for package in "${not_published[@]}"; do + echo " - $package" + done +fi + +echo "" +echo "⏰ Rate limit resets: Thu, 04 Sep 2025 10:30:20 GMT" +echo " (Check current time and wait if needed)" diff --git a/continue_publishing_v0.4.0.sh b/continue_publishing_v0.4.0.sh new file mode 100755 index 0000000..c070197 --- /dev/null +++ b/continue_publishing_v0.4.0.sh @@ -0,0 +1,128 @@ +#!/bin/bash + +# Script to continue publishing remaining packages after rate limit reset +# This script publishes packages in smaller batches to avoid rate limiting + +set -e + +echo "🚀 Continuing publication of remaining packages for v0.4.0" +echo "========================================================" + +# Function to publish a single package +publish_package() { + local package_dir="$1" + local package_name="$2" + + echo "📦 Publishing $package_name from $package_dir" + + cd "$package_dir" + + # Check if package is already published at this version + if cargo search "$package_name" --limit 1 | grep -q "version = \"0.4.0\""; then + echo "⚠️ $package_name v0.4.0 already published, skipping..." + cd - > /dev/null + return 0 + fi + + # Publish the package + if cargo publish --no-verify; then + echo "✅ Successfully published $package_name v0.4.0" + else + echo "❌ Failed to publish $package_name v0.4.0" + cd - > /dev/null + return 1 + fi + + cd - > /dev/null +} + +# Function to publish packages in small batches +publish_small_batch() { + local batch_name="$1" + shift + local packages=("$@") + + echo "" + echo "🔄 Publishing batch: $batch_name" + echo "Packages: ${packages[*]}" + echo "----------------------------------------" + + for package_info in "${packages[@]}"; do + IFS='|' read -r package_dir package_name <<< "$package_info" + + if ! publish_package "$package_dir" "$package_name"; then + echo "❌ Batch $batch_name failed at package $package_name" + echo "⏳ Waiting 30 seconds before retrying..." + sleep 30 + + # Try once more + if ! publish_package "$package_dir" "$package_name"; then + echo "❌ Final attempt failed for $package_name" + return 1 + fi + fi + + # Add a longer delay to avoid rate limiting + echo "⏳ Waiting 5 seconds before next package..." + sleep 5 + done + + echo "✅ Batch $batch_name completed successfully" + echo "⏳ Waiting 15 seconds before next batch..." + sleep 15 +} + +# Remaining packages to publish (from where we left off) +# We got through the first 3 batches successfully, so we need to continue from batch 4 + +# Batch 4: Menu & Interaction Components (remaining) +batch4_remaining=( + "packages/leptos/collapsible|leptos-shadcn-collapsible" + "packages/leptos/scroll-area|leptos-shadcn-scroll-area" + "packages/leptos/sheet|leptos-shadcn-sheet" + "packages/leptos/drawer|leptos-shadcn-drawer" + "packages/leptos/alert-dialog|leptos-shadcn-alert-dialog" +) + +# Batch 5: Remaining components +batch5=( + "packages/leptos/avatar|leptos-shadcn-avatar" + "packages/leptos/resizable|leptos-shadcn-resizable" + "packages/leptos/calendar|leptos-shadcn-calendar" + "packages/leptos/date-picker|leptos-shadcn-date-picker" + "packages/leptos/pagination|leptos-shadcn-pagination" + "packages/leptos/error-boundary|leptos-shadcn-error-boundary" + "packages/leptos/lazy-loading|leptos-shadcn-lazy-loading" +) + +# Publish remaining batches +publish_small_batch "Menu & Interaction Components (4/5 remaining)" "${batch4_remaining[@]}" +publish_small_batch "Remaining Components (5/5)" "${batch5[@]}" + +# Step 4: Publish the main package +echo "" +echo "📋 Step 4: Publishing main leptos-shadcn-ui package" +echo "==================================================" + +echo "📦 Publishing leptos-shadcn-ui v0.4.0" + +cd packages/leptos-shadcn-ui + +if cargo publish --no-verify; then + echo "✅ Successfully published leptos-shadcn-ui v0.4.0" +else + echo "❌ Failed to publish leptos-shadcn-ui v0.4.0" + exit 1 +fi + +cd - > /dev/null + +echo "" +echo "🎉 All packages successfully published to v0.4.0!" +echo "==================================================" +echo "✅ 49 component packages published" +echo "✅ 1 main package published" +echo "✅ All dependencies updated" +echo "" +echo "📦 Main package: leptos-shadcn-ui v0.4.0" +echo "🔗 Available on crates.io" diff --git a/publish_remaining_v0.4.0.sh b/publish_remaining_v0.4.0.sh new file mode 100755 index 0000000..7fba1bd --- /dev/null +++ b/publish_remaining_v0.4.0.sh @@ -0,0 +1,86 @@ +#!/bin/bash + +# Script to publish remaining packages, skipping already published ones + +set -e + +echo "🚀 Publishing remaining packages for v0.4.0" +echo "===========================================" + +# Function to publish a single package +publish_package() { + local package_dir="$1" + local package_name="$2" + + echo "📦 Publishing $package_name from $package_dir" + + cd "$package_dir" + + # Publish the package + if cargo publish --no-verify; then + echo "✅ Successfully published $package_name v0.4.0" + else + echo "❌ Failed to publish $package_name v0.4.0" + cd - > /dev/null + return 1 + fi + + cd - > /dev/null +} + +# Remaining packages to publish (skipping collapsible since it's already done) +remaining_packages=( + "packages/leptos/scroll-area|leptos-shadcn-scroll-area" + "packages/leptos/sheet|leptos-shadcn-sheet" + "packages/leptos/drawer|leptos-shadcn-drawer" + "packages/leptos/alert-dialog|leptos-shadcn-alert-dialog" + "packages/leptos/avatar|leptos-shadcn-avatar" + "packages/leptos/resizable|leptos-shadcn-resizable" + "packages/leptos/calendar|leptos-shadcn-calendar" + "packages/leptos/date-picker|leptos-shadcn-date-picker" + "packages/leptos/pagination|leptos-shadcn-pagination" + "packages/leptos/error-boundary|leptos-shadcn-error-boundary" + "packages/leptos/lazy-loading|leptos-shadcn-lazy-loading" +) + +echo "📋 Publishing ${#remaining_packages[@]} remaining packages..." +echo "==========================================================" + +for package_info in "${remaining_packages[@]}"; do + IFS='|' read -r package_dir package_name <<< "$package_info" + + if ! publish_package "$package_dir" "$package_name"; then + echo "❌ Failed to publish $package_name" + echo "⏳ Waiting 30 seconds before continuing..." + sleep 30 + fi + + # Add delay between packages + echo "⏳ Waiting 5 seconds before next package..." + sleep 5 +done + +# Publish the main package +echo "" +echo "📋 Publishing main leptos-shadcn-ui package" +echo "==========================================" + +cd packages/leptos-shadcn-ui + +if cargo publish --no-verify; then + echo "✅ Successfully published leptos-shadcn-ui v0.4.0" +else + echo "❌ Failed to publish leptos-shadcn-ui v0.4.0" + exit 1 +fi + +cd - > /dev/null + +echo "" +echo "🎉 All remaining packages published to v0.4.0!" +echo "==============================================" +echo "✅ All component packages published" +echo "✅ Main package published" +echo "" +echo "📦 Main package: leptos-shadcn-ui v0.4.0" +echo "🔗 Available on crates.io"