@kgdiff/cli 0.4.0 → 0.5.0

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/README.md +21 -4
  2. package/dist/args.d.ts +5 -0
  3. package/dist/args.d.ts.map +1 -1
  4. package/dist/args.js +6 -0
  5. package/dist/args.js.map +1 -1
  6. package/dist/diff-command.d.ts.map +1 -1
  7. package/dist/diff-command.js +7 -1
  8. package/dist/diff-command.js.map +1 -1
  9. package/dist/errors.d.ts +8 -2
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +21 -4
  12. package/dist/errors.js.map +1 -1
  13. package/dist/help.d.ts.map +1 -1
  14. package/dist/help.js +5 -0
  15. package/dist/help.js.map +1 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/io.d.ts +5 -0
  21. package/dist/io.d.ts.map +1 -1
  22. package/dist/locale.d.ts +34 -1
  23. package/dist/locale.d.ts.map +1 -1
  24. package/dist/locale.js +65 -0
  25. package/dist/locale.js.map +1 -1
  26. package/dist/main.d.ts.map +1 -1
  27. package/dist/main.js +5 -2
  28. package/dist/main.js.map +1 -1
  29. package/dist/markdown.d.ts +12 -2
  30. package/dist/markdown.d.ts.map +1 -1
  31. package/dist/markdown.js +94 -11
  32. package/dist/markdown.js.map +1 -1
  33. package/dist/model.d.ts +42 -2
  34. package/dist/model.d.ts.map +1 -1
  35. package/dist/model.js +82 -0
  36. package/dist/model.js.map +1 -1
  37. package/dist/node-io.d.ts.map +1 -1
  38. package/dist/node-io.js +1 -0
  39. package/dist/node-io.js.map +1 -1
  40. package/dist/report.d.ts +1 -1
  41. package/dist/report.d.ts.map +1 -1
  42. package/dist/report.js +3 -3
  43. package/dist/report.js.map +1 -1
  44. package/dist/summary.d.ts +19 -4
  45. package/dist/summary.d.ts.map +1 -1
  46. package/dist/summary.js +105 -19
  47. package/dist/summary.js.map +1 -1
  48. package/package.json +6 -6
  49. package/src/args.ts +14 -0
  50. package/src/diff-command.ts +7 -1
  51. package/src/errors.ts +30 -4
  52. package/src/help.ts +5 -0
  53. package/src/index.ts +2 -0
  54. package/src/io.ts +5 -0
  55. package/src/locale.ts +123 -1
  56. package/src/main.ts +5 -2
  57. package/src/markdown.ts +128 -12
  58. package/src/model.ts +115 -2
  59. package/src/node-io.ts +1 -0
  60. package/src/report.ts +3 -3
  61. package/src/summary.ts +145 -22
package/dist/locale.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { isDefinitionKey } from './model.js';
1
2
  export const LOCALES = ['en', 'zh-CN'];
2
3
  /**
3
4
  * Map a locale tag or POSIX locale (`zh_CN.UTF-8`, `zh-Hant`, `en_US`, `C`) to a supported
@@ -33,6 +34,28 @@ export function resolveLocale(flag, env) {
33
34
  export function formatInt(n) {
34
35
  return String(Math.trunc(n)).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
35
36
  }
37
+ /**
38
+ * Display names of watched attribute keys, in order: the default definition keys are all
39
+ * “definition” (once), other keys are shown as they are.
40
+ */
41
+ export function watchLabels(keys, m) {
42
+ const labels = [];
43
+ for (const key of keys) {
44
+ const label = isDefinitionKey(key) ? m.watch.definition : key;
45
+ if (!labels.includes(label))
46
+ labels.push(label);
47
+ }
48
+ return labels;
49
+ }
50
+ /**
51
+ * Both sides of a possible match, quoted and joined by `arrow`. When they share a name (two
52
+ * “Apple”s), `withId` adds each side's id, as hunk titles do for equally named nodes.
53
+ */
54
+ function possibleTitle(before, after, quote, withId, arrow) {
55
+ const same = before.name === after.name;
56
+ const side = (s) => same ? withId(quote(s.name), s.id) : quote(s.name);
57
+ return `${side(before)}${arrow}${side(after)}`;
58
+ }
36
59
  const plural = (n, one, many) => `${formatInt(n)} ${n === 1 ? one : many}`;
37
60
  /** `179 → 184`, or `74` when unchanged. */
