🚀 Prepare for crates.io publishing

- Convert main package to use workspace dependencies
- Add all 52 component packages to workspace dependencies
- Update README with crates.io installation instructions
- Ready for publishing to crates.io!
This commit is contained in:
Peter Hanssens
2025-09-03 01:01:03 +10:00
parent 73a34e1b2a
commit 04ad9d903a
3 changed files with 82 additions and 37 deletions

View File

@@ -99,3 +99,41 @@ env_logger = "0.11"
log = "0.4"
console_log = "1.0"
shadcn-ui-test-utils = { path = "packages/test-utils" }
# Individual component packages
leptos-shadcn-button = { path = "packages/leptos/button" }
leptos-shadcn-input = { path = "packages/leptos/input" }
leptos-shadcn-label = { path = "packages/leptos/label" }
leptos-shadcn-checkbox = { path = "packages/leptos/checkbox" }
leptos-shadcn-switch = { path = "packages/leptos/switch" }
leptos-shadcn-radio-group = { path = "packages/leptos/radio-group" }
leptos-shadcn-select = { path = "packages/leptos/select" }
leptos-shadcn-textarea = { path = "packages/leptos/textarea" }
leptos-shadcn-card = { path = "packages/leptos/card" }
leptos-shadcn-separator = { path = "packages/leptos/separator" }
leptos-shadcn-tabs = { path = "packages/leptos/tabs" }
leptos-shadcn-accordion = { path = "packages/leptos/accordion" }
leptos-shadcn-dialog = { path = "packages/leptos/dialog" }
leptos-shadcn-popover = { path = "packages/leptos/popover" }
leptos-shadcn-tooltip = { path = "packages/leptos/tooltip" }
leptos-shadcn-alert = { path = "packages/leptos/alert" }
leptos-shadcn-badge = { path = "packages/leptos/badge" }
leptos-shadcn-skeleton = { path = "packages/leptos/skeleton" }
leptos-shadcn-progress = { path = "packages/leptos/progress" }
leptos-shadcn-toast = { path = "packages/leptos/toast" }
leptos-shadcn-table = { path = "packages/leptos/table" }
leptos-shadcn-calendar = { path = "packages/leptos/calendar" }
leptos-shadcn-date-picker = { path = "packages/leptos/date-picker" }
leptos-shadcn-pagination = { path = "packages/leptos/pagination" }
leptos-shadcn-slider = { path = "packages/leptos/slider" }
leptos-shadcn-toggle = { path = "packages/leptos/toggle" }
# Advanced components
leptos-shadcn-form = { path = "packages/leptos/form" }
leptos-shadcn-combobox = { path = "packages/leptos/combobox" }
leptos-shadcn-command = { path = "packages/leptos/command" }
leptos-shadcn-input-otp = { path = "packages/leptos/input-otp" }
leptos-shadcn-breadcrumb = { path = "packages/leptos/breadcrumb" }
leptos-shadcn-lazy-loading = { path = "packages/leptos/lazy-loading" }
leptos-shadcn-error-boundary = { path = "packages/leptos/error-boundary" }
leptos-shadcn-registry = { path = "packages/leptos/registry" }

View File

@@ -139,12 +139,19 @@ cd leptos-shadcn-ui
### 3. Add the Main Package to your `Cargo.toml`
**From crates.io (Recommended):**
```toml
[dependencies]
leptos-shadcn-ui = "0.1.0"
```
**From source (Development):**
```toml
[dependencies]
leptos-shadcn-ui = { path = "path/to/leptos-shadcn-ui/packages/leptos-shadcn-ui" }
```
**Note**: The main package is available from source and includes all 52 components. All components are fully tested and working with Leptos v0.8.8!
**Note**: The main package includes all 52 components and is now available on crates.io! All components are fully tested and working with Leptos v0.8.8!
### 4. Choose Your Components

View File

