@auto-engineer/frontend-generator-react-graphql 0.14.0 → 0.15.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/CHANGELOG.md +12 -0
- package/README.md +139 -308
- package/dist/src/commands/copy-example.d.ts.map +1 -1
- package/dist/src/commands/copy-example.js +5 -1
- package/dist/src/commands/copy-example.js.map +1 -1
- package/dist/src/commands/generate-client.d.ts.map +1 -1
- package/dist/src/commands/generate-client.js +5 -1
- package/dist/src/commands/generate-client.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @auto-engineer/frontend-react-graphql-generator
|
|
2
2
|
|
|
3
|
+
## 0.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- version bump
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies []:
|
|
12
|
+
- @auto-engineer/message-bus@0.15.0
|
|
13
|
+
- @auto-engineer/ai-gateway@0.15.0
|
|
14
|
+
|
|
3
15
|
## 0.14.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -1,362 +1,193 @@
|
|
|
1
1
|
# @auto-engineer/frontend-generator-react-graphql
|
|
2
2
|
|
|
3
|
-
React
|
|
3
|
+
React frontend generator that scaffolds GraphQL-powered applications from IA schemas.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
This is a plugin for the Auto Engineer CLI. Install both the CLI and this plugin:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install -g @auto-engineer/cli
|
|
11
|
-
npm install @auto-engineer/frontend-generator-react-graphql
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Configuration
|
|
15
|
-
|
|
16
|
-
Add this plugin to your `auto.config.ts`:
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
export default {
|
|
20
|
-
plugins: [
|
|
21
|
-
'@auto-engineer/frontend-generator-react-graphql',
|
|
22
|
-
// ... other plugins
|
|
23
|
-
],
|
|
24
|
-
};
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Commands
|
|
28
|
-
|
|
29
|
-
This plugin provides the following commands:
|
|
30
|
-
|
|
31
|
-
- `generate:client` - Generate a React GraphQL client application
|
|
32
|
-
- `copy:example` - Copy an example React GraphQL project template
|
|
33
|
-
|
|
34
|
-
## What does this plugin do?
|
|
35
|
-
|
|
36
|
-
The React GraphQL Generator creates React applications with GraphQL integration. It generates project scaffolding, configures build tools, sets up design systems, and creates type-safe GraphQL operations.
|
|
37
|
-
|
|
38
|
-
## Key Features
|
|
39
|
-
|
|
40
|
-
### Project Scaffolding
|
|
41
|
-
|
|
42
|
-
- React project structure with TypeScript
|
|
43
|
-
- Vite configuration for development and builds
|
|
44
|
-
- ESLint and Prettier setup for code quality
|
|
45
|
-
- Testing infrastructure with Vitest and Testing Library
|
|
5
|
+
---
|
|
46
6
|
|
|
47
|
-
|
|
7
|
+
## Purpose
|
|
48
8
|
|
|
49
|
-
- Apollo Client
|
|
50
|
-
- Code generation from GraphQL schemas
|
|
51
|
-
- Optimistic updates and error handling patterns
|
|
52
|
-
- Real-time subscriptions and caching strategies
|
|
9
|
+
Without `@auto-engineer/frontend-generator-react-graphql`, you would have to manually scaffold React components, write GraphQL operations, configure Apollo Client, and integrate design system tokens by hand.
|
|
53
10
|
|
|
54
|
-
|
|
11
|
+
This package generates complete React frontends from Information Architecture schemas. It creates type-safe components following atomic design principles, generates GraphQL operations, and configures Apollo Client with full codegen integration.
|
|
55
12
|
|
|
56
|
-
|
|
57
|
-
- Theming and styling patterns
|
|
58
|
-
- Responsive design with CSS techniques
|
|
59
|
-
- Component library integration and customization
|
|
13
|
+
---
|
|
60
14
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
- Hot module replacement for feedback
|
|
64
|
-
- TypeScript for compile-time safety
|
|
65
|
-
- IntelliSense and autocomplete support
|
|
66
|
-
- Development tools and debugging
|
|
67
|
-
|
|
68
|
-
## Available Starter Templates
|
|
69
|
-
|
|
70
|
-
### shadcn/ui Starter
|
|
71
|
-
|
|
72
|
-
React application using shadcn/ui components:
|
|
15
|
+
## Installation
|
|
73
16
|
|
|
74
17
|
```bash
|
|
75
|
-
|
|
18
|
+
pnpm add @auto-engineer/frontend-generator-react-graphql
|
|
76
19
|
```
|
|
77
20
|
|
|
78
|
-
|
|
21
|
+
## Quick Start
|
|
79
22
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
23
|
+
```typescript
|
|
24
|
+
import { generateClientCommandHandler } from '@auto-engineer/frontend-generator-react-graphql';
|
|
25
|
+
|
|
26
|
+
const result = await generateClientCommandHandler.handle({
|
|
27
|
+
type: 'GenerateClient',
|
|
28
|
+
data: {
|
|
29
|
+
starter: 'shadcn',
|
|
30
|
+
targetDir: './client',
|
|
31
|
+
iaSchemaPath: './auto-ia.json',
|
|
32
|
+
gqlSchemaPath: './schema.graphql',
|
|
33
|
+
figmaVariablesPath: './figma-vars.json',
|
|
34
|
+
},
|
|
35
|
+
requestId: 'req-123',
|
|
36
|
+
});
|
|
88
37
|
|
|
38
|
+
console.log(result);
|
|
39
|
+
// → { type: 'ClientGenerated', data: { targetDir: './client', components: [...] } }
|
|
89
40
|
```
|
|
90
|
-
client/
|
|
91
|
-
├── src/
|
|
92
|
-
│ ├── components/
|
|
93
|
-
│ │ ├── atoms/ # shadcn/ui components
|
|
94
|
-
│ │ ├── molecules/ # Composed components
|
|
95
|
-
│ │ └── organisms/ # Complex UI sections
|
|
96
|
-
│ ├── pages/ # Application pages
|
|
97
|
-
│ ├── hooks/ # Custom React hooks
|
|
98
|
-
│ ├── lib/ # Utilities and configuration
|
|
99
|
-
│ ├── graphql/ # Generated GraphQL operations
|
|
100
|
-
│ └── styles/ # Global styles and theme
|
|
101
|
-
├── public/ # Static assets
|
|
102
|
-
└── package.json
|
|
103
|
-
```
|
|
104
41
|
|
|
105
|
-
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## How-to Guides
|
|
106
45
|
|
|
107
|
-
|
|
46
|
+
### Generate via CLI
|
|
108
47
|
|
|
109
48
|
```bash
|
|
110
|
-
auto
|
|
49
|
+
auto generate:client \
|
|
50
|
+
--starter=shadcn \
|
|
51
|
+
--target-dir=./client \
|
|
52
|
+
--ia-schema-path=./auto-ia.json \
|
|
53
|
+
--gql-schema-path=./schema.graphql \
|
|
54
|
+
--figma-variables-path=./figma-vars.json
|
|
111
55
|
```
|
|
112
56
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
- Material-UI (MUI): React components implementing Google's Material Design
|
|
116
|
-
- Emotion: CSS-in-JS library for styling
|
|
117
|
-
- Apollo Client: GraphQL integration with Material-UI components
|
|
118
|
-
- React Router: Navigation with Material-UI integration
|
|
119
|
-
- Theme Customization: Theming system
|
|
120
|
-
- Responsive Design: Mobile-first approach with breakpoints
|
|
121
|
-
|
|
122
|
-
## Generated Application Features
|
|
123
|
-
|
|
124
|
-
### Type-Safe GraphQL Operations
|
|
125
|
-
|
|
126
|
-
The generator creates fully typed GraphQL operations:
|
|
57
|
+
### Generate Programmatically
|
|
127
58
|
|
|
128
59
|
```typescript
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
export const useCreateUserMutation = () => {
|
|
143
|
-
return useMutation<CreateUserMutation, CreateUserMutationVariables>(CREATE_USER);
|
|
144
|
-
};
|
|
60
|
+
import { generateClientCommandHandler } from '@auto-engineer/frontend-generator-react-graphql';
|
|
61
|
+
|
|
62
|
+
const result = await generateClientCommandHandler.handle({
|
|
63
|
+
type: 'GenerateClient',
|
|
64
|
+
data: {
|
|
65
|
+
starter: 'shadcn',
|
|
66
|
+
targetDir: './client',
|
|
67
|
+
iaSchemaPath: './auto-ia.json',
|
|
68
|
+
gqlSchemaPath: './schema.graphql',
|
|
69
|
+
figmaVariablesPath: './figma-vars.json',
|
|
70
|
+
},
|
|
71
|
+
});
|
|
145
72
|
```
|
|
146
73
|
|
|
147
|
-
###
|
|
148
|
-
|
|
149
|
-
Organized component structure following atomic design principles:
|
|
74
|
+
### Use Material-UI Starter
|
|
150
75
|
|
|
151
76
|
```typescript
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Molecules - Combined atoms
|
|
162
|
-
export function SearchBox({ onSearch, placeholder }: SearchBoxProps) {
|
|
163
|
-
return (
|
|
164
|
-
<div className="flex gap-2">
|
|
165
|
-
<Input placeholder={placeholder} />
|
|
166
|
-
<Button onClick={onSearch}>Search</Button>
|
|
167
|
-
</div>
|
|
168
|
-
);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
// Organisms - Complex UI sections
|
|
172
|
-
export function UserList({ users, onUserSelect }: UserListProps) {
|
|
173
|
-
return (
|
|
174
|
-
<div className="space-y-4">
|
|
175
|
-
<SearchBox onSearch={handleSearch} />
|
|
176
|
-
<div className="grid gap-4">
|
|
177
|
-
{users.map(user => (
|
|
178
|
-
<UserCard key={user.id} user={user} onClick={onUserSelect} />
|
|
179
|
-
))}
|
|
180
|
-
</div>
|
|
181
|
-
</div>
|
|
182
|
-
);
|
|
183
|
-
}
|
|
77
|
+
const result = await generateClientCommandHandler.handle({
|
|
78
|
+
type: 'GenerateClient',
|
|
79
|
+
data: {
|
|
80
|
+
starter: 'mui',
|
|
81
|
+
targetDir: './client',
|
|
82
|
+
// ...other options
|
|
83
|
+
},
|
|
84
|
+
});
|
|
184
85
|
```
|
|
185
86
|
|
|
186
|
-
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## API Reference
|
|
187
90
|
|
|
188
|
-
|
|
91
|
+
### Package Exports
|
|
189
92
|
|
|
190
93
|
```typescript
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
) || [],
|
|
199
|
-
[data?.users, searchTerm]
|
|
200
|
-
);
|
|
201
|
-
|
|
202
|
-
if (loading) return <LoadingSpinner />;
|
|
203
|
-
if (error) return <ErrorBoundary error={error} />;
|
|
204
|
-
|
|
205
|
-
return (
|
|
206
|
-
<PageLayout title="Users" breadcrumbs={[{ label: 'Users', href: '/users' }]}>
|
|
207
|
-
<UserList
|
|
208
|
-
users={filteredUsers}
|
|
209
|
-
onUserSelect={handleUserSelect}
|
|
210
|
-
/>
|
|
211
|
-
</PageLayout>
|
|
212
|
-
);
|
|
213
|
-
}
|
|
94
|
+
import {
|
|
95
|
+
generateClientCommandHandler,
|
|
96
|
+
type GenerateClientCommand,
|
|
97
|
+
type GenerateClientEvents,
|
|
98
|
+
type ClientGeneratedEvent,
|
|
99
|
+
type ClientGenerationFailedEvent,
|
|
100
|
+
} from '@auto-engineer/frontend-generator-react-graphql';
|
|
214
101
|
```
|
|
215
102
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
### Vite Setup
|
|
219
|
-
|
|
220
|
-
Build configuration with:
|
|
221
|
-
|
|
222
|
-
- Fast HMR for development
|
|
223
|
-
- Production builds
|
|
224
|
-
- Code splitting and lazy loading
|
|
225
|
-
- Environment variable handling
|
|
226
|
-
- Asset optimization
|
|
227
|
-
|
|
228
|
-
### GraphQL Code Generation
|
|
229
|
-
|
|
230
|
-
Type generation from GraphQL schemas:
|
|
103
|
+
### GenerateClientCommand
|
|
231
104
|
|
|
232
105
|
```typescript
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
withComponent: false,
|
|
245
|
-
withHOC: false,
|
|
246
|
-
},
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
|
-
};
|
|
106
|
+
type GenerateClientCommand = Command<
|
|
107
|
+
'GenerateClient',
|
|
108
|
+
{
|
|
109
|
+
starter?: 'shadcn' | 'mui';
|
|
110
|
+
starterDir?: string;
|
|
111
|
+
targetDir: string;
|
|
112
|
+
iaSchemaPath: string;
|
|
113
|
+
gqlSchemaPath: string;
|
|
114
|
+
figmaVariablesPath: string;
|
|
115
|
+
}
|
|
116
|
+
>;
|
|
250
117
|
```
|
|
251
118
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
Customize generation through `auto.config.ts`:
|
|
119
|
+
### ClientGeneratedEvent
|
|
255
120
|
|
|
256
121
|
```typescript
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
// Build configuration
|
|
266
|
-
bundler: 'vite',
|
|
267
|
-
|
|
268
|
-
// GraphQL configuration
|
|
269
|
-
graphqlEndpoint: 'http://localhost:4000/graphql',
|
|
270
|
-
generateMocks: true,
|
|
271
|
-
|
|
272
|
-
// Styling approach
|
|
273
|
-
cssFramework: 'tailwind', // or 'emotion'
|
|
274
|
-
|
|
275
|
-
// Additional features
|
|
276
|
-
includeStorybook: true,
|
|
277
|
-
includePWA: false,
|
|
278
|
-
includeI18n: false,
|
|
279
|
-
},
|
|
280
|
-
],
|
|
281
|
-
],
|
|
282
|
-
};
|
|
122
|
+
type ClientGeneratedEvent = Event<
|
|
123
|
+
'ClientGenerated',
|
|
124
|
+
{
|
|
125
|
+
targetDir: string;
|
|
126
|
+
components: Array<{ type: string; filePath: string }>;
|
|
127
|
+
}
|
|
128
|
+
>;
|
|
283
129
|
```
|
|
284
130
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
Works with the Auto Engineer ecosystem:
|
|
288
|
-
|
|
289
|
-
- **@auto-engineer/server-generator-apollo-emmett**: Consumes GraphQL schemas from generated servers
|
|
290
|
-
- **@auto-engineer/design-system-importer**: Integrates imported design tokens and components
|
|
291
|
-
- **@auto-engineer/frontend-implementer**: Provides scaffolding for AI-powered implementation
|
|
292
|
-
- **@auto-engineer/frontend-checks**: Validates generated applications
|
|
293
|
-
- **@auto-engineer/information-architect**: Uses IA specifications for navigation structure
|
|
294
|
-
|
|
295
|
-
## Development Workflow
|
|
296
|
-
|
|
297
|
-
1. **Generate Client Application**:
|
|
298
|
-
|
|
299
|
-
```bash
|
|
300
|
-
auto generate:client
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
2. **Start Development Server**:
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
cd client
|
|
307
|
-
npm run start
|
|
308
|
-
```
|
|
131
|
+
### IAScheme Structure
|
|
309
132
|
|
|
310
|
-
|
|
133
|
+
```typescript
|
|
134
|
+
interface IAScheme {
|
|
135
|
+
schema_description: string;
|
|
136
|
+
atoms: ComponentGroup<AtomSpec>;
|
|
137
|
+
molecules: ComponentGroup<MoleculeSpec>;
|
|
138
|
+
organisms: ComponentGroup<OrganismSpec>;
|
|
139
|
+
pages: PageGroup;
|
|
140
|
+
}
|
|
141
|
+
```
|
|
311
142
|
|
|
312
|
-
|
|
313
|
-
npm run codegen
|
|
314
|
-
```
|
|
143
|
+
### Starter Templates
|
|
315
144
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
145
|
+
| Template | Stack |
|
|
146
|
+
|----------|-------|
|
|
147
|
+
| `shadcn` | React + Vite + shadcn/ui + Tailwind + Apollo |
|
|
148
|
+
| `mui` | React + Vite + Material-UI + Apollo |
|
|
320
149
|
|
|
321
|
-
|
|
150
|
+
---
|
|
322
151
|
|
|
323
|
-
|
|
152
|
+
## Architecture
|
|
324
153
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
154
|
+
```
|
|
155
|
+
src/
|
|
156
|
+
├── index.ts
|
|
157
|
+
├── types.ts
|
|
158
|
+
├── builder.ts
|
|
159
|
+
├── configure-starter.ts
|
|
160
|
+
├── run-codegen.ts
|
|
161
|
+
├── scaffold-gql-operations.ts
|
|
162
|
+
├── graphql-type-extractor.ts
|
|
163
|
+
├── generator/
|
|
164
|
+
│ ├── generateComponents.ts
|
|
165
|
+
│ └── templates/
|
|
166
|
+
├── commands/
|
|
167
|
+
│ └── generate-client.ts
|
|
168
|
+
├── shadcn-starter/
|
|
169
|
+
└── mui-starter/
|
|
170
|
+
```
|
|
329
171
|
|
|
330
|
-
|
|
172
|
+
The following diagram shows the generation pipeline:
|
|
331
173
|
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
]
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
<MockedProvider mocks={[getUsersMock(mockUsers)]}>
|
|
341
|
-
<UserList />
|
|
342
|
-
</MockedProvider>
|
|
343
|
-
);
|
|
344
|
-
|
|
345
|
-
await waitFor(() => {
|
|
346
|
-
expect(screen.getByText('John Doe')).toBeInTheDocument();
|
|
347
|
-
});
|
|
348
|
-
});
|
|
349
|
-
});
|
|
174
|
+
```mermaid
|
|
175
|
+
flowchart TB
|
|
176
|
+
A[GenerateClient] --> B[Clone Starter]
|
|
177
|
+
B --> C[Generate Components]
|
|
178
|
+
C --> D[Write GraphQL Operations]
|
|
179
|
+
D --> E[Run Codegen]
|
|
180
|
+
E --> F[Configure Starter]
|
|
181
|
+
F --> G[ClientGenerated]
|
|
350
182
|
```
|
|
351
183
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
Generated applications include:
|
|
184
|
+
*Flow: Command clones starter, generates components from IA schema, writes GraphQL operations, runs codegen, applies Figma configuration.*
|
|
355
185
|
|
|
356
|
-
|
|
357
|
-
- Lazy Loading: Images and non-critical components
|
|
358
|
-
- Bundle Analysis: Tools to analyze and optimize bundle size
|
|
359
|
-
- Caching Strategies: Apollo Client caching and persistence
|
|
360
|
-
- Optimization: Production build optimizations
|
|
186
|
+
### Dependencies
|
|
361
187
|
|
|
362
|
-
|
|
188
|
+
| Package | Usage |
|
|
189
|
+
|---------|-------|
|
|
190
|
+
| `@auto-engineer/ai-gateway` | AI-powered Figma variable mapping |
|
|
191
|
+
| `@auto-engineer/message-bus` | Command handler infrastructure |
|
|
192
|
+
| `ejs` | Template rendering |
|
|
193
|
+
| `graphql` | GraphQL schema parsing |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-example.d.ts","sourceRoot":"","sources":["../../../src/commands/copy-example.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAK5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,aAAa,EACb;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CACpC,eAAe,EACf;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACxC,mBAAmB,EACnB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,eAAO,MAAM,cAAc;;;qBAtBV,MAAM;mBACR,MAAM;;;;;
|
|
1
|
+
{"version":3,"file":"copy-example.d.ts","sourceRoot":"","sources":["../../../src/commands/copy-example.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAK5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,aAAa,EACb;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,KAAK,CACpC,eAAe,EACf;IACE,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACxC,mBAAmB,EACnB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,eAAO,MAAM,cAAc;;;qBAtBV,MAAM;mBACR,MAAM;;;;;GAwDnB,CAAC;AAkBH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,CA+EtD;AAGD,eAAe,cAAc,CAAC"}
|
|
@@ -6,6 +6,7 @@ import createDebug from 'debug';
|
|
|
6
6
|
const debug = createDebug('auto:frontend-generator-react-graphql:copy-example');
|
|
7
7
|
export const commandHandler = defineCommandHandler({
|
|
8
8
|
name: 'CopyExample',
|
|
9
|
+
displayName: 'Copy Example',
|
|
9
10
|
alias: 'copy:example',
|
|
10
11
|
description: 'Copy example React GraphQL template',
|
|
11
12
|
category: 'copy',
|
|
@@ -21,7 +22,10 @@ export const commandHandler = defineCommandHandler({
|
|
|
21
22
|
},
|
|
22
23
|
},
|
|
23
24
|
examples: ['$ auto copy:example --starter-name=shadcn-starter --target-dir=./my-starter'],
|
|
24
|
-
events: [
|
|
25
|
+
events: [
|
|
26
|
+
{ name: 'ExampleCopied', displayName: 'Example Copied' },
|
|
27
|
+
{ name: 'ExampleCopyFailed', displayName: 'Example Copy Failed' },
|
|
28
|
+
],
|
|
25
29
|
handle: async (command) => {
|
|
26
30
|
const typedCommand = command;
|
|
27
31
|
const result = await handleCopyExampleCommand(typedCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-example.js","sourceRoot":"","sources":["../../../src/commands/copy-example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAgB,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC5F,OAAO,WAAW,MAAM,OAAO,CAAC;AAEhC,MAAM,KAAK,GAAG,WAAW,CAAC,oDAAoD,CAAC,CAAC;AA2BhF,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAGhD;IACA,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,qCAAqC;IAClD,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE;QACN,WAAW,EAAE;YACX,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,IAAI;SACf;QACD,SAAS,EAAE;YACT,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE,CAAC,6EAA6E,CAAC;IACzF,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"copy-example.js","sourceRoot":"","sources":["../../../src/commands/copy-example.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-client.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAO5F,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,UAAU,CAAC;AAgBxD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,iBAAiB,EACjB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAC7C,wBAAwB,EACxB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;AAEtF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"generate-client.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAO5F,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,UAAU,CAAC;AAgBxD,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,gBAAgB,EAChB;IACE,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,iBAAiB,EACjB;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,aAAa,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ,CACF,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAC7C,wBAAwB,EACxB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,2BAA2B,CAAC;AAEtF,eAAO,MAAM,cAAc,qDAiDzB,CAAC;AAyFH,eAAe,cAAc,CAAC"}
|
|
@@ -21,6 +21,7 @@ const resolveStarterPath = (starter) => {
|
|
|
21
21
|
};
|
|
22
22
|
export const commandHandler = defineCommandHandler({
|
|
23
23
|
name: 'GenerateClient',
|
|
24
|
+
displayName: 'Generate Client',
|
|
24
25
|
alias: 'generate:client',
|
|
25
26
|
description: 'Generate React client app',
|
|
26
27
|
category: 'generate',
|
|
@@ -50,7 +51,10 @@ export const commandHandler = defineCommandHandler({
|
|
|
50
51
|
examples: [
|
|
51
52
|
'$ auto generate:client --starter-dir=./shadcn-starter --target-dir=./client --ia-schema-path=./auto-ia.json --gql-schema-path=./schema.graphql --figma-variables-path=./figma-vars.json',
|
|
52
53
|
],
|
|
53
|
-
events: [
|
|
54
|
+
events: [
|
|
55
|
+
{ name: 'ClientGenerated', displayName: 'Client Generated' },
|
|
56
|
+
{ name: 'ClientGenerationFailed', displayName: 'Client Generation Failed' },
|
|
57
|
+
],
|
|
54
58
|
handle: async (command) => {
|
|
55
59
|
const typedCommand = command;
|
|
56
60
|
debug('Command handler invoked for GenerateClient');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-client.js","sourceRoot":"","sources":["../../../src/commands/generate-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAgB,oBAAoB,EAAc,MAAM,4BAA4B,CAAC;AAC5F,OAAO,WAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,KAAK,GAAG,WAAW,CAAC,+CAA+C,CAAC,CAAC;AAC3E,MAAM,YAAY,GAAG,WAAW,CAAC,uDAAuD,CAAC,CAAC;AAC1F,MAAM,eAAe,GAAG,WAAW,CAAC,0DAA0D,CAAC,CAAC;AAEhG,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAyB,EAAU,EAAE;IAC/D,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,UAAU,CAAC,CAAC;AAClE,CAAC,CAAC;AAmCF,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;IACjD,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,2BAA2B;IACxC,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,SAAS;IACf,MAAM,EAAE;QACN,UAAU,EAAE;YACV,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf;QACD,SAAS,EAAE;YACT,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACf;QACD,aAAa,EAAE;YACb,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf;QACD,kBAAkB,EAAE;YAClB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE;QACR,yLAAyL;KAC1L;IACD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-client.js","sourceRoot":"","sources":["../../../src/commands/generate-client.ts"],"names":[],"mappings":"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"}
|