specweave 0.28.49 → 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.
Files changed (26) hide show
  1. package/dist/src/cli/helpers/ado-area-selector.d.ts +11 -1
  2. package/dist/src/cli/helpers/ado-area-selector.d.ts.map +1 -1
  3. package/dist/src/cli/helpers/ado-area-selector.js +124 -18
  4. package/dist/src/cli/helpers/ado-area-selector.js.map +1 -1
  5. package/dist/src/cli/helpers/github-repo-selector.d.ts +11 -3
  6. package/dist/src/cli/helpers/github-repo-selector.d.ts.map +1 -1
  7. package/dist/src/cli/helpers/github-repo-selector.js +126 -20
  8. package/dist/src/cli/helpers/github-repo-selector.js.map +1 -1
  9. package/dist/src/cli/helpers/import-strategy-prompter.d.ts +13 -2
  10. package/dist/src/cli/helpers/import-strategy-prompter.d.ts.map +1 -1
  11. package/dist/src/cli/helpers/import-strategy-prompter.js +84 -11
  12. package/dist/src/cli/helpers/import-strategy-prompter.js.map +1 -1
  13. package/dist/src/cli/helpers/init/config-detection.d.ts.map +1 -1
  14. package/dist/src/cli/helpers/init/config-detection.js +11 -4
  15. package/dist/src/cli/helpers/init/config-detection.js.map +1 -1
  16. package/dist/src/cli/helpers/init/repository-setup.d.ts +14 -0
  17. package/dist/src/cli/helpers/init/repository-setup.d.ts.map +1 -1
  18. package/dist/src/cli/helpers/init/repository-setup.js +259 -10
  19. package/dist/src/cli/helpers/init/repository-setup.js.map +1 -1
  20. package/dist/src/cli/helpers/init/types.d.ts +9 -0
  21. package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
  22. package/dist/src/cli/helpers/selection-strategy.d.ts +136 -0
  23. package/dist/src/cli/helpers/selection-strategy.d.ts.map +1 -0
  24. package/dist/src/cli/helpers/selection-strategy.js +684 -0
  25. package/dist/src/cli/helpers/selection-strategy.js.map +1 -0
  26. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import chalk from 'chalk';
6
6
  import { select, input } from '@inquirer/prompts';
7
+ import { parsePatternShortcut, validateRegex } from '../selection-strategy.js';
7
8
  /**
8
9
  * Get translated strings for repository setup
9
10
  */
@@ -25,6 +26,26 @@ function getRepoStrings(language) {
25
26
  other: 'Other (GitLab, etc - coming soon)',
26
27
  adoCloneQuestion: 'Enter repo name pattern to clone (e.g., sw-* or leave empty to skip):',
27
28
  adoCloneSkip: 'Skipping repo cloning - you can configure later',
29
+ // New unified selection strings
30
+ adoSelectStrategy: 'How do you want to select repositories to clone?',
31
+ adoAllRepos: 'All',
32
+ adoAllReposDesc: 'Clone all repositories from the project',
33
+ adoPatternGlob: 'Pattern (glob)',
34
+ adoPatternGlobDesc: 'Match by pattern (e.g., "sw-*", "*-backend")',
35
+ adoPatternRegex: 'Pattern (regex)',
36
+ adoPatternRegexDesc: 'Regular expression (e.g., "^sw-.*$")',
37
+ adoSkipOption: 'Skip',
38
+ adoSkipDesc: 'Configure later',
39
+ adoPatternPrompt: 'Enter pattern',
40
+ adoPatternHint: 'Examples: "sw-*", "*-backend", "api-*-service"',
41
+ adoRegexPrompt: 'Enter regex pattern',
42
+ adoRegexHint: 'Examples: "^sw-", ".*-backend$", "^api-\\d+-service$"',
43
+ adoShortcutsHint: 'Shortcuts: "starts: sw-", "ends: -api", "contains: core"',
44
+ adoPatternRequired: 'Pattern is required',
45
+ adoInvalidRegex: 'Invalid regular expression',
46
+ adoSelectedAll: 'All repositories will be cloned',
47
+ adoSelectedPattern: 'Repositories matching pattern "{pattern}" will be cloned',
48
+ adoSelectedRegex: 'Repositories matching regex "{pattern}" will be cloned',
28
49
  },