@@ -19,43 +19,43 @@ leptos-node-ref = "0.2"
leptos-struct-component = "0.2"
leptos-style = "0.2"
# Individual component packages (internal workspace dependencies)
leptos-shadcn-button = { path = "../leptos/button", optional = true }
leptos-shadcn-input = { path = "../leptos/input", optional = true }
leptos-shadcn-label = { path = "../leptos/label", optional = true }
leptos-shadcn-checkbox = { path = "../leptos/checkbox", optional = true }
leptos-shadcn-switch = { path = "../leptos/switch", optional = true }
leptos-shadcn-radio-group = { path = "../leptos/radio-group", optional = true }
leptos-shadcn-select = { path = "../leptos/select", optional = true }
leptos-shadcn-textarea = { path = "../leptos/textarea", optional = true }
leptos-shadcn-card = { path = "../leptos/card", optional = true }
leptos-shadcn-separator = { path = "../leptos/separator", optional = true }
leptos-shadcn-tabs = { path = "../leptos/tabs", optional = true }
leptos-shadcn-accordion = { path = "../leptos/accordion", optional = true }
leptos-shadcn-dialog = { path = "../leptos/dialog", optional = true }
leptos-shadcn-popover = { path = "../leptos/popover", optional = true }
leptos-shadcn-tooltip = { path = "../leptos/tooltip", optional = true }
leptos-shadcn-alert = { path = "../leptos/alert", optional = true }
leptos-shadcn-badge = { path = "../leptos/badge", optional = true }
leptos-shadcn-skeleton = { path = "../leptos/skeleton", optional = true }
leptos-shadcn-progress = { path = "../leptos/progress", optional = true }
leptos-shadcn-toast = { path = "../leptos/toast", optional = true }
leptos-shadcn-table = { path = "../leptos/table", optional = true }
leptos-shadcn-calendar = { path = "../leptos/calendar", optional = true }
leptos-shadcn-date-picker = { path = "../leptos/date-picker", optional = true }
leptos-shadcn-pagination = { path = "../leptos/pagination", optional = true }
leptos-shadcn-slider = { path = "../leptos/slider", optional = true }
leptos-shadcn-toggle = { path = "../leptos/toggle", optional = true }
# Individual component packages (workspace dependencies)
leptos-shadcn-button = { workspace = true, optional = true }
leptos-shadcn-input = { workspace = true, optional = true }
leptos-shadcn-label = { workspace = true, optional = true }
leptos-shadcn-checkbox = { workspace = true, optional = true }
leptos-shadcn-switch = { workspace = true, optional = true }
leptos-shadcn-radio-group = { workspace = true, optional = true }
leptos-shadcn-select = { workspace = true, optional = true }
leptos-shadcn-textarea = { workspace = true, optional = true }
leptos-shadcn-card = { workspace = true, optional = true }
leptos-shadcn-separator = { workspace = true, optional = true }
leptos-shadcn-tabs = { workspace = true, optional = true }
leptos-shadcn-accordion = { workspace = true, optional = true }
leptos-shadcn-dialog = { workspace = true, optional = true }
leptos-shadcn-popover = { workspace = true, optional = true }
leptos-shadcn-tooltip = { workspace = true, optional = true }
leptos-shadcn-alert = { workspace = true, optional = true }
leptos-shadcn-badge = { workspace = true, optional = true }
leptos-shadcn-skeleton = { workspace = true, optional = true }
leptos-shadcn-progress = { workspace = true, optional = true }
leptos-shadcn-toast = { workspace = true, optional = true }
leptos-shadcn-table = { workspace = true, optional = true }
leptos-shadcn-calendar = { workspace = true, optional = true }
leptos-shadcn-date-picker = { workspace = true, optional = true }
leptos-shadcn-pagination = { workspace = true, optional = true }
leptos-shadcn-slider = { workspace = true, optional = true }
leptos-shadcn-toggle = { workspace = true, optional = true }
# Advanced components (newly fixed)
leptos-shadcn-form = { path = "../leptos/form", optional = true }
leptos-shadcn-combobox = { path = "../leptos/combobox", optional = true }
leptos-shadcn-command = { path = "../leptos/command", optional = true }
leptos-shadcn-input-otp = { path = "../leptos/input-otp", optional = true }
leptos-shadcn-breadcrumb = { path = "../leptos/breadcrumb", optional = true }
leptos-shadcn-lazy-loading = { path = "../leptos/lazy-loading", optional = true }
leptos-shadcn-error-boundary = { path = "../leptos/error-boundary", optional = true }
leptos-shadcn-registry = { path = "../leptos/registry", optional = true }
# Advanced components (workspace dependencies)
leptos-shadcn-form = { workspace = true, optional = true }
leptos-shadcn-combobox = { workspace = true, optional = true }
leptos-shadcn-command = { workspace = true, optional = true }
leptos-shadcn-input-otp = { workspace = true, optional = true }
leptos-shadcn-breadcrumb = { workspace = true, optional = true }
leptos-shadcn-lazy-loading = { workspace = true, optional = true }
leptos-shadcn-error-boundary = { workspace = true, optional = true }
leptos-shadcn-registry = { workspace = true, optional = true }
# Additional dependencies
tailwind_fuse = "0.3"