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.
Files changed (97) hide show
  1. package/LICENSE +21 -21
  2. package/README.ja.md +251 -242
  3. package/README.md +252 -243
  4. package/dist/__tests__/fixtures.d.ts +14 -0
  5. package/dist/__tests__/fixtures.d.ts.map +1 -0
  6. package/dist/__tests__/fixtures.js +85 -0
  7. package/dist/__tests__/fixtures.js.map +1 -0
  8. package/dist/cli/commands/create-model.js +14 -14
  9. package/dist/cli/commands/dev.d.ts +8 -0
  10. package/dist/cli/commands/dev.d.ts.map +1 -1
  11. package/dist/cli/commands/dev.js +238 -30
  12. package/dist/cli/commands/dev.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts +5 -0
  14. package/dist/cli/commands/init.d.ts.map +1 -1
  15. package/dist/cli/commands/init.js +2507 -1664
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/scaffold.d.ts +3 -0
  18. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  19. package/dist/cli/commands/scaffold.js +281 -117
  20. package/dist/cli/commands/scaffold.js.map +1 -1
  21. package/dist/cli/index.js +2 -0
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/core/config.d.ts +2 -1
  24. package/dist/core/config.d.ts.map +1 -1
  25. package/dist/core/config.js +28 -0
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/scaffold/functions-generator.d.ts +5 -0
  28. package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
  29. package/dist/core/scaffold/functions-generator.js +649 -218
  30. package/dist/core/scaffold/functions-generator.js.map +1 -1
  31. package/dist/core/scaffold/model-parser.d.ts +1 -1
  32. package/dist/core/scaffold/model-parser.js +99 -99
  33. package/dist/core/scaffold/nextjs-generator.js +181 -181
  34. package/dist/core/scaffold/openapi-generator.d.ts +3 -0
  35. package/dist/core/scaffold/openapi-generator.d.ts.map +1 -0
  36. package/dist/core/scaffold/openapi-generator.js +190 -0
  37. package/dist/core/scaffold/openapi-generator.js.map +1 -0
  38. package/dist/core/scaffold/ui-generator.js +656 -656
  39. package/dist/database/base-model.d.ts +3 -3
  40. package/dist/database/base-model.js +3 -3
  41. package/dist/index.d.ts +2 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +2 -1
  44. package/dist/index.js.map +1 -1
  45. package/dist/types/index.d.ts +4 -0
  46. package/dist/types/index.d.ts.map +1 -1
  47. package/dist/utils/package-manager.d.ts +2 -1
  48. package/dist/utils/package-manager.d.ts.map +1 -1
  49. package/dist/utils/package-manager.js +14 -10
  50. package/dist/utils/package-manager.js.map +1 -1
  51. package/package.json +81 -74
  52. package/src/__tests__/__snapshots__/functions-generator.test.ts.snap +445 -0
  53. package/src/__tests__/__snapshots__/nextjs-generator.test.ts.snap +194 -0
  54. package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +524 -0
  55. package/src/__tests__/config.test.ts +122 -0
  56. package/src/__tests__/dev.test.ts +42 -0
  57. package/src/__tests__/fixtures.ts +83 -0
  58. package/src/__tests__/functions-generator.test.ts +101 -0
  59. package/src/__tests__/init.test.ts +59 -0
  60. package/src/__tests__/nextjs-generator.test.ts +97 -0
  61. package/src/__tests__/openapi-generator.test.ts +43 -0
  62. package/src/__tests__/package-manager.test.ts +189 -0
  63. package/src/__tests__/scaffold.test.ts +39 -0
  64. package/src/__tests__/string-utils.test.ts +75 -0
  65. package/src/__tests__/ui-generator.test.ts +144 -0
  66. package/src/cli/commands/create-model.ts +141 -0
  67. package/src/cli/commands/dev.ts +794 -0
  68. package/src/cli/commands/index.ts +8 -0
  69. package/src/cli/commands/init.ts +3363 -0
  70. package/src/cli/commands/provision.ts +193 -0
  71. package/src/cli/commands/scaffold.ts +786 -0
  72. package/src/cli/index.ts +73 -0
  73. package/src/core/config.ts +244 -0
  74. package/src/core/scaffold/functions-generator.ts +674 -0
  75. package/src/core/scaffold/model-parser.ts +627 -0
  76. package/src/core/scaffold/nextjs-generator.ts +217 -0
  77. package/src/core/scaffold/openapi-generator.ts +212 -0
  78. package/src/core/scaffold/ui-generator.ts +945 -0
  79. package/src/database/base-model.ts +184 -0
  80. package/src/database/client.ts +140 -0
  81. package/src/database/repository.ts +104 -0
  82. package/src/database/runtime-check.ts +25 -0
  83. package/src/index.ts +27 -0
  84. package/src/types/index.ts +45 -0
  85. package/src/utils/package-manager.ts +229 -0
  86. package/dist/cli/commands/build.d.ts +0 -6
  87. package/dist/cli/commands/build.d.ts.map +0 -1
  88. package/dist/cli/commands/build.js +0 -177
  89. package/dist/cli/commands/build.js.map +0 -1
  90. package/dist/cli/commands/deploy.d.ts +0 -3
  91. package/dist/cli/commands/deploy.d.ts.map +0 -1
  92. package/dist/cli/commands/deploy.js +0 -147
  93. package/dist/cli/commands/deploy.js.map +0 -1
  94. package/dist/cli/commands/setup.d.ts +0 -6
  95. package/dist/cli/commands/setup.d.ts.map +0 -1
  96. package/dist/cli/commands/setup.js +0 -254
  97. package/dist/cli/commands/setup.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * SwallowKit Scaffold コマンド
