fieldsmith 0.1.0 → 0.2.1

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 (42) hide show
  1. package/README.md +499 -7
  2. package/dist/cli/index.js +283 -20
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/schema.js +43 -3
  5. package/dist/cli/schema.js.map +1 -1
  6. package/dist/config.js +36 -3
  7. package/dist/config.js.map +1 -1
  8. package/dist/csv.js +119 -0
  9. package/dist/csv.js.map +1 -0
  10. package/dist/icon/name.js +48 -0
  11. package/dist/icon/name.js.map +1 -0
  12. package/dist/icon/render.js +0 -21
  13. package/dist/icon/render.js.map +1 -1
  14. package/dist/kintone/client.js +6 -1
  15. package/dist/kintone/client.js.map +1 -1
  16. package/dist/kintone/deploy.js +146 -15
  17. package/dist/kintone/deploy.js.map +1 -1
  18. package/dist/kintone/link.js +428 -0
  19. package/dist/kintone/link.js.map +1 -0
  20. package/dist/llm/generate.js +20 -4
  21. package/dist/llm/generate.js.map +1 -1
  22. package/dist/llm/prompt.js +3 -1
  23. package/dist/llm/prompt.js.map +1 -1
  24. package/dist/spec/appSpec.js +189 -3
  25. package/dist/spec/appSpec.js.map +1 -1
  26. package/dist/spec/checkRecords.js +191 -0
  27. package/dist/spec/checkRecords.js.map +1 -0
  28. package/dist/spec/describeForm.js +65 -0
  29. package/dist/spec/describeForm.js.map +1 -0
  30. package/dist/spec/diff.js +170 -8
  31. package/dist/spec/diff.js.map +1 -1
  32. package/dist/spec/fieldSpec.js +60 -8
  33. package/dist/spec/fieldSpec.js.map +1 -1
  34. package/dist/spec/fromKintone.js +127 -15
  35. package/dist/spec/fromKintone.js.map +1 -1
  36. package/dist/spec/layout.js +333 -30
  37. package/dist/spec/layout.js.map +1 -1
  38. package/dist/spec/linkSpec.js +0 -0
  39. package/dist/spec/linkSpec.js.map +1 -0
  40. package/dist/spec/toKintone.js +38 -3
  41. package/dist/spec/toKintone.js.map +1 -1
  42. package/package.json +4 -2
package/dist/cli/index.js CHANGED
@@ -6,24 +6,44 @@ import { KintoneRestAPIError } from "@kintone/rest-api-client";
6
6
  import { Command } from "commander";
7
7
  import { ConfigError, loadDotEnv, loadKintoneConfig, requireOAuth, } from "../config.js";
8
8
  import { createAuthenticatedKintone, KintoneRequestError } from "../kintone/client.js";
9
- import { DeployError, deployAppSpec, pullApp, UnsupportedUpdateError, updateApp, } from "../kintone/deploy.js";
9
+ import { DeployError, deployAppSpec, fetchForm, pullApp, UnsupportedUpdateError, updateApp, } from "../kintone/deploy.js";
10
10
  import { buildAuthorizationRequest, exchangeAuthorizationCode, extractAuthorizationCode, OAuthError, REQUIRED_SCOPE, } from "../kintone/oauth.js";
11
11
  import { clearToken, saveToken } from "../kintone/tokenStore.js";
12
12
  import { AppSpecGenerationError, DEFAULT_TIMEOUT_MS, generateAppSpec, } from "../llm/generate.js";
13
- import { AppSpecValidationError, fieldGroups, parseAppSpec, resolveFieldCode, resolveLayout, } from "../spec/appSpec.js";
13
+ import { AppSpecValidationError, fieldGroups, fieldTables, parseAppSpec, resolveFieldCode, resolveLayout, } from "../spec/appSpec.js";
14
14
  import { describeDiff, diffAppSpec, isEmptyDiff } from "../spec/diff.js";
15
- import { describeRows, groupIntoRows } from "../spec/layout.js";
15
+ import { checkRecords } from "../spec/checkRecords.js";
16
+ import { describeForm } from "../spec/describeForm.js";
17
+ import { LinkSpecValidationError, parseLinkFile } from "../spec/linkSpec.js";
18
+ import { applyLinks, describePlan, LinkValidationError, planLinks } from "../kintone/link.js";
19
+ import { CsvError, parseCsv, toCsvTable } from "../csv.js";
20
+ import { buildFormRows, describeLayout } from "../spec/layout.js";
16
21
  import { toKintonePayloads } from "../spec/toKintone.js";
