@@ -316,15 +316,25 @@ export function getDefaultHomePage(appName, jsFiles = [], cssFiles= []) {
316316export async function getVersionFromPackage ( ) {
317317 try {
318318 const __filename = fileURLToPath ( import . meta. url ) ;
319- const __dirname = dirname ( __filename ) ;
320- const packageJson = JSON . parse (
321- await readFile ( join ( __dirname , 'package.json' ) , 'utf8' )
322- ) ;
323- return packageJson . version ;
319+ const __dirname = dirname ( __filename ) ;
320+
321+ // First try parent directory (dev mode)
322+ try {
323+ const devPackage = JSON . parse (
324+ await readFile ( join ( __dirname , '..' , 'package.json' ) , 'utf8' )
325+ ) ;
326+ return devPackage . version ;
327+ } catch ( devError ) {
328+ // Fallback to current directory (production)
329+ const prodPackage = JSON . parse (
330+ await readFile ( join ( __dirname , 'package.json' ) , 'utf8' )
331+ ) ;
332+ return prodPackage . version ;
333+ }
324334 } catch ( error ) {
325335 console . error ( `Error fetching latest version:` , error . message ) ;
326336 return null ;
327- }
337+ }
328338}
329339
330340/**
@@ -334,8 +344,13 @@ export async function getLatestVersion(packageName) {
334344 try {
335345 const response = await fetch ( `https://registry.npmjs.org/${ packageName } /latest` ) ;
336346 let data = await response . json ( ) ;
337- return data ;
347+ const currentVersion = await getVersionFromPackage ( ) ;
348+ if ( data . version !== currentVersion ) {
349+ return `v${ currentVersion } (latest: ${ data . version } )` ;
350+ }
351+ return `v${ currentVersion } ` ;
338352 } catch ( error ) {
339- return getVersionFromPackage ( ) ;
353+ console . error ( `ERROR: ${ error . message } ` ) ;
354+ return "<Unknown>" ;
340355 }
341356 }
0 commit comments