domain-knowledge-kit 0.2.10 → 0.2.11

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 (78) hide show
  1. package/README.md +1 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/features/adr/commands/adr-related.d.ts.map +1 -1
  5. package/dist/features/adr/commands/adr-related.js +4 -3
  6. package/dist/features/adr/commands/adr-related.js.map +1 -1
  7. package/dist/features/adr/commands/adr-show.d.ts.map +1 -1
  8. package/dist/features/adr/commands/adr-show.js +3 -2
  9. package/dist/features/adr/commands/adr-show.js.map +1 -1
  10. package/dist/features/agent/commands/init.d.ts.map +1 -1
  11. package/dist/features/agent/commands/init.js +36 -8
  12. package/dist/features/agent/commands/init.js.map +1 -1
  13. package/dist/features/agent/commands/prime.d.ts.map +1 -1
  14. package/dist/features/agent/commands/prime.js +47 -3
  15. package/dist/features/agent/commands/prime.js.map +1 -1
  16. package/dist/features/audit/commands/stats.d.ts.map +1 -1
  17. package/dist/features/audit/commands/stats.js +23 -0
  18. package/dist/features/audit/commands/stats.js.map +1 -1
  19. package/dist/features/pipeline/commands/render.d.ts.map +1 -1
  20. package/dist/features/pipeline/commands/render.js +3 -2
  21. package/dist/features/pipeline/commands/render.js.map +1 -1
  22. package/dist/features/pipeline/tests/validator.test.js +16 -0
  23. package/dist/features/pipeline/tests/validator.test.js.map +1 -1
  24. package/dist/features/pipeline/validator.d.ts.map +1 -1
  25. package/dist/features/pipeline/validator.js +7 -0
  26. package/dist/features/pipeline/validator.js.map +1 -1
  27. package/dist/features/query/commands/graph.d.ts.map +1 -1
  28. package/dist/features/query/commands/graph.js +140 -50
  29. package/dist/features/query/commands/graph.js.map +1 -1
  30. package/dist/features/query/commands/list.d.ts.map +1 -1
  31. package/dist/features/query/commands/list.js +2 -1
  32. package/dist/features/query/commands/list.js.map +1 -1
  33. package/dist/features/query/commands/related.d.ts.map +1 -1
  34. package/dist/features/query/commands/related.js +3 -2
  35. package/dist/features/query/commands/related.js.map +1 -1
  36. package/dist/features/query/commands/search.d.ts.map +1 -1
  37. package/dist/features/query/commands/search.js +2 -1
  38. package/dist/features/query/commands/search.js.map +1 -1
  39. package/dist/features/query/commands/show.d.ts.map +1 -1
  40. package/dist/features/query/commands/show.js +3 -2
  41. package/dist/features/query/commands/show.js.map +1 -1
  42. package/dist/features/query/commands/summary.d.ts.map +1 -1
  43. package/dist/features/query/commands/summary.js +60 -4
  44. package/dist/features/query/commands/summary.js.map +1 -1
  45. package/dist/features/refactor/commands/move.d.ts +14 -0
  46. package/dist/features/refactor/commands/move.d.ts.map +1 -0
  47. package/dist/features/refactor/commands/move.js +166 -0
  48. package/dist/features/refactor/commands/move.js.map +1 -0
  49. package/dist/features/refactor/commands/rename.d.ts.map +1 -1
  50. package/dist/features/refactor/commands/rename.js +329 -131
  51. package/dist/features/refactor/commands/rename.js.map +1 -1
  52. package/dist/features/refactor/commands/rm.d.ts.map +1 -1
  53. package/dist/features/refactor/commands/rm.js +349 -76
  54. package/dist/features/refactor/commands/rm.js.map +1 -1
  55. package/dist/features/refactor/refactor-helpers.d.ts +117 -0
  56. package/dist/features/refactor/refactor-helpers.d.ts.map +1 -0
  57. package/dist/features/refactor/refactor-helpers.js +653 -0
  58. package/dist/features/refactor/refactor-helpers.js.map +1 -0
  59. package/dist/features/scaffold/commands/add-item.d.ts +4 -1
  60. package/dist/features/scaffold/commands/add-item.d.ts.map +1 -1
  61. package/dist/features/scaffold/commands/add-item.js +60 -4
  62. package/dist/features/scaffold/commands/add-item.js.map +1 -1
  63. package/dist/features/scaffold/commands/new-adr.d.ts.map +1 -1
  64. package/dist/features/scaffold/commands/new-adr.js +11 -1
  65. package/dist/features/scaffold/commands/new-adr.js.map +1 -1
  66. package/dist/features/scaffold/commands/new-domain.d.ts.map +1 -1
  67. package/dist/features/scaffold/commands/new-domain.js +8 -3
  68. package/dist/features/scaffold/commands/new-domain.js.map +1 -1
  69. package/dist/features/scaffold/wiring.d.ts +29 -0
  70. package/dist/features/scaffold/wiring.d.ts.map +1 -0
  71. package/dist/features/scaffold/wiring.js +180 -0
  72. package/dist/features/scaffold/wiring.js.map +1 -0
  73. package/dist/shared/graph.d.ts.map +1 -1
  74. package/dist/shared/graph.js +5 -0
  75. package/dist/shared/graph.js.map +1 -1
  76. package/dist/shared/tests/graph.test.js +8 -0
  77. package/dist/shared/tests/graph.test.js.map +1 -1
  78. package/package.json +3 -2
