@ibgib/vcs-gib 0.0.41 → 0.0.46

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.
@@ -2,5 +2,5 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export declare const AUTO_GENERATED_VERSION = "0.0.41";
5
+ export declare const AUTO_GENERATED_VERSION = "0.0.46";
6
6
  //# sourceMappingURL=AUTO-GENERATED-version.d.mts.map
@@ -2,5 +2,5 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export const AUTO_GENERATED_VERSION = '0.0.41';
5
+ export const AUTO_GENERATED_VERSION = '0.0.46';
6
6
  //# sourceMappingURL=AUTO-GENERATED-version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-generate-comment-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/cli-generate-comment-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAsB,yBAAyB,CAAC,EAC5C,SAAyB,EACzB,aAAyB,EACzB,KAAU,EACV,WAAqB,EACrB,KAAa,GAChB,GAAE,sBAA2B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyIjE"}
1
+ {"version":3,"file":"cli-generate-comment-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/cli-generate-comment-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,sBAAsB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAsB,yBAAyB,CAAC,EAC5C,SAAyB,EACzB,aAAyB,EACzB,KAAU,EACV,WAAqB,EACrB,KAAa,GAChB,GAAE,sBAA2B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA8CjE"}
@@ -5,140 +5,52 @@
5
5
  * Scans repository status or target paths and creates `.ib.<file>.md` or `.ib.<topic>.md` companion metadata files.
6
6
  */
7
7
  import path from 'node:path';
8
- import fs from 'node:fs/promises';
9
8
  import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
10
- import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
9
+ import { openVcsRepository } from '../vcs-repo-helper.mjs';
11
10
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
12
- import { getRepoStatus } from '@ibgib/core-gib/dist/vcs/status/status-helper.mjs';
13
- import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
14
- import { readVcsIndexProjectionFromDisk } from '../vcs-projection-helper.mjs';
15
11
  const lcFile = `[generate-comment-cmd]`;
16
12
  const logalot = GLOBAL_LOG_A_LOT;
