@kodus/cli 0.1.0 → 0.1.6
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 +7 -14
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +5 -22
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/signup.d.ts.map +1 -1
- package/dist/commands/auth/signup.js +0 -15
- package/dist/commands/auth/signup.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +10 -91
- package/dist/commands/review.js.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/services/api/api.interface.d.ts +1 -5
- package/dist/services/api/api.interface.d.ts.map +1 -1
- package/dist/services/api/api.real.d.ts +1 -2
- package/dist/services/api/api.real.d.ts.map +1 -1
- package/dist/services/api/api.real.js +17 -18
- package/dist/services/api/api.real.js.map +1 -1
- package/dist/services/api/index.d.ts +3 -3
- package/dist/services/api/index.d.ts.map +1 -1
- package/dist/services/api/index.js +2 -8
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/review.service.d.ts +5 -3
- package/dist/services/review.service.d.ts.map +1 -1
- package/dist/services/review.service.js +54 -25
- package/dist/services/review.service.js.map +1 -1
- package/dist/types/index.d.ts +33 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/interactive.d.ts.map +1 -1
- package/dist/ui/interactive.js +7 -1
- package/dist/ui/interactive.js.map +1 -1
- package/package.json +3 -1
- package/dist/commands/config.d.ts +0 -3
- package/dist/commands/config.d.ts.map +0 -1
- package/dist/commands/config.js +0 -47
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/telemetry.d.ts +0 -3
- package/dist/commands/telemetry.d.ts.map +0 -1
- package/dist/commands/telemetry.js +0 -76
- package/dist/commands/telemetry.js.map +0 -1
- package/dist/services/api/api.mock.d.ts +0 -8
- package/dist/services/api/api.mock.d.ts.map +0 -1
- package/dist/services/api/api.mock.js +0 -249
- package/dist/services/api/api.mock.js.map +0 -1
- package/dist/services/telemetry.service.d.ts +0 -73
- package/dist/services/telemetry.service.d.ts.map +0 -1
- package/dist/services/telemetry.service.js +0 -229
- package/dist/services/telemetry.service.js.map +0 -1
- package/dist/utils/review-loading.d.ts +0 -19
- package/dist/utils/review-loading.d.ts.map +0 -1
- package/dist/utils/review-loading.js +0 -140
- package/dist/utils/review-loading.js.map +0 -1
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
const BASE_MESSAGES = [
|
|
3
|
-
'Warming up the review engine...',
|
|
4
|
-
'Counting bugs before they hatch...',
|
|
5
|
-
'Keeping your streak alive...',
|
|
6
|
-
];
|
|
7
|
-
const SIZE_MESSAGES = {
|
|
8
|
-
tiny: [
|
|
9
|
-
'Tiny diff. Speedrun mode on.',
|
|
10
|
-
'Snack-sized review. No crumbs left.',
|
|
11
|
-
'Mini-quest detected. Quick clear.',
|
|
12
|
-
'XP farm: just a few lines.',
|
|
13
|
-
],
|
|
14
|
-
small: [
|
|
15
|
-
'Small diff. Coffee still warm.',
|
|
16
|
-
'Short quest. Combo meter starting.',
|
|
17
|
-
'Level 1 boss. Easy loot.',
|
|
18
|
-
'Sprint review. Keep it clean.',
|
|
19
|
-
],
|
|
20
|
-
medium: [
|
|
21
|
-
'Mid-size quest. Focus buff active.',
|
|
22
|
-
'Reviewing the middle of the maze...',
|
|
23
|
-
'Steady pace. XP trickling in.',
|
|
24
|
-
'Side quest: trace every line.',
|
|
25
|
-
],
|
|
26
|
-
large: [
|
|
27
|
-
'Big diff. Stretching fingers.',
|
|
28
|
-
'Review marathon. Hydration check.',
|
|
29
|
-
'Boss fight incoming. Shields up.',
|
|
30
|
-
'Chunky changes. Deep scan time.',
|
|
31
|
-
],
|
|
32
|
-
huge: [
|
|
33
|
-
'Mega diff. Legendary quest.',
|
|
34
|
-
'This is a saga. Hold my coffee.',
|
|
35
|
-
'Epic boss. Full scan engaged.',
|
|
36
|
-
'Streak protected. Long haul.',
|
|
37
|
-
],
|
|
38
|
-
};
|
|
39
|
-
export function getDiffMetrics(diff) {
|
|
40
|
-
if (!diff) {
|
|
41
|
-
return { files: 0, lines: 0, additions: 0, deletions: 0, chars: 0 };
|
|
42
|
-
}
|
|
43
|
-
const lines = diff.split('\n');
|
|
44
|
-
let files = 0;
|
|
45
|
-
let additions = 0;
|
|
46
|
-
let deletions = 0;
|
|
47
|
-
for (const line of lines) {
|
|
48
|
-
if (line.startsWith('diff --git ')) {
|
|
49
|
-
files += 1;
|
|
50
|
-
}
|
|
51
|
-
if (line.startsWith('+') && !line.startsWith('+++')) {
|
|
52
|
-
additions += 1;
|
|
53
|
-
}
|
|
54
|
-
if (line.startsWith('-') && !line.startsWith('---')) {
|
|
55
|
-
deletions += 1;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return {
|
|
59
|
-
files,
|
|
60
|
-
lines: lines.length,
|
|
61
|
-
additions,
|
|
62
|
-
deletions,
|
|
63
|
-
chars: diff.length,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
export function startReviewLoadingMessages(spinner, metrics, flags, options) {
|
|
67
|
-
const intervalMs = options?.intervalMs ?? 1400;
|
|
68
|
-
const initialMessage = options?.initialMessage ?? 'Analyzing code...';
|
|
69
|
-
const messages = buildReviewLoadingMessages(metrics, flags);
|
|
70
|
-
spinner.text = chalk.cyan(initialMessage);
|
|
71
|
-
if (messages.length === 0) {
|
|
72
|
-
return () => undefined;
|
|
73
|
-
}
|
|
74
|
-
let index = Math.floor(Math.random() * messages.length);
|
|
75
|
-
const timer = setInterval(() => {
|
|
76
|
-
spinner.text = chalk.cyan(messages[index]);
|
|
77
|
-
index = (index + 1) % messages.length;
|
|
78
|
-
}, intervalMs);
|
|
79
|
-
return () => clearInterval(timer);
|
|
80
|
-
}
|
|
81
|
-
function buildReviewLoadingMessages(metrics, flags) {
|
|
82
|
-
const sizeLabel = getSizeLabel(metrics);
|
|
83
|
-
const messages = [
|
|
84
|
-
...SIZE_MESSAGES[sizeLabel],
|
|
85
|
-
...BASE_MESSAGES,
|
|
86
|
-
];
|
|
87
|
-
const sizeMessage = formatSizeMessage(metrics);
|
|
88
|
-
if (sizeMessage) {
|
|
89
|
-
messages.push(sizeMessage);
|
|
90
|
-
}
|
|
91
|
-
const deltaMessage = formatDeltaMessage(metrics);
|
|
92
|
-
if (deltaMessage) {
|
|
93
|
-
messages.push(deltaMessage);
|
|
94
|
-
}
|
|
95
|
-
if (flags.fast) {
|
|
96
|
-
messages.push('Fast mode: speed boost active.');
|
|
97
|
-
}
|
|
98
|
-
if (flags.rulesOnly) {
|
|
99
|
-
messages.push('Rules-only run: strict mode on.');
|
|
100
|
-
}
|
|
101
|
-
if (flags.isTrial) {
|
|
102
|
-
messages.push('Trial run: making this one count.');
|
|
103
|
-
}
|
|
104
|
-
return dedupe(messages);
|
|
105
|
-
}
|
|
106
|
-
function getSizeLabel(metrics) {
|
|
107
|
-
const score = metrics.lines + metrics.files * 30;
|
|
108
|
-
if (score <= 120)
|
|
109
|
-
return 'tiny';
|
|
110
|
-
if (score <= 320)
|
|
111
|
-
return 'small';
|
|
112
|
-
if (score <= 900)
|
|
113
|
-
return 'medium';
|
|
114
|
-
if (score <= 2000)
|
|
115
|
-
return 'large';
|
|
116
|
-
return 'huge';
|
|
117
|
-
}
|
|
118
|
-
function formatSizeMessage(metrics) {
|
|
119
|
-
if (metrics.lines === 0 && metrics.files === 0) {
|
|
120
|
-
return undefined;
|
|
121
|
-
}
|
|
122
|
-
if (metrics.files > 0) {
|
|
123
|
-
return `Size check: ${formatCount(metrics.files, 'file')}, ${formatCount(metrics.lines, 'line')}.`;
|
|
124
|
-
}
|
|
125
|
-
return `Size check: ${formatCount(metrics.lines, 'line')}.`;
|
|
126
|
-
}
|
|
127
|
-
function formatDeltaMessage(metrics) {
|
|
128
|
-
if (metrics.additions + metrics.deletions === 0) {
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
return `Delta check: +${metrics.additions} / -${metrics.deletions} lines.`;
|
|
132
|
-
}
|
|
133
|
-
function formatCount(value, singular, plural) {
|
|
134
|
-
const word = value === 1 ? singular : (plural ?? `${singular}s`);
|
|
135
|
-
return `${value} ${word}`;
|
|
136
|
-
}
|
|
137
|
-
function dedupe(messages) {
|
|
138
|
-
return Array.from(new Set(messages));
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=review-loading.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-loading.js","sourceRoot":"","sources":["../../src/utils/review-loading.ts"],"names":[],"mappings":"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"}
|