@ibgib/vcs-gib 0.0.30 → 0.0.33

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 (216) hide show
  1. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  2. package/dist/AUTO-GENERATED-version.mjs +1 -1
  3. package/dist/bootstrap/node-bootstrap.d.mts.map +1 -1
  4. package/dist/bootstrap/node-bootstrap.mjs +7 -21
  5. package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
  6. package/dist/cli/commands/{add-cmd.d.mts → cli-add-cmd.d.mts} +3 -4
  7. package/dist/cli/commands/cli-add-cmd.d.mts.map +1 -0
  8. package/dist/cli/commands/cli-add-cmd.mjs +45 -0
  9. package/dist/cli/commands/cli-add-cmd.mjs.map +1 -0
  10. package/dist/cli/commands/{branch-cmd.d.mts → cli-branch-cmd.d.mts} +9 -9
  11. package/dist/cli/commands/cli-branch-cmd.d.mts.map +1 -0
  12. package/dist/cli/commands/cli-branch-cmd.mjs +59 -0
  13. package/dist/cli/commands/cli-branch-cmd.mjs.map +1 -0
  14. package/dist/cli/commands/cli-checkout-cmd.d.mts +20 -0
  15. package/dist/cli/commands/cli-checkout-cmd.d.mts.map +1 -0
  16. package/dist/cli/commands/cli-checkout-cmd.mjs +50 -0
  17. package/dist/cli/commands/cli-checkout-cmd.mjs.map +1 -0
  18. package/dist/cli/commands/cli-commit-cmd.d.mts +23 -0
  19. package/dist/cli/commands/cli-commit-cmd.d.mts.map +1 -0
  20. package/dist/cli/commands/cli-commit-cmd.mjs +52 -0
  21. package/dist/cli/commands/cli-commit-cmd.mjs.map +1 -0
  22. package/dist/cli/commands/{generate-comment-cmd.d.mts → cli-generate-comment-cmd.d.mts} +1 -1
  23. package/dist/cli/commands/cli-generate-comment-cmd.d.mts.map +1 -0
  24. package/dist/cli/commands/{generate-comment-cmd.mjs → cli-generate-comment-cmd.mjs} +11 -6
  25. package/dist/cli/commands/cli-generate-comment-cmd.mjs.map +1 -0
  26. package/dist/cli/commands/{init-cmd.d.mts → cli-init-cmd.d.mts} +3 -3
  27. package/dist/cli/commands/cli-init-cmd.d.mts.map +1 -0
  28. package/dist/cli/commands/cli-init-cmd.mjs +47 -0
  29. package/dist/cli/commands/cli-init-cmd.mjs.map +1 -0
  30. package/dist/cli/commands/{log-cmd.d.mts → cli-log-cmd.d.mts} +3 -4
  31. package/dist/cli/commands/cli-log-cmd.d.mts.map +1 -0
  32. package/dist/cli/commands/cli-log-cmd.mjs +90 -0
  33. package/dist/cli/commands/cli-log-cmd.mjs.map +1 -0
  34. package/dist/cli/commands/cli-merge-cmd.d.mts +22 -0
  35. package/dist/cli/commands/cli-merge-cmd.d.mts.map +1 -0
  36. package/dist/cli/commands/cli-merge-cmd.mjs +66 -0
  37. package/dist/cli/commands/cli-merge-cmd.mjs.map +1 -0
  38. package/dist/cli/commands/{reset-cmd.d.mts → cli-reset-cmd.d.mts} +2 -2
  39. package/dist/cli/commands/cli-reset-cmd.d.mts.map +1 -0
  40. package/dist/cli/commands/cli-reset-cmd.mjs +63 -0
  41. package/dist/cli/commands/cli-reset-cmd.mjs.map +1 -0
  42. package/dist/cli/commands/cli-restore-cmd.d.mts +23 -0
  43. package/dist/cli/commands/cli-restore-cmd.d.mts.map +1 -0
  44. package/dist/cli/commands/cli-restore-cmd.mjs +55 -0
  45. package/dist/cli/commands/cli-restore-cmd.mjs.map +1 -0
  46. package/dist/cli/commands/{status-cmd.d.mts → cli-status-cmd.d.mts} +3 -3
  47. package/dist/cli/commands/cli-status-cmd.d.mts.map +1 -0
  48. package/dist/cli/commands/cli-status-cmd.mjs +96 -0
  49. package/dist/cli/commands/cli-status-cmd.mjs.map +1 -0
  50. package/dist/cli/vcs-cli-main.d.mts.map +1 -1
  51. package/dist/cli/vcs-cli-main.mjs +18 -15
  52. package/dist/cli/vcs-cli-main.mjs.map +1 -1
  53. package/dist/cli/vcs-projection-helper.d.mts +23 -0
  54. package/dist/cli/vcs-projection-helper.d.mts.map +1 -0
  55. package/dist/cli/vcs-projection-helper.mjs +91 -0
  56. package/dist/cli/vcs-projection-helper.mjs.map +1 -0
  57. package/dist/cli/vcs-repo-helper.d.mts +19 -0
  58. package/dist/cli/vcs-repo-helper.d.mts.map +1 -0
  59. package/dist/cli/vcs-repo-helper.mjs +74 -0
  60. package/dist/cli/vcs-repo-helper.mjs.map +1 -0
  61. package/dist/test/test-helpers.d.mts +11 -2
  62. package/dist/test/test-helpers.d.mts.map +1 -1
  63. package/dist/test/test-helpers.mjs +35 -0
  64. package/dist/test/test-helpers.mjs.map +1 -1
  65. package/package.json +6 -6
  66. package/src/AUTO-GENERATED-version.mts +1 -1
  67. package/src/bootstrap/node-bootstrap.mts +7 -21
  68. package/src/bootstrap/node-bootstrap.respec.mts +2 -2
  69. package/src/cli/cli-arg-parser.respec.mts +2 -2
  70. package/src/cli/cli-e2e.respec.mts +12 -12
  71. package/src/cli/commands/branch-checkout-cmd.respec.mts +426 -412
  72. package/src/cli/commands/cli-add-cmd.mts +65 -0
  73. package/src/cli/commands/cli-branch-cmd.mts +87 -0
  74. package/src/cli/commands/cli-checkout-cmd.mts +72 -0
  75. package/src/cli/commands/cli-commit-cmd.mts +77 -0
  76. package/src/cli/commands/{generate-comment-cmd.mts → cli-generate-comment-cmd.mts} +12 -6
  77. package/src/cli/commands/cli-init-cmd.mts +78 -0
  78. package/src/cli/commands/cli-log-cmd.mts +126 -0
  79. package/src/cli/commands/cli-merge-cmd.mts +99 -0
  80. package/src/cli/commands/cli-reset-cmd.mts +94 -0
  81. package/src/cli/commands/cli-restore-cmd.mts +87 -0
  82. package/src/cli/commands/cli-status-cmd.mts +131 -0
  83. package/src/cli/commands/commit-log-cmd.respec.mts +85 -28
  84. package/src/cli/commands/init-cmd.respec.mts +3 -3
  85. package/src/cli/commands/reset-restore-cmd.respec.mts +9 -9
  86. package/src/cli/commands/status-add-cmd.respec.mts +21 -17
  87. package/src/cli/vcs-cli-main.mts +18 -15
  88. package/src/cli/vcs-projection-helper.mts +112 -0
  89. package/src/cli/vcs-repo-helper.mts +99 -0
  90. package/src/engine/branch/branch-space.respec.mts +23 -21
  91. package/src/engine/merge/b2tfs-sync-comments.respec.mts +11 -11
  92. package/src/test/test-helpers.mts +50 -2
  93. package/src/vcs-gib.respec.mts +25 -16
  94. package/tsconfig.test.tsbuildinfo +1 -1
  95. package/tsconfig.tsbuildinfo +1 -1
  96. package/vcs-gib_test_output.md +58 -0
  97. package/dist/cli/commands/add-cmd.d.mts.map +0 -1
  98. package/dist/cli/commands/add-cmd.mjs +0 -346
  99. package/dist/cli/commands/add-cmd.mjs.map +0 -1
  100. package/dist/cli/commands/branch-cmd.d.mts.map +0 -1
  101. package/dist/cli/commands/branch-cmd.mjs +0 -238
  102. package/dist/cli/commands/branch-cmd.mjs.map +0 -1
  103. package/dist/cli/commands/checkout-cmd.d.mts +0 -21
  104. package/dist/cli/commands/checkout-cmd.d.mts.map +0 -1
  105. package/dist/cli/commands/checkout-cmd.mjs +0 -174
  106. package/dist/cli/commands/checkout-cmd.mjs.map +0 -1
  107. package/dist/cli/commands/commit-cmd.d.mts +0 -24
  108. package/dist/cli/commands/commit-cmd.d.mts.map +0 -1
  109. package/dist/cli/commands/commit-cmd.mjs +0 -449
  110. package/dist/cli/commands/commit-cmd.mjs.map +0 -1
  111. package/dist/cli/commands/generate-comment-cmd.d.mts.map +0 -1
  112. package/dist/cli/commands/generate-comment-cmd.mjs.map +0 -1
  113. package/dist/cli/commands/init-cmd.d.mts.map +0 -1
  114. package/dist/cli/commands/init-cmd.mjs +0 -119
  115. package/dist/cli/commands/init-cmd.mjs.map +0 -1
  116. package/dist/cli/commands/log-cmd.d.mts.map +0 -1
  117. package/dist/cli/commands/log-cmd.mjs +0 -349
  118. package/dist/cli/commands/log-cmd.mjs.map +0 -1
  119. package/dist/cli/commands/merge-cmd.d.mts +0 -36
  120. package/dist/cli/commands/merge-cmd.d.mts.map +0 -1
  121. package/dist/cli/commands/merge-cmd.mjs +0 -292
  122. package/dist/cli/commands/merge-cmd.mjs.map +0 -1
  123. package/dist/cli/commands/reset-cmd.d.mts.map +0 -1
  124. package/dist/cli/commands/reset-cmd.mjs +0 -93
  125. package/dist/cli/commands/reset-cmd.mjs.map +0 -1
  126. package/dist/cli/commands/restore-cmd.d.mts +0 -22
  127. package/dist/cli/commands/restore-cmd.d.mts.map +0 -1
  128. package/dist/cli/commands/restore-cmd.mjs +0 -115
  129. package/dist/cli/commands/restore-cmd.mjs.map +0 -1
  130. package/dist/cli/commands/status-cmd.d.mts.map +0 -1
  131. package/dist/cli/commands/status-cmd.mjs +0 -132
  132. package/dist/cli/commands/status-cmd.mjs.map +0 -1
  133. package/dist/engine/branch/branch-graph-helper.d.mts +0 -28
  134. package/dist/engine/branch/branch-graph-helper.d.mts.map +0 -1
  135. package/dist/engine/branch/branch-graph-helper.mjs +0 -81
  136. package/dist/engine/branch/branch-graph-helper.mjs.map +0 -1
  137. package/dist/engine/branch/branch-helper.d.mts +0 -40
  138. package/dist/engine/branch/branch-helper.d.mts.map +0 -1
  139. package/dist/engine/branch/branch-helper.mjs +0 -78
  140. package/dist/engine/branch/branch-helper.mjs.map +0 -1
  141. package/dist/engine/branch/branch-space-helper.d.mts +0 -23
  142. package/dist/engine/branch/branch-space-helper.d.mts.map +0 -1
  143. package/dist/engine/branch/branch-space-helper.mjs +0 -78
  144. package/dist/engine/branch/branch-space-helper.mjs.map +0 -1
  145. package/dist/engine/branch/branch-types.d.mts +0 -26
  146. package/dist/engine/branch/branch-types.d.mts.map +0 -1
  147. package/dist/engine/branch/branch-types.mjs +0 -7
  148. package/dist/engine/branch/branch-types.mjs.map +0 -1
  149. package/dist/engine/diff/line-diff-helper.d.mts +0 -76
  150. package/dist/engine/diff/line-diff-helper.d.mts.map +0 -1
  151. package/dist/engine/diff/line-diff-helper.mjs +0 -144
  152. package/dist/engine/diff/line-diff-helper.mjs.map +0 -1
  153. package/dist/engine/filter/glob-helper.d.mts +0 -51
  154. package/dist/engine/filter/glob-helper.d.mts.map +0 -1
  155. package/dist/engine/filter/glob-helper.mjs +0 -132
  156. package/dist/engine/filter/glob-helper.mjs.map +0 -1
  157. package/dist/engine/index/index-helper.d.mts +0 -113
  158. package/dist/engine/index/index-helper.d.mts.map +0 -1
  159. package/dist/engine/index/index-helper.mjs +0 -533
  160. package/dist/engine/index/index-helper.mjs.map +0 -1
  161. package/dist/engine/index/index-types.d.mts +0 -63
  162. package/dist/engine/index/index-types.d.mts.map +0 -1
  163. package/dist/engine/index/index-types.mjs +0 -7
  164. package/dist/engine/index/index-types.mjs.map +0 -1
  165. package/dist/engine/item/item-atom-helper.d.mts +0 -20
  166. package/dist/engine/item/item-atom-helper.d.mts.map +0 -1
  167. package/dist/engine/item/item-atom-helper.mjs +0 -30
  168. package/dist/engine/item/item-atom-helper.mjs.map +0 -1
  169. package/dist/engine/item/item-helper.d.mts +0 -94
  170. package/dist/engine/item/item-helper.d.mts.map +0 -1
  171. package/dist/engine/item/item-helper.mjs +0 -424
  172. package/dist/engine/item/item-helper.mjs.map +0 -1
  173. package/dist/engine/item/item-types.d.mts +0 -128
  174. package/dist/engine/item/item-types.d.mts.map +0 -1
  175. package/dist/engine/item/item-types.mjs +0 -16
  176. package/dist/engine/item/item-types.mjs.map +0 -1
  177. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts +0 -74
  178. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts.map +0 -1
  179. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs +0 -570
  180. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs.map +0 -1
  181. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts +0 -34
  182. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts.map +0 -1
  183. package/dist/engine/merge/b2tfs-3way-graft-types.mjs +0 -2
  184. package/dist/engine/merge/b2tfs-3way-graft-types.mjs.map +0 -1
  185. package/dist/engine/status/status-helper.d.mts +0 -90
  186. package/dist/engine/status/status-helper.d.mts.map +0 -1
  187. package/dist/engine/status/status-helper.mjs +0 -286
  188. package/dist/engine/status/status-helper.mjs.map +0 -1
  189. package/src/cli/commands/add-cmd.mts +0 -435
  190. package/src/cli/commands/branch-cmd.mts +0 -311
  191. package/src/cli/commands/checkout-cmd.mts +0 -227
  192. package/src/cli/commands/commit-cmd.mts +0 -557
  193. package/src/cli/commands/init-cmd.mts +0 -152
  194. package/src/cli/commands/log-cmd.mts +0 -449
  195. package/src/cli/commands/merge-cmd.mts +0 -363
  196. package/src/cli/commands/reset-cmd.mts +0 -128
  197. package/src/cli/commands/restore-cmd.mts +0 -155
  198. package/src/cli/commands/status-cmd.mts +0 -168
  199. package/src/engine/branch/branch-graph-helper.mts +0 -117
  200. package/src/engine/branch/branch-helper.mts +0 -112
  201. package/src/engine/branch/branch-space-helper.mts +0 -110
  202. package/src/engine/branch/branch-types.mts +0 -29
  203. package/src/engine/diff/line-diff-helper.mts +0 -210
  204. package/src/engine/diff/line-diff-helper.respec.mts +0 -84
  205. package/src/engine/filter/glob-helper.mts +0 -165
  206. package/src/engine/filter/glob-helper.respec.mts +0 -94
  207. package/src/engine/index/index-helper.mts +0 -705
  208. package/src/engine/index/index-types.mts +0 -66
  209. package/src/engine/item/item-atom-helper.mts +0 -30
  210. package/src/engine/item/item-helper.mts +0 -544
  211. package/src/engine/item/item-types.mts +0 -137
  212. package/src/engine/item/item.respec.mts +0 -92
  213. package/src/engine/merge/b2tfs-3way-graft-strategy.mts +0 -630
  214. package/src/engine/merge/b2tfs-3way-graft-strategy.respec.mts +0 -346
  215. package/src/engine/merge/b2tfs-3way-graft-types.mts +0 -34
  216. package/src/engine/status/status-helper.mts +0 -383
