@@ -14,19 +14,24 @@ export function downloadProject() {
1414 name : 'rolldown-repl-project' ,
1515 version : '1.0.0' ,
1616 private : true ,
17- packageManager :
'[email protected] ' , 1817 type : 'module' ,
1918 scripts : {
2019 build : 'rolldown' ,
2120 dev : 'rolldown --watch' ,
2221 } ,
2322 dependencies : {
2423 rolldown :
25- currentVersion . value === 'latest' ? '^1.0.0' : currentVersion . value ,
24+ currentVersion . value === 'latest'
25+ ? '^1.0.0'
26+ : currentVersion . value . startsWith ( '@git' )
27+ ? `https://pkg.pr.new/rolldown@${ currentVersion . value . slice ( 4 ) } `
28+ : currentVersion . value ,
2629 } ,
2730 }
2831
29- projectFiles [ 'package.json' ] = strToU8 ( JSON . stringify ( packageJson , null , 2 ) )
32+ projectFiles [ 'package.json' ] = strToU8 (
33+ `${ JSON . stringify ( packageJson , null , 2 ) } \n` ,
34+ )
3035
3136 // Create zip file
3237 return new Promise < Uint8Array > ( ( resolve , reject ) => {
@@ -51,21 +56,11 @@ export function triggerDownload(data: Uint8Array, filename: string) {
5156 URL . revokeObjectURL ( url )
5257}
5358
54- export function handleDownloadProject ( ) {
59+ export async function handleDownloadProject ( ) {
5560 try {
56- downloadProject ( )
57- . then ( ( zipData ) => {
58- const timestamp = new Date ( )
59- . toISOString ( )
60- . slice ( 0 , 19 )
61- . replaceAll ( ':' , '-' )
62- triggerDownload ( zipData , `rolldown-repl-${ timestamp } .zip` )
63- } )
64- . catch ( ( error ) => {
65- console . error ( 'Failed to download project:' , error )
66- // eslint-disable-next-line no-alert
67- alert ( 'Failed to download project. Please try again.' )
68- } )
61+ const zipData = await downloadProject ( )
62+ const timestamp = new Date ( ) . toISOString ( ) . slice ( 0 , 19 ) . replaceAll ( ':' , '-' )
63+ triggerDownload ( zipData , `rolldown-repl-${ timestamp } .zip` )
6964 } catch ( error ) {
7065 console . error ( 'Failed to download project:' , error )
7166 // eslint-disable-next-line no-alert
0 commit comments