3
3
  * Zod モデルから Azure Functions と Next.js BFF の CRUD コードを生成
4
4
  */
5
+ import { BackendLanguage } from "../../types";
5
6
  interface ScaffoldOptions {
6
7
  model: string;
7
8
  functionsDir?: string;
@@ -9,5 +10,7 @@ interface ScaffoldOptions {
9
10
  apiOnly?: boolean;
10
11
  }
11
12
  export declare function scaffoldCommand(options: ScaffoldOptions): Promise<void>;
13
+ export declare function getOpenApiGeneratorArgs(specPath: string, outputDir: string, backendLanguage: Exclude<BackendLanguage, "typescript">): string[];
14
+ export declare function getCSharpSchemaArtifactPruneTargets(outputDir: string): string[];
12
15
  export {};
13
16
  //# sourceMappingURL=scaffold.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scaffold.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,iBA4E7D"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/scaffold.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsBH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,iBAuF7D;AAgPD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,GACtD,MAAM,EAAE,CAgCV;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/E"}
@@ -38,13 +38,17 @@ var __importStar = (this && this.__importStar) || (function () {
38
38
  })();
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.scaffoldCommand = scaffoldCommand;
41
+ exports.getOpenApiGeneratorArgs = getOpenApiGeneratorArgs;
42
+ exports.getCSharpSchemaArtifactPruneTargets = getCSharpSchemaArtifactPruneTargets;
41
43
  const fs = __importStar(require("fs"));
42
44
  const path = __importStar(require("path"));
45
+ const child_process_1 = require("child_process");
46
+ const config_1 = require("../../core/config");
43
47
  const model_parser_1 = require("../../core/scaffold/model-parser");
44
48
  const functions_generator_1 = require("../../core/scaffold/functions-generator");
45
49
  const nextjs_generator_1 = require("../../core/scaffold/nextjs-generator");
50
+ const openapi_generator_1 = require("../../core/scaffold/openapi-generator");
46
51
  const ui_generator_1 = require("../../core/scaffold/ui-generator");
47
- const config_1 = require("../../core/config");
48
52
  const package_manager_1 = require("../../utils/package-manager");
49
53
  async function scaffoldCommand(options) {
50
54
  // SwallowKit プロジェクトディレクトリかどうかを検証
@@ -58,6 +62,8 @@ async function scaffoldCommand(options) {
58
62
  console.log("🔍 Parsing model file...");
59
63
  const modelInfo = await (0, model_parser_1.parseModelFile)(modelPath);
60
64
  console.log(`✅ Model parsed: ${modelInfo.name} (${modelInfo.schemaName})`);
65
+ const backendLanguage = (0, config_1.getBackendLanguage)();
66
+ console.log(`🧠 Backend language: ${backendLanguage}`);
61
67
  // ネストスキーマ参照があれば表示
62
68
  if (modelInfo.nestedSchemaRefs.length > 0) {
63
69
  console.log(`🔗 Nested schema references detected:`);
@@ -74,10 +80,16 @@ async function scaffoldCommand(options) {
74
80
  // 4. Read shared package name
75
81
  const functionsDir = options.functionsDir || "functions";
76
82
  const sharedPackageName = readSharedPackageName();
83
+ const relatedModels = backendLanguage === "typescript"
84
+ ? [modelInfo]
85
+ : await collectModelGraph(modelPath);
77
86
  // 5. Generate BFF callFunction helper
78
87
  await generateCallFunctionHelper();
79
88
  // 6. Generate Azure Functions code
80
- await generateFunctionsCode(modelInfo, functionsDir, sharedPackageName);
89
+ await generateFunctionsCode(modelInfo, functionsDir, sharedPackageName, backendLanguage);
90
+ if (backendLanguage !== "typescript") {
91
+ await generateLanguageSchemaArtifacts(relatedModels, modelInfo, functionsDir, backendLanguage);
92
+ }
81
93
  // 7. Generate Next.js BFF API Routes
82
94
  const apiDir = options.apiDir || "app/api";
83
95
  await generateBFFRoutes(modelInfo, apiDir, sharedPackageName);
@@ -90,14 +102,17 @@ async function scaffoldCommand(options) {
90
102
  }
91
103
  console.log("\n✅ Scaffold completed successfully!");
92
104
  console.log("\n📝 Next steps:");
93
- console.log(` 1. Review generated files in ${functionsDir}/src/ and ${apiDir}/`);
105
+ console.log(` 1. Review generated files in ${describeFunctionsOutputPath(functionsDir, backendLanguage)} and ${apiDir}/`);
94
106
  if (!options.apiOnly) {
95
107
  console.log(` 2. Check the generated UI pages in app/${(0, model_parser_1.toKebabCase)(modelInfo.name)}/`);
96
108
  console.log(" 3. Navigate to the model from the homepage menu");
97
109
  }
98
- console.log(` ${options.apiOnly ? '2' : '4'}. Ensure FUNCTIONS_BASE_URL is set in your .env.local file`);
99
- console.log(` ${options.apiOnly ? '3' : '5'}. Configure CosmosDBConnection in functions/local.settings.json`);
100
- console.log(` ${options.apiOnly ? '4' : '6'}. Run '${(0, package_manager_1.getCommands)((0, package_manager_1.detectFromProject)()).dlx} swallowkit dev' to test the generated code`);
110
+ if (backendLanguage !== "typescript") {
111
+ console.log(` ${options.apiOnly ? "2" : "4"}. Review generated OpenAPI assets in ${functionsDir}/openapi/ and ${functionsDir}/generated/`);
112
+ }
113
+ console.log(` ${options.apiOnly ? (backendLanguage === "typescript" ? "2" : "3") : (backendLanguage === "typescript" ? "4" : "5")}. Ensure BACKEND_FUNCTIONS_BASE_URL is set in your .env.local file`);
114
+ console.log(` ${options.apiOnly ? (backendLanguage === "typescript" ? "3" : "4") : (backendLanguage === "typescript" ? "5" : "6")}. Configure CosmosDBConnection in functions/local.settings.json`);
115
+ console.log(` ${options.apiOnly ? (backendLanguage === "typescript" ? "4" : "5") : (backendLanguage === "typescript" ? "6" : "7")}. Run '${(0, package_manager_1.getCommands)((0, package_manager_1.detectFromProject)()).dlx} swallowkit dev' to test the generated code`);
101
116
  }
102
117
  catch (error) {
103
118
  console.error("\n❌ Scaffold failed:", error.message);
@@ -176,20 +191,169 @@ async function generateCallFunctionHelper() {
176
191
  /**
177
192
  * Generate Azure Functions CRUD code
178
193
  */
179
- async function generateFunctionsCode(modelInfo, functionsDir, sharedPackageName) {
194
+ async function generateFunctionsCode(modelInfo, functionsDir, sharedPackageName, backendLanguage) {
180
195
  console.log("\n🔨 Generating Azure Functions CRUD code...");
181
196
  const modelKebab = (0, model_parser_1.toKebabCase)(modelInfo.name);
182
- const functionFilePath = path.join(process.cwd(), functionsDir, "src", `${modelKebab}.ts`);
183
- // ディレクトリを作成
184
- const functionDir = path.dirname(functionFilePath);
185
- if (!fs.existsSync(functionDir)) {
186
- fs.mkdirSync(functionDir, { recursive: true });
197
+ if (backendLanguage === "typescript") {
198
+ const functionFilePath = path.join(process.cwd(), functionsDir, "src", `${modelKebab}.ts`);
199
+ const functionDir = path.dirname(functionFilePath);
200
+ if (!fs.existsSync(functionDir)) {
201
+ fs.mkdirSync(functionDir, { recursive: true });
202
+ }
203
+ const code = (0, functions_generator_1.generateCompactAzureFunctionsCRUD)(modelInfo, sharedPackageName);
204
+ fs.writeFileSync(functionFilePath, code, "utf-8");
205
+ console.log(`✅ Created: ${functionFilePath}`);
206
+ return;
187
207
  }
188
- // コードを生成
189
- const code = (0, functions_generator_1.generateCompactAzureFunctionsCRUD)(modelInfo, sharedPackageName);
190
- // ファイルに書き込み
191
- fs.writeFileSync(functionFilePath, code, "utf-8");
192
- console.log(`✅ Created: ${functionFilePath}`);
208
+ if (backendLanguage === "csharp") {
209
+ const functionFilePath = path.join(process.cwd(), functionsDir, "Crud", `${modelInfo.name}Functions.cs`);
210
+ fs.mkdirSync(path.dirname(functionFilePath), { recursive: true });
211
+ fs.writeFileSync(functionFilePath, (0, functions_generator_1.generateCSharpAzureFunctionsCRUD)(modelInfo), "utf-8");
212
+ console.log(`✅ Created: ${functionFilePath}`);
213
+ return;
214
+ }
215
+ const blueprintsDir = path.join(process.cwd(), functionsDir, "blueprints");
216
+ const blueprintPath = path.join(blueprintsDir, `${modelKebab.replace(/-/g, "_")}.py`);
217
+ fs.mkdirSync(blueprintsDir, { recursive: true });
218
+ const { blueprint, registration } = (0, functions_generator_1.generatePythonAzureFunctionsCRUD)(modelInfo);
219
+ fs.writeFileSync(blueprintPath, blueprint, "utf-8");
220
+ updatePythonFunctionRegistrations(path.join(process.cwd(), functionsDir, "function_app.py"), registration);
221
+ console.log(`✅ Created: ${blueprintPath}`);
222
+ }
223
+ async function collectModelGraph(modelPath, seen = new Map()) {
224
+ const resolvedPath = path.resolve(modelPath);
225
+ if (seen.has(resolvedPath)) {
226
+ return Array.from(seen.values());
227
+ }
228
+ const modelInfo = await (0, model_parser_1.parseModelFile)(resolvedPath);
229
+ seen.set(resolvedPath, modelInfo);
230
+ for (const ref of modelInfo.nestedSchemaRefs) {
231
+ const nestedPath = resolveNestedModelPath(resolvedPath, ref.importPath);
232
+ await collectModelGraph(nestedPath, seen);
233
+ }
234
+ return Array.from(seen.values());
235
+ }
236
+ function resolveNestedModelPath(modelPath, importPath) {
237
+ let resolvedPath = path.resolve(path.dirname(modelPath), importPath);
238
+ if (!resolvedPath.endsWith(".ts")) {
239
+ resolvedPath += ".ts";
240
+ }
241
+ return resolvedPath;
242
+ }
243
+ function describeFunctionsOutputPath(functionsDir, backendLanguage) {
244
+ if (backendLanguage === "typescript") {
245
+ return `${functionsDir}/src/`;
246
+ }
247
+ if (backendLanguage === "csharp") {
248
+ return `${functionsDir}/Crud/`;
249
+ }
250
+ return `${functionsDir}/blueprints/`;
251
+ }
252
+ async function generateLanguageSchemaArtifacts(models, rootModel, functionsDir, backendLanguage) {
253
+ console.log("\n🧬 Generating OpenAPI-backed schema artifacts...");
254
+ const openApiDir = path.join(process.cwd(), functionsDir, "openapi");
255
+ fs.mkdirSync(openApiDir, { recursive: true });
256
+ const specPath = path.join(openApiDir, `${(0, model_parser_1.toKebabCase)(rootModel.name)}.openapi.json`);
257
+ fs.writeFileSync(specPath, (0, openapi_generator_1.generateOpenApiDocument)(models, rootModel), "utf-8");
258
+ console.log(`✅ Created: ${specPath}`);
259
+ const outputDir = path.join(process.cwd(), functionsDir, "generated", backendLanguage === "csharp" ? "csharp-models" : "python-models");
260
+ fs.mkdirSync(outputDir, { recursive: true });
261
+ await runOpenApiGenerator(specPath, outputDir, backendLanguage);
262
+ if (backendLanguage === "csharp") {
263
+ pruneGeneratedCSharpArtifacts(outputDir);
264
+ }
265
+ console.log(`✅ Generated ${backendLanguage} schema assets: ${outputDir}`);
266
+ }
267
+ async function runOpenApiGenerator(specPath, outputDir, backendLanguage) {
268
+ const pm = (0, package_manager_1.detectFromProject)();
269
+ const command = pm === "pnpm" ? "pnpm" : "npx";
270
+ const args = pm === "pnpm"
271
+ ? ["exec", "openapi-generator-cli", ...getOpenApiGeneratorArgs(specPath, outputDir, backendLanguage)]
272
+ : ["openapi-generator-cli", ...getOpenApiGeneratorArgs(specPath, outputDir, backendLanguage)];
273
+ await new Promise((resolve, reject) => {
274
+ const child = (0, child_process_1.spawn)(command, args, {
275
+ cwd: process.cwd(),
276
+ shell: true,
277
+ stdio: "inherit",
278
+ });
279
+ child.on("close", (code) => {
280
+ if (code === 0) {
281
+ resolve();
282
+ return;
283
+ }
284
+ reject(new Error(`OpenAPI generator exited with code ${code}`));
285
+ });
286
+ child.on("error", reject);
287
+ });
288
+ }
289
+ function getOpenApiGeneratorArgs(specPath, outputDir, backendLanguage) {
290
+ const globalProperty = backendLanguage === "csharp"
291
+ ? "models,supportingFiles,apis=false,modelDocs=false,modelTests=false"
292
+ : "models,apis=false,supportingFiles=false,modelDocs=false,modelTests=false";
293
+ const baseArgs = [
294
+ "generate",
295
+ "-i",
296
+ specPath,
297
+ "-o",
298
+ outputDir,
299
+ "--global-property",
300
+ globalProperty,
301
+ ];
302
+ if (backendLanguage === "csharp") {
303
+ return [
304
+ ...baseArgs,
305
+ "-g",
306
+ "csharp",
307
+ "--additional-properties",
308
+ "packageName=SwallowKitBackendModels,targetFramework=net8.0,nullableReferenceTypes=true",
309
+ ];
310
+ }
311
+ return [
312
+ ...baseArgs,
313
+ "-g",
314
+ "python",
315
+ "--additional-properties",
316
+ "packageName=backend_models,projectName=backend-models",
317
+ ];
318
+ }
319
+ function getCSharpSchemaArtifactPruneTargets(outputDir) {
320
+ return [
321
+ path.join(outputDir, "src", "SwallowKitBackendModels.Test"),
322
+ path.join(outputDir, "src", "SwallowKitBackendModels", "Api"),
323
+ path.join(outputDir, "src", "SwallowKitBackendModels", "Extensions"),
324
+ ];
325
+ }
326
+ function pruneGeneratedCSharpArtifacts(outputDir) {
327
+ for (const target of getCSharpSchemaArtifactPruneTargets(outputDir)) {
328
+ if (fs.existsSync(target)) {
329
+ fs.rmSync(target, { recursive: true, force: true });
330
+ }
331
+ }
332
+ const clientDir = path.join(outputDir, "src", "SwallowKitBackendModels", "Client");
333
+ if (!fs.existsSync(clientDir)) {
334
+ return;
335
+ }
336
+ for (const entry of fs.readdirSync(clientDir, { withFileTypes: true })) {
337
+ if (!entry.isFile() || entry.name === "Option.cs") {
338
+ continue;
339
+ }
340
+ fs.rmSync(path.join(clientDir, entry.name), { force: true });
341
+ }
342
+ }
343
+ function updatePythonFunctionRegistrations(functionAppPath, registration) {
344
+ if (!fs.existsSync(functionAppPath)) {
345
+ throw new Error(`Python Functions entrypoint not found: ${functionAppPath}`);
346
+ }
347
+ const content = fs.readFileSync(functionAppPath, "utf-8");
348
+ if (content.includes(registration)) {
349
+ return;
350
+ }
351
+ const marker = "# SwallowKit scaffold registrations";
352
+ if (!content.includes(marker)) {
353
+ throw new Error(`Could not find scaffold registration marker in ${functionAppPath}`);
354
+ }
355
+ const updated = content.replace(marker, `${registration}\n${marker}`);
356
+ fs.writeFileSync(functionAppPath, updated, "utf-8");
193
357
  }
194
358
  /**
195
359
  * Next.js BFF API Routes を生成
@@ -241,70 +405,70 @@ async function generateCosmosContainer(modelInfo) {
241
405
  // Generate container Bicep file
242
406
  const containerFileName = `${modelKebab}-container.bicep`;
243
407
  const containerFilePath = path.join(containersDir, containerFileName);
244
- const bicepContent = `@description('Cosmos DB account name')
245
- param cosmosAccountName string
246
-
247
- @description('Database name')
248
- param databaseName string
249
-
250
- @description('Container name')
251
- param containerName string = '${modelPascal}s'
252
-
253
- @description('Partition key path')
254
- param partitionKeyPath string = '/id'
255
-
256
- @description('Throughput (RU/s) - only used for Free Tier')
257
- param throughput int = 400
258
-
259
- @description('Cosmos DB mode: freetier or serverless')
260
- param cosmosDbMode string
261
-
262
- // Reference existing Cosmos DB account
263
- resource cosmosAccount 'Microsoft.DocumentDB/databaseAccounts@2023-11-15' existing = {
264
- name: cosmosAccountName
265
- }
266
-
267
- // Reference existing database
268
- resource database 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2023-11-15' existing = {
269
- parent: cosmosAccount
270
- name: databaseName
271
- }
272
-
273
- // Container for ${modelPascal}
274
- resource container 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-11-15' = {
275
- parent: database
276
- name: containerName
277
- properties: {
278
- resource: {
279
- id: containerName
280
- partitionKey: {
281
- paths: [
282
- partitionKeyPath
283
- ]
284
- kind: 'Hash'
285
- }
286
- indexingPolicy: {
287
- automatic: true
288
- indexingMode: 'consistent'
289
- includedPaths: [
290
- {
291
- path: '/*'
292
- }
293
- ]
294
- excludedPaths: [
295
- {
296
- path: '/_etag/?'
297
- }
298
- ]
299
- }
300
- }
301
- options: cosmosDbMode == 'freetier' ? {
302
- throughput: throughput
303
- } : {}
304
- }
305
- }
306
-
307
- output containerName string = container.name
408
+ const bicepContent = `@description('Cosmos DB account name')
409
+ param cosmosAccountName string
410
+
411
+ @description('Database name')
412
+ param databaseName string
413
+
414
+ @description('Container name')
415
+ param containerName string = '${modelPascal}s'
416
+
417
+ @description('Partition key path')
418
+ param partitionKeyPath string = '/id'
419
+
420
+ @description('Throughput (RU/s) - only used for Free Tier')
421
+ param throughput int = 400
422
+
423
+ @description('Cosmos DB mode: freetier or serverless')
424
+ param cosmosDbMode string
425
+
426
+ // Reference existing Cosmos DB account
427
+ resource cosmosAccount 'Microsoft.DocumentDB/databaseAccounts@2023-11-15' existing = {
428
+ name: cosmosAccountName
429
+ }
430
+
431
+ // Reference existing database
432
+ resource database 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2023-11-15' existing = {
433
+ parent: cosmosAccount
434
+ name: databaseName
435
+ }
436
+
437
+ // Container for ${modelPascal}
438
+ resource container 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-11-15' = {
439
+ parent: database
440
+ name: containerName
441
+ properties: {
442
+ resource: {
443
+ id: containerName
444
+ partitionKey: {
445
+ paths: [
446
+ partitionKeyPath
447
+ ]
448
+ kind: 'Hash'
449
+ }
450
+ indexingPolicy: {
451
+ automatic: true
452
+ indexingMode: 'consistent'
453
+ includedPaths: [
454
+ {
455
+ path: '/*'
456
+ }
457
+ ]
458
+ excludedPaths: [
459
+ {
460
+ path: '/_etag/?'
461
+ }
462
+ ]
463
+ }
464
+ }
465
+ options: cosmosDbMode == 'freetier' ? {
466
+ throughput: throughput
467
+ } : {}
468
+ }
469
+ }
470
+
471
+ output containerName string = container.name
308
472
  `;
309
473
  // Write Bicep file (overwrite if exists)
310
474
  fs.writeFileSync(containerFilePath, bicepContent, "utf-8");
@@ -335,37 +499,37 @@ async function updateMainBicepWithContainer(modelKebab, modelPascal) {
335
499
  const cosmosModuleMatch = mainBicepContent.match(cosmosModulePattern);
336
500
  if (!cosmosModuleMatch) {
337
501
  console.log("⚠️ Could not find Cosmos DB Serverless module in main.bicep. Please manually add the container module:");
338
- console.log(`\nmodule ${containerModuleName} 'containers/${modelKebab}-container.bicep' = {
339
- name: '${modelKebab}-container'
340
- params: {
341
- cosmosAccountName: cosmosDbMode == 'freetier' ? cosmosDbFreeTier.outputs.accountName : cosmosDbServerless.outputs.accountName
342
- databaseName: databaseName
343
- cosmosDbMode: cosmosDbMode
344
- }
345
- dependsOn: [
346
- cosmosDbFreeTier
347
- cosmosDbServerless
348
- ]
502
+ console.log(`\nmodule ${containerModuleName} 'containers/${modelKebab}-container.bicep' = {
503
+ name: '${modelKebab}-container'
504
+ params: {
505
+ cosmosAccountName: cosmosDbMode == 'freetier' ? cosmosDbFreeTier.outputs.accountName : cosmosDbServerless.outputs.accountName
506
+ databaseName: databaseName
507
+ cosmosDbMode: cosmosDbMode
508
+ }
509
+ dependsOn: [
510
+ cosmosDbFreeTier
511
+ cosmosDbServerless
512
+ ]
349
513
  }\n`);
350
514
  return;
351
515
  }
352
516
  // Find the end of the cosmosDbServerless module
353
517
  const insertPosition = cosmosModuleMatch.index + cosmosModuleMatch[0].length;
354
518
  // Create the container module declaration
355
- const containerModule = `
356
-
357
- // ${modelPascal} Container
358
- module ${containerModuleName} 'containers/${modelKebab}-container.bicep' = {
359
- name: '${modelKebab}-container'
360
- params: {
361
- cosmosAccountName: cosmosDbMode == 'freetier' ? cosmosDbFreeTier.outputs.accountName : cosmosDbServerless.outputs.accountName
362
- databaseName: '$` + `{projectName}Database'
363
- cosmosDbMode: cosmosDbMode
364
- }
365
- dependsOn: [
366
- cosmosDbFreeTier
367
- cosmosDbServerless
368
- ]
519
+ const containerModule = `
520
+
521
+ // ${modelPascal} Container
522
+ module ${containerModuleName} 'containers/${modelKebab}-container.bicep' = {
523
+ name: '${modelKebab}-container'
524
+ params: {
525
+ cosmosAccountName: cosmosDbMode == 'freetier' ? cosmosDbFreeTier.outputs.accountName : cosmosDbServerless.outputs.accountName
526
+ databaseName: '$` + `{projectName}Database'
527
+ cosmosDbMode: cosmosDbMode
528
+ }
529
+ dependsOn: [
530
+ cosmosDbFreeTier
531
+ cosmosDbServerless
532
+ ]
369
533
  }`;
370
534
  // Insert the module
371
535
  mainBicepContent =
@@ -455,17 +619,17 @@ async function updateNavigationMenu(modelInfo) {
455
619
  label: modelInfo.displayName
456
620
  });
457
621
  // Generate new scaffold-config.ts content
458
- const newConfigContent = `export interface ScaffoldModel {
459
- name: string;
460
- path: string;
461
- label: string;
462
- }
463
-
464
- export const scaffoldConfig = {
465
- models: [
466
- ${models.map(m => ` { name: '${m.name}', path: '${m.path}', label: '${m.label}' },`).join('\n')}
467
- ] as ScaffoldModel[]
468
- };
622
+ const newConfigContent = `export interface ScaffoldModel {
623
+ name: string;
624
+ path: string;
625
+ label: string;
626
+ }
627
+
628
+ export const scaffoldConfig = {
629
+ models: [
630
+ ${models.map(m => ` { name: '${m.name}', path: '${m.path}', label: '${m.label}' },`).join('\n')}
631
+ ] as ScaffoldModel[]
632
+ };
469
633
  `;
470
634
  fs.writeFileSync(configPath, newConfigContent, "utf-8");
471
635
  console.log(`✅ Added ${modelInfo.name} to navigation menu`);