38
61
  export function formatCount([before, after]) {
@@ -73,10 +96,33 @@ const en = {
73
96
  byType: 'By type',
74
97
  untyped: '(untyped)',
75
98
  moreTypes: (n) => `… and ${plural(n, 'more type', 'more types')}`,
99
+ watch: {
100
+ definition: 'definition',
101
+ line: (labels, hunks) => `Review first: ${labels.join(', ')} changed in ${plural(hunks, 'hunk', 'hunks')}`,
102
+ marker: (labels) => labels.join(', '),
103
+ },
104
+ possible: {
105
+ heading: 'Possible matches',
106
+ title: (before, after) => possibleTitle(before, after, (name) => `“${name}”`, (quoted, id) => `${quoted} (${id})`, ' → '),
107
+ belowThreshold: (threshold) => `below the ${threshold} threshold`,
108
+ ambiguous: 'too close to another candidate',
109
+ evidence: (label, neighbors) => `name ${label} · neighbours ${neighbors}`,
110
+ hint: 'Not paired, so listed as removed or added. To pair one, add a synonym or a ' +
111
+ 'replacement link, or lower --threshold.',
112
+ more: (n) => `… and ${formatInt(n)} more · --json lists all`,
113
+ },
76
114
  markdown: {
77
115
  legend: '🟩 added · 🟥 removed · 🟨 content (renames, attributes, types, synonyms) · ' +
78
116
  '🟦 structure (moves, relations) · 🟪 identity (merges, splits)',
79
117
  more: (n) => `…and ${plural(n, 'more hunk', 'more hunks')}. Open the HTML report for the full list.`,
118
+ reviewFirst: 'Review first',
119
+ reviewFirstHint: (labels) => `These hunks change a watched attribute (${labels.join(', ')}). Such an edit can change ` +
120
+ 'what existing data means even when the diff looks small.',
121
+ reviewFirstMore: (n) => `…and ${formatInt(n)} more.`,
122
+ possibleHint: 'kgdiff did not pair these nodes, so they are listed above as removed or added. If a ' +
123
+ 'pair is the same thing, add a synonym or a replacement link, or lower `--threshold`.',
124
+ possibleMore: (n) => `…and ${plural(n, 'more possible match', 'more possible matches')}. The HTML report ` +
125
+ "shows them in each node's details.",
80
126
  generatedBy: (generator) => `Generated by ${generator}`,
81
127
  },
82
128
  };
@@ -108,9 +154,28 @@ const zh = {
108
154
  byType: '按类型',
109
155
  untyped: '(无类型)',
110
156
  moreTypes: (n) => `… 另有 ${formatInt(n)} 个类型`,
157
+ watch: {
158
+ definition: '定义',
159
+ line: (labels, hunks) => `优先审查:${formatInt(hunks)} 组变更修改了${labels.join('、')}`,
160
+ marker: (labels) => labels.join('、'),
161
+ },
162
+ possible: {
163
+ heading: '可能的匹配',
164
+ title: (before, after) => possibleTitle(before, after, (name) => `「${name}」`, (quoted, id) => `${quoted}(${id})`, '→'),
165
+ belowThreshold: (threshold) => `低于阈值 ${threshold}`,
166
+ ambiguous: '与其他候选过于接近',
167
+ evidence: (label, neighbors) => `名称 ${label} · 邻居 ${neighbors}`,
168
+ hint: '这些节点未配对,因此按删除或新增列出。如是同一节点,可补充别名或替换链接,或调低 --threshold。',
169
+ more: (n) => `… 另有 ${formatInt(n)} 对 · --json 列出全部`,
170
+ },
111
171
  markdown: {
112
172
  legend: '🟩 新增 · 🟥 删除 · 🟨 内容(改名、属性、类型、别名) · 🟦 结构(移动、关系) · 🟪 身份(合并、拆分、换 ID)',
113
173
  more: (n) => `……另有 ${formatInt(n)} 组变更未列出,完整列表请查看 HTML 报告。`,
174
+ reviewFirst: '优先审查',
175
+ reviewFirstHint: (labels) => `这些变更修改了受关注的属性(${labels.join('、')})。这类修改在差异里看起来很小,却可能改变已有数据的含义。`,
176
+ reviewFirstMore: (n) => `……另有 ${formatInt(n)} 组。`,
177
+ possibleHint: 'kgdiff 没有配对这些节点,因此它们在上方按删除或新增列出。如果某一对其实是同一节点,可补充别名或替换链接,或调低 `--threshold`。',
178
+ possibleMore: (n) => `……另有 ${formatInt(n)} 对可能的匹配未列出,HTML 报告的节点详情中可以看到全部。`,
114
179
  generatedBy: (generator) => `由 ${generator} 生成`,
115
180
  },
116
181
  };
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqB,eAAe,EAA0B,MAAM,YAAY,CAAC;AAGxF,MAAM,CAAC,MAAM,OAAO,GAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,CAAC,GAAG,GAAG;SACV,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACpE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACjF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB,EAAE,GAAQ;IAC9D,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAU,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,KAAK;YAAE,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC;AA8DD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB,EAAE,CAAW;IAC9D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,MAAyB,EACzB,KAAwB,EACxB,KAA+B,EAC/B,MAA8C,EAC9C,KAAa;IAEb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,CAAoB,EAAU,EAAE,CAC5C,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;AACjD,CAAC;AAKD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAY,EAAU,EAAE,CAC9D,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE5C,2CAA2C;AAC3C,MAAM,UAAU,WAAW,CAAC,CAAC,MAAM,EAAE,KAAK,CAAQ;IAChD,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,EAAE,GAAa;IACnB,KAAK,EAAE;QACL,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,OAAO;QACZ,MAAM,EAAE,SAAS;KAClB;IACD,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE;IAC7F,MAAM,EAAE;QACN,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,UAAU;KACrB;IACD,wFAAwF;IACxF,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACvB,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK;QAC/D,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE;IAC9D,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAC1B,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAChF,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,OAAO;IACzC,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,gBAAgB;IAC3B,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAChC,sBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG;IAC/F,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,gBAAgB;KACxB;IACD,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE;IACjE,KAAK,EAAE;QACL,UAAU,EAAE,YAAY;QACxB,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACtB,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACnF,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;KACtC;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACvB,aAAa,CACX,MAAM,EACN,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,EACrB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,KAAK,EAAE,GAAG,EACnC,KAAK,CACN;QACH,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,aAAa,SAAS,YAAY;QACjE,SAAS,EAAE,gCAAgC;QAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,KAAK,iBAAiB,SAAS,EAAE;QACzE,IAAI,EACF,6EAA6E;YAC7E,yCAAyC;QAC3C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,0BAA0B;KAC7D;IACD,QAAQ,EAAE;QACR,MAAM,EACJ,8EAA8E;YAC9E,gEAAgE;QAClE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,QAAQ,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,CAAC,2CAA2C;QACzF,WAAW,EAAE,cAAc;QAC3B,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1B,2CAA2C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B;YACzF,0DAA0D;QAC5D,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,QAAQ;QACpD,YAAY,EACV,sFAAsF;YACtF,sFAAsF;QACxF,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAClB,QAAQ,MAAM,CAAC,CAAC,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,oBAAoB;YACrF,oCAAoC;QACtC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,gBAAgB,SAAS,EAAE;KACxD;CACF,CAAC;AAEF,MAAM,EAAE,GAAa;IACnB,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACrE,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;IACvE,MAAM,EAAE;QACN,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,SAAS,WAAW,CAAC,KAAK,CAAC,EAAE;IAC/E,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM;IAC/E,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI;IACrC,QAAQ,EAAE,gBAAgB;IAC1B,SAAS,EAAE,MAAM;IACjB,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAChC,UAAU,SAAS,CAAC,KAAK,CAAC,QAAQ,SAAS,CAAC,KAAK,CAAC,OAAO;IAC3D,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,WAAW;KACnB;IACD,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,MAAM;IAC5C,KAAK,EAAE;QACL,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7E,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACrC;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACvB,aAAa,CACX,MAAM,EACN,KAAK,EACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,EACrB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,EAClC,GAAG,CACJ;QACH,cAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,SAAS,EAAE;QAClD,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,SAAS,EAAE;QAC/D,IAAI,EAAE,uDAAuD;QAC7D,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,kBAAkB;KACpD;IACD,QAAQ,EAAE;QACR,MAAM,EACJ,uEAAuE;QACzE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,0BAA0B;QAC3D,WAAW,EAAE,MAAM;QACnB,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1B,iBAAiB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,+BAA+B;QAClE,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,SAAS,CAAC,CAAC,CAAC,KAAK;QACjD,YAAY,EACV,4EAA4E;QAC9E,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAClB,QAAQ,SAAS,CAAC,CAAC,CAAC,iCAAiC;QACvD,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,SAAS,KAAK;KAChD;CACF,CAAC;AAEF,MAAM,QAAQ,GAAuC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAEzE,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAoC9E"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAuC9E"}
package/dist/main.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * load the diff engine.
5
5
  */