17
- import { backgroundFor, renderIcon } from "../icon/render.js";
22
+ import { renderIcon } from "../icon/render.js";
23
+ import { backgroundFor } from "../icon/name.js";
18
24
  import { emitFailure, emitSuccess, isJsonMode, say, setJsonMode } from "./output.js";
19
25
  import { appSpecExample, appSpecJsonSchema, appSpecReference } from "./schema.js";
20
26
  import { startStatusLine, tailLine } from "./progress.js";
21
27
  import { LARGE_PROMPT_CHARS, PromptInputError, resolvePrompt } from "./promptInput.js";
28
+ /**
29
+ * バージョンは package.json から読む。手で書くとリリースのたびにずれる (0.2.0 で 0.1.0 と出ていた)。
30
+ * src/cli/index.ts からも dist/cli/index.js からも ../../package.json に当たる。
31
+ */
32
+ function packageVersion() {
33
+ try {
34
+ const raw = readFileSync(new URL("../../package.json", import.meta.url), "utf-8");
35
+ const version = JSON.parse(raw).version;
36
+ return typeof version === "string" ? version : "unknown";
37
+ }
38
+ catch {
39
+ return "unknown";
40
+ }
41
+ }
22
42
  const program = new Command();
23
43
  program
24
44
  .name("fieldsmith")
25
45
  .description("AppSpec (JSON) から kintone アプリを何度でも作る CLI。AppSpec は要件の文章からも作れる。")
26
- .version("0.1.0")
46
+ .version(packageVersion())
27
47
  .option("-v, --verbose", "何をしているかを詳しく表示する (思考の要約、API 呼び出し、revision の遷移)")
28
48
  .option("--json", "結果を JSON で stdout に出す。人間向けの表示は stderr に回る")
29
49
  .hook("preAction", () => setJsonMode(program.opts()["json"] === true));
@@ -120,6 +140,164 @@ program
120
140
  }
121
141
  process.stdout.write(`${appSpecReference()}\n`);
122
142
  });
