swallowkit 1.0.0-beta.18 → 1.0.0-beta.19

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 (61) hide show
  1. package/dist/cli/commands/add-auth.d.ts.map +1 -1
  2. package/dist/cli/commands/add-auth.js +1 -4
  3. package/dist/cli/commands/add-auth.js.map +1 -1
  4. package/dist/cli/commands/add-connector.d.ts +1 -1
  5. package/dist/cli/commands/add-connector.d.ts.map +1 -1
  6. package/dist/cli/commands/add-connector.js +7 -7
  7. package/dist/cli/commands/add-connector.js.map +1 -1
  8. package/dist/cli/commands/dev.d.ts +11 -0
  9. package/dist/cli/commands/dev.d.ts.map +1 -1
  10. package/dist/cli/commands/dev.js +32 -22
  11. package/dist/cli/commands/dev.js.map +1 -1
  12. package/dist/cli/commands/init.js +1 -2
  13. package/dist/cli/commands/init.js.map +1 -1
  14. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  15. package/dist/cli/commands/scaffold.js +3 -6
  16. package/dist/cli/commands/scaffold.js.map +1 -1
  17. package/dist/cli/index.d.ts +4 -1
  18. package/dist/cli/index.d.ts.map +1 -1
  19. package/dist/cli/index.js +153 -79
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/core/config.d.ts.map +1 -1
  22. package/dist/core/config.js +11 -3
  23. package/dist/core/config.js.map +1 -1
  24. package/dist/core/mock/connector-mock-server.d.ts.map +1 -1
  25. package/dist/core/mock/connector-mock-server.js +20 -17
  26. package/dist/core/mock/connector-mock-server.js.map +1 -1
  27. package/dist/core/scaffold/auth-generator.d.ts +1 -1
  28. package/dist/core/scaffold/auth-generator.d.ts.map +1 -1
  29. package/dist/core/scaffold/auth-generator.js +2 -1
  30. package/dist/core/scaffold/auth-generator.js.map +1 -1
  31. package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -1
  32. package/dist/core/scaffold/connector-functions-generator.js +0 -1
  33. package/dist/core/scaffold/connector-functions-generator.js.map +1 -1
  34. package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
  35. package/dist/core/scaffold/functions-generator.js +0 -8
  36. package/dist/core/scaffold/functions-generator.js.map +1 -1
  37. package/dist/core/scaffold/model-parser.d.ts.map +1 -1
  38. package/dist/core/scaffold/model-parser.js +8 -10
  39. package/dist/core/scaffold/model-parser.js.map +1 -1
  40. package/dist/core/scaffold/nextjs-generator.d.ts.map +1 -1
  41. package/dist/core/scaffold/nextjs-generator.js +0 -1
  42. package/dist/core/scaffold/nextjs-generator.js.map +1 -1
  43. package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
  44. package/dist/core/scaffold/ui-generator.js +0 -3
  45. package/dist/core/scaffold/ui-generator.js.map +1 -1
  46. package/package.json +1 -1
  47. package/src/__tests__/dev.test.ts +106 -0
  48. package/src/cli/commands/add-auth.ts +1 -5
  49. package/src/cli/commands/add-connector.ts +10 -11
  50. package/src/cli/commands/dev.ts +44 -25
  51. package/src/cli/commands/init.ts +1 -3
  52. package/src/cli/commands/scaffold.ts +0 -4
  53. package/src/cli/index.ts +167 -83
  54. package/src/core/config.ts +15 -3
  55. package/src/core/mock/connector-mock-server.ts +12 -12
  56. package/src/core/scaffold/auth-generator.ts +3 -2
  57. package/src/core/scaffold/connector-functions-generator.ts +0 -2
  58. package/src/core/scaffold/functions-generator.ts +0 -9
  59. package/src/core/scaffold/model-parser.ts +5 -9
  60. package/src/core/scaffold/nextjs-generator.ts +1 -2
  61. package/src/core/scaffold/ui-generator.ts +1 -5