6
6
  import { parseCommandLine, peekColorMode } from './args.js';
7
- import { debugEnabled, formatError } from './errors.js';
7
+ import { bugReportUrl, debugEnabled, formatError } from './errors.js';
8
8
  import { renderHelp } from './help.js';
9
9
  import { createPainter, isLightBackground, resolveColorLevel } from './style.js';
10
10
  import { cliVersion } from './version.js';
@@ -44,7 +44,10 @@ export async function main(argv, io) {
44
44
  }
45
45
  catch (error) {
46
46
  const paint = createPainter(resolveColorLevel(peekColorMode(argv), io.env, io.stderrIsTTY), light);
47
- io.stderr.write(formatError(error, paint, debugEnabled(io.env.DEBUG)));
47
+ // The platform comes from `io` like every other side effect, so `main` stays runnable
48
+ // in-process and its output deterministic in tests.
49
+ const report = bugReportUrl(cliVersion(), io.runtime);
50
+ io.stderr.write(formatError(error, paint, debugEnabled(io.env.DEBUG), report));
48
51
  return 2;
49
52
  }
50
53
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAuB,EAAE,EAAS;IAC3D,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvF,EAAE,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACzF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,SAAS;gBACZ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,CAAC;YACX,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACtD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACxD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,UAAU,GAAU,OAAO,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,aAAa,CACzB,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAC9D,KAAK,CACN,CAAC;QACF,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAuB,EAAE,EAAS;IAC3D,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvF,EAAE,CAAC,MAAM,CAAC,KAAK,CACb,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACzF,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YACD,KAAK,SAAS;gBACZ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC5C,OAAO,CAAC,CAAC;YACX,KAAK,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACtD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACxD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,UAAU,GAAU,OAAO,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,aAAa,CACzB,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,EAC9D,KAAK,CACN,CAAC;QACF,sFAAsF;QACtF,oDAAoD;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACtD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
@@ -1,11 +1,16 @@
1
1
  /**
2
2
  * GitHub-flavoured Markdown summary for PR comments and `$GITHUB_STEP_SUMMARY`
3
- * (docs/cli.md §Markdown summary): title, diffstat table, family legend and the hunk list
4
- * grouped by phase in `<details>` blocks. No HTML beyond `<details>` / `<summary>`.
3
+ * (docs/cli.md §Markdown summary): title, diffstat table, family legend, the hunks that change
4
+ * a watched attribute (review first), the hunk list grouped by phase and the possible matches,
5
+ * in `<details>` blocks. No HTML beyond `<details>` / `<summary>`.
5
6
  */