143
+ program
144
+ .command("link")
145
+ .description("アプリ間の結線 (ルックアップ・関連レコード一覧) を反映する")
146
+ .argument("<file>", "結線ファイルの JSON")
147
+ .option("--dry-run", "kintone を変更せず、何が起きるかを表示する (読み取りには接続する)")
148
+ .option("--deploy", "運用環境まで反映する (既定は動作テスト環境で止める)")
149
+ .action(async (filePath, options) => {
150
+ await run("link", async () => {
151
+ const file = parseLinkFile(readJsonFile(filePath));
152
+ const config = config_();
153
+ const kintone = connect(config);
154
+ if (options.dryRun === true) {
155
+ const plan = await planLinks(file, kintone);
156
+ say(`--dry-run のため変更しません。${filePath} で起きること:`);
157
+ say("");
158
+ for (const line of describePlan(plan))
159
+ say(line);
160
+ reportWarnings(plan.warnings);
161
+ emitSuccess({ command: "link", dryRun: true, plan });
162
+ return;
163
+ }
164
+ const status = startStatusLine("結線を調べています");
165
+ let result;
166
+ try {
167
+ result = await applyLinks(file, kintone, {
168
+ ...(options.deploy === true ? { deploy: true } : {}),
169
+ onProgress: (progress) => {
170
+ status.log(` ${progress.message}`);
171
+ if (progress.detail !== undefined && isVerbose())
172
+ status.log(` ${progress.detail}`);
173
+ status.update(progress.message);
174
+ },
175
+ });
176
+ }
177
+ finally {
178
+ status.done();
179
+ }
180
+ say("");
181
+ const lines = describePlan(result.plan);
182
+ if (lines.length > 0) {
183
+ say("結線の状態:");
184
+ for (const line of lines)
185
+ say(line);
186
+ }
187
+ if (result.apps.length === 0) {
188
+ say("適用する変更はありません。");
189
+ }
190
+ else if (!result.deployed) {
191
+ say("");
192
+ say("動作テスト環境まで反映しました。運用環境にはまだ反映していません。");
193
+ for (const app of result.apps) {
194
+ say(` ${config.baseUrl}/k/${app.appId}/ で「変更を確認」してください。`);
195
+ }
196
+ say(" 問題なければ --deploy を付けて再実行します。");
197
+ }
198
+ else {
199
+ say("");
200
+ say("✓ 運用環境へ反映しました。");
201
+ for (const app of result.apps) {
202
+ const note = app.carriedOver === true ? " — 動作テスト環境に残っていた変更" : "";
203
+ say(` ${config.baseUrl}/k/${app.appId}/ (${app.name})${note}`);
204
+ }
205
+ }
206
+ if (result.pendingApps.length > 0) {
207
+ say("");
208
+ say("次のアプリの動作テスト環境に、運用環境へ未反映の変更が残っています:");
209
+ for (const app of result.pendingApps) {
210
+ say(` ${config.baseUrl}/k/${app.appId}/ (${app.name}) で「変更を確認」してください。`);
211
+ }
212
+ say(" 問題なければ --deploy を付けて再実行すると、運用環境へ反映します。");
213
+ }
214
+ reportWarnings(result.plan.warnings);
215
+ emitSuccess({
216
+ command: "link",
217
+ deployed: result.deployed,
218
+ apps: result.apps,
219
+ pendingApps: result.pendingApps,
220
+ plan: result.plan,
221
+ warnings: result.plan.warnings,
222
+ });
223
+ });
224
+ });
225
+ program
226
+ .command("layout")
227
+ .description("フォームの構造を表示する (読み取りのみ)")
228
+ .argument("<appId>", "アプリ ID")
229
+ .option("--preview", "動作テスト環境を見る (既定は運用環境)")
230
+ .action(async (appId, options) => {
231
+ await run("layout", async () => {
232
+ const kintone = connect(config_());
233
+ const form = await fetchForm(appId, kintone, {
234
+ ...(options.preview === true ? { preview: true } : {}),
235
+ });
236
+ const lines = describeForm(form.layout, { properties: form.properties });
237
+ say(`アプリ ${appId}「${form.appName}」 ${lines.length === 0 ? "(空)" : `${form.layout.length} 行`}` +
238
+ `${options.preview === true ? " / 動作テスト環境" : ""}`);
239
+ say("");
240
+ for (const line of lines)
241
+ say(line);
242
+ emitSuccess({
243
+ command: "layout",
244
+ app: { id: appId, name: form.appName },
245
+ preview: options.preview === true,
246
+ layout: form.layout,
247
+ });
248
+ });
249
+ });
250
+ program
251
+ .command("check")
252
+ .description("投入するデータが AppSpec に収まるか確かめる (kintone に接続しない)")
253
+ .argument("<spec>", "AppSpec の JSON ファイル")
254
+ .argument("<data>", "投入するレコードの CSV (cli-kintone と同じ形式)")
255
+ .action(async (specPath, dataPath) => {
256
+ await run("check", async () => {
257
+ const spec = readSpecFile(specPath);
258
+ const table = toCsvTable(parseCsv(readTextFile(dataPath)));
259
+ const result = checkRecords(spec, table);
260
+ say(`${result.records.toLocaleString("en-US")} 件 / ${result.columns} 列 を` +
261
+ ` ${specPath} と突き合わせます`);
262
+ say("");
263
+ for (const issue of result.issues) {
264
+ const mark = issue.severity === "error" ? "✗" : "⚠";
265
+ const count = issue.count > 0 ? ` (${issue.count.toLocaleString("en-US")} 件)` : "";
266
+ say(`${mark} ${issue.field}: ${issue.message}${count}`);
267
+ for (const sample of issue.samples) {
268
+ const id = sample.id === "" ? "" : ` (${sample.id})`;
269
+ say(` ${sample.line} 行目${id} = ${JSON.stringify(sample.value)}`);
270
+ }
271
+ }
272
+ if (result.issues.length === 0) {
273
+ say("✓ 違反はありません。");
274
+ }
275
+ else {
276
+ say("");
277
+ say(`${result.errors} 件のエラー / ${result.warnings} 件の警告`);
278
+ }
279
+ if (result.errors > 0) {
280
+ emitFailure({
281
+ command: "check",
282
+ kind: "validation",
283
+ message: "このまま投入すると失敗します。CSV か AppSpec のどちらかを直してください。",
284
+ // 人向けには上で出し切っているので、二重に並べない。
285
+ ...(isJsonMode()
286
+ ? {
287
+ issues: result.issues
288
+ .filter((issue) => issue.severity === "error")
289
+ .map((issue) => ({
290
+ path: issue.field,
291
+ message: `${issue.message} (${issue.count} 件)`,
292
+ })),
293
+ }
294
+ : {}),
295
+ });
296
+ return;
297
+ }
298
+ emitSuccess({ command: "check", spec: specPath, data: dataPath, ...result });
299
+ });
300
+ });
123
301
  program
