@frontfamily/cli 0.1.1 → 0.2.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/README.md +130 -39
- package/dist/index.js +37669 -15975
- package/package.json +2 -6
package/README.md
CHANGED
|
@@ -1,60 +1,151 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>@frontfamily/cli</h1>
|
|
3
|
+
<p>Eject production-ready UI components into any project.<br/>162 templates · 9 frameworks · 18 patterns · works offline.</p>
|
|
4
|
+
<p>
|
|
5
|
+
<a href="https://www.npmjs.com/package/@frontfamily/cli"><img src="https://img.shields.io/npm/v/@frontfamily/cli.svg?style=flat-square&color=3B82F6" alt="npm version"></a>
|
|
6
|
+
<a href="https://www.npmjs.com/package/@frontfamily/cli"><img src="https://img.shields.io/npm/dm/@frontfamily/cli.svg?style=flat-square&color=4ADE80" alt="downloads"></a>
|
|
7
|
+
<img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg?style=flat-square" alt="license">
|
|
8
|
+
</p>
|
|
9
|
+
</div>
|
|
2
10
|
|
|
3
|
-
|
|
11
|
+
---
|
|
4
12
|
|
|
5
|
-
##
|
|
13
|
+
## Why
|
|
14
|
+
|
|
15
|
+
You need an auth form in Quasar. Or a data table in Chakra. Or a settings panel in Angular Material. Instead of writing it from scratch, eject a tested, production-ready template in one command.
|
|
16
|
+
|
|
17
|
+
All templates are **bundled inside the package** — no network requests, no API keys, no accounts. Works offline, works in CI.
|
|
18
|
+
|
|
19
|
+
## Install
|
|
6
20
|
|
|
7
21
|
```bash
|
|
8
|
-
#
|
|
22
|
+
# Use directly (no install needed)
|
|
9
23
|
npx @frontfamily/cli eject
|
|
10
24
|
|
|
11
|
-
#
|
|
12
|
-
|
|
25
|
+
# Or install globally
|
|
26
|
+
npm i -g @frontfamily/cli
|
|
27
|
+
frontfamily eject
|
|
13
28
|
```
|
|
14
29
|
|
|
15
|
-
|
|
30
|
+
## Usage
|
|
16
31
|
|
|
17
|
-
|
|
32
|
+
### Interactive mode
|
|
18
33
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
```bash
|
|
35
|
+
$ npx @frontfamily/cli eject
|
|
36
|
+
|
|
37
|
+
┌ FrontFamily Eject
|
|
38
|
+
│
|
|
39
|
+
◆ Select the UI Pattern:
|
|
40
|
+
│ ○ Data Table
|
|
41
|
+
│ ○ Auth Form ← you pick
|
|
42
|
+
│ ○ Card Feed
|
|
43
|
+
│ ...
|
|
44
|
+
│
|
|
45
|
+
◆ Select the framework:
|
|
46
|
+
│ ○ Vue 3 + Quasar ← you pick
|
|
47
|
+
│ ○ React + Chakra UI
|
|
48
|
+
│ ○ React + Material UI
|
|
49
|
+
│ ...
|
|
50
|
+
│
|
|
51
|
+
◇ Ejected successfully!
|
|
52
|
+
│
|
|
53
|
+
└ ✨ Your component is ready at ./components/QuasarAuthForm.vue
|
|
54
|
+
```
|
|
31
55
|
|
|
32
|
-
|
|
33
|
-
|---|---|---|
|
|
34
|
-
| `react-chakra` | Chakra UI | `.tsx` |
|
|
35
|
-
| `react-mui` | Material UI | `.tsx` |
|
|
36
|
-
| `react-antd` | Ant Design | `.tsx` |
|
|
37
|
-
| `react-eui` | Elastic EUI | `.tsx` |
|
|
38
|
-
| `react-mantine` | Mantine | `.tsx` |
|
|
39
|
-
| `react-bootstrap` | Bootstrap | `.tsx` |
|
|
40
|
-
| `react-tailwind` | Tailwind | `.tsx` |
|
|
41
|
-
| `vue-quasar` | Quasar (Vue 3) | `.vue` |
|
|
42
|
-
| `angular-material` | Angular Material | `.ts` |
|
|
56
|
+
### Direct mode
|
|
43
57
|
|
|
44
|
-
|
|
58
|
+
```bash
|
|
59
|
+
# Skip prompts — specify pattern and framework directly
|
|
60
|
+
npx @frontfamily/cli eject auth-form -f vue-quasar
|
|
61
|
+
npx @frontfamily/cli eject data-table -f react-mui
|
|
62
|
+
npx @frontfamily/cli eject settings-panel -f angular-material
|
|
63
|
+
```
|
|
45
64
|
|
|
46
|
-
|
|
65
|
+
## Patterns
|
|
47
66
|
|
|
48
|
-
|
|
67
|
+
| ID | Name | What you get |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| `data-table` | Data Table | Sortable, paginated table with status badges and a11y scores |
|
|
70
|
+
| `auth-form` | Auth Form | Login/signup with validation, password visibility toggle, error states |
|
|
71
|
+
| `card-feed` | Card Feed | Responsive grid of profile cards with avatars, badges, hover effects |
|
|
72
|
+
| `dashboard-stats` | Dashboard Stats | 4 KPI cards with progress bars, trend indicators, department breakdown |
|
|
73
|
+
| `modal-dialog` | Modal Dialog | Confirmation, form, and alert dialogs with overlay and keyboard dismiss |
|
|
74
|
+
| `nav-bar` | Navigation Bar | Top nav with links, dropdown menu, search input, mobile hamburger drawer |
|
|
75
|
+
| `notification-center` | Notifications | Toast stack with auto-dismiss, progress bars, and notification history |
|
|
76
|
+
| `settings-panel` | Settings Panel | Toggles, sliders, radio groups, selects with save/reset actions |
|
|
77
|
+
| `file-upload` | File Upload | Drag-and-drop zone, file list, progress bars, and validation |
|
|
78
|
+
| `date-picker` | Date Picker | Calendar selector with range mode, time input, and locale support |
|
|
79
|
+
| `sidebar-layout` | Sidebar Layout | Collapsible sidebar with nested nav, icons, and responsive drawer |
|
|
80
|
+
| `data-grid` | Data Grid | Editable table with inline editing, column reorder, and virtualization |
|
|
81
|
+
| `command-palette` | Command Palette | Cmd+K search overlay with fuzzy matching and keyboard navigation |
|
|
82
|
+
| `pricing-table` | Pricing Table | Tier cards with feature comparison, toggle billing cycle, and CTAs |
|
|
83
|
+
| `stepper-wizard` | Stepper Wizard | Multi-step form with validation, progress indicator, and back/next |
|
|
84
|
+
| `autocomplete` | Autocomplete | Search input with async suggestions, multi-select, and custom rendering |
|
|
85
|
+
| `kanban-board` | Kanban Board | Draggable cards across columns with add, edit, and status filtering |
|
|
86
|
+
| `chat-ui` | Chat UI | Message bubbles, input with send, timestamps, and typing indicator |
|
|
87
|
+
|
|
88
|
+
## Frameworks
|
|
89
|
+
|
|
90
|
+
| Flag | ID | Framework | Output |
|
|
91
|
+
|---|---|---|---|
|
|
92
|
+
| ⚛️ | `react-chakra` | Chakra UI | `.tsx` |
|
|
93
|
+
| ⚛️ | `react-mui` | Material UI (MUI) | `.tsx` |
|
|
94
|
+
| ⚛️ | `react-antd` | Ant Design | `.tsx` |
|
|
95
|
+
| ⚛️ | `react-eui` | Elastic EUI | `.tsx` |
|
|
96
|
+
| ⚛️ | `react-mantine` | Mantine | `.tsx` |
|
|
97
|
+
| ⚛️ | `react-bootstrap` | Bootstrap | `.tsx` |
|
|
98
|
+
| ⚛️ | `react-tailwind` | Tailwind / Headless UI | `.tsx` |
|
|
99
|
+
| 💚 | `vue-quasar` | Quasar (Vue 3) | `.vue` |
|
|
100
|
+
| 🔺 | `angular-material` | Angular Material | `.ts` |
|
|
101
|
+
|
|
102
|
+
**18 patterns × 9 frameworks = 162 templates**
|
|
103
|
+
|
|
104
|
+
## What you get
|
|
105
|
+
|
|
106
|
+
Each ejected file is a **single, self-contained component** with:
|
|
107
|
+
|
|
108
|
+
- Framework-specific imports (`@chakra-ui/react`, `quasar`, `@angular/material`, etc.)
|
|
109
|
+
- Proper TypeScript types
|
|
110
|
+
- Theme support (dark/light)
|
|
111
|
+
- Density support (compact/comfortable)
|
|
112
|
+
- Loading and error states
|
|
113
|
+
- Responsive layout
|
|
114
|
+
|
|
115
|
+
The file is yours — modify it however you want. No dependency on `@frontfamily/cli` at runtime.
|
|
116
|
+
|
|
117
|
+
## FAQ
|
|
118
|
+
|
|
119
|
+
**Does it need internet?**
|
|
120
|
+
No. All 162 templates are bundled in the npm package. Fully offline.
|
|
121
|
+
|
|
122
|
+
**Does it touch my existing files?**
|
|
123
|
+
No. It only creates new files in `./components/`. Never reads, modifies, or deletes anything.
|
|
124
|
+
|
|
125
|
+
**What if `./components/` doesn't exist?**
|
|
126
|
+
It creates the directory automatically.
|
|
127
|
+
|
|
128
|
+
**Is this like shadcn/ui?**
|
|
129
|
+
Similar concept — you own the code. The difference: FrontFamily covers 9 frameworks (React, Vue, Angular), not just React + Tailwind.
|
|
130
|
+
|
|
131
|
+
**Can I use the output commercially?**
|
|
132
|
+
Yes. Apache 2.0 license. No restrictions.
|
|
49
133
|
|
|
50
134
|
## Commands
|
|
51
135
|
|
|
52
|
-
```bash
|
|
53
|
-
frontfamily eject # Interactive mode
|
|
54
|
-
frontfamily eject <pattern> # Select framework only
|
|
55
|
-
frontfamily eject <pattern> -f <framework> # Fully non-interactive
|
|
56
|
-
frontfamily --version # Show version
|
|
57
136
|
```
|
|
137
|
+
frontfamily eject Interactive mode
|
|
138
|
+
frontfamily eject <pattern> Prompts for framework only
|
|
139
|
+
frontfamily eject <pattern> -f <framework> No prompts
|
|
140
|
+
frontfamily --version Print version
|
|
141
|
+
frontfamily --help Show help
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Links
|
|
145
|
+
|
|
146
|
+
- [Web Converter](https://frontfamily.com/converter) — convert code between frameworks online
|
|
147
|
+
- [Migration Guides](https://frontfamily.com/guides) — 9 guides with 219 searchable component mappings
|
|
148
|
+
- [CLI Documentation](https://frontfamily.com/docs) — full docs with examples
|
|
58
149
|
|
|
59
150
|
## License
|
|
60
151
|
|