create-dev-to 1.1.0 → 1.3.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-dev-to",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "bin": {
@@ -22,8 +22,8 @@
22
22
  "kolorist": "^1.8.0"
23
23
  },
24
24
  "scripts": {
25
- "build": "tsc -p tsconfig.json",
26
- "dev": "tsc -p tsconfig.json -w",
25
+ "build": "node build.js",
26
+ "dev": "node build.js --watch",
27
27
  "lint": "pnpm -w lint",
28
28
  "test": "echo 'test create-dev-to'"
29
29
  }
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import type { InstallStats } from './visualComponents.js';
2
- type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
3
- export declare class InstallLogger {
4
- private packageManager;
5
- private parser;
6
- private renderer;
7
- private stats;
8
- private phases;
9
- private renderScheduled;
10
- private lastRenderTime;
11
- private readonly RENDER_INTERVAL;
12
- private smoothProgressTimer;
13
- constructor(packageManager: PackageManager);
14
- start(): void;
15
- processLine(line: string, stream: 'stdout' | 'stderr'): void;
16
- finish(projectDir: string): Promise<InstallStats>;
17
- error(): void;
18
- private startSmoothProgress;
19
- private stopSmoothProgress;
20
- private handleParsedOutput;
21
- private activatePhase;
22
- private updatePhase;
23
- private scheduleRender;
24
- private render;
25
- private calculateNodeModulesSize;
26
- private getDirectorySize;
27
- }
28
- export {};
29
- //# sourceMappingURL=installLogger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installLogger.d.ts","sourceRoot":"","sources":["../src/installLogger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIvE,KAAK,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAErD,qBAAa,aAAa;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;IACrC,OAAO,CAAC,mBAAmB,CAA8B;gBAE7C,cAAc,EAAE,cAAc;IAqB1C,KAAK,IAAI,IAAI;IAMb,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAetD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBvD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,kBAAkB;IAmC1B,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,WAAW;IAkCnB,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,MAAM;YAWA,wBAAwB;IAwBtC,OAAO,CAAC,gBAAgB;CA8BzB"}
@@ -1,252 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { execSync } from 'node:child_process';
4
- import { InstallRenderer } from './visualComponents.js';
5
- import { createParser } from './outputParsers.js';
6
- export class InstallLogger {
7
- packageManager;
8
- parser;
9
- renderer;
10
- stats;
11
- phases;
12
- renderScheduled = false;
13
- lastRenderTime = 0;
14
- RENDER_INTERVAL = 50;
15
- smoothProgressTimer = null;
16
- constructor(packageManager) {
17
- this.packageManager = packageManager;
18
- this.parser = createParser(packageManager);
19
- this.renderer = new InstallRenderer();
20
- this.stats = {
21
- packagesAdded: 0,
22
- packagesUpdated: 0,
23
- packagesRemoved: 0,
24
- packagesTotal: 0,
25
- downloadSpeed: 0,
26
- downloadedBytes: 0,
27
- nodeModulesSize: 0,
28
- warnings: [],
29
- };
30
- this.phases = [
31
- { name: 'resolving', progress: 0, active: true },
32
- { name: 'downloading', progress: 0, active: false },
33
- { name: 'installing', progress: 0, active: false },
34
- ];
35
- }
36
- start() {
37
- this.stats.startTime = performance.now();
38
- this.render();
39
- this.startSmoothProgress();
40
- }
41
- processLine(line, stream) {
42
- if (!line || line.trim() === '')
43
- return;
44
- try {
45
- const parsed = this.parser.parse(line, stream);
46
- this.handleParsedOutput(parsed);
47
- this.scheduleRender();
48
- }
49
- catch (error) {
50
- if (process.env.DEBUG) {
51
- console.error('Parse error:', error);
52
- }
53
- }
54
- }
55
- async finish(projectDir) {
56
- // Stop smooth progress updates
57
- this.stopSmoothProgress();
58
- this.stats.endTime = performance.now();
59
- this.stats.duration = this.stats.endTime - (this.stats.startTime || 0);
60
- this.updatePhase('installing', 100);
61
- this.render();
62
- this.renderer.clear();
63
- try {
64
- this.stats.nodeModulesSize = await this.calculateNodeModulesSize(projectDir);
65
- }
66
- catch {
67
- this.stats.nodeModulesSize = 0;
68
- }
69
- return this.stats;
70
- }
71
- error() {
72
- this.stopSmoothProgress();
73
- this.renderer.clear();
74
- }
75
- startSmoothProgress() {
76
- // Update progress smoothly even without output updates
77
- this.smoothProgressTimer = setInterval(() => {
78
- const activePhase = this.phases.find(p => p.active);
79
- if (activePhase && activePhase.progress < 95) {
80
- // Gradually increase progress with diminishing speed
81
- const increment = Math.max(0.5, (95 - activePhase.progress) / 20);
82
- activePhase.progress = Math.min(95, activePhase.progress + increment);
83
- this.render();
84
- }
85
- }, 200);
86
- }
87
- stopSmoothProgress() {
88
- if (this.smoothProgressTimer) {
89
- clearInterval(this.smoothProgressTimer);
90
- this.smoothProgressTimer = null;
91
- }
92
- }
93
- handleParsedOutput(parsed) {
94
- switch (parsed.type) {
95
- case 'phase_change':
96
- if (parsed.phase) {
97
- this.activatePhase(parsed.phase);
98
- }
99
- break;
100
- case 'progress':
101
- if (parsed.phase && parsed.progress !== undefined) {
102
- this.updatePhase(parsed.phase, parsed.progress);
103
- }
104
- break;
105
- case 'package_info':
106
- if (parsed.packageCount !== undefined) {
107
- this.stats.packagesAdded = parsed.packageCount;
108
- }
109
- break;
110
- case 'warning':
111
- if (parsed.message) {
112
- this.stats.warnings = this.stats.warnings || [];
113
- this.stats.warnings.push(parsed.message);
114
- }
115
- break;
116
- case 'error':
117
- break;
118
- case 'ignore':
119
- break;
120
- }
121
- }
122
- activatePhase(phaseName) {
123
- const phase = this.phases.find(p => p.name === phaseName);
124
- if (phase) {
125
- // Don't reactivate if already completed
126
- if (phase.progress >= 100) {
127
- return;
128
- }
129
- // Deactivate all phases first
130
- this.phases.forEach(p => (p.active = false));
131
- phase.active = true;
132
- // Set initial progress if starting fresh
133
- if (phase.progress === 0) {
134
- phase.progress = 1;
135
- }
136
- // When activating a phase, complete previous phases
137
- const phaseIndex = this.phases.findIndex(p => p.name === phaseName);
138
- for (let i = 0; i < phaseIndex; i++) {
139
- const prevPhase = this.phases[i];
140
- if (prevPhase.progress < 100) {
141
- prevPhase.progress = 100;
142
- }
143
- prevPhase.active = false;
144
- }
145
- }
146
- }
147
- updatePhase(phaseName, progress) {
148
- const phase = this.phases.find(p => p.name === phaseName);
149
- if (phase) {
150
- phase.progress = Math.max(phase.progress, Math.min(100, progress));
151
- // When a phase is updated, complete all previous phases
152
- const phaseIndex = this.phases.findIndex(p => p.name === phaseName);
153
- for (let i = 0; i < phaseIndex; i++) {
154
- if (this.phases[i].progress < 100) {
155
- this.phases[i].progress = 100;
156
- this.phases[i].active = false;
157
- }
158
- }
159
- // Only mark current phase as active if not already completed
160
- if (phase.progress < 100) {
161
- phase.active = true;
162
- }
163
- // When a phase reaches 100%, mark it as complete and activate next
164
- if (progress >= 100) {
165
- phase.active = false;
166
- if (phaseIndex < this.phases.length - 1) {
167
- // Only activate next phase if current one is complete
168
- const nextPhase = this.phases[phaseIndex + 1];
169
- if (nextPhase && nextPhase.progress === 0) {
170
- nextPhase.active = true;
171
- nextPhase.progress = 1; // Start with small progress
172
- }
173
- }
174
- }
175
- }
176
- }
177
- scheduleRender() {
178
- if (this.renderScheduled)
179
- return;
180
- const now = performance.now();
181
- const timeSinceLastRender = now - this.lastRenderTime;
182
- if (timeSinceLastRender >= this.RENDER_INTERVAL) {
183
- this.render();
184
- this.lastRenderTime = now;
185
- }
186
- else {
187
- this.renderScheduled = true;
188
- setTimeout(() => {
189
- this.render();
190
- this.renderScheduled = false;
191
- this.lastRenderTime = performance.now();
192
- }, this.RENDER_INTERVAL - timeSinceLastRender);
193
- }
194
- }
195
- render() {
196
- try {
197
- this.renderer.render(this.phases, this.stats);
198
- }
199
- catch (error) {
200
- if (process.env.DEBUG) {
201
- console.error('Render error:', error);
202
- }
203
- }
204
- }
205
- async calculateNodeModulesSize(projectDir) {
206
- const nodeModulesPath = path.join(projectDir, 'node_modules');
207
- if (!fs.existsSync(nodeModulesPath)) {
208
- return 0;
209
- }
210
- if (process.platform !== 'win32') {
211
- try {
212
- const result = execSync(`du -sk "${nodeModulesPath}"`, {
213
- encoding: 'utf-8',
214
- stdio: ['ignore', 'pipe', 'ignore'],
215
- });
216
- const sizeKB = parseInt(result.split('\t')[0]);
217
- return sizeKB * 1024;
218
- }
219
- catch {
220
- // Fall through to recursive method
221
- }
222
- }
223
- return this.getDirectorySize(nodeModulesPath);
224
- }
225
- getDirectorySize(dir) {
226
- let size = 0;
227
- try {
228
- const files = fs.readdirSync(dir, { withFileTypes: true });
229
- for (const file of files) {
230
- const filePath = path.join(dir, file.name);
231
- try {
232
- if (file.isDirectory()) {
233
- size += this.getDirectorySize(filePath);
234
- }
235
- else {
236
- const stats = fs.statSync(filePath);
237
- size += stats.size;
238
- }
239
- }
240
- catch {
241
- // Skip files we can't access
242
- continue;
243
- }
244
- }
245
- }
246
- catch {
247
- // Skip directories we can't access
248
- }
249
- return size;
250
- }
251
- }
252
- //# sourceMappingURL=installLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installLogger.js","sourceRoot":"","sources":["../src/installLogger.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- export interface ParsedOutput {
2
- type: 'phase_change' | 'progress' | 'package_info' | 'warning' | 'error' | 'ignore';
3
- phase?: string;
4
- progress?: number;
5
- packageCount?: number;
6
- downloadedBytes?: number;
7
- message?: string;
8
- }
9
- export declare abstract class OutputParser {
10
- abstract parse(line: string, stream: 'stdout' | 'stderr'): ParsedOutput;
11
- }
12
- export declare class PnpmParser extends OutputParser {
13
- private totalPackages;
14
- private maxResolved;
15
- private lastPhase;
16
- parse(line: string, stream: 'stdout' | 'stderr'): ParsedOutput;
17
- }
18
- export declare class NpmParser extends OutputParser {
19
- private isInstalling;
20
- parse(line: string, stream: 'stdout' | 'stderr'): ParsedOutput;
21
- }
22
- export declare class YarnParser extends OutputParser {
23
- parse(line: string, stream: 'stdout' | 'stderr'): ParsedOutput;
24
- }
25
- export declare class BunParser extends OutputParser {
26
- parse(line: string, stream: 'stdout' | 'stderr'): ParsedOutput;
27
- }
28
- export declare function createParser(pm: 'pnpm' | 'npm' | 'yarn' | 'bun'): OutputParser;
29
- //# sourceMappingURL=outputParsers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"outputParsers.d.ts","sourceRoot":"","sources":["../src/outputParsers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;IACnF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,8BAAsB,YAAY;IAChC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;CACxE;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,SAAS,CAAsB;IAEvC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;CAsG/D;AAED,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,YAAY,CAAiB;IAErC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;CA0D/D;AAED,qBAAa,UAAW,SAAQ,YAAY;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;CA2D/D;AAED,qBAAa,SAAU,SAAQ,YAAY;IACzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY;CA0C/D;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAa9E"}
@@ -1,259 +0,0 @@
1
- export class OutputParser {
2
- }
3
- export class PnpmParser extends OutputParser {
4
- totalPackages = 0;
5
- maxResolved = 0;
6
- lastPhase = 'resolving';
7
- parse(line, stream) {
8
- // Detect resolving phase start
9
- if (line.includes('Lockfile is up to date') || line.includes('Already up to date')) {
10
- return {
11
- type: 'progress',
12
- phase: 'installing',
13
- progress: 100,
14
- packageCount: 0,
15
- };
16
- }
17
- // Parse progress line: "Progress: resolved 245, reused 180, downloaded 65, added 0"
18
- const progressMatch = line.match(/Progress: resolved (\d+)(?:, reused (\d+))?(?:, downloaded (\d+))?(?:, added (\d+))?/);
19
- if (progressMatch) {
20
- const resolved = parseInt(progressMatch[1]);
21
- const reused = parseInt(progressMatch[2] || '0');
22
- const downloaded = parseInt(progressMatch[3] || '0');
23
- const added = parseInt(progressMatch[4] || '0');
24
- // Track max resolved as estimated total
25
- this.maxResolved = Math.max(this.maxResolved, resolved);
26
- // Determine phase and progress based on the numbers
27
- // When added === resolved, installation is complete
28
- if (added > 0 && added >= resolved) {
29
- this.lastPhase = 'installing';
30
- return {
31
- type: 'progress',
32
- phase: 'installing',
33
- packageCount: added,
34
- progress: 100,
35
- };
36
- }
37
- // When we have added > 0 but not all, we're installing
38
- else if (added > 0) {
39
- this.lastPhase = 'installing';
40
- const installProgress = Math.min(99, Math.max(10, (added / resolved) * 100));
41
- return {
42
- type: 'progress',
43
- phase: 'installing',
44
- progress: installProgress,
45
- };
46
- }
47
- // When downloaded > 0, we're in downloading phase
48
- else if (downloaded > 0 || reused > 0) {
49
- const total = downloaded + reused;
50
- if (this.lastPhase !== 'downloading') {
51
- this.lastPhase = 'downloading';
52
- }
53
- const downloadProgress = Math.min(99, Math.max(10, (total / resolved) * 100));
54
- return {
55
- type: 'progress',
56
- phase: 'downloading',
57
- progress: downloadProgress,
58
- };
59
- }
60
- // Otherwise, we're still resolving
61
- else if (resolved > 0) {
62
- if (this.lastPhase !== 'resolving') {
63
- this.lastPhase = 'resolving';
64
- }
65
- // Use a dynamic progress that gradually increases
66
- const resolveProgress = Math.min(95, Math.max(10, (resolved / Math.max(this.maxResolved, 200)) * 100));
67
- return {
68
- type: 'progress',
69
- phase: 'resolving',
70
- progress: resolveProgress,
71
- };
72
- }
73
- }
74
- // Parse package info from summary: "Packages: +245"
75
- const packagesMatch = line.match(/Packages:\s*\+(\d+)/);
76
- if (packagesMatch) {
77
- const count = parseInt(packagesMatch[1]);
78
- this.totalPackages = count;
79
- return {
80
- type: 'package_info',
81
- packageCount: count,
82
- };
83
- }
84
- // Detect warnings
85
- if (line.includes('warn') && stream === 'stderr') {
86
- return {
87
- type: 'warning',
88
- message: line,
89
- };
90
- }
91
- // Detect errors
92
- if ((line.includes('error') || line.includes('Error')) && stream === 'stderr') {
93
- return {
94
- type: 'error',
95
- message: line,
96
- };
97
- }
98
- return { type: 'ignore' };
99
- }
100
- }
101
- export class NpmParser extends OutputParser {
102
- isInstalling = false;
103
- parse(line, stream) {
104
- // Parse completion line: "added 245 packages, and audited 246 packages in 10s"
105
- const completionMatch = line.match(/added (\d+) packages?(?:, (?:and|)?(?:audited|updated) (\d+) packages)?/);
106
- if (completionMatch) {
107
- this.isInstalling = true;
108
- return {
109
- type: 'progress',
110
- packageCount: parseInt(completionMatch[1]),
111
- progress: 100,
112
- phase: 'installing',
113
- };
114
- }
115
- // Parse up to date: "up to date, audited 245 packages in 0.5s"
116
- if (line.includes('up to date')) {
117
- this.isInstalling = true;
118
- return {
119
- type: 'progress',
120
- packageCount: 0,
121
- progress: 100,
122
- phase: 'installing',
123
- };
124
- }
125
- // Parse npm output with progress (some versions show this)
126
- const progressMatch = line.match(/\|(.+?)\|/);
127
- if (progressMatch) {
128
- const progress = (progressMatch[1].length / 50) * 100;
129
- return {
130
- type: 'progress',
131
- progress: Math.min(95, Math.max(1, progress)),
132
- phase: 'downloading',
133
- };
134
- }
135
- // Detect vulnerabilities warnings
136
- if (line.includes('vulnerabilities') || line.includes('vulnerability')) {
137
- return {
138
- type: 'warning',
139
- message: line,
140
- };
141
- }
142
- // Detect errors
143
- if (line.includes('ERR!')
144
- || (line.includes('error') && stream === 'stderr')) {
145
- return {
146
- type: 'error',
147
- message: line,
148
- };
149
- }
150
- return { type: 'ignore' };
151
- }
152
- }
153
- export class YarnParser extends OutputParser {
154
- parse(line, stream) {
155
- // Parse phase indicators: "[1/4] Resolving packages..."
156
- const phaseMatch = line.match(/\[(\d+)\/4\]\s+(.+?)\.{3}/);
157
- if (phaseMatch) {
158
- const stepNum = parseInt(phaseMatch[1]);
159
- const phaseNames = [
160
- 'resolving',
161
- 'fetching',
162
- 'linking',
163
- 'building',
164
- ];
165
- const phase = phaseNames[stepNum - 1] || 'resolving';
166
- // Map fetching to downloading
167
- const mappedPhase = phase === 'fetching' ? 'downloading' : phase;
168
- return {
169
- type: 'phase_change',
170
- phase: mappedPhase,
171
- };
172
- }
173
- // Parse success line: "Done in 8.50s"
174
- const successMatch = line.match(/Done in ([\d.]+)s/);
175
- if (successMatch) {
176
- return {
177
- type: 'progress',
178
- progress: 100,
179
- phase: 'installing',
180
- };
181
- }
182
- // Parse package added/removed: "Yarn added 245 packages"
183
- const addedMatch = line.match(/(?:Yarn )?added (\d+) packages?/);
184
- if (addedMatch) {
185
- return {
186
- type: 'package_info',
187
- packageCount: parseInt(addedMatch[1]),
188
- };
189
- }
190
- // Detect warnings
191
- if (line.includes('warning') && stream === 'stderr') {
192
- return {
193
- type: 'warning',
194
- message: line,
195
- };
196
- }
197
- // Detect errors
198
- if (line.includes('error') && stream === 'stderr') {
199
- return {
200
- type: 'error',
201
- message: line,
202
- };
203
- }
204
- return { type: 'ignore' };
205
- }
206
- }
207
- export class BunParser extends OutputParser {
208
- parse(line, stream) {
209
- // Parse completion: "+ 245 packages installed [1.23s]"
210
- const completionMatch = line.match(/^\s*\+\s*(\d+)\s+packages installed\s*\[([\d.]+)s\]/);
211
- if (completionMatch) {
212
- return {
213
- type: 'progress',
214
- packageCount: parseInt(completionMatch[1]),
215
- progress: 100,
216
- phase: 'installing',
217
- };
218
- }
219
- // Parse already installed: "0 packages installed"
220
- const alreadyMatch = line.match(/^\s*(\d+)\s+packages already installed/);
221
- if (alreadyMatch) {
222
- return {
223
- type: 'progress',
224
- packageCount: 0,
225
- progress: 100,
226
- phase: 'installing',
227
- };
228
- }
229
- // Detect download progress (bun shows detailed output)
230
- if (line.includes('Downloading') || line.includes('downloading')) {
231
- return { type: 'phase_change', phase: 'downloading' };
232
- }
233
- // Detect errors
234
- if (line.includes('error')
235
- || line.includes('Error')
236
- || (line.includes('failed') && stream === 'stderr')) {
237
- return {
238
- type: 'error',
239
- message: line,
240
- };
241
- }
242
- return { type: 'ignore' };
243
- }
244
- }
245
- export function createParser(pm) {
246
- switch (pm) {
247
- case 'pnpm':
248
- return new PnpmParser();
249
- case 'npm':
250
- return new NpmParser();
251
- case 'yarn':
252
- return new YarnParser();
253
- case 'bun':
254
- return new BunParser();
255
- default:
256
- return new NpmParser(); // fallback
257
- }
258
- }
259
- //# sourceMappingURL=outputParsers.js.map