@ibgib/vcs-gib 0.0.18 → 0.0.21

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 (100) 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 +2 -2
  5. package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
  6. package/dist/cli/commands/branch-cmd.d.mts.map +1 -1
  7. package/dist/cli/commands/branch-cmd.mjs.map +1 -1
  8. package/dist/cli/commands/merge-cmd.d.mts.map +1 -1
  9. package/dist/cli/commands/merge-cmd.mjs +1 -1
  10. package/dist/cli/commands/merge-cmd.mjs.map +1 -1
  11. package/dist/engine/item/item-helper.d.mts +1 -0
  12. package/dist/engine/item/item-helper.d.mts.map +1 -1
  13. package/dist/engine/item/item-helper.mjs +13 -3
  14. package/dist/engine/item/item-helper.mjs.map +1 -1
  15. package/dist/engine/item/item-types.d.mts +1 -0
  16. package/dist/engine/item/item-types.d.mts.map +1 -1
  17. package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts +12 -2
  18. package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts.map +1 -1
  19. package/dist/engine/merge/b2tfs-3way-merge-strategy.mjs +384 -236
  20. package/dist/engine/merge/b2tfs-3way-merge-strategy.mjs.map +1 -1
  21. package/dist/engine/merge/b2tfs-3way-merge-types.d.mts +41 -0
  22. package/dist/engine/merge/b2tfs-3way-merge-types.d.mts.map +1 -0
  23. package/dist/engine/merge/b2tfs-3way-merge-types.mjs +2 -0
  24. package/dist/engine/merge/b2tfs-3way-merge-types.mjs.map +1 -0
  25. package/package.json +5 -5
  26. package/src/AUTO-GENERATED-version.mts +1 -1
  27. package/src/bootstrap/node-bootstrap.mts +4 -3
  28. package/src/cli/commands/branch-checkout-cmd.respec.log +111 -0
  29. package/src/cli/commands/branch-cmd.mts +2 -4
  30. package/src/cli/commands/merge-cmd.mts +2 -6
  31. package/src/engine/item/item-helper.mts +15 -9
  32. package/src/engine/item/item-types.mts +2 -1
  33. package/src/engine/merge/b2tfs-3way-merge-strategy.mts +388 -261
  34. package/src/engine/merge/b2tfs-3way-merge-strategy.respec.log +39 -0
  35. package/src/engine/merge/{b2tfs-merge-strategy.respec.mts → b2tfs-3way-merge-strategy.respec.mts} +16 -13
  36. package/src/engine/merge/b2tfs-3way-merge-types.mts +42 -0
  37. package/tsconfig.json +3 -2
  38. package/tsconfig.test.json +10 -0
  39. package/tsconfig.test.tsbuildinfo +1 -0
  40. package/tsconfig.tsbuildinfo +1 -1
  41. package/dist/assumptions.respec.d.mts +0 -2
  42. package/dist/assumptions.respec.d.mts.map +0 -1
  43. package/dist/assumptions.respec.mjs +0 -41
  44. package/dist/assumptions.respec.mjs.map +0 -1
  45. package/dist/bootstrap/node-bootstrap.respec.d.mts +0 -7
  46. package/dist/bootstrap/node-bootstrap.respec.d.mts.map +0 -1
  47. package/dist/bootstrap/node-bootstrap.respec.mjs +0 -28
  48. package/dist/bootstrap/node-bootstrap.respec.mjs.map +0 -1
  49. package/dist/cli/cli-arg-parser.respec.d.mts +0 -7
  50. package/dist/cli/cli-arg-parser.respec.d.mts.map +0 -1
  51. package/dist/cli/cli-arg-parser.respec.mjs +0 -35
  52. package/dist/cli/cli-arg-parser.respec.mjs.map +0 -1
  53. package/dist/cli/cli-e2e.respec.d.mts +0 -8
  54. package/dist/cli/cli-e2e.respec.d.mts.map +0 -1
  55. package/dist/cli/cli-e2e.respec.mjs +0 -263
  56. package/dist/cli/cli-e2e.respec.mjs.map +0 -1
  57. package/dist/cli/commands/branch-checkout-cmd.respec.d.mts +0 -7
  58. package/dist/cli/commands/branch-checkout-cmd.respec.d.mts.map +0 -1
  59. package/dist/cli/commands/branch-checkout-cmd.respec.mjs +0 -452
  60. package/dist/cli/commands/branch-checkout-cmd.respec.mjs.map +0 -1
  61. package/dist/cli/commands/commit-log-cmd.respec.d.mts +0 -7
  62. package/dist/cli/commands/commit-log-cmd.respec.d.mts.map +0 -1
  63. package/dist/cli/commands/commit-log-cmd.respec.mjs +0 -251
  64. package/dist/cli/commands/commit-log-cmd.respec.mjs.map +0 -1
  65. package/dist/cli/commands/init-cmd.respec.d.mts +0 -7
  66. package/dist/cli/commands/init-cmd.respec.d.mts.map +0 -1
  67. package/dist/cli/commands/init-cmd.respec.mjs +0 -40
  68. package/dist/cli/commands/init-cmd.respec.mjs.map +0 -1
  69. package/dist/cli/commands/reset-restore-cmd.respec.d.mts +0 -7
  70. package/dist/cli/commands/reset-restore-cmd.respec.d.mts.map +0 -1
  71. package/dist/cli/commands/reset-restore-cmd.respec.mjs +0 -185
  72. package/dist/cli/commands/reset-restore-cmd.respec.mjs.map +0 -1
  73. package/dist/cli/commands/status-add-cmd.respec.d.mts +0 -7
  74. package/dist/cli/commands/status-add-cmd.respec.d.mts.map +0 -1
  75. package/dist/cli/commands/status-add-cmd.respec.mjs +0 -239
  76. package/dist/cli/commands/status-add-cmd.respec.mjs.map +0 -1
  77. package/dist/engine/branch/branch-space.respec.d.mts +0 -8
  78. package/dist/engine/branch/branch-space.respec.d.mts.map +0 -1
  79. package/dist/engine/branch/branch-space.respec.mjs +0 -143
  80. package/dist/engine/branch/branch-space.respec.mjs.map +0 -1
  81. package/dist/engine/diff/line-diff-helper.respec.d.mts +0 -7
  82. package/dist/engine/diff/line-diff-helper.respec.d.mts.map +0 -1
  83. package/dist/engine/diff/line-diff-helper.respec.mjs +0 -66
  84. package/dist/engine/diff/line-diff-helper.respec.mjs.map +0 -1
  85. package/dist/engine/filter/glob-helper.respec.d.mts +0 -7
  86. package/dist/engine/filter/glob-helper.respec.d.mts.map +0 -1
  87. package/dist/engine/filter/glob-helper.respec.mjs +0 -78
  88. package/dist/engine/filter/glob-helper.respec.mjs.map +0 -1
  89. package/dist/engine/item/item.respec.d.mts +0 -7
  90. package/dist/engine/item/item.respec.d.mts.map +0 -1
  91. package/dist/engine/item/item.respec.mjs +0 -75
  92. package/dist/engine/item/item.respec.mjs.map +0 -1
  93. package/dist/engine/merge/b2tfs-merge-strategy.respec.d.mts +0 -7
  94. package/dist/engine/merge/b2tfs-merge-strategy.respec.d.mts.map +0 -1
  95. package/dist/engine/merge/b2tfs-merge-strategy.respec.mjs +0 -335
  96. package/dist/engine/merge/b2tfs-merge-strategy.respec.mjs.map +0 -1
  97. package/dist/vcs-gib.respec.d.mts +0 -8
  98. package/dist/vcs-gib.respec.d.mts.map +0 -1
  99. package/dist/vcs-gib.respec.mjs +0 -82
  100. package/dist/vcs-gib.respec.mjs.map +0 -1
