specweave 0.28.50 → 0.28.51
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/src/cli/helpers/ado-area-selector.d.ts +11 -1
- package/dist/src/cli/helpers/ado-area-selector.d.ts.map +1 -1
- package/dist/src/cli/helpers/ado-area-selector.js +124 -18
- package/dist/src/cli/helpers/ado-area-selector.js.map +1 -1
- package/dist/src/cli/helpers/github-repo-selector.d.ts +11 -3
- package/dist/src/cli/helpers/github-repo-selector.d.ts.map +1 -1
- package/dist/src/cli/helpers/github-repo-selector.js +126 -20
- package/dist/src/cli/helpers/github-repo-selector.js.map +1 -1
- package/dist/src/cli/helpers/import-strategy-prompter.d.ts +13 -2
- package/dist/src/cli/helpers/import-strategy-prompter.d.ts.map +1 -1
- package/dist/src/cli/helpers/import-strategy-prompter.js +84 -11
- package/dist/src/cli/helpers/import-strategy-prompter.js.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.d.ts +14 -0
- package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/repository-setup.js +259 -10
- package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Similar to github-repo-selector.ts, provides functionality to:
|
|
7
7
|
* - Select area paths by pattern (glob)
|
|
8
|
+
* - Select area paths by regex
|
|
8
9
|
* - Select all area paths from a project
|
|
9
10
|
* - Select explicit list of area paths
|
|
10
11
|
* - Preview selection before confirmation
|
|
@@ -16,8 +17,9 @@ export interface ADOAreaPath {
|
|
|
16
17
|
}
|
|
17
18
|
export interface AreaSelectionConfig {
|
|
18
19
|
areaPaths: string[];
|
|
19
|
-
selectionStrategy: 'all' | 'pattern' | 'explicit';
|
|
20
|
+
selectionStrategy: 'all' | 'pattern-glob' | 'pattern-regex' | 'explicit' | 'manual-entry';
|
|
20
21
|
pattern?: string;
|
|
22
|
+
isRegex?: boolean;
|
|
21
23
|
projectName?: string;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
@@ -25,6 +27,14 @@ export interface AreaSelectionConfig {
|
|
|
25
27
|
* Matches against the leaf name (last segment of path)
|
|
26
28
|
*/
|
|
27
29
|
export declare function filterAreaPathsByPattern(areas: ADOAreaPath[], pattern: string): ADOAreaPath[];
|
|
30
|
+
/**
|
|
31
|
+
* Filter area paths by regex pattern
|
|
32
|
+
* Matches against the leaf name (last segment of path)
|
|
33
|
+
*/
|
|
34
|
+
export declare function filterAreaPathsByRegex(areas: ADOAreaPath[], pattern: string): {
|
|
35
|
+
items: ADOAreaPath[];
|
|
36
|
+
error?: string;
|
|
37
|
+
};
|
|
28
38
|
/**
|
|
29
39
|
* Show area path preview table
|
|
30
40
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado-area-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/ado-area-selector.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ado-area-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/ado-area-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,KAAK,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,cAAc,CAAC;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAO7F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAWtH;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAqB9D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAKhE;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,WAAW,EAAE,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAmNrC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Similar to github-repo-selector.ts, provides functionality to:
|
|
7
7
|
* - Select area paths by pattern (glob)
|
|
8
|
+
* - Select area paths by regex
|
|
8
9
|
* - Select all area paths from a project
|
|
9
10
|
* - Select explicit list of area paths
|
|
10
11
|
* - Preview selection before confirmation
|
|
@@ -12,16 +13,36 @@
|
|
|
12
13
|
import { select, input, confirm, checkbox } from '@inquirer/prompts';
|
|
13
14
|
import chalk from 'chalk';
|
|
14
15
|
import { minimatch } from 'minimatch';
|
|
16
|
+
import { parsePatternShortcut, validateRegex } from './selection-strategy.js';
|
|
15
17
|
/**
|
|
16
18
|
* Filter area paths by glob pattern
|
|
17
19
|
* Matches against the leaf name (last segment of path)
|
|
18
20
|
*/
|
|
19
21
|
export function filterAreaPathsByPattern(areas, pattern) {
|
|
22
|
+
// Parse shortcuts (starts:, ends:, contains:)
|
|
23
|
+
const parsedPattern = parsePatternShortcut(pattern);
|
|
20
24
|
return areas.filter(area => {
|
|
21
25
|
// Match against leaf name only
|
|
22
|
-
return minimatch(area.name,
|
|
26
|
+
return minimatch(area.name, parsedPattern, { nocase: true });
|
|
23
27
|
});
|
|
24
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Filter area paths by regex pattern
|
|
31
|
+
* Matches against the leaf name (last segment of path)
|
|
32
|
+
*/
|
|
33
|
+
export function filterAreaPathsByRegex(areas, pattern) {
|
|
34
|
+
try {
|
|
35
|
+
const regex = new RegExp(pattern, 'i'); // Case-insensitive
|
|
36
|
+
const matched = areas.filter(area => regex.test(area.name));
|
|
37
|
+
return { items: matched };
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return {
|
|
41
|
+
items: [],
|
|
42
|
+
error: error instanceof Error ? error.message : String(error),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
25
46
|
/**
|
|
26
47
|
* Show area path preview table
|
|
27
48
|
*/
|
|
@@ -76,45 +97,99 @@ export async function selectAreaPaths(allAreaPaths, projectName) {
|
|
|
76
97
|
console.log(chalk.yellow('⚠️ No area paths found in this project.\n'));
|
|
77
98
|
return null;
|
|
78
99
|
}
|
|
79
|
-
// Prompt for selection strategy
|
|
100
|
+
// Prompt for selection strategy - unified with other platforms
|
|
80
101
|
const strategyChoices = [
|
|
81
|
-
{
|
|
82
|
-
|
|
83
|
-
|
|
102
|
+
{
|
|
103
|
+
name: `${chalk.green('✓')} All ${chalk.gray(`- Import all ${allAreaPaths.length} area paths`)}`,
|
|
104
|
+
value: 'all',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: `Pattern (glob) ${chalk.gray('- Match by pattern (e.g., "*-Platform", "*-Service")')}`,
|
|
108
|
+
value: 'pattern-glob',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: `Pattern (regex) ${chalk.gray('- Regular expression (e.g., "^Platform-.*$")')}`,
|
|
112
|
+
value: 'pattern-regex',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
name: `Select specific ${chalk.gray('- Choose from list (checkbox)')}`,
|
|
116
|
+
value: 'explicit',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: `Manual entry ${chalk.gray('- Enter names directly (comma-separated)')}`,
|
|
120
|
+
value: 'manual-entry',
|
|
121
|
+
},
|
|
84
122
|
];
|
|
85
123
|
const strategy = await select({
|
|
86
124
|
message: 'How do you want to select area paths?',
|
|
87
|
-
choices: strategyChoices
|
|
125
|
+
choices: strategyChoices,
|
|
126
|
+
default: 'all',
|
|
88
127
|
});
|
|
89
128
|
let selectedAreas = [];
|
|
90
129
|
let selectionConfig = {
|
|
91
130
|
areaPaths: [],
|
|
92
131
|
selectionStrategy: strategy,
|
|
93
|
-
projectName
|
|
132
|
+
projectName,
|
|
94
133
|
};
|
|
95
134
|
switch (strategy) {
|
|
96
135
|
case 'all': {
|
|
97
136
|
selectedAreas = allAreaPaths;
|
|
98
137
|
break;
|
|
99
138
|
}
|
|
100
|
-
case 'pattern': {
|
|
139
|
+
case 'pattern-glob': {
|
|
101
140
|
// Show examples based on actual area path names
|
|
102
141
|
const exampleNames = allAreaPaths.slice(0, 3).map(a => a.name);
|
|
103
142
|
const exampleHint = exampleNames.length > 0
|
|
104
|
-
? ` (
|
|
143
|
+
? ` (examples: ${exampleNames.join(', ')}...)`
|
|
105
144
|
: '';
|
|
145
|
+
console.log(chalk.gray('\n 💡 Examples: "*-Platform", "*-Service", "Team-*"'));
|
|
146
|
+
console.log(chalk.gray(' 💡 Shortcuts: "starts: Team-", "ends: -Platform", "contains: Core"\n'));
|
|
106
147
|
const pattern = await input({
|
|
107
148
|
message: `Enter pattern${exampleHint}:`,
|
|
108
|
-
validate: (value) => value.trim() ? true : 'Pattern is required'
|
|
149
|
+
validate: (value) => value.trim() ? true : 'Pattern is required',
|
|
109
150
|
});
|
|
110
151
|
selectedAreas = filterAreaPathsByPattern(allAreaPaths, pattern.trim());
|
|
111
|
-
selectionConfig.pattern = pattern.trim();
|
|
152
|
+
selectionConfig.pattern = parsePatternShortcut(pattern.trim());
|
|
112
153
|
if (selectedAreas.length === 0) {
|
|
113
154
|
console.log(chalk.yellow(`\n⚠️ No area paths match pattern "${pattern}"\n`));
|
|
114
|
-
// Offer to try again or select manually
|
|
115
155
|
const tryAgain = await confirm({
|
|
116
156
|
message: 'Try a different pattern?',
|
|
117
|
-
default: true
|
|
157
|
+
default: true,
|
|
158
|
+
});
|
|
159
|
+
if (tryAgain) {
|
|
160
|
+
return selectAreaPaths(allAreaPaths, projectName);
|
|
161
|
+
}
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
case 'pattern-regex': {
|
|
167
|
+
console.log(chalk.gray('\n 💡 Examples: "^Platform-", ".*-Service$", "^Team-\\d+$"\n'));
|
|
168
|
+
const pattern = await input({
|
|
169
|
+
message: 'Enter regex pattern:',
|
|
170
|
+
validate: (value) => {
|
|
171
|
+
if (!value.trim())
|
|
172
|
+
return 'Pattern is required';
|
|
173
|
+
const validation = validateRegex(value.trim());
|
|
174
|
+
if (validation !== true) {
|
|
175
|
+
return `Invalid regular expression: ${validation}`;
|
|
176
|
+
}
|
|
177
|
+
return true;
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
const regexResult = filterAreaPathsByRegex(allAreaPaths, pattern.trim());
|
|
181
|
+
if (regexResult.error) {
|
|
182
|
+
console.log(chalk.red(`\n❌ Invalid regex: ${regexResult.error}\n`));
|
|
183
|
+
return null;
|
|
184
|
+
}
|
|
185
|
+
selectedAreas = regexResult.items;
|
|
186
|
+
selectionConfig.pattern = pattern.trim();
|
|
187
|
+
selectionConfig.isRegex = true;
|
|
188
|
+
if (selectedAreas.length === 0) {
|
|
189
|
+
console.log(chalk.yellow(`\n⚠️ No area paths match regex "${pattern}"\n`));
|
|
190
|
+
const tryAgain = await confirm({
|
|
191
|
+
message: 'Try a different pattern?',
|
|
192
|
+
default: true,
|
|
118
193
|
});
|
|
119
194
|
if (tryAgain) {
|
|
120
195
|
return selectAreaPaths(allAreaPaths, projectName);
|
|
@@ -126,15 +201,15 @@ export async function selectAreaPaths(allAreaPaths, projectName) {
|
|
|
126
201
|
case 'explicit': {
|
|
127
202
|
// Use checkbox for explicit selection
|
|
128
203
|
const areaChoices = allAreaPaths.map(a => ({
|
|
129
|
-
name: a.path
|
|
204
|
+
name: `${a.name} ${chalk.gray(`(${a.path})`)}`,
|
|
130
205
|
value: a,
|
|
131
|
-
checked: false
|
|
206
|
+
checked: false,
|
|
132
207
|
}));
|
|
133
208
|
selectedAreas = await checkbox({
|
|
134
|
-
message: 'Select area paths (space to
|
|
209
|
+
message: 'Select area paths (space to toggle, enter to confirm):',
|
|
135
210
|
choices: areaChoices,
|
|
136
211
|
pageSize: 15,
|
|
137
|
-
required: true
|
|
212
|
+
required: true,
|
|
138
213
|
});
|
|
139
214
|
if (selectedAreas.length === 0) {
|
|
140
215
|
console.log(chalk.yellow('\n⚠️ No area paths selected.\n'));
|
|
@@ -142,12 +217,43 @@ export async function selectAreaPaths(allAreaPaths, projectName) {
|
|
|
142
217
|
}
|
|
143
218
|
break;
|
|
144
219
|
}
|
|
220
|
+
case 'manual-entry': {
|
|
221
|
+
console.log(chalk.gray('\n 💡 Enter area path names separated by commas'));
|
|
222
|
+
console.log(chalk.gray(' 💡 Example: "Platform, Service, Database"\n'));
|
|
223
|
+
const entryInput = await input({
|
|
224
|
+
message: 'Enter area path names (comma-separated):',
|
|
225
|
+
validate: (value) => value.trim() ? true : 'At least one entry is required',
|
|
226
|
+
});
|
|
227
|
+
// Parse comma-separated entries
|
|
228
|
+
const entries = entryInput.split(',').map(s => s.trim()).filter(Boolean);
|
|
229
|
+
const entrySet = new Set(entries.map(e => e.toLowerCase()));
|
|
230
|
+
// Match against available area paths
|
|
231
|
+
selectedAreas = allAreaPaths.filter(area => entrySet.has(area.name.toLowerCase()));
|
|
232
|
+
// Report not found entries
|
|
233
|
+
const foundNames = new Set(selectedAreas.map(a => a.name.toLowerCase()));
|
|
234
|
+
const notFoundEntries = entries.filter(e => !foundNames.has(e.toLowerCase()));
|
|
235
|
+
if (notFoundEntries.length > 0) {
|
|
236
|
+
console.log(chalk.yellow(`\n⚠️ Not found: ${notFoundEntries.join(', ')}`));
|
|
237
|
+
}
|
|
238
|
+
if (selectedAreas.length === 0) {
|
|
239
|
+
console.log(chalk.yellow('\n⚠️ No matching area paths found.\n'));
|
|
240
|
+
const tryAgain = await confirm({
|
|
241
|
+
message: 'Try again?',
|
|
242
|
+
default: true,
|
|
243
|
+
});
|
|
244
|
+
if (tryAgain) {
|
|
245
|
+
return selectAreaPaths(allAreaPaths, projectName);
|
|
246
|
+
}
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
145
251
|
}
|
|
146
252
|
// Show preview and confirm
|
|
147
253
|
showAreaPathPreview(selectedAreas);
|
|
148
254
|
const confirmed = await confirm({
|
|
149
255
|
message: `Use these ${selectedAreas.length} area paths?`,
|
|
150
|
-
default: true
|
|
256
|
+
default: true,
|
|
151
257
|
});
|
|
152
258
|
if (!confirmed) {
|
|
153
259
|
console.log(chalk.gray('\n✓ Area path selection cancelled\n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ado-area-selector.js","sourceRoot":"","sources":["../../../../src/cli/helpers/ado-area-selector.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ado-area-selector.js","sourceRoot":"","sources":["../../../../src/cli/helpers/ado-area-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAgB9E;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAoB,EAAE,OAAe;IAC5E,8CAA8C;IAC9C,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzB,+BAA+B;QAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,OAAe;IAC1E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;QAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE;YACpC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtC,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,GAAG,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,IAAI,EAAE,IAAI;KACX,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAA2B,EAC3B,WAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,YAAY,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;IAE7E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,MAAM,eAAe,GAA6E;QAChG;YACE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,gBAAgB,YAAY,CAAC,MAAM,aAAa,CAAC,EAAE;YAC/F,KAAK,EAAE,KAAK;SACb;QACD;YACE,IAAI,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,EAAE;YAC5F,KAAK,EAAE,cAAc;SACtB;QACD;YACE,IAAI,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,EAAE;YACrF,KAAK,EAAE,eAAe;SACvB;QACD;YACE,IAAI,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,EAAE;YACtE,KAAK,EAAE,UAAU;SAClB;QACD;YACE,IAAI,EAAE,gBAAgB,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,EAAE;YAC9E,KAAK,EAAE,cAAc;SACtB;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,aAAa,GAAkB,EAAE,CAAC;IACtC,IAAI,eAAe,GAAwB;QACzC,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,QAAQ;QAC3B,WAAW;KACZ,CAAC;IAEF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,aAAa,GAAG,YAAY,CAAC;YAC7B,MAAM;QACR,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,gDAAgD;YAChD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;gBACzC,CAAC,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAC9C,CAAC,CAAC,EAAE,CAAC;YAEP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC,CAAC;YAEnG,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;gBAC1B,OAAO,EAAE,gBAAgB,WAAW,GAAG;gBACvC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;aACzE,CAAC,CAAC;YAEH,aAAa,GAAG,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACvE,eAAe,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAE/D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,OAAO,KAAK,CAAC,CAAC,CAAC;gBAE9E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;oBAC7B,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;YAE1F,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;gBAC1B,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAAE,OAAO,qBAAqB,CAAC;oBAChD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,OAAO,+BAA+B,UAAU,EAAE,CAAC;oBACrD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;YAClC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YACzC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAE/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,OAAO,KAAK,CAAC,CAAC,CAAC;gBAE5E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;oBAC7B,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,sCAAsC;YACtC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC9C,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,KAAK;aACf,CAAC,CAAC,CAAC;YAEJ,aAAa,GAAG,MAAM,QAAQ,CAAC;gBAC7B,OAAO,EAAE,wDAAwD;gBACjE,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAE1E,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC;gBAC7B,OAAO,EAAE,0CAA0C;gBACnD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gCAAgC;aACpF,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE5D,qCAAqC;YACrC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAEnF,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAE9E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;gBAEnE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;oBAC7B,OAAO,EAAE,YAAY;oBACrB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,aAAa,aAAa,CAAC,MAAM,cAAc;QACxD,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,sFAAsF;IACtF,eAAe,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;IAE1F,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Provides functionality to:
|
|
7
7
|
* - Detect user's GitHub organizations and personal repos
|
|
8
|
-
* - Prompt for repository selection strategy (all org, all personal, pattern, explicit list)
|
|
9
|
-
* - Filter repositories by pattern (glob)
|
|
8
|
+
* - Prompt for repository selection strategy (all org, all personal, pattern glob, pattern regex, explicit list)
|
|
9
|
+
* - Filter repositories by pattern (glob or regex)
|
|
10
10
|
* - Validate repository access
|
|
11
11
|
* - Save selection to config
|
|
12
12
|
*/
|
|
@@ -24,8 +24,9 @@ export interface GitHubRepo {
|
|
|
24
24
|
}
|
|
25
25
|
export interface RepoSelectionConfig {
|
|
26
26
|
repositories: string[];
|
|
27
|
-
selectionStrategy: 'all-org' | 'all-personal' | 'pattern' | 'explicit';
|
|
27
|
+
selectionStrategy: 'all-org' | 'all-personal' | 'pattern-glob' | 'pattern-regex' | 'explicit';
|
|
28
28
|
pattern?: string;
|
|
29
|
+
isRegex?: boolean;
|
|
29
30
|
organizationName?: string;
|
|
30
31
|
}
|
|
31
32
|
/**
|
|
@@ -44,6 +45,13 @@ export declare function fetchPersonalRepositories(octokit: Octokit): Promise<Git
|
|
|
44
45
|
* Filter repositories by glob pattern
|
|
45
46
|
*/
|
|
46
47
|
export declare function filterRepositoriesByPattern(repos: GitHubRepo[], pattern: string): GitHubRepo[];
|
|
48
|
+
/**
|
|
49
|
+
* Filter repositories by regex pattern
|
|
50
|
+
*/
|
|
51
|
+
export declare function filterRepositoriesByRegex(repos: GitHubRepo[], pattern: string): {
|
|
52
|
+
items: GitHubRepo[];
|
|
53
|
+
error?: string;
|
|
54
|
+
};
|
|
47
55
|
/**
|
|
48
56
|
* Validate repository access (checks if user has at least read access)
|
|
49
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"github-repo-selector.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,SAAS,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,CAAC;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUhF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,EAAE,CAAC,CAuBvB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAuBvF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,CAO9F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAWvH;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAqB/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA0OrC"}
|
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Provides functionality to:
|
|
7
7
|
* - Detect user's GitHub organizations and personal repos
|
|
8
|
-
* - Prompt for repository selection strategy (all org, all personal, pattern, explicit list)
|
|
9
|
-
* - Filter repositories by pattern (glob)
|
|
8
|
+
* - Prompt for repository selection strategy (all org, all personal, pattern glob, pattern regex, explicit list)
|
|
9
|
+
* - Filter repositories by pattern (glob or regex)
|
|
10
10
|
* - Validate repository access
|
|
11
11
|
* - Save selection to config
|
|
12
12
|
*/
|
|
13
13
|
import { select, input, confirm } from '@inquirer/prompts';
|
|
14
14
|
import chalk from 'chalk';
|
|
15
15
|
import { minimatch } from 'minimatch';
|
|
16
|
+
import { parsePatternShortcut, validateRegex } from './selection-strategy.js';
|
|
16
17
|
/**
|
|
17
18
|
* Fetch user's organizations
|
|
18
19
|
*/
|
|
@@ -82,11 +83,29 @@ export async function fetchPersonalRepositories(octokit) {
|
|
|
82
83
|
* Filter repositories by glob pattern
|
|
83
84
|
*/
|
|
84
85
|
export function filterRepositoriesByPattern(repos, pattern) {
|
|
86
|
+
// Parse shortcuts (starts:, ends:, contains:)
|
|
87
|
+
const parsedPattern = parsePatternShortcut(pattern);
|
|
85
88
|
return repos.filter(repo => {
|
|
86
89
|
// Match against repo name only
|
|
87
|
-
return minimatch(repo.name,
|
|
90
|
+
return minimatch(repo.name, parsedPattern, { nocase: true });
|
|
88
91
|
});
|
|
89
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Filter repositories by regex pattern
|
|
95
|
+
*/
|
|
96
|
+
export function filterRepositoriesByRegex(repos, pattern) {
|
|
97
|
+
try {
|
|
98
|
+
const regex = new RegExp(pattern, 'i'); // Case-insensitive
|
|
99
|
+
const matched = repos.filter(repo => regex.test(repo.name));
|
|
100
|
+
return { items: matched };
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
return {
|
|
104
|
+
items: [],
|
|
105
|
+
error: error instanceof Error ? error.message : String(error),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
90
109
|
/**
|
|
91
110
|
* Validate repository access (checks if user has at least read access)
|
|
92
111
|
*/
|
|
@@ -128,21 +147,39 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
128
147
|
console.log(chalk.blue('\n🔗 GitHub Multi-Repository Selection\n'));
|
|
129
148
|
// Step 1: Detect organizations
|
|
130
149
|
const orgs = await fetchUserOrganizations(octokit);
|
|
131
|
-
// Step 2: Prompt for selection strategy
|
|
150
|
+
// Step 2: Prompt for selection strategy - unified with ADO/JIRA
|
|
132
151
|
const strategyChoices = [
|
|
133
|
-
{
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
152
|
+
{
|
|
153
|
+
name: `${chalk.green('✓')} All from organization ${chalk.gray('- Import all repos from an org')}`,
|
|
154
|
+
value: 'all-org',
|
|
155
|
+
disabled: orgs.length === 0 ? 'No organizations found' : false,
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
name: `All personal ${chalk.gray('- Import all your personal repos')}`,
|
|
159
|
+
value: 'all-personal',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: `Pattern (glob) ${chalk.gray('- Match by pattern (e.g., "ec-*", "*-backend")')}`,
|
|
163
|
+
value: 'pattern-glob',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: `Pattern (regex) ${chalk.gray('- Regular expression (e.g., "^ec-.*$")')}`,
|
|
167
|
+
value: 'pattern-regex',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
name: `Manual entry ${chalk.gray('- Enter repo names directly')}`,
|
|
171
|
+
value: 'explicit',
|
|
172
|
+
},
|
|
137
173
|
];
|
|
138
174
|
const strategy = await select({
|
|
139
175
|
message: 'How do you want to select repositories?',
|
|
140
|
-
choices: strategyChoices
|
|
176
|
+
choices: strategyChoices,
|
|
177
|
+
default: orgs.length > 0 ? 'all-org' : 'all-personal',
|
|
141
178
|
});
|
|
142
179
|
let selectedRepos = [];
|
|
143
180
|
let selectionConfig = {
|
|
144
181
|
repositories: [],
|
|
145
|
-
selectionStrategy: strategy
|
|
182
|
+
selectionStrategy: strategy,
|
|
146
183
|
};
|
|
147
184
|
// Step 3: Execute strategy
|
|
148
185
|
switch (strategy) {
|
|
@@ -150,7 +187,7 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
150
187
|
// Prompt to select organization
|
|
151
188
|
const selectedOrg = await select({
|
|
152
189
|
message: 'Select organization:',
|
|
153
|
-
choices: orgs.map(org => ({ name: org, value: org }))
|
|
190
|
+
choices: orgs.map(org => ({ name: org, value: org })),
|
|
154
191
|
});
|
|
155
192
|
console.log(chalk.gray(`\n⏳ Fetching repositories from ${selectedOrg}...\n`));
|
|
156
193
|
selectedRepos = await fetchOrgRepositories(octokit, selectedOrg);
|
|
@@ -162,15 +199,15 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
162
199
|
selectedRepos = await fetchPersonalRepositories(octokit);
|
|
163
200
|
break;
|
|
164
201
|
}
|
|
165
|
-
case 'pattern': {
|
|
202
|
+
case 'pattern-glob': {
|
|
166
203
|
// First, get source (org or personal)
|
|
167
204
|
const sourceChoices = [
|
|
168
205
|
{ name: 'Personal repositories', value: 'personal' },
|
|
169
|
-
...orgs.map(org => ({ name: `Organization: ${org}`, value: `org:${org}` }))
|
|
206
|
+
...orgs.map(org => ({ name: `Organization: ${org}`, value: `org:${org}` })),
|
|
170
207
|
];
|
|
171
208
|
const source = await select({
|
|
172
209
|
message: 'Select repository source:',
|
|
173
|
-
choices: sourceChoices
|
|
210
|
+
choices: sourceChoices,
|
|
174
211
|
});
|
|
175
212
|
let allRepos = [];
|
|
176
213
|
if (source === 'personal') {
|
|
@@ -183,23 +220,92 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
183
220
|
allRepos = await fetchOrgRepositories(octokit, orgName);
|
|
184
221
|
selectionConfig.organizationName = orgName;
|
|
185
222
|
}
|
|
223
|
+
// Show pattern hints
|
|
224
|
+
console.log(chalk.gray('\n💡 Examples: "ec-*", "*-backend", "microservice-*"'));
|
|
225
|
+
console.log(chalk.gray('💡 Shortcuts: "starts: ec-", "ends: -api", "contains: core"\n'));
|
|
186
226
|
// Prompt for pattern
|
|
187
227
|
const pattern = await input({
|
|
188
|
-
message: 'Enter pattern
|
|
189
|
-
validate: (value) => value.trim() ? true : 'Pattern is required'
|
|
228
|
+
message: 'Enter pattern:',
|
|
229
|
+
validate: (value) => value.trim() ? true : 'Pattern is required',
|
|
190
230
|
});
|
|
191
231
|
selectedRepos = filterRepositoriesByPattern(allRepos, pattern.trim());
|
|
192
|
-
selectionConfig.pattern = pattern.trim();
|
|
232
|
+
selectionConfig.pattern = parsePatternShortcut(pattern.trim());
|
|
193
233
|
if (selectedRepos.length === 0) {
|
|
194
234
|
console.log(chalk.yellow(`\n⚠️ No repositories match pattern "${pattern}"\n`));
|
|
235
|
+
const retry = await confirm({
|
|
236
|
+
message: 'Try a different pattern?',
|
|
237
|
+
default: true,
|
|
238
|
+
});
|
|
239
|
+
if (retry) {
|
|
240
|
+
return selectRepositories(octokit, githubToken);
|
|
241
|
+
}
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
case 'pattern-regex': {
|
|
247
|
+
// First, get source (org or personal)
|
|
248
|
+
const sourceChoices = [
|
|
249
|
+
{ name: 'Personal repositories', value: 'personal' },
|
|
250
|
+
...orgs.map(org => ({ name: `Organization: ${org}`, value: `org:${org}` })),
|
|
251
|
+
];
|
|
252
|
+
const source = await select({
|
|
253
|
+
message: 'Select repository source:',
|
|
254
|
+
choices: sourceChoices,
|
|
255
|
+
});
|
|
256
|
+
let allRepos = [];
|
|
257
|
+
if (source === 'personal') {
|
|
258
|
+
console.log(chalk.gray('\n⏳ Fetching your personal repositories...\n'));
|
|
259
|
+
allRepos = await fetchPersonalRepositories(octokit);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
const orgName = source.replace('org:', '');
|
|
263
|
+
console.log(chalk.gray(`\n⏳ Fetching repositories from ${orgName}...\n`));
|
|
264
|
+
allRepos = await fetchOrgRepositories(octokit, orgName);
|
|
265
|
+
selectionConfig.organizationName = orgName;
|
|
266
|
+
}
|
|
267
|
+
// Show regex hints
|
|
268
|
+
console.log(chalk.gray('\n💡 Examples: "^ec-", ".*-backend$", "^microservice-\\d+$"\n'));
|
|
269
|
+
// Prompt for regex pattern
|
|
270
|
+
const pattern = await input({
|
|
271
|
+
message: 'Enter regex pattern:',
|
|
272
|
+
validate: (value) => {
|
|
273
|
+
if (!value.trim())
|
|
274
|
+
return 'Pattern is required';
|
|
275
|
+
const validation = validateRegex(value.trim());
|
|
276
|
+
if (validation !== true) {
|
|
277
|
+
return `Invalid regular expression: ${validation}`;
|
|
278
|
+
}
|
|
279
|
+
return true;
|
|
280
|
+
},
|
|
281
|
+
});
|
|
282
|
+
const regexResult = filterRepositoriesByRegex(allRepos, pattern.trim());
|
|
283
|
+
if (regexResult.error) {
|
|
284
|
+
console.log(chalk.red(`\n❌ Invalid regex: ${regexResult.error}\n`));
|
|
285
|
+
return null;
|
|
286
|
+
}
|
|
287
|
+
selectedRepos = regexResult.items;
|
|
288
|
+
selectionConfig.pattern = pattern.trim();
|
|
289
|
+
selectionConfig.isRegex = true;
|
|
290
|
+
if (selectedRepos.length === 0) {
|
|
291
|
+
console.log(chalk.yellow(`\n⚠️ No repositories match regex "${pattern}"\n`));
|
|
292
|
+
const retry = await confirm({
|
|
293
|
+
message: 'Try a different pattern?',
|
|
294
|
+
default: true,
|
|
295
|
+
});
|
|
296
|
+
if (retry) {
|
|
297
|
+
return selectRepositories(octokit, githubToken);
|
|
298
|
+
}
|
|
195
299
|
return null;
|
|
196
300
|
}
|
|
197
301
|
break;
|
|
198
302
|
}
|
|
199
303
|
case 'explicit': {
|
|
304
|
+
console.log(chalk.gray('\n💡 Enter repository names separated by commas'));
|
|
305
|
+
console.log(chalk.gray('💡 Example: "repo1, repo2, repo3"\n'));
|
|
200
306
|
const repoList = await input({
|
|
201
|
-
message: 'Enter repository names (comma-separated
|
|
202
|
-
validate: (value) => value.trim() ? true : 'At least one repository is required'
|
|
307
|
+
message: 'Enter repository names (comma-separated):',
|
|
308
|
+
validate: (value) => value.trim() ? true : 'At least one repository is required',
|
|
203
309
|
});
|
|
204
310
|
const repoNames = repoList.split(',').map(s => s.trim()).filter(Boolean);
|
|
205
311
|
// Fetch authenticated user to get owner name
|
|
@@ -227,7 +333,7 @@ export async function selectRepositories(octokit, githubToken) {
|
|
|
227
333
|
showRepositoryPreview(selectedRepos);
|
|
228
334
|
const confirmed = await confirm({
|
|
229
335
|
message: `Connect these ${selectedRepos.length} repositories?`,
|
|
230
|
-
default: true
|
|
336
|
+
default: true,
|
|
231
337
|
});
|
|
232
338
|
if (!confirmed) {
|
|
233
339
|
console.log(chalk.gray('\n✓ Repository selection cancelled\n'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-repo-selector.js","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-repo-selector.js","sourceRoot":"","sources":["../../../../src/cli/helpers/github-repo-selector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAsB9E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAgB;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACjE,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1H,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAgB,EAChB,GAAW;IAEX,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC9C,GAAG;gBACH,QAAQ,EAAE,GAAG;gBACb,IAAI;aACL,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,GAAG,IAAoB,CAAC,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,kCAAkC;YACjE,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,GAAG,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjI,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAgB;IAC9D,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;gBAC5D,WAAW,EAAE,OAAO;gBACpB,QAAQ,EAAE,GAAG;gBACb,IAAI;aACL,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,GAAG,IAAoB,CAAC,CAAC;YACpC,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC;YAC9B,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3H,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAmB,EAAE,OAAe;IAC9E,8CAA8C;IAC9C,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzB,+BAA+B;QAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAmB,EAAE,OAAe;IAC5E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,mBAAmB;QAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAgB,EAChB,KAAa,EACb,IAAY;IAEZ,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEtD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;IAC7K,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7B,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAEnE,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,GAAG,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,GAAG,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,WAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAEpE,+BAA+B;IAC/B,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEnD,gEAAgE;IAChE,MAAM,eAAe,GAA0G;QAC7H;YACE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE;YACjG,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK;SAC/D;QACD;YACE,IAAI,EAAE,gBAAgB,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,EAAE;YACtE,KAAK,EAAE,cAAc;SACtB;QACD;YACE,IAAI,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,EAAE;YACtF,KAAK,EAAE,cAAc;SACtB;QACD;YACE,IAAI,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,EAAE;YAC/E,KAAK,EAAE,eAAe;SACvB;QACD;YACE,IAAI,EAAE,gBAAgB,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE;YACjE,KAAK,EAAE,UAAU;SAClB;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,eAAe;QACxB,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;KACtD,CAAC,CAAC;IAEH,IAAI,aAAa,GAAiB,EAAE,CAAC;IACrC,IAAI,eAAe,GAAwB;QACzC,YAAY,EAAE,EAAE;QAChB,iBAAiB,EAAE,QAAQ;KAC5B,CAAC;IAEF,2BAA2B;IAC3B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,gCAAgC;YAChC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC;gBAC/B,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;aACtD,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,WAAW,OAAO,CAAC,CAAC,CAAC;YAC9E,aAAa,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACjE,eAAe,CAAC,gBAAgB,GAAG,WAAW,CAAC;YAC/C,MAAM;QACR,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACxE,aAAa,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM;QACR,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,sCAAsC;YACtC,MAAM,aAAa,GAAG;gBACpB,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,UAAU,EAAE;gBACpD,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;aAC5E,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;gBAC1B,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAiB,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACxE,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,OAAO,OAAO,CAAC,CAAC,CAAC;gBAC1E,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxD,eAAe,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAC7C,CAAC;YAED,qBAAqB;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAEzF,qBAAqB;YACrB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;gBAC1B,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;aACzE,CAAC,CAAC;YAEH,aAAa,GAAG,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,eAAe,CAAC,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAE/D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wCAAwC,OAAO,KAAK,CAAC,CAAC,CAAC;gBAEhF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;oBAC1B,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,sCAAsC;YACtC,MAAM,aAAa,GAAG;gBACpB,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,UAAU,EAAE;gBACpD,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;aAC5E,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;gBAC1B,OAAO,EAAE,2BAA2B;gBACpC,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC;YAEH,IAAI,QAAQ,GAAiB,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACxE,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,OAAO,OAAO,CAAC,CAAC,CAAC;gBAC1E,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxD,eAAe,CAAC,gBAAgB,GAAG,OAAO,CAAC;YAC7C,CAAC;YAED,mBAAmB;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC,CAAC;YAEzF,2BAA2B;YAC3B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;gBAC1B,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;wBAAE,OAAO,qBAAqB,CAAC;oBAChD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,OAAO,+BAA+B,UAAU,EAAE,CAAC;oBACrD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxE,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC;YAClC,eAAe,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YACzC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAE/B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,OAAO,KAAK,CAAC,CAAC,CAAC;gBAE9E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;oBAC1B,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAClD,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;gBAC3B,OAAO,EAAE,2CAA2C;gBACpD,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qCAAqC;aACzF,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEzE,6CAA6C;YAC7C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,2BAA2B;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACjE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1E,aAAa,CAAC,IAAI,CAAC,IAAkB,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAErC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;QAC9B,OAAO,EAAE,iBAAiB,aAAa,CAAC,MAAM,gBAAgB;QAC9D,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAoC;IACpC,eAAe,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,eAAe,CAAC,YAAY,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC;IAE/F,OAAO,eAAe,CAAC;AACzB,CAAC"}
|