Skip to content

Commit 5417214

Browse files
committed
update override-rolldown
1 parent 4b9375d commit 5417214

File tree

1 file changed

+13
-129
lines changed

1 file changed

+13
-129
lines changed

tools/override-rolldown.mjs

Lines changed: 13 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
/**
44
* Rolldown Version Override Tool
55
*
6-
* This tool allows testing the vibe-dashboard with different rolldown-vite versions:
7-
* - Last 5 stable versions from npm
8-
* - Future/experimental versions from pkg.pr.new
6+
* This tool allows testing the vibe-dashboard with different rolldown-vite versions
7+
* from npm registry.
98
*/
109

1110
import { execSync } from 'node:child_process';
@@ -50,80 +49,6 @@ async function fetchStableVersions() {
5049
});
5150
}
5251

53-
/**
54-
* Fetch future versions from pkg.pr.new API using authoredDate filtering
55-
* Currently commented out due to issues with future versions
56-
*/
57-
/*
58-
async function fetchFutureVersions(lastNpmVersionDate) {
59-
return new Promise((resolve, reject) => {
60-
const url = 'https://pkg.pr.new/api/repo/commits?owner=rolldown&repo=rolldown';
61-
62-
https.get(url, (res) => {
63-
let data = '';
64-
res.on('data', (chunk) => data += chunk);
65-
res.on('end', () => {
66-
try {
67-
const response = JSON.parse(data);
68-
69-
// Extract commits from the nested structure
70-
const commits = response.target?.history?.nodes || [];
71-
72-
const futureCommits = commits
73-
.filter(commit => {
74-
const commitDate = new Date(commit.authoredDate);
75-
return commitDate > lastNpmVersionDate;
76-
})
77-
.sort((a, b) => {
78-
// Sort by authored date (most recent first)
79-
const dateA = new Date(a.authoredDate);
80-
const dateB = new Date(b.authoredDate);
81-
return dateB - dateA;
82-
})
83-
.map(commit => `pkg.pr.new/rolldown@${commit.abbreviatedOid}`);
84-
85-
resolve(futureCommits);
86-
} catch (error) {
87-
reject(new Error(`Failed to parse pkg.pr.new API response: ${error.message}`));
88-
}
89-
});
90-
}).on('error', (error) => {
91-
reject(new Error(`Failed to fetch from pkg.pr.new API: ${error.message}`));
92-
});
93-
});
94-
}
95-
*/
96-
97-
/**
98-
* Get the publication date of the latest npm version
99-
* Currently commented out as it's only used with future versions
100-
*/
101-
/*
102-
async function getLatestNpmVersionDate() {
103-
return new Promise((resolve, reject) => {
104-
const url = 'https://registry.npmjs.org/rolldown-vite';
105-
106-
https.get(url, (res) => {
107-
let data = '';
108-
res.on('data', (chunk) => data += chunk);
109-
res.on('end', () => {
110-
try {
111-
const packageInfo = JSON.parse(data);
112-
const latestVersion = packageInfo['dist-tags'].latest;
113-
const publishDate = new Date(packageInfo.time[latestVersion]);
114-
115-
resolve(publishDate);
116-
} catch (error) {
117-
reject(new Error(`Failed to get latest npm version date: ${error.message}`));
118-
}
119-
});
120-
}).on('error', (error) => {
121-
reject(new Error(`Failed to fetch npm version date: ${error.message}`));
122-
});
123-
});
124-
}
125-
*/
126-
12752
/**
12853
* Fetch npm publication dates for all versions
12954
*/
@@ -160,10 +85,6 @@ function getCurrentVersion() {
16085
}
16186
}
16287

