@hypoth-ui/cli 0.0.1 → 0.1.0
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/LICENSE +21 -0
- package/README.md +19 -115
- package/dist/{add-PDBC4JTE.js → add-V5PW73GC.js} +29 -17
- package/dist/{chunk-5LTQ2XVL.js → chunk-27CLUUVC.js} +0 -2
- package/dist/{chunk-YPKFYE45.js → chunk-NWIRSZUQ.js} +6 -13
- package/dist/{chunk-GJ6JOQ3Q.js → chunk-PBK72SJJ.js} +1 -1
- package/dist/{diff-BQEXG7HU.js → diff-776UATCA.js} +2 -2
- package/dist/index.js +5 -5
- package/dist/{init-7AZXYAPJ.js → init-GDU2PW7K.js} +10 -13
- package/dist/{list-X6ZLM2NQ.js → list-XDP5I537.js} +3 -3
- package/package.json +16 -12
- package/registry/components.json +1820 -206
- package/templates/accordion/index.tsx +266 -0
- package/templates/accordion/wc/accordion-content.ts +113 -0
- package/templates/accordion/wc/accordion-item.ts +111 -0
- package/templates/accordion/wc/accordion-trigger.ts +105 -0
- package/templates/accordion/wc/accordion.ts +213 -0
- package/templates/accordion/wc/index.ts +12 -0
- package/templates/alert/index.tsx +177 -0
- package/templates/alert/wc/alert.ts +167 -0
- package/templates/alert/wc/index.ts +1 -0
- package/templates/alert-dialog/index.tsx +360 -0
- package/templates/alert-dialog/wc/alert-dialog-action.ts +43 -0
- package/templates/alert-dialog/wc/alert-dialog-cancel.ts +43 -0
- package/templates/alert-dialog/wc/alert-dialog-content.ts +42 -0
- package/templates/alert-dialog/wc/alert-dialog-description.ts +34 -0
- package/templates/alert-dialog/wc/alert-dialog-footer.ts +25 -0
- package/templates/alert-dialog/wc/alert-dialog-header.ts +25 -0
- package/templates/alert-dialog/wc/alert-dialog-title.ts +34 -0
- package/templates/alert-dialog/wc/alert-dialog-trigger.ts +46 -0
- package/templates/alert-dialog/wc/alert-dialog.ts +302 -0
- package/templates/alert-dialog/wc/index.ts +13 -0
- package/templates/aspect-ratio/index.tsx +50 -0
- package/templates/aspect-ratio/wc/aspect-ratio.ts +78 -0
- package/templates/aspect-ratio/wc/index.ts +5 -0
- package/templates/avatar/avatar-group.tsx +88 -0
- package/templates/avatar/avatar.tsx +124 -0
- package/templates/avatar/index.tsx +33 -0
- package/templates/avatar/wc/avatar-group.ts +112 -0
- package/templates/avatar/wc/avatar.ts +184 -0
- package/templates/avatar/wc/index.ts +5 -0
- package/templates/badge/index.tsx +140 -0
- package/templates/badge/wc/badge.ts +119 -0
- package/templates/badge/wc/index.ts +9 -0
- package/templates/breadcrumb/index.tsx +157 -0
- package/templates/breadcrumb/wc/breadcrumb-item.ts +30 -0
- package/templates/breadcrumb/wc/breadcrumb-link.ts +70 -0
- package/templates/breadcrumb/wc/breadcrumb-list.ts +30 -0
- package/templates/breadcrumb/wc/breadcrumb-page.ts +32 -0
- package/templates/breadcrumb/wc/breadcrumb-separator.ts +31 -0
- package/templates/breadcrumb/wc/breadcrumb.ts +55 -0
- package/templates/breadcrumb/wc/index.ts +10 -0
- package/templates/button/button.tsx +119 -0
- package/templates/button/index.ts +1 -0
- package/templates/button/wc/button.ts +169 -0
- package/templates/calendar/index.tsx +149 -0
- package/templates/calendar/wc/calendar.ts +316 -0
- package/templates/calendar/wc/index.ts +4 -0
- package/templates/card/index.tsx +108 -0
- package/templates/card/wc/card-content.ts +25 -0
- package/templates/card/wc/card-footer.ts +25 -0
- package/templates/card/wc/card-header.ts +25 -0
- package/templates/card/wc/card.ts +43 -0
- package/templates/card/wc/index.ts +8 -0
- package/templates/checkbox/checkbox.tsx +85 -0
- package/templates/checkbox/wc/checkbox.ts +247 -0
- package/templates/collapsible/index.tsx +172 -0
- package/templates/collapsible/wc/collapsible-content.ts +97 -0
- package/templates/collapsible/wc/collapsible-trigger.ts +39 -0
- package/templates/collapsible/wc/collapsible.ts +143 -0
- package/templates/collapsible/wc/index.ts +7 -0
- package/templates/combobox/combobox-content.tsx +141 -0
- package/templates/combobox/combobox-context.ts +36 -0
- package/templates/combobox/combobox-empty.tsx +38 -0
- package/templates/combobox/combobox-input.tsx +159 -0
- package/templates/combobox/combobox-loading.tsx +38 -0
- package/templates/combobox/combobox-option.tsx +99 -0
- package/templates/combobox/combobox-root.tsx +207 -0
- package/templates/combobox/combobox-tag.tsx +62 -0
- package/templates/combobox/index.ts +62 -0
- package/templates/combobox/wc/combobox-content.ts +97 -0
- package/templates/combobox/wc/combobox-input.ts +134 -0
- package/templates/combobox/wc/combobox-option.ts +111 -0
- package/templates/combobox/wc/combobox-tag.ts +103 -0
- package/templates/combobox/wc/combobox.ts +981 -0
- package/templates/combobox/wc/index.ts +5 -0
- package/templates/command/index.tsx +279 -0
- package/templates/command/wc/command-empty.ts +24 -0
- package/templates/command/wc/command-group.ts +60 -0
- package/templates/command/wc/command-input.ts +136 -0
- package/templates/command/wc/command-item.ts +78 -0
- package/templates/command/wc/command-list.ts +103 -0
- package/templates/command/wc/command-loading.ts +24 -0
- package/templates/command/wc/command-separator.ts +23 -0
- package/templates/command/wc/command.ts +176 -0
- package/templates/context-menu/index.tsx +262 -0
- package/templates/context-menu/wc/context-menu-content.ts +41 -0
- package/templates/context-menu/wc/context-menu-item.ts +83 -0
- package/templates/context-menu/wc/context-menu-label.ts +30 -0
- package/templates/context-menu/wc/context-menu-separator.ts +28 -0
- package/templates/context-menu/wc/context-menu.ts +324 -0
- package/templates/context-menu/wc/index.ts +9 -0
- package/templates/data-table/index.tsx +263 -0
- package/templates/data-table/wc/data-table.ts +405 -0
- package/templates/data-table/wc/index.ts +10 -0
- package/templates/date-picker/date-picker-calendar.tsx +352 -0
- package/templates/date-picker/date-picker-content.tsx +121 -0
- package/templates/date-picker/date-picker-context.ts +46 -0
- package/templates/date-picker/date-picker-root.tsx +201 -0
- package/templates/date-picker/date-picker-trigger.tsx +95 -0
- package/templates/date-picker/index.ts +44 -0
- package/templates/date-picker/wc/date-picker-calendar.ts +457 -0
- package/templates/date-picker/wc/date-picker.ts +592 -0
- package/templates/date-picker/wc/date-utils.ts +467 -0
- package/templates/date-picker/wc/index.ts +3 -0
- package/templates/dialog/dialog-close.tsx +57 -0
- package/templates/dialog/dialog-content.tsx +106 -0
- package/templates/dialog/dialog-context.ts +24 -0
- package/templates/dialog/dialog-description.tsx +51 -0
- package/templates/dialog/dialog-root.tsx +104 -0
- package/templates/dialog/dialog-title.tsx +38 -0
- package/templates/dialog/dialog-trigger.tsx +94 -0
- package/templates/dialog/index.ts +52 -0
- package/templates/dialog/wc/dialog-content.ts +59 -0
- package/templates/dialog/wc/dialog-description.ts +58 -0
- package/templates/dialog/wc/dialog-title.ts +56 -0
- package/templates/dialog/wc/dialog.ts +411 -0
- package/templates/drawer/index.tsx +263 -0
- package/templates/drawer/wc/drawer-content.ts +150 -0
- package/templates/drawer/wc/drawer-description.ts +34 -0
- package/templates/drawer/wc/drawer-footer.ts +25 -0
- package/templates/drawer/wc/drawer-header.ts +25 -0
- package/templates/drawer/wc/drawer-title.ts +34 -0
- package/templates/drawer/wc/drawer.ts +348 -0
- package/templates/drawer/wc/index.ts +10 -0
- package/templates/dropdown-menu/index.tsx +454 -0
- package/templates/dropdown-menu/wc/dropdown-menu-checkbox-item.ts +93 -0
- package/templates/dropdown-menu/wc/dropdown-menu-content.ts +43 -0
- package/templates/dropdown-menu/wc/dropdown-menu-item.ts +85 -0
- package/templates/dropdown-menu/wc/dropdown-menu-label.ts +31 -0
- package/templates/dropdown-menu/wc/dropdown-menu-radio-group.ts +80 -0
- package/templates/dropdown-menu/wc/dropdown-menu-radio-item.ts +101 -0
- package/templates/dropdown-menu/wc/dropdown-menu-separator.ts +28 -0
- package/templates/dropdown-menu/wc/dropdown-menu.ts +358 -0
- package/templates/dropdown-menu/wc/index.ts +12 -0
- package/templates/field/field-description.tsx +39 -0
- package/templates/field/field-error.tsx +37 -0
- package/templates/field/field.tsx +46 -0
- package/templates/field/index.ts +4 -0
- package/templates/field/label.tsx +40 -0
- package/templates/field/wc/field-description.ts +42 -0
- package/templates/field/wc/field-error.ts +46 -0
- package/templates/field/wc/field.ts +210 -0
- package/templates/field/wc/label.ts +54 -0
- package/templates/file-upload/file-upload-context.ts +26 -0
- package/templates/file-upload/file-upload-dropzone.tsx +111 -0
- package/templates/file-upload/file-upload-input.tsx +86 -0
- package/templates/file-upload/file-upload-item.tsx +105 -0
- package/templates/file-upload/file-upload-root.tsx +115 -0
- package/templates/file-upload/index.ts +50 -0
- package/templates/file-upload/wc/file-upload.ts +380 -0
- package/templates/file-upload/wc/index.ts +1 -0
- package/templates/hover-card/index.tsx +203 -0
- package/templates/hover-card/wc/hover-card-content.ts +50 -0
- package/templates/hover-card/wc/hover-card.ts +382 -0
- package/templates/hover-card/wc/index.ts +6 -0
- package/templates/icon/icon.tsx +76 -0
- package/templates/icon/wc/icon-adapter.ts +108 -0
- package/templates/icon/wc/icon.ts +161 -0
- package/templates/input/input.tsx +130 -0
- package/templates/input/wc/input.ts +216 -0
- package/templates/layout/app-shell.tsx +177 -0
- package/templates/layout/box.tsx +53 -0
- package/templates/layout/center.tsx +42 -0
- package/templates/layout/container.tsx +43 -0
- package/templates/layout/flow.tsx +83 -0
- package/templates/layout/grid.tsx +79 -0
- package/templates/layout/index.ts +33 -0
- package/templates/layout/inline.tsx +16 -0
- package/templates/layout/page.tsx +43 -0
- package/templates/layout/section.tsx +39 -0
- package/templates/layout/spacer.tsx +30 -0
- package/templates/layout/split.tsx +47 -0
- package/templates/layout/stack.tsx +16 -0
- package/templates/layout/wc/app-shell.ts +58 -0
- package/templates/layout/wc/box.ts +117 -0
- package/templates/layout/wc/center.ts +78 -0
- package/templates/layout/wc/container.ts +77 -0
- package/templates/layout/wc/flow.ts +149 -0
- package/templates/layout/wc/footer.ts +57 -0
- package/templates/layout/wc/grid.ts +142 -0
- package/templates/layout/wc/header.ts +57 -0
- package/templates/layout/wc/index.ts +41 -0
- package/templates/layout/wc/main.ts +46 -0
- package/templates/layout/wc/page.ts +81 -0
- package/templates/layout/wc/section.ts +65 -0
- package/templates/layout/wc/spacer.ts +77 -0
- package/templates/layout/wc/split.ts +94 -0
- package/templates/layout/wc/wrap.ts +93 -0
- package/templates/layout/wrap.tsx +46 -0
- package/templates/link/link.tsx +109 -0
- package/templates/link/wc/link.ts +124 -0
- package/templates/list/index.tsx +55 -0
- package/templates/list/list-item.tsx +117 -0
- package/templates/list/list.tsx +115 -0
- package/templates/list/wc/index.ts +5 -0
- package/templates/list/wc/list-item.ts +127 -0
- package/templates/list/wc/list.ts +114 -0
- package/templates/menu/index.ts +49 -0
- package/templates/menu/menu-content.tsx +109 -0
- package/templates/menu/menu-context.ts +17 -0
- package/templates/menu/menu-item.tsx +108 -0
- package/templates/menu/menu-label.tsx +32 -0
- package/templates/menu/menu-root.tsx +108 -0
- package/templates/menu/menu-separator.tsx +24 -0
- package/templates/menu/menu-trigger.tsx +104 -0
- package/templates/menu/wc/menu-content.ts +67 -0
- package/templates/menu/wc/menu-item.ts +109 -0
- package/templates/menu/wc/menu.ts +449 -0
- package/templates/navigation-menu/index.tsx +328 -0
- package/templates/navigation-menu/wc/index.ts +12 -0
- package/templates/navigation-menu/wc/navigation-menu-content.ts +30 -0
- package/templates/navigation-menu/wc/navigation-menu-indicator.ts +30 -0
- package/templates/navigation-menu/wc/navigation-menu-item.ts +60 -0
- package/templates/navigation-menu/wc/navigation-menu-link.ts +97 -0
- package/templates/navigation-menu/wc/navigation-menu-list.ts +30 -0
- package/templates/navigation-menu/wc/navigation-menu-trigger.ts +110 -0
- package/templates/navigation-menu/wc/navigation-menu-viewport.ts +85 -0
- package/templates/navigation-menu/wc/navigation-menu.ts +272 -0
- package/templates/number-input/index.ts +46 -0
- package/templates/number-input/number-input-context.ts +38 -0
- package/templates/number-input/number-input-decrement.tsx +53 -0
- package/templates/number-input/number-input-field.tsx +93 -0
- package/templates/number-input/number-input-increment.tsx +53 -0
- package/templates/number-input/number-input-root.tsx +137 -0
- package/templates/number-input/wc/index.ts +1 -0
- package/templates/number-input/wc/number-input.ts +283 -0
- package/templates/pagination/index.tsx +198 -0
- package/templates/pagination/wc/index.ts +11 -0
- package/templates/pagination/wc/pagination-content.ts +30 -0
- package/templates/pagination/wc/pagination-ellipsis.ts +28 -0
- package/templates/pagination/wc/pagination-item.ts +30 -0
- package/templates/pagination/wc/pagination-link.ts +76 -0
- package/templates/pagination/wc/pagination-next.ts +69 -0
- package/templates/pagination/wc/pagination-previous.ts +69 -0
- package/templates/pagination/wc/pagination.ts +156 -0
- package/templates/pin-input/index.ts +39 -0
- package/templates/pin-input/pin-input-context.ts +30 -0
- package/templates/pin-input/pin-input-field.tsx +186 -0
- package/templates/pin-input/pin-input-root.tsx +120 -0
- package/templates/pin-input/wc/index.ts +1 -0
- package/templates/pin-input/wc/pin-input.ts +259 -0
- package/templates/popover/popover.tsx +121 -0
- package/templates/popover/wc/popover-content.ts +66 -0
- package/templates/popover/wc/popover.ts +343 -0
- package/templates/progress/index.tsx +117 -0
- package/templates/progress/wc/index.ts +4 -0
- package/templates/progress/wc/progress.ts +174 -0
- package/templates/radio/radio.tsx +43 -0
- package/templates/radio/wc/radio-group.ts +261 -0
- package/templates/radio/wc/radio.ts +145 -0
- package/templates/scroll-area/index.tsx +144 -0
- package/templates/scroll-area/wc/index.ts +8 -0
- package/templates/scroll-area/wc/scroll-area-scrollbar.ts +143 -0
- package/templates/scroll-area/wc/scroll-area-thumb.ts +225 -0
- package/templates/scroll-area/wc/scroll-area-viewport.ts +120 -0
- package/templates/scroll-area/wc/scroll-area.ts +63 -0
- package/templates/select/index.ts +57 -0
- package/templates/select/select-content.tsx +243 -0
- package/templates/select/select-context.ts +30 -0
- package/templates/select/select-group.tsx +53 -0
- package/templates/select/select-label.tsx +34 -0
- package/templates/select/select-option.tsx +97 -0
- package/templates/select/select-root.tsx +153 -0
- package/templates/select/select-separator.tsx +27 -0
- package/templates/select/select-trigger.tsx +112 -0
- package/templates/select/select-value.tsx +48 -0
- package/templates/select/wc/index.ts +6 -0
- package/templates/select/wc/select-content.ts +89 -0
- package/templates/select/wc/select-group.ts +82 -0
- package/templates/select/wc/select-label.ts +49 -0
- package/templates/select/wc/select-option.ts +111 -0
- package/templates/select/wc/select-trigger.ts +101 -0
- package/templates/select/wc/select.ts +840 -0
- package/templates/separator/index.tsx +49 -0
- package/templates/separator/wc/index.ts +5 -0
- package/templates/separator/wc/separator.ts +60 -0
- package/templates/sheet/index.tsx +291 -0
- package/templates/sheet/wc/index.ts +12 -0
- package/templates/sheet/wc/sheet-close.ts +43 -0
- package/templates/sheet/wc/sheet-content.ts +47 -0
- package/templates/sheet/wc/sheet-description.ts +34 -0
- package/templates/sheet/wc/sheet-footer.ts +25 -0
- package/templates/sheet/wc/sheet-header.ts +25 -0
- package/templates/sheet/wc/sheet-overlay.ts +23 -0
- package/templates/sheet/wc/sheet-title.ts +34 -0
- package/templates/sheet/wc/sheet.ts +336 -0
- package/templates/skeleton/index.tsx +131 -0
- package/templates/skeleton/wc/index.ts +10 -0
- package/templates/skeleton/wc/skeleton.ts +107 -0
- package/templates/slider/index.ts +41 -0
- package/templates/slider/slider-context.ts +36 -0
- package/templates/slider/slider-range.tsx +59 -0
- package/templates/slider/slider-root.tsx +166 -0
- package/templates/slider/slider-thumb.tsx +213 -0
- package/templates/slider/slider-track.tsx +113 -0
- package/templates/slider/wc/index.ts +1 -0
- package/templates/slider/wc/slider.ts +465 -0
- package/templates/spinner/spinner.tsx +64 -0
- package/templates/spinner/wc/spinner.ts +70 -0
- package/templates/stepper/index.tsx +230 -0
- package/templates/stepper/wc/index.ts +12 -0
- package/templates/stepper/wc/stepper-content.ts +30 -0
- package/templates/stepper/wc/stepper-description.ts +25 -0
- package/templates/stepper/wc/stepper-indicator.ts +30 -0
- package/templates/stepper/wc/stepper-item.ts +55 -0
- package/templates/stepper/wc/stepper-separator.ts +29 -0
- package/templates/stepper/wc/stepper-title.ts +25 -0
- package/templates/stepper/wc/stepper-trigger.ts +67 -0
- package/templates/stepper/wc/stepper.ts +164 -0
- package/templates/switch/switch.tsx +90 -0
- package/templates/switch/wc/switch.ts +228 -0
- package/templates/table/body.tsx +21 -0
- package/templates/table/cell.tsx +44 -0
- package/templates/table/head.tsx +112 -0
- package/templates/table/header.tsx +21 -0
- package/templates/table/index.tsx +93 -0
- package/templates/table/root.tsx +82 -0
- package/templates/table/row.tsx +36 -0
- package/templates/table/wc/index.ts +9 -0
- package/templates/table/wc/table-body.ts +32 -0
- package/templates/table/wc/table-cell.ts +58 -0
- package/templates/table/wc/table-head.ts +129 -0
- package/templates/table/wc/table-header.ts +32 -0
- package/templates/table/wc/table-row.ts +50 -0
- package/templates/table/wc/table.ts +93 -0
- package/templates/tabs/index.tsx +222 -0
- package/templates/tabs/wc/index.ts +8 -0
- package/templates/tabs/wc/tabs-content.ts +82 -0
- package/templates/tabs/wc/tabs-list.ts +56 -0
- package/templates/tabs/wc/tabs-trigger.ts +136 -0
- package/templates/tabs/wc/tabs.ts +202 -0
- package/templates/tag/index.tsx +186 -0
- package/templates/tag/wc/index.ts +4 -0
- package/templates/tag/wc/tag.ts +166 -0
- package/templates/text/text.tsx +100 -0
- package/templates/text/wc/text.ts +94 -0
- package/templates/textarea/textarea.tsx +134 -0
- package/templates/textarea/wc/textarea.ts +280 -0
- package/templates/time-picker/index.ts +42 -0
- package/templates/time-picker/time-picker-context.ts +28 -0
- package/templates/time-picker/time-picker-root.tsx +113 -0
- package/templates/time-picker/time-picker-segment.tsx +91 -0
- package/templates/time-picker/wc/index.ts +1 -0
- package/templates/time-picker/wc/time-picker.ts +221 -0
- package/templates/toast/index.tsx +71 -0
- package/templates/toast/provider.tsx +228 -0
- package/templates/toast/toast.tsx +142 -0
- package/templates/toast/use-toast.ts +89 -0
- package/templates/toast/wc/index.ts +15 -0
- package/templates/toast/wc/toast-controller.ts +282 -0
- package/templates/toast/wc/toast-provider.ts +161 -0
- package/templates/toast/wc/toast.ts +165 -0
- package/templates/tooltip/tooltip.tsx +62 -0
- package/templates/tooltip/wc/tooltip-content.ts +64 -0
- package/templates/tooltip/wc/tooltip.ts +289 -0
- package/templates/tree/index.tsx +60 -0
- package/templates/tree/tree-item.tsx +131 -0
- package/templates/tree/tree.tsx +138 -0
- package/templates/tree/wc/index.ts +11 -0
- package/templates/tree/wc/tree-item.ts +273 -0
- package/templates/tree/wc/tree-utils.ts +143 -0
- package/templates/tree/wc/tree.ts +139 -0
- package/templates/visually-hidden/visually-hidden.tsx +45 -0
- package/templates/visually-hidden/wc/visually-hidden.ts +64 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 hypoth-org
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,153 +1,57 @@
|
|
|
1
1
|
# @hypoth-ui/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+