29
50
  ru: {
30
51
  header: '📦 Хостинг репозитория',
@@ -42,6 +63,26 @@ function getRepoStrings(language) {
42
63
  other: 'Другой (GitLab и т.д. - скоро)',
43
64
  adoCloneQuestion: 'Введите шаблон имени репо для клонирования (напр., sw-* или оставьте пустым):',
44
65
  adoCloneSkip: 'Пропуск клонирования - можно настроить позже',
66
+ // New unified selection strings
67
+ adoSelectStrategy: 'Как вы хотите выбрать репозитории для клонирования?',
68
+ adoAllRepos: 'Все',
69
+ adoAllReposDesc: 'Клонировать все репозитории из проекта',
70
+ adoPatternGlob: 'Шаблон (glob)',
71
+ adoPatternGlobDesc: 'Сопоставление по шаблону (напр., "sw-*", "*-backend")',
72
+ adoPatternRegex: 'Шаблон (regex)',
73
+ adoPatternRegexDesc: 'Регулярное выражение (напр., "^sw-.*$")',
74
+ adoSkipOption: 'Пропустить',
75
+ adoSkipDesc: 'Настроить позже',
76
+ adoPatternPrompt: 'Введите шаблон',
77
+ adoPatternHint: 'Примеры: "sw-*", "*-backend", "api-*-service"',
78
+ adoRegexPrompt: 'Введите регулярное выражение',
79
+ adoRegexHint: 'Примеры: "^sw-", ".*-backend$", "^api-\\d+-service$"',
80
+ adoShortcutsHint: 'Сокращения: "starts: sw-", "ends: -api", "contains: core"',
81
+ adoPatternRequired: 'Шаблон обязателен',
82
+ adoInvalidRegex: 'Неверное регулярное выражение',
83
+ adoSelectedAll: 'Все репозитории будут клонированы',
84
+ adoSelectedPattern: 'Репозитории, соответствующие шаблону "{pattern}", будут клонированы',
85
+ adoSelectedRegex: 'Репозитории, соответствующие regex "{pattern}", будут клонированы',
45
86
  },
46
87
  es: {
47
88
  header: '📦 Alojamiento del repositorio',
@@ -59,6 +100,26 @@ function getRepoStrings(language) {
59
100
  other: 'Otro (GitLab, etc - próximamente)',
60
101
  adoCloneQuestion: 'Ingrese patrón de nombre de repo a clonar (ej., sw-* o deje vacío):',
61
102
  adoCloneSkip: 'Omitiendo clonación - puede configurar después',
103
+ // New unified selection strings
104
+ adoSelectStrategy: '¿Cómo quiere seleccionar repositorios para clonar?',
105
+ adoAllRepos: 'Todos',
106
+ adoAllReposDesc: 'Clonar todos los repositorios del proyecto',
107
+ adoPatternGlob: 'Patrón (glob)',
108
+ adoPatternGlobDesc: 'Coincidir por patrón (ej., "sw-*", "*-backend")',
109
+ adoPatternRegex: 'Patrón (regex)',
110
+ adoPatternRegexDesc: 'Expresión regular (ej., "^sw-.*$")',
111
+ adoSkipOption: 'Omitir',
112
+ adoSkipDesc: 'Configurar después',
113
+ adoPatternPrompt: 'Ingrese patrón',
114
+ adoPatternHint: 'Ejemplos: "sw-*", "*-backend", "api-*-service"',
115
+ adoRegexPrompt: 'Ingrese expresión regular',
116
+ adoRegexHint: 'Ejemplos: "^sw-", ".*-backend$", "^api-\\d+-service$"',
117
+ adoShortcutsHint: 'Atajos: "starts: sw-", "ends: -api", "contains: core"',
118
+ adoPatternRequired: 'El patrón es requerido',
119
+ adoInvalidRegex: 'Expresión regular inválida',
120
+ adoSelectedAll: 'Todos los repositorios serán clonados',
121
+ adoSelectedPattern: 'Repositorios que coincidan con "{pattern}" serán clonados',
122
+ adoSelectedRegex: 'Repositorios que coincidan con regex "{pattern}" serán clonados',
62
123
  },
63
124
  zh: {
64
125
  header: '📦 仓库托管',
@@ -76,6 +137,26 @@ function getRepoStrings(language) {
76
137
  other: '其他(GitLab 等 - 即将推出)',
77
138
  adoCloneQuestion: '输入要克隆的仓库名称模式(例如 sw-* 或留空跳过):',
78
139
  adoCloneSkip: '跳过克隆 - 稍后可以配置',
140
+ // New unified selection strings
141
+ adoSelectStrategy: '您想如何选择要克隆的仓库?',
142
+ adoAllRepos: '全部',
143
+ adoAllReposDesc: '克隆项目中的所有仓库',
144
+ adoPatternGlob: '模式 (glob)',
145
+ adoPatternGlobDesc: '按模式匹配(例如 "sw-*"、"*-backend")',
146
+ adoPatternRegex: '模式 (正则)',
147
+ adoPatternRegexDesc: '正则表达式(例如 "^sw-.*$")',
148
+ adoSkipOption: '跳过',
149
+ adoSkipDesc: '稍后配置',
150
+ adoPatternPrompt: '输入模式',
151
+ adoPatternHint: '示例:"sw-*"、"*-backend"、"api-*-service"',
152
+ adoRegexPrompt: '输入正则表达式',
153
+ adoRegexHint: '示例:"^sw-"、".*-backend$"、"^api-\\d+-service$"',
154
+ adoShortcutsHint: '快捷方式:"starts: sw-"、"ends: -api"、"contains: core"',
155
+ adoPatternRequired: '模式是必需的',
156
+ adoInvalidRegex: '无效的正则表达式',
157
+ adoSelectedAll: '将克隆所有仓库',
158
+ adoSelectedPattern: '匹配模式 "{pattern}" 的仓库将被克隆',
159
+ adoSelectedRegex: '匹配正则 "{pattern}" 的仓库将被克隆',
79
160
  },
80
161
  de: {
81
162
  header: '📦 Repository-Hosting',
@@ -93,6 +174,26 @@ function getRepoStrings(language) {
93
174
  other: 'Andere (GitLab, etc - kommt bald)',
94
175
  adoCloneQuestion: 'Repo-Namensmuster zum Klonen eingeben (z.B. sw-* oder leer lassen):',
95
176
  adoCloneSkip: 'Klonen übersprungen - später konfigurierbar',
177
+ // New unified selection strings
178
+ adoSelectStrategy: 'Wie möchten Sie Repositories zum Klonen auswählen?',
179
+ adoAllRepos: 'Alle',
180
+ adoAllReposDesc: 'Alle Repositories aus dem Projekt klonen',
181
+ adoPatternGlob: 'Muster (glob)',
182
+ adoPatternGlobDesc: 'Nach Muster filtern (z.B. "sw-*", "*-backend")',
183
+ adoPatternRegex: 'Muster (regex)',
184
+ adoPatternRegexDesc: 'Regulärer Ausdruck (z.B. "^sw-.*$")',
185
+ adoSkipOption: 'Überspringen',
186
+ adoSkipDesc: 'Später konfigurieren',
187
+ adoPatternPrompt: 'Muster eingeben',
188
+ adoPatternHint: 'Beispiele: "sw-*", "*-backend", "api-*-service"',
189
+ adoRegexPrompt: 'Regex eingeben',
190
+ adoRegexHint: 'Beispiele: "^sw-", ".*-backend$", "^api-\\d+-service$"',
191
+ adoShortcutsHint: 'Abkürzungen: "starts: sw-", "ends: -api", "contains: core"',
192
+ adoPatternRequired: 'Muster ist erforderlich',
193
+ adoInvalidRegex: 'Ungültiger regulärer Ausdruck',
194
+ adoSelectedAll: 'Alle Repositories werden geklont',
195
+ adoSelectedPattern: 'Repositories mit Muster "{pattern}" werden geklont',
196
+ adoSelectedRegex: 'Repositories mit Regex "{pattern}" werden geklont',
96
197
  },
97
198
  fr: {
98
199
  header: '📦 Hébergement du dépôt',
@@ -110,6 +211,26 @@ function getRepoStrings(language) {
110
211
  other: 'Autre (GitLab, etc - bientôt)',
111
212
  adoCloneQuestion: 'Entrez le modèle de nom de repo à cloner (ex. sw-* ou laissez vide):',
112
213
  adoCloneSkip: 'Clonage ignoré - configurable plus tard',
214
+ // New unified selection strings
215
+ adoSelectStrategy: 'Comment voulez-vous sélectionner les repos à cloner?',
216
+ adoAllRepos: 'Tous',
217
+ adoAllReposDesc: 'Cloner tous les repos du projet',
218
+ adoPatternGlob: 'Modèle (glob)',
219
+ adoPatternGlobDesc: 'Correspondance par modèle (ex., "sw-*", "*-backend")',
220
+ adoPatternRegex: 'Modèle (regex)',
221
+ adoPatternRegexDesc: 'Expression régulière (ex., "^sw-.*$")',
222
+ adoSkipOption: 'Ignorer',
223
+ adoSkipDesc: 'Configurer plus tard',
224
+ adoPatternPrompt: 'Entrez le modèle',
225
+ adoPatternHint: 'Exemples: "sw-*", "*-backend", "api-*-service"',
226
+ adoRegexPrompt: 'Entrez le regex',
227
+ adoRegexHint: 'Exemples: "^sw-", ".*-backend$", "^api-\\d+-service$"',
228
+ adoShortcutsHint: 'Raccourcis: "starts: sw-", "ends: -api", "contains: core"',
229
+ adoPatternRequired: 'Le modèle est requis',
230
+ adoInvalidRegex: 'Expression régulière invalide',
231
+ adoSelectedAll: 'Tous les repos seront clonés',
232
+ adoSelectedPattern: 'Les repos correspondant à "{pattern}" seront clonés',
233
+ adoSelectedRegex: 'Les repos correspondant au regex "{pattern}" seront clonés',
113
234
  },
114
235
  ja: {
115
236
  header: '📦 リポジトリホスティング',
@@ -127,6 +248,26 @@ function getRepoStrings(language) {
127
248
  other: 'その他(GitLabなど - 近日公開)',
128
249
  adoCloneQuestion: 'クローンするリポ名パターンを入力(例: sw-* または空白でスキップ):',
129
250
  adoCloneSkip: 'クローンをスキップ - 後で設定可能',
251
+ // New unified selection strings
252
+ adoSelectStrategy: 'クローンするリポジトリをどのように選択しますか?',
253
+ adoAllRepos: 'すべて',
254
+ adoAllReposDesc: 'プロジェクトのすべてのリポジトリをクローン',
255
+ adoPatternGlob: 'パターン (glob)',
256
+ adoPatternGlobDesc: 'パターンでマッチ(例: "sw-*", "*-backend")',
257
+ adoPatternRegex: 'パターン (正規表現)',
258
+ adoPatternRegexDesc: '正規表現(例: "^sw-.*$")',
259
+ adoSkipOption: 'スキップ',
260
+ adoSkipDesc: '後で設定',
261
+ adoPatternPrompt: 'パターンを入力',
262
+ adoPatternHint: '例: "sw-*", "*-backend", "api-*-service"',
263
+ adoRegexPrompt: '正規表現を入力',
264
+ adoRegexHint: '例: "^sw-", ".*-backend$", "^api-\\d+-service$"',
265
+ adoShortcutsHint: 'ショートカット: "starts: sw-", "ends: -api", "contains: core"',
266
+ adoPatternRequired: 'パターンは必須です',
267
+ adoInvalidRegex: '無効な正規表現',
268
+ adoSelectedAll: 'すべてのリポジトリがクローンされます',
269
+ adoSelectedPattern: '"{pattern}" に一致するリポジトリがクローンされます',
270
+ adoSelectedRegex: '正規表現 "{pattern}" に一致するリポジトリがクローンされます',
130
271
  },
131
272
  ko: {
132
273
  header: '📦 저장소 호스팅',
@@ -144,6 +285,26 @@ function getRepoStrings(language) {
144
285
  other: '기타 (GitLab 등 - 곧 출시)',
145
286
  adoCloneQuestion: '복제할 저장소 이름 패턴 입력 (예: sw-* 또는 비워두기):',
146
287
  adoCloneSkip: '복제 건너뜀 - 나중에 설정 가능',
288
+ // New unified selection strings
289
+ adoSelectStrategy: '복제할 저장소를 어떻게 선택하시겠습니까?',
290
+ adoAllRepos: '모두',
291
+ adoAllReposDesc: '프로젝트의 모든 저장소 복제',
292
+ adoPatternGlob: '패턴 (glob)',
293
+ adoPatternGlobDesc: '패턴으로 매칭 (예: "sw-*", "*-backend")',
294
+ adoPatternRegex: '패턴 (정규식)',
295
+ adoPatternRegexDesc: '정규 표현식 (예: "^sw-.*$")',
296
+ adoSkipOption: '건너뛰기',
297
+ adoSkipDesc: '나중에 설정',
298
+ adoPatternPrompt: '패턴 입력',
299
+ adoPatternHint: '예: "sw-*", "*-backend", "api-*-service"',
300
+ adoRegexPrompt: '정규식 입력',
301
+ adoRegexHint: '예: "^sw-", ".*-backend$", "^api-\\d+-service$"',
302
+ adoShortcutsHint: '단축키: "starts: sw-", "ends: -api", "contains: core"',
303
+ adoPatternRequired: '패턴이 필요합니다',
304
+ adoInvalidRegex: '잘못된 정규 표현식',
305
+ adoSelectedAll: '모든 저장소가 복제됩니다',
306
+ adoSelectedPattern: '"{pattern}" 패턴과 일치하는 저장소가 복제됩니다',
307
+ adoSelectedRegex: '정규식 "{pattern}"과 일치하는 저장소가 복제됩니다',
147
308
  },
148
309
  pt: {
149
310
  header: '📦 Hospedagem do repositório',
@@ -161,6 +322,26 @@ function getRepoStrings(language) {
161
322
  other: 'Outro (GitLab, etc - em breve)',
162
323
  adoCloneQuestion: 'Digite padrão de nome de repo para clonar (ex. sw-* ou deixe vazio):',
163
324
  adoCloneSkip: 'Clonagem ignorada - configurável depois',
325
+ // New unified selection strings
326
+ adoSelectStrategy: 'Como você quer selecionar repositórios para clonar?',
327
+ adoAllRepos: 'Todos',
328
+ adoAllReposDesc: 'Clonar todos os repositórios do projeto',
329
+ adoPatternGlob: 'Padrão (glob)',
330
+ adoPatternGlobDesc: 'Corresponder por padrão (ex., "sw-*", "*-backend")',
331
+ adoPatternRegex: 'Padrão (regex)',
332
+ adoPatternRegexDesc: 'Expressão regular (ex., "^sw-.*$")',
333
+ adoSkipOption: 'Pular',
334
+ adoSkipDesc: 'Configurar depois',
335
+ adoPatternPrompt: 'Digite o padrão',
336
+ adoPatternHint: 'Exemplos: "sw-*", "*-backend", "api-*-service"',
337
+ adoRegexPrompt: 'Digite a regex',
338
+ adoRegexHint: 'Exemplos: "^sw-", ".*-backend$", "^api-\\d+-service$"',
339
+ adoShortcutsHint: 'Atalhos: "starts: sw-", "ends: -api", "contains: core"',
340
+ adoPatternRequired: 'Padrão é obrigatório',
341
+ adoInvalidRegex: 'Expressão regular inválida',
342
+ adoSelectedAll: 'Todos os repositórios serão clonados',
343
+ adoSelectedPattern: 'Repositórios correspondendo a "{pattern}" serão clonados',
344
+ adoSelectedRegex: 'Repositórios correspondendo a regex "{pattern}" serão clonados',
164
345
  },
165
346
  };
166
347
  return strings[language] || strings.en;
@@ -235,20 +416,88 @@ export async function setupRepositoryHosting(options) {
235
416
  else {
236
417
  repositoryHosting = `${provider}-${structure}`;
237
418
  }
238
- // Step 3: For ADO multi-repo, prompt for clone pattern
419
+ // Step 3: For ADO multi-repo, prompt for clone pattern with unified selection
239
420
  let adoClonePattern;
421
+ let adoClonePatternResult;
240
422
  if (provider === 'ado' && isMultiRepo) {
241
- const pattern = await input({
242
- message: strings.adoCloneQuestion,
243
- default: ''
423
+ // Show unified strategy selection
424
+ const strategyChoices = [
425
+ {
426
+ name: `${chalk.green('✓')} ${strings.adoAllRepos} ${chalk.gray(`- ${strings.adoAllReposDesc}`)}`,
427
+ value: 'all',
428
+ },
429
+ {
430
+ name: `${strings.adoPatternGlob} ${chalk.gray(`- ${strings.adoPatternGlobDesc}`)}`,
431
+ value: 'pattern-glob',
432
+ },
433
+ {
434
+ name: `${strings.adoPatternRegex} ${chalk.gray(`- ${strings.adoPatternRegexDesc}`)}`,
435
+ value: 'pattern-regex',
436
+ },
437
+ {
438
+ name: `${strings.adoSkipOption} ${chalk.gray(`- ${strings.adoSkipDesc}`)}`,
439
+ value: 'skip',
440
+ },
441
+ ];
442
+ const strategy = await select({
443
+ message: strings.adoSelectStrategy,
444
+ choices: strategyChoices,
445
+ default: 'all',
244
446
  });
245
- if (pattern.trim()) {
246
- adoClonePattern = pattern.trim();
247
- }
248
- else {
249
- console.log(chalk.gray(` ${strings.adoCloneSkip}`));
447
+ switch (strategy) {
448
+ case 'all': {
449
+ adoClonePattern = '*';
450
+ adoClonePatternResult = { strategy: 'all', pattern: '*' };
451
+ console.log(chalk.green(` ${strings.adoSelectedAll}`));
452
+ break;
453
+ }
454
+ case 'pattern-glob': {
455
+ console.log(chalk.gray(`\n 💡 ${strings.adoPatternHint}`));
456
+ console.log(chalk.gray(` 💡 ${strings.adoShortcutsHint}\n`));
457
+ const pattern = await input({
458
+ message: strings.adoPatternPrompt,
459
+ validate: (value) => {
460
+ if (!value.trim())
461
+ return strings.adoPatternRequired;
462
+ return true;
463
+ },
464
+ });
465
+ // Parse shortcuts (starts:, ends:, contains:)
466
+ const parsedPattern = parsePatternShortcut(pattern.trim());
467
+ adoClonePattern = parsedPattern;
468
+ adoClonePatternResult = { strategy: 'pattern-glob', pattern: parsedPattern };
469
+ const message = strings.adoSelectedPattern.replace('{pattern}', parsedPattern);
470
+ console.log(chalk.green(` ✓ ${message}`));
471
+ break;
472
+ }
473
+ case 'pattern-regex': {
474
+ console.log(chalk.gray(`\n 💡 ${strings.adoRegexHint}\n`));
475
+ const pattern = await input({
476
+ message: strings.adoRegexPrompt,
477
+ validate: (value) => {
478
+ if (!value.trim())
479
+ return strings.adoPatternRequired;
480
+ const validation = validateRegex(value.trim());
481
+ if (validation !== true) {
482
+ return `${strings.adoInvalidRegex}: ${validation}`;
483
+ }
484
+ return true;
485
+ },
486
+ });
487
+ // Store as regex: prefix for downstream processing
488
+ adoClonePattern = `regex:${pattern.trim()}`;
489
+ adoClonePatternResult = { strategy: 'pattern-regex', pattern: pattern.trim(), isRegex: true };
490
+ const message = strings.adoSelectedRegex.replace('{pattern}', pattern.trim());
491
+ console.log(chalk.green(` ✓ ${message}`));
492
+ break;
493
+ }
494
+ case 'skip': {
495
+ adoClonePatternResult = { strategy: 'skip' };
496
+ console.log(chalk.gray(` → ${strings.adoCloneSkip}`));
497
+ break;
498
+ }
250
499
  }
251
500
  }
252
- return { hosting: repositoryHosting, isMultiRepo, adoClonePattern };
501
+ return { hosting: repositoryHosting, isMultiRepo, adoClonePattern, adoClonePatternResult };
253
502
  }
254
503
  //# sourceMappingURL=repository-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository-setup.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository-setup.js","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/repository-setup.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,14 @@ export interface JiraConfig {
46
46
  email?: string;
47
47
  apiToken?: string;
48
48
  }
49
+ /**
50
+ * Azure DevOps project configuration for multi-project mode
51
+ */
52
+ export interface ADOProjectConfig {
53
+ name: string;
54
+ areaPaths?: string[];
55
+ isDefault?: boolean;
56
+ }
49
57
  /**
50
58
  * Azure DevOps configuration detection result
51
59
  */
@@ -56,6 +64,7 @@ export interface ADOConfig {
56
64
  teams?: string[];
57
65
  areaPaths?: string[];
58
66
  strategy?: string;
67
+ projects?: ADOProjectConfig[];
59
68
  }
60
69
  /**
61
70
  * Testing mode configuration
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,YAAY,GACZ,eAAe,GACf,OAAO,GACP,cAAc,GACd,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,QAAQ,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,cAAc,EAAE,OAAO,CAAC;IACxB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,uCAAuC;IACvC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,4EAA4E;IAC5E,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACnC,2EAA2E;IAC3E,sBAAsB,EAAE,OAAO,CAAC;IAChC,6BAA6B;IAC7B,KAAK,EAAE,gBAAgB,CAAC;IACxB,6CAA6C;IAC7C,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/cli/helpers/init/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Unified Selection Strategy Helper
3
+ *
4
+ * Provides consistent selection UI across all platforms (GitHub, JIRA, Azure DevOps)
5
+ * for selecting repositories, projects, area paths, etc.
6
+ *
7
+ * Strategies:
8
+ * - all: Select everything
9
+ * - pattern-glob: Glob pattern matching (e.g., "sw-*", "*-backend")
10
+ * - pattern-regex: Regular expression matching (e.g., "^sw-.*$")
11
+ * - select-specific: Checkbox selection from list
12
+ * - manual-entry: Comma-separated text input
13
+ *
14
+ * Pattern Shortcuts:
15
+ * - "starts: prefix" → "prefix*"
16
+ * - "ends: suffix" → "*suffix"
17
+ * - "contains: text" → "*text*"
18
+ *
19
+ * @module cli/helpers/selection-strategy
20
+ */
21
+ import type { SupportedLanguage } from '../../core/i18n/types.js';
22
+ /**
23
+ * Selection strategy options
24
+ */
25
+ export type SelectionStrategy = 'all' | 'pattern-glob' | 'pattern-regex' | 'select-specific' | 'manual-entry';
26
+ /**
27
+ * Generic selectable item interface
28
+ */
29
+ export interface SelectableItem {
30
+ /** Display name for the item */
31
+ name: string;
32
+ /** Unique identifier/value */
33
+ value: string;
34
+ /** Optional: full path or additional context */
35
+ path?: string;
36
+ /** Optional: additional metadata */
37
+ metadata?: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Selection result
41
+ */
42
+ export interface SelectionResult<T extends SelectableItem = SelectableItem> {
43
+ /** Selected strategy */
44
+ strategy: SelectionStrategy;
45
+ /** Selected items */
46
+ items: T[];
47
+ /** Pattern used (for pattern strategies) */
48
+ pattern?: string;
49
+ /** Whether selection was cancelled */
50
+ cancelled: boolean;
51
+ }
52
+ /**
53
+ * Options for the selection prompt
54
+ */
55
+ export interface SelectionPromptOptions<T extends SelectableItem = SelectableItem> {
56
+ /** All available items to select from */
57
+ items: T[];
58
+ /** Type of items being selected (for display) */
59
+ itemType: 'repositories' | 'projects' | 'area paths' | 'boards' | 'items';
60
+ /** Optional: source/context name (e.g., org name, project name) */
61
+ sourceName?: string;
62
+ /** Language for i18n */
63
+ language?: SupportedLanguage;
64
+ /** Whether to show "All" option (default: true) */
65
+ showAllOption?: boolean;
66
+ /** Whether to show preview before confirmation (default: true) */
67
+ showPreview?: boolean;
68
+ /** Maximum items to show in preview (default: 20) */
69
+ previewLimit?: number;
70
+ /** Custom validator for manual entry */
71
+ manualEntryValidator?: (value: string) => boolean | string;
72
+ /** Whether to transform manual entry to uppercase (for JIRA keys) */
73
+ uppercaseManualEntry?: boolean;
74
+ /** Field to match patterns against (default: 'name') */
75
+ matchField?: keyof T;
76
+ }
77
+ /**
78
+ * Parse pattern shortcuts into glob/regex patterns
79
+ *
80
+ * Shortcuts:
81
+ * - "starts: prefix" → "prefix*" (glob)
82
+ * - "ends: suffix" → "*suffix" (glob)
83
+ * - "contains: text" → "*text*" (glob)
84
+ * - Raw patterns are passed through as-is
85
+ *
86
+ * @param input - User input (may contain shortcuts)
87
+ * @returns Parsed pattern
88
+ */
89
+ export declare function parsePatternShortcut(input: string): string;
90
+ /**
91
+ * Match items by glob pattern
92
+ *
93
+ * @param items - Items to filter
94
+ * @param pattern - Glob pattern (e.g., "sw-*", "*-backend")
95
+ * @param field - Field to match against (default: 'name')
96
+ * @returns Matching items
97
+ */
98
+ export declare function matchByGlob<T extends SelectableItem>(items: T[], pattern: string, field?: keyof T): T[];
99
+ /**
100
+ * Match items by regular expression
101
+ *
102
+ * @param items - Items to filter
103
+ * @param pattern - Regex pattern (e.g., "^sw-.*$")
104
+ * @param field - Field to match against (default: 'name')
105
+ * @returns Object with matching items or error
106
+ */
107
+ export declare function matchByRegex<T extends SelectableItem>(items: T[], pattern: string, field?: keyof T): {
108
+ items: T[];
109
+ error?: string;
110
+ };
111
+ /**
112
+ * Validate regex pattern
113
+ *
114
+ * @param pattern - Pattern to validate
115
+ * @returns True if valid, error message if invalid
116
+ */
117
+ export declare function validateRegex(pattern: string): true | string;
118
+ /**
119
+ * Main selection prompt - unified across all platforms
120
+ *
121
+ * @param options - Selection options
122
+ * @returns Selection result
123
+ */
124
+ export declare function promptSelection<T extends SelectableItem>(options: SelectionPromptOptions<T>): Promise<SelectionResult<T>>;
125
+ /**
126
+ * Convert array of strings to SelectableItem array
127
+ */
128
+ export declare function toSelectableItems(items: string[]): SelectableItem[];
129
+ /**
130
+ * Convert array of objects with name/value to SelectableItem array
131
+ */
132
+ export declare function toSelectableItemsFromObjects<T extends {
133
+ name: string;
134
+ [key: string]: unknown;
135
+ }>(items: T[], valueField?: keyof T): SelectableItem[];
136
+ //# sourceMappingURL=selection-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-strategy.d.ts","sourceRoot":"","sources":["../../../../src/cli/helpers/selection-strategy.ts"],"names":[],"mappings":"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"}