6
7
  import { type DiffResult, type Locale } from '@kgdiff/core';
7
8
  /** Hunks listed before "…and N more". */
8
9
  export declare const MARKDOWN_HUNK_LIMIT = 100;
10
+ /** Hunks listed under "Review first" before "…and N more". */
11
+ export declare const MARKDOWN_REVIEW_LIMIT = 20;
12
+ /** Possible matches listed before "…and N more". */
13
+ export declare const MARKDOWN_POSSIBLE_LIMIT = 20;
9
14
  /**
10
15
  * Escape untrusted text for inline GFM.
11
16
  *
@@ -24,6 +29,11 @@ export interface MarkdownOptions {
24
29
  readonly title: string;
25
30
  /** e.g. `kgdiff 0.1.0`. */
26
31
  readonly generator: string;
32
+ /**
33
+ * Attribute keys whose changes are flagged ⚑ for review first (`--watch-attr`). Default
34
+ * `DEFAULT_WATCH_ATTRS` (definitions); `[]` flags nothing.
35
+ */
36
+ readonly watch?: readonly string[];
27
37
  }
28
38
  /** Render the Markdown summary. Deterministic: no timestamps. */
29
39
  export declare function renderMarkdown(diff: DiffResult, options: MarkdownOptions): string;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,KAAK,UAAU,EAAc,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAMxE,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAevC;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAoDjF"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,UAAU,EAAyB,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAgBnF,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAGvC,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,oDAAoD;AACpD,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAe1C;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAmDjF"}
package/dist/markdown.js CHANGED
@@ -1,17 +1,24 @@
1
1
  /**
2
2
  * GitHub-flavoured Markdown summary for PR comments and `$GITHUB_STEP_SUMMARY`
3
- * (docs/cli.md §Markdown summary): title, diffstat table, family legend and the hunk list
4
- * grouped by phase in `<details>` blocks. No HTML beyond `<details>` / `<summary>`.
3
+ * (docs/cli.md §Markdown summary): title, diffstat table, family legend, the hunks that change
4
+ * a watched attribute (review first), the hunk list grouped by phase and the possible matches,
5
+ * in `<details>` blocks. No HTML beyond `<details>` / `<summary>`.
5
6
  */
6
7
  import { formatHunk } from '@kgdiff/core';
7
- import { formatInt, messages } from './locale.js';
8
- import { groupByPhase, hunkFamily, hunkGlyph, overview } from './model.js';
8
+ import { formatInt, messages, watchLabels } from './locale.js';
9
+ import { DEFAULT_WATCH_ATTRS, groupByPhase, hunkFamily, hunkGlyph, overview, percent, possibleMatches, watchedChanges, } from './model.js';
9
10
  import { totalsText } from './summary.js';
10
11
  import { revealInvisible } from './width.js';
11
12
  /** Hunks listed before "…and N more". */
12
13
  export const MARKDOWN_HUNK_LIMIT = 100;
13
14
  /** Groups start expanded when the whole list is at most this long. */
14
15
  const OPEN_THRESHOLD = 30;