17
13
  export async function executeGenerateCommentCmd({ targetDir = process.cwd(), vcsFolderName = '.vcsgib', paths = [], folderTopic = 'notes', quiet = false, } = {}) {
18
14
  const lc = `${lcFile}[${executeGenerateCommentCmd.name}]`;
19
15
  try {
20
16
  if (logalot) {
21
- console.log(`${lc} starting... (I: genuuid)`);
17
+ console.log(`${lc} starting... (I: 2e8b09f7a6344adca26e846174d81226)`);
22
18
  }
23
19
  const absTargetDir = path.resolve(targetDir);
24
- const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
25
- repoPath: absTargetDir,
26
- vcsFolderName,
20
+ const { repo } = await openVcsRepository({ targetDir: absTargetDir, vcsFolderName });
21
+ const res = await repo.generateComment({
22
+ paths,
23
+ folderTopic,
24
+ targetDir: absTargetDir,
27
25
  });
28
- // Verify repo exists
29
- try {
30
- await fs.access(vcsPath);
31
- }
32
- catch {
33
- throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: genuuid)`);
34
- }
35
- const indexIbGib = (await getB2tFSIndexIbGib({ space: localSpace, metaspace }))
36
- || (await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace }));
37
- const statusRes = await getRepoStatus({
38
- metaspace,
39
- localSpace,
40
- indexIbGib,
41
- vcsPath,
42
- repoRoot,
43
- vcsFolderName,
44
- });
45
- const activeWorktreeDir = statusRes.activeWorktreeDir;
46
- const targetRelPaths = [];
47
- if (paths.length > 0) {
48
- for (const p of paths) {
49
- const absP = path.resolve(activeWorktreeDir, p);
50
- const relP = path.relative(activeWorktreeDir, absP).replace(/\\/g, '/');
51
- if (relP && !targetRelPaths.includes(relP)) {
52
- targetRelPaths.push(relP);
53
- }
54
- }
55
- }
56
- else {
57
- // Auto-detect from staged and modified items
58
- for (const s of statusRes.staged) {
59
- if (!targetRelPaths.includes(s.path)) {
60
- targetRelPaths.push(s.path);
61
- }
62
- }
63
- for (const m of statusRes.modified) {
64
- if (!targetRelPaths.includes(m.path)) {
65
- targetRelPaths.push(m.path);
66
- }
67
- }
68
- for (const u of statusRes.untracked) {
69
- if (!targetRelPaths.includes(u.path)) {
70
- targetRelPaths.push(u.path);
71
- }
72
- }
73
- }
74
- const createdFiles = [];
75
- const skippedFiles = [];
76
- for (const relP of targetRelPaths) {
77
- const absP = path.join(activeWorktreeDir, relP);
78
- let isDirectory = false;
79
- try {
80
- const stat = await fs.stat(absP);
81
- isDirectory = stat.isDirectory();
82
- }
83
- catch {
84
- // If path doesn't exist yet on disk, guess based on extension
85
- isDirectory = !path.extname(relP);
86
- }
87
- let commentFileName;
88
- let commentDirPath;
89
- if (isDirectory) {
90
- commentDirPath = absP;
91
- commentFileName = `.ib.${folderTopic}.md`;
92
- }
93
- else {
94
- commentDirPath = path.dirname(absP);
95
- const baseName = path.basename(absP);
96
- commentFileName = `.ib.${baseName}.md`;
97
- }
98
- const commentFullPath = path.join(commentDirPath, commentFileName);
99
- const commentRelPath = path.relative(activeWorktreeDir, commentFullPath).replace(/\\/g, '/');
100
- try {
101
- await fs.access(commentFullPath);
102
- // Already exists
103
- skippedFiles.push(commentRelPath);
104
- }
105
- catch {
106
- // Does not exist -> create boilerplate template
107
- const headerTarget = relP ? `\`${relP}\`` : 'root';
108
- const boilerplate = `# ${headerTarget}\n\n(Enter contemporaneous notes/comments here)\n`;
109
- await fs.mkdir(commentDirPath, { recursive: true });
110
- await fs.writeFile(commentFullPath, boilerplate, 'utf8');
111
- createdFiles.push(commentRelPath);
112
- }
113
- }
114
26
  if (!quiet) {
115
- if (createdFiles.length > 0) {
116
- console.log(`Generated ${createdFiles.length} comment file(s):`);
117
- for (const f of createdFiles) {
27
+ if (res.createdFiles.length > 0) {
28
+ console.log(`Generated ${res.createdFiles.length} comment file(s):`);
29
+ for (const f of res.createdFiles) {
118
30
  console.log(` created: ${f}`);
119
31
  }
120
32
  }
121
- if (skippedFiles.length > 0) {
122
- for (const f of skippedFiles) {
33
+ if (res.skippedFiles.length > 0) {
34
+ for (const f of res.skippedFiles) {
123
35
  console.log(` already exists: ${f}`);
124
36
  }
125
37
  }
126
- if (createdFiles.length === 0 && skippedFiles.length === 0) {
38
+ if (res.createdFiles.length === 0 && res.skippedFiles.length === 0) {
127
39
  console.log(`No modified or staged files found to generate comments for.`);
128
40
  }
129
41
  }
130
42
  return {
131
- createdFiles,
132
- skippedFiles,
43
+ createdFiles: res.createdFiles,
44
+ skippedFiles: res.skippedFiles,
133
45
  };
134
46
  }
135
47
  catch (error) {
136
- console.error(`${lc} ${extractErrorMsg(error)} (E: genuuid)`);
48
+ console.error(`${lc} ${extractErrorMsg(error)} (E: d23e082728cb489e830e9d6d5a1b3c4f)`);
137
49
  throw error;
138
50
  }
139
51
  finally {
140
52
  if (logalot) {
141
- console.log(`${lc} complete. (I: genuuid)`);
53
+ console.log(`${lc} complete. (I: a3b71946358e469d80fc4ef2b281c726)`);
142
54
  }
143
55
  }
144
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli-generate-comment-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/cli-generate-comment-cmd.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-generate-comment-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/cli-generate-comment-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,GAAG,wBAAwB,CAAC;AACxC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAejC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC5C,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,EACzB,aAAa,GAAG,SAAS,EACzB,KAAK,GAAG,EAAE,EACV,WAAW,GAAG,OAAO,EACrB,KAAK,GAAG,KAAK,GAChB,GAA2B,EAAE;IAC1B,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,yBAAyB,CAAC,IAAI,GAAG,CAAC;IAE1D,IAAI,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,iBAAiB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC;QAErF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACnC,KAAK;YACL,WAAW;YACX,SAAS,EAAE,YAAY;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,YAAY,CAAC,MAAM,mBAAmB,CAAC,CAAC;gBACrE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACnC,CAAC;YACL,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;YAC/E,CAAC;QACL,CAAC;QAED,OAAO;YACH,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;SACjC,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACvF,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-init-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/cli-init-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,MAAM,WAAW,WAAW;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,cAAc,CAAC,EACjC,SAAyB,EACzB,aAAyB,EACzB,iBAA6C,EAC7C,KAAa,GAChB,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoD3C"}
1
+ {"version":3,"file":"cli-init-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/cli-init-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,MAAM,WAAW,WAAW;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,cAAc,CAAC,EACjC,SAAyB,EACzB,aAAyB,EACzB,iBAA6C,EAC7C,KAAa,GAChB,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoD3C"}
@@ -8,9 +8,9 @@ import path from 'node:path';
8
8
  import fs from 'node:fs/promises';
9
9
  import { VcsRepository } from '@ibgib/core-gib/dist/vcs/vcs-repository.mjs';
10
10
  import { B2TFS_BRANCH_DEFAULT_NAME } from '@ibgib/core-gib/dist/vcs/branch/branch-constants.mjs';
11
+ import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
11
12
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
12
13
  import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
13
- import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
14
14
  const lcFile = `[init-cmd]`;
15
15
  const logalot = GLOBAL_LOG_A_LOT;
16
16
  export async function executeInitCmd({ targetDir = process.cwd(), vcsFolderName = '.vcsgib', defaultBranchName = B2TFS_BRANCH_DEFAULT_NAME, quiet = false, } = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-init-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/cli-init-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AAEjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAGrF,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAgBjC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACjC,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,EACzB,aAAa,GAAG,SAAS,EACzB,iBAAiB,GAAG,yBAAyB,EAC7C,KAAK,GAAG,KAAK,GAChB,GAAgB,EAAE;IACf,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEvD,oCAAoC;IACpC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,kEAAkE;IAClE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC;QACxE,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,gBAAgB,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE;KAC1F,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACjF,IAAI,aAAa,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;gBACH,OAAO;gBACP,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa;gBACzC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,IAAI,iBAAiB;gBACpE,UAAU,EAAE,EAAE;aACjB,CAAC;QACN,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;QAC3B,SAAS;QACT,UAAU;QACV,QAAQ,EAAE,YAAY;QACtB,aAAa;KAChB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM;QACrD,UAAU,EAAE,iBAAiB;KAChC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,aAAa,iBAAiB,GAAG,CAAC,CAAC;IACnG,CAAC;IAED,OAAO;QACH,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;KAClC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"cli-init-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/cli-init-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,MAAM,MAAM,GAAG,YAAY,CAAC;AAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAgBjC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACjC,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,EACzB,aAAa,GAAG,SAAS,EACzB,iBAAiB,GAAG,yBAAyB,EAC7C,KAAK,GAAG,KAAK,GAChB,GAAgB,EAAE;IACf,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEvD,oCAAoC;IACpC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,kEAAkE;IAClE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC;QACxE,QAAQ,EAAE,YAAY;QACtB,aAAa;QACb,gBAAgB,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE;KAC1F,CAAC,CAAC;IAEH,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACjF,IAAI,aAAa,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,OAAO;gBACH,OAAO;gBACP,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa;gBACzC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,IAAI,iBAAiB;gBACpE,UAAU,EAAE,EAAE;aACjB,CAAC;QACN,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC;QAC3B,SAAS;QACT,UAAU;QACV,QAAQ,EAAE,YAAY;QACtB,aAAa;KAChB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QAC5B,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,MAAM;QACrD,UAAU,EAAE,iBAAiB;KAChC,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,yCAAyC,OAAO,aAAa,iBAAiB,GAAG,CAAC,CAAC;IACnG,CAAC;IAED,OAAO;QACH,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;KAClC,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/vcs-gib",
3
- "version": "0.0.41",
3
+ "version": "0.0.46",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",
@@ -22,7 +22,7 @@
22
22
  "@ibgib/helper-gib": "^0.0.39",
23
23
  "@ibgib/ts-gib": "^0.5.36",
24
24
  "@ibgib/encrypt-gib": "^0.3.3",
25
- "@ibgib/core-gib": "^0.1.83",
26
- "@ibgib/node-gib": "^0.0.28"
25
+ "@ibgib/core-gib": "^0.1.86",
26
+ "@ibgib/node-gib": "^0.0.32"
27
27
  }
28
28
  }
@@ -2,4 +2,4 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export const AUTO_GENERATED_VERSION = '0.0.41';
5
+ export const AUTO_GENERATED_VERSION = '0.0.46';
@@ -6,14 +6,10 @@
6
6
  */
7
7
 
8
8
  import path from 'node:path';
9
- import fs from 'node:fs/promises';
10
9
 
11
10
  import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
12
- import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
11
+ import { openVcsRepository } from '../vcs-repo-helper.mjs';
13
12
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
14
- import { getRepoStatus } from '@ibgib/core-gib/dist/vcs/status/status-helper.mjs';
15
- import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
16
- import { readVcsIndexProjectionFromDisk } from '../vcs-projection-helper.mjs';
17
13
 
18
14
  const lcFile = `[generate-comment-cmd]`;
19
15
  const logalot = GLOBAL_LOG_A_LOT;
@@ -42,136 +38,45 @@ export async function executeGenerateCommentCmd({
42
38
 
43
39
  try {
44
40
  if (logalot) {
45
- console.log(`${lc} starting... (I: genuuid)`);
41
+ console.log(`${lc} starting... (I: 2e8b09f7a6344adca26e846174d81226)`);
46
42
  }
47
43
 
48
44
  const absTargetDir = path.resolve(targetDir);
45
+ const { repo } = await openVcsRepository({ targetDir: absTargetDir, vcsFolderName });
49
46
 
50
- const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
51
- repoPath: absTargetDir,
52
- vcsFolderName,
47
+ const res = await repo.generateComment({
48
+ paths,
49
+ folderTopic,
50
+ targetDir: absTargetDir,
53
51
  });
54
52
 
55
- // Verify repo exists
56
- try {
57
- await fs.access(vcsPath);
58
- } catch {
59
- throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: genuuid)`);
60
- }
61
-
62
- const indexIbGib = (await getB2tFSIndexIbGib({ space: localSpace, metaspace }))
63
- || (await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace }));
64
-
65
- const statusRes = await getRepoStatus({
66
- metaspace,
67
- localSpace,
68
- indexIbGib,
69
- vcsPath,
70
- repoRoot,
71
- vcsFolderName,
72
- });
73
-
74
- const activeWorktreeDir = statusRes.activeWorktreeDir;
75
- const targetRelPaths: string[] = [];
76
-
77
- if (paths.length > 0) {
78
- for (const p of paths) {
79
- const absP = path.resolve(activeWorktreeDir, p);
80
- const relP = path.relative(activeWorktreeDir, absP).replace(/\\/g, '/');
81
- if (relP && !targetRelPaths.includes(relP)) {
82
- targetRelPaths.push(relP);
83
- }
84
- }
85
- } else {
86
- // Auto-detect from staged and modified items
87
- for (const s of statusRes.staged) {
88
- if (!targetRelPaths.includes(s.path)) {
89
- targetRelPaths.push(s.path);
90
- }
91
- }
92
- for (const m of statusRes.modified) {
93
- if (!targetRelPaths.includes(m.path)) {
94
- targetRelPaths.push(m.path);
95
- }
96
- }
97
- for (const u of statusRes.untracked) {
98
- if (!targetRelPaths.includes(u.path)) {
99
- targetRelPaths.push(u.path);
100
- }
101
- }
102
- }
103
-
104
- const createdFiles: string[] = [];
105
- const skippedFiles: string[] = [];
106
-
107
- for (const relP of targetRelPaths) {
108
- const absP = path.join(activeWorktreeDir, relP);
109
-
110
- let isDirectory = false;
111
- try {
112
- const stat = await fs.stat(absP);
113
- isDirectory = stat.isDirectory();
114
- } catch {
115
- // If path doesn't exist yet on disk, guess based on extension
116
- isDirectory = !path.extname(relP);
117
- }
118
-
119
- let commentFileName: string;
120
- let commentDirPath: string;
121
-
122
- if (isDirectory) {
123
- commentDirPath = absP;
124
- commentFileName = `.ib.${folderTopic}.md`;
125
- } else {
126
- commentDirPath = path.dirname(absP);
127
- const baseName = path.basename(absP);
128
- commentFileName = `.ib.${baseName}.md`;
129
- }
130
-
131
- const commentFullPath = path.join(commentDirPath, commentFileName);
132
- const commentRelPath = path.relative(activeWorktreeDir, commentFullPath).replace(/\\/g, '/');
133
-
134
- try {
135
- await fs.access(commentFullPath);
136
- // Already exists
137
- skippedFiles.push(commentRelPath);
138
- } catch {
139
- // Does not exist -> create boilerplate template
140
- const headerTarget = relP ? `\`${relP}\`` : 'root';
141
- const boilerplate = `# ${headerTarget}\n\n(Enter contemporaneous notes/comments here)\n`;
142
- await fs.mkdir(commentDirPath, { recursive: true });
143
- await fs.writeFile(commentFullPath, boilerplate, 'utf8');
144
- createdFiles.push(commentRelPath);
145
- }
146
- }
147
-
148
53
  if (!quiet) {
149
- if (createdFiles.length > 0) {
150
- console.log(`Generated ${createdFiles.length} comment file(s):`);
151
- for (const f of createdFiles) {
54
+ if (res.createdFiles.length > 0) {
55
+ console.log(`Generated ${res.createdFiles.length} comment file(s):`);
56
+ for (const f of res.createdFiles) {
152
57
  console.log(` created: ${f}`);
153
58
  }
154
59
  }
155
- if (skippedFiles.length > 0) {
156
- for (const f of skippedFiles) {
60
+ if (res.skippedFiles.length > 0) {
61
+ for (const f of res.skippedFiles) {
157
62
  console.log(` already exists: ${f}`);
158
63
  }
159
64
  }
160
- if (createdFiles.length === 0 && skippedFiles.length === 0) {
65
+ if (res.createdFiles.length === 0 && res.skippedFiles.length === 0) {
161
66
  console.log(`No modified or staged files found to generate comments for.`);
162
67
  }
163
68
  }
164
69
 
165
70
  return {
166
- createdFiles,
167
- skippedFiles,
71
+ createdFiles: res.createdFiles,
72
+ skippedFiles: res.skippedFiles,
168
73
  };
169
74
  } catch (error) {
170
- console.error(`${lc} ${extractErrorMsg(error)} (E: genuuid)`);
75
+ console.error(`${lc} ${extractErrorMsg(error)} (E: d23e082728cb489e830e9d6d5a1b3c4f)`);
171
76
  throw error;
172
77
  } finally {
173
78
  if (logalot) {
174
- console.log(`${lc} complete. (I: genuuid)`);
79
+ console.log(`${lc} complete. (I: a3b71946358e469d80fc4ef2b281c726)`);
175
80
  }
176
81
  }
177
- }
82
+ }
@@ -11,11 +11,10 @@ import fs from 'node:fs/promises';
11
11
  import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
12
12
  import { VcsRepository } from '@ibgib/core-gib/dist/vcs/vcs-repository.mjs';
13
13
  import { B2TFS_BRANCH_DEFAULT_NAME } from '@ibgib/core-gib/dist/vcs/branch/branch-constants.mjs';
14
+ import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
14
15
 
15
16
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
16
17
  import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
17
- import { getB2tFSIndexIbGib } from '@ibgib/core-gib/dist/vcs/index/index-helper.mjs';
18
- import { writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
19
18
 
20
19
  const lcFile = `[init-cmd]`;
21
20
  const logalot = GLOBAL_LOG_A_LOT;