pcu 0.3.3 → 0.3.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/UpdateCommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EACL,oBAAoB,EAIpB,YAAY,EACb,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEjF,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe;IAKjF;;OAEG;IACG,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmEhE;;OAEG;YACW,oBAAoB;IA6ClC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE;IAwB/D;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM;CAqC7B"}
1
+ {"version":3,"file":"UpdateCommand.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/UpdateCommand.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EAGpB,YAAY,EACb,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKjF,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,eAAe;IAKjF;;OAEG;IACG,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyGhE;;OAEG;YACW,oBAAoB;IAyBlC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE;IAwB/D;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM;CAqC7B"}
@@ -4,8 +4,9 @@
4
4
  * CLI command to update catalog dependencies.
5
5
  * Supports interactive mode, dry-run, and various update strategies.
6
6
  */
7
- import chalk from 'chalk';
8
- import inquirer from 'inquirer';
7
+ import { EnhancedProgressBar, MultiStepProgress } from '../formatters/ProgressBar.js';
8
+ import { InteractivePrompts } from '../interactive/InteractivePrompts.js';
9
+ import { StyledText, ThemeManager } from '../themes/ColorTheme.js';
9
10
  export class UpdateCommand {
10
11
  updateService;
11
12
  outputFormatter;
@@ -17,7 +18,16 @@ export class UpdateCommand {
17
18
  * Execute the update command
18
19
  */
19
20
  async execute(options = {}) {
21
+ const multiStep = new MultiStepProgress([
22
+ 'Loading workspace configuration',
23
+ 'Checking package versions',
24
+ 'Planning updates',
25
+ 'Applying updates',
26
+ ]);
27
+ let progressBar;
20
28
  try {
29
+ // Initialize theme
30
+ ThemeManager.setTheme('default');
21
31
  // Convert command options to service options
22
32
  const updateOptions = {
23
33
  workspacePath: options.workspace,
@@ -31,46 +41,65 @@ export class UpdateCommand {
31
41
  force: options.force ?? false,
32
42
  createBackup: options.createBackup ?? false,
33
43
  };
34
- // Check for updates
35
- console.log(chalk.blue('šŸ“¦ Scanning workspace...'));
36
- console.log(chalk.gray(' ⚔ Loading workspace configuration...'));
44
+ multiStep.start();
45
+ // Step 1: Loading workspace
46
+ progressBar = new EnhancedProgressBar({
47
+ text: 'Loading workspace configuration...',
48
+ color: 'cyan',
49
+ spinner: 'dots',
50
+ });
51
+ progressBar.start();
52
+ multiStep.next('Loading workspace configuration');
37
53
  const plan = await this.updateService.planUpdates(updateOptions);
38
- console.log(chalk.gray(' āœ“ Workspace configuration loaded'));
39
- console.log(chalk.gray(' ⚔ Checking package versions...'));
54
+ progressBar.succeed('Workspace configuration loaded');
55
+ // Step 2: Checking versions
56
+ multiStep.next('Checking package versions');
40
57
  if (!plan.updates.length) {
41
- console.log(chalk.gray(' āœ“ Package versions checked'));
42
- console.log(chalk.green('\n✨ All dependencies are up to date!'));
58
+ multiStep.complete();
59
+ console.log(StyledText.iconSuccess('All dependencies are up to date!'));
43
60
  return;
44
61
  }
45
- console.log(chalk.gray(' āœ“ Package versions checked'));
46
- console.log(chalk.blue(`\nšŸ“ Found ${plan.totalUpdates} update${plan.totalUpdates === 1 ? '' : 's'} available`));
62
+ // Step 3: Planning updates
63
+ multiStep.next('Planning updates');
64
+ console.log(StyledText.iconPackage(`Found ${plan.totalUpdates} update${plan.totalUpdates === 1 ? '' : 's'} available`));
47
65
  // Interactive selection if enabled
48
66
  let finalPlan = plan;
49
67
  if (options.interactive) {
50
68
  finalPlan = await this.interactiveSelection(plan);
51
69
  if (!finalPlan.updates.length) {
52
- console.log(chalk.yellow('\n⚪ No updates selected'));
70
+ console.log(StyledText.iconWarning('No updates selected'));
53
71
  return;
54
72
  }
55
73
  }
56
- // Apply updates
74
+ // Step 4: Apply updates
57
75
  if (!options.dryRun) {
58
- console.log(chalk.blue('\nšŸš€ Applying updates...'));
76
+ multiStep.next('Applying updates');
77
+ progressBar = new EnhancedProgressBar({
78
+ text: 'Applying updates...',
79
+ color: 'green',
80
+ total: finalPlan.updates.length,
81
+ });
82
+ progressBar.start();
59
83
  const result = await this.updateService.executeUpdates(finalPlan, updateOptions);
84
+ progressBar.succeed(`Applied ${finalPlan.updates.length} updates`);
60
85
  console.log(this.outputFormatter.formatUpdateResult(result));
61
86
  }
62
87
  else {
63
- console.log(chalk.yellow('\nšŸ” Dry run - no changes made'));
88
+ console.log(StyledText.iconInfo('Dry run - no changes made'));
64
89
  console.log(JSON.stringify(finalPlan, null, 2));
65
90
  }
66
- console.log(chalk.green('\n✨ Done!'));
91
+ multiStep.complete();
92
+ console.log(StyledText.iconComplete('Update process completed!'));
67
93
  }
68
94
  catch (error) {
95
+ if (progressBar) {
96
+ progressBar.fail('Operation failed');
97
+ }
69
98
  if (error instanceof Error) {
70
- console.error(chalk.red(`\nāŒ Error: ${error.message}`));
99
+ console.error(StyledText.iconError(`Error: ${error.message}`));
71
100
  }
72
101
  else {
73
- console.error(chalk.red('\nāŒ Unknown error occurred'));
102
+ console.error(StyledText.iconError('Unknown error occurred'));
74
103
  }
75
104
  throw error;
76
105
  }
@@ -79,67 +108,23 @@ export class UpdateCommand {
79
108
  * Interactive update selection
80
109
  */
81
110
  async interactiveSelection(plan) {
82
- console.log(chalk.blue('\nšŸŽÆ Interactive Update Selection'));
83
- console.log(chalk.gray('Use ↑/↓ to navigate, Space to toggle, Enter to confirm'));
84
- // Group updates by catalog for better organization
85
- const updatesByDir = plan.updates.reduce((acc, update) => {
86
- const dir = update.catalogName;
87
- if (!acc[dir]) {
88
- acc[dir] = [];
89
- }
90
- acc[dir].push(update);
91
- return acc;
92
- }, {});
93
- // Create choices with separators
94
- const choices = Object.entries(updatesByDir).flatMap(([dir, updates]) => [
95
- new inquirer.Separator(`\nšŸ“‚ ${dir}`),
96
- ...updates.map((update) => ({
97
- name: this.formatUpdateChoice(update),
98
- value: update,
99
- checked: true,
100
- })),
101
- ]);
102
- const { selectedUpdates } = await inquirer.prompt([
103
- {
104
- type: 'checkbox',
105
- name: 'selectedUpdates',
106
- message: 'Select updates to apply:',
107
- choices,
108
- pageSize: process.stdout.rows ? Math.max(10, process.stdout.rows - 8) : 40,
109
- loop: true,
110
- },
111
- ]);
111
+ const interactivePrompts = new InteractivePrompts();
112
+ // Transform PlannedUpdate to the format expected by InteractivePrompts
113
+ const packages = plan.updates.map((update) => ({
114
+ name: update.packageName,
115
+ current: update.currentVersion,
116
+ latest: update.newVersion,
117
+ type: update.updateType,
118
+ }));
119
+ const selectedPackageNames = await interactivePrompts.selectPackages(packages);
120
+ // Filter the plan to only include selected packages
121
+ const selectedUpdates = plan.updates.filter((update) => selectedPackageNames.includes(update.packageName));
112
122
  return {
113
123
  ...plan,
114
124
  updates: selectedUpdates,
115
125
  totalUpdates: selectedUpdates.length,
116
126
  };
117
127
  }
118
- /**
119
- * Format update choice for interactive selection
120
- */
121
- formatUpdateChoice(update) {
122
- const typeColor = this.getUpdateTypeColor(update.updateType);
123
- const packageInfo = `${update.packageName} ${update.currentVersion} → ${update.newVersion}`;
124
- const typeInfo = `[${update.updateType}]`;
125
- const dirInfo = chalk.gray(`(${update.catalogName})`);
126
- return `${packageInfo} ${typeColor(typeInfo)} ${dirInfo}`;
127
- }
128
- /**
129
- * Get color function for update type
130
- */
131
- getUpdateTypeColor(updateType) {
132
- switch (updateType) {
133
- case 'major':
134
- return chalk.red;
135
- case 'minor':
136
- return chalk.yellow;
137
- case 'patch':
138
- return chalk.green;
139
- default:
140
- return chalk.gray;
141
- }
142
- }
143
128
  /**
144
129
  * Validate command options
145
130
  */
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/UpdateCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateCommand.js","sourceRoot":"","sources":["../../../src/cli/commands/UpdateCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Enhanced Progress Bar
3
+ *
4
+ * Provides beautiful progress indicators for CLI operations
5
+ * with multiple styles and themes.
6
+ */
7
+ export interface ProgressBarOptions {
8
+ text?: string;
9
+ color?: string;
10
+ spinner?: string;
11
+ total?: number;
12
+ }
13
+ export declare class EnhancedProgressBar {
14
+ private readonly options;
15
+ private spinner;
16
+ private current;
17
+ private total;
18
+ private text;
19
+ constructor(options?: ProgressBarOptions);
20
+ /**
21
+ * Start the progress bar
22
+ */
23
+ start(text?: string): void;
24
+ /**
25
+ * Update progress with text
26
+ */
27
+ update(text: string, current?: number, total?: number): void;
28
+ /**
29
+ * Increment progress
30
+ */
31
+ increment(amount?: number, text?: string): void;
32
+ /**
33
+ * Mark as succeeded
34
+ */
35
+ succeed(text?: string): void;
36
+ /**
37
+ * Mark as failed
38
+ */
39
+ fail(text?: string): void;
40
+ /**
41
+ * Mark as warning
42
+ */
43
+ warn(text?: string): void;
44
+ /**
45
+ * Mark as info
46
+ */
47
+ info(text?: string): void;
48
+ /**
49
+ * Stop the progress bar
50
+ */
51
+ stop(): void;
52
+ /**
53
+ * Create a multi-step progress indicator
54
+ */
55
+ static createMultiStep(steps: string[]): MultiStepProgress;
56
+ }
57
+ /**
58
+ * Multi-step progress indicator
59
+ */
60
+ export declare class MultiStepProgress {
61
+ private currentStep;
62
+ private steps;
63
+ constructor(steps: string[]);
64
+ start(): void;
65
+ next(text?: string): void;
66
+ complete(): void;
67
+ private renderSteps;
68
+ }
69
+ /**
70
+ * Progress bar with percentage
71
+ */
72
+ export declare class PercentageProgressBar {
73
+ private readonly width;
74
+ private current;
75
+ private total;
76
+ private text;
77
+ private lastRender;
78
+ constructor(width?: number);
79
+ start(total: number, text: string): void;
80
+ update(current: number, text?: string): void;
81
+ increment(amount?: number, text?: string): void;
82
+ complete(text?: string): void;
83
+ private render;
84
+ }
85
+ /**
86
+ * Progress manager for batch operations
87
+ */
88
+ export declare class BatchProgressManager {
89
+ private bars;
90
+ private totalOperations;
91
+ private completedOperations;
92
+ createBar(id: string, options?: ProgressBarOptions): EnhancedProgressBar;
93
+ getBar(id: string): EnhancedProgressBar | undefined;
94
+ setTotal(total: number): void;
95
+ updateOverall(text: string): void;
96
+ completeOperation(text?: string): void;
97
+ cleanup(): void;
98
+ }
99
+ //# sourceMappingURL=ProgressBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/ProgressBar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,mBAAmB;IAMlB,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,IAAI,CAAM;gBAEW,OAAO,GAAE,kBAAuB;IAK7D;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAS1B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAY5D;;OAEG;IACH,SAAS,CAAC,MAAM,SAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAY1C;;OAEG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB;;OAEG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB;;OAEG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB;CAG3D;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,KAAK,CAAgB;gBAEjB,KAAK,EAAE,MAAM,EAAE;IAI3B,KAAK,IAAI,IAAI;IAKb,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAYzB,QAAQ,IAAI,IAAI;IAIhB,OAAO,CAAC,WAAW;CAQpB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAMpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,UAAU,CAAM;gBAEK,KAAK,SAAK;IAEvC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAOxC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAM5C,SAAS,CAAC,MAAM,SAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAM1C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO7B,OAAO,CAAC,MAAM;CAuBf;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,mBAAmB,CAAK;IAEhC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,mBAAmB;IAMxE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAInD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAI7B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBjC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOtC,OAAO,IAAI,IAAI;CAIhB"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Enhanced Progress Bar
3
+ *
4
+ * Provides beautiful progress indicators for CLI operations
5
+ * with multiple styles and themes.
6
+ */
7
+ import chalk from 'chalk';
8
+ import ora from 'ora';
9
+ export class EnhancedProgressBar {
10
+ options;
11
+ spinner = null;
12
+ current = 0;
13
+ total = 0;
14
+ text = '';
15
+ constructor(options = {}) {
16
+ this.options = options;
17
+ this.text = options.text || 'Processing...';
18
+ this.total = options.total || 0;
19
+ }
20
+ /**
21
+ * Start the progress bar
22
+ */
23
+ start(text) {
24
+ this.text = text || this.text;
25
+ this.spinner = ora({
26
+ text: this.text,
27
+ color: this.options.color || 'cyan',
28
+ spinner: this.options.spinner || 'dots',
29
+ }).start();
30
+ }
31
+ /**
32
+ * Update progress with text
33
+ */
34
+ update(text, current, total) {
35
+ if (!this.spinner)
36
+ return;
37
+ this.text = text;
38
+ if (current !== undefined)
39
+ this.current = current;
40
+ if (total !== undefined)
41
+ this.total = total;
42
+ const progressText = this.total > 0 ? `${text} (${this.current}/${this.total})` : text;
43
+ this.spinner.text = progressText;
44
+ }
45
+ /**
46
+ * Increment progress
47
+ */
48
+ increment(amount = 1, text) {
49
+ if (!this.spinner)
50
+ return;
51
+ this.current += amount;
52
+ if (text)
53
+ this.text = text;
54
+ const progressText = this.total > 0 ? `${this.text} (${this.current}/${this.total})` : this.text;
55
+ this.spinner.text = progressText;
56
+ }
57
+ /**
58
+ * Mark as succeeded
59
+ */
60
+ succeed(text) {
61
+ if (this.spinner) {
62
+ this.spinner.succeed(text);
63
+ this.spinner = null;
64
+ }
65
+ }
66
+ /**
67
+ * Mark as failed
68
+ */
69
+ fail(text) {
70
+ if (this.spinner) {
71
+ this.spinner.fail(text);
72
+ this.spinner = null;
73
+ }
74
+ }
75
+ /**
76
+ * Mark as warning
77
+ */
78
+ warn(text) {
79
+ if (this.spinner) {
80
+ this.spinner.warn(text);
81
+ this.spinner = null;
82
+ }
83
+ }
84
+ /**
85
+ * Mark as info
86
+ */
87
+ info(text) {
88
+ if (this.spinner) {
89
+ this.spinner.info(text);
90
+ this.spinner = null;
91
+ }
92
+ }
93
+ /**
94
+ * Stop the progress bar
95
+ */
96
+ stop() {
97
+ if (this.spinner) {
98
+ this.spinner.stop();
99
+ this.spinner = null;
100
+ }
101
+ }
102
+ /**
103
+ * Create a multi-step progress indicator
104
+ */
105
+ static createMultiStep(steps) {
106
+ return new MultiStepProgress(steps);
107
+ }
108
+ }
109
+ /**
110
+ * Multi-step progress indicator
111
+ */
112
+ export class MultiStepProgress {
113
+ currentStep = 0;
114
+ steps = [];
115
+ constructor(steps) {
116
+ this.steps = steps;
117
+ }
118
+ start() {
119
+ console.log(chalk.bold('\nšŸ“‹ Progress Steps:\n'));
120
+ this.renderSteps();
121
+ }
122
+ next(text) {
123
+ if (this.currentStep < this.steps.length) {
124
+ const stepText = text || this.steps[this.currentStep];
125
+ console.log(` ${chalk.green('āœ“')} ${stepText}`);
126
+ this.currentStep++;
127
+ if (this.currentStep < this.steps.length) {
128
+ console.log(` ${chalk.cyan('→')} ${this.steps[this.currentStep]}`);
129
+ }
130
+ }
131
+ }
132
+ complete() {
133
+ console.log(chalk.green('\nšŸŽ‰ All steps completed!\n'));
134
+ }
135
+ renderSteps() {
136
+ this.steps.forEach((step, index) => {
137
+ const prefix = index === 0 ? chalk.cyan('→') : ' ';
138
+ const style = index < this.currentStep ? chalk.green : chalk.gray;
139
+ console.log(` ${prefix} ${style(step)}`);
140
+ });
141
+ console.log('');
142
+ }
143
+ }
144
+ /**
145
+ * Progress bar with percentage
146
+ */
147
+ export class PercentageProgressBar {
148
+ width;
149
+ current = 0;
150
+ total = 0;
151
+ text = '';
152
+ lastRender = '';
153
+ constructor(width = 30) {
154
+ this.width = width;
155
+ }
156
+ start(total, text) {
157
+ this.total = total;
158
+ this.current = 0;
159
+ this.text = text;
160
+ this.render();
161
+ }
162
+ update(current, text) {
163
+ this.current = current;
164
+ if (text)
165
+ this.text = text;
166
+ this.render();
167
+ }
168
+ increment(amount = 1, text) {
169
+ this.current += amount;
170
+ if (text)
171
+ this.text = text;
172
+ this.render();
173
+ }
174
+ complete(text) {
175
+ this.current = this.total;
176
+ if (text)
177
+ this.text = text;
178
+ this.render();
179
+ console.log(''); // New line after completion
180
+ }
181
+ render() {
182
+ const percentage = Math.round((this.current / this.total) * 100);
183
+ const filledWidth = Math.round((this.current / this.total) * this.width);
184
+ const emptyWidth = this.width - filledWidth;
185
+ const filledBar = chalk.green('ā–ˆ'.repeat(filledWidth));
186
+ const emptyBar = chalk.gray('ā–‘'.repeat(emptyWidth));
187
+ const bar = filledBar + emptyBar;
188
+ const progressText = `${this.text} [${bar}] ${percentage}% (${this.current}/${this.total})`;
189
+ // Clear previous line and render new one
190
+ if (this.lastRender) {
191
+ process.stdout.write('\r\x1b[K');
192
+ }
193
+ process.stdout.write(progressText);
194
+ this.lastRender = progressText;
195
+ if (this.current >= this.total) {
196
+ process.stdout.write('\n');
197
+ }
198
+ }
199
+ }
200
+ /**
201
+ * Progress manager for batch operations
202
+ */
203
+ export class BatchProgressManager {
204
+ bars = new Map();
205
+ totalOperations = 0;
206
+ completedOperations = 0;
207
+ createBar(id, options) {
208
+ const bar = new EnhancedProgressBar(options);
209
+ this.bars.set(id, bar);
210
+ return bar;
211
+ }
212
+ getBar(id) {
213
+ return this.bars.get(id);
214
+ }
215
+ setTotal(total) {
216
+ this.totalOperations = total;
217
+ }
218
+ updateOverall(text) {
219
+ const percentage = this.totalOperations > 0
220
+ ? Math.round((this.completedOperations / this.totalOperations) * 100)
221
+ : 0;
222
+ console.log(chalk.cyan(`šŸ“Š Overall Progress: ${percentage}% (${this.completedOperations}/${this.totalOperations})`));
223
+ if (text) {
224
+ console.log(chalk.gray(` → ${text}`));
225
+ }
226
+ }
227
+ completeOperation(text) {
228
+ this.completedOperations++;
229
+ if (text) {
230
+ this.updateOverall(text);
231
+ }
232
+ }
233
+ cleanup() {
234
+ this.bars.forEach((bar) => bar.stop());
235
+ this.bars.clear();
236
+ }
237
+ }
238
+ //# sourceMappingURL=ProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../src/cli/formatters/ProgressBar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AA2CH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA+Q1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AA6CH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA0V1C"}