@vuer-ai/vuer-uikit 0.0.97 → 0.0.99

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.
Files changed (210) hide show
  1. package/README.md +106 -7
  2. package/dial-cli/README.md +137 -0
  3. package/{src/cli → dial-cli}/dial-cli.ts +67 -8
  4. package/{cli → dial-cli/dist}/dial-cli.js +55 -8
  5. package/dial-cli/node_modules/.bin/api-extractor +17 -0
  6. package/dial-cli/node_modules/.bin/jiti +17 -0
  7. package/dial-cli/node_modules/.bin/tsc +17 -0
  8. package/dial-cli/node_modules/.bin/tsserver +17 -0
  9. package/dial-cli/node_modules/.bin/tsup +17 -0
  10. package/dial-cli/node_modules/.bin/tsup-node +17 -0
  11. package/dial-cli/node_modules/.bin/tsx +17 -0
  12. package/dial-cli/node_modules/.bin/yaml +17 -0
  13. package/dial-cli/package.json +47 -0
  14. package/dial-cli/tsconfig.json +20 -0
  15. package/dial-cli/tsup.config.ts +18 -0
  16. package/dist/SyncScroll/SyncScroll.cjs +3 -3
  17. package/dist/SyncScroll/SyncScroll.mjs +3 -3
  18. package/dist/SyncScroll/index.cjs +3 -3
  19. package/dist/SyncScroll/index.mjs +3 -3
  20. package/dist/chunk-AIYM5PFP.cjs +66 -0
  21. package/dist/chunk-OWEYAVGT.mjs +62 -0
  22. package/dist/{chunk-6YDZA2RP.cjs → chunk-WIGYDOHM.cjs} +2 -2
  23. package/dist/{chunk-JBHXGZUF.mjs → chunk-XMFU7SDD.mjs} +2 -2
  24. package/dist/dial/DialPanel.cjs +21 -20
  25. package/dist/dial/DialPanel.mjs +20 -19
  26. package/dist/dial/index.cjs +37 -36
  27. package/dist/dial/index.mjs +20 -19
  28. package/dist/dial/wrapped-inputs/ControlledInputs.cjs +24 -23
  29. package/dist/dial/wrapped-inputs/ControlledInputs.mjs +20 -19
  30. package/dist/dial/wrapped-inputs/DialInputs.cjs +31 -30
  31. package/dist/dial/wrapped-inputs/DialInputs.mjs +20 -19
  32. package/dist/dial/wrapped-inputs/DialVectorInput.cjs +21 -20
  33. package/dist/dial/wrapped-inputs/DialVectorInput.mjs +20 -19
  34. package/dist/dial/wrapped-inputs/index.cjs +36 -35
  35. package/dist/dial/wrapped-inputs/index.mjs +20 -19
  36. package/dist/highlight-cursor/enhanced-components.cjs +4 -4
  37. package/dist/highlight-cursor/enhanced-components.mjs +4 -4
  38. package/dist/highlight-cursor/index.cjs +8 -8
  39. package/dist/highlight-cursor/index.mjs +4 -4
  40. package/dist/hooks/index.cjs +12 -12
  41. package/dist/hooks/index.mjs +3 -3
  42. package/dist/hooks/useQueryParams.cjs +3 -3
  43. package/dist/hooks/useQueryParams.mjs +2 -2
  44. package/dist/index.cjs +133 -120
  45. package/dist/index.d.cts +1 -0
  46. package/dist/index.d.ts +1 -0
  47. package/dist/index.mjs +20 -19
  48. package/dist/ui/DialBadge.cjs +28 -0
  49. package/dist/ui/DialBadge.d.cts +33 -0
  50. package/dist/ui/DialBadge.d.ts +33 -0
  51. package/dist/ui/DialBadge.mjs +11 -0
  52. package/dist/ui/UIKitBadge.cjs +8 -8
  53. package/dist/ui/UIKitBadge.mjs +4 -4
  54. package/dist/ui/avatar.cjs +3 -3
  55. package/dist/ui/avatar.mjs +3 -3
  56. package/dist/ui/badge.cjs +3 -3
  57. package/dist/ui/badge.mjs +3 -3
  58. package/dist/ui/button.cjs +3 -3
  59. package/dist/ui/button.mjs +3 -3
  60. package/dist/ui/card.cjs +3 -3
  61. package/dist/ui/card.mjs +3 -3
  62. package/dist/ui/checkbox.cjs +3 -3
  63. package/dist/ui/checkbox.mjs +3 -3
  64. package/dist/ui/collapsible.cjs +3 -3
  65. package/dist/ui/collapsible.mjs +3 -3
  66. package/dist/ui/drawer.cjs +3 -3
  67. package/dist/ui/drawer.mjs +3 -3
  68. package/dist/ui/dropdown.cjs +3 -3
  69. package/dist/ui/dropdown.mjs +3 -3
  70. package/dist/ui/index.cjs +101 -88
  71. package/dist/ui/index.d.cts +1 -0
  72. package/dist/ui/index.d.ts +1 -0
  73. package/dist/ui/index.mjs +18 -17
  74. package/dist/ui/inputs/color-input.cjs +3 -3
  75. package/dist/ui/inputs/color-input.mjs +3 -3
  76. package/dist/ui/inputs/index.cjs +18 -18
  77. package/dist/ui/inputs/index.mjs +6 -6
  78. package/dist/ui/inputs/input-numbers.cjs +3 -3
  79. package/dist/ui/inputs/input-numbers.mjs +3 -3
  80. package/dist/ui/inputs/input.cjs +3 -3
  81. package/dist/ui/inputs/input.mjs +3 -3
  82. package/dist/ui/inputs/number-inputs/CmInput.cjs +3 -3
  83. package/dist/ui/inputs/number-inputs/CmInput.mjs +3 -3
  84. package/dist/ui/inputs/number-inputs/DegInput.cjs +3 -3
  85. package/dist/ui/inputs/number-inputs/DegInput.mjs +3 -3
  86. package/dist/ui/inputs/number-inputs/EulerDegInput.cjs +3 -3
  87. package/dist/ui/inputs/number-inputs/EulerDegInput.mjs +3 -3
  88. package/dist/ui/inputs/number-inputs/EulerInput.cjs +3 -3
  89. package/dist/ui/inputs/number-inputs/EulerInput.mjs +3 -3
  90. package/dist/ui/inputs/number-inputs/EulerRadInput.cjs +3 -3
  91. package/dist/ui/inputs/number-inputs/EulerRadInput.mjs +3 -3
  92. package/dist/ui/inputs/number-inputs/InchInput.cjs +3 -3
  93. package/dist/ui/inputs/number-inputs/InchInput.mjs +3 -3
  94. package/dist/ui/inputs/number-inputs/IntInput.cjs +3 -3
  95. package/dist/ui/inputs/number-inputs/IntInput.mjs +3 -3
  96. package/dist/ui/inputs/number-inputs/KVectorInput.cjs +3 -3
  97. package/dist/ui/inputs/number-inputs/KVectorInput.mjs +3 -3
  98. package/dist/ui/inputs/number-inputs/QuaternionInput.cjs +3 -3
  99. package/dist/ui/inputs/number-inputs/QuaternionInput.mjs +3 -3
  100. package/dist/ui/inputs/number-inputs/RadInput.cjs +3 -3
  101. package/dist/ui/inputs/number-inputs/RadInput.mjs +3 -3
  102. package/dist/ui/inputs/number-inputs/TimeInput.cjs +3 -3
  103. package/dist/ui/inputs/number-inputs/TimeInput.mjs +3 -3
  104. package/dist/ui/inputs/number-inputs/Vec3Input.cjs +3 -3
  105. package/dist/ui/inputs/number-inputs/Vec3Input.mjs +3 -3
  106. package/dist/ui/inputs/number-inputs/VectorInput.cjs +3 -3
  107. package/dist/ui/inputs/number-inputs/VectorInput.mjs +3 -3
  108. package/dist/ui/inputs/number-inputs/index.cjs +13 -13
  109. package/dist/ui/inputs/number-inputs/index.mjs +5 -5
  110. package/dist/ui/inputs/presets-input.cjs +3 -3
  111. package/dist/ui/inputs/presets-input.mjs +3 -3
  112. package/dist/ui/label.cjs +3 -3
  113. package/dist/ui/label.mjs +3 -3
  114. package/dist/ui/layout.cjs +3 -3
  115. package/dist/ui/layout.mjs +3 -3
  116. package/dist/ui/layouts/dock-layout/DockLayoutView.cjs +3 -3
  117. package/dist/ui/layouts/dock-layout/DockLayoutView.mjs +3 -3
  118. package/dist/ui/layouts/dock-layout/LayoutSlots.cjs +3 -3
  119. package/dist/ui/layouts/dock-layout/LayoutSlots.mjs +3 -3
  120. package/dist/ui/layouts/dock-layout/index.cjs +3 -3
  121. package/dist/ui/layouts/dock-layout/index.mjs +3 -3
  122. package/dist/ui/layouts/index.cjs +3 -3
  123. package/dist/ui/layouts/index.mjs +3 -3
  124. package/dist/ui/layouts/liquid-layout/LayoutSlots.cjs +3 -3
  125. package/dist/ui/layouts/liquid-layout/LayoutSlots.mjs +3 -3
  126. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.cjs +3 -3
  127. package/dist/ui/layouts/liquid-layout/LiquidLayoutView.mjs +3 -3
  128. package/dist/ui/layouts/liquid-layout/index.cjs +3 -3
  129. package/dist/ui/layouts/liquid-layout/index.mjs +3 -3
  130. package/dist/ui/modal.cjs +3 -3
  131. package/dist/ui/modal.mjs +3 -3
  132. package/dist/ui/navigation.cjs +3 -3
  133. package/dist/ui/navigation.mjs +3 -3
  134. package/dist/ui/pagination.cjs +3 -3
  135. package/dist/ui/pagination.mjs +3 -3
  136. package/dist/ui/panel.cjs +3 -3
  137. package/dist/ui/panel.mjs +3 -3
  138. package/dist/ui/popover.cjs +3 -3
  139. package/dist/ui/popover.mjs +3 -3
  140. package/dist/ui/radio-group.cjs +3 -3
  141. package/dist/ui/radio-group.mjs +3 -3
  142. package/dist/ui/resizable.cjs +3 -3
  143. package/dist/ui/resizable.mjs +3 -3
  144. package/dist/ui/select.cjs +3 -3
  145. package/dist/ui/select.mjs +3 -3
  146. package/dist/ui/separator.cjs +3 -3
  147. package/dist/ui/separator.mjs +3 -3
  148. package/dist/ui/sheet.cjs +3 -3
  149. package/dist/ui/sheet.mjs +3 -3
  150. package/dist/ui/sidebar.cjs +28 -28
  151. package/dist/ui/sidebar.mjs +4 -4
  152. package/dist/ui/simple-tree-view.cjs +3 -3
  153. package/dist/ui/simple-tree-view.mjs +3 -3
  154. package/dist/ui/skeleton.cjs +3 -3
  155. package/dist/ui/skeleton.mjs +3 -3
  156. package/dist/ui/slider.cjs +3 -3
  157. package/dist/ui/slider.mjs +3 -3
  158. package/dist/ui/switch.cjs +3 -3
  159. package/dist/ui/switch.mjs +3 -3
  160. package/dist/ui/table.cjs +3 -3
  161. package/dist/ui/table.mjs +3 -3
  162. package/dist/ui/tabs.cjs +3 -3
  163. package/dist/ui/tabs.mjs +3 -3
  164. package/dist/ui/textarea.cjs +3 -3
  165. package/dist/ui/textarea.mjs +3 -3
  166. package/dist/ui/theme/ThemeToggles.cjs +3 -3
  167. package/dist/ui/theme/ThemeToggles.mjs +3 -3
  168. package/dist/ui/theme/index.cjs +3 -3
  169. package/dist/ui/theme/index.mjs +3 -3
  170. package/dist/ui/toggle-buttons.cjs +3 -3
  171. package/dist/ui/toggle-buttons.mjs +3 -3
  172. package/dist/ui/toggle-group.cjs +3 -3
  173. package/dist/ui/toggle-group.mjs +3 -3
  174. package/dist/ui/toggle.cjs +3 -3
  175. package/dist/ui/toggle.mjs +3 -3
  176. package/dist/ui/toolbar.cjs +3 -3
  177. package/dist/ui/toolbar.mjs +3 -3
  178. package/dist/ui/tooltip.cjs +3 -3
  179. package/dist/ui/tooltip.mjs +3 -3
  180. package/dist/ui/tree-view/TreeSearchBar.cjs +3 -3
  181. package/dist/ui/tree-view/TreeSearchBar.mjs +3 -3
  182. package/dist/ui/tree-view/TreeView.cjs +3 -3
  183. package/dist/ui/tree-view/TreeView.mjs +3 -3
  184. package/dist/ui/tree-view/index.cjs +3 -3
  185. package/dist/ui/tree-view/index.mjs +3 -3
  186. package/dist/ui/tree-view-legacy.cjs +3 -3
  187. package/dist/ui/tree-view-legacy.mjs +3 -3
  188. package/dist/ui/waterfall/CursorOverlay.cjs +3 -3
  189. package/dist/ui/waterfall/CursorOverlay.mjs +3 -3
  190. package/dist/ui/waterfall/TimelineEvent.cjs +3 -3
  191. package/dist/ui/waterfall/TimelineEvent.mjs +3 -3
  192. package/dist/ui/waterfall/TimelineProcessBar.cjs +3 -3
  193. package/dist/ui/waterfall/TimelineProcessBar.mjs +3 -3
  194. package/dist/ui/waterfall/Wedges.cjs +3 -3
  195. package/dist/ui/waterfall/Wedges.mjs +3 -3
  196. package/dist/ui/waterfall/index.cjs +6 -6
  197. package/dist/ui/waterfall/index.mjs +5 -5
  198. package/package.json +4 -5
  199. package/src/ui/DialBadge.tsx +97 -0
  200. package/src/ui/index.ts +1 -0
  201. package/dist/{chunk-XMUP5MIM.mjs → chunk-G3EIVAVR.mjs} +0 -0
  202. package/dist/{chunk-7IS37C3P.cjs → chunk-K4I4YU6N.cjs} +1 -1
  203. package/dist/{chunk-BIUDC66P.mjs → chunk-K4VD5PPY.mjs} +1 -1
  204. package/dist/{chunk-OX2U5RAG.cjs → chunk-KFPS5CCR.cjs} +0 -0
  205. package/dist/{chunk-2OZK5DY5.mjs → chunk-KXKEZ3MH.mjs} +1 -1
  206. package/dist/{chunk-ZGN4UEJR.cjs → chunk-OEI7NCF6.cjs} +3 -3
  207. package/dist/{chunk-LYZJNEOR.cjs → chunk-Q4XH2Z5M.cjs} +1 -1
  208. package/dist/{chunk-ZQLRMOUW.mjs → chunk-QHPFLC2O.mjs} +3 -3
  209. package/dist/{chunk-OYNLQTHW.cjs → chunk-RKJR6RZU.cjs} +1 -1
  210. package/dist/{chunk-OEIF3JCH.mjs → chunk-U3LN5NB6.mjs} +1 -1