@@ -1,144 +0,0 @@
1
- /**
2
- * @module line-diff-helper
3
- *
4
- * Native, zero-dependency Myers / LCS line-diffing engine for text files.
5
- *
6
- * Computes precise line-by-line diff chunks between text files without external libraries.
7
- */
8
- import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
9
- const lcFile = `[line-diff-helper]`;
10
- const logalot = GLOBAL_LOG_A_LOT;
11
- /**
12
- * Basic binary detection check.
13
- * Checks for null bytes (0x00) within the first 1024 bytes.
14
- */
15
- export function isBinaryBuffer(data) {
16
- const sampleSize = Math.min(data.length, 1024);
17
- for (let i = 0; i < sampleSize; i++) {
18
- if (data[i] === 0) {
19
- return true;
20
- }
21
- }
22
- return false;
23
- }
24
- /**
25
- * Decodes Uint8Array buffer into array of text lines.
26
- */
27
- export function decodeToLines(data, encoding = 'utf8') {
28
- if (!data || data.length === 0) {
29
- return [];
30
- }
31
- try {
32
- const textDecoder = new TextDecoder(encoding || 'utf8', { fatal: false });
33
- const text = textDecoder.decode(data);
34
- return text.split(/\r?\n/);
35
- }
36
- catch {
37
- return [];
38
- }
39
- }
40
- /**
41
- * Computes Longest Common Subsequence (LCS) edit script between two arrays of lines.
42
- * Returns array of LineDiffChunk structures.
43
- */
44
- export function computeLineLcsDiff(oldLines, newLines) {
45
- const M = oldLines.length;
46
- const N = newLines.length;
47
- // Fast path: identical lines
48
- if (M === N && oldLines.every((line, idx) => line === newLines[idx])) {
49
- return [];
50
- }
51
- // Build LCS DP matrix
52
- const dp = Array.from({ length: M + 1 }, () => new Array(N + 1).fill(0));
53
- for (let i = 1; i <= M; i++) {
54
- for (let j = 1; j <= N; j++) {
55
- if (oldLines[i - 1] === newLines[j - 1]) {
56
- dp[i][j] = dp[i - 1][j - 1] + 1;
57
- }
58
- else {
59
- dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
60
- }
61
- }
62
- }
63
- // Backtrack to build edit script
64
- let i = M;
65
- let j = N;
66
- const rawEdits = [];
67
- while (i > 0 || j > 0) {
68
- if (i > 0 && j > 0 && oldLines[i - 1] === newLines[j - 1]) {
69
- rawEdits.push({ type: 'equal', oldIdx: i - 1, line: oldLines[i - 1] });
70
- i--;
71
- j--;
72
- }
73
- else if (j > 0 && (i === 0 || dp[i][j - 1] >= dp[i - 1][j])) {
74
- rawEdits.push({ type: 'insert', line: newLines[j - 1] });
75
- j--;
76
- }
77
- else if (i > 0 && (j === 0 || dp[i][j - 1] < dp[i - 1][j])) {
78
- rawEdits.push({ type: 'delete', oldIdx: i - 1, line: oldLines[i - 1] });
79
- i--;
80
- }
81
- }
82
- rawEdits.reverse();
83
- // Group edit operations into chunks
84
- const chunks = [];
85
- let currentChunk = null;
86
- let oldLineCursor = 0;
87
- for (const edit of rawEdits) {
88
- if (edit.type === 'equal') {
89
- if (currentChunk) {
90
- chunks.push(currentChunk);
91
- currentChunk = null;
92
- }
93
- oldLineCursor++;
94
- }
95
- else {
96
- if (!currentChunk) {
97
- currentChunk = {
98
- old_i: oldLineCursor,
99
- oldLines: [],
100
- newLines: [],
101
- };
102
- }
103
- if (edit.type === 'delete') {
104
- currentChunk.oldLines.push(edit.line);
105
- oldLineCursor++;
106
- }
107
- else if (edit.type === 'insert') {
108
- currentChunk.newLines.push(edit.line);
109
- }
110
- }
111
- }
112
- if (currentChunk) {
113
- chunks.push(currentChunk);
114
- }
115
- return chunks;
116
- }
117
- /**
118
- * Main line diff helper function for text files.
119
- */
120
- export function getLineDiffChunks(opts) {
121
- const lc = `${lcFile}[${getLineDiffChunks.name}]`;
122
- const { oldData, newData, fileEncoding = 'utf8', maxLines = 10000, force = false, } = opts;
123
- // Check for binary data
124
- const oldIsBin = oldData ? isBinaryBuffer(oldData) : false;
125
- const newIsBin = isBinaryBuffer(newData);
126
- if ((oldIsBin || newIsBin) && !force) {
127
- if (logalot) {
128
- console.log(`${lc} Binary data detected, skipping line diff.`);
129
- }
130
- return { chunks: [], treatedAsBinary: true };
131
- }
132
- const oldLines = decodeToLines(oldData, fileEncoding);
133
- const newLines = decodeToLines(newData, fileEncoding);
134
- // Check max lines threshold
135
- if ((oldLines.length > maxLines || newLines.length > maxLines) && !force) {
136
- if (logalot) {
137
- console.log(`${lc} Line count exceeds limit (${maxLines}), skipping line diff.`);
138
- }
139
- return { chunks: [], tooBig: true };
140
- }
141
- const chunks = computeLineLcsDiff(oldLines, newLines);
142
- return { chunks };
143
- }
144
- //# sourceMappingURL=line-diff-helper.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"line-diff-helper.mjs","sourceRoot":"","sources":["../../../src/engine/diff/line-diff-helper.mts"],"names":[],"mappings":"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"}
@@ -1,51 +0,0 @@
1
- /**
2
- * @module glob-helper
3
- *
4
- * Native, zero-dependency glob pattern matching engine for .ibgibignore and path filtering.
5
- *
6
- * Supports:
7
- * - Basic wildcards: '*' (single path segment), '**' (recursive path matching), '?' (single char)
8
- * - Negation/Inclusion: '!' prefix (negable matching, last match wins)
9
- * - Directory matching: trailing '/' (matches directory paths only)
10
- * - JS RegExp fallback: 'regexp js <pattern>' prefix
11
- * - Ignore file parsing: stripping '#' comments and blank lines
12
- * - Hardcoded reserved repository paths: '.vcsgib', 'b', 'ibgib', 'node_modules', '.git'
13
- */
14
- /**
15
- * Hardcoded internal repository paths that are ALWAYS ignored during workspace scans
16
- * regardless of user .ibgibignore settings.
17
- */
18
- export declare const HARDCODED_IGNORED_PATHS: string[];
19
- /**
20
- * Converts a glob pattern string into a JavaScript RegExp.
21
- */
22
- export declare function globToRegExp(glob: string): RegExp;
23
- /**
24
- * Parses raw .ibgibignore file text into an array of active pattern strings.
25
- * Strips blank lines and '#' comments.
26
- */
27
- export declare function parseFilterFileContent(content: string): string[];
28
- /**
29
- * Options passed to path filtering check.
30
- */
31
- export interface IsPathFilteredOpts {
32
- /**
33
- * Relative path from repository root (e.g. 'src/utils/helper.mts' or 'b/feature-auth')
34
- */
35
- relativePath: string;
36
- /**
37
- * Whether the target path is a directory
38
- */
39
- isDirectory?: boolean;
40
- /**
41
- * Active filter patterns (e.g. from .ibgibignore)
42
- */
43
- filterPatterns?: string[];
44
- }
45
- /**
46
- * Determines whether a relative path is filtered (ignored) based on active pattern rules.
47
- * Reserved repository paths ('.vcsgib', 'b', 'ibgib') are ALWAYS ignored.
48
- * Last matching rule wins for user rules (standard gitignore semantics).
49
- */
50
- export declare function isPathFiltered({ relativePath, isDirectory, filterPatterns, }: IsPathFilteredOpts): boolean;
51
- //# sourceMappingURL=glob-helper.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob-helper.d.mts","sourceRoot":"","sources":["../../../src/engine/filter/glob-helper.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH;;;GAGG;AACH,eAAO,MAAM,uBAAuB,UAAoD,CAAC;AAEzF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAejD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOhE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC3B,YAAY,EACZ,WAAmB,EACnB,cAAmB,GACtB,EAAE,kBAAkB,GAAG,OAAO,CA+E9B"}
@@ -1,132 +0,0 @@
1
- /**
2
- * @module glob-helper
3
- *
4
- * Native, zero-dependency glob pattern matching engine for .ibgibignore and path filtering.
5
- *
6
- * Supports:
7
- * - Basic wildcards: '*' (single path segment), '**' (recursive path matching), '?' (single char)
8
- * - Negation/Inclusion: '!' prefix (negable matching, last match wins)
9
- * - Directory matching: trailing '/' (matches directory paths only)
10
- * - JS RegExp fallback: 'regexp js <pattern>' prefix
11
- * - Ignore file parsing: stripping '#' comments and blank lines
12
- * - Hardcoded reserved repository paths: '.vcsgib', 'b', 'ibgib', 'node_modules', '.git'
13
- */
14
- import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
15
- const lcFile = `[glob-helper]`;
16
- const logalot = GLOBAL_LOG_A_LOT;
17
- /**
18
- * Hardcoded internal repository paths that are ALWAYS ignored during workspace scans
19
- * regardless of user .ibgibignore settings.
20
- */
21
- export const HARDCODED_IGNORED_PATHS = ['.vcsgib', 'b', 'ibgib', 'node_modules', '.git'];
22
- /**
23
- * Converts a glob pattern string into a JavaScript RegExp.
24
- */
25
- export function globToRegExp(glob) {
26
- const raw = glob.replace(/\\/g, '/');
27
- let p = raw
28
- .replace(/\./g, '\\.')
29
- .replace(/\?/g, '[^/]')
30
- .replace(/\/\*\*\//g, '(?:/|/.+/)')
31
- .replace(/\/\*\*/g, '(?:/.*)?')
32
- .replace(/\*\*\//g, '(?:.*/)?')
33
- .replace(/\*/g, '[^/]*');
34
- if (!raw.endsWith('/')) {
35
- p += '(?:/.*)?';
36
- }
37
- return new RegExp(`^${p}$`);
38
- }
39
- /**
40
- * Parses raw .ibgibignore file text into an array of active pattern strings.
41
- * Strips blank lines and '#' comments.
42
- */
43
- export function parseFilterFileContent(content) {
44
- if (!content) {
45
- return [];
46
- }
47
- return content
48
- .split(/\r?\n/)
49
- .map(line => line.trim())
50
- .filter(line => line.length > 0 && !line.startsWith('#'));
51
- }
52
- /**
53
- * Determines whether a relative path is filtered (ignored) based on active pattern rules.
54
- * Reserved repository paths ('.vcsgib', 'b', 'ibgib') are ALWAYS ignored.
55
- * Last matching rule wins for user rules (standard gitignore semantics).
56
- */
57
- export function isPathFiltered({ relativePath, isDirectory = false, filterPatterns = [], }) {
58
- const lc = `${lcFile}[${isPathFiltered.name}]`;
59
- if (!relativePath) {
60
- return false;
61
- }
62
- // Normalize path separators to forward slashes
63
- const normalizedPath = relativePath.replace(/\\/g, '/').replace(/^\.\//, '').replace(/\/$/, '');
64
- const pathBasename = normalizedPath.split('/')[0] || normalizedPath;
65
- // 0. Hardcoded reserved repository paths (ALWAYS ignored)
66
- if (HARDCODED_IGNORED_PATHS.includes(pathBasename) || HARDCODED_IGNORED_PATHS.includes(normalizedPath)) {
67
- return true;
68
- }
69
- if (filterPatterns.length === 0) {
70
- return false;
71
- }
72
- let isIgnored = false;
73
- for (const rawPattern of filterPatterns) {
74
- if (!rawPattern || rawPattern.trim() === '') {
75
- continue;
76
- }
77
- const pattern = rawPattern.trim();
78
- // 1. JS RegExp fallback
79
- if (pattern.startsWith('regexp js ')) {
80
- const regexText = pattern.substring('regexp js '.length);
81
- try {
82
- const rx = new RegExp(regexText);
83
- if (rx.test(normalizedPath) || rx.test(pathBasename)) {
84
- isIgnored = true;
85
- }
86
- }
87
- catch (err) {
88
- console.error(`${lc} Error evaluating regex pattern (${pattern}):`, err);
89
- }
90
- continue;
91
- }
92
- // 2. Negation / Inclusion rule ('!')
93
- let isNegated = false;
94
- let p = pattern;
95
- if (p.startsWith('!')) {
96
- isNegated = true;
97
- p = p.substring(1).trim();
98
- }
99
- else if (p.startsWith('include ')) {
100
- isNegated = true;
101
- p = p.substring('include '.length).trim();
102
- }
103
- // 3. Directory-only pattern check
104
- const directoryOnly = p.endsWith('/');
105
- if (directoryOnly && !isDirectory) {
106
- continue; // Skip directory-only rule for non-directories
107
- }
108
- const cleanPattern = directoryOnly ? p.slice(0, -1) : p;
109
- // 4. Exact basename or path match check
110
- let matches = false;
111
- if (cleanPattern === pathBasename || normalizedPath === cleanPattern) {
112
- matches = true;
113
- }
114
- else if (cleanPattern.includes('*') || cleanPattern.includes('?')) {
115
- const rx = globToRegExp(cleanPattern);
116
- matches = rx.test(normalizedPath) || rx.test(pathBasename);
117
- }
118
- else {
119
- // Substring directory segment match (e.g., 'node_modules' matches 'a/b/node_modules/c')
120
- const segments = normalizedPath.split('/');
121
- matches = segments.includes(cleanPattern) || normalizedPath.endsWith('/' + cleanPattern);
122
- }
123
- if (matches) {
124
- isIgnored = !isNegated;
125
- }
126
- }
127
- if (logalot) {
128
- console.log(`${lc} relativePath: ${relativePath}, isIgnored: ${isIgnored}`);
129
- }
130
- return isIgnored;
131
- }
132
- //# sourceMappingURL=glob-helper.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob-helper.mjs","sourceRoot":"","sources":["../../../src/engine/filter/glob-helper.mts"],"names":[],"mappings":"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"}
@@ -1,113 +0,0 @@
1
- /**
2
- * @module index-helper
3
- *
4
- * B2tFS Index Helper functions: space-qualified address formatting and branch index tracking.
5
- */
6
- import { MetaspaceService } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs';
7
- import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
8
- import { SpaceQualifiedIbGibAddr, B2tFSIndexIbGib_V1, B2tFSIndexData_V1, B2tFSIndexRel8ns_V1 } from './index-types.mjs';
9
- export declare const SOFT_ADDR_DATA_KEY_PREFIX = "@";
10
- export declare const SOFT_ADDR_DATA_KEY_PREFIX_SPACE_QUALIFIED = "$@";
11
- /**
12
- * Returns a space-qualified address string.
13
- * Format: `v:1^spaceId:<spaceId>^<ibGibAddr>`
14
- */
15
- export declare function getSpaceQualifiedIbGibAddr(optsOrSpaceId: {
16
- spaceId: string;
17
- ibGibAddr: string;
18
- } | string, rawIbGibAddr?: string): SpaceQualifiedIbGibAddr;
19
- /**
20
- * Parses a space-qualified address string into version, spaceId, ibGibAddr, ib, and gib.
21
- */
22
- export declare function parseSpaceQualifiedIbGibAddr(optsOrSqAddr: {
23
- spaceQualifiedAddr: string;
24
- } | {
25
- sqAddr: string;
26
- } | string): {
27
- version: number;
28
- spaceId: string;
29
- ibGibAddr: string;
30
- ib: string;
31
- gib: string;
32
- } | null;
33
- /**
34
- * Helper to extract branch name from space-qualified address or raw atom ib string.
35
- */
36
- export declare function extractBranchNameFromAddr(addr: string): string | null;
37
- /**
38
- * Deduplicates branch entries by branch name and merges new branch addresses into existing addresses
39
- * without dropping other registered branches.
40
- */
41
- export declare function mergeBranchAddrs(existingAddrs?: string[], newAddrs?: string[]): string[];
42
- /**
43
- * Creates a new B2tFSIndexIbGib special meta object for a space.
44
- */
45
- export declare function createB2tFSIndexIbGib({ spaceId, activeSpaceId, activeBranch, space, metaspace, branchAddr, }: {
46
- spaceId: string;
47
- activeSpaceId: string;
48
- activeBranch?: string;
49
- space: IbGibSpaceAny;
50
- metaspace: MetaspaceService;
51
- branchAddr?: string;
52
- }): Promise<B2tFSIndexIbGib_V1>;
53
- /**
54
- * Retrieves authoritative B2tFSIndexIbGib_V1 from space.
55
- */
56
- export declare function getB2tFSIndexIbGib({ space, vcsPath, }: {
57
- space: IbGibSpaceAny;
58
- vcsPath?: string;
59
- }): Promise<B2tFSIndexIbGib_V1 | undefined>;
60
- /**
61
- * Updates B2tFSIndexIbGib_V1 in space and updates local projection cache.
62
- */
63
- export declare function updateB2tFSIndexIbGib({ space, metaspace, indexIbGib, dataToUpdate, rel8nsToUpdate, vcsPath, }: {
64
- space: IbGibSpaceAny;
65
- metaspace: MetaspaceService;
66
- indexIbGib: B2tFSIndexIbGib_V1;
67
- dataToUpdate?: Partial<B2tFSIndexData_V1>;
68
- rel8nsToUpdate?: Partial<B2tFSIndexRel8ns_V1>;
69
- vcsPath?: string;
70
- }): Promise<B2tFSIndexIbGib_V1>;
71
- /**
72
- * Writes read-only JSON projection cache of repository index.
73
- */
74
- export declare function writeVcsIndexProjection({ vcsPath, indexIbGib, }: {
75
- vcsPath: string;
76
- indexIbGib: B2tFSIndexIbGib_V1;
77
- }): Promise<void>;
78
- export interface UnstagePathsFromIndexOpts {
79
- indexIbGib: B2tFSIndexIbGib_V1;
80
- paths?: string[];
81
- targetDir?: string;
82
- activeWorktreeDir?: string;
83
- vcsPath?: string;
84
- space: IbGibSpaceAny;
85
- metaspace: MetaspaceService;
86
- all?: boolean;
87
- }
88
- export interface UnstagePathsFromIndexResult {
89
- updatedIndex: B2tFSIndexIbGib_V1;
90
- unstagedPaths: string[];
91
- }
92
- /**
93
- * Unstages specified paths (or all paths if `all` or empty `paths`) from `indexIbGib.data.stagedPaths`
94
- * and `indexIbGib.data.staged_item`.
95
- */
96
- export declare function unstagePathsFromIndex({ indexIbGib, paths, targetDir, activeWorktreeDir, vcsPath, space, metaspace, all, }: UnstagePathsFromIndexOpts): Promise<UnstagePathsFromIndexResult>;
97
- export interface RestoreWorktreePathsOpts {
98
- paths?: string[];
99
- targetDir?: string;
100
- activeWorktreeDir: string;
101
- activeBranchSpace: IbGibSpaceAny;
102
- metaspace: MetaspaceService;
103
- indexIbGib?: B2tFSIndexIbGib_V1;
104
- vcsPath?: string;
105
- }
106
- export interface RestoreWorktreePathsResult {
107
- restoredPaths: string[];
108
- }
109
- /**
110
- * Restores working tree physical files from committed branch item snapshot.
111
- */
112
- export declare function restoreWorktreePathsFromSnapshot({ paths, targetDir, activeWorktreeDir, activeBranchSpace, metaspace, indexIbGib, vcsPath, }: RestoreWorktreePathsOpts): Promise<RestoreWorktreePathsResult>;
113
- //# sourceMappingURL=index-helper.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-helper.d.mts","sourceRoot":"","sources":["../../../src/engine/index/index-helper.mts"],"names":[],"mappings":"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"}