16
+ /** Hunks listed under "Review first" before "…and N more". */
17
+ export const MARKDOWN_REVIEW_LIMIT = 20;
18
+ /** Possible matches listed before "…and N more". */
19
+ export const MARKDOWN_POSSIBLE_LIMIT = 20;
20
+ /** The possible matches start expanded when there are at most this many. */
21
+ const POSSIBLE_OPEN_THRESHOLD = 10;
15
22
  const FAMILY_SQUARE = {
16
23
  added: '🟩',
17
24
  removed: '🟥',
@@ -66,6 +73,10 @@ export function renderMarkdown(diff, options) {
66
73
  const { nodes, edges, before, after } = diff.stats;
67
74
  const pair = (b, a) => `${formatInt(b)} → ${formatInt(a)}`;
68
75
  out.push(`| | ${t.added} | ${t.removed} | ${t.modified} | ${t.unchanged} | ${t.total} |`, '| :-- | --: | --: | --: | --: | --: |', `| **${t.nodes}** | ${formatInt(nodes.added)} | ${formatInt(nodes.removed)} | ${formatInt(nodes.modified)} | ${formatInt(nodes.unchanged)} | ${pair(before.nodes, after.nodes)} |`, `| **${t.edges}** | ${formatInt(edges.added)} | ${formatInt(edges.removed)} | ${formatInt(edges.modified)} | ${formatInt(edges.unchanged)} | ${pair(before.edges, after.edges)} |`, '', m.markdown.legend, '');
76
+ const watch = options.watch ?? DEFAULT_WATCH_ATTRS;
77
+ const watched = watchedChanges(diff, watch);
78
+ const item = (hunk) => hunkItem(hunk, diff, options.locale, watched.get(hunk.id));
79
+ out.push(...reviewFirstSection(diff, watched, watch, options.locale, item));
69
80
  let budget = MARKDOWN_HUNK_LIMIT;
70
81
  const open = ov.hunks <= OPEN_THRESHOLD ? ' open' : '';
71
82
  for (const group of groupByPhase(diff.hunks)) {
@@ -74,20 +85,92 @@ export function renderMarkdown(diff, options) {
74
85
  const listed = group.hunks.slice(0, budget);
75
86
  budget -= listed.length;
76
87
  out.push(`<details${open}>`, `<summary>${m.phase[group.phase]} (${formatInt(group.hunks.length)})</summary>`, '');
77
- for (const hunk of listed) {
78
- const { title, subtitle } = formatHunk(hunk, diff, options.locale);
79
- const family = hunkFamily(hunk);
80
- const glyph = hunkGlyph(hunk) === '~' ? '\\~' : hunkGlyph(hunk);
81
- const note = subtitle ? ` — *${escapeMarkdown(subtitle)}*` : '';
82
- out.push(`- ${FAMILY_SQUARE[family]} ${glyph} ${escapeMarkdown(title)}${note}`);
83
- }
88
+ for (const hunk of listed)
89
+ out.push(item(hunk));
84
90
  out.push('', '</details>', '');
85
91
  }
86
92
  if (ov.hunks > MARKDOWN_HUNK_LIMIT) {
87
93
  out.push(`*${escapeMarkdown(m.markdown.more(ov.hunks - MARKDOWN_HUNK_LIMIT))}*`, '');
88
94
  }
95
+ out.push(...possibleSection(diff, options.locale));
89
96
  }
90
97
  out.push(`*${escapeMarkdown(m.markdown.generatedBy(options.generator))}*`);
91
98
  return `${out.join('\n')}\n`;
92
99
  }
100
+ /**
101
+ * A hunk as a list item: family square, glyph, title, then its summary in italics, after
102
+ * `⚑ definition` when it changes a watched attribute.
103
+ */
104
+ function hunkItem(hunk, diff, locale, watchedKeys) {
105
+ const m = messages(locale);
106
+ const { title, subtitle } = formatHunk(hunk, diff, locale);
107
+ const glyph = hunkGlyph(hunk) === '~' ? '\\~' : hunkGlyph(hunk);
108
+ const flag = watchedKeys ? `⚑ ${m.watch.marker(watchLabels(watchedKeys, m))}` : '';
109
+ const note = [flag, subtitle].filter(Boolean).join(' · ');
110
+ return `- ${FAMILY_SQUARE[hunkFamily(hunk)]} ${glyph} ${escapeMarkdown(title)}${note ? ` — *${escapeMarkdown(note)}*` : ''}`;
111
+ }
112
+ /**
113
+ * The hunks that change a watched attribute, before the phase groups (which may start
114
+ * collapsed), in list order: a reworded definition can change what existing data means while
115
+ * the diff looks small. The same items in the groups carry the ⚑ marker. Empty when none.
116
+ */
117
+ function reviewFirstSection(diff, watched, watch, locale, item) {
118
+ if (watched.size === 0)
119
+ return [];
120
+ const m = messages(locale);
121
+ const keys = new Set();
122
+ for (const list of watched.values())
123
+ for (const key of list)
124
+ keys.add(key);
125
+ const labels = watchLabels(watch.filter((k) => keys.has(k)), m);
126
+ const flagged = groupByPhase(diff.hunks).flatMap((g) => g.hunks.filter((h) => watched.has(h.id)));
127
+ const out = [
128
+ '<details open>',
129
+ `<summary>⚑ ${m.markdown.reviewFirst} (${formatInt(flagged.length)})</summary>`,
130
+ '',
131
+ `*${escapeMarkdown(m.markdown.reviewFirstHint(labels))}*`,
132
+ '',
133
+ ];
134
+ for (const hunk of flagged.slice(0, MARKDOWN_REVIEW_LIMIT))
135
+ out.push(item(hunk));
136
+ if (flagged.length > MARKDOWN_REVIEW_LIMIT) {
137
+ out.push('', `*${escapeMarkdown(m.markdown.reviewFirstMore(flagged.length - MARKDOWN_REVIEW_LIMIT))}*`);
138
+ }
139
+ out.push('', '</details>', '');
140
+ return out;
141
+ }
142
+ /**
143
+ * The possible matches (`possibleMatches`): pairings kgdiff did not apply between a node listed
144
+ * as removed and one listed as added. In a pull request comment they are what tells a reviewer
145
+ * that "removed X" and "added Y" may be one entity. Empty when there are none.
146
+ */
147
+ function possibleSection(diff, locale) {
148
+ const possible = possibleMatches(diff);
149
+ if (possible.length === 0)
150
+ return [];
151
+ const m = messages(locale);
152
+ const threshold = percent(diff.options.match.threshold);
153
+ const open = possible.length <= POSSIBLE_OPEN_THRESHOLD ? ' open' : '';
154
+ const out = [
155
+ `<details${open}>`,
156
+ `<summary>${m.possible.heading} (${formatInt(possible.length)})</summary>`,
157
+ '',
158
+ `*${m.markdown.possibleHint}*`,
159
+ '',
160
+ ];
161
+ for (const p of possible.slice(0, MARKDOWN_POSSIBLE_LIMIT)) {
162
+ const reason = p.reason === 'ambiguous' ? m.possible.ambiguous : m.possible.belowThreshold(threshold);
163
+ const note = [
164
+ percent(p.score),
165
+ reason,
166
+ m.possible.evidence(percent(p.label), percent(p.neighbors)),
167
+ ].join(' · ');
168
+ out.push(`- ≈ ${escapeMarkdown(m.possible.title(p.before, p.after))} — *${note}*`);
169
+ }
170
+ if (possible.length > MARKDOWN_POSSIBLE_LIMIT) {
171
+ out.push('', `*${escapeMarkdown(m.markdown.possibleMore(possible.length - MARKDOWN_POSSIBLE_LIMIT))}*`);
172
+ }
173
+ out.push('', '</details>', '');
174
+ return out;
175
+ }
93
176
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
package/dist/model.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Presentation model shared by every text output: hunk families, glyphs, name-status letters,
3
- * phase grouping and the per-phase counts behind the counters and the diffstat bar.
3
+ * phase grouping, the per-phase counts behind the counters and the diffstat bar, the watched
4
+ * attributes flagged for review first, and the possible matches listed after the hunks.
4
5
  */
5
- import type { DiffResult, Hunk, HunkKind, ReplayPhase } from '@kgdiff/core';
6
+ import type { DiffResult, Hunk, HunkKind, MatchSuggestion, ReplayPhase } from '@kgdiff/core';
6
7
  /** The five meaning families of docs/visual-language.md (mirrors `@kgdiff/scene`). */
7
8
  export type ChangeFamily = 'added' | 'removed' | 'content' | 'structure' | 'identity';
8
9
  /**
@@ -59,5 +60,44 @@ export declare function groupByPhase(hunks: readonly Hunk[]): {
59
60
  * gets at least one cell when `total` allows. Deterministic; ties go to the earlier entry.
60
61
  */
61
62
  export declare function apportion(weights: readonly number[], total: number): number[];
63
+ /**
64
+ * Attributes watched by default: definitions, under the keys the formats give them (OBO `def`,
65
+ * kgdiff JSON `definition`, `IAO:0000115` for OBO ontologies in RDF, `skos:definition`). A
66
+ * reworded definition can change what existing data means while the diff looks small.
67
+ */
68
+ export declare const DEFAULT_WATCH_ATTRS: readonly string[];
69
+ /** Whether `key` is one of the default definition keys, shown as “definition”. */
70
+ export declare function isDefinitionKey(key: string): boolean;
71
+ /**
72
+ * The watched attributes each hunk changes, by hunk id, in `watch` order; hunks that change
73
+ * none are absent. Only attribute changes of matched nodes count: an added or removed node's
74
+ * definition is part of that addition or removal, not a change to a definition. Ignored
75
+ * attributes (`ignoreAttrs`) never show up here, since the diff does not report them. O(changes).
76
+ */
77
+ export declare function watchedChanges(diff: DiffResult, watch: readonly string[]): ReadonlyMap<string, readonly string[]>;
78
+ /** One side of a possible match: the node's id in its version and the name shown for it. */
79
+ export interface PossibleMatchSide {
80
+ readonly id: string;
81
+ readonly name: string;
82
+ }
83
+ /** A pairing kgdiff considered but did not apply (a `MatchSuggestion`), ready to list. */
84
+ export interface PossibleMatch {
85
+ readonly before: PossibleMatchSide;
86
+ readonly after: PossibleMatchSide;
87
+ readonly score: number;
88
+ readonly reason: MatchSuggestion['reason'];
89
+ /** Label and neighbourhood evidence, 0..1. */
90
+ readonly label: number;
91
+ readonly neighbors: number;
92
+ }
93
+ /**
94
+ * The suggestions a reviewer of the text outputs needs to see: pairings kgdiff did not apply
95
+ * where the before node is reported removed or the after node added, so that "removed X, added
96
+ * Y" can be read as "maybe X became Y". The viewer's detail panel lists the same ones. Names
97
+ * are the label each node had in its own version. Highest score first, then by ids.
98
+ */
99
+ export declare function possibleMatches(diff: DiffResult): PossibleMatch[];
100
+ /** A score or evidence value as a whole percentage: `0.796` → `80%`. */
101
+ export declare function percent(value: number): string;
62
102
  export declare function assertNever(value: never): never;
63
103
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5E,sFAAsF;AACtF,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAEtF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAOhE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,CAGnD;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAiB5C;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAqBnE;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,WAAW,EAA+C,CAAC;AAE9F,2DAA2D;AAC3D,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAA+C,CAAC;AAEjG,8CAA8C;AAC9C,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAK7D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAKpE,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3D,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAenD;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,EAAE,CAK5F;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CA0B7E;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAE/C"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/model.js CHANGED
@@ -145,6 +145,88 @@ export function apportion(weights, total) {
145
145
  }
146
146
  return cells;
147
147
  }
