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/spec/diff.js CHANGED
@@ -1,10 +1,89 @@
1
- import { fieldGroups, resolveFieldCode, resolveLayout } from "./appSpec.js";
1
+ import { appliesLayout, fieldGroups, fieldTables, resolveFieldCode, resolveLayout, } from "./appSpec.js";
2
+ import { tableCodeOf } from "./layout.js";
3
+ /**
4
+ * spec から外したのに kintone 側に残る設定を拾う。
5
+ *
6
+ * 「書かれていない項目は現状維持」という仕様どおりだが、**キーを消す=設定を外す**と
7
+ * 読むほうが自然で、しかも差分に出ないので「差分なし=変わっていない」と読めてしまう。
8
+ * 変更としては扱わず、外し方を添えて警告にする。
9
+ *
10
+ * 外し方を示せるものだけを対象にする (真偽値なら `false`、それ以外は空文字)。
11
+ * テーマやタイトルフィールドのように「空にする」書き方が無いものは黙って見送る。
12
+ */
13
+ function staleSettings(label, current, desired, keep, defaults = {}) {
14
+ const warnings = [];
15
+ for (const key of Object.keys(current).sort()) {
16
+ if (keep !== undefined && !keep.has(key))
17
+ continue;
18
+ const from = current[key];
19
+ if (from === undefined || unset(from))
20
+ continue;
21
+ if (desired[key] !== undefined)
22
+ continue;
23
+ // kintone が自分で埋めた既定値は、spec から「外した」ものではない。
24
+ if (isKintoneDefault(from, defaults[key]))
25
+ continue;
26
+ const cleared = typeof from === "boolean" ? "false" : '""';
27
+ warnings.push(`${label}: ${key} を spec から外しましたが、kintone 側の ${JSON.stringify(from)} は` +
28
+ `据え置かれます (外すには "${key}": ${cleared} と書きます)。`);
29
+ }
30
+ return warnings;
31
+ }
32
+ /** フィールドのうち、外し方を示せる設定。 */
33
+ const FIELD_KEYS_TO_KEEP = new Set([
34
+ "required",
35
+ "unique",
36
+ "noLabel",
37
+ "defaultValue",
38
+ "minValue",
39
+ "maxValue",
40
+ "minLength",
41
+ "maxLength",
42
+ "unit",
43
+ "digit",
44
+ "thumbnailSize",
45
+ "expression",
46
+ "hideExpression",
47
+ ]);
48
+ /** アプリ全体のうち、外し方を示せる設定。 */
49
+ const APP_KEYS_TO_KEEP = new Set(["description"]);
50
+ /**
51
+ * kintone が**書かなくても埋める**値。spec に一度も書いていないのに
52
+ * 「spec から外しました」と警告されるのを防ぐ。
53
+ *
54
+ * 値が既定値と一致するときだけ黙る。既定値から変えてあるなら、従来どおり警告する。
55
+ * 比較は文字列にそろえて行う (API は数値を文字列で返したり返さなかったりする)。
56
+ */
57
+ const FIELD_DEFAULTS = {
58
+ // ラジオボタンは作った時点で必須になる (未選択の状態を持たない)。
59
+ RADIO_BUTTON: { required: [true] },
60
+ // API で作ると 50、画面で作ると 150 が入る。
61
+ FILE: { thumbnailSize: ["50", "150"] },
62
+ };
63
+ /** 一般設定のうち、アプリを作ったときに kintone が入れる値。 */
64
+ const SETTINGS_DEFAULTS = {
65
+ enableThumbnails: [true],
66
+ enableComments: [true],
67
+ enableDuplicateRecord: [true],
68
+ enableInlineRecordEditing: [true],
69
+ firstMonthOfFiscalYear: [4],
70
+ };
71
+ function isKintoneDefault(value, defaults) {
72
+ return defaults !== undefined && defaults.some((d) => String(d) === String(value));
73
+ }
74
+ const TABLE_CHANGE_LABEL = {
75
+ added: "列を追加",
76
+ updated: "列の設定を変更",
77
+ removed: "列を削除",
78
+ moved: "出入り",
79
+ };
2
80
  /** 変更が 1 つも無いか。 */