124
302
  .command("deploy")
125
303
  .description("AppSpec を kintone にデプロイする。同じ AppSpec から何個でも作れる")
@@ -190,7 +368,7 @@ program
190
368
  const kintone = connect(config);
191
369
  const pulled = await pullApp(appId, kintone);
192
370
  const current = parseAppSpec(pulled.spec);
193
- const diff = diffAppSpec(current, desired);
371
+ const diff = diffAppSpec(current, desired, { parkedCodes: pulled.parkedCodes });
194
372
  if (isEmptyDiff(diff)) {
195
373
  say(`アプリ ${appId}「${pulled.appName}」と ${specPath} に差分はありません。`);
196
374
  }
@@ -210,12 +388,13 @@ program
210
388
  say("- 削除候補のフィールドは削除されず、畳んだグループに移されます (データは残ります)。");
211
389
  }
212
390
  }
391
+ reportWarnings([...diff.warnings, ...pulled.warnings]);
213
392
  emitSuccess({
214
393
  command: "diff",
215
394
  app: { id: appId, name: pulled.appName },
216
395
  hasChanges: !isEmptyDiff(diff),
217
396
  diff,
218
- warnings: pulled.warnings,
397
+ warnings: [...diff.warnings, ...pulled.warnings],
219
398
  });
220
399
  });
221
400
  });
@@ -306,10 +485,22 @@ program
306
485
  finally {
307
486
  status.done();
308
487
  }
309
- if (isEmptyDiff(result.diff) || result.revision === "-1") {
488
+ if (result.pendingInPreview && result.deployed) {
489
+ say(`アプリ ${appId}「${result.appName}」と spec の差分はありません。`);
490
+ say("");
491
+ say("✓ 動作テスト環境に残っていた変更を、運用環境へ反映しました。");
492
+ say(` ${config.baseUrl}/k/${appId}/`);
493
+ }
494
+ else if (isEmptyDiff(result.diff) || result.revision === "-1") {
310
495
  say(`アプリ ${appId}「${result.appName}」に適用する変更はありません。`);
311
- if (result.diff.orphaned.length > 0) {
312
- say(` ${result.diff.orphaned.length} 件のフィールドは、すでに削除候補グループに入っています。`);
496
+ if (result.diff.parked.length > 0) {
497
+ say(` ${result.diff.parked.length} 件のフィールドは、すでに削除候補グループに入っています。`);
498
+ }
499
+ if (result.pendingInPreview) {
500
+ say("");
501
+ say("ただし、動作テスト環境に運用環境へ未反映の変更が残っています。");
502
+ say(` ${config.baseUrl}/k/${appId}/ で「変更を確認」してください。`);
503
+ say(" 問題なければ --deploy を付けて再実行すると、運用環境へ反映します。");
313
504
  }
314
505
  }
315
506
  else {
@@ -334,15 +525,18 @@ program
334
525
  say(` ${config.baseUrl}/k/${appId}/`);
335
526
  }
336
527
  }
528
+ reportWarnings([...result.diff.warnings, ...result.warnings]);
337
529
  emitSuccess({
338
530
  command: "update",
339
531
  app: { id: appId, name: result.appName, url: `${config.baseUrl}/k/${appId}/` },
340
- hasChanges: result.revision !== "-1",
532
+ // 残っていた変更を反映しただけなら、今回の変更は無い。
533
+ hasChanges: result.revision !== "-1" && !result.pendingInPreview,
341
534
  deployed: result.deployed,
535
+ pendingInPreview: result.pendingInPreview,
342
536
  movedToOrphanGroup: result.pendingOrphans,
343
537
  revision: result.revision,
344
538
  diff: result.diff,
345
- warnings: result.warnings,
539
+ warnings: [...result.diff.warnings, ...result.warnings],
346
540
  });
347
541
  });