@@ -1,251 +0,0 @@
1
- /**
2
- * @module commit-log-cmd.respec
3
- *
4
- * Unit tests for `vcs commit` and `vcs log` command handlers.
5
- */
6
- import path from 'node:path';
7
- import fs from 'node:fs/promises';
8
- import { respecfully, ifWe, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
9
- import { executeInitCmd } from './init-cmd.mjs';
10
- import { executeAddCmd } from './add-cmd.mjs';
11
- import { executeStatusCmd } from './status-cmd.mjs';
12
- import { executeCommitCmd } from './commit-cmd.mjs';
13
- import { executeLogCmd } from './log-cmd.mjs';
14
- import { executeBranchCmd } from './branch-cmd.mjs';
15
- import { executeCheckoutCmd } from './checkout-cmd.mjs';
16
- import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
17
- import { getB2tFSIndexIbGib } from '../../engine/index/index-helper.mjs';
18
- const lc = `[apps/vcs-gib/src/cli/commands/commit-log-cmd.respec.node.mts]`;
19
- await respecfully(lc, `vcs commit and vcs log Command Handlers`, async () => {
20
- await ifWe(lc, `rejects commit when no message is provided`, async () => {
21
- const testDir = path.join(process.cwd(), '.test_commit_log_1');
22
- const vcsFolderName = '.vcsgib_test_commit_1';
23
- try {
24
- await executeInitCmd({
25
- targetDir: testDir,
26
- vcsFolderName,
27
- quiet: true,
28
- });
29
- await fs.writeFile(path.join(testDir, 'file1.txt'), 'Hello Commit', 'utf8');
30
- await executeAddCmd({
31
- paths: ['file1.txt'],
32
- targetDir: testDir,
33
- vcsFolderName,
34
- quiet: true,
35
- });
36
- let errorThrown = false;
37
- try {
38
- await executeCommitCmd({
39
- message: '',
40
- targetDir: testDir,
41
- vcsFolderName,
42
- quiet: true,
43
- });
44
- }
45
- catch (err) {
46
- errorThrown = true;
47
- iReckon(lc, err.message).includes('Commit message is required');
48
- }
49
- iReckon(lc, errorThrown).isGonnaBeTrue();
50
- }
51
- finally {
52
- await fs.rm(testDir, { recursive: true, force: true });
53
- }
54
- });
55
- await ifWe(lc, `rejects commit when no items are staged`, async () => {
56
- const testDir = path.join(process.cwd(), '.test_commit_log_2');
57
- const vcsFolderName = '.vcsgib_test_commit_2';
58
- try {
59
- await executeInitCmd({
60
- targetDir: testDir,
61
- vcsFolderName,
62
- quiet: true,
63
- });
64
- let errorThrown = false;
65
- try {
66
- await executeCommitCmd({
67
- message: 'Empty commit',
68
- targetDir: testDir,
69
- vcsFolderName,
70
- quiet: true,
71
- });
72
- }
73
- catch (err) {
74
- errorThrown = true;
75
- iReckon(lc, err.message).includes('Nothing to commit');
76
- }
77
- iReckon(lc, errorThrown).isGonnaBeTrue();
78
- }
79
- finally {
80
- await fs.rm(testDir, { recursive: true, force: true });
81
- }
82
- });
83
- await ifWe(lc, `commits staged files and advances active branch tip`, async () => {
84
- const testDir = path.join(process.cwd(), '.test_commit_log_3');
85
- const vcsFolderName = '.vcsgib_test_commit_3';
86
- try {
87
- await executeInitCmd({
88
- targetDir: testDir,
89
- vcsFolderName,
90
- quiet: true,
91
- });
92
- await fs.writeFile(path.join(testDir, 'hello.txt'), 'Hello ibgib repository!', 'utf8');
93
- await executeAddCmd({
94
- paths: ['hello.txt'],
95
- targetDir: testDir,
96
- vcsFolderName,
97
- quiet: true,
98
- });
99
- const { localSpace: spaceAdd, vcsPath: vcsPathAdd } = await bootstrapVcsMetaspace({
100
- repoPath: testDir,
101
- vcsFolderName,
102
- });
103
- const indexAdd = await getB2tFSIndexIbGib({ space: spaceAdd, vcsPath: vcsPathAdd });
104
- iReckon(lc, Boolean(indexAdd?.data?.staged_item && indexAdd.data.staged_item.length > 0)).isGonnaBeTrue();
105
- iReckon(lc, indexAdd?.rel8ns?.staged_item).isGonnaBeFalsy();
106
- const commitRes = await executeCommitCmd({
107
- message: 'Initial repository commit',
108
- targetDir: testDir,
109
- vcsFolderName,
110
- quiet: true,
111
- });
112
- const { localSpace: spaceCommit, vcsPath: vcsPathCommit } = await bootstrapVcsMetaspace({
113
- repoPath: testDir,
114
- vcsFolderName,
115
- });
116
- const indexCommit = await getB2tFSIndexIbGib({ space: spaceCommit, vcsPath: vcsPathCommit });
117
- iReckon(lc, indexCommit?.data?.staged_item).willEqual([]);
118
- iReckon(lc, indexCommit?.rel8ns?.staged_item).isGonnaBeFalsy();
119
- iReckon(lc, commitRes.branchName).willEqual('main');
120
- iReckon(lc, commitRes.committedPaths).includes('hello.txt');
121
- iReckon(lc, Boolean(commitRes.commitAddr)).isGonnaBeTrue();
122
- iReckon(lc, Boolean(commitRes.commentAddr)).isGonnaBeTrue();
123
- const statusRes = await executeStatusCmd({
124
- targetDir: testDir,
125
- vcsFolderName,
126
- quiet: true,
127
- });
128
- iReckon(lc, statusRes.staged.length).willEqual(0);
129
- iReckon(lc, statusRes.modified.length).willEqual(0);
130
- iReckon(lc, statusRes.untracked.length).willEqual(0);
131
- }
132
- finally {
133
- await fs.rm(testDir, { recursive: true, force: true });
134
- }
135
- });
136
- await ifWe(lc, `displays formatted commit history with executeLogCmd across multiple commits`, async () => {
137
- const testDir = path.join(process.cwd(), '.test_commit_log_4');
138
- const vcsFolderName = '.vcsgib_test_commit_4';
139
- try {
140
- await executeInitCmd({
141
- targetDir: testDir,
142
- vcsFolderName,
143
- quiet: true,
144
- });
145
- // Commit 1
146
- await fs.writeFile(path.join(testDir, 'file1.txt'), 'Version 1', 'utf8');
147
- await executeAddCmd({
148
- paths: ['file1.txt'],
149
- targetDir: testDir,
150
- vcsFolderName,
151
- quiet: true,
152
- });
153
- await executeCommitCmd({
154
- message: 'First commit message',
155
- targetDir: testDir,
156
- vcsFolderName,
157
- quiet: true,
158
- });
159
- // Commit 2
160
- await fs.writeFile(path.join(testDir, 'file2.txt'), 'Version 2', 'utf8');
161
- await executeAddCmd({
162
- paths: ['file2.txt'],
163
- targetDir: testDir,
164
- vcsFolderName,
165
- quiet: true,
166
- });
167
- await executeCommitCmd({
168
- message: 'Second commit message',
169
- targetDir: testDir,
170
- vcsFolderName,
171
- quiet: true,
172
- });
173
- const logRes = await executeLogCmd({
174
- targetDir: testDir,
175
- vcsFolderName,
176
- quiet: true,
177
- });
178
- iReckon(lc, logRes.branchName).willEqual('main');
179
- iReckon(lc, logRes.commits.length).willEqual(2);
180
- iReckon(lc, logRes.commits[0].message).willEqual('Second commit message');
181
- iReckon(lc, logRes.commits[1].message).willEqual('First commit message');
182
- }
183
- finally {
184
- await fs.rm(testDir, { recursive: true, force: true });
185
- }
186
- });
187
- await ifWe(lc, `walks feature branch commits with executeLogCmd on active feature branch`, async () => {
188
- const testDir = path.join(process.cwd(), '.test_commit_log_feature');
189
- const vcsFolderName = '.vcsgib_test_commit_feature';
190
- try {
191
- await executeInitCmd({
192
- targetDir: testDir,
193
- vcsFolderName,
194
- quiet: true,
195
- });
196
- // Commit on main
197
- await fs.writeFile(path.join(testDir, 'main.txt'), 'Main branch content', 'utf8');
198
- await executeAddCmd({
199
- paths: ['main.txt'],
200
- targetDir: testDir,
201
- vcsFolderName,
202
- quiet: true,
203
- });
204
- await executeCommitCmd({
205
- message: 'Main branch commit',
206
- targetDir: testDir,
207
- vcsFolderName,
208
- quiet: true,
209
- });
210
- // Create and checkout feature branch
211
- await executeBranchCmd({
212
- branchName: 'feature-log',
213
- targetDir: testDir,
214
- vcsFolderName,
215
- quiet: true,
216
- });
217
- const checkoutRes = await executeCheckoutCmd({
218
- branchName: 'feature-log',
219
- targetDir: testDir,
220
- vcsFolderName,
221
- quiet: true,
222
- });
223
- // Commit on feature branch
224
- await fs.writeFile(path.join(checkoutRes.worktreePath, 'feature.txt'), 'Feature branch content', 'utf8');
225
- await executeAddCmd({
226
- paths: ['feature.txt'],
227
- targetDir: checkoutRes.worktreePath,
228
- vcsFolderName,
229
- quiet: true,
230
- });
231
- await executeCommitCmd({
232
- message: 'Feature branch commit',
233
- targetDir: checkoutRes.worktreePath,
234
- vcsFolderName,
235
- quiet: true,
236
- });
237
- const logRes = await executeLogCmd({
238
- targetDir: checkoutRes.worktreePath,
239
- vcsFolderName,
240
- quiet: true,
241
- });
242
- iReckon(lc, logRes.branchName).willEqual('feature-log');
243
- iReckon(lc, logRes.commits.length).willEqual(1);
244
- iReckon(lc, logRes.commits[0].message).willEqual('Feature branch commit');
245
- }
246
- finally {
247
- await fs.rm(testDir, { recursive: true, force: true });
248
- }
249
- });
250
- });
251
- //# sourceMappingURL=commit-log-cmd.respec.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commit-log-cmd.respec.mjs","sourceRoot":"","sources":["../../../src/cli/commands/commit-log-cmd.respec.mts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @module init-cmd.respec
3
- *
4
- * Unit tests for `vcs init` command handler.
5
- */
6
- export {};
7
- //# sourceMappingURL=init-cmd.respec.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-cmd.respec.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/init-cmd.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,40 +0,0 @@
1
- /**
2
- * @module init-cmd.respec
3
- *
4
- * Unit tests for `vcs init` command handler.
5
- */
6
- import path from 'node:path';
7
- import fs from 'node:fs/promises';
8
- import { existsSync } from 'node:fs';
9
- import { respecfully, ifWe, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
10
- import { executeInitCmd } from './init-cmd.mjs';
11
- const lc = `[apps/vcs-gib/src/cli/commands/init-cmd.respec.node.mts]`;
12
- await respecfully(lc, `vcs init Command Handler`, async () => {
13
- await ifWe(lc, `initializes repository space, branch, and index in target folder`, async () => {
14
- const testDir = path.join(process.cwd(), '.test_init_repo');
15
- const vcsFolderName = '.vcsgib_init_test';
16
- try {
17
- const res = await executeInitCmd({
18
- targetDir: testDir,
19
- vcsFolderName,
20
- quiet: true,
21
- });
22
- iReckon(lc, res.branchName).willEqual('main');
23
- iReckon(lc, res.rootItemIb).includes('b2tfs_item folder');
24
- iReckon(lc, res.vcsPath).includes(vcsFolderName);
25
- // Strict Repository Location Isolation Assertions:
26
- // 1. Storage MUST be inside vcsPath (.vcsgib_init_test)
27
- const ibgibInsideVcsFolder = existsSync(path.join(res.vcsPath, 'ibgib')) || existsSync(path.join(res.vcsPath, 'space'));
28
- iReckon(lc, ibgibInsideVcsFolder).isGonnaBeTrue();
29
- // 2. Storage MUST NOT spill into testDir root or process.cwd() as stray 'ibgib' folder
30
- const strayInTestDir = existsSync(path.join(testDir, 'ibgib'));
31
- const strayInCwd = existsSync(path.join(process.cwd(), 'ibgib'));
32
- iReckon(lc, strayInTestDir).isGonnaBeFalse();
33
- iReckon(lc, strayInCwd).isGonnaBeFalse();
34
- }
35
- finally {
36
- await fs.rm(testDir, { recursive: true, force: true });
37
- }
38
- });
39
- });
40
- //# sourceMappingURL=init-cmd.respec.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-cmd.respec.mjs","sourceRoot":"","sources":["../../../src/cli/commands/init-cmd.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACH,WAAW,EAAE,IAAI,EAAE,OAAO,EAC7B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,EAAE,GAAG,0DAA0D,CAAC;AAEtE,MAAM,WAAW,CAAC,EAAE,EAAE,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAEzD,MAAM,IAAI,CAAC,EAAE,EAAE,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,mBAAmB,CAAC;QAC1C,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;gBAC7B,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC9C,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC1D,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAEjD,mDAAmD;YACnD,wDAAwD;YACxD,MAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YACxH,OAAO,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC,aAAa,EAAE,CAAC;YAElD,uFAAuF;YACvF,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,cAAc,EAAE,CAAC;YAC7C,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACP,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @module reset-restore-cmd.respec
3
- *
4
- * Unit tests for `vcs reset` and `vcs restore` command handlers.
5
- */
6
- export {};
7
- //# sourceMappingURL=reset-restore-cmd.respec.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reset-restore-cmd.respec.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/reset-restore-cmd.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,185 +0,0 @@
1
- /**
2
- * @module reset-restore-cmd.respec
3
- *
4
- * Unit tests for `vcs reset` and `vcs restore` command handlers.
5
- */
6
- import path from 'node:path';
7
- import fs from 'node:fs/promises';
8
- import { respecfully, ifWe, iReckon } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
9
- import { executeInitCmd } from './init-cmd.mjs';
10
- import { executeAddCmd } from './add-cmd.mjs';
11
- import { executeCommitCmd } from './commit-cmd.mjs';
12
- import { executeStatusCmd } from './status-cmd.mjs';
13
- import { executeResetCmd } from './reset-cmd.mjs';
14
- import { executeRestoreCmd } from './restore-cmd.mjs';
15
- const lc = `[apps/vcs-gib/src/cli/commands/reset-restore-cmd.respec.node.mts]`;
16
- await respecfully(lc, `vcs reset and vcs restore Command Handlers`, async () => {
17
- await ifWe(lc, `vcs reset clears staged file from index while keeping disk file edits intact`, async () => {
18
- const testDir = path.join(process.cwd(), '.test_reset_1');
19
- const vcsFolderName = '.vcsgib_test_reset_1';
20
- try {
21
- await executeInitCmd({
22
- targetDir: testDir,
23
- vcsFolderName,
24
- quiet: true,
25
- });
26
- await fs.writeFile(path.join(testDir, 'foo.txt'), 'Hello Foo', 'utf8');
27
- await executeAddCmd({
28
- paths: ['foo.txt'],
29
- targetDir: testDir,
30
- vcsFolderName,
31
- quiet: true,
32
- });
33
- let statusRes = await executeStatusCmd({
34
- targetDir: testDir,
35
- vcsFolderName,
36
- quiet: true,
37
- });
38
- iReckon(lc, statusRes.staged.map(x => x.path)).includes('foo.txt');
39
- // Modify file on disk after staging
40
- await fs.writeFile(path.join(testDir, 'foo.txt'), 'Hello Foo Modified', 'utf8');
41
- // Execute reset
42
- const resetRes = await executeResetCmd({
43
- paths: ['foo.txt'],
44
- targetDir: testDir,
45
- vcsFolderName,
46
- quiet: true,
47
- });
48
- iReckon(lc, resetRes.unstagedPaths).includes('foo.txt');
49
- statusRes = await executeStatusCmd({
50
- targetDir: testDir,
51
- vcsFolderName,
52
- quiet: true,
53
- });
54
- // Verify file is no longer staged
55
- iReckon(lc, statusRes.staged.map(x => x.path)).not.includes('foo.txt');
56
- iReckon(lc, statusRes.untracked.map(x => x.path)).includes('foo.txt');
57
- // Verify disk content is still intact
58
- const diskContent = await fs.readFile(path.join(testDir, 'foo.txt'), 'utf8');
59
- iReckon(lc, diskContent).willEqual('Hello Foo Modified');
60
- }
61
- finally {
62
- await fs.rm(testDir, { recursive: true, force: true });
63
- }
64
- });
65
- await ifWe(lc, `vcs restore --staged unstages file from index while keeping disk edits intact`, async () => {
66
- const testDir = path.join(process.cwd(), '.test_restore_staged');
67
- const vcsFolderName = '.vcsgib_test_restore_staged';
68
- try {
69
- await executeInitCmd({
70
- targetDir: testDir,
71
- vcsFolderName,
72
- quiet: true,
73
- });
74
- await fs.writeFile(path.join(testDir, 'bar.txt'), 'Initial Bar', 'utf8');
75
- await executeAddCmd({
76
- paths: ['bar.txt'],
77
- targetDir: testDir,
78
- vcsFolderName,
79
- quiet: true,
80
- });
81
- await fs.writeFile(path.join(testDir, 'bar.txt'), 'Edited Bar', 'utf8');
82
- const restoreRes = await executeRestoreCmd({
83
- paths: ['bar.txt'],
84
- targetDir: testDir,
85
- vcsFolderName,
86
- staged: true,
87
- quiet: true,
88
- });
89
- iReckon(lc, restoreRes.unstagedPaths).includes('bar.txt');
90
- const statusRes = await executeStatusCmd({
91
- targetDir: testDir,
92
- vcsFolderName,
93
- quiet: true,
94
- });
95
- iReckon(lc, statusRes.staged.map(x => x.path)).not.includes('bar.txt');
96
- const diskContent = await fs.readFile(path.join(testDir, 'bar.txt'), 'utf8');
97
- iReckon(lc, diskContent).willEqual('Edited Bar');
98
- }
99
- finally {
100
- await fs.rm(testDir, { recursive: true, force: true });
101
- }
102
- });
103
- await ifWe(lc, `vcs restore <file> reverts modified disk file back to committed snapshot content`, async () => {
104
- const testDir = path.join(process.cwd(), '.test_restore_worktree');
105
- const vcsFolderName = '.vcsgib_test_restore_worktree';
106
- try {
107
- await executeInitCmd({
108
- targetDir: testDir,
109
- vcsFolderName,
110
- quiet: true,
111
- });
112
- await fs.writeFile(path.join(testDir, 'committed.txt'), 'Original Committed Content', 'utf8');
113
- await executeAddCmd({
114
- paths: ['committed.txt'],
115
- targetDir: testDir,
116
- vcsFolderName,
117
- quiet: true,
118
- });
119
- await executeCommitCmd({
120
- message: 'Initial commit',
121
- targetDir: testDir,
122
- vcsFolderName,
123
- quiet: true,
124
- });
125
- // Modify file on disk
126
- await fs.writeFile(path.join(testDir, 'committed.txt'), 'Modified Bad Content', 'utf8');
127
- // Restore worktree file
128
- const restoreRes = await executeRestoreCmd({
129
- paths: ['committed.txt'],
130
- targetDir: testDir,
131
- vcsFolderName,
132
- quiet: true,
133
- });
134
- iReckon(lc, restoreRes.restoredPaths).includes('committed.txt');
135
- // Verify disk content is reverted back to committed snapshot content
136
- const diskContent = await fs.readFile(path.join(testDir, 'committed.txt'), 'utf8');
137
- iReckon(lc, diskContent).willEqual('Original Committed Content');
138
- }
139
- finally {
140
- await fs.rm(testDir, { recursive: true, force: true });
141
- }
142
- });
143
- await ifWe(lc, `vcs reset --all unstages all files from index`, async () => {
144
- const testDir = path.join(process.cwd(), '.test_reset_all');
145
- const vcsFolderName = '.vcsgib_test_reset_all';
146
- try {
147
- await executeInitCmd({
148
- targetDir: testDir,
149
- vcsFolderName,
150
- quiet: true,
151
- });
152
- await fs.writeFile(path.join(testDir, 'f1.txt'), 'F1', 'utf8');
153
- await fs.writeFile(path.join(testDir, 'f2.txt'), 'F2', 'utf8');
154
- await executeAddCmd({
155
- all: true,
156
- targetDir: testDir,
157
- vcsFolderName,
158
- quiet: true,
159
- });
160
- let statusRes = await executeStatusCmd({
161
- targetDir: testDir,
162
- vcsFolderName,
163
- quiet: true,
164
- });
165
- iReckon(lc, statusRes.staged.length).willEqual(2);
166
- const resetRes = await executeResetCmd({
167
- all: true,
168
- targetDir: testDir,
169
- vcsFolderName,
170
- quiet: true,
171
- });
172
- iReckon(lc, resetRes.unstagedPaths.length).willEqual(2);
173
- statusRes = await executeStatusCmd({
174
- targetDir: testDir,
175
- vcsFolderName,
176
- quiet: true,
177
- });
178
- iReckon(lc, statusRes.staged.length).willEqual(0);
179
- }
180
- finally {
181
- await fs.rm(testDir, { recursive: true, force: true });
182
- }
183
- });
184
- });
185
- //# sourceMappingURL=reset-restore-cmd.respec.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reset-restore-cmd.respec.mjs","sourceRoot":"","sources":["../../../src/cli/commands/reset-restore-cmd.respec.mts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @module status-add-cmd.respec
3
- *
4
- * Unit tests for `vcs status` and `vcs add` command handlers.
5
- */
6
- export {};
7
- //# sourceMappingURL=status-add-cmd.respec.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status-add-cmd.respec.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/status-add-cmd.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}