148
+ /**
149
+ * Attributes watched by default: definitions, under the keys the formats give them (OBO `def`,
150
+ * kgdiff JSON `definition`, `IAO:0000115` for OBO ontologies in RDF, `skos:definition`). A
151
+ * reworded definition can change what existing data means while the diff looks small.
152
+ */
153
+ export const DEFAULT_WATCH_ATTRS = [
154
+ 'def',
155
+ 'definition',
156
+ 'IAO:0000115',
157
+ 'skos:definition',
158
+ ];
159
+ const DEFINITION_KEYS = new Set(DEFAULT_WATCH_ATTRS);
160
+ /** Whether `key` is one of the default definition keys, shown as “definition”. */
161
+ export function isDefinitionKey(key) {
162
+ return DEFINITION_KEYS.has(key);
163
+ }
164
+ /**
165
+ * The watched attributes each hunk changes, by hunk id, in `watch` order; hunks that change
166
+ * none are absent. Only attribute changes of matched nodes count: an added or removed node's
167
+ * definition is part of that addition or removal, not a change to a definition. Ignored
168
+ * attributes (`ignoreAttrs`) never show up here, since the diff does not report them. O(changes).
169
+ */
170
+ export function watchedChanges(diff, watch) {
171
+ const watched = new Set(watch);
172
+ const byHunk = new Map();
173
+ if (watched.size === 0)
174
+ return byHunk;
175
+ for (const hunk of diff.hunks) {
176
+ const keys = new Set();
177
+ for (const id of hunk.nodes) {
178
+ for (const facet of diff.index.node(id)?.facets ?? []) {
179
+ if (facet.kind !== 'attrs')
180
+ continue;
181
+ for (const change of facet.changes)
182
+ if (watched.has(change.key))
183
+ keys.add(change.key);
184
+ }
185
+ }
186
+ if (keys.size > 0)
187
+ byHunk.set(hunk.id, [...watched].filter((k) => keys.has(k)));
188
+ }
189
+ return byHunk;
190
+ }
191
+ /** Longest name shown for either side (as hunk titles shorten names, @kgdiff/core i18n). */
192
+ const MAX_POSSIBLE_NAME = 40;
193
+ function shortName(label) {
194
+ const chars = Array.from(label);
195
+ return chars.length > MAX_POSSIBLE_NAME
196
+ ? `${chars.slice(0, MAX_POSSIBLE_NAME - 1).join('')}…`
197
+ : label;
198
+ }
199
+ const byCodePoint = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
200
+ /**
201
+ * The suggestions a reviewer of the text outputs needs to see: pairings kgdiff did not apply
202
+ * where the before node is reported removed or the after node added, so that "removed X, added
203
+ * Y" can be read as "maybe X became Y". The viewer's detail panel lists the same ones. Names
204
+ * are the label each node had in its own version. Highest score first, then by ids.
205
+ */
206
+ export function possibleMatches(diff) {
207
+ const list = [];
208
+ for (const s of diff.suggestions) {
209
+ const before = diff.index.nodeByBefore(s.before);
210
+ const after = diff.index.nodeByAfter(s.after);
211
+ if (before?.status !== 'removed' && after?.status !== 'added')
212
+ continue;
213
+ list.push({
214
+ before: { id: s.before, name: shortName(before?.before?.label ?? before?.label ?? s.before) },
215
+ after: { id: s.after, name: shortName(after?.after?.label ?? after?.label ?? s.after) },
216
+ score: s.score,
217
+ reason: s.reason,
218
+ label: s.evidence.label,
219
+ neighbors: s.evidence.neighbors,
220
+ });
221
+ }
222
+ return list.sort((x, y) => y.score - x.score ||
223
+ byCodePoint(x.before.id, y.before.id) ||
224
+ byCodePoint(x.after.id, y.after.id));
225
+ }
226
+ /** A score or evidence value as a whole percentage: `0.796` → `80%`. */
227
+ export function percent(value) {
228
+ return `${Math.round(value * 100)}%`;
229
+ }
148
230
  export function assertNever(value) {
149
231
  throw new Error(`Unexpected value: ${String(value)}`);
150
232
  }
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-io.d.ts","sourceRoot":"","sources":["../src/node-io.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAgB,MAAM,SAAS,CAAC;AAmClE,uFAAuF;AACvF,wBAAgB,cAAc,IAAI,aAAa,CAiB9C;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,IAAI,EAAE,MAAM,GACX;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAQxD;AAiDD,4CAA4C;AAC5C,wBAAgB,MAAM,IAAI,KAAK,CAiB9B"}
1
+ {"version":3,"file":"node-io.d.ts","sourceRoot":"","sources":["../src/node-io.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAgB,MAAM,SAAS,CAAC;AAmClE,uFAAuF;AACvF,wBAAgB,cAAc,IAAI,aAAa,CAiB9C;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,IAAI,EAAE,MAAM,GACX;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAQxD;AAiDD,4CAA4C;AAC5C,wBAAgB,MAAM,IAAI,KAAK,CAkB9B"}
package/dist/node-io.js CHANGED
@@ -126,6 +126,7 @@ export function nodeIO() {
126
126
  stderrIsTTY: process.stderr.isTTY === true,
127
127
  stdinIsTTY: process.stdin.isTTY === true,
128
128
  columns: process.stdout.isTTY ? process.stdout.columns : undefined,
129
+ runtime: `${process.platform} ${process.arch}, Node.js ${process.version}`,
129
130
  now: () => new Date(),
130
131
  makeTempDir: () => mkdtemp(join(tmpdir(), 'kgdiff-')),
131
132
  openFile,
@@ -1 +1 @@
1
- {"version":3,"file":"node-io.js","sourceRoot":"","sources":["../src/node-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-io.js","sourceRoot":"","sources":["../src/node-io.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGxD,KAAK,UAAU,SAAS,CAAC,QAAgB;IACvC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAgB,CAAC;QAClF,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC;QAC1B,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAAC,wBAAwB,QAAQ,QAAQ,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,IAAyB;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7F,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,QAAQ;YAAE,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClC,SAAS,EAAE,eAAe;QAC1B,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChF,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CACzB,QAAyB,EACzB,IAAY;IAEZ,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,0FAA0F;QAC1F,0DAA0D;QAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9F,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,wBAAwB,EAAE,QAAQ;SACnC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB,GAA2C;IAChE,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,mCAAmC;CAC7C,CAAC;AAEF,KAAK,UAAU,gBAAgB,CAAC,IAAkB;IAChD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB,CAAC;IACpF,MAAM,IAAI,GACR,uFAAuF,CAAC;IAC1F,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,6BAA6B,IAAI,KAAK,SAAS,yBAAyB,EACxE,IAAI,EACJ,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,IAAI,OAAO,IAAI,GAAG,EAAE,IAAI,EAAE;YAChF,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,MAAM;IACpB,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS;QACT,EAAE,EAAE,cAAc,EAAE;QACpB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QACpC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC1C,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QACxC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAClE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,OAAO,EAAE;QAC1E,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;QACrB,WAAW,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QACrD,QAAQ;QACR,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
package/dist/report.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Build the `ReportPayload` embedded in HTML reports: diff (`diffToJSON`) + layout
2
+ * Build the `ReportPayload` embedded in HTML reports: packed diff (`packDiffJSON`) + layout
3
3
  * (`layoutToJSON`) + meta + initial view preferences. `@kgdiff/layout` and `node:zlib` are
4
4
  * loaded on demand, so text outputs never pay for them.
5
5
  */