novaui-cli 1.0.5 → 1.0.6
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/README.md +118 -0
- package/package.json +3 -2
package/README.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# novaui-cli
|
|
2
|
+
|
|
3
|
+
The CLI for **NovaUI** -- a React Native UI component library with 50+ components built on [NativeWind](https://www.nativewind.dev/) (Tailwind CSS for React Native).
|
|
4
|
+
|
|
5
|
+
Inspired by [shadcn/ui](https://ui.shadcn.com), adapted for mobile. Components are copied directly into your project -- you own the code, customize anything.
|
|
6
|
+
|
|
7
|
+
## Getting Started
|
|
8
|
+
|
|
9
|
+
### Initialize your project
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx novaui-cli init
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
The interactive setup walks you through configuring file paths:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
? Path for global.css? (src/global.css)
|
|
19
|
+
? Path for UI components? (src/components/ui)
|
|
20
|
+
? Path for lib (utils)? (src/lib)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
This creates:
|
|
24
|
+
|
|
25
|
+
- **`components.json`** -- stores your configured paths
|
|
26
|
+
- **`tailwind.config.js`** -- NovaUI theme with colors, border radius, and NativeWind preset
|
|
27
|
+
- **`global.css`** -- light and dark theme CSS variables
|
|
28
|
+
- **`lib/utils.ts`** -- the `cn()` class merging utility
|
|
29
|
+
|
|
30
|
+
It also installs the required dependencies: `nativewind`, `tailwindcss`, `clsx`, `tailwind-merge`, `class-variance-authority`.
|
|
31
|
+
|
|
32
|
+
### Add components
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx novaui-cli add button
|
|
36
|
+
npx novaui-cli add card
|
|
37
|
+
npx novaui-cli add dialog
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Components are copied into your configured directory (default: `src/components/ui/`). Each component's dependencies are installed automatically.
|
|
41
|
+
|
|
42
|
+
### Use them
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { Button } from "./src/components/ui/button"
|
|
46
|
+
import { Card, CardHeader, CardTitle, CardContent } from "./src/components/ui/card"
|
|
47
|
+
|
|
48
|
+
export default function App() {
|
|
49
|
+
return (
|
|
50
|
+
<Card>
|
|
51
|
+
<CardHeader>
|
|
52
|
+
<CardTitle>Welcome to NovaUI</CardTitle>
|
|
53
|
+
</CardHeader>
|
|
54
|
+
<CardContent>
|
|
55
|
+
<Button onPress={() => console.log("Pressed!")}>
|
|
56
|
+
Get Started
|
|
57
|
+
</Button>
|
|
58
|
+
</CardContent>
|
|
59
|
+
</Card>
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Don't forget to import your `global.css` in your root entry file (e.g. `App.tsx`):
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
import "./src/global.css"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Commands
|
|
71
|
+
|
|
72
|
+
| Command | Description |
|
|
73
|
+
|---|---|
|
|
74
|
+
| `npx novaui-cli init` | Interactive setup -- config, Tailwind, global CSS, utils |
|
|
75
|
+
| `npx novaui-cli add <name>` | Add a component to your project |
|
|
76
|
+
| `npx novaui-cli --version` | Show CLI version |
|
|
77
|
+
| `npx novaui-cli --help` | Show help |
|
|
78
|
+
|
|
79
|
+
## Available Components
|
|
80
|
+
|
|
81
|
+
Accordion, Alert, Alert Dialog, Aspect Ratio, Avatar, Badge, Breadcrumb, Button, Button Group, Calendar, Card, Carousel, Chart, Checkbox, Collapsible, Combobox, Command, Context Menu, Dialog, Drawer, Dropdown Menu, Empty, Field, Hover Card, Input, Input Group, Input OTP, Item, Label, Menubar, Navigation Menu, Pagination, Popover, Progress, Radio Group, Resizable, Scroll Area, Select, Separator, Sheet, Skeleton, Spinner, Switch, Table, Tabs, Text, Textarea, Toggle, Toggle Group, Typography
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npx novaui-cli add <name>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Use the component filename without the extension: `button`, `card`, `alert-dialog`, `dropdown-menu`, etc.
|
|
88
|
+
|
|
89
|
+
## Configuration
|
|
90
|
+
|
|
91
|
+
Running `init` creates a `components.json` in your project root:
|
|
92
|
+
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"globalCss": "src/global.css",
|
|
96
|
+
"componentsUi": "src/components/ui",
|
|
97
|
+
"lib": "src/lib"
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Edit this file or run `npx novaui-cli init` again to change paths.
|
|
102
|
+
|
|
103
|
+
## Requirements
|
|
104
|
+
|
|
105
|
+
| Package | Version |
|
|
106
|
+
|---|---|
|
|
107
|
+
| react | >= 18 |
|
|
108
|
+
| react-native | >= 0.72 |
|
|
109
|
+
| nativewind | >= 4 |
|
|
110
|
+
| tailwindcss | >= 3 |
|
|
111
|
+
|
|
112
|
+
## Links
|
|
113
|
+
|
|
114
|
+
- [GitHub](https://github.com/KaloyanBehov/native-ui)
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "novaui-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "CLI for NovaUI - React Native component library with NativeWind",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"novaui": "./src/bin.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
|
-
"src"
|
|
10
|
+
"src",
|
|
11
|
+
"README.md"
|
|
11
12
|
],
|
|
12
13
|
"keywords": [
|
|
13
14
|
"novaui",
|