348
542
  });
@@ -456,6 +650,24 @@ program
456
650
  await deployWithOptions(spec, options);
457
651
  });
458
652
  });
653
+ /**
654
+ * `--dry-run` で見せるフォームの並び。
655
+ *
656
+ * 実際のレイアウトは、kintone がフィールドを置いた結果を起点に組み直すので
657
+ * ここでは分からない。ただし並べ替えの規則は AppSpec だけで決まるため、
658
+ * 出来上がりの形はここで示せる。
659
+ */
660
+ function previewLayout(spec) {
661
+ const { mode, maxPerRow } = resolveLayout(spec);
662
+ if (mode === "stacked")
663
+ return [];
664
+ const fields = spec.fields.map((field) => ({
665
+ type: field.type,
666
+ code: resolveFieldCode(field),
667
+ }));
668
+ const options = { maxPerRow, groups: fieldGroups(spec), tables: fieldTables(spec) };
669
+ return describeLayout(buildFormRows(fields, { ...options, sections: mode === "sections" }));
670
+ }
459
671
  async function deployWithOptions(spec, options) {
460
672
  if (options.dryRun === true) {
461
673
  const payloads = toKintonePayloads(spec);
@@ -470,6 +682,11 @@ async function deployWithOptions(spec, options) {
470
682
  `(${Math.round(icon.png.length / 1024)}KB) → アップロード後に icon.file.fileKey として設定\n`);
471
683
  }
472
684
  say(JSON.stringify(payloads, null, 2));
685
+ const layout = previewLayout(spec);
686
+ if (layout.length > 0) {
687
+ say("\nフォームの並び (実際の配置は kintone が置いた結果を起点に組み直す):\n");
688
+ say(layout.join("\n"));
689
+ }
473
690
  emitSuccess({ command: "deploy", dryRun: true, appName: spec.name, payloads });
474
691
  return;
475
692
  }
@@ -533,6 +750,23 @@ function readSpecFile(path) {
533
750
  }
534
751
  return parseAppSpec(parsed);
535
752
  }