3
81
  export function isEmptyDiff(diff) {
4
82
  return (diff.added.length === 0 &&
5
83
  diff.updated.length === 0 &&
6
84
  diff.retyped.length === 0 &&
7
85
  diff.orphaned.length === 0 &&
86
+ diff.tableChanges.length === 0 &&
8
87
  diff.app.length === 0 &&
9
88
  diff.views.added.length === 0 &&
10
89
  diff.views.updated.length === 0 &&
@@ -16,13 +95,16 @@ export function isEmptyDiff(diff) {
16
95
  export function hasWork(diff) {
17
96
  return !isEmptyDiff(diff);
18
97
  }
19
- export function diffAppSpec(current, desired) {
98
+ export function diffAppSpec(current, desired, options = {}) {
20
99
  const currentFields = byCode(current.fields);
21
100
  const desiredFields = byCode(desired.fields);
101
+ const parkedCodes = new Set(options.parkedCodes ?? []);
22
102
  const added = [];
23
103
  const updated = [];
24
104
  const retyped = [];
25
105
  const orphaned = [];
106
+ const parked = [];
107
+ const warnings = [];
26
108
  for (const [code, field] of desiredFields) {
27
109
  const existing = currentFields.get(code);
28
110
  if (existing === undefined) {
@@ -38,10 +120,13 @@ export function diffAppSpec(current, desired) {
38
120
  if (changes.length > 0) {
39
121
  updated.push({ code, field, changes });
40
122
  }
123
+ warnings.push(...staleSettings(code, existing, field, FIELD_KEYS_TO_KEEP, FIELD_DEFAULTS[field.type]));
41
124
  }
125
+ warnings.push(...staleSettings("(アプリ)", current, desired, APP_KEYS_TO_KEEP), ...staleSettings("(アプリ設定)", (current.settings ?? {}), (desired.settings ?? {}), undefined, SETTINGS_DEFAULTS));
42
126
  for (const [code, field] of currentFields) {
43
127
  if (!desiredFields.has(code)) {
44
- orphaned.push({ code, type: field.type, label: field.label });
128
+ const entry = { code, type: field.type, label: field.label };
129
+ (parkedCodes.has(code) ? parked : orphaned).push(entry);
45
130
  }
46
131
  }
47
132
  return {
@@ -49,15 +134,60 @@ export function diffAppSpec(current, desired) {
49
134
  updated,
50
135
  retyped,
51
136
  orphaned,
137
+ parked,
138
+ tableChanges: compareTables(current, desired, { added, updated, orphaned }),
139
+ warnings,
52
140
  app: compareAppSettings(current, desired),
53
141
  views: compareViews(current.views ?? [], desired.views ?? []),
54
142
  layout: compareLayout(current, desired),
55
143
  };
56
144
  }
145
+ /**
146
+ * テーブルに関わる変更を拾う。
147
+ *
148
+ * 列の増減・設定変更はもちろん、フィールドがテーブルを出入りしたことも見る。
149
+ * 出入りは kintone では作り直しになり、**データが引き継がれない**ため。
150
+ */
151
+ function compareTables(current, desired, changes) {
152
+ const currentTables = fieldTables(current);
153
+ const desiredTables = fieldTables(desired);
154
+ const result = [];
155
+ for (const entry of changes.added) {
156
+ const table = desiredTables[entry.code];
157
+ if (table !== undefined)
158
+ result.push({ code: entry.code, table, kind: "added" });
159
+ }
160
+ for (const entry of changes.updated) {
161
+ const table = desiredTables[entry.code] ?? currentTables[entry.code];
162
+ if (table !== undefined)
163
+ result.push({ code: entry.code, table, kind: "updated" });
164
+ }
165
+ for (const entry of changes.orphaned) {
166
+ const table = currentTables[entry.code];
167
+ if (table !== undefined)
168
+ result.push({ code: entry.code, table, kind: "removed" });
169
+ }
170
+ // 両方に在るフィールドが、テーブルを出入りしていないか。
171
+ // 名前ではなくコードで比べる (名前だけ変えても同じテーブル)。
172
+ const codeOf = (name) => name === undefined ? undefined : tableCodeOf(name);
173
+ const seen = new Set(result.map((change) => change.code));
174
+ for (const field of desired.fields) {
175
+ const code = resolveFieldCode(field);
176
+ if (seen.has(code))
177
+ continue;
178
+ const from = codeOf(currentTables[code]);
179
+ const to = codeOf(desiredTables[code]);
180
+ if (from === to)
181
+ continue;
182
+ const table = desiredTables[code] ?? currentTables[code];
183
+ result.push({ code, table, kind: "moved" });
184
+ }
185
+ return result;
186
+ }
57
187
  function compareLayout(current, desired) {
58
188
  const currentLayout = resolveLayout(current);
59
189
  const desiredLayout = resolveLayout(desired);
60
- const describe = (layout) => layout.mode === "grouped" ? `grouped (最大 ${layout.maxPerRow} 列)` : "stacked";
190
+ const describe = (layout) => layout.mode === "stacked" ? "stacked" : `${layout.mode} (最大 ${layout.maxPerRow} 列)`;
61
191
  const currentCodes = current.fields.map(resolveFieldCode);
62
192
  const desiredCodes = desired.fields.map(resolveFieldCode);
63
193
  const shared = new Set(currentCodes.filter((code) => desiredCodes.includes(code)));
@@ -67,14 +197,21 @@ function compareLayout(current, desired) {
67
197
  const desiredGroups = fieldGroups(desired);
68
198
  const groupsChanged = [...shared].some((code) => currentGroups[code] !== desiredGroups[code]);
69
199
  const modeChanged = currentLayout.mode !== desiredLayout.mode || currentLayout.maxPerRow !== desiredLayout.maxPerRow;
200
+ // grouped は modeChanged が常に立つ (pull が stacked を返すため) ので、
201
+ // 顔ぶれの変化は結果的にいつも拾えている。sections は同じ指定どうしを比べるので、
202
+ // ここで明示しないと「足したフィールドがセクションの外に出る」ことになる。
203
+ const membersChanged = desiredLayout.mode === "sections" &&
204
+ (currentCodes.length !== desiredCodes.length || shared.size !== desiredCodes.length);
70
205
  return {
71
206
  from: describe(currentLayout),
72
207
  to: describe(desiredLayout),
73
208
  modeChanged,
74
209
  orderChanged,
75
210
  groupsChanged,
211
+ membersChanged,
76
212
  // stacked は「既存の並びに手を触れない」指定なので、違いがあっても組み直さない。
77
- willApply: desiredLayout.mode === "grouped" && (modeChanged || orderChanged || groupsChanged),
213
+ willApply: appliesLayout(desiredLayout.mode) &&
214
+ (modeChanged || orderChanged || groupsChanged || membersChanged),
78
215
  };
79
216
  }
80
217
  function byCode(fields) {
@@ -91,7 +228,12 @@ function byCode(fields) {
91
228
  * 実際には何も起きないのに差分が永遠に消えないことになる。
92
229
  * 値を変えたいときは、明示的に書く (例: `"required": false`)。
93
230
  */
94
- const FIELD_KEYS_TO_IGNORE = new Set(["code", "type", "group"]);
231
+ /**
232
+ * フィールド設定としては比べないキー。
233
+ * `code` と `type` は同一性そのもの、`group` と `table` は kintone に送らない
234
+ * fieldsmith 側の情報で、レイアウト差分とテーブル差分がそれぞれ見ている。
235
+ */
236
+ const FIELD_KEYS_TO_IGNORE = new Set(["code", "type", "group", "table"]);
95
237
  function compareFields(current, desired) {
96
238
  const keys = new Set([
97
239
  ...Object.keys(current).filter((key) => !FIELD_KEYS_TO_IGNORE.has(key)),
@@ -149,6 +291,10 @@ function compareViews(current, desired) {
149
291
  continue;
150
292
  const from = existing[key];
151
293
  const to = view[key];
294
+ // 未指定は現状維持 (フィールド・アプリ設定と同じ)。kintone は書かなかった sort を
295
+ // 「レコード番号 desc」で勝手に埋めるので、これが無いと永遠に差分が出る。
296
+ if (to === undefined)
297
+ continue;
152
298
  if (!same(from, to))
153
299
  changes.push({ key, from, to });
154
300
  }
@@ -165,15 +311,26 @@ function compareViews(current, desired) {
165
311
  * ここを分けると「required を書いていないフィールド」と
166
312
  * 「required: false と書いたフィールド」が毎回差分になり、無意味な変更が出続ける。
167
313
  */
314
+ /**
315
+ * 2 つの設定値が同じ意味か。
316
+ *
317
+ * 「未指定」は `false` とも空文字とも同じ意味になる。
318
+ * kintone は未設定の上限などを空文字で返し、`pull` はそれを落とすので、
319
+ * 区別すると「制限を外した spec」が毎回差分に出続ける。
320
+ */
168
321
  function same(a, b) {
169
322
  if (a === b)
170
323
  return true;
171
324
  if (a === undefined)
172
- return b === false;
325
+ return unset(b);
173
326
  if (b === undefined)
174
- return a === false;
327
+ return unset(a);
175
328
  return JSON.stringify(a) === JSON.stringify(b);
176
329
  }
330
+ /** 未指定と同じ意味を持つ値。 */
331
+ function unset(value) {
332
+ return value === false || value === "";
333
+ }
177
334
  /** 差分を人が読める行にする。 */
178
335
  export function describeDiff(diff) {
179
336
  const lines = [];
@@ -193,6 +350,10 @@ export function describeDiff(diff) {
193
350
  for (const retype of diff.retyped) {
194
351
  lines.push(` ! ${retype.code}: 型を ${retype.from} → ${retype.to} に変更 (kintone では不可)`);
195
352
  }
353
+ for (const change of diff.tableChanges) {
354
+ lines.push(` ! ${change.code}: テーブル「${change.table}」の${TABLE_CHANGE_LABEL[change.kind]}` +
355
+ " (update では反映できない)");
356
+ }
196
357
  for (const orphan of diff.orphaned) {
197
358
  lines.push(` - ${orphan.code} (${orphan.type}) を削除候補へ`);
198
359
  }
@@ -201,6 +362,7 @@ export function describeDiff(diff) {
201
362
  diff.layout.modeChanged ? `指定: ${diff.layout.from} → ${diff.layout.to}` : null,
202
363
  diff.layout.orderChanged ? "並び順" : null,
203
364
  diff.layout.groupsChanged ? "group" : null,
365
+ diff.layout.membersChanged ? "フィールドの増減" : null,
204
366
  ].filter((reason) => reason !== null);
205
367
  lines.push(` ~ フォームの並びを組み直す (${reasons.join(", ")})`);
206
368
  }
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/spec/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/spec/diff.ts"],"names":[],"mappings":"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"}
@@ -42,9 +42,33 @@ export const UNADDABLE_FIELD_TYPES = {
42
42
  CREATED_TIME: "アプリ作成時に自動生成されるフィールドのため、追加できません",
43
43
  MODIFIER: "アプリ作成時に自動生成されるフィールドのため、追加できません",
44
44
  UPDATED_TIME: "アプリ作成時に自動生成されるフィールドのため、追加できません",
45
- SUBTABLE: "テーブルは v1 では未対応です",
45
+ // テーブルも fields に書くものではない。列になるフィールドに table を付けると、
46
+ // fieldsmith が SUBTABLE に組み立てる。入れ子を書かせないのは group と同じ理由。
47
+ SUBTABLE: "テーブルは fields に書かず、列になるフィールドに table を付けてください",
48
+ // 関連レコード一覧も相手アプリに依存する。加えて condition と displayFields が
49
+ // 相手アプリのフィールドコードなので、--dry-run では実在を確かめようがない。
50
+ // 値を持たない表示専用のフィールドなので、外してもレコードのデータは失われない。
51
+ // @see README.md「関連レコード一覧を対象外にしている理由」
46
52
  REFERENCE_TABLE: "関連レコード一覧は v1 では未対応です",
47
- GROUP: "グループ (フィールドのグループ化) は v1 では未対応です",
53
+ // グループは fields に書くものではなく、layout: "sections" と field.group から
54
+ // fieldsmith が組み立てる。中に何が入るかはレイアウトの話なので、
55
+ // フィールドの列挙とは別の場所で表現したほうが読みやすい。
56
+ GROUP: 'グループは fields に書かず、layout: "sections" と各フィールドの group で指定してください',
57
+ // ルックアップと関連レコード一覧は、外している理由が他と違う。
58
+ // テーブルやグループがアプリ内で完結するのに対し、この 2 つは他のアプリに依存する。
59
+ //
60
+ // 1. 設定に相手アプリの指定が要る。spec に書くと特定の kintone 環境に縛られ、
61
+ // 「同じ spec を別の環境にもう 1 つ」ができなくなる。
62
+ // space を examples/ の spec に持たせていないのと同じ理由。
63
+ // (アプリコードで書けば ID 依存は避けられるが、相手アプリがどの環境でも
64
+ // 同じアプリコードで在ることが前提になり、fieldsmith には保証できない)
65
+ // 2. 相手アプリが先に存在している必要があるため、deploy の
66
+ // 「AppSpec 1 つ → アプリ 1 つ」という決定性が保てない。加えて
67
+ // --dry-run は kintone に接続しないので相手アプリを検証できず、
68
+ // 「検証は通ったのにデプロイ中に落ちる」型の失敗になる。
69
+ //
70
+ // アプリ間の参照は AppSpec の外に置き、kintone 上で人が繋ぐ前提。
71
+ // @see README.md「ルックアップを対象外にしている理由」
48
72
  LOOKUP: "ルックアップは v1 では未対応です",
49
73
  };
50
74
  /**
@@ -128,10 +152,25 @@ const baseFieldShape = {
128
152
  noLabel: z.boolean().optional(),
129
153
  /**
130
154
  * 意味のまとまりの名前 (「書誌情報」「貸出」など)。
131
- * フォームのレイアウトで、同じ名前のフィールドを横に並べるのに使う。
132
- * kintone には送らない、fieldsmith の中だけの情報。
155
+ *
156
+ * `layout` の指定で扱いが変わる。
157
+ * - `grouped` : 同じ名前のフィールドを横に並べる (kintone には送らない)
158
+ * - `sections` : 同じ名前のフィールドを 1 つの**グループフィールド**に入れる
159
+ *
160
+ * `sections` ではこの名前がグループのフィールドコードの元になるため、
161
+ * 上限はフィールドコードに合わせる。
133
162
  */
134
- group: z.string().min(1).max(32).optional(),
163
+ group: z.string().min(1).max(128).optional(),
164
+ /**
165
+ * テーブルの名前 (「明細」「担当者履歴」など)。
166
+ * 同じ名前を書いたフィールドが、1 つのテーブルの列になる。
167
+ *
168
+ * `group` と同時には指定できない。kintone はテーブルの中にグループを置けないため、
169
+ * 両方に属することがそもそも有り得ない。
170
+ *
171
+ * この名前がテーブルのフィールドコードの元になるので、上限はフィールドコードに合わせる。
172
+ */
173
+ table: z.string().min(1).max(128).optional(),
135
174
  };
136
175
  const optionsSchema = z
137
176
  .array(z.string().min(1).max(128), {
@@ -152,6 +191,19 @@ const optionsSchema = z
152
191
  seen.add(option);
153
192
  }
154
193
  });
194
+ /**
195
+ * 数値の設定 (上限・下限・初期値)。
196
+ *
197
+ * **kintone は文字列で返す** (`"31"`)。spec には数値でも書けるので、
198
+ * どちらで書いても同じものとして扱えるよう、文字列に寄せておく。
199
+ * 寄せないと「pull した `"0"`」と「手書きの `0`」が別物になり、
200
+ * 中身が同じなのに毎回の差分に出続ける。
201
+ *
202
+ * 空文字は「制限なし」を表す kintone の書き方なので、そのまま通す。
203
+ */
204
+ const numericSetting = z
205
+ .union([z.string(), z.number()])
206
+ .transform((value) => (typeof value === "number" ? String(value) : value));
155
207
  const plainField = (type) => z.object({ ...baseFieldShape, type: z.literal(type) }).strict();
156
208
  const optionField = (type) => z
157
209
  .object({
@@ -206,9 +258,9 @@ const fieldSpecObjectSchema = z.discriminatedUnion("type", [
206
258
  .object({
207
259
  ...baseFieldShape,
208
260
  type: z.literal("NUMBER"),
209
- defaultValue: z.union([z.string(), z.number()]).optional(),
210
- minValue: z.union([z.string(), z.number()]).optional(),
211
- maxValue: z.union([z.string(), z.number()]).optional(),
261
+ defaultValue: numericSetting.optional(),
262
+ minValue: numericSetting.optional(),
263
+ maxValue: numericSetting.optional(),
212
264
  /** 桁区切りを表示するか。 */
213
265
  digit: z.boolean().optional(),
214
266
  /** 小数点以下の表示桁数。 */
@@ -1 +1 @@
1
- {"version":3,"file":"fieldSpec.js","sourceRoot":"","sources":["../../src/spec/fieldSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fieldSpec.js","sourceRoot":"","sources":["../../src/spec/fieldSpec.ts"],"names":[],"mappings":"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"}