@@ -1,152 +1,350 @@
1
- import { existsSync, readFileSync, renameSync, writeFileSync } from "node:fs";
1
+ import { existsSync, readFileSync, renameSync, writeFileSync, readdirSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { loadDomainModel } from "../../../shared/loader.js";
4
- import { contextsDir, adrDir, indexFile } from "../../../shared/paths.js";
4
+ import { contextsDir, adrDir } from "../../../shared/paths.js";
5
5
  import { DomainGraph } from "../../../shared/graph.js";
6
- function rewriteReferences(filePath, oldId, newId, showDiff = false) {
7
- if (!existsSync(filePath))
8
- return;
9
- const content = readFileSync(filePath, "utf-8");
10
- // Simple regex replace for the ID string. This handles most cases
11
- // (e.g. lists of references) without breaking YAML formatting.
12
- // We use word boundaries to avoid partial matches.
13
- // Exception: ID contains dot, so we need a broader boundary match
14
- const regex = new RegExp(`\\b${oldId.replace(/\./g, '\\.')}\\b`, 'g');
15
- if (regex.test(content)) {
16
- const newContent = content.replace(regex, newId);
17
- writeFileSync(filePath, newContent, "utf-8");
18
- if (showDiff) {
19
- console.log(`\n--- a/${filePath}\n+++ b/${filePath}`);
20
- const oLines = content.split('\n');
21
- const nLines = newContent.split('\n');
22
- for (let i = 0; i < oLines.length; i++) {
23
- if (oLines[i] !== nLines[i]) {
24
- console.log(`- ${oLines[i]}`);
25
- console.log(`+ ${nLines[i]}`);
26
- }
6
+ import { parseYaml, stringifyYaml } from "../../../shared/yaml.js";
7
+ import { classifyId, KIND_TO_DIR, rewriteFile, renameGlossaryEntry, renameActorEntry, renameFlowInIndex, renameContextInIndex, updateAdrFrontmatter, renameDomainItemRef, allAdrFiles, allDomainFiles, printDiff, } from "../refactor-helpers.js";
8
+ // ── Per-kind rename helpers ───────────────────────────────────────────
9
+ function renameActor(oldName, newName, graph, opts) {
10
+ const oldId = `actor.${oldName}`;
11
+ const newId = `actor.${newName}`;
12
+ if (!graph.hasNode(oldId)) {
13
+ console.error(`Actor '${oldName}' not found.`);
14
+ process.exit(1);
15
+ }
16
+ if (graph.hasNode(newId)) {
17
+ console.error(`Actor '${newName}' already exists.`);
18
+ process.exit(1);
19
+ }
20
+ // Rename in actors.yml
21
+ renameActorEntry(opts.root, oldName, newName, opts.diff ?? false);
22
+ // Update all command/read_model files that reference this actor by name
23
+ let updated = 0;
24
+ for (const filePath of allDomainFiles(opts.root)) {
25
+ if (filePath.endsWith("context.yml"))
26
+ continue;
27
+ // Only rewrite actor-name-bearing dirs: commands, read-models
28
+ if (!filePath.includes("/commands/") &&
29
+ !filePath.includes("/read-models/"))
30
+ continue;
31
+ const content = readFileSync(filePath, "utf-8");
32
+ const data = parseYaml(content);
33
+ let changed = false;
34
+ if (data["actor"] === oldName) {
35
+ data["actor"] = newName;
36
+ changed = true;
37
+ }
38
+ const usedBy = data["used_by"];
39
+ if (usedBy) {
40
+ const idx = usedBy.indexOf(oldName);
41
+ if (idx !== -1) {
42
+ usedBy[idx] = newName;
43
+ changed = true;
27
44
  }
28
45
  }
46
+ if (!changed)
47
+ continue;
48
+ const newContent = stringifyYaml(data);
49
+ if (opts.diff)
50
+ printDiff(filePath, content, newContent);
51
+ writeFileSync(filePath, newContent, "utf-8");
52
+ updated++;
53
+ }
54
+ console.log(`Successfully renamed actor '${oldName}' → '${newName}'. Updated ${updated} file(s).`);
55
+ }
56
+ function renameFlow(oldName, newName, graph, opts) {
57
+ if (!graph.hasNode(`flow.${oldName}`)) {
58
+ console.error(`Flow '${oldName}' not found.`);
59
+ process.exit(1);
60
+ }
61
+ if (graph.hasNode(`flow.${newName}`)) {
62
+ console.error(`Flow '${newName}' already exists.`);
63
+ process.exit(1);
64
+ }
65
+ renameFlowInIndex(opts.root, oldName, newName, opts.diff ?? false);
66
+ console.log(`Successfully renamed flow '${oldName}' → '${newName}'.`);
67
+ }
68
+ function renameAdr(oldId, newId, graph, opts) {
69
+ if (!graph.hasNode(oldId)) {
70
+ console.error(`ADR '${oldId}' not found.`);
71
+ process.exit(1);
72
+ }
73
+ if (graph.hasNode(newId)) {
74
+ console.error(`ADR '${newId}' already exists.`);
75
+ process.exit(1);
76
+ }
77
+ const adrBase = adrDir(opts.root);
78
+ const oldPath = join(adrBase, `${oldId}.md`);
79
+ const newPath = join(adrBase, `${newId}.md`);
80
+ if (!existsSync(oldPath)) {
81
+ console.error(`ADR file not found: ${oldPath}`);
82
+ process.exit(1);
83
+ }
84
+ // Update the id field inside the frontmatter
85
+ updateAdrFrontmatter(oldPath, (fm) => {
86
+ if (fm["id"] !== oldId)
87
+ return false;
88
+ fm["id"] = newId;
29
89
  return true;
90
+ }, opts.diff ?? false);
91
+ // Rename the file
92
+ renameSync(oldPath, newPath);
93
+ // Update all domain YAML files that reference oldId in adr_refs
94
+ let updated = 0;
95
+ for (const filePath of allDomainFiles(opts.root)) {
96
+ if (filePath.endsWith("context.yml"))
97
+ continue;
98
+ if (rewriteFile(filePath, oldId, newId, opts.diff ?? false))
99
+ updated++;
100
+ }
101
+ // Update context.yml files (glossary adr_refs)
102
+ const ctxBase = contextsDir(opts.root);
103
+ if (existsSync(ctxBase)) {
104
+ for (const ent of readdirSync(ctxBase, { withFileTypes: true })) {
105
+ if (!ent.isDirectory())
106
+ continue;
107
+ const ctxMeta = join(ctxBase, ent.name, "context.yml");
108
+ if (rewriteFile(ctxMeta, oldId, newId, opts.diff ?? false))
109
+ updated++;
110
+ }
111
+ }
112
+ // Update other ADR files that reference oldId in superseded_by or domain_refs
113
+ for (const adrFilePath of allAdrFiles(opts.root)) {
114
+ if (adrFilePath === newPath)
115
+ continue;
116
+ updateAdrFrontmatter(adrFilePath, (fm) => {
117
+ let changed = false;
118
+ if (fm["superseded_by"] === oldId) {
119
+ fm["superseded_by"] = newId;
120
+ changed = true;
121
+ }
122
+ const refs = fm["domain_refs"];
123
+ if (refs?.includes(oldId)) {
124
+ const idx = refs.indexOf(oldId);
125
+ refs[idx] = newId;
126
+ changed = true;
127
+ }
128
+ return changed;
129
+ }, opts.diff ?? false);
130
+ }
131
+ console.log(`Successfully renamed '${oldId}' → '${newId}'. Updated ${updated} domain file(s).`);
132
+ }
133
+ function renameContext(oldName, newName, graph, opts) {
134
+ if (!graph.hasNode(`context.${oldName}`)) {
135
+ console.error(`Context '${oldName}' not found.`);
136
+ process.exit(1);
137
+ }
138
+ if (graph.hasNode(`context.${newName}`)) {
139
+ console.error(`Context '${newName}' already exists.`);
140
+ process.exit(1);
30
141
  }
31
- return false;
142
+ const ctxBase = contextsDir(opts.root);
143
+ const oldDir = join(ctxBase, oldName);
144
+ const newDir = join(ctxBase, newName);
145
+ // 1. Update context.yml name field
146
+ const metaPath = join(oldDir, "context.yml");
147
+ if (existsSync(metaPath)) {
148
+ const content = readFileSync(metaPath, "utf-8");
149
+ const meta = parseYaml(content);
150
+ meta.name = newName;
151
+ const newContent = stringifyYaml(meta);
152
+ if (opts.diff)
153
+ printDiff(metaPath, content, newContent);
154
+ writeFileSync(metaPath, newContent, "utf-8");
155
+ }
156
+ // 2. Rename the directory
157
+ renameSync(oldDir, newDir);
158
+ // 3. Update index.yml context entry + flow step refs with old ctx prefix
159
+ renameContextInIndex(opts.root, oldName, newName, opts.diff ?? false);
160
+ // 4. Rewrite cross-context references in other domain YAML files and ADRs
161
+ // (scoped IDs like "old-ctx.ItemName" → "new-ctx.ItemName")
162
+ let updated = 0;
163
+ const oldPrefix = `${oldName}.`;
164
+ const newPrefix = `${newName}.`;
165
+ for (const filePath of allDomainFiles(opts.root)) {
166
+ // Skip files that are now in the renamed directory
167
+ if (filePath.includes(`/contexts/${newName}/`))
168
+ continue;
169
+ if (rewriteFile(filePath, oldPrefix, newPrefix, opts.diff ?? false))
170
+ updated++;
171
+ }
172
+ for (const adrFilePath of allAdrFiles(opts.root)) {
173
+ updateAdrFrontmatter(adrFilePath, (fm) => {
174
+ const refs = fm["domain_refs"];
175
+ if (!refs?.length)
176
+ return false;
177
+ let changed = false;
178
+ fm["domain_refs"] = refs.map((r) => {
179
+ if (r.startsWith(oldPrefix)) {
180
+ changed = true;
181
+ return newPrefix + r.slice(oldPrefix.length);
182
+ }
183
+ return r;
184
+ });
185
+ return changed;
186
+ }, opts.diff ?? false);
187
+ }
188
+ console.log(`Successfully renamed context '${oldName}' → '${newName}'. Updated ${updated} cross-reference(s).`);
32
189
  }
190
+ function renameGlossaryItem(id, newId, graph, opts) {
191
+ const dot = id.indexOf(".");
192
+ const ctx = id.slice(0, dot);
193
+ const oldTerm = id.slice(dot + 1);
194
+ const newDot = newId.indexOf(".");
195
+ const newCtx = newId.slice(0, newDot);
196
+ const newTerm = newId.slice(newDot + 1);
197
+ if (ctx !== newCtx) {
198
+ console.error("Cross-context glossary rename is not supported; use 'move' instead.");
199
+ process.exit(1);
200
+ }
201
+ const ctxDir = join(contextsDir(opts.root), ctx);
202
+ const renamed = renameGlossaryEntry(ctxDir, oldTerm, newTerm, opts.diff ?? false);
203
+ if (!renamed) {
204
+ console.error(`Glossary term '${oldTerm}' not found in context '${ctx}'.`);
205
+ process.exit(1);
206
+ }
207
+ console.log(`Successfully renamed glossary term '${oldTerm}' → '${newTerm}'.`);
208
+ }
209
+ function renameDomainItem(oldId, newId, graph, opts) {
210
+ const oldDot = oldId.indexOf(".");
211
+ const oldCtx = oldId.slice(0, oldDot);
212
+ const oldName = oldId.slice(oldDot + 1);
213
+ const newDot = newId.indexOf(".");
214
+ const newCtx = newId.slice(0, newDot);
215
+ const newName = newId.slice(newDot + 1);
216
+ if (oldCtx !== newCtx) {
217
+ console.error("Cross-context rename is not supported by 'rename'; use 'dkk move' to relocate items across contexts.");
218
+ process.exit(1);
219
+ }
220
+ if (!graph.hasNode(oldId)) {
221
+ console.error(`Item '${oldId}' not found.`);
222
+ process.exit(1);
223
+ }
224
+ if (graph.hasNode(newId)) {
225
+ console.error(`Target ID '${newId}' already exists.`);
226
+ process.exit(1);
227
+ }
228
+ const node = graph.nodes.get(oldId);
229
+ if (node.kind === "glossary") {
230
+ renameGlossaryItem(oldId, newId, graph, opts);
231
+ return;
232
+ }
233
+ console.log(`Renaming ${node.kind} '${oldId}' → '${newId}'...`);
234
+ const ctxBase = contextsDir(opts.root);
235
+ const ctxDir = join(ctxBase, oldCtx);
236
+ const typeDir = KIND_TO_DIR[node.kind];
237
+ const oldPath = join(ctxDir, typeDir, `${oldName}.yml`);
238
+ const newPath = join(ctxDir, typeDir, `${newName}.yml`);
239
+ if (!existsSync(oldPath)) {
240
+ console.error(`File not found: ${oldPath}`);
241
+ process.exit(1);
242
+ }
243
+ // 1. Update the `name` field inside the item's own file
244
+ const content = readFileSync(oldPath, "utf-8");
245
+ const data = parseYaml(content);
246
+ data["name"] = newName;
247
+ const newContent = stringifyYaml(data);
248
+ if (opts.diff)
249
+ printDiff(oldPath, content, newContent);
250
+ writeFileSync(oldPath, newContent, "utf-8");
251
+ // 2. Rename the file
252
+ renameSync(oldPath, newPath);
253
+ // 3. Update references in the same context (simple name)
254
+ let updated = 0;
255
+ const samectxDeps = [...graph.edges]
256
+ .filter((e) => e.label !== "contains" &&
257
+ (e.to === oldId || e.from === oldId) &&
258
+ graph.nodes.get(e.to)?.context === oldCtx &&
259
+ graph.nodes.get(e.from)?.context === oldCtx)
260
+ .flatMap((e) => [e.to, e.from])
261
+ .filter((nId) => nId !== oldId)
262
+ .map((nId) => graph.nodes.get(nId))
263
+ .filter((n) => n !== undefined &&
264
+ n.kind !== "context" &&
265
+ n.kind !== "adr" &&
266
+ n.kind !== "flow");
267
+ const visitedDep = new Set();
268
+ for (const depNode of samectxDeps) {
269
+ if (!depNode || visitedDep.has(depNode.id))
270
+ continue;
271
+ visitedDep.add(depNode.id);
272
+ if (depNode.kind === "glossary" || !depNode.context)
273
+ continue;
274
+ const depDir = KIND_TO_DIR[depNode.kind];
275
+ if (!depDir)
276
+ continue;
277
+ const depPath = join(ctxBase, depNode.context, depDir, `${depNode.name}.yml`);
278
+ if (renameDomainItemRef(depPath, depNode.kind, oldName, newName, opts.diff ?? false))
279
+ updated++;
280
+ }
281
+ // 4. Update flow steps (scoped ID)
282
+ const idxPath = join(ctxBase, "..", "index.yml");
283
+ if (rewriteFile(idxPath, oldId, newId, opts.diff ?? false))
284
+ updated++;
285
+ // 5. Update ADR domain_refs (scoped ID)
286
+ for (const adrFilePath of allAdrFiles(opts.root)) {
287
+ updateAdrFrontmatter(adrFilePath, (fm) => {
288
+ const refs = fm["domain_refs"];
289
+ if (!refs?.includes(oldId))
290
+ return false;
291
+ const idx = refs.indexOf(oldId);
292
+ refs[idx] = newId;
293
+ return true;
294
+ }, opts.diff ?? false);
295
+ }
296
+ // 6. Update other domain files that hold the scoped ID in cross-context refs
297
+ for (const filePath of allDomainFiles(opts.root)) {
298
+ if (filePath.startsWith(ctxDir))
299
+ continue;
300
+ if (rewriteFile(filePath, oldId, newId, opts.diff ?? false))
301
+ updated++;
302
+ }
303
+ console.log(`Successfully renamed '${oldId}' → '${newId}'. Updated ${updated} reference(s).`);
304
+ }
305
+ // ── Command registration ──────────────────────────────────────────────
33
306
  export function registerRename(program) {
34
307
  program
35
308
  .command("rename <old-id> <new-id>")
36
- .description("Rename a domain item and update all references to it")
37
- .option("--diff", "Output a diff representation of the resulting changes")
309
+ .description("Rename a domain item, actor, ADR, flow, or context and update all references")
310
+ .option("--diff", "Show a diff of changes made")
38
311
  .option("-r, --root <path>", "Override repository root")
312
+ .addHelpText("after", `
313
+ ID formats (same for old-id and new-id):
314
+ ctx.ItemName domain item (rename within same context)
315
+ actor.ActorName actor
316
+ flow.FlowName flow
317
+ adr-NNNN Architecture Decision Record
318
+ context.ctxName bounded context (or bare: ctxName)
319
+
320
+ Cross-context rename: use 'dkk move <id> <new-context>' instead.
321
+ `)
39
322
  .action((oldId, newId, opts) => {
40
- // Validation format
41
- if (!oldId.includes(".") || !newId.includes(".")) {
42
- console.error("IDs must be scoped (e.g. 'ordering.OrderPlaced').");
43
- process.exit(1);
44
- }
45
- const [oldCtx, oldName] = oldId.split(".");
46
- const [newCtx, newName] = newId.split(".");
47
- if (oldCtx !== newCtx) {
48
- console.error("Cross-context renaming is not supported by this command.");
49
- process.exit(1);
50
- }
51
323
  const model = loadDomainModel({ root: opts.root });
52
324
  const graph = DomainGraph.from(model);
53
- if (!graph.hasNode(oldId)) {
54
- console.error(`Item '${oldId}' not found.`);
55
- process.exit(1);
56
- }
57
- if (graph.hasNode(newId)) {
58
- console.error(`Status check: Target ID '${newId}' already exists.`);
325
+ const oldParsed = classifyId(oldId);
326
+ const newParsed = classifyId(newId);
327
+ if (oldParsed.kind !== newParsed.kind) {
328
+ console.error(`ID kind mismatch: '${oldId}' is ${oldParsed.kind}, '${newId}' is ${newParsed.kind}.`);
59
329
  process.exit(1);
60
330
  }
61
- const node = graph.nodes.get(oldId);
62
- // Cannot rename contexts or flow easily safely right now with simple regex
63
- if (node.kind === "context" || node.kind === "flow" || node.kind === "actor" || node.kind === "adr") {
64
- console.error(`Rename target must be a domain item, got kind: ${node.kind}.`);
65
- process.exit(1);
66
- }
67
- console.log(`Renaming ${node.kind} '${oldId}' to '${newId}'...`);
68
- // Find items that reference this
69
- const dependents = new Set();
70
- for (const edge of graph.edges) {
71
- if (edge.to === oldId && edge.label !== "contains") {
72
- dependents.add(edge.from);
73
- }
74
- }
75
- let updatedFiles = 0;
76
- // 1. Rewrite references in dependent domain items
77
- for (const depId of dependents) {
78
- const depNode = graph.nodes.get(depId);
79
- if (depNode.kind === "adr") {
80
- const adrPath = join(adrDir(opts.root), `${depNode.name}.md`);
81
- if (rewriteReferences(adrPath, oldId, newId, opts.diff))
82
- updatedFiles++;
83
- continue;
84
- }
85
- if (depNode.kind === "flow") {
86
- const domIdxPath = indexFile(opts.root);
87
- if (rewriteReferences(domIdxPath, oldId, newId, opts.diff))
88
- updatedFiles++;
89
- continue;
90
- }
91
- if (depNode.kind === "actor") {
92
- // Actor file is single
93
- continue; // Actor doesn't reference items, items reference actors
94
- }
95
- // General domain item
96
- if (depNode.context) {
97
- const ctxDir = join(contextsDir(opts.root), depNode.context);
98
- // We don't know the exact file without scanning or mapping kinds to dirs.
99
- // So we just map the kind backwards to the file path.
100
- const kindToDir = {
101
- event: "events", command: "commands", aggregate: "aggregates",
102
- policy: "policies", read_model: "read-models"
103
- };
104
- if (depNode.kind === "glossary") {
105
- const metaPath = join(ctxDir, "context.yml");
106
- if (rewriteReferences(metaPath, oldId, newId, opts.diff))
107
- updatedFiles++;
108
- }
109
- else if (kindToDir[depNode.kind]) {
110
- const itemPath = join(ctxDir, kindToDir[depNode.kind], `${depNode.name}.yml`);
111
- if (rewriteReferences(itemPath, oldId, newId, opts.diff))
112
- updatedFiles++;
113
- }
114
- }
115
- }
116
- // 2. Rename the file itself and modify its internal name property
117
- const ctxDir = join(contextsDir(opts.root), oldCtx);
118
- const kindToDir = {
119
- event: "events", command: "commands", aggregate: "aggregates",
120
- policy: "policies", read_model: "read-models"
121
- };
122
- if (node.kind === "glossary") {
123
- const metaPath = join(ctxDir, "context.yml");
124
- if (rewriteReferences(metaPath, oldName, newName, opts.diff))
125
- updatedFiles++;
126
- }
127
- else {
128
- const typeDir = kindToDir[node.kind];
129
- const oldPath = join(ctxDir, typeDir, `${oldName}.yml`);
130
- const newPath = join(ctxDir, typeDir, `${newName}.yml`);
131
- // Rewrite inner name property
132
- const content = readFileSync(oldPath, "utf-8");
133
- const newContent = content.replace(/^name:\s*"?.*"?\s*$/m, `name: ${newName}`);
134
- writeFileSync(oldPath, newContent, "utf-8");
135
- if (opts.diff) {
136
- console.log(`\n--- a/${oldPath}\n+++ b/${newPath}`);
137
- const oLines = content.split('\n');
138
- const nLines = newContent.split('\n');
139
- for (let i = 0; i < oLines.length; i++) {
140
- if (oLines[i] !== nLines[i]) {
141
- console.log(`- ${oLines[i]}`);
142
- console.log(`+ ${nLines[i]}`);
143
- }
144
- }
145
- }
146
- renameSync(oldPath, newPath);
147
- updatedFiles++;
331
+ switch (oldParsed.kind) {
332
+ case "actor":
333
+ renameActor(oldParsed.name, newParsed.name, graph, opts);
334
+ break;
335
+ case "flow":
336
+ renameFlow(oldParsed.name, newParsed.name, graph, opts);
337
+ break;
338
+ case "adr":
339
+ renameAdr(oldParsed.name, newParsed.name, graph, opts);
340
+ break;
341
+ case "context":
342
+ renameContext(oldParsed.name, newParsed.name, graph, opts);
343
+ break;
344
+ case "domain":
345
+ renameDomainItem(oldId, newId, graph, opts);
346
+ break;
148
347
  }
149
- console.log(`Successfully renamed to '${newId}'. Updated ${updatedFiles} configurations.`);
150
348
  });
151
349
  }
152
350
  //# sourceMappingURL=rename.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../../src/features/refactor/commands/rename.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rename.js","sourceRoot":"","sources":["../../../../src/features/refactor/commands/rename.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../../../src/features/refactor/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AAOhD,wBAAgB,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAsG7C"}
1
+ {"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../../../src/features/refactor/commands/rm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,WAAW,CAAC;AA6YhD,wBAAgB,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAmD7C"}