163-
function isPkgPrNewUrl(version) {
164-
return version.includes('pkg.pr.new') || version.startsWith('https://pkg.pr.new');
165-
}
166-
16788
function updateRolldownVersion(version) {
16889
try {
16990
console.log(`📦 Updating rolldown-vite to version: ${version}`);
@@ -177,9 +98,6 @@ function updateRolldownVersion(version) {
17798
// Write back to package.json
17899
writeFileSync(DASHBOARD_PACKAGE_PATH, JSON.stringify(packageJson, null, 2) + '\n');
179100

180-
if (isPkgPrNewUrl(version)) {
181-
console.log('🚀 Using experimental version from pkg.pr.new');
182-
}
183101
console.log('✅ Package.json updated successfully');
184102
return true;
185103
} catch (error) {
@@ -230,7 +148,6 @@ function collectDistStats(version, buildTime = null, publicationDate = null) {
230148
publicationDate,
231149
files: [],
232150
totalSize: 0,
233-
totalGzipSize: 0,
234151
buildTime,
235152
};
236153

@@ -288,45 +205,23 @@ async function listVersions() {
288205
console.log('🔍 Fetching stable versions from npm...');
289206
const stableVersions = await fetchStableVersions();
290207

291-
// Get latest npm version date for filtering future versions
292-
// console.log('📅 Getting latest npm version date...');
293-
// const latestNpmDate = await getLatestNpmVersionDate();
294-
295-
// Fetch future versions from pkg.pr.new
296-
// console.log('🚀 Fetching future versions from pkg.pr.new...');
297-
// const futureVersions = await fetchFutureVersions(latestNpmDate);
298-
const futureVersions = []; // Commented out future versions functionality
299-
300208
console.log('\n🟢 Stable versions (last 10 from npm):');
301209
stableVersions.forEach((version, index) => {
302210
const current = getCurrentVersion() === `^${version}` || getCurrentVersion() === version;
303211
console.log(` ${index + 1}. ${version} ${current ? '(current)' : ''}`);
304212
});
305213

306-
// Commenting out future versions display
307-
// if (futureVersions.length > 0) {
308-
// console.log('\n🚀 Future versions (from pkg.pr.new):');
309-
// futureVersions.forEach((version, index) => {
310-
// console.log(` ${stableVersions.length + index + 1}. ${version}`);
311-
// });
312-
// } else {
313-
// console.log('\n🚀 Future versions (from pkg.pr.new):');
314-
// console.log(' No future versions found (all commits are older than latest npm version).');
315-
// }
316-
317214
console.log('\n💡 Usage: node override-rolldown.js <version-number-or-version-string>');
318215
console.log('Example: node override-rolldown.js 2 # Use second stable version');
319216
console.log('Example: node override-rolldown.js 7.1.2 # Use specific version');
320-
console.log('Example: node override-rolldown.js pkg.pr.new/rolldown-rs/rolldown@1234567 # Use pkg.pr.new URL');
321217

322-
return { stableVersions, futureVersions };
218+
return { stableVersions };
323219
} catch (error) {
324220
console.error('❌ Error fetching versions:', error.message);
325221
console.log('\n🔄 Falling back to manual version entry...');
326222
console.log('💡 Usage: node override-rolldown.js <version-string>');
327223
console.log('Example: node override-rolldown.js 7.1.2');
328-
console.log('Example: node override-rolldown.js pkg.pr.new/rolldown-rs/rolldown@1234567');
329-
return { stableVersions: [], futureVersions: [] };
224+
return { stableVersions: [] };
330225
}
331226
}
332227

@@ -344,26 +239,21 @@ async function collectAllVersionStats() {
344239
// Fetch all available versions
345240
console.log('🔍 Fetching all available versions...');
346241
const stableVersions = await fetchStableVersions();
347-
// const latestNpmDate = await getLatestNpmVersionDate();
348-
// const futureVersions = await fetchFutureVersions(latestNpmDate);
349-
const allVersions = [...stableVersions];
350242

351243
// Fetch npm publication dates
352244
console.log('📅 Fetching npm publication dates...');
353245
const npmPublicationDates = await fetchNpmPublicationDates();
354246

355-
console.log(`📦 Found ${allVersions.length} versions to analyze:`);
356-
console.log(` - ${stableVersions.length} stable versions`);
357-
// console.log(` - ${futureVersions.length} future versions\n`);
247+
console.log(`📦 Found ${stableVersions.length} versions to analyze`);
358248

359249
// Store original package.json for restoration
360250
const originalPackageJson = readFileSync(DASHBOARD_PACKAGE_PATH, 'utf8');
361251

362-
for (let i = 0; i < allVersions.length; i++) {
363-
const version = allVersions[i];
252+
for (let i = 0; i < stableVersions.length; i++) {
253+
const version = stableVersions[i];
364254
const versionNumber = i + 1;
365255

366-
console.log(`\n==================== VERSION ${versionNumber}/${allVersions.length} ====================`);
256+
console.log(`\n==================== VERSION ${versionNumber}/${stableVersions.length} ====================`);
367257
console.log(`🎯 Testing version: ${version}`);
368258

369259
try {
@@ -412,7 +302,7 @@ async function collectAllVersionStats() {
412302

413303
console.log('\n==================== ANALYSIS COMPLETE ====================');
414304
console.log(`📊 Analysis Summary:`);
415-
console.log(` - Total versions analyzed: ${allVersions.length}`);
305+
console.log(` - Total versions analyzed: ${stableVersions.length}`);
416306
console.log(` - Successful builds: ${successCount}`);
417307
console.log(` - Failed builds: ${failureCount}`);
418308
console.log(` - Results saved to: ${STATS_OUTPUT_PATH}`);
@@ -455,17 +345,13 @@ async function main() {
455345

456346
try {
457347
const stableVersions = await fetchStableVersions();
458-
// const latestNpmDate = await getLatestNpmVersionDate();
459-
// const futureVersions = await fetchFutureVersions(latestNpmDate);
460-
const futureVersions = []; // Commented out future versions functionality
461348

462349
const index = parseInt(input, 10) - 1;
463-
const allVersions = [...stableVersions, ...futureVersions];
464350

465-
if (index >= 0 && index < allVersions.length) {
466-
targetVersion = allVersions[index];
351+
if (index >= 0 && index < stableVersions.length) {
352+
targetVersion = stableVersions[index];
467353
} else {
468-
console.error(`❌ Invalid version index. Use 1-${allVersions.length}`);
354+
console.error(`❌ Invalid version index. Use 1-${stableVersions.length}`);
469355
await listVersions();
470356
process.exit(1);
471357
}
@@ -508,15 +394,13 @@ if (process.argv.includes('--help') || process.argv.includes('-h')) {
508394
console.log('Usage:');
509395
console.log(' node override-rolldown.js --list List available versions');
510396
console.log(' node override-rolldown.js --stats Collect stats for all versions');
511-
console.log(' node override-rolldown.js <index> Use version by index (1-10)');
397+
console.log(' node override-rolldown.js <index> Use version by index');
512398
console.log(' node override-rolldown.js <version> Use specific version');
513-
console.log(' node override-rolldown.js <pkg.pr.new> Use pkg.pr.new URL');
514399
console.log('\nExamples:');
515400
console.log(' node override-rolldown.js --list');
516401
console.log(' node override-rolldown.js --stats');
517402
console.log(' node override-rolldown.js 2');
518403
console.log(' node override-rolldown.js 7.1.2');
519-
console.log(' node override-rolldown.js pkg.pr.new/rolldown-rs/vite@1234');
520404
process.exit(0);
521405
}
522406

0 commit comments

Comments
 (0)