swallowkit 1.0.0-beta.5 → 1.0.0-beta.7
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 +251 -242
- package/README.md +252 -243
- package/dist/__tests__/fixtures.d.ts +14 -0
- package/dist/__tests__/fixtures.d.ts.map +1 -0
- package/dist/__tests__/fixtures.js +85 -0
- package/dist/__tests__/fixtures.js.map +1 -0
- package/dist/cli/commands/create-model.js +14 -14
- package/dist/cli/commands/dev.d.ts +8 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +238 -30
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/init.d.ts +5 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +2507 -1664
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/scaffold.d.ts +3 -0
- package/dist/cli/commands/scaffold.d.ts.map +1 -1
- package/dist/cli/commands/scaffold.js +281 -117
- package/dist/cli/commands/scaffold.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/config.d.ts +2 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +28 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/scaffold/functions-generator.d.ts +5 -0
- package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
- package/dist/core/scaffold/functions-generator.js +649 -218
- package/dist/core/scaffold/functions-generator.js.map +1 -1
- package/dist/core/scaffold/model-parser.d.ts +1 -1
- package/dist/core/scaffold/model-parser.js +99 -99
- package/dist/core/scaffold/nextjs-generator.js +181 -181
- package/dist/core/scaffold/openapi-generator.d.ts +3 -0
- package/dist/core/scaffold/openapi-generator.d.ts.map +1 -0
- package/dist/core/scaffold/openapi-generator.js +190 -0
- package/dist/core/scaffold/openapi-generator.js.map +1 -0
- package/dist/core/scaffold/ui-generator.js +656 -656
- package/dist/database/base-model.d.ts +3 -3
- package/dist/database/base-model.js +3 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/package-manager.d.ts +2 -1
- package/dist/utils/package-manager.d.ts.map +1 -1
- package/dist/utils/package-manager.js +14 -10
- package/dist/utils/package-manager.js.map +1 -1
- package/package.json +81 -74
- package/src/__tests__/__snapshots__/functions-generator.test.ts.snap +445 -0
- package/src/__tests__/__snapshots__/nextjs-generator.test.ts.snap +194 -0
- package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +524 -0
- package/src/__tests__/config.test.ts +122 -0
- package/src/__tests__/dev.test.ts +42 -0
- package/src/__tests__/fixtures.ts +83 -0
- package/src/__tests__/functions-generator.test.ts +101 -0
- package/src/__tests__/init.test.ts +59 -0
- package/src/__tests__/nextjs-generator.test.ts +97 -0
- package/src/__tests__/openapi-generator.test.ts +43 -0
- package/src/__tests__/package-manager.test.ts +189 -0
- package/src/__tests__/scaffold.test.ts +39 -0
- package/src/__tests__/string-utils.test.ts +75 -0
- package/src/__tests__/ui-generator.test.ts +144 -0
- package/src/cli/commands/create-model.ts +141 -0
- package/src/cli/commands/dev.ts +794 -0
- package/src/cli/commands/index.ts +8 -0
- package/src/cli/commands/init.ts +3363 -0
- package/src/cli/commands/provision.ts +193 -0
- package/src/cli/commands/scaffold.ts +786 -0
- package/src/cli/index.ts +73 -0
- package/src/core/config.ts +244 -0
- package/src/core/scaffold/functions-generator.ts +674 -0
- package/src/core/scaffold/model-parser.ts +627 -0
- package/src/core/scaffold/nextjs-generator.ts +217 -0
- package/src/core/scaffold/openapi-generator.ts +212 -0
- package/src/core/scaffold/ui-generator.ts +945 -0
- package/src/database/base-model.ts +184 -0
- package/src/database/client.ts +140 -0
- package/src/database/repository.ts +104 -0
- package/src/database/runtime-check.ts +25 -0
- package/src/index.ts +27 -0
- package/src/types/index.ts +45 -0
- package/src/utils/package-manager.ts +229 -0
- package/dist/cli/commands/build.d.ts +0 -6
- package/dist/cli/commands/build.d.ts.map +0 -1
- package/dist/cli/commands/build.js +0 -177
- package/dist/cli/commands/build.js.map +0 -1
- package/dist/cli/commands/deploy.d.ts +0 -3
- package/dist/cli/commands/deploy.d.ts.map +0 -1
- package/dist/cli/commands/deploy.js +0 -147
- package/dist/cli/commands/deploy.js.map +0 -1
- package/dist/cli/commands/setup.d.ts +0 -6
- package/dist/cli/commands/setup.d.ts.map +0 -1
- package/dist/cli/commands/setup.js +0 -254
- package/dist/cli/commands/setup.js.map +0 -1
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.setupCommand = setupCommand;
|
|
37
|
-
const child_process_1 = require("child_process");
|
|
38
|
-
const readline = __importStar(require("readline"));
|
|
39
|
-
async function setupCommand(options = {}) {
|
|
40
|
-
console.log('🚀 SwallowKit セットアップを開始します...');
|
|
41
|
-
console.log('');
|
|
42
|
-
console.log('SwallowKit には以下のツールが必要です:');
|
|
43
|
-
console.log(' 1. Azure CLI');
|
|
44
|
-
console.log(' 2. Azure Static Web Apps CLI (SWA CLI)');
|
|
45
|
-
console.log(' 3. Azure Cosmos DB Emulator');
|
|
46
|
-
console.log('');
|
|
47
|
-
const results = {
|
|
48
|
-
azureCli: await checkAzureCLI(),
|
|
49
|
-
swaCli: await checkSWACLI(),
|
|
50
|
-
cosmosEmulator: await checkCosmosDBEmulator(),
|
|
51
|
-
};
|
|
52
|
-
console.log('📋 インストール状況:');
|
|
53
|
-
console.log(` Azure CLI: ${results.azureCli ? '✅ インストール済み' : '❌ 未インストール'}`);
|
|
54
|
-
console.log(` SWA CLI: ${results.swaCli ? '✅ インストール済み' : '❌ 未インストール'}`);
|
|
55
|
-
console.log(` Cosmos DB Emulator: ${results.cosmosEmulator ? '✅ インストール済み' : '❌ 未インストール'}`);
|
|
56
|
-
console.log('');
|
|
57
|
-
const missing = [];
|
|
58
|
-
if (!results.azureCli)
|
|
59
|
-
missing.push('Azure CLI');
|
|
60
|
-
if (!results.swaCli)
|
|
61
|
-
missing.push('SWA CLI');
|
|
62
|
-
if (!results.cosmosEmulator)
|
|
63
|
-
missing.push('Cosmos DB Emulator');
|
|
64
|
-
if (missing.length === 0) {
|
|
65
|
-
console.log('✅ すべての必須ツールがインストールされています!');
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
console.log(`⚠️ ${missing.length} 個のツールが未インストールです: ${missing.join(', ')}`);
|
|
69
|
-
console.log('');
|
|
70
|
-
// Cosmos DB Emulator だけが未インストールの場合
|
|
71
|
-
const onlyCosmosDbMissing = missing.length === 1 && missing[0] === 'Cosmos DB Emulator';
|
|
72
|
-
if (onlyCosmosDbMissing) {
|
|
73
|
-
// Cosmos DB Emulator は自動インストールしない
|
|
74
|
-
console.log('📦 Cosmos DB Emulator について:');
|
|
75
|
-
console.log('');
|
|
76
|
-
console.log('SwallowKit は Cosmos DB を標準データストアとして使用します。');
|
|
77
|
-
console.log('以下のいずれかの方法でインストールしてください:');
|
|
78
|
-
console.log('');
|
|
79
|
-
console.log('1. Windows 版 (推奨):');
|
|
80
|
-
console.log(' https://aka.ms/cosmosdb-emulator');
|
|
81
|
-
console.log(' または: winget install Microsoft.Azure.CosmosEmulator');
|
|
82
|
-
console.log('');
|
|
83
|
-
console.log('2. Docker 版:');
|
|
84
|
-
console.log(' docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator');
|
|
85
|
-
console.log(' docker run -p 8081:8081 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator');
|
|
86
|
-
console.log('');
|
|
87
|
-
console.log('3. Linux Emulator:');
|
|
88
|
-
console.log(' https://docs.microsoft.com/azure/cosmos-db/linux-emulator');
|
|
89
|
-
console.log('');
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (!options.yes) {
|
|
93
|
-
const answer = await askQuestion('Azure CLI / SWA CLI をインストールしますか? (Y/n): ');
|
|
94
|
-
if (answer.toLowerCase() !== 'y' && answer !== '') {
|
|
95
|
-
console.log('セットアップをキャンセルしました。');
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
console.log('');
|
|
100
|
-
console.log('📦 インストールを開始します...');
|
|
101
|
-
console.log('');
|
|
102
|
-
// Azure CLI
|
|
103
|
-
if (!results.azureCli) {
|
|
104
|
-
console.log('🔄 Azure CLI をインストール中...');
|
|
105
|
-
const azureCliInstalled = await installWithWinget('Microsoft.AzureCLI', 'Azure CLI');
|
|
106
|
-
if (azureCliInstalled) {
|
|
107
|
-
console.log('✅ Azure CLI のインストールが完了しました');
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
console.log('❌ Azure CLI のインストールに失敗しました');
|
|
111
|
-
console.log('💡 手動インストール: https://aka.ms/installazurecliwindows');
|
|
112
|
-
}
|
|
113
|
-
console.log('');
|
|
114
|
-
}
|
|
115
|
-
// SWA CLI
|
|
116
|
-
if (!results.swaCli) {
|
|
117
|
-
console.log('🔄 SWA CLI をインストール中...');
|
|
118
|
-
const swaCliInstalled = await installWithNpm('@azure/static-web-apps-cli', 'SWA CLI');
|
|
119
|
-
if (swaCliInstalled) {
|
|
120
|
-
console.log('✅ SWA CLI のインストールが完了しました');
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
console.log('❌ SWA CLI のインストールに失敗しました');
|
|
124
|
-
console.log('💡 手動インストール: npm install -g @azure/static-web-apps-cli');
|
|
125
|
-
}
|
|
126
|
-
console.log('');
|
|
127
|
-
}
|
|
128
|
-
// Cosmos DB Emulator(インストール方法を案内)
|
|
129
|
-
if (!results.cosmosEmulator) {
|
|
130
|
-
console.log('� Cosmos DB Emulator について:');
|
|
131
|
-
console.log('');
|
|
132
|
-
console.log('SwallowKit は Cosmos DB を標準データストアとして使用します。');
|
|
133
|
-
console.log('以下のいずれかの方法でインストールしてください:');
|
|
134
|
-
console.log('');
|
|
135
|
-
console.log('1. Windows 版 (推奨):');
|
|
136
|
-
console.log(' https://aka.ms/cosmosdb-emulator');
|
|
137
|
-
console.log(' または: winget install Microsoft.Azure.CosmosEmulator');
|
|
138
|
-
console.log('');
|
|
139
|
-
console.log('2. Docker 版:');
|
|
140
|
-
console.log(' docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator');
|
|
141
|
-
console.log(' docker run -p 8081:8081 mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator');
|
|
142
|
-
console.log('');
|
|
143
|
-
console.log('3. Linux Emulator:');
|
|
144
|
-
console.log(' https://docs.microsoft.com/azure/cosmos-db/linux-emulator');
|
|
145
|
-
console.log('');
|
|
146
|
-
}
|
|
147
|
-
console.log('🎉 セットアップが完了しました!');
|
|
148
|
-
console.log('');
|
|
149
|
-
console.log('次のステップ:');
|
|
150
|
-
if (!results.cosmosEmulator) {
|
|
151
|
-
console.log(' 1. Cosmos DB Emulator をインストールして起動');
|
|
152
|
-
console.log(' 2. swallowkit init --name my-app');
|
|
153
|
-
console.log(' 3. cd my-app && npm install');
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
console.log(' 1. swallowkit init --name my-app');
|
|
157
|
-
console.log(' 2. cd my-app && npm install');
|
|
158
|
-
}
|
|
159
|
-
console.log(' 4. swallowkit generate');
|
|
160
|
-
console.log(' 5. swallowkit dev');
|
|
161
|
-
}
|
|
162
|
-
async function checkAzureCLI() {
|
|
163
|
-
return new Promise((resolve) => {
|
|
164
|
-
const checkProcess = (0, child_process_1.spawn)('az', ['--version'], {
|
|
165
|
-
shell: true,
|
|
166
|
-
stdio: 'pipe',
|
|
167
|
-
});
|
|
168
|
-
checkProcess.on('close', (code) => {
|
|
169
|
-
resolve(code === 0);
|
|
170
|
-
});
|
|
171
|
-
checkProcess.on('error', () => {
|
|
172
|
-
resolve(false);
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
async function checkSWACLI() {
|
|
177
|
-
return new Promise((resolve) => {
|
|
178
|
-
const checkProcess = (0, child_process_1.spawn)('swa', ['--version'], {
|
|
179
|
-
shell: true,
|
|
180
|
-
stdio: 'pipe',
|
|
181
|
-
});
|
|
182
|
-
checkProcess.on('close', (code) => {
|
|
183
|
-
resolve(code === 0);
|
|
184
|
-
});
|
|
185
|
-
checkProcess.on('error', () => {
|
|
186
|
-
resolve(false);
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
async function checkCosmosDBEmulator() {
|
|
191
|
-
return new Promise((resolve) => {
|
|
192
|
-
const https = require('https');
|
|
193
|
-
const options = {
|
|
194
|
-
hostname: 'localhost',
|
|
195
|
-
port: 8081,
|
|
196
|
-
path: '/',
|
|
197
|
-
method: 'GET',
|
|
198
|
-
rejectUnauthorized: false,
|
|
199
|
-
timeout: 3000,
|
|
200
|
-
};
|
|
201
|
-
const req = https.request(options, (res) => {
|
|
202
|
-
resolve(res.statusCode === 200 || res.statusCode === 401);
|
|
203
|
-
});
|
|
204
|
-
req.on('error', () => {
|
|
205
|
-
resolve(false);
|
|
206
|
-
});
|
|
207
|
-
req.on('timeout', () => {
|
|
208
|
-
req.destroy();
|
|
209
|
-
resolve(false);
|
|
210
|
-
});
|
|
211
|
-
req.end();
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
async function installWithWinget(packageId, displayName) {
|
|
215
|
-
return new Promise((resolve) => {
|
|
216
|
-
const installProcess = (0, child_process_1.spawn)('winget', ['install', '--id', packageId, '--accept-source-agreements', '--accept-package-agreements'], {
|
|
217
|
-
shell: true,
|
|
218
|
-
stdio: 'inherit',
|
|
219
|
-
});
|
|
220
|
-
installProcess.on('close', (code) => {
|
|
221
|
-
resolve(code === 0);
|
|
222
|
-
});
|
|
223
|
-
installProcess.on('error', () => {
|
|
224
|
-
resolve(false);
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
|
-
async function installWithNpm(packageName, displayName) {
|
|
229
|
-
return new Promise((resolve) => {
|
|
230
|
-
const installProcess = (0, child_process_1.spawn)('npm', ['install', '-g', packageName], {
|
|
231
|
-
shell: true,
|
|
232
|
-
stdio: 'inherit',
|
|
233
|
-
});
|
|
234
|
-
installProcess.on('close', (code) => {
|
|
235
|
-
resolve(code === 0);
|
|
236
|
-
});
|
|
237
|
-
installProcess.on('error', () => {
|
|
238
|
-
resolve(false);
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
function askQuestion(question) {
|
|
243
|
-
const rl = readline.createInterface({
|
|
244
|
-
input: process.stdin,
|
|
245
|
-
output: process.stdout,
|
|
246
|
-
});
|
|
247
|
-
return new Promise((resolve) => {
|
|
248
|
-
rl.question(question, (answer) => {
|
|
249
|
-
rl.close();
|
|
250
|
-
resolve(answer);
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
}
|
|
254
|
-
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|