|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npx @hypoth-ui/cli init
|
|
9
|
-
```
|
|
5
|
+
CLI tool for scaffolding and managing hypoth-ui components in your project. Initialize configuration, browse available components, and add them with a single command.
|
|
10
6
|
|
|
11
|
-
|
|
7
|
+
## Installation
|
|
12
8
|
|
|
13
9
|
```bash
|
|
14
10
|
npm install -g @hypoth-ui/cli
|
|
15
11
|
```
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
1. Initialize hypoth-ui in your project:
|
|
13
|
+
Or use directly with `npx`:
|
|
20
14
|
|
|
21
15
|
```bash
|
|
22
16
|
npx @hypoth-ui/cli init
|
|
23
17
|
```
|
|
24
18
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npx @hypoth-ui/cli add button
|
|
29
|
-
npx @hypoth-ui/cli add dialog menu
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
3. List available components:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
npx @hypoth-ui/cli list
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Commands
|
|
39
|
-
|
|
40
|
-
### `init`
|
|
41
|
-
|
|
42
|
-
Initialize hypoth-ui in your project. Creates `ds.config.json` and installs core dependencies.
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
npx @hypoth-ui/cli init [options]
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
Options:
|
|
49
|
-
- `-s, --style <style>` - Installation style: `copy` (source files) or `package` (npm packages)
|
|
50
|
-
- `-f, --framework <framework>` - Framework: `react`, `next`, `wc`, or `vanilla`
|
|
51
|
-
- `-y, --yes` - Skip prompts and use defaults
|
|
52
|
-
|
|
53
|
-
### `add`
|
|
54
|
-
|
|
55
|
-
Add components to your project.
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
npx @hypoth-ui/cli add <components...> [options]
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Options:
|
|
62
|
-
- `-o, --overwrite` - Overwrite existing components
|
|
63
|
-
- `-a, --all` - Add all available components
|
|
64
|
-
|
|
65
|
-
Examples:
|
|
66
|
-
```bash
|
|
67
|
-
npx @hypoth-ui/cli add button # Add single component
|
|
68
|
-
npx @hypoth-ui/cli add button dialog # Add multiple components
|
|
69
|
-
npx @hypoth-ui/cli add --all # Add all components
|
|
70
|
-
npx @hypoth-ui/cli add button -o # Overwrite existing
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### `list`
|
|
19
|
+
## Usage
|
|
74
20
|
|
|
75
|
-
|
|
21
|
+
### Initialize a Project
|
|
76
22
|
|
|
77
23
|
```bash
|
|
78
|
-
npx @hypoth-ui/cli
|
|
24
|
+
npx @hypoth-ui/cli init
|
|
79
25
|
```
|
|
80
26
|
|
|
81
|
-
|
|
82
|
-
- `-j, --json` - Output as JSON
|
|
83
|
-
|
|
84
|
-
### `diff`
|
|
27
|
+
Creates a `ds.config.json` with your project settings (framework, package manager, paths).
|
|
85
28
|
|
|
86
|
-
|
|
29
|
+
### Add Components
|
|
87
30
|
|
|
88
31
|
```bash
|
|
89
|
-
npx @hypoth-ui/cli
|
|
32
|
+
npx @hypoth-ui/cli add button dialog
|
|
90
33
|
```
|
|
91
34
|
|
|
92
|
-
|
|
93
|
-
- `-j, --json` - Output as JSON
|
|
94
|
-
|
|
95
|
-
## Installation Modes
|
|
35
|
+
Installs the component packages and any required dependencies.
|
|
96
36
|
|
|
97
|
-
###
|
|
98
|
-
|
|
99
|
-
Components are installed as npm packages. Easier to update, tree-shakeable.
|
|
37
|
+
### Copy Component Source
|
|
100
38
|
|
|
101
39
|
```bash
|
|
102
|
-
npx @hypoth-ui/cli
|
|
40
|
+
npx @hypoth-ui/cli add button --copy
|
|
103
41
|
```
|
|
104
42
|
|
|
105
|
-
|
|
43
|
+
Copies the component source files into your project instead of installing a package.
|
|
106
44
|
|
|
107
|
-
|
|
45
|
+
### List Available Components
|
|
108
46
|
|
|
109
47
|
```bash
|
|
110
|
-
npx @hypoth-ui/cli
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
## Configuration
|
|
114
|
-
|
|
115
|
-
Configuration is stored in `ds.config.json`:
|
|
116
|
-
|
|
117
|
-
```json
|
|
118
|
-
{
|
|
119
|
-
"$schema": "https://hypoth-ui.dev/schema/ds.config.json",
|
|
120
|
-
"style": "package",
|
|
121
|
-
"framework": "next",
|
|
122
|
-
"typescript": true,
|
|
123
|
-
"packageManager": "pnpm",
|
|
124
|
-
"paths": {
|
|
125
|
-
"components": "src/components/ui",
|
|
126
|
-
"utils": "src/lib"
|
|
127
|
-
},
|
|
128
|
-
"aliases": {
|
|
129
|
-
"components": "@/components/ui",
|
|
130
|
-
"lib": "@/lib"
|
|
131
|
-
},
|
|
132
|
-
"components": []
|
|
133
|
-
}
|
|
48
|
+
npx @hypoth-ui/cli list
|
|
49
|
+
npx @hypoth-ui/cli list --installed
|
|
134
50
|
```
|
|
135
51
|
|
|
136
|
-
##
|
|
137
|
-
|
|
138
|
-
- **React** - Standard React applications
|
|
139
|
-
- **Next.js** - Next.js App Router projects
|
|
140
|
-
- **Web Components** - Lit-based Web Components
|
|
141
|
-
- **Vanilla** - Vanilla JS using Web Components
|
|
142
|
-
|
|
143
|
-
## Supported Package Managers
|
|
144
|
-
|
|
145
|
-
- npm
|
|
146
|
-
- pnpm
|
|
147
|
-
- yarn
|
|
148
|
-
- bun
|
|
52
|
+
## Documentation
|
|
149
53
|
|
|
150
|
-
|
|
54
|
+
See the [main README](../../README.md) for full documentation and architecture overview.
|
|
151
55
|
|
|
152
56
|
## License
|
|
153
57
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
installPackages
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-27CLUUVC.js";
|
|
4
4
|
import {
|
|
5
5
|
getComponent,
|
|
6
6
|
getComponentNames,
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
isComponentCompatible,
|
|
9
9
|
loadBundledRegistry,
|
|
10
10
|
resolveDependencies
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PBK72SJJ.js";
|
|
12
12
|
import {
|
|
13
13
|
addInstalledComponent,
|
|
14
14
|
isComponentInstalled,
|
|
15
15
|
readConfig,
|
|
16
16
|
writeConfig
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NWIRSZUQ.js";
|
|
18
18
|
|
|
19
19
|
// src/commands/add.ts
|
|
20
20
|
import * as p from "@clack/prompts";
|
|
@@ -96,14 +96,8 @@ function transformImports(content, config, fileType) {
|
|
|
96
96
|
return content;
|
|
97
97
|
}
|
|
98
98
|
let result = content;
|
|
99
|
-
result = result.replace(
|
|
100
|
-
|
|
101
|
-
`${config.aliases.components}/`
|
|
102
|
-
);
|
|
103
|
-
result = result.replace(
|
|
104
|
-
/@\/lib\//g,
|
|
105
|
-
`${config.aliases.lib}/`
|
|
106
|
-
);
|
|
99
|
+
result = result.replace(/@\/components\//g, `${config.aliases.components}/`);
|
|
100
|
+
result = result.replace(/@\/lib\//g, `${config.aliases.lib}/`);
|
|
107
101
|
return result;
|
|
108
102
|
}
|
|
109
103
|
function ensureComponentsDir(config, cwd = process.cwd()) {
|
|
@@ -114,7 +108,7 @@ function ensureComponentsDir(config, cwd = process.cwd()) {
|
|
|
114
108
|
}
|
|
115
109
|
|
|
116
110
|
// src/commands/add.ts
|
|
117
|
-
async function addCommand(
|
|
111
|
+
async function addCommand(componentArgs, options = {}) {
|
|
118
112
|
p.intro(pc.bgCyan(pc.black(" hypoth-ui add ")));
|
|
119
113
|
const cwd = process.cwd();
|
|
120
114
|
let config;
|
|
@@ -125,8 +119,8 @@ async function addCommand(components, options = {}) {
|
|
|
125
119
|
process.exit(1);
|
|
126
120
|
}
|
|
127
121
|
const registry = loadBundledRegistry();
|
|
122
|
+
const components = options.all ? getComponentNames(registry) : componentArgs;
|
|
128
123
|
if (options.all) {
|
|
129
|
-
components = getComponentNames(registry);
|
|
130
124
|
p.log.info(`Installing all ${components.length} components`);
|
|
131
125
|
}
|
|
132
126
|
if (components.length === 0) {
|
|
@@ -186,14 +180,28 @@ async function addCommand(components, options = {}) {
|
|
|
186
180
|
spinner3.start(`Installing npm dependencies: ${npmDeps.join(", ")}`);
|
|
187
181
|
try {
|
|
188
182
|
await installPackages(npmDeps, config.packageManager, { cwd });
|
|
189
|
-
spinner3.stop(
|
|
183
|
+
spinner3.stop("Installed npm dependencies");
|
|
190
184
|
} catch (error) {
|
|
191
185
|
spinner3.stop(pc.red(`Failed to install npm dependencies: ${error.message}`));
|
|
192
186
|
process.exit(1);
|
|
193
187
|
}
|
|
194
188
|
}
|
|
189
|
+
const useCopyMode = options.copy || config.style === "copy";
|
|
195
190
|
const spinner2 = p.spinner();
|
|
196
|
-
if (
|
|
191
|
+
if (useCopyMode) {
|
|
192
|
+
const noTemplates = finalComponents.filter((c) => c.files.length === 0);
|
|
193
|
+
if (noTemplates.length > 0) {
|
|
194
|
+
const withTemplates = finalComponents.filter((c) => c.files.length > 0);
|
|
195
|
+
p.log.error(
|
|
196
|
+
`No template files available for: ${noTemplates.map((c) => pc.yellow(c.name)).join(", ")}`
|
|
197
|
+
);
|
|
198
|
+
p.log.info(
|
|
199
|
+
`Copy mode supports: ${withTemplates.length > 0 ? withTemplates.map((c) => c.name).join(", ") : "run 'pnpm sync:templates' to generate templates"}`
|
|
200
|
+
);
|
|
201
|
+
if (withTemplates.length === 0) {
|
|
202
|
+
process.exit(1);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
197
205
|
ensureComponentsDir(config, cwd);
|
|
198
206
|
for (const component of finalComponents) {
|
|
199
207
|
spinner2.start(`Copying ${component.name}...`);
|
|
@@ -203,7 +211,11 @@ async function addCommand(components, options = {}) {
|
|
|
203
211
|
overwrite: options.overwrite
|
|
204
212
|
});
|
|
205
213
|
if (result.errors.length > 0) {
|
|
206
|
-
spinner2.stop(
|
|
214
|
+
spinner2.stop(
|
|
215
|
+
pc.red(
|
|
216
|
+
`Failed to copy ${component.name}: ${result.errors[0]?.error ?? "Unknown error"}`
|
|
217
|
+
)
|
|
218
|
+
);
|
|
207
219
|
continue;
|
|
208
220
|
}
|
|
209
221
|
config = addInstalledComponent(config, {
|
|
@@ -228,7 +240,7 @@ async function addCommand(components, options = {}) {
|
|
|
228
240
|
writeConfig(config, cwd);
|
|
229
241
|
const installed = finalComponents.map((c) => c.name);
|
|
230
242
|
p.outro(pc.green(`Added ${installed.length} component(s): ${installed.join(", ")}`));
|
|
231
|
-
if (
|
|
243
|
+
if (useCopyMode) {
|
|
232
244
|
console.log("");
|
|
233
245
|
console.log(`Components copied to: ${pc.dim(config.paths.components)}`);
|
|
234
246
|
}
|
|
@@ -30,7 +30,6 @@ function getInstallSubcommand(pm) {
|
|
|
30
30
|
case "pnpm":
|
|
31
31
|
case "bun":
|
|
32
32
|
return "add";
|
|
33
|
-
case "npm":
|
|
34
33
|
default:
|
|
35
34
|
return "install";
|
|
36
35
|
}
|
|
@@ -41,7 +40,6 @@ function getDevFlag(pm) {
|
|
|
41
40
|
case "pnpm":
|
|
42
41
|
case "bun":
|
|
43
42
|
return "-D";
|
|
44
|
-
case "npm":
|
|
45
43
|
default:
|
|
46
44
|
return "--save-dev";
|
|
47
45
|
}
|
|
@@ -12,9 +12,7 @@ function getConfigPath(cwd = process.cwd()) {
|
|
|
12
12
|
function readConfig(cwd = process.cwd()) {
|
|
13
13
|
const configPath = getConfigPath(cwd);
|
|
14
14
|
if (!existsSync(configPath)) {
|
|
15
|
-
throw new Error(
|
|
16
|
-
`Configuration file not found. Run 'hypoth-ui init' first.`
|
|
17
|
-
);
|
|
15
|
+
throw new Error(`Configuration file not found. Run 'hypoth-ui init' first.`);
|
|
18
16
|
}
|
|
19
17
|
try {
|
|
20
18
|
const content = readFileSync(configPath, "utf-8");
|
|
@@ -30,7 +28,8 @@ function readConfig(cwd = process.cwd()) {
|
|
|
30
28
|
function writeConfig(config, cwd = process.cwd()) {
|
|
31
29
|
const configPath = getConfigPath(cwd);
|
|
32
30
|
const content = JSON.stringify(config, null, 2);
|
|
33
|
-
writeFileSync(configPath, content
|
|
31
|
+
writeFileSync(configPath, `${content}
|
|
32
|
+
`, "utf-8");
|
|
34
33
|
}
|
|
35
34
|
function createConfig(options) {
|
|
36
35
|
const config = {
|
|
@@ -60,9 +59,7 @@ function validateConfig(config) {
|
|
|
60
59
|
throw new Error('Invalid configuration: style must be "copy" or "package"');
|
|
61
60
|
}
|
|
62
61
|
if (!["react", "next", "wc", "vanilla"].includes(cfg.framework)) {
|
|
63
|
-
throw new Error(
|
|
64
|
-
'Invalid configuration: framework must be "react", "next", "wc", or "vanilla"'
|
|
65
|
-
);
|
|
62
|
+
throw new Error('Invalid configuration: framework must be "react", "next", "wc", or "vanilla"');
|
|
66
63
|
}
|
|
67
64
|
if (typeof cfg.typescript !== "boolean") {
|
|
68
65
|
throw new Error("Invalid configuration: typescript must be a boolean");
|
|
@@ -77,18 +74,14 @@ function validateConfig(config) {
|
|
|
77
74
|
}
|
|
78
75
|
const paths = cfg.paths;
|
|
79
76
|
if (typeof paths.components !== "string" || typeof paths.utils !== "string") {
|
|
80
|
-
throw new Error(
|
|
81
|
-
"Invalid configuration: paths.components and paths.utils must be strings"
|
|
82
|
-
);
|
|
77
|
+
throw new Error("Invalid configuration: paths.components and paths.utils must be strings");
|
|
83
78
|
}
|
|
84
79
|
if (!cfg.aliases || typeof cfg.aliases !== "object") {
|
|
85
80
|
throw new Error("Invalid configuration: aliases must be an object");
|
|
86
81
|
}
|
|
87
82
|
const aliases = cfg.aliases;
|
|
88
83
|
if (typeof aliases.components !== "string" || typeof aliases.lib !== "string") {
|
|
89
|
-
throw new Error(
|
|
90
|
-
"Invalid configuration: aliases.components and aliases.lib must be strings"
|
|
91
|
-
);
|
|
84
|
+
throw new Error("Invalid configuration: aliases.components and aliases.lib must be strings");
|
|
92
85
|
}
|
|
93
86
|
if (!Array.isArray(cfg.components)) {
|
|
94
87
|
throw new Error("Invalid configuration: components must be an array");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/utils/registry.ts
|
|
2
2
|
import { readFileSync } from "fs";
|
|
3
|
-
import {
|
|
3
|
+
import { dirname, join } from "path";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
5
|
var __dirname = dirname(fileURLToPath(import.meta.url));
|
|
6
6
|
var BUNDLED_REGISTRY_PATH = join(__dirname, "../registry/components.json");
|
package/dist/index.js
CHANGED
|
@@ -6,19 +6,19 @@ var VERSION = "0.0.1";
|
|
|
6
6
|
var program = new Command();
|
|
7
7
|
program.name("hypoth-ui").description("CLI for installing hypoth-ui components").version(VERSION);
|
|
8
8
|
program.command("init").description("Initialize hypoth-ui in your project").option("-s, --style <style>", "Installation style (copy or package)").option("-f, --framework <framework>", "Framework (react, next, wc, vanilla)").option("-y, --yes", "Skip prompts and use defaults").action(async (options) => {
|
|
9
|
-
const { initCommand } = await import("./init-
|
|
9
|
+
const { initCommand } = await import("./init-GDU2PW7K.js");
|
|
10
10
|
await initCommand(options);
|
|
11
11
|
});
|
|
12
|
-
program.command("add").description("Add components to your project").argument("[components...]", "Component names to add").option("-o, --overwrite", "Overwrite existing components").option("-a, --all", "Add all available components").action(async (components, options) => {
|
|
13
|
-
const { addCommand } = await import("./add-
|
|
12
|
+
program.command("add").description("Add components to your project").argument("[components...]", "Component names to add").option("-c, --copy", "Copy component source files instead of installing package").option("-o, --overwrite", "Overwrite existing components").option("-a, --all", "Add all available components").action(async (components, options) => {
|
|
13
|
+
const { addCommand } = await import("./add-V5PW73GC.js");
|
|
14
14
|
await addCommand(components, options);
|
|
15
15
|
});
|
|
16
16
|
program.command("list").description("List available components").option("-j, --json", "Output as JSON").action(async (options) => {
|
|
17
|
-
const { listCommand } = await import("./list-
|
|
17
|
+
const { listCommand } = await import("./list-XDP5I537.js");
|
|
18
18
|
await listCommand(options);
|
|
19
19
|
});
|
|
20
20
|
program.command("diff").description("Check for component updates").option("-j, --json", "Output as JSON").action(async (options) => {
|
|
21
|
-
const { diffCommand } = await import("./diff-
|
|
21
|
+
const { diffCommand } = await import("./diff-776UATCA.js");
|
|
22
22
|
await diffCommand(options);
|
|
23
23
|
});
|
|
24
24
|
program.parse();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
installPackages
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-27CLUUVC.js";
|
|
4
4
|
import {
|
|
5
5
|
configExists,
|
|
6
6
|
createConfig,
|
|
7
7
|
readConfig,
|
|
8
8
|
writeConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-NWIRSZUQ.js";
|
|
10
10
|
|
|
11
11
|
// src/commands/init.ts
|
|
12
12
|
import * as p from "@clack/prompts";
|
|
@@ -53,11 +53,7 @@ function detectPackageManager(cwd, signals) {
|
|
|
53
53
|
return "npm";
|
|
54
54
|
}
|
|
55
55
|
function detectTypeScript(cwd, signals) {
|
|
56
|
-
const tsconfigPaths = [
|
|
57
|
-
"tsconfig.json",
|
|
58
|
-
"tsconfig.base.json",
|
|
59
|
-
"jsconfig.json"
|
|
60
|
-
];
|
|
56
|
+
const tsconfigPaths = ["tsconfig.json", "tsconfig.base.json", "jsconfig.json"];
|
|
61
57
|
for (const configPath of tsconfigPaths) {
|
|
62
58
|
const fullPath = join(cwd, configPath);
|
|
63
59
|
if (existsSync(fullPath)) {
|
|
@@ -136,7 +132,9 @@ async function initCommand(options = {}) {
|
|
|
136
132
|
p.intro(pc.bgCyan(pc.black(" hypoth-ui init ")));
|
|
137
133
|
const cwd = process.cwd();
|
|
138
134
|
if (!isValidProject(cwd)) {
|
|
139
|
-
p.cancel(
|
|
135
|
+
p.cancel(
|
|
136
|
+
pc.red("No package.json found. Please run this command in a valid project directory.")
|
|
137
|
+
);
|
|
140
138
|
process.exit(1);
|
|
141
139
|
}
|
|
142
140
|
if (configExists(cwd)) {
|
|
@@ -174,9 +172,7 @@ async function handleExistingConfig(cwd, options) {
|
|
|
174
172
|
}
|
|
175
173
|
const existingConfig = readConfig(cwd);
|
|
176
174
|
const componentsCount = existingConfig.components.length;
|
|
177
|
-
p.log.warn(
|
|
178
|
-
`Found existing ds.config.json with ${componentsCount} installed component(s)`
|
|
179
|
-
);
|
|
175
|
+
p.log.warn(`Found existing ds.config.json with ${componentsCount} installed component(s)`);
|
|
180
176
|
const action = await p.select({
|
|
181
177
|
message: "What would you like to do?",
|
|
182
178
|
options: [
|
|
@@ -317,7 +313,9 @@ function displayNextSteps(config) {
|
|
|
317
313
|
console.log(` ${pc.dim("npx @hypoth-ui/cli list")}`);
|
|
318
314
|
console.log("");
|
|
319
315
|
if (config.style === "copy") {
|
|
320
|
-
console.log(
|
|
316
|
+
console.log(
|
|
317
|
+
` ${pc.cyan("3.")} Components will be copied to: ${pc.dim(config.paths.components)}`
|
|
318
|
+
);
|
|
321
319
|
console.log("");
|
|
322
320
|
}
|
|
323
321
|
}
|
|
@@ -330,7 +328,6 @@ function getInstallCommandForDisplay(pm, packages) {
|
|
|
330
328
|
return `yarn add ${pkgList}`;
|
|
331
329
|
case "bun":
|
|
332
330
|
return `bun add ${pkgList}`;
|
|
333
|
-
case "npm":
|
|
334
331
|
default:
|
|
335
332
|
return `npm install ${pkgList}`;
|
|
336
333
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getComponentsForFramework,
|
|
3
3
|
loadBundledRegistry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PBK72SJJ.js";
|
|
5
5
|
import {
|
|
6
6
|
configExists,
|
|
7
7
|
readConfig
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NWIRSZUQ.js";
|
|
9
9
|
|
|
10
10
|
// src/commands/list.ts
|
|
11
11
|
import pc from "picocolors";
|
|
@@ -56,7 +56,7 @@ async function listCommand(options = {}) {
|
|
|
56
56
|
const name = (installedMark + component.name).padEnd(nameWidth + 2).slice(0, nameWidth + 2);
|
|
57
57
|
const status = formatStatus(component.status).padEnd(statusWidth);
|
|
58
58
|
const version = component.version.padEnd(versionWidth);
|
|
59
|
-
const desc = component.description.length > descWidth ? component.description.slice(0, descWidth - 3)
|
|
59
|
+
const desc = component.description.length > descWidth ? `${component.description.slice(0, descWidth - 3)}...` : component.description;
|
|
60
60
|
console.log(`${name}${status}${version}${pc.dim(desc)}`);
|
|
61
61
|
}
|
|
62
62
|
console.log("");
|
package/package.json
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hypoth-ui/cli",
|
|
3
|
-
"version": "0.0
|
|
4
|
-
"description": "CLI tool for adding hypoth-ui components to your project",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "CLI tool for adding hypoth-ui components to your project (Alpha)",
|
|
5
|
+
"homepage": "https://github.com/hypoth-ui/hypoth-ui#readme",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|
|
7
8
|
"hypoth-ui": "./dist/index.js"
|
|
8
9
|
},
|
|
9
10
|
"files": [
|
|
10
11
|
"dist",
|
|
11
|
-
"registry"
|
|
12
|
+
"registry",
|
|
13
|
+
"templates"
|
|
12
14
|
],
|
|
13
15
|
"exports": {
|
|
14
16
|
".": {
|
|
15
17
|
"import": "./dist/index.js"
|
|
16
18
|
}
|
|
17
19
|
},
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsup",
|
|
20
|
-
"dev": "tsup --watch",
|
|
21
|
-
"typecheck": "tsc --noEmit",
|
|
22
|
-
"test": "vitest run",
|
|
23
|
-
"test:unit": "vitest run tests/unit",
|
|
24
|
-
"test:watch": "vitest"
|
|
25
|
-
},
|
|
26
20
|
"dependencies": {
|
|
27
21
|
"commander": "^12.1.0",
|
|
28
22
|
"@clack/prompts": "^0.7.0",
|
|
@@ -33,6 +27,7 @@
|
|
|
33
27
|
"devDependencies": {
|
|
34
28
|
"@types/node": "^20.10.0",
|
|
35
29
|
"tsup": "^8.0.0",
|
|
30
|
+
"tsx": "^4.7.0",
|
|
36
31
|
"typescript": "^5.3.0",
|
|
37
32
|
"vitest": "^1.0.0"
|
|
38
33
|
},
|
|
@@ -50,5 +45,14 @@
|
|
|
50
45
|
"type": "git",
|
|
51
46
|
"url": "https://github.com/hypoth-ui/hypoth-ui.git",
|
|
52
47
|
"directory": "packages/cli"
|
|
48
|
+
},
|
|
49
|
+
"scripts": {
|
|
50
|
+
"build": "tsup",
|
|
51
|
+
"dev": "tsup --watch",
|
|
52
|
+
"typecheck": "tsc --noEmit",
|
|
53
|
+
"test": "vitest run",
|
|
54
|
+
"test:unit": "vitest run tests/unit",
|
|
55
|
+
"test:watch": "vitest",
|
|
56
|
+
"sync:templates": "tsx scripts/sync-templates.ts"
|
|
53
57
|
}
|
|
54
|
-
}
|
|
58
|
+
}
|