@uigen-dev/react 0.1.0 → 0.1.2
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 +18 -18
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> Point it at an OpenAPI spec. Get a fully functional frontend. Zero boilerplate.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npx @uigen/cli serve ./openapi.yaml
|
|
6
|
+
npx @uigen-dev/cli serve ./openapi.yaml
|
|
7
7
|
# → Your UI is live at http://localhost:4400
|
|
8
8
|
```
|
|
9
9
|
|
|
@@ -36,19 +36,19 @@ From a single OpenAPI file, UIGen generates a complete, production-quality front
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
# Run directly with npx — no install required
|
|
39
|
-
npx @uigen/cli serve ./openapi.yaml
|
|
39
|
+
npx @uigen-dev/cli serve ./openapi.yaml
|
|
40
40
|
|
|
41
41
|
# Or with a remote spec URL
|
|
42
|
-
npx @uigen/cli serve https://petstore3.swagger.io/api/v3/openapi.json
|
|
42
|
+
npx @uigen-dev/cli serve https://petstore3.swagger.io/api/v3/openapi.json
|
|
43
43
|
|
|
44
44
|
# Custom port
|
|
45
|
-
npx @uigen/cli serve ./openapi.yaml --port 8080
|
|
45
|
+
npx @uigen-dev/cli serve ./openapi.yaml --port 8080
|
|
46
46
|
|
|
47
47
|
# Override the target server
|
|
48
|
-
npx @uigen/cli serve ./openapi.yaml --proxy-base https://api.yourapp.com
|
|
48
|
+
npx @uigen-dev/cli serve ./openapi.yaml --proxy-base https://api.yourapp.com
|
|
49
49
|
|
|
50
50
|
# Choose a renderer (default: react)
|
|
51
|
-
npx @uigen/cli serve ./openapi.yaml --renderer react
|
|
51
|
+
npx @uigen-dev/cli serve ./openapi.yaml --renderer react
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
Visit `http://localhost:4400` to see your generated UI.
|
|
@@ -70,7 +70,7 @@ node packages/cli/dist/index.js serve examples/twilio_messaging_v1.yaml
|
|
|
70
70
|
|
|
71
71
|
UIGen parses your OpenAPI spec and converts it into an **Intermediate Representation (IR)** — a structured description of your resources, operations, schemas, authentication, and relationships. A pre-built React SPA reads that IR and renders the appropriate views. A Vite dev server serves the SPA and proxies your API calls to your real backend.
|
|
72
72
|
|
|
73
|
-
Because the IR is framework-agnostic, the React layer is just the default. The same IR drives `@uigen/svelte` and `@uigen/vue` — same spec, different renderer, your choice of stack.
|
|
73
|
+
Because the IR is framework-agnostic, the React layer is just the default. The same IR drives `@uigen-dev/svelte` and `@uigen-dev/vue` — same spec, different renderer, your choice of stack.
|
|
74
74
|
|
|
75
75
|
```
|
|
76
76
|
OpenAPI Spec (YAML/JSON)
|
|
@@ -171,11 +171,11 @@ Each package is independently publishable:
|
|
|
171
171
|
|
|
172
172
|
| Package | npm | Purpose |
|
|
173
173
|
|---|---|---|
|
|
174
|
-
| `@uigen/core` |
|
|
175
|
-
| `@uigen/react` |
|
|
176
|
-
| `@uigen/cli` |
|
|
177
|
-
| `@uigen/svelte` | planned | Svelte renderer — same IR, native Svelte components |
|
|
178
|
-
| `@uigen/vue` | planned | Vue 3 renderer — same IR, native Vue components |
|
|
174
|
+
| `@uigen-dev/core` | ✅ published | IR types, adapters, engine — framework agnostic. Build your own renderer on top |
|
|
175
|
+
| `@uigen-dev/react` | ✅ published | The default React renderer. Extend or swap components via the registry |
|
|
176
|
+
| `@uigen-dev/cli` | ✅ published | The `npx uigen` entry point |
|
|
177
|
+
| `@uigen-dev/svelte` | planned | Svelte renderer — same IR, native Svelte components |
|
|
178
|
+
| `@uigen-dev/vue` | planned | Vue 3 renderer — same IR, native Vue components |
|
|
179
179
|
|
|
180
180
|
---
|
|
181
181
|
|
|
@@ -210,7 +210,7 @@ pnpm test:coverage
|
|
|
210
210
|
Register your own component for any field type — without touching the rest of the tool:
|
|
211
211
|
|
|
212
212
|
```tsx
|
|
213
|
-
import { registry } from '@uigen/react';
|
|
213
|
+
import { registry } from '@uigen-dev/react';
|
|
214
214
|
import { MyMapField } from './fields/MapField';
|
|
215
215
|
|
|
216
216
|
registry.register('geo', MyMapField);
|
|
@@ -268,8 +268,8 @@ properties:
|
|
|
268
268
|
- [ ] Virtual scrolling — TanStack Virtual for tables with 1000+ rows
|
|
269
269
|
|
|
270
270
|
### 🧩 Ecosystem
|
|
271
|
-
- [ ] **`@uigen/svelte`** — Svelte renderer consuming the same IR. Same adapters, different UI layer
|
|
272
|
-
- [ ] **`@uigen/vue`** — Vue 3 renderer. Drop-in alternative to `@uigen/react`
|
|
271
|
+
- [ ] **`@uigen-dev/svelte`** — Svelte renderer consuming the same IR. Same adapters, different UI layer
|
|
272
|
+
- [ ] **`@uigen-dev/vue`** — Vue 3 renderer. Drop-in alternative to `@uigen-dev/react`
|
|
273
273
|
- [ ] **Plugin API** — register custom adapters, field types, and view strategies as npm packages
|
|
274
274
|
- [ ] **`uigen ui:config`** — a visual configuration dashboard served alongside your generated UI. Point-and-click theme editing, field label overrides, resource reordering — no YAML editing required
|
|
275
275
|
|
|
@@ -284,8 +284,8 @@ properties:
|
|
|
284
284
|
- [ ] gRPC / Protobuf adapter
|
|
285
285
|
- [ ] Response transformation — JSONPath selectors to reshape API responses before rendering
|
|
286
286
|
- [ ] Request / response interceptors — middleware for custom auth logic or tenant injection
|
|
287
|
-
- [ ] `@uigen/plugin-charts` — auto-generate chart widgets from numeric data
|
|
288
|
-
- [ ] `@uigen/plugin-mapbox` — map field renderer for geo coordinates
|
|
287
|
+
- [ ] `@uigen-dev/plugin-charts` — auto-generate chart widgets from numeric data
|
|
288
|
+
- [ ] `@uigen-dev/plugin-mapbox` — map field renderer for geo coordinates
|
|
289
289
|
|
|
290
290
|
---
|
|
291
291
|
|
|
@@ -303,7 +303,7 @@ properties:
|
|
|
303
303
|
|
|
304
304
|
Issues and PRs are welcome. See [ARCHITECTURE.md](./ARCHITECTURE.md) for the full design documentation.
|
|
305
305
|
|
|
306
|
-
> **Building a renderer for another framework?** The `@uigen/core` package is the only dependency you need. The IR contract is stable.
|
|
306
|
+
> **Building a renderer for another framework?** The `@uigen-dev/core` package is the only dependency you need. The IR contract is stable.
|
|
307
307
|
|
|
308
308
|
---
|
|
309
309
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uigen-dev/react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Auto-generate frontends from OpenAPI specs",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"react-router-dom": "^7.1.0",
|
|
30
30
|
"tailwind-merge": "^2.5.0",
|
|
31
31
|
"zod": "^3.24.0",
|
|
32
|
-
"@uigen-dev/core": "0.1.
|
|
32
|
+
"@uigen-dev/core": "0.1.2"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@tailwindcss/postcss": "^4.2.2",
|