753
+ function readJsonFile(path) {
754
+ const content = readTextFile(path);
755
+ try {
756
+ return JSON.parse(content);
757
+ }
758
+ catch (error) {
759
+ throw new CliError(`${path} を JSON として解釈できませんでした: ${error.message}`);
760
+ }
761
+ }
762
+ function readTextFile(path) {
763
+ try {
764
+ return readFileSync(path, "utf-8");
765
+ }
766
+ catch {
767
+ throw new CliError(`ファイルを読み込めませんでした: ${path}`);
768
+ }
769
+ }
536
770
  function printSpecSummary(spec) {
537
771
  say(`\nアプリ名: ${spec.name}`);
538
772
  if (spec.icon !== undefined) {
@@ -556,17 +790,30 @@ function printSpecSummary(spec) {
556
790
  if (spec.views !== undefined) {
557
791
  say(`一覧 (${spec.views.length} 件): ${spec.views.map((view) => view.name).join(", ")}`);
558
792
  }
559
- const layout = resolveLayout(spec);
560
- if (layout.mode === "grouped") {
561
- // 実際の並べ替えは kintone から取得したレイアウトに対して行うが、
562
- // 結果は同じになるので、ここでは AppSpec から予想を見せる。
563
- const rows = groupIntoRows(spec.fields.map((field) => ({ type: field.type, code: resolveFieldCode(field) })), { maxPerRow: layout.maxPerRow, groups: fieldGroups(spec) });
564
- say(`フォームの並び (最大 ${layout.maxPerRow} 列 → ${rows.length} 行):`);
565
- for (const line of describeRows(rows)) {
793
+ // 実際の並べ替えは kintone から取得したレイアウトに対して行うが、
794
+ // 結果は同じになるので、ここでは AppSpec から予想を見せる。
795
+ const rows = previewLayout(spec);
796
+ if (rows.length > 0) {
797
+ say(`フォームの並び (最大 ${resolveLayout(spec).maxPerRow} 列):`);
798
+ for (const line of rows) {
566
799
  say(` ${line}`);
567
800
  }
568
801
  }
569
802
  }
803
+ /**
804
+ * 差分にはならないが伝える必要があることを出す。
805
+ *
806
+ * これまで `pull` だけが人向けに出していて、`diff` と `update` は
807
+ * `--json` にしか載せていなかった。人が見る場面でこそ要る情報なので揃える。
808
+ */
809
+ function reportWarnings(warnings) {
810
+ if (warnings.length === 0)
811
+ return;
812
+ say("");
813
+ say("注意:");
814
+ for (const warning of warnings)
815
+ say(` ⚠ ${warning}`);
816
+ }
570
817
  async function confirm(question) {
571
818
  const rl = createInterface({ input: process.stdin, output: process.stdout });
572
819
  const answer = await rl.question(`${question} [y/N]: `);
@@ -591,6 +838,10 @@ function readPrompt(argument, filePath) {
591
838
  class CliError extends Error {
592
839
  }
593
840
  function config_() {
841
+ // どのファイルから読んだかは、繋がらないときに真っ先に知りたい。
842
+ // --verbose の判定はコマンドを解釈したあとでないとできないので、ここで出す。
843
+ if (loadedEnvFile !== null)
844
+ trace(`認証情報: ${loadedEnvFile}`);
594
845
  return loadKintoneConfig(process.env);
595
846
  }
596
847
  /** どちらの認証で繋いでいるかを表す。 */
@@ -631,6 +882,14 @@ async function run(command, action) {
631
882
  });
632
883
  return;
633
884
  }
885
+ if (error instanceof LinkSpecValidationError || error instanceof LinkValidationError) {
886
+ emitFailure({ command, kind: "validation", message: error.message, issues: error.issues });
887
+ return;
888
+ }
889
+ if (error instanceof CsvError) {
890
+ emitFailure({ command, kind: "input", message: error.message });
891
+ return;
892
+ }
634
893
  if (error instanceof ConfigError) {
635
894
  emitFailure({ command, kind: "config", message: error.message });
636
895
  return;
@@ -694,6 +953,10 @@ function apiErrorMessage(error) {
694
953
  const message = body?.error?.message;
695
954
  return typeof message === "string" ? message : error.message;
696
955
  }
697
- loadDotEnv();
956
+ /**
957
+ * 認証情報の読み込みは、コマンドを解釈する前に済ませる必要がある。
958
+ * 読んだファイルは覚えておき、`--verbose` のときに `config_()` から知らせる。
959
+ */
960
+ const loadedEnvFile = loadDotEnv();
698
961
  await program.parseAsync(process.argv);
699
962
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { zodToJsonSchema } from "zod-to-json-schema";
2
- import { APP_THEMES, appSpecSchema } from "../spec/appSpec.js";
2
+ import { APP_THEMES, appSpecSchema, BUILT_IN_FIELD_CODES } from "../spec/appSpec.js";
3
3
  import { describeFieldTypes, OPTION_FIELD_TYPES, UNADDABLE_FIELD_TYPES } from "../spec/fieldSpec.js";
4
4
  import { DEFAULT_MAX_PER_ROW } from "../spec/layout.js";
5
5
  /**
@@ -33,18 +33,47 @@ export function appSpecReference() {
33
33
  lines.push("| `space` | | 作成先のスペース ID |");
34
34
  lines.push("| `thread` | | スペース内のスレッド ID |");
35
35
  lines.push("| `guestSpaceId` | | ゲストスペース ID |");
36
- lines.push(`| \`layout\` | | \`"grouped"\` (既定) / \`"stacked"\` / \`{ "mode": "grouped", "maxPerRow": ${DEFAULT_MAX_PER_ROW} }\` |`);
36
+ lines.push(`| \`layout\` | | \`"grouped"\` (既定) / \`"sections"\` / \`"stacked"\` /` +
37
+ ` \`{ "mode": "grouped", "maxPerRow": ${DEFAULT_MAX_PER_ROW} }\` |`);
37
38
  lines.push("| `views` | | 一覧の配列 |");
38
39
  lines.push("| `settings` | | 一般設定 |");
39
40
  lines.push("");
40
41
  lines.push("## フィールド");
41
42
  lines.push("");
42
- lines.push("すべての型に共通の任意キー: `code` `required` `unique` `noLabel` `group`");
43
+ lines.push("すべての型に共通の任意キー: `code` `required` `unique` `noLabel` `group` `table`");
43
44
  lines.push("");
44
45
  lines.push("- `code` を省略すると `label` から自動で導出される");
45
46
  lines.push("- `group` は意味のまとまりの名前。同じ `group` のフィールドは横に並ぶので、");
46
47
  lines.push(" **続けて並べること**(離れていると検証で弾かれる)");
47
48
  lines.push("");
49
+ lines.push("### layout の 3 つの指定");
50
+ lines.push("");
51
+ lines.push("| 指定 | 動き |");
52
+ lines.push("|---|---|");
53
+ lines.push("| `grouped` (既定) | 同じ `group` のフィールドを横に並べる。kintone 上にまとまりは現れない |");
54
+ lines.push("| `sections` | 同じ `group` のフィールドを **kintone のグループフィールド**に入れる |");
55
+ lines.push("| `stacked` | 並びに手を触れない。既存アプリの更新で、いまの配置を守りたいときに使う |");
56
+ lines.push("");
57
+ lines.push("`sections` では `group` の名前がグループのフィールドコードになるので、");
58
+ lines.push("フィールドコードと重ならない名前にする(重なると検証で弾かれる)。");
59
+ lines.push("");
60
+ lines.push("### テーブル (`table`)");
61
+ lines.push("");
62
+ lines.push("同じ `table` を書いたフィールドが、kintone のテーブルの列になる。");
63
+ lines.push("`group` と同じく**続けて並べること**。入れ子では書かない。");
64
+ lines.push("");
65
+ lines.push("```json");
66
+ lines.push(JSON.stringify([
67
+ { type: "SINGLE_LINE_TEXT", label: "品名", table: "明細" },
68
+ { type: "NUMBER", label: "数量", table: "明細" },
69
+ ], null, 2));
70
+ lines.push("```");
71
+ lines.push("");
72
+ lines.push("- `table` と `group` は同時に指定できない(kintone はテーブルにグループを置けない)");
73
+ lines.push("- テーブルの列は**一覧 (`views`) に指定できない**");
74
+ lines.push("- `deploy` は作れるが、**`update` はテーブルを変更できない**。");
75
+ lines.push(" 列を足す・外す・出し入れすると終了コード 2 で止まる(kintone に列の退避先が無いため)");
76
+ lines.push("");
48
77
  lines.push("| 型 | 固有のキー |");
49
78
  lines.push("|---|---|");
50
79
  const common = new Set(["label", "code", "required", "unique", "noLabel", "group"]);
@@ -58,6 +87,9 @@ export function appSpecReference() {
58
87
  lines.push(`\`options\` は文字列の配列で書く(例: \`["高", "中", "低"]\`)。` +
59
88
  `必要なのは ${OPTION_FIELD_TYPES.map((t) => `\`${t}\``).join(" ")}。`);
60
89
  lines.push("");
90
+ lines.push("`CALC` の `expression` には、**`fields` で定義したフィールドコード**を使う。" +
91
+ " 存在しないフィールドを参照していると検証で弾かれる。");
92
+ lines.push("");
61
93
  lines.push("## 指定できない型");
62
94
  lines.push("");
63
95
  for (const [type, reason] of Object.entries(UNADDABLE_FIELD_TYPES)) {
@@ -78,6 +110,14 @@ export function appSpecReference() {
78
110
  lines.push("| `filterCond` | | 絞り込み条件(kintone のクエリ形式)|");
79
111
  lines.push("| `sort` | | 並び順(例: `更新日時 desc`)|");
80
112
  lines.push("");
113
+ lines.push("`fields` `date` `title` に書けるのは、**`fields` で定義したフィールドコード**と、");
114
+ lines.push("次の組み込みフィールドだけ。");
115
+ lines.push("");
116
+ lines.push([...BUILT_IN_FIELD_CODES].map((code) => `\`${code}\``).join(" "));
117
+ lines.push("");
118
+ lines.push("**フィールドを `fields` から外したら、一覧の `fields` からも外すこと。**" +
119
+ " 参照が残っていると検証で弾かれる。");
120
+ lines.push("");
81
121
  lines.push("## 一般設定 (settings)");
82
122
  lines.push("");
83
123
  lines.push("`titleFieldCode` `enableComments` `enableThumbnails` `enableBulkDeletion` " +