@ibgib/vcs-gib 0.0.17 → 0.0.20
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.
- package/dist/AUTO-GENERATED-version.d.mts +1 -1
- package/dist/AUTO-GENERATED-version.mjs +1 -1
- package/dist/bootstrap/node-bootstrap.d.mts.map +1 -1
- package/dist/bootstrap/node-bootstrap.mjs +3 -0
- package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
- package/dist/cli/cli-constants.d.mts +1 -0
- package/dist/cli/cli-constants.d.mts.map +1 -1
- package/dist/cli/cli-constants.mjs +1 -0
- package/dist/cli/cli-constants.mjs.map +1 -1
- package/dist/cli/commands/add-cmd.d.mts.map +1 -1
- package/dist/cli/commands/add-cmd.mjs +2 -2
- package/dist/cli/commands/add-cmd.mjs.map +1 -1
- package/dist/cli/commands/branch-cmd.d.mts.map +1 -1
- package/dist/cli/commands/branch-cmd.mjs +2 -2
- package/dist/cli/commands/branch-cmd.mjs.map +1 -1
- package/dist/cli/commands/checkout-cmd.d.mts.map +1 -1
- package/dist/cli/commands/checkout-cmd.mjs +15 -7
- package/dist/cli/commands/checkout-cmd.mjs.map +1 -1
- package/dist/cli/commands/commit-cmd.d.mts.map +1 -1
- package/dist/cli/commands/commit-cmd.mjs +2 -2
- package/dist/cli/commands/commit-cmd.mjs.map +1 -1
- package/dist/cli/commands/merge-cmd.d.mts +23 -0
- package/dist/cli/commands/merge-cmd.d.mts.map +1 -0
- package/dist/cli/commands/merge-cmd.mjs +224 -0
- package/dist/cli/commands/merge-cmd.mjs.map +1 -0
- package/dist/cli/vcs-cli-main.d.mts.map +1 -1
- package/dist/cli/vcs-cli-main.mjs +7 -0
- package/dist/cli/vcs-cli-main.mjs.map +1 -1
- package/dist/engine/item/item-helper.d.mts +1 -0
- package/dist/engine/item/item-helper.d.mts.map +1 -1
- package/dist/engine/item/item-helper.mjs +13 -3
- package/dist/engine/item/item-helper.mjs.map +1 -1
- package/dist/engine/item/item-types.d.mts +1 -0
- package/dist/engine/item/item-types.d.mts.map +1 -1
- package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts +48 -0
- package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts.map +1 -0
- package/dist/engine/merge/b2tfs-3way-merge-strategy.mjs +741 -0
- package/dist/engine/merge/b2tfs-3way-merge-strategy.mjs.map +1 -0
- package/dist/engine/merge/b2tfs-3way-merge-types.d.mts +41 -0
- package/dist/engine/merge/b2tfs-3way-merge-types.d.mts.map +1 -0
- package/dist/engine/merge/b2tfs-3way-merge-types.mjs +2 -0
- package/dist/engine/merge/b2tfs-3way-merge-types.mjs.map +1 -0
- package/dist/respec-gib.node.mjs +1 -1
- package/dist/respec-gib.node.mjs.map +1 -1
- package/package.json +6 -6
- package/src/AUTO-GENERATED-version.mts +1 -1
- package/src/bootstrap/node-bootstrap.mts +6 -1
- package/src/cli/cli-constants.mts +1 -0
- package/src/cli/commands/add-cmd.mts +5 -3
- package/src/cli/commands/branch-checkout-cmd.respec.log +111 -0
- package/src/cli/commands/{branch-checkout-cmd.respec.node.mts → branch-checkout-cmd.respec.mts} +112 -9
- package/src/cli/commands/branch-cmd.mts +5 -6
- package/src/cli/commands/checkout-cmd.mts +23 -9
- package/src/cli/commands/commit-cmd.mts +5 -3
- package/src/cli/commands/merge-cmd.mts +285 -0
- package/src/cli/vcs-cli-main.mts +7 -0
- package/src/engine/item/item-helper.mts +15 -9
- package/src/engine/item/item-types.mts +2 -1
- package/src/engine/merge/b2tfs-3way-merge-strategy.mts +852 -0
- package/src/engine/merge/b2tfs-3way-merge-strategy.respec.log +39 -0
- package/src/engine/merge/b2tfs-3way-merge-strategy.respec.mts +441 -0
- package/src/engine/merge/b2tfs-3way-merge-types.mts +42 -0
- package/src/respec-gib.node.mts +2 -2
- package/tsconfig.json +3 -2
- package/tsconfig.test.json +10 -0
- package/tsconfig.test.tsbuildinfo +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/assumptions.respec.d.mts +0 -2
- package/dist/assumptions.respec.d.mts.map +0 -1
- package/dist/assumptions.respec.mjs +0 -41
- package/dist/assumptions.respec.mjs.map +0 -1
- package/dist/bootstrap/node-bootstrap.respec.node.d.mts +0 -7
- package/dist/bootstrap/node-bootstrap.respec.node.d.mts.map +0 -1
- package/dist/bootstrap/node-bootstrap.respec.node.mjs +0 -28
- package/dist/bootstrap/node-bootstrap.respec.node.mjs.map +0 -1
- package/dist/cli/cli-arg-parser.respec.node.d.mts +0 -7
- package/dist/cli/cli-arg-parser.respec.node.d.mts.map +0 -1
- package/dist/cli/cli-arg-parser.respec.node.mjs +0 -35
- package/dist/cli/cli-arg-parser.respec.node.mjs.map +0 -1
- package/dist/cli/cli-e2e.respec.node.d.mts +0 -8
- package/dist/cli/cli-e2e.respec.node.d.mts.map +0 -1
- package/dist/cli/cli-e2e.respec.node.mjs +0 -263
- package/dist/cli/cli-e2e.respec.node.mjs.map +0 -1
- package/dist/cli/commands/branch-checkout-cmd.respec.node.d.mts +0 -7
- package/dist/cli/commands/branch-checkout-cmd.respec.node.d.mts.map +0 -1
- package/dist/cli/commands/branch-checkout-cmd.respec.node.mjs +0 -358
- package/dist/cli/commands/branch-checkout-cmd.respec.node.mjs.map +0 -1
- package/dist/cli/commands/commit-log-cmd.respec.node.d.mts +0 -7
- package/dist/cli/commands/commit-log-cmd.respec.node.d.mts.map +0 -1
- package/dist/cli/commands/commit-log-cmd.respec.node.mjs +0 -251
- package/dist/cli/commands/commit-log-cmd.respec.node.mjs.map +0 -1
- package/dist/cli/commands/init-cmd.respec.node.d.mts +0 -7
- package/dist/cli/commands/init-cmd.respec.node.d.mts.map +0 -1
- package/dist/cli/commands/init-cmd.respec.node.mjs +0 -40
- package/dist/cli/commands/init-cmd.respec.node.mjs.map +0 -1
- package/dist/cli/commands/reset-restore-cmd.respec.node.d.mts +0 -7
- package/dist/cli/commands/reset-restore-cmd.respec.node.d.mts.map +0 -1
- package/dist/cli/commands/reset-restore-cmd.respec.node.mjs +0 -185
- package/dist/cli/commands/reset-restore-cmd.respec.node.mjs.map +0 -1
- package/dist/cli/commands/status-add-cmd.respec.node.d.mts +0 -7
- package/dist/cli/commands/status-add-cmd.respec.node.d.mts.map +0 -1
- package/dist/cli/commands/status-add-cmd.respec.node.mjs +0 -239
- package/dist/cli/commands/status-add-cmd.respec.node.mjs.map +0 -1
- package/dist/engine/branch/branch-space.respec.node.d.mts +0 -8
- package/dist/engine/branch/branch-space.respec.node.d.mts.map +0 -1
- package/dist/engine/branch/branch-space.respec.node.mjs +0 -143
- package/dist/engine/branch/branch-space.respec.node.mjs.map +0 -1
- package/dist/engine/diff/line-diff-helper.respec.node.d.mts +0 -7
- package/dist/engine/diff/line-diff-helper.respec.node.d.mts.map +0 -1
- package/dist/engine/diff/line-diff-helper.respec.node.mjs +0 -66
- package/dist/engine/diff/line-diff-helper.respec.node.mjs.map +0 -1
- package/dist/engine/filter/glob-helper.respec.node.d.mts +0 -7
- package/dist/engine/filter/glob-helper.respec.node.d.mts.map +0 -1
- package/dist/engine/filter/glob-helper.respec.node.mjs +0 -78
- package/dist/engine/filter/glob-helper.respec.node.mjs.map +0 -1
- package/dist/engine/item/item.respec.node.d.mts +0 -7
- package/dist/engine/item/item.respec.node.d.mts.map +0 -1
- package/dist/engine/item/item.respec.node.mjs +0 -75
- package/dist/engine/item/item.respec.node.mjs.map +0 -1
- package/dist/vcs-gib.respec.node.d.mts +0 -8
- package/dist/vcs-gib.respec.node.d.mts.map +0 -1
- package/dist/vcs-gib.respec.node.mjs +0 -82
- package/dist/vcs-gib.respec.node.mjs.map +0 -1
- /package/src/bootstrap/{node-bootstrap.respec.node.mts → node-bootstrap.respec.mts} +0 -0
- /package/src/cli/{cli-arg-parser.respec.node.mts → cli-arg-parser.respec.mts} +0 -0
- /package/src/cli/{cli-e2e.respec.node.mts → cli-e2e.respec.mts} +0 -0
- /package/src/cli/commands/{commit-log-cmd.respec.node.mts → commit-log-cmd.respec.mts} +0 -0
- /package/src/cli/commands/{init-cmd.respec.node.mts → init-cmd.respec.mts} +0 -0
- /package/src/cli/commands/{reset-restore-cmd.respec.node.mts → reset-restore-cmd.respec.mts} +0 -0
- /package/src/cli/commands/{status-add-cmd.respec.node.mts → status-add-cmd.respec.mts} +0 -0
- /package/src/engine/branch/{branch-space.respec.node.mts → branch-space.respec.mts} +0 -0
- /package/src/engine/diff/{line-diff-helper.respec.node.mts → line-diff-helper.respec.mts} +0 -0
- /package/src/engine/filter/{glob-helper.respec.node.mts → glob-helper.respec.mts} +0 -0
- /package/src/engine/item/{item.respec.node.mts → item.respec.mts} +0 -0
- /package/src/{vcs-gib.respec.node.mts → vcs-gib.respec.mts} +0 -0
|
@@ -1,358 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module branch-checkout-cmd.respec
|
|
3
|
-
*
|
|
4
|
-
* Unit tests for `vcs branch` and `vcs checkout` command handlers & worktree projections.
|
|
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 { executeBranchCmd } from './branch-cmd.mjs';
|
|
13
|
-
import { executeCheckoutCmd } from './checkout-cmd.mjs';
|
|
14
|
-
import { executeStatusCmd } from './status-cmd.mjs';
|
|
15
|
-
const lc = `[apps/vcs-gib/src/cli/commands/branch-checkout-cmd.respec.node.mts]`;
|
|
16
|
-
await respecfully(lc, `vcs branch and vcs checkout Command Handlers`, async () => {
|
|
17
|
-
await ifWe(lc, `lists default branch main for new repository`, async () => {
|
|
18
|
-
const testDir = path.join(process.cwd(), '.test_branch_checkout_1');
|
|
19
|
-
const vcsFolderName = '.vcsgib_test_bc_1';
|
|
20
|
-
try {
|
|
21
|
-
await executeInitCmd({
|
|
22
|
-
targetDir: testDir,
|
|
23
|
-
vcsFolderName,
|
|
24
|
-
quiet: true,
|
|
25
|
-
});
|
|
26
|
-
const branchRes = await executeBranchCmd({
|
|
27
|
-
targetDir: testDir,
|
|
28
|
-
vcsFolderName,
|
|
29
|
-
quiet: true,
|
|
30
|
-
});
|
|
31
|
-
iReckon(lc, branchRes.branches.length).willEqual(1);
|
|
32
|
-
iReckon(lc, branchRes.branches[0].name).willEqual('main');
|
|
33
|
-
iReckon(lc, branchRes.branches[0].isActive).isGonnaBeTrue();
|
|
34
|
-
}
|
|
35
|
-
finally {
|
|
36
|
-
await fs.rm(testDir, { recursive: true, force: true });
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
await ifWe(lc, `creates new branch from active branch root item and rejects duplicates`, async () => {
|
|
40
|
-
const testDir = path.join(process.cwd(), '.test_branch_checkout_2');
|
|
41
|
-
const vcsFolderName = '.vcsgib_test_bc_2';
|
|
42
|
-
try {
|
|
43
|
-
await executeInitCmd({
|
|
44
|
-
targetDir: testDir,
|
|
45
|
-
vcsFolderName,
|
|
46
|
-
quiet: true,
|
|
47
|
-
});
|
|
48
|
-
// Create feature branch
|
|
49
|
-
const createRes = await executeBranchCmd({
|
|
50
|
-
branchName: 'feature-auth',
|
|
51
|
-
targetDir: testDir,
|
|
52
|
-
vcsFolderName,
|
|
53
|
-
quiet: true,
|
|
54
|
-
});
|
|
55
|
-
iReckon(lc, createRes.createdBranchName).willEqual('feature-auth');
|
|
56
|
-
iReckon(lc, Boolean(createRes.createdBranchAddr)).isGonnaBeTrue();
|
|
57
|
-
// List branches
|
|
58
|
-
const listRes = await executeBranchCmd({
|
|
59
|
-
targetDir: testDir,
|
|
60
|
-
vcsFolderName,
|
|
61
|
-
quiet: true,
|
|
62
|
-
});
|
|
63
|
-
iReckon(lc, listRes.branches.length).willEqual(2);
|
|
64
|
-
const featureBranch = listRes.branches.find(b => b.name === 'feature-auth');
|
|
65
|
-
iReckon(lc, Boolean(featureBranch)).isGonnaBeTrue();
|
|
66
|
-
iReckon(lc, featureBranch?.isActive).isGonnaBeFalse();
|
|
67
|
-
// Verify dedicated branch space subfolders exist in .vcsgib
|
|
68
|
-
const mainSpaceDir = path.join(testDir, vcsFolderName, 'ibgib', 'b2s_main');
|
|
69
|
-
const featureSpaceDir = path.join(testDir, vcsFolderName, 'ibgib', 'b2s_feature-auth');
|
|
70
|
-
const mainSpaceExists = await fs.stat(mainSpaceDir).then(s => s.isDirectory()).catch(() => fs.stat(path.join(testDir, vcsFolderName, 'b2s_main')).then(s => s.isDirectory()).catch(() => false));
|
|
71
|
-
const featureSpaceExists = await fs.stat(featureSpaceDir).then(s => s.isDirectory()).catch(() => fs.stat(path.join(testDir, vcsFolderName, 'b2s_feature-auth')).then(s => s.isDirectory()).catch(() => false));
|
|
72
|
-
iReckon(lc, mainSpaceExists).isGonnaBeTrue();
|
|
73
|
-
iReckon(lc, featureSpaceExists).isGonnaBeTrue();
|
|
74
|
-
// Duplicate branch attempt
|
|
75
|
-
let errorThrown = false;
|
|
76
|
-
try {
|
|
77
|
-
await executeBranchCmd({
|
|
78
|
-
branchName: 'feature-auth',
|
|
79
|
-
targetDir: testDir,
|
|
80
|
-
vcsFolderName,
|
|
81
|
-
quiet: true,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
catch (err) {
|
|
85
|
-
errorThrown = true;
|
|
86
|
-
iReckon(lc, err.message).includes("already exists");
|
|
87
|
-
}
|
|
88
|
-
iReckon(lc, errorThrown).isGonnaBeTrue();
|
|
89
|
-
}
|
|
90
|
-
finally {
|
|
91
|
-
await fs.rm(testDir, { recursive: true, force: true });
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
await ifWe(lc, `switches active branch with checkout and projects branch snapshot onto worktree subfolder`, async () => {
|
|
95
|
-
const testDir = path.join(process.cwd(), '.test_branch_checkout_3');
|
|
96
|
-
const vcsFolderName = '.vcsgib_test_bc_3';
|
|
97
|
-
try {
|
|
98
|
-
await executeInitCmd({
|
|
99
|
-
targetDir: testDir,
|
|
100
|
-
vcsFolderName,
|
|
101
|
-
quiet: true,
|
|
102
|
-
});
|
|
103
|
-
// Commit a file on main
|
|
104
|
-
await fs.writeFile(path.join(testDir, 'app.ts'), 'console.log("Main");', 'utf8');
|
|
105
|
-
await executeAddCmd({
|
|
106
|
-
paths: ['app.ts'],
|
|
107
|
-
targetDir: testDir,
|
|
108
|
-
vcsFolderName,
|
|
109
|
-
quiet: true,
|
|
110
|
-
});
|
|
111
|
-
await executeCommitCmd({
|
|
112
|
-
message: 'Add app.ts on main',
|
|
113
|
-
targetDir: testDir,
|
|
114
|
-
vcsFolderName,
|
|
115
|
-
quiet: true,
|
|
116
|
-
});
|
|
117
|
-
// Create branch feature-ui
|
|
118
|
-
await executeBranchCmd({
|
|
119
|
-
branchName: 'feature-ui',
|
|
120
|
-
targetDir: testDir,
|
|
121
|
-
vcsFolderName,
|
|
122
|
-
quiet: true,
|
|
123
|
-
});
|
|
124
|
-
// Checkout feature-ui
|
|
125
|
-
const checkoutRes = await executeCheckoutCmd({
|
|
126
|
-
branchName: 'feature-ui',
|
|
127
|
-
targetDir: testDir,
|
|
128
|
-
vcsFolderName,
|
|
129
|
-
quiet: true,
|
|
130
|
-
});
|
|
131
|
-
iReckon(lc, checkoutRes.previousBranch).willEqual('main');
|
|
132
|
-
iReckon(lc, checkoutRes.currentBranch).willEqual('feature-ui');
|
|
133
|
-
const expectedWorktree = path.join(testDir, 'b', 'feature-ui');
|
|
134
|
-
iReckon(lc, checkoutRes.worktreePath).willEqual(expectedWorktree);
|
|
135
|
-
// Verify project file exists in worktree path
|
|
136
|
-
const projectedFile = path.join(expectedWorktree, 'app.ts');
|
|
137
|
-
const fileContent = await fs.readFile(projectedFile, 'utf8');
|
|
138
|
-
iReckon(lc, fileContent).willEqual('console.log("Main");');
|
|
139
|
-
// Verify active branch in status
|
|
140
|
-
const statusRes = await executeStatusCmd({
|
|
141
|
-
targetDir: testDir,
|
|
142
|
-
vcsFolderName,
|
|
143
|
-
quiet: true,
|
|
144
|
-
});
|
|
145
|
-
iReckon(lc, statusRes.branchName).willEqual('feature-ui');
|
|
146
|
-
// Verify branch list displays ALL branches while on feature-ui
|
|
147
|
-
const branchListOnFeature = await executeBranchCmd({
|
|
148
|
-
targetDir: testDir,
|
|
149
|
-
vcsFolderName,
|
|
150
|
-
quiet: true,
|
|
151
|
-
});
|
|
152
|
-
iReckon(lc, branchListOnFeature.branches.length).willEqual(2);
|
|
153
|
-
iReckon(lc, branchListOnFeature.branches.map(b => b.name)).includes('main');
|
|
154
|
-
iReckon(lc, branchListOnFeature.branches.map(b => b.name)).includes('feature-ui');
|
|
155
|
-
// Make a commit on feature-ui branch
|
|
156
|
-
await fs.writeFile(path.join(expectedWorktree, 'ui.ts'), 'export const ui = 1;', 'utf8');
|
|
157
|
-
await executeAddCmd({
|
|
158
|
-
paths: ['ui.ts'],
|
|
159
|
-
targetDir: expectedWorktree,
|
|
160
|
-
vcsFolderName,
|
|
161
|
-
quiet: true,
|
|
162
|
-
});
|
|
163
|
-
await executeCommitCmd({
|
|
164
|
-
message: 'Add ui.ts on feature-ui',
|
|
165
|
-
targetDir: expectedWorktree,
|
|
166
|
-
vcsFolderName,
|
|
167
|
-
quiet: true,
|
|
168
|
-
});
|
|
169
|
-
// Verify branch list after commit on feature-ui still displays ALL branches
|
|
170
|
-
const branchListAfterCommit = await executeBranchCmd({
|
|
171
|
-
targetDir: expectedWorktree,
|
|
172
|
-
vcsFolderName,
|
|
173
|
-
quiet: true,
|
|
174
|
-
});
|
|
175
|
-
iReckon(lc, branchListAfterCommit.branches.length).willEqual(2);
|
|
176
|
-
// Switch back to main
|
|
177
|
-
const switchBackRes = await executeCheckoutCmd({
|
|
178
|
-
branchName: 'main',
|
|
179
|
-
targetDir: expectedWorktree,
|
|
180
|
-
vcsFolderName,
|
|
181
|
-
quiet: true,
|
|
182
|
-
});
|
|
183
|
-
iReckon(lc, switchBackRes.currentBranch).willEqual('main');
|
|
184
|
-
iReckon(lc, switchBackRes.worktreePath).willEqual(testDir);
|
|
185
|
-
// Verify branch list displays ALL branches while on main after feature-ui commit
|
|
186
|
-
const branchListOnMain = await executeBranchCmd({
|
|
187
|
-
targetDir: testDir,
|
|
188
|
-
vcsFolderName,
|
|
189
|
-
quiet: true,
|
|
190
|
-
});
|
|
191
|
-
iReckon(lc, branchListOnMain.branches.length).willEqual(2);
|
|
192
|
-
iReckon(lc, branchListOnMain.branches.map(b => b.name)).includes('main');
|
|
193
|
-
iReckon(lc, branchListOnMain.branches.map(b => b.name)).includes('feature-ui');
|
|
194
|
-
// Switch back to feature-ui seamlessly
|
|
195
|
-
const switchAgainRes = await executeCheckoutCmd({
|
|
196
|
-
branchName: 'feature-ui',
|
|
197
|
-
targetDir: testDir,
|
|
198
|
-
vcsFolderName,
|
|
199
|
-
quiet: true,
|
|
200
|
-
});
|
|
201
|
-
iReckon(lc, switchAgainRes.currentBranch).willEqual('feature-ui');
|
|
202
|
-
}
|
|
203
|
-
finally {
|
|
204
|
-
await fs.rm(testDir, { recursive: true, force: true });
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
await ifWe(lc, `rejects checkout when branch does not exist or branchName missing`, async () => {
|
|
208
|
-
const testDir = path.join(process.cwd(), '.test_branch_checkout_4');
|
|
209
|
-
const vcsFolderName = '.vcsgib_test_bc_4';
|
|
210
|
-
try {
|
|
211
|
-
await executeInitCmd({
|
|
212
|
-
targetDir: testDir,
|
|
213
|
-
vcsFolderName,
|
|
214
|
-
quiet: true,
|
|
215
|
-
});
|
|
216
|
-
let err1 = false;
|
|
217
|
-
try {
|
|
218
|
-
await executeCheckoutCmd({
|
|
219
|
-
branchName: '',
|
|
220
|
-
targetDir: testDir,
|
|
221
|
-
vcsFolderName,
|
|
222
|
-
quiet: true,
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
catch (err) {
|
|
226
|
-
err1 = true;
|
|
227
|
-
iReckon(lc, err.message).includes('Branch name is required');
|
|
228
|
-
}
|
|
229
|
-
iReckon(lc, err1).isGonnaBeTrue();
|
|
230
|
-
let err2 = false;
|
|
231
|
-
try {
|
|
232
|
-
await executeCheckoutCmd({
|
|
233
|
-
branchName: 'non-existent-branch',
|
|
234
|
-
targetDir: testDir,
|
|
235
|
-
vcsFolderName,
|
|
236
|
-
quiet: true,
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
catch (err) {
|
|
240
|
-
err2 = true;
|
|
241
|
-
iReckon(lc, err.message).includes("does not exist");
|
|
242
|
-
}
|
|
243
|
-
iReckon(lc, err2).isGonnaBeTrue();
|
|
244
|
-
}
|
|
245
|
-
finally {
|
|
246
|
-
await fs.rm(testDir, { recursive: true, force: true });
|
|
247
|
-
}
|
|
248
|
-
});
|
|
249
|
-
await ifWe(lc, `lists branches silently on secondary branch without error noise`, async () => {
|
|
250
|
-
const testDir = path.join(process.cwd(), '.test_branch_checkout_secondary');
|
|
251
|
-
const vcsFolderName = '.vcsgib_test_bc_sec';
|
|
252
|
-
try {
|
|
253
|
-
await executeInitCmd({
|
|
254
|
-
targetDir: testDir,
|
|
255
|
-
vcsFolderName,
|
|
256
|
-
quiet: true,
|
|
257
|
-
});
|
|
258
|
-
// Create and checkout secondary branch feature-math
|
|
259
|
-
await executeBranchCmd({
|
|
260
|
-
branchName: 'feature-math',
|
|
261
|
-
targetDir: testDir,
|
|
262
|
-
vcsFolderName,
|
|
263
|
-
quiet: true,
|
|
264
|
-
});
|
|
265
|
-
await executeCheckoutCmd({
|
|
266
|
-
branchName: 'feature-math',
|
|
267
|
-
targetDir: testDir,
|
|
268
|
-
vcsFolderName,
|
|
269
|
-
quiet: true,
|
|
270
|
-
});
|
|
271
|
-
// Run branch list while on secondary branch
|
|
272
|
-
const listRes = await executeBranchCmd({
|
|
273
|
-
targetDir: testDir,
|
|
274
|
-
vcsFolderName,
|
|
275
|
-
quiet: true,
|
|
276
|
-
});
|
|
277
|
-
iReckon(lc, listRes.branches.length).willEqual(2);
|
|
278
|
-
const mathBranch = listRes.branches.find(b => b.name === 'feature-math');
|
|
279
|
-
const mainBranch = listRes.branches.find(b => b.name === 'main');
|
|
280
|
-
iReckon(lc, mathBranch?.isActive).isGonnaBeTrue();
|
|
281
|
-
iReckon(lc, mainBranch?.isActive).isGonnaBeFalse();
|
|
282
|
-
}
|
|
283
|
-
finally {
|
|
284
|
-
await fs.rm(testDir, { recursive: true, force: true });
|
|
285
|
-
}
|
|
286
|
-
});
|
|
287
|
-
await ifWe(lc, `branches single file-root item and projects into file-branch worktree on checkout`, async () => {
|
|
288
|
-
const testDir = path.join(process.cwd(), '.test_branch_checkout_file_root');
|
|
289
|
-
const vcsFolderName = '.vcsgib_test_bc_file';
|
|
290
|
-
try {
|
|
291
|
-
await executeInitCmd({
|
|
292
|
-
targetDir: testDir,
|
|
293
|
-
vcsFolderName,
|
|
294
|
-
quiet: true,
|
|
295
|
-
});
|
|
296
|
-
// Create nested file structure src/utils/math.js and commit on main
|
|
297
|
-
const mathRelPath = 'src/utils/math.js';
|
|
298
|
-
await fs.mkdir(path.join(testDir, 'src', 'utils'), { recursive: true });
|
|
299
|
-
await fs.writeFile(path.join(testDir, mathRelPath), 'export function add(a, b) { return a + b; }', 'utf8');
|
|
300
|
-
await executeAddCmd({
|
|
301
|
-
paths: [mathRelPath],
|
|
302
|
-
targetDir: testDir,
|
|
303
|
-
vcsFolderName,
|
|
304
|
-
quiet: true,
|
|
305
|
-
});
|
|
306
|
-
await executeCommitCmd({
|
|
307
|
-
message: 'Add math.js',
|
|
308
|
-
targetDir: testDir,
|
|
309
|
-
vcsFolderName,
|
|
310
|
-
quiet: true,
|
|
311
|
-
});
|
|
312
|
-
// Execute branch command for single file math-opt targeting src/utils/math.js
|
|
313
|
-
const branchRes = await executeBranchCmd({
|
|
314
|
-
branchName: 'math-opt',
|
|
315
|
-
itemPath: mathRelPath,
|
|
316
|
-
targetDir: testDir,
|
|
317
|
-
vcsFolderName,
|
|
318
|
-
quiet: true,
|
|
319
|
-
});
|
|
320
|
-
iReckon(lc, branchRes.createdBranchName).willEqual('math-opt');
|
|
321
|
-
// Attempt branching uncommitted/non-existent item
|
|
322
|
-
let uncommittedErr = false;
|
|
323
|
-
try {
|
|
324
|
-
await executeBranchCmd({
|
|
325
|
-
branchName: 'invalid-file-branch',
|
|
326
|
-
itemPath: 'src/utils/non-existent.js',
|
|
327
|
-
targetDir: testDir,
|
|
328
|
-
vcsFolderName,
|
|
329
|
-
quiet: true,
|
|
330
|
-
});
|
|
331
|
-
}
|
|
332
|
-
catch (err) {
|
|
333
|
-
uncommittedErr = true;
|
|
334
|
-
iReckon(lc, err.message).includes("not found in active branch snapshot");
|
|
335
|
-
}
|
|
336
|
-
iReckon(lc, uncommittedErr).isGonnaBeTrue();
|
|
337
|
-
// Execute checkout command for math-opt
|
|
338
|
-
const checkoutRes = await executeCheckoutCmd({
|
|
339
|
-
branchName: 'math-opt',
|
|
340
|
-
targetDir: testDir,
|
|
341
|
-
vcsFolderName,
|
|
342
|
-
quiet: true,
|
|
343
|
-
});
|
|
344
|
-
const expectedWorktree = path.join(testDir, 'b', 'math-opt');
|
|
345
|
-
iReckon(lc, checkoutRes.worktreePath).willEqual(expectedWorktree);
|
|
346
|
-
// Verify single file projected at expectedWorktree/math.js (my-repo/b/math-opt/math.js)
|
|
347
|
-
const projectedFilePath = path.join(expectedWorktree, 'math.js');
|
|
348
|
-
const fileExists = await fs.stat(projectedFilePath).then(s => s.isFile()).catch(() => false);
|
|
349
|
-
iReckon(lc, fileExists).isGonnaBeTrue();
|
|
350
|
-
const fileContent = await fs.readFile(projectedFilePath, 'utf8');
|
|
351
|
-
iReckon(lc, fileContent).willEqual('export function add(a, b) { return a + b; }');
|
|
352
|
-
}
|
|
353
|
-
finally {
|
|
354
|
-
await fs.rm(testDir, { recursive: true, force: true });
|
|
355
|
-
}
|
|
356
|
-
});
|
|
357
|
-
});
|
|
358
|
-
//# sourceMappingURL=branch-checkout-cmd.respec.node.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"branch-checkout-cmd.respec.node.mjs","sourceRoot":"","sources":["../../../src/cli/commands/branch-checkout-cmd.respec.node.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commit-log-cmd.respec.node.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/commit-log-cmd.respec.node.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -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.node.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commit-log-cmd.respec.node.mjs","sourceRoot":"","sources":["../../../src/cli/commands/commit-log-cmd.respec.node.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EACH,WAAW,EAAE,IAAI,EAAE,OAAO,EAC7B,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,EAAE,GAAG,gEAAgE,CAAC;AAE5E,MAAM,WAAW,CAAC,EAAE,EAAE,yCAAyC,EAAE,KAAK,IAAI,EAAE;IAExE,MAAM,IAAI,CAAC,EAAE,EAAE,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,cAAc,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAC5E,MAAM,aAAa,CAAC;gBAChB,KAAK,EAAE,CAAC,WAAW,CAAC;gBACpB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC;gBACD,MAAM,gBAAgB,CAAC;oBACnB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,OAAO;oBAClB,aAAa;oBACb,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,WAAW,GAAG,IAAI,CAAC;gBACnB,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,aAAa,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;IAEH,MAAM,IAAI,CAAC,EAAE,EAAE,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,cAAc,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC;gBACD,MAAM,gBAAgB,CAAC;oBACnB,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,OAAO;oBAClB,aAAa;oBACb,KAAK,EAAE,IAAI;iBACd,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,WAAW,GAAG,IAAI,CAAC;gBACnB,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,aAAa,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;IAEH,MAAM,IAAI,CAAC,EAAE,EAAE,qDAAqD,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,cAAc,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,yBAAyB,EAAE,MAAM,CAAC,CAAC;YACvF,MAAM,aAAa,CAAC;gBAChB,KAAK,EAAE,CAAC,WAAW,CAAC;gBACpB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,qBAAqB,CAAC;gBAC9E,QAAQ,EAAE,OAAO;gBACjB,aAAa;aAChB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1G,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC;YAE5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;gBACrC,OAAO,EAAE,2BAA2B;gBACpC,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,qBAAqB,CAAC;gBACpF,QAAQ,EAAE,OAAO;gBACjB,aAAa;aAChB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YAC7F,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC;YAE/D,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5D,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC3D,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAE5D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;gBACrC,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzD,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;IAEH,MAAM,IAAI,CAAC,EAAE,EAAE,8EAA8E,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,uBAAuB,CAAC;QAC9C,IAAI,CAAC;YACD,MAAM,cAAc,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,WAAW;YACX,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,aAAa,CAAC;gBAChB,KAAK,EAAE,CAAC,WAAW,CAAC;gBACpB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC;gBACnB,OAAO,EAAE,sBAAsB;gBAC/B,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,WAAW;YACX,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,aAAa,CAAC;gBAChB,KAAK,EAAE,CAAC,WAAW,CAAC;gBACpB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC;gBACnB,OAAO,EAAE,uBAAuB;gBAChC,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBAC/B,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACjD,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAC1E,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC7E,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;IAEH,MAAM,IAAI,CAAC,EAAE,EAAE,0EAA0E,EAAE,KAAK,IAAI,EAAE;QAClG,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,6BAA6B,CAAC;QACpD,IAAI,CAAC;YACD,MAAM,cAAc,CAAC;gBACjB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,iBAAiB;YACjB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;YAClF,MAAM,aAAa,CAAC;gBAChB,KAAK,EAAE,CAAC,UAAU,CAAC;gBACnB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC;gBACnB,OAAO,EAAE,oBAAoB;gBAC7B,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,qCAAqC;YACrC,MAAM,gBAAgB,CAAC;gBACnB,UAAU,EAAE,aAAa;gBACzB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC;gBACzC,UAAU,EAAE,aAAa;gBACzB,SAAS,EAAE,OAAO;gBAClB,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,wBAAwB,EAAE,MAAM,CAAC,CAAC;YACzG,MAAM,aAAa,CAAC;gBAChB,KAAK,EAAE,CAAC,aAAa,CAAC;gBACtB,SAAS,EAAE,WAAW,CAAC,YAAY;gBACnC,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC;gBACnB,OAAO,EAAE,uBAAuB;gBAChC,SAAS,EAAE,WAAW,CAAC,YAAY;gBACnC,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;gBAC/B,SAAS,EAAE,WAAW,CAAC,YAAY;gBACnC,aAAa;gBACb,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACxD,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC9E,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"}
|