@@ -15,7 +15,6 @@ import { generateAuthImportTS, generateAuthGuardTS, generateAuthGuardCSharp, gen
15
15
  export function generateCompactAzureFunctionsCRUD(model: ModelInfo, sharedPackageName: string, authPolicy?: ModelAuthPolicy): string {
16
16
  const modelName = model.name;
17
17
  const modelCamel = toCamelCase(modelName);
18
- const modelKebab = toKebabCase(modelName);
19
18
  const schemaName = model.schemaName;
20
19
 
21
20
  const partitionKeyPath = model.partitionKey; // e.g. "/tenantId"
@@ -789,14 +788,6 @@ export function generatePythonAzureFunctionsCRUD(model: ModelInfo, authPolicy?:
789
788
  const authCatch = hasAuth ? `\n auth_err = handle_auth_error(exc)\n if auth_err:\n return auth_err` : '';
790
789
 
791
790
  // getById / update の読み取りロジック
792
- const getByIdRead = isIdPartition
793
- ? `container.read_item(item=item_id, partition_key=item_id)`
794
- : `list(container.query_items(
795
- query="SELECT * FROM c WHERE c.id = @id",
796
- parameters=[{"name": "@id", "value": item_id}],
797
- enable_cross_partition_query=True,
798
- ))`;
799
-
800
791
  const getByIdBody = isIdPartition
801
792
  ? ` container = _get_container()
802
793
  item = container.read_item(item=item_id, partition_key=item_id)
@@ -3,10 +3,11 @@
3
3
  */
4
4
 
5
5
  import * as fs from "fs";
6
+ import { execSync } from "child_process";
6
7
  import * as path from "path";
7
- import { pathToFileURL } from "url";
8
8
 
9
9
  import { ModelConnectorConfig, ModelAuthPolicy } from "../../types";
10
+ import { detectFromProject, getCommands } from "../../utils/package-manager";
10
11
 
11
12
  export interface ModelInfo {
12
13
  name: string; // モデル名(例: "Todo")
@@ -383,12 +384,8 @@ async function extractFieldsFromSchema(modelPath: string, schemaName: string): P
383
384
  const fields: FieldInfo[] = [];
384
385
 
385
386
  try {
386
- // child_processでtsxを実行
387
- const { execSync } = require('child_process');
388
- const { writeFileSync, unlinkSync, readFileSync } = require('fs');
389
-
390
387
  // モデルファイルの内容を読み込む
391
- let modelContent = readFileSync(modelPath, 'utf8');
388
+ let modelContent = fs.readFileSync(modelPath, 'utf8');
392
389
  const modelDir = path.dirname(path.resolve(modelPath));
393
390
 
394
391
  // ローカル相対インポートを再帰的にインライン化して保持
@@ -543,12 +540,11 @@ if (isObject) {
543
540
  }
544
541
  `;
545
542
 
546
- writeFileSync(tempScript, scriptCode, 'utf8');
543
+ fs.writeFileSync(tempScript, scriptCode, 'utf8');
547
544
 
548
545
  try {
549
546
  // プロジェクトルートでtsxを実行 (npm/pnpm 両対応)
550
547
  // Detect package manager from project lockfile
551
- const { detectFromProject, getCommands } = require('../../utils/package-manager');
552
548
  const pm = detectFromProject(projectRoot);
553
549
  const pmCmd = getCommands(pm);
554
550
  const result = execSync(`${pmCmd.exec} tsx "${tempScript}"`, {
@@ -565,7 +561,7 @@ if (isObject) {
565
561
  } finally {
566
562
  // 一時ファイルを削除
567
563
  try {
568
- unlinkSync(tempScript);
564
+ fs.unlinkSync(tempScript);
569
565
  } catch (e) {
570
566
  // ファイル削除失敗は無視
571
567
  }
@@ -4,7 +4,7 @@
4
4
  * callFunction ヘルパー方式
5
5
  */
6
6
 
7
- import { ModelInfo, toCamelCase, toKebabCase } from "./model-parser";
7
+ import { ModelInfo, toCamelCase } from "./model-parser";
8
8
 
9
9
  /**
10
10
  * BFF callFunction ヘルパー (lib/api/call-function.ts) のコードを生成
@@ -129,7 +129,6 @@ export function generateCompactBFFRoutes(model: ModelInfo, sharedPackageName: st
129
129
  } {
130
130
  const modelName = model.name;
131
131
  const modelCamel = toCamelCase(modelName);
132
- const modelKebab = toKebabCase(modelName);
133
132
  const schemaName = model.schemaName;
134
133
 
135
134
  const listRoute = `import { NextRequest } from 'next/server';
@@ -3,7 +3,7 @@
3
3
  * CRUD 画面(一覧、詳細、新規作成、編集)を生成する
4
4
  */
5
5
 
6
- import { ModelInfo, FieldInfo, toCamelCase, toKebabCase, toPascalCase } from "./model-parser";
6
+ import { ModelInfo, toCamelCase, toKebabCase } from "./model-parser";
7
7
  import { ModelAuthPolicy } from "../../types";
8
8
 
9
9
  /** auth が有効かつ authPolicy が存在する場合に渡されるオプション */
@@ -33,10 +33,6 @@ export function generateListPage(model: ModelInfo, sharedPackageName: string, au
33
33
  const foreignKeyFields = displayFields.filter(f => f.isForeignKey);
34
34
  const hasForeignKeys = foreignKeyFields.length > 0;
35
35
 
36
- // ネストスキーマフィールドを検出
37
- const nestedFields = displayFields.filter(f => f.isNestedSchema);
38
- const hasNestedSchemas = nestedFields.length > 0;
39
-
40
36
  // 外部キー用のstate定義を生成
41
37
  const foreignKeyStates = foreignKeyFields.map(f => {
42
38
  const refModel = f.referencedModel!;