create-dev-to 1.0.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/README.md +148 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +590 -0
- package/dist/index.js.map +1 -0
- package/dist/installLogger.d.ts +29 -0
- package/dist/installLogger.d.ts.map +1 -0
- package/dist/installLogger.js +252 -0
- package/dist/installLogger.js.map +1 -0
- package/dist/outputParsers.d.ts +29 -0
- package/dist/outputParsers.d.ts.map +1 -0
- package/dist/outputParsers.js +259 -0
- package/dist/outputParsers.js.map +1 -0
- package/dist/visualComponents.d.ts +35 -0
- package/dist/visualComponents.d.ts.map +1 -0
- package/dist/visualComponents.js +247 -0
- package/dist/visualComponents.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { green, yellow, red, dim, bold } from 'kolorist';
|
|
2
|
+
const ANSI = {
|
|
3
|
+
cursorUp: (n) => `\x1b[${n}A`,
|
|
4
|
+
cursorDown: (n) => `\x1b[${n}B`,
|
|
5
|
+
cursorTo: (x, y) => y !== undefined ? `\x1b[${y};${x}H` : `\x1b[${x}G`,
|
|
6
|
+
clearLine: () => '\x1b[2K',
|
|
7
|
+
clearScreen: () => '\x1b[2J',
|
|
8
|
+
hideCursor: () => '\x1b[?25l',
|
|
9
|
+
showCursor: () => '\x1b[?25h',
|
|
10
|
+
};
|
|
11
|
+
function trueColor(r, g, b, text) {
|
|
12
|
+
return `\x1b[38;2;${r};${g};${b}m${text}\x1b[0m`;
|
|
13
|
+
}
|
|
14
|
+
function createGradient(text, startColor, endColor) {
|
|
15
|
+
const chars = text.split('');
|
|
16
|
+
const length = chars.length;
|
|
17
|
+
if (length === 0)
|
|
18
|
+
return text;
|
|
19
|
+
if (length === 1)
|
|
20
|
+
return trueColor(startColor.r, startColor.g, startColor.b, text);
|
|
21
|
+
let result = '';
|
|
22
|
+
for (let i = 0; i < length; i++) {
|
|
23
|
+
const ratio = i / (length - 1);
|
|
24
|
+
const r = Math.round(startColor.r + (endColor.r - startColor.r) * ratio);
|
|
25
|
+
const g = Math.round(startColor.g + (endColor.g - startColor.g) * ratio);
|
|
26
|
+
const b = Math.round(startColor.b + (endColor.b - startColor.b) * ratio);
|
|
27
|
+
result += trueColor(r, g, b, chars[i]);
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
function renderProgressBar(options) {
|
|
32
|
+
const { width, progress, label, gradient, colors, showPercentage } = options;
|
|
33
|
+
const filledWidth = Math.floor((width * progress) / 100);
|
|
34
|
+
const emptyWidth = width - filledWidth;
|
|
35
|
+
let bar = '';
|
|
36
|
+
if (gradient && colors && colors.length > 0) {
|
|
37
|
+
for (let i = 0; i < filledWidth; i++) {
|
|
38
|
+
const ratio = filledWidth > 1 ? i / (filledWidth - 1) : 0;
|
|
39
|
+
const colorIndex = Math.min(Math.floor(ratio * (colors.length - 1)), colors.length - 1);
|
|
40
|
+
const nextColorIndex = Math.min(colorIndex + 1, colors.length - 1);
|
|
41
|
+
const color = colors[colorIndex];
|
|
42
|
+
const nextColor = colors[nextColorIndex];
|
|
43
|
+
const localRatio = ratio * (colors.length - 1) - Math.floor(ratio * (colors.length - 1));
|
|
44
|
+
const r = Math.round(color.r + (nextColor.r - color.r) * localRatio);
|
|
45
|
+
const g = Math.round(color.g + (nextColor.g - color.g) * localRatio);
|
|
46
|
+
const b = Math.round(color.b + (nextColor.b - color.b) * localRatio);
|
|
47
|
+
bar += trueColor(r, g, b, '▓');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
bar = '▓'.repeat(filledWidth);
|
|
52
|
+
}
|
|
53
|
+
bar += dim('░'.repeat(emptyWidth));
|
|
54
|
+
const percentage = showPercentage ? ` ${Math.round(progress)}%` : '';
|
|
55
|
+
return `${bar} ${label}${percentage}`;
|
|
56
|
+
}
|
|
57
|
+
function getPhaseIcon(phase) {
|
|
58
|
+
const icons = {
|
|
59
|
+
resolving: '🔍',
|
|
60
|
+
downloading: '⬇️',
|
|
61
|
+
installing: '📦',
|
|
62
|
+
building: '🔨',
|
|
63
|
+
};
|
|
64
|
+
return icons[phase] || '●';
|
|
65
|
+
}
|
|
66
|
+
function getPhaseColors(phase) {
|
|
67
|
+
const colorSets = {
|
|
68
|
+
resolving: [
|
|
69
|
+
{ r: 59, g: 130, b: 246 },
|
|
70
|
+
{ r: 37, g: 99, b: 235 },
|
|
71
|
+
],
|
|
72
|
+
downloading: [
|
|
73
|
+
{ r: 34, g: 197, b: 94 },
|
|
74
|
+
{ r: 22, g: 163, b: 74 },
|
|
75
|
+
],
|
|
76
|
+
installing: [
|
|
77
|
+
{ r: 168, g: 85, b: 247 },
|
|
78
|
+
{ r: 147, g: 51, b: 234 },
|
|
79
|
+
],
|
|
80
|
+
building: [
|
|
81
|
+
{ r: 251, g: 146, b: 60 },
|
|
82
|
+
{ r: 249, g: 115, b: 22 },
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
return colorSets[phase] || [{ r: 156, g: 163, b: 175 }];
|
|
86
|
+
}
|
|
87
|
+
function formatSpeed(bytesPerSecond) {
|
|
88
|
+
if (bytesPerSecond < 1024)
|
|
89
|
+
return `${bytesPerSecond.toFixed(0)} B/s`;
|
|
90
|
+
if (bytesPerSecond < 1024 * 1024)
|
|
91
|
+
return `${(bytesPerSecond / 1024).toFixed(1)} KB/s`;
|
|
92
|
+
return `${(bytesPerSecond / 1024 / 1024).toFixed(1)} MB/s`;
|
|
93
|
+
}
|
|
94
|
+
function formatSize(bytes) {
|
|
95
|
+
if (bytes < 1024)
|
|
96
|
+
return `${bytes} B`;
|
|
97
|
+
if (bytes < 1024 * 1024)
|
|
98
|
+
return `${(bytes / 1024).toFixed(1)} KB`;
|
|
99
|
+
if (bytes < 1024 * 1024 * 1024)
|
|
100
|
+
return `${(bytes / 1024 / 1024).toFixed(1)} MB`;
|
|
101
|
+
return `${(bytes / 1024 / 1024 / 1024).toFixed(2)} GB`;
|
|
102
|
+
}
|
|
103
|
+
function formatDuration(ms) {
|
|
104
|
+
const seconds = ms / 1000;
|
|
105
|
+
if (seconds < 60)
|
|
106
|
+
return `${seconds.toFixed(1)}s`;
|
|
107
|
+
const minutes = Math.floor(seconds / 60);
|
|
108
|
+
const remainingSeconds = Math.round(seconds % 60);
|
|
109
|
+
return `${minutes}m ${remainingSeconds}s`;
|
|
110
|
+
}
|
|
111
|
+
function detectColorSupport() {
|
|
112
|
+
if (process.env.NO_COLOR || process.env.TERM === 'dumb') {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
export class InstallRenderer {
|
|
118
|
+
isTTY;
|
|
119
|
+
supportsColor;
|
|
120
|
+
lineCount = 0;
|
|
121
|
+
constructor() {
|
|
122
|
+
this.isTTY = process.stdout.isTTY ?? false;
|
|
123
|
+
this.supportsColor = detectColorSupport();
|
|
124
|
+
}
|
|
125
|
+
render(phases, stats) {
|
|
126
|
+
if (!this.isTTY) {
|
|
127
|
+
this.renderSimple(phases);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const lines = this.buildEnhancedUI(phases, stats);
|
|
131
|
+
this.updateTerminal(lines);
|
|
132
|
+
}
|
|
133
|
+
buildEnhancedUI(phases, stats) {
|
|
134
|
+
const lines = [];
|
|
135
|
+
lines.push('');
|
|
136
|
+
if (this.supportsColor) {
|
|
137
|
+
const title = createGradient('◆ Installing Dependencies', { r: 99, g: 102, b: 241 }, { r: 236, g: 72, b: 153 });
|
|
138
|
+
lines.push(bold(title));
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
lines.push(bold('◆ Installing Dependencies'));
|
|
142
|
+
}
|
|
143
|
+
lines.push('');
|
|
144
|
+
phases.forEach((phase) => {
|
|
145
|
+
const icon = getPhaseIcon(phase.name);
|
|
146
|
+
const bar = renderProgressBar({
|
|
147
|
+
width: 40,
|
|
148
|
+
progress: phase.progress,
|
|
149
|
+
label: this.getPhaseLabel(phase.name),
|
|
150
|
+
gradient: this.supportsColor,
|
|
151
|
+
colors: getPhaseColors(phase.name),
|
|
152
|
+
showPercentage: true,
|
|
153
|
+
});
|
|
154
|
+
lines.push(`${icon} ${bar}`);
|
|
155
|
+
});
|
|
156
|
+
lines.push('');
|
|
157
|
+
const statsLine = this.buildStatsLine(stats);
|
|
158
|
+
if (statsLine) {
|
|
159
|
+
lines.push(dim(statsLine));
|
|
160
|
+
lines.push('');
|
|
161
|
+
}
|
|
162
|
+
return lines;
|
|
163
|
+
}
|
|
164
|
+
getPhaseLabel(phase) {
|
|
165
|
+
const labels = {
|
|
166
|
+
resolving: 'Resolving packages ',
|
|
167
|
+
downloading: 'Downloading ',
|
|
168
|
+
installing: 'Installing ',
|
|
169
|
+
building: 'Building ',
|
|
170
|
+
};
|
|
171
|
+
return labels[phase] || phase;
|
|
172
|
+
}
|
|
173
|
+
buildStatsLine(stats) {
|
|
174
|
+
const parts = [];
|
|
175
|
+
if (stats.packagesAdded) {
|
|
176
|
+
parts.push(`Packages: ${green(`+${stats.packagesAdded}`)}`);
|
|
177
|
+
}
|
|
178
|
+
if (stats.packagesUpdated) {
|
|
179
|
+
parts.push(`Updated: ${yellow(stats.packagesUpdated.toString())}`);
|
|
180
|
+
}
|
|
181
|
+
if (stats.packagesRemoved) {
|
|
182
|
+
parts.push(`Removed: ${red(stats.packagesRemoved.toString())}`);
|
|
183
|
+
}
|
|
184
|
+
if (stats.startTime) {
|
|
185
|
+
const duration = performance.now() - stats.startTime;
|
|
186
|
+
parts.push(`Time: ${formatDuration(duration)}`);
|
|
187
|
+
}
|
|
188
|
+
if (stats.downloadSpeed && stats.downloadSpeed > 0) {
|
|
189
|
+
parts.push(`Speed: ${formatSpeed(stats.downloadSpeed)}`);
|
|
190
|
+
}
|
|
191
|
+
return parts.join(' ');
|
|
192
|
+
}
|
|
193
|
+
updateTerminal(lines) {
|
|
194
|
+
if (this.lineCount > 0) {
|
|
195
|
+
for (let i = 0; i < this.lineCount; i++) {
|
|
196
|
+
process.stdout.write(ANSI.cursorUp(1) + ANSI.clearLine());
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
lines.forEach(line => process.stdout.write(line + '\n'));
|
|
200
|
+
this.lineCount = lines.length;
|
|
201
|
+
}
|
|
202
|
+
renderSimple(phases) {
|
|
203
|
+
const activePhase = phases.find(p => p.active);
|
|
204
|
+
if (activePhase) {
|
|
205
|
+
const label = this.getPhaseLabel(activePhase.name).trim();
|
|
206
|
+
console.log(`[${label.toUpperCase()}] ${Math.round(activePhase.progress)}%`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
clear() {
|
|
210
|
+
if (this.isTTY && this.lineCount > 0) {
|
|
211
|
+
for (let i = 0; i < this.lineCount; i++) {
|
|
212
|
+
process.stdout.write(ANSI.cursorUp(1) + ANSI.clearLine());
|
|
213
|
+
}
|
|
214
|
+
this.lineCount = 0;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
export function displayInstallSummary(stats) {
|
|
219
|
+
const lines = [];
|
|
220
|
+
lines.push('');
|
|
221
|
+
lines.push(green('✨ Installation Complete!'));
|
|
222
|
+
lines.push('');
|
|
223
|
+
const pkgStats = [];
|
|
224
|
+
if (stats.packagesAdded > 0)
|
|
225
|
+
pkgStats.push(`${green(`+${stats.packagesAdded}`)} added`);
|
|
226
|
+
if (stats.packagesUpdated > 0)
|
|
227
|
+
pkgStats.push(`${yellow(`~${stats.packagesUpdated}`)} updated`);
|
|
228
|
+
if (stats.packagesRemoved > 0)
|
|
229
|
+
pkgStats.push(`${red(`-${stats.packagesRemoved}`)} removed`);
|
|
230
|
+
if (pkgStats.length > 0) {
|
|
231
|
+
lines.push(` ${bold('Packages:')} ${pkgStats.join(', ')}`);
|
|
232
|
+
}
|
|
233
|
+
lines.push(` ${bold('Duration:')} ${formatDuration(stats.duration)}`);
|
|
234
|
+
if (stats.downloadSpeed > 0) {
|
|
235
|
+
lines.push(` ${bold('Avg Speed:')} ${formatSpeed(stats.downloadSpeed)}`);
|
|
236
|
+
}
|
|
237
|
+
if (stats.nodeModulesSize > 0) {
|
|
238
|
+
lines.push(` ${bold('Disk Usage:')} ${formatSize(stats.nodeModulesSize)}`);
|
|
239
|
+
}
|
|
240
|
+
if (stats.warnings.length > 0) {
|
|
241
|
+
lines.push('');
|
|
242
|
+
lines.push(yellow(` ⚠️ ${stats.warnings.length} warning(s)`));
|
|
243
|
+
}
|
|
244
|
+
lines.push('');
|
|
245
|
+
lines.forEach(line => console.log(line));
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=visualComponents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visualComponents.js","sourceRoot":"","sources":["../src/visualComponents.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "create-dev-to",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-dev-to": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/YangYongAn/dev-to.git",
|
|
15
|
+
"directory": "packages/create-dev-to"
|
|
16
|
+
},
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@clack/prompts": "^0.11.0",
|
|
22
|
+
"kolorist": "^1.8.0"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsc -p tsconfig.json",
|
|
26
|
+
"dev": "tsc -p tsconfig.json -w",
|
|
27
|
+
"lint": "pnpm -w lint",
|
|
28
|
+
"test": "echo 'test create-dev-to'"
|
|
29
|
+
}
|
|
30
|
+
}
|