@objectstack/studio 5.2.0 → 9.4.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.apache +202 -0
- package/dist/index.d.mts +52 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +43 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +39 -97
- package/README.md +0 -150
- package/dist/assets/index-81ZhtCq-.js +0 -159
- package/dist/assets/index-CSlaSCb_.css +0 -2
- package/dist/assets/rolldown-runtime-aKtaBQYM.js +0 -1
- package/dist/assets/vendor-charts-CMWbKNvz.js +0 -34
- package/dist/assets/vendor-icons-C-VDCqO9.js +0 -1
- package/dist/assets/vendor-kzrx2K5g.css +0 -1
- package/dist/assets/vendor-object-ui-core-C_SRaIe4.js +0 -59
- package/dist/assets/vendor-object-ui-form-DRRdiS9F.js +0 -1
- package/dist/assets/vendor-object-ui-grid-BvNa3IUR.js +0 -6
- package/dist/assets/vendor-object-ui-views-CyaLQwFl.js +0 -0
- package/dist/assets/vendor-rQmwIIxi.js +0 -152
- package/dist/assets/vendor-radix-DlDjksHy.js +0 -1
- package/dist/assets/vendor-react-CfxtBSJn.js +0 -9
- package/dist/assets/vendor-tanstack-D6oxbowc.js +0 -1
- package/dist/index.html +0 -45
- package/dist/vite.svg +0 -5
package/README.md
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
# ObjectStack Studio
|
|
2
|
-
|
|
3
|
-
The official **ObjectStack Studio** - a metadata-driven admin interface for managing data and configuration.
|
|
4
|
-
|
|
5
|
-
## 🎯 Overview
|
|
6
|
-
|
|
7
|
-
ObjectStack Studio provides a modern, responsive admin interface that:
|
|
8
|
-
|
|
9
|
-
- **Auto-generates UI** from your metadata definitions
|
|
10
|
-
- **CRUD Operations** with built-in validation
|
|
11
|
-
- **Dynamic Navigation** based on registered objects
|
|
12
|
-
- **Real-time Updates** with optimistic UI patterns
|
|
13
|
-
- **Dark Mode Support** via shadcn/ui theming
|
|
14
|
-
|
|
15
|
-
## 🏗️ Architecture
|
|
16
|
-
|
|
17
|
-
The console supports two runtime modes:
|
|
18
|
-
|
|
19
|
-
### MSW Mode (Default)
|
|
20
|
-
|
|
21
|
-
Runs the ObjectStack Runtime directly in the browser using MSW (Mock Service Worker), enabling full offline development.
|
|
22
|
-
|
|
23
|
-
```mermaid
|
|
24
|
-
graph TD
|
|
25
|
-
Console["Console App"] -->|REST API| Network["Browser Network"]
|
|
26
|
-
Network -->|Intercepted by| SW["Service Worker (MSW)"]
|
|
27
|
-
SW -->|Delegates to| Kernel["ObjectStack Kernel"]
|
|
28
|
-
Kernel -->|Uses| Driver["In-Memory Driver"]
|
|
29
|
-
Kernel -.->|Reads| Config["objectstack.config.ts"]
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Server Mode
|
|
33
|
-
|
|
34
|
-
Connects to a real ObjectStack server for production use or integration testing.
|
|
35
|
-
|
|
36
|
-
```mermaid
|
|
37
|
-
graph TD
|
|
38
|
-
Console["Console App"] -->|REST API| Server["ObjectStack Server"]
|
|
39
|
-
Server -->|Processes| Kernel["ObjectStack Kernel"]
|
|
40
|
-
Kernel -->|Uses| Driver["Database Driver"]
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## 🚀 Quick Start
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# Install dependencies
|
|
47
|
-
pnpm install
|
|
48
|
-
|
|
49
|
-
# Start development server (MSW mode)
|
|
50
|
-
pnpm dev
|
|
51
|
-
|
|
52
|
-
# Start in server mode (connects to real backend)
|
|
53
|
-
VITE_RUNTIME_MODE=server VITE_SERVER_URL=http://localhost:5000/api/v1 pnpm dev
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
The console will be available at `http://localhost:3000`.
|
|
57
|
-
|
|
58
|
-
## ⚙️ Environment Variables
|
|
59
|
-
|
|
60
|
-
| Variable | Default | Description |
|
|
61
|
-
|----------|---------|-------------|
|
|
62
|
-
| `VITE_RUNTIME_MODE` | `msw` | Runtime mode: `msw` or `server` |
|
|
63
|
-
| `VITE_SERVER_URL` | `http://localhost:5000/api/v1` | Server URL (server mode only) |
|
|
64
|
-
|
|
65
|
-
Copy `.env.example` to `.env.local` to customize:
|
|
66
|
-
|
|
67
|
-
## 📁 Project Structure
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
apps/studio/
|
|
71
|
-
├── src/
|
|
72
|
-
│ ├── App.tsx # Main application component
|
|
73
|
-
│ ├── main.tsx # Entry point with MSW bootstrap
|
|
74
|
-
│ ├── index.css # Tailwind CSS configuration
|
|
75
|
-
│ ├── components/
|
|
76
|
-
│ │ ├── app-sidebar.tsx # Dynamic navigation sidebar
|
|
77
|
-
│ │ ├── site-header.tsx # Page header with breadcrumbs
|
|
78
|
-
│ │ ├── ObjectDataTable.tsx # Auto-generated data tables
|
|
79
|
-
│ │ ├── ObjectDataForm.tsx # Auto-generated forms
|
|
80
|
-
│ │ └── ui/ # shadcn/ui components
|
|
81
|
-
│ ├── hooks/ # Custom React hooks
|
|
82
|
-
│ ├── lib/ # Utilities
|
|
83
|
-
│ └── mocks/ # MSW configuration
|
|
84
|
-
├── objectstack.config.ts # Metadata definitions
|
|
85
|
-
└── package.json
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## 🎨 UI Components
|
|
89
|
-
|
|
90
|
-
Built with [shadcn/ui](https://ui.shadcn.com/) and Tailwind CSS v4:
|
|
91
|
-
|
|
92
|
-
- **Sidebar** - Collapsible navigation with object list
|
|
93
|
-
- **DataTable** - Sortable, filterable data grid
|
|
94
|
-
- **DataForm** - Dynamic form generation from field metadata
|
|
95
|
-
- **Toast** - Notification system for user feedback
|
|
96
|
-
|
|
97
|
-
## 🔧 Configuration
|
|
98
|
-
|
|
99
|
-
The console reads metadata from `objectstack.config.ts`:
|
|
100
|
-
|
|
101
|
-
```typescript
|
|
102
|
-
import { defineStack } from '@objectstack/spec';
|
|
103
|
-
import { ObjectSchema, Field } from '@objectstack/spec/data';
|
|
104
|
-
|
|
105
|
-
export const Account = ObjectSchema.create({
|
|
106
|
-
name: 'account',
|
|
107
|
-
label: 'Account',
|
|
108
|
-
fields: {
|
|
109
|
-
name: Field.text({ label: 'Name', required: true }),
|
|
110
|
-
industry: Field.select({
|
|
111
|
-
label: 'Industry',
|
|
112
|
-
options: ['Technology', 'Finance', 'Healthcare']
|
|
113
|
-
}),
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
export default defineStack({
|
|
118
|
-
objects: [Account]
|
|
119
|
-
});
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
## 📦 Dependencies
|
|
123
|
-
|
|
124
|
-
- **React 18** - UI framework
|
|
125
|
-
- **Vite** - Build tool
|
|
126
|
-
- **Tailwind CSS v4** - Styling
|
|
127
|
-
- **shadcn/ui** - Component library
|
|
128
|
-
- **MSW** - API mocking for development
|
|
129
|
-
- **@objectstack/client** - API client
|
|
130
|
-
- **@objectstack/runtime** - In-browser kernel
|
|
131
|
-
|
|
132
|
-
## 🛠️ Development
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
# Type checking
|
|
136
|
-
pnpm typecheck
|
|
137
|
-
|
|
138
|
-
# Run tests
|
|
139
|
-
pnpm test
|
|
140
|
-
|
|
141
|
-
# Build for production
|
|
142
|
-
pnpm build
|
|
143
|
-
|
|
144
|
-
# Preview production build
|
|
145
|
-
pnpm preview
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## 📄 License
|
|
149
|
-
|
|
150
|
-
MIT - See [LICENSE](../../LICENSE) for details.
|