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
1110import { 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-
16788function 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