swallowkit 0.2.0-beta.1 → 0.3.0-beta.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/LICENSE +21 -21
- package/README.ja.md +183 -183
- package/README.md +184 -184
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +17 -14
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/create-model.d.ts.map +1 -1
- package/dist/cli/commands/create-model.js +14 -11
- package/dist/cli/commands/create-model.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +3 -0
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +3 -0
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/index.d.ts +0 -2
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -5
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +1885 -1490
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/provision.d.ts.map +1 -1
- package/dist/cli/commands/provision.js +3 -0
- package/dist/cli/commands/provision.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +131 -128
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/commands/setup.d.ts +6 -0
- package/dist/cli/commands/setup.d.ts.map +1 -0
- package/dist/cli/commands/setup.js +224 -0
- package/dist/cli/commands/setup.js.map +1 -0
- package/dist/cli/index.js +0 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/core/config.d.ts +13 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +45 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/scaffold/functions-generator.js +351 -351
- package/dist/core/scaffold/model-parser.js +96 -96
- package/dist/core/scaffold/nextjs-generator.js +373 -373
- package/dist/core/scaffold/ui-generator.js +554 -554
- package/package.json +73 -73
package/README.md
CHANGED
|
@@ -1,184 +1,184 @@
|
|
|
1
|
-
# SwallowKit
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/swallowkit)
|
|
4
|
-
[](https://www.npmjs.com/package/swallowkit)
|
|
5
|
-
[](./LICENSE)
|
|
6
|
-
|
|
7
|
-
English | [日本語](./README.ja.md)
|
|
8
|
-
|
|
9
|
-
**Type-safe schema-driven development toolkit for Next.js applications on Azure**
|
|
10
|
-
|
|
11
|
-
SwallowKit enables developers to build full-stack Next.js applications with external Azure Functions backends while maintaining end-to-end type safety through shared Zod schemas.
|
|
12
|
-
|
|
13
|
-
Deploy your Next.js app to Azure Static Web Apps using standalone mode, and connect to independent Azure Functions for backend operations.
|
|
14
|
-
|
|
15
|
-
Next.js API routes are restricted to use only as BFF (Backend For Frontend), offloading business logic to Azure Functions to provide clear separation between client and server.
|
|
16
|
-
|
|
17
|
-
Featuring Scaffold functionality to automatically generate CRUD operations from Zod schemas, achieving type-safe integration with Cosmos DB and consistent type definitions and validation.
|
|
18
|
-
|
|
19
|
-
> **Note**: This project is in active development. APIs may change in future versions.
|
|
20
|
-
|
|
21
|
-
## ✨ Key Features
|
|
22
|
-
|
|
23
|
-
- **🔄 Zod Schema Sharing** - Same schema across frontend, BFF, Azure Functions, and Cosmos DB
|
|
24
|
-
- **⚡ CRUD Code Generation** - Auto-generate Azure Functions + Next.js code with `swallowkit scaffold`
|
|
25
|
-
- **🛡️ Full Type Safety** - End-to-end TypeScript from client to database
|
|
26
|
-
- **🎯 BFF Pattern** - Next.js API Routes as BFF layer with auto-validation and resource inference
|
|
27
|
-
- **☁️ Azure Optimized** - Minimal-cost architecture with Static Web Apps + Functions + Cosmos DB
|
|
28
|
-
- **🚀 Easy Deployment** - Auto-generated Bicep IaC + CI/CD workflows
|
|
29
|
-
|
|
30
|
-
## 📚 Documentation
|
|
31
|
-
|
|
32
|
-
- **[CLI Reference](./docs/cli-reference.md)** - All commands in detail
|
|
33
|
-
- **[Scaffold Guide](./docs/scaffold-guide.md)** - CRUD code generation
|
|
34
|
-
- **[Zod Schema Sharing Guide](./docs/zod-schema-sharing-guide.md)** - Schema design
|
|
35
|
-
- **[Deployment Guide](./docs/deployment-guide.md)** - Deploy to Azure
|
|
36
|
-
|
|
37
|
-
## 🚀 Quick Start
|
|
38
|
-
|
|
39
|
-
### 1. Create Project
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
npx swallowkit init my-app
|
|
43
|
-
cd my-app
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### 2. Create Model
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
npx swallowkit create-model todo
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
This generates `lib/models/todo.ts`. Customize it by adding your required fields:
|
|
53
|
-
|
|
54
|
-
```typescript
|
|
55
|
-
// lib/models/todo.ts
|
|
56
|
-
import { z } from 'zod';
|
|
57
|
-
|
|
58
|
-
export const todoSchema = z.object({
|
|
59
|
-
id: z.string(),
|
|
60
|
-
text: z.string().min(1).max(200),
|
|
61
|
-
completed: z.boolean().default(false),
|
|
62
|
-
createdAt: z.string().optional(),
|
|
63
|
-
updatedAt: z.string().optional(),
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
export type Todo = z.infer<typeof todoSchema>;
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 3. Generate CRUD Code
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
npx swallowkit scaffold lib/models/todo.ts
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
This auto-generates:
|
|
76
|
-
- ✅ Azure Functions (CRUD endpoints + Cosmos DB bindings)
|
|
77
|
-
- ✅ Next.js BFF API Routes (auto-validation + resource inference)
|
|
78
|
-
- ✅ React Components (type-safe forms)
|
|
79
|
-
|
|
80
|
-
### 4. Start Development Server
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
npx swallowkit dev
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
- Next.js: http://localhost:3000
|
|
87
|
-
- Azure Functions: http://localhost:7071
|
|
88
|
-
|
|
89
|
-
### 5. Use from Frontend
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
import { api } from '@/lib/api/backend';
|
|
93
|
-
import type { Todo } from '@/lib/models/todo';
|
|
94
|
-
|
|
95
|
-
// Get all - call BFF endpoint
|
|
96
|
-
const todos = await api.get<Todo[]>('/api/todos');
|
|
97
|
-
|
|
98
|
-
// Create - validated by backend
|
|
99
|
-
const created = await api.post<Todo>('/api/todos', {
|
|
100
|
-
text: 'Buy milk',
|
|
101
|
-
completed: false
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
// Update - validated by backend
|
|
105
|
-
const updated = await api.put<Todo>('/api/todos/123', { completed: true });
|
|
106
|
-
|
|
107
|
-
// Delete
|
|
108
|
-
await api.delete('/api/todos/123');
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
## 🏗️ Architecture
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
115
|
-
│ Frontend (React) │
|
|
116
|
-
│ - Client Components │
|
|
117
|
-
│ - Server Components (SSR) │
|
|
118
|
-
└──────────────────────────┬───────────────────────────────────┘
|
|
119
|
-
│ api.post('/api/todos', data)
|
|
120
|
-
▼
|
|
121
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
122
|
-
│ BFF Layer (Next.js API Routes) │
|
|
123
|
-
│ - Auto Schema Validation (Zod) │
|
|
124
|
-
│ - Error Handling │
|
|
125
|
-
└──────────────────────────┬───────────────────────────────────┘
|
|
126
|
-
│ HTTP Request
|
|
127
|
-
▼
|
|
128
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
129
|
-
│ Azure Functions (Backend) │
|
|
130
|
-
│ - HTTP Triggers (CRUD) │
|
|
131
|
-
│ - Zod Validation (Re-check) │
|
|
132
|
-
│ - Business Logic │
|
|
133
|
-
│ - Cosmos DB Bindings │
|
|
134
|
-
└──────────────────────────┬───────────────────────────────────┘
|
|
135
|
-
│
|
|
136
|
-
▼
|
|
137
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
138
|
-
│ Azure Cosmos DB │
|
|
139
|
-
│ - NoSQL Database │
|
|
140
|
-
│ - Zod Schema Validation │
|
|
141
|
-
└─────────────────────────────────────────────────────────────┘
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
**Key Patterns:**
|
|
145
|
-
- **BFF (Backend For Frontend)**: Next.js API Routes proxy to Azure Functions
|
|
146
|
-
- **Shared Schemas**: Zod schemas used across frontend, BFF, Functions, and DB
|
|
147
|
-
- **Type Safety**: TypeScript types auto-inferred from Zod
|
|
148
|
-
- **Managed Identity**: Secure service connections (no connection strings)
|
|
149
|
-
|
|
150
|
-
## 📦 Prerequisites
|
|
151
|
-
|
|
152
|
-
- Node.js 22.x
|
|
153
|
-
- Azure Cosmos DB Emulator (local development)
|
|
154
|
-
- [Official documentation](https://learn.microsoft.com/en-us/azure/cosmos-db/emulator)
|
|
155
|
-
- Windows: [Download](https://aka.ms/cosmosdb-emulator)
|
|
156
|
-
- Docker: `docker run -p 8081:8081 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator`
|
|
157
|
-
|
|
158
|
-
## 🚀 Deploy to Azure
|
|
159
|
-
|
|
160
|
-
Deploy your Next.js app to Azure Static Web Apps using standalone mode, and connect to independent Azure Functions for backend operations.
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
# 1. Provision resources (Bicep IaC)
|
|
164
|
-
npx swallowkit provision --resource-group my-app-rg --location japaneast
|
|
165
|
-
|
|
166
|
-
# 2. Configure CI/CD secrets (see deployment guide for details)
|
|
167
|
-
|
|
168
|
-
# 3. Push code for auto-deploy
|
|
169
|
-
git push origin main
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
See **[Deployment Guide](./docs/deployment-guide.md)** for details.
|
|
173
|
-
|
|
174
|
-
## License
|
|
175
|
-
|
|
176
|
-
MIT
|
|
177
|
-
|
|
178
|
-
## 🔗 Related Links
|
|
179
|
-
|
|
180
|
-
- [Azure Static Web Apps](https://learn.microsoft.com/en-us/azure/static-web-apps/)
|
|
181
|
-
- [Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/)
|
|
182
|
-
- [Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/)
|
|
183
|
-
- [Next.js](https://nextjs.org/)
|
|
184
|
-
- [Zod](https://zod.dev/)
|
|
1
|
+
# SwallowKit
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/swallowkit)
|
|
4
|
+
[](https://www.npmjs.com/package/swallowkit)
|
|
5
|
+
[](./LICENSE)
|
|
6
|
+
|
|
7
|
+
English | [日本語](./README.ja.md)
|
|
8
|
+
|
|
9
|
+
**Type-safe schema-driven development toolkit for Next.js applications on Azure**
|
|
10
|
+
|
|
11
|
+
SwallowKit enables developers to build full-stack Next.js applications with external Azure Functions backends while maintaining end-to-end type safety through shared Zod schemas.
|
|
12
|
+
|
|
13
|
+
Deploy your Next.js app to Azure Static Web Apps using standalone mode, and connect to independent Azure Functions for backend operations.
|
|
14
|
+
|
|
15
|
+
Next.js API routes are restricted to use only as BFF (Backend For Frontend), offloading business logic to Azure Functions to provide clear separation between client and server.
|
|
16
|
+
|
|
17
|
+
Featuring Scaffold functionality to automatically generate CRUD operations from Zod schemas, achieving type-safe integration with Cosmos DB and consistent type definitions and validation.
|
|
18
|
+
|
|
19
|
+
> **Note**: This project is in active development. APIs may change in future versions.
|
|
20
|
+
|
|
21
|
+
## ✨ Key Features
|
|
22
|
+
|
|
23
|
+
- **🔄 Zod Schema Sharing** - Same schema across frontend, BFF, Azure Functions, and Cosmos DB
|
|
24
|
+
- **⚡ CRUD Code Generation** - Auto-generate Azure Functions + Next.js code with `swallowkit scaffold`
|
|
25
|
+
- **🛡️ Full Type Safety** - End-to-end TypeScript from client to database
|
|
26
|
+
- **🎯 BFF Pattern** - Next.js API Routes as BFF layer with auto-validation and resource inference
|
|
27
|
+
- **☁️ Azure Optimized** - Minimal-cost architecture with Static Web Apps + Functions + Cosmos DB
|
|
28
|
+
- **🚀 Easy Deployment** - Auto-generated Bicep IaC + CI/CD workflows
|
|
29
|
+
|
|
30
|
+
## 📚 Documentation
|
|
31
|
+
|
|
32
|
+
- **[CLI Reference](./docs/cli-reference.md)** - All commands in detail
|
|
33
|
+
- **[Scaffold Guide](./docs/scaffold-guide.md)** - CRUD code generation
|
|
34
|
+
- **[Zod Schema Sharing Guide](./docs/zod-schema-sharing-guide.md)** - Schema design
|
|
35
|
+
- **[Deployment Guide](./docs/deployment-guide.md)** - Deploy to Azure
|
|
36
|
+
|
|
37
|
+
## 🚀 Quick Start
|
|
38
|
+
|
|
39
|
+
### 1. Create Project
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx swallowkit init my-app
|
|
43
|
+
cd my-app
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. Create Model
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npx swallowkit create-model todo
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This generates `lib/models/todo.ts`. Customize it by adding your required fields:
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
// lib/models/todo.ts
|
|
56
|
+
import { z } from 'zod';
|
|
57
|
+
|
|
58
|
+
export const todoSchema = z.object({
|
|
59
|
+
id: z.string(),
|
|
60
|
+
text: z.string().min(1).max(200),
|
|
61
|
+
completed: z.boolean().default(false),
|
|
62
|
+
createdAt: z.string().optional(),
|
|
63
|
+
updatedAt: z.string().optional(),
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
export type Todo = z.infer<typeof todoSchema>;
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### 3. Generate CRUD Code
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx swallowkit scaffold lib/models/todo.ts
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
This auto-generates:
|
|
76
|
+
- ✅ Azure Functions (CRUD endpoints + Cosmos DB bindings)
|
|
77
|
+
- ✅ Next.js BFF API Routes (auto-validation + resource inference)
|
|
78
|
+
- ✅ React Components (type-safe forms)
|
|
79
|
+
|
|
80
|
+
### 4. Start Development Server
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npx swallowkit dev
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
- Next.js: http://localhost:3000
|
|
87
|
+
- Azure Functions: http://localhost:7071
|
|
88
|
+
|
|
89
|
+
### 5. Use from Frontend
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
import { api } from '@/lib/api/backend';
|
|
93
|
+
import type { Todo } from '@/lib/models/todo';
|
|
94
|
+
|
|
95
|
+
// Get all - call BFF endpoint
|
|
96
|
+
const todos = await api.get<Todo[]>('/api/todos');
|
|
97
|
+
|
|
98
|
+
// Create - validated by backend
|
|
99
|
+
const created = await api.post<Todo>('/api/todos', {
|
|
100
|
+
text: 'Buy milk',
|
|
101
|
+
completed: false
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
// Update - validated by backend
|
|
105
|
+
const updated = await api.put<Todo>('/api/todos/123', { completed: true });
|
|
106
|
+
|
|
107
|
+
// Delete
|
|
108
|
+
await api.delete('/api/todos/123');
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 🏗️ Architecture
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
115
|
+
│ Frontend (React) │
|
|
116
|
+
│ - Client Components │
|
|
117
|
+
│ - Server Components (SSR) │
|
|
118
|
+
└──────────────────────────┬───────────────────────────────────┘
|
|
119
|
+
│ api.post('/api/todos', data)
|
|
120
|
+
▼
|
|
121
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
122
|
+
│ BFF Layer (Next.js API Routes) │
|
|
123
|
+
│ - Auto Schema Validation (Zod) │
|
|
124
|
+
│ - Error Handling │
|
|
125
|
+
└──────────────────────────┬───────────────────────────────────┘
|
|
126
|
+
│ HTTP Request
|
|
127
|
+
▼
|
|
128
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
129
|
+
│ Azure Functions (Backend) │
|
|
130
|
+
│ - HTTP Triggers (CRUD) │
|
|
131
|
+
│ - Zod Validation (Re-check) │
|
|
132
|
+
│ - Business Logic │
|
|
133
|
+
│ - Cosmos DB Bindings │
|
|
134
|
+
└──────────────────────────┬───────────────────────────────────┘
|
|
135
|
+
│
|
|
136
|
+
▼
|
|
137
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
138
|
+
│ Azure Cosmos DB │
|
|
139
|
+
│ - NoSQL Database │
|
|
140
|
+
│ - Zod Schema Validation │
|
|
141
|
+
└─────────────────────────────────────────────────────────────┘
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Key Patterns:**
|
|
145
|
+
- **BFF (Backend For Frontend)**: Next.js API Routes proxy to Azure Functions
|
|
146
|
+
- **Shared Schemas**: Zod schemas used across frontend, BFF, Functions, and DB
|
|
147
|
+
- **Type Safety**: TypeScript types auto-inferred from Zod
|
|
148
|
+
- **Managed Identity**: Secure service connections (no connection strings)
|
|
149
|
+
|
|
150
|
+
## 📦 Prerequisites
|
|
151
|
+
|
|
152
|
+
- Node.js 22.x
|
|
153
|
+
- Azure Cosmos DB Emulator (local development)
|
|
154
|
+
- [Official documentation](https://learn.microsoft.com/en-us/azure/cosmos-db/emulator)
|
|
155
|
+
- Windows: [Download](https://aka.ms/cosmosdb-emulator)
|
|
156
|
+
- Docker: `docker run -p 8081:8081 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator`
|
|
157
|
+
|
|
158
|
+
## 🚀 Deploy to Azure
|
|
159
|
+
|
|
160
|
+
Deploy your Next.js app to Azure Static Web Apps using standalone mode, and connect to independent Azure Functions for backend operations.
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# 1. Provision resources (Bicep IaC)
|
|
164
|
+
npx swallowkit provision --resource-group my-app-rg --location japaneast
|
|
165
|
+
|
|
166
|
+
# 2. Configure CI/CD secrets (see deployment guide for details)
|
|
167
|
+
|
|
168
|
+
# 3. Push code for auto-deploy
|
|
169
|
+
git push origin main
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
See **[Deployment Guide](./docs/deployment-guide.md)** for details.
|
|
173
|
+
|
|
174
|
+
## License
|
|
175
|
+
|
|
176
|
+
MIT
|
|
177
|
+
|
|
178
|
+
## 🔗 Related Links
|
|
179
|
+
|
|
180
|
+
- [Azure Static Web Apps](https://learn.microsoft.com/en-us/azure/static-web-apps/)
|
|
181
|
+
- [Azure Functions](https://learn.microsoft.com/en-us/azure/azure-functions/)
|
|
182
|
+
- [Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/)
|
|
183
|
+
- [Next.js](https://nextjs.org/)
|
|
184
|
+
- [Zod](https://zod.dev/)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,iBAkCvD"}
|
|
@@ -36,7 +36,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.buildCommand = buildCommand;
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
const config_1 = require("../../core/config");
|
|
39
40
|
async function buildCommand(options) {
|
|
41
|
+
// SwallowKit プロジェクトディレクトリかどうかを検証
|
|
42
|
+
(0, config_1.ensureSwallowKitProject)("build");
|
|
40
43
|
console.log("🔨 Building Next.js app for Azure Static Web Apps...");
|
|
41
44
|
const projectRoot = process.cwd();
|
|
42
45
|
const outputDir = path.join(projectRoot, options.output);
|
|
@@ -86,21 +89,21 @@ async function ensureNextJsConfig(projectRoot) {
|
|
|
86
89
|
}
|
|
87
90
|
// standalone モードを追加
|
|
88
91
|
const newConfig = isEsm
|
|
89
|
-
? `/** @type {import('next').NextConfig} */
|
|
90
|
-
const nextConfig = {
|
|
91
|
-
output: 'standalone',
|
|
92
|
-
// その他の設定はここに追加
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
export default nextConfig;
|
|
92
|
+
? `/** @type {import('next').NextConfig} */
|
|
93
|
+
const nextConfig = {
|
|
94
|
+
output: 'standalone',
|
|
95
|
+
// その他の設定はここに追加
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export default nextConfig;
|
|
96
99
|
`
|
|
97
|
-
: `/** @type {import('next').NextConfig} */
|
|
98
|
-
const nextConfig = {
|
|
99
|
-
output: 'standalone',
|
|
100
|
-
// その他の設定はここに追加
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
module.exports = nextConfig;
|
|
100
|
+
: `/** @type {import('next').NextConfig} */
|
|
101
|
+
const nextConfig = {
|
|
102
|
+
output: 'standalone',
|
|
103
|
+
// その他の設定はここに追加
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
module.exports = nextConfig;
|
|
104
107
|
`;
|
|
105
108
|
fs.writeFileSync(configPath, newConfig, 'utf-8');
|
|
106
109
|
console.log('✅ Next.js configured for standalone mode');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-model.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/create-model.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"create-model.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/create-model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,iBAwDnE"}
|
|
@@ -42,23 +42,24 @@ const fs = __importStar(require("fs"));
|
|
|
42
42
|
const path = __importStar(require("path"));
|
|
43
43
|
const readline = __importStar(require("readline"));
|
|
44
44
|
const model_parser_1 = require("../../core/scaffold/model-parser");
|
|
45
|
+
const config_1 = require("../../core/config");
|
|
45
46
|
/**
|
|
46
47
|
* モデルテンプレートを生成
|
|
47
48
|
*/
|
|
48
49
|
function generateModelTemplate(modelName) {
|
|
49
50
|
const pascalName = (0, model_parser_1.toPascalCase)(modelName);
|
|
50
51
|
const camelName = (0, model_parser_1.toCamelCase)(modelName);
|
|
51
|
-
return `import { z } from 'zod';
|
|
52
|
-
|
|
53
|
-
// ${pascalName} model
|
|
54
|
-
export const ${camelName}Schema = z.object({
|
|
55
|
-
id: z.string(),
|
|
56
|
-
name: z.string().min(1),
|
|
57
|
-
createdAt: z.string().optional(),
|
|
58
|
-
updatedAt: z.string().optional(),
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
export type ${pascalName} = z.infer<typeof ${camelName}Schema>;
|
|
52
|
+
return `import { z } from 'zod';
|
|
53
|
+
|
|
54
|
+
// ${pascalName} model
|
|
55
|
+
export const ${camelName}Schema = z.object({
|
|
56
|
+
id: z.string(),
|
|
57
|
+
name: z.string().min(1),
|
|
58
|
+
createdAt: z.string().optional(),
|
|
59
|
+
updatedAt: z.string().optional(),
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export type ${pascalName} = z.infer<typeof ${camelName}Schema>;
|
|
62
63
|
`;
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
@@ -80,6 +81,8 @@ function askConfirmation(question) {
|
|
|
80
81
|
* create-model コマンド
|
|
81
82
|
*/
|
|
82
83
|
async function createModelCommand(options) {
|
|
84
|
+
// SwallowKit プロジェクトディレクトリかどうかを検証
|
|
85
|
+
(0, config_1.ensureSwallowKitProject)("create-model");
|
|
83
86
|
console.log("🏗️ SwallowKit Create-Model: Generating model templates...\n");
|
|
84
87
|
const modelsDir = options.modelsDir || "lib/models";
|
|
85
88
|
// lib/models ディレクトリが存在しなければ作成
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-model.js","sourceRoot":"","sources":["../../../src/cli/commands/create-model.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-model.js","sourceRoot":"","sources":["../../../src/cli/commands/create-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,aAAa,SAmDtB,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.deployCommand = void 0;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const child_process_1 = require("child_process");
|
|
6
|
+
const config_1 = require("../../core/config");
|
|
6
7
|
exports.deployCommand = new commander_1.Command()
|
|
7
8
|
.name('deploy')
|
|
8
9
|
.description('Deploy to Azure Static Web Apps')
|
|
@@ -11,6 +12,8 @@ exports.deployCommand = new commander_1.Command()
|
|
|
11
12
|
.option('--location <location>', 'Azure region', 'japaneast')
|
|
12
13
|
.option('--skip-build', 'Skip build step', false)
|
|
13
14
|
.action(async (options) => {
|
|
15
|
+
// SwallowKit プロジェクトディレクトリかどうかを検証
|
|
16
|
+
(0, config_1.ensureSwallowKitProject)("deploy");
|
|
14
17
|
console.log('🚀 Deploying to Azure...\n');
|
|
15
18
|
try {
|
|
16
19
|
const projectRoot = process.cwd();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,iDAAsC;
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/cli/commands/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEpC,eAAO,MAAM,UAAU,SAmBnB,CAAC"}
|
package/dist/cli/commands/dev.js
CHANGED
|
@@ -39,6 +39,7 @@ const child_process_1 = require("child_process");
|
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
40
|
const fs = __importStar(require("fs"));
|
|
41
41
|
const cosmos_1 = require("@azure/cosmos");
|
|
42
|
+
const config_1 = require("../../core/config");
|
|
42
43
|
/**
|
|
43
44
|
* Check if Azure Functions Core Tools is installed
|
|
44
45
|
*/
|
|
@@ -89,6 +90,8 @@ exports.devCommand = new commander_1.Command()
|
|
|
89
90
|
.option('--verbose', 'Show verbose logs', false)
|
|
90
91
|
.option('--no-functions', 'Skip Azure Functions startup', false)
|
|
91
92
|
.action(async (options) => {
|
|
93
|
+
// SwallowKit プロジェクトディレクトリかどうかを検証
|
|
94
|
+
(0, config_1.ensureSwallowKitProject)("dev");
|
|
92
95
|
console.log('🚀 Starting SwallowKit development environment...');
|
|
93
96
|
if (options.verbose) {
|
|
94
97
|
console.log('⚙️ Options:', options);
|