package/README.md CHANGED
@@ -64,15 +64,18 @@ export default function MyApp() {
64
64
 
65
65
  ## CLI Tools
66
66
 
67
- ### dial-cli
67
+ ### dial-cli - Dial Schema Generator
68
68
 
69
- The vuer-uikit package includes a CLI tool for generating dial metadata from React components with `@dial` annotations.
69
+ The vuer-uikit package includes `dial-cli`, a powerful CLI tool for generating dial metadata from TypeScript/React components with `@dial` annotations.
70
70
 
71
71
  #### Usage
72
72
 
73
- After installing `@vuer-ai/vuer-uikit`, you can use the `dial-cli` command:
73
+ After installing `@vuer-ai/vuer-uikit`, the `dial-cli` command is available via npx:
74
74
 
75
75
  ```bash
76
+ # Show version and git hash
77
+ npx dial-cli --version
78
+
76
79
  # Generate metadata for a single component
77
80
  npx dial-cli MyComponent.tsx
78
81
 
@@ -81,6 +84,18 @@ npx dial-cli -o ./metadata MyComponent.tsx
81
84
 
82
85
  # Process multiple files
83
86
  npx dial-cli Component1.tsx Component2.tsx Component3.tsx
87
+
88
+ # Get detailed help
89
+ npx dial-cli --help
90
+ ```
91
+
92
+ #### Running from Source (Development)
93
+
94
+ You can also run the TypeScript source directly without compilation:
95
+
96
+ ```bash
97
+ # Run directly using tsx
98
+ npx tsx node_modules/@vuer-ai/vuer-uikit/src/cli/dial-cli.ts --version
84
99
  ```
85
100
 
86
101
  #### @dial Annotations
@@ -88,25 +103,109 @@ npx dial-cli Component1.tsx Component2.tsx Component3.tsx
88
103
  The CLI parses JSDoc comments with `@dial` annotations to generate UI metadata:
89
104
 
90
105
  ```tsx
91
- interface Props {
106
+ interface BoxProps {
92
107
  /**
93
- * Position of the object
94
- * @dial-dtype vector
108
+ * Position in 3D space
109
+ * @dial transform
110
+ * @dial-dtype vector3
95
111
  * @dial-mins -10,-10,-10
96
112
  * @dial-maxs 10,10,10
97
113
  * @dial-steps 0.1,0.1,0.1
114
+ * @dial-icon Move3d
98
115
  */
99
116
  position: [number, number, number];
100
117
 
101
118
  /**
102
119
  * Visibility toggle
120
+ * @dial visibility
103
121
  * @dial-dtype boolean
122
+ * @dial-icon Eye
104
123
  */
105
124
  visible: boolean;
125
+
126
+ /**
127
+ * Rotation in degrees
128
+ * @dial transform
129
+ * @dial-dtype euler
130
+ * @dial-min 0
131
+ * @dial-max 360
132
+ * @dial-step 1
133
+ */
134
+ rotation: [number, number, number];
106
135
  }
107
136
  ```
108
137
 
109
- The CLI will generate JSON metadata files that can be used to automatically create UI controls for your components.
138
+ #### Available Annotations
139
+
140
+ **Grouping & Organization:**
141
+ - `@dial <group>` - Group related properties (transform, visibility, geometry, segments)
142
+ - `@dial-ignore` - Exclude property from schema generation
143
+
144
+ **Property Configuration:**
145
+ - `@dial-dtype <type>` - Data type (vector3, euler, boolean, int, string, etc.)
146
+ - `@dial-min <number>` - Minimum value for numeric inputs
147
+ - `@dial-max <number>` - Maximum value for numeric inputs
148
+ - `@dial-step <number>` - Step increment for numeric inputs
149
+ - `@dial-default <value>` - Default value (overrides component default)
150
+ - `@dial-options [...]` - Array of preset values
151
+ - `@dial-icon <name>` - Lucide icon name for the control
152
+
153
+ **Layout & Display:**
154
+ - `@dial-col-<n>` - Display in column layout with n columns
155
+ - `@dial-row-<n>` - Display in row layout with n items per row
156
+ - `@dial-label-<pos>` - Label position (left, right, top, bottom, inline)
157
+ - `@dial-no-wrap` - Prevent line wrapping
158
+
159
+ **Vector Types:**
160
+ - `@dial-mins <n,n,n>` - Comma-separated min values for vector elements
161
+ - `@dial-maxs <n,n,n>` - Comma-separated max values for vector elements
162
+ - `@dial-steps <n,n,n>` - Comma-separated step values for vector elements
163
+ - `@dial-dtypes <t,t,t>` - Comma-separated data types for vector elements
164
+ - `@dial-placeholders <x,y,z>` - Placeholder text for vector inputs
165
+ - `@dial-tooltips <tip1,tip2,tip3>` - Tooltips for vector elements
166
+
167
+ #### Output Files
168
+
169
+ The CLI generates three JSON files for each component:
170
+
171
+ - `*-raw.json` - Raw output from react-docgen-typescript
172
+ - `*-combined.json` - Enhanced metadata with dial schemas and type definitions
173
+ - `*-schemas.json` - Clean dial schemas ready for UI generation
174
+
175
+ #### CLI Options
176
+
177
+ ```
178
+ Options:
179
+ -o, --output <dir> Output directory (default: ./metadata)
180
+ -i, --ignore <prop> Properties to exclude (supports patterns)
181
+ -v, --version Show version and git hash
182
+ -h, --help Display help
183
+ --verbose Detailed output
184
+ --quiet Suppress output except errors
185
+ ```
186
+
187
+ #### Example Build Script
188
+
189
+ Create a script to automate metadata generation:
190
+
191
+ ```bash
192
+ #!/bin/bash
193
+ # generate-dial-metadata.sh
194
+
195
+ echo "Generating dial metadata..."
196
+
197
+ # Show version info
198
+ npx dial-cli --version
199
+
200
+ # Generate metadata for all components
201
+ npx dial-cli \
202
+ --output ./metadata \
203
+ src/components/*.tsx
204
+
205
+ echo "Metadata generation complete!"
206
+ ```
207
+
208
+ For more examples and documentation, visit [uikit.vuer.ai/dial](https://uikit.vuer.ai/dial)
110
209
 
111
210
  ## Customizing your theme
112
211
 
@@ -0,0 +1,137 @@
1
+ # @vuer-ai/dial-cli
2
+
3
+ A powerful CLI tool for generating dial metadata from TypeScript/React components. This tool parses JSDoc annotations to automatically create UI control schemas.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g @vuer-ai/dial-cli
9
+ # or
10
+ pnpm install -g @vuer-ai/dial-cli
11
+ # or
12
+ yarn global add @vuer-ai/dial-cli
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ dial-cli [options] <file.tsx> [file2.tsx ...]
19
+ ```
20
+
21
+ ### Options
22
+
23
+ - `-o, --output <dir>` - Output directory for generated metadata files (default: `./metadata`)
24
+ - `-i, --ignore <prop>` - Property names or patterns to exclude from dial schema generation
25
+ - `-h, --help` - Display help message
26
+ - `-v, --version` - Display version information
27
+ - `--verbose` - Enable verbose output with detailed processing information
28
+ - `--quiet` - Suppress all output except errors
29
+
30
+ ### Examples
31
+
32
+ Generate metadata for a single component:
33
+ ```bash
34
+ dial-cli MyComponent.tsx
35
+ ```
36
+
37
+ Specify a custom output directory:
38
+ ```bash
39
+ dial-cli -o ./docs/metadata MyComponent.tsx
40
+ ```
41
+
42
+ Process multiple files:
43
+ ```bash
44
+ dial-cli Component1.tsx Component2.tsx Component3.tsx
45
+ ```
46
+
47
+ Process all components in a directory:
48
+ ```bash
49
+ dial-cli src/components/*.tsx
50
+ ```
51
+
52
+ Exclude specific properties:
53
+ ```bash
54
+ dial-cli -i className -i style -i children MyComponent.tsx
55
+ ```
56
+
57
+ ## Dial Annotations
58
+
59
+ The tool recognizes the following `@dial` annotations in JSDoc comments:
60
+
61
+ ### Grouping
62
+ - `@dial <group>` - Group related properties (transform, visibility, etc.)
63
+
64
+ ### Property Configuration
65
+ - `@dial-dtype <type>` - Data type (vector3, euler, boolean, int, etc.)
66
+ - `@dial-min <number>` - Minimum value for numeric inputs
67
+ - `@dial-max <number>` - Maximum value for numeric inputs
68
+ - `@dial-step <number>` - Step increment for numeric inputs
69
+ - `@dial-default <value>` - Default value (overrides component default)
70
+ - `@dial-options [...]` - Array of preset values
71
+ - `@dial-icon <name>` - Lucide icon name for the control
72
+ - `@dial-ignore` - Exclude this property from dial schema generation
73
+
74
+ ### Layout
75
+ - `@dial-col-<n>` - Display in column layout with n columns
76
+ - `@dial-row-<n>` - Display in row layout with n items per row
77
+ - `@dial-label-<pos>` - Label position (left, right, top, bottom, inline)
78
+ - `@dial-no-wrap` - Prevent line wrapping
79
+
80
+ ### Vector Types
81
+ - `@dial-mins <n,n,n>` - Comma-separated min values for vector elements
82
+ - `@dial-maxs <n,n,n>` - Comma-separated max values for vector elements
83
+ - `@dial-steps <n,n,n>` - Comma-separated step values for vector elements
84
+ - `@dial-dtypes <t,t,t>` - Comma-separated data types for vector elements
85
+
86
+ ## Example Component
87
+
88
+ ```typescript
89
+ interface Props {
90
+ /**
91
+ * Position in 3D space
92
+ * @dial transform
93
+ * @dial-dtype vector3
94
+ * @dial-mins -10,-10,-10
95
+ * @dial-maxs 10,10,10
96
+ * @dial-steps 0.1,0.1,0.1
97
+ * @dial-icon Move3d
98
+ */
99
+ position: [number, number, number];
100
+
101
+ /**
102
+ * Visibility toggle
103
+ * @dial visibility
104
+ * @dial-dtype boolean
105
+ * @dial-icon Eye
106
+ */
107
+ visible: boolean;
108
+
109
+ /**
110
+ * Color value
111
+ * @dial-ignore
112
+ */
113
+ color: string;
114
+ }
115
+ ```
116
+
117
+ ## Output Files
118
+
119
+ The tool generates three types of output files for each input:
120
+
121
+ - `*-raw.json` - Raw output from react-docgen-typescript
122
+ - `*-combined.json` - Enhanced metadata with dial schema information
123
+ - `*-schemas.json` - Just the dial schemas for UI generation
124
+
125
+ ## License
126
+
127
+ MIT
128
+
129
+ ## Author
130
+
131
+ Ge Yang
132
+
133
+ ## Links
134
+
135
+ - [GitHub Repository](https://github.com/vuer-ai/vuer-uikit)
136
+ - [Issue Tracker](https://github.com/vuer-ai/vuer-uikit/issues)
137
+ - [Documentation](https://uikit.vuer.ai/dial)
@@ -1,9 +1,59 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { basename, join, resolve } from "node:path";
2
+ import { basename, dirname, join, resolve } from "node:path";
3
3
  import { parseArgs } from "node:util";
4
+ import { fileURLToPath } from "node:url";
5
+ import { execSync } from "node:child_process";
4
6
  import * as docgen from "react-docgen-typescript";
5
7
  import * as ts from "typescript";
6
8
 
9
+ // Get package version and git hash
10
+ function getVersionInfo(): { version: string; gitHash?: string } {
11
+ try {
12
+ // Get the directory of this CLI file
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = dirname(__filename);
15
+
16
+ // Try multiple possible locations for package.json
17
+ const possiblePaths = [
18
+ resolve(__dirname, './package.json'), // Same directory (for standalone package)
19
+ resolve(__dirname, '../package.json'), // Parent directory (built version)
20
+ resolve(__dirname, '../../package.json'), // Two levels up (for development)
21
+ ];
22
+
23
+ let packageJson: any = null;
24
+ for (const path of possiblePaths) {
25
+ try {
26
+ if (existsSync(path)) {
27
+ const content = JSON.parse(readFileSync(path, 'utf-8'));
28
+ // Check if this is the dial-cli package
29
+ if (content.name === '@vuer-ai/dial-cli' || content.bin?.['dial-cli']) {
30
+ packageJson = content;
31
+ break;
32
+ }
33
+ }
34
+ } catch {
35
+ // Continue to next path
36
+ }
37
+ }
38
+
39
+ const version = packageJson?.version || 'unknown';
40
+
41
+ // Try to get git hash
42
+ let gitHash: string | undefined;
43
+ try {
44
+ gitHash = execSync('git rev-parse --short HEAD', { encoding: 'utf-8', cwd: dirname(__dirname) }).trim();
45
+ } catch {
46
+ // Git not available or not a git repo
47
+ gitHash = undefined;
48
+ }
49
+
50
+ return { version, gitHash };
51
+ } catch (error) {
52
+ // Fallback if we can't read package.json
53
+ return { version: 'unknown' };
54
+ }
55
+ }
56
+
7
57
  interface DialTag {
8
58
  grouping?: string;
9
59
  min?: number;
@@ -790,8 +840,12 @@ async function processFile(
790
840
  }
791
841
  }
792
842
 
793
- // Help text for the CLI
794
- const HELP_TEXT = `
843
+ // Help text for the CLI (with dynamic version)
844
+ function getHelpText(): string {
845
+ const { version, gitHash } = getVersionInfo();
846
+ const versionString = gitHash ? `v${version} (${gitHash})` : `v${version}`;
847
+
848
+ return `
795
849
  dial-cli - Generate dial metadata from TypeScript/React components
796
850
 
797
851
  SYNOPSIS
@@ -919,11 +973,12 @@ SEE ALSO
919
973
  GitHub: https://github.com/vuer-ai/vuer-uikit
920
974
 
921
975
  VERSION
922
- dial-cli v1.0.0 (part of @vuer-ai/vuer-uikit)
976
+ dial-cli ${versionString} (part of @vuer-ai/vuer-uikit)
923
977
 
924
978
  AUTHORS
925
979
  Vuer AI Team <team@vuer.ai>
926
980
  `;
981
+ }
927
982
 
928
983
  // Main CLI function
929
984
  async function main() {
@@ -961,19 +1016,21 @@ async function main() {
961
1016
 
962
1017
  // Handle version flag
963
1018
  if (values.version) {
964
- console.log("dial-cli v1.0.0 (part of @vuer-ai/vuer-uikit)");
1019
+ const { version, gitHash } = getVersionInfo();
1020
+ const versionString = gitHash ? `v${version} (${gitHash})` : `v${version}`;
1021
+ console.log(`dial-cli ${versionString} (part of @vuer-ai/vuer-uikit)`);
965
1022
  process.exit(0);
966
1023
  }
967
1024
 
968
1025
  // Handle help flag or no arguments
969
1026
  if (values.help || positionals.length === 0) {
970
- console.log(HELP_TEXT);
1027
+ console.log(getHelpText());
971
1028
  process.exit(0);
972
1029
  }
973
1030
 
974
1031
  // Check for man page style help requests
975
1032
  if (positionals.length === 1 && (positionals[0] === "man" || positionals[0] === "help")) {
976
- console.log(HELP_TEXT);
1033
+ console.log(getHelpText());
977
1034
  process.exit(0);
978
1035
  }
979
1036
 
@@ -1028,7 +1085,9 @@ async function main() {
1028
1085
  };
1029
1086
 
1030
1087
  if (!flags.quiet) {
1031
- console.log(`🚀 Dial Documentation Generator`);
1088
+ const { version, gitHash } = getVersionInfo();
1089
+ const versionString = gitHash ? `v${version} (${gitHash})` : `v${version}`;
1090
+ console.log(`🚀 Dial Documentation Generator ${versionString}`);
1032
1091
  console.log(`📂 Output directory: ${outputDir}`);
1033
1092
  if (flags.verbose && ignoreList.length > 0) {
1034
1093
  console.log(`🚫 Ignoring properties: ${ignoreList.join(', ')}`);
@@ -1,11 +1,50 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // src/cli/dial-cli.ts
3
+ // dial-cli.ts
4
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
5
- import { basename, join, resolve } from "path";
5
+ import { basename, dirname, join, resolve } from "path";
6
6
  import { parseArgs } from "util";
7
+ import { fileURLToPath } from "url";
8
+ import { execSync } from "child_process";
7
9
  import * as docgen from "react-docgen-typescript";
8
10
  import * as ts from "typescript";
11
+ function getVersionInfo() {
12
+ try {
13
+ const __filename2 = fileURLToPath(import.meta.url);
14
+ const __dirname2 = dirname(__filename2);
15
+ const possiblePaths = [
16
+ resolve(__dirname2, "./package.json"),
17
+ // Same directory (for standalone package)
18
+ resolve(__dirname2, "../package.json"),
19
+ // Parent directory (built version)
20
+ resolve(__dirname2, "../../package.json")
21
+ // Two levels up (for development)
22
+ ];
23
+ let packageJson = null;
24
+ for (const path of possiblePaths) {
25
+ try {
26
+ if (existsSync(path)) {
27
+ const content = JSON.parse(readFileSync(path, "utf-8"));
28
+ if (content.name === "@vuer-ai/dial-cli" || content.bin?.["dial-cli"]) {
29
+ packageJson = content;
30
+ break;
31
+ }
32
+ }
33
+ } catch {
34
+ }
35
+ }
36
+ const version = packageJson?.version || "unknown";
37
+ let gitHash;
38
+ try {
39
+ gitHash = execSync("git rev-parse --short HEAD", { encoding: "utf-8", cwd: dirname(__dirname2) }).trim();
40
+ } catch {
41
+ gitHash = void 0;
42
+ }
43
+ return { version, gitHash };
44
+ } catch (error) {
45
+ return { version: "unknown" };
46
+ }
47
+ }
9
48
  function parseTypeAlias(sourceFile, typeName) {
10
49
  let typeDefinition = null;
11
50
  function visit(node) {
@@ -530,7 +569,10 @@ async function processFile(filePath, outputDir, options, flags = {}) {
530
569
  });
531
570
  }
532
571
  }
533
- var HELP_TEXT = `
572
+ function getHelpText() {
573
+ const { version, gitHash } = getVersionInfo();
574
+ const versionString = gitHash ? `v${version} (${gitHash})` : `v${version}`;
575
+ return `
534
576
  dial-cli - Generate dial metadata from TypeScript/React components
535
577
 
536
578
  SYNOPSIS
@@ -658,11 +700,12 @@ SEE ALSO
658
700
  GitHub: https://github.com/vuer-ai/vuer-uikit
659
701
 
660
702
  VERSION
661
- dial-cli v1.0.0 (part of @vuer-ai/vuer-uikit)
703
+ dial-cli ${versionString} (part of @vuer-ai/vuer-uikit)
662
704
 
663
705
  AUTHORS
664
706
  Vuer AI Team <team@vuer.ai>
665
707
  `;
708
+ }
666
709
  async function main() {
667
710
  const { values, positionals } = parseArgs({
668
711
  args: process.argv.slice(2),
@@ -696,15 +739,17 @@ async function main() {
696
739
  allowPositionals: true
697
740
  });
698
741
  if (values.version) {
699
- console.log("dial-cli v1.0.0 (part of @vuer-ai/vuer-uikit)");
742
+ const { version, gitHash } = getVersionInfo();
743
+ const versionString = gitHash ? `v${version} (${gitHash})` : `v${version}`;
744
+ console.log(`dial-cli ${versionString} (part of @vuer-ai/vuer-uikit)`);
700
745
  process.exit(0);
701
746
  }
702
747
  if (values.help || positionals.length === 0) {
703
- console.log(HELP_TEXT);
748
+ console.log(getHelpText());
704
749
  process.exit(0);
705
750
  }
706
751
  if (positionals.length === 1 && (positionals[0] === "man" || positionals[0] === "help")) {
707
- console.log(HELP_TEXT);
752
+ console.log(getHelpText());
708
753
  process.exit(0);
709
754
  }
710
755
  const outputDir = resolve(process.cwd(), values.output);
@@ -746,7 +791,9 @@ async function main() {
746
791
  ignoreList
747
792
  };
748
793
  if (!flags.quiet) {
749
- console.log(`\u{1F680} Dial Documentation Generator`);
794
+ const { version, gitHash } = getVersionInfo();
795
+ const versionString = gitHash ? `v${version} (${gitHash})` : `v${version}`;
796
+ console.log(`\u{1F680} Dial Documentation Generator ${versionString}`);
750
797
  console.log(`\u{1F4C2} Output directory: ${outputDir}`);
751
798
  if (flags.verbose && ignoreList.length > 0) {
752
799
  console.log(`\u{1F6AB} Ignoring properties: ${ignoreList.join(", ")}`);
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/api-extractor/bin/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/api-extractor/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/api-extractor/bin/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/api-extractor/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/api-extractor/bin/api-extractor" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/@microsoft+api-extractor@7.52.11_@types+node@20.19.10/node_modules/@microsoft/api-extractor/bin/api-extractor" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/jiti@2.5.1/node_modules/jiti/lib/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/jiti@2.5.1/node_modules/jiti/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/jiti@2.5.1/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/jiti@2.5.1/node_modules/jiti/lib/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/jiti@2.5.1/node_modules/jiti/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/jiti@2.5.1/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/jiti@2.5.1/node_modules/jiti/lib/jiti-cli.mjs" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/jiti@2.5.1/node_modules/jiti/lib/jiti-cli.mjs" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
15
+ else
16
+ exec node "$basedir/../typescript/bin/tsc" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
15
+ else
16
+ exec node "$basedir/../typescript/bin/tsserver" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/dist/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/dist/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../tsup/dist/cli-default.js" "$@"
15
+ else
16
+ exec node "$basedir/../tsup/dist/cli-default.js" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/dist/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/dist/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules/tsup/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@20.19.10__@swc+core@1.13.3_jiti@2.5.1_ssw6nogw5ucdmkhtuq36f4dhm4/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../tsup/dist/cli-node.js" "$@"
15
+ else
16
+ exec node "$basedir/../tsup/dist/cli-node.js" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsx@4.20.5/node_modules/tsx/dist/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsx@4.20.5/node_modules/tsx/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsx@4.20.5/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsx@4.20.5/node_modules/tsx/dist/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsx@4.20.5/node_modules/tsx/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/tsx@4.20.5/node_modules:/Users/ge/fortyfive/vuer-uikit-workspace/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/tsx@4.20.5/node_modules/tsx/dist/cli.mjs" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/tsx@4.20.5/node_modules/tsx/dist/cli.mjs